@ionic/core 8.5.4-dev.11744209290.123af9eb → 8.5.4-dev.11744406052.1d9f8ea6

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 (772) hide show
  1. package/components/action-sheet.js +23 -37
  2. package/components/alert.js +25 -41
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +4 -11
  5. package/components/button-active.js +1 -1
  6. package/components/button.js +23 -29
  7. package/components/buttons.js +4 -14
  8. package/components/capacitor.js +1 -1
  9. package/components/checkbox.js +16 -40
  10. package/components/content.js +5 -24
  11. package/components/data.js +1 -1
  12. package/components/gesture-controller.js +1 -1
  13. package/components/haptic.js +1 -1
  14. package/components/hardware-back-button.js +1 -1
  15. package/components/header.js +7 -12
  16. package/components/helpers.js +5 -2
  17. package/components/icon.js +2 -1
  18. package/components/index3.js +5 -3
  19. package/components/index4.js +1 -1
  20. package/components/index5.js +3 -28
  21. package/components/index7.js +27 -163
  22. package/components/index8.js +1 -1
  23. package/components/index9.js +163 -3
  24. package/components/input-shims.js +2 -2
  25. package/components/input.utils.js +1 -1
  26. package/components/ion-accordion-group.js +6 -19
  27. package/components/ion-accordion.js +14 -32
  28. package/components/ion-app.js +4 -3
  29. package/components/ion-avatar.js +4 -2
  30. package/components/ion-back-button.js +13 -12
  31. package/components/ion-badge.js +5 -2
  32. package/components/ion-breadcrumb.js +20 -22
  33. package/components/ion-breadcrumbs.js +10 -14
  34. package/components/ion-card-content.js +4 -2
  35. package/components/ion-card-header.js +5 -7
  36. package/components/ion-card-subtitle.js +5 -2
  37. package/components/ion-card-title.js +5 -2
  38. package/components/ion-card.js +11 -16
  39. package/components/ion-chip.js +5 -8
  40. package/components/ion-col.js +26 -1
  41. package/components/ion-datetime-button.js +13 -15
  42. package/components/ion-datetime.js +53 -126
  43. package/components/ion-fab-button.js +20 -37
  44. package/components/ion-fab-list.js +2 -7
  45. package/components/ion-fab.js +4 -10
  46. package/components/ion-footer.js +8 -13
  47. package/components/ion-grid.js +2 -4
  48. package/components/ion-img.js +6 -1
  49. package/components/ion-infinite-scroll-content.js +6 -2
  50. package/components/ion-infinite-scroll.js +6 -27
  51. package/components/ion-input-password-toggle.js +9 -7
  52. package/components/ion-input.js +44 -72
  53. package/components/ion-item-divider.js +5 -9
  54. package/components/ion-item-group.js +4 -2
  55. package/components/ion-item-option.js +12 -14
  56. package/components/ion-item-options.js +4 -6
  57. package/components/ion-item-sliding.js +2 -4
  58. package/components/ion-loading.js +19 -36
  59. package/components/ion-menu-button.js +10 -15
  60. package/components/ion-menu-toggle.js +5 -9
  61. package/components/ion-menu.js +9 -25
  62. package/components/ion-nav-link.js +6 -6
  63. package/components/ion-nav.js +10 -7
  64. package/components/ion-note.js +5 -2
  65. package/components/ion-picker-legacy.js +24 -44
  66. package/components/ion-progress-bar.js +6 -19
  67. package/components/ion-range.js +25 -65
  68. package/components/ion-refresher-content.js +5 -1
  69. package/components/ion-refresher.js +6 -54
  70. package/components/ion-reorder-group.js +4 -6
  71. package/components/ion-reorder.js +5 -3
  72. package/components/ion-route-redirect.js +2 -0
  73. package/components/ion-route.js +7 -9
  74. package/components/ion-router-link.js +9 -7
  75. package/components/ion-router-outlet.js +8 -10
  76. package/components/ion-router.js +0 -18
  77. package/components/ion-row.js +2 -1
  78. package/components/ion-searchbar.js +29 -78
  79. package/components/ion-segment-button.js +10 -19
  80. package/components/ion-segment-content.js +2 -1
  81. package/components/ion-segment-view.js +5 -5
  82. package/components/ion-segment.js +11 -22
  83. package/components/ion-select-option.js +3 -4
  84. package/components/ion-select.js +41 -61
  85. package/components/ion-skeleton-text.js +2 -4
  86. package/components/ion-split-pane.js +5 -10
  87. package/components/ion-tab-bar.js +6 -7
  88. package/components/ion-tab-button.js +12 -10
  89. package/components/ion-tab.js +5 -2
  90. package/components/ion-tabs.js +4 -3
  91. package/components/ion-text.js +3 -1
  92. package/components/ion-textarea.js +36 -64
  93. package/components/ion-thumbnail.js +2 -1
  94. package/components/ion-toast.js +32 -55
  95. package/components/ion-toggle.js +20 -44
  96. package/components/item.js +14 -20
  97. package/components/keyboard-controller.js +2 -2
  98. package/components/keyboard.js +69 -134
  99. package/components/keyboard2.js +134 -69
  100. package/components/label.js +6 -2
  101. package/components/list-header.js +6 -2
  102. package/components/list.js +5 -5
  103. package/components/modal.js +39 -117
  104. package/components/notch-controller.js +1 -1
  105. package/components/overlays.js +2 -2
  106. package/components/picker-column-option.js +5 -18
  107. package/components/picker-column.js +10 -25
  108. package/components/picker-column2.js +8 -5
  109. package/components/picker.js +4 -2
  110. package/components/popover.js +37 -129
  111. package/components/radio-group.js +10 -10
  112. package/components/radio.js +13 -27
  113. package/components/refresher.utils.js +2 -2
  114. package/components/ripple-effect.js +2 -10
  115. package/components/select-modal.js +8 -3
  116. package/components/select-popover.js +8 -5
  117. package/components/spinner.js +5 -4
  118. package/components/swipe-back.js +1 -1
  119. package/components/title.js +6 -2
  120. package/components/toolbar.js +5 -2
  121. package/css/global.bundle.css +1 -1
  122. package/css/global.bundle.css.map +1 -1
  123. package/css/ionic.bundle.css +1 -1
  124. package/css/ionic.bundle.css.map +1 -1
  125. package/css/structure.css +1 -1
  126. package/css/structure.css.map +1 -1
  127. package/dist/cjs/{animation-Bz5ImL40.js → animation-b4fdf128.js} +1 -1
  128. package/dist/cjs/{app-globals-Di9ZJzjm.js → app-globals-dd592863.js} +1 -1
  129. package/dist/cjs/{button-active-BlMN9Iyq.js → button-active-43e2b419.js} +3 -3
  130. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-c04564bf.js} +1 -1
  131. package/dist/cjs/{data-DlPf8ZXm.js → data-27cc2c9c.js} +1 -1
  132. package/dist/cjs/{framework-delegate-B0-bTZ_Y.js → framework-delegate-50a86d56.js} +1 -1
  133. package/dist/cjs/{gesture-controller-dtqlP_q4.js → gesture-controller-9436f482.js} +1 -1
  134. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-f6b37aa3.js} +1 -1
  135. package/dist/cjs/{hardware-back-button-lTgcqUpk.js → hardware-back-button-5a99001f.js} +3 -3
  136. package/dist/cjs/{helpers-CLmZlPvl.js → helpers-3a248559.js} +4 -1
  137. package/dist/cjs/{index-CPbAsnJK.js → index-073c7cdc.js} +0 -1
  138. package/dist/cjs/{index-BVfbh2cJ.js → index-2e236a04.js} +668 -1375
  139. package/dist/cjs/{index-rYFHa7ZR.js → index-48b2a28e.js} +1 -1
  140. package/dist/cjs/{index-CXThGkw7.js → index-4b70187a.js} +9 -9
  141. package/dist/cjs/{index-CquwaYOd.js → index-509ca0d3.js} +3 -3
  142. package/dist/cjs/{index-B4SdCKIQ.js → index-e36bd277.js} +2 -2
  143. package/dist/cjs/{index-BE9YH63j.js → index-e630fd95.js} +6 -6
  144. package/dist/cjs/{index-CAvQ7Tka.js → index-ee07ed59.js} +4 -3
  145. package/dist/cjs/index.cjs.js +20 -18
  146. package/dist/cjs/{input-shims-DA_nJulF.js → input-shims-22a9973f.js} +8 -8
  147. package/dist/cjs/{input.utils-UHOCoNWM.js → input.utils-e82b8ed0.js} +3 -3
  148. package/dist/cjs/ion-accordion_2.cjs.entry.js +25 -54
  149. package/dist/cjs/ion-action-sheet.cjs.entry.js +38 -50
  150. package/dist/cjs/ion-alert.cjs.entry.js +41 -55
  151. package/dist/cjs/ion-app_8.cjs.entry.js +65 -96
  152. package/dist/cjs/ion-avatar_3.cjs.entry.js +16 -8
  153. package/dist/cjs/ion-back-button.cjs.entry.js +18 -15
  154. package/dist/cjs/ion-backdrop.cjs.entry.js +8 -13
  155. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +34 -38
  156. package/dist/cjs/ion-button_2.cjs.entry.js +30 -33
  157. package/dist/cjs/ion-card_5.cjs.entry.js +35 -32
  158. package/dist/cjs/ion-checkbox.cjs.entry.js +22 -44
  159. package/dist/cjs/ion-chip.cjs.entry.js +10 -11
  160. package/dist/cjs/ion-col_3.cjs.entry.js +34 -8
  161. package/dist/cjs/ion-datetime-button.cjs.entry.js +20 -20
  162. package/dist/cjs/ion-datetime_3.cjs.entry.js +94 -182
  163. package/dist/cjs/ion-fab_3.cjs.entry.js +31 -57
  164. package/dist/cjs/ion-img.cjs.entry.js +11 -4
  165. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +20 -35
  166. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +15 -11
  167. package/dist/cjs/ion-input.cjs.entry.js +53 -79
  168. package/dist/cjs/ion-item-option_3.cjs.entry.js +28 -32
  169. package/dist/cjs/ion-item_8.cjs.entry.js +52 -49
  170. package/dist/cjs/ion-loading.cjs.entry.js +31 -46
  171. package/dist/cjs/ion-menu_3.cjs.entry.js +39 -62
  172. package/dist/cjs/ion-modal.cjs.entry.js +52 -128
  173. package/dist/cjs/ion-nav_2.cjs.entry.js +22 -17
  174. package/dist/cjs/ion-picker-column-option.cjs.entry.js +11 -22
  175. package/dist/cjs/ion-picker-column.cjs.entry.js +17 -30
  176. package/dist/cjs/ion-picker.cjs.entry.js +8 -4
  177. package/dist/cjs/ion-popover.cjs.entry.js +47 -137
  178. package/dist/cjs/ion-progress-bar.cjs.entry.js +11 -22
  179. package/dist/cjs/ion-radio_2.cjs.entry.js +30 -42
  180. package/dist/cjs/ion-range.cjs.entry.js +33 -71
  181. package/dist/cjs/ion-refresher_2.cjs.entry.js +26 -68
  182. package/dist/cjs/ion-reorder_2.cjs.entry.js +19 -17
  183. package/dist/cjs/ion-ripple-effect.cjs.entry.js +6 -12
  184. package/dist/cjs/ion-route_4.cjs.entry.js +20 -34
  185. package/dist/cjs/ion-searchbar.cjs.entry.js +36 -83
  186. package/dist/cjs/ion-segment-content.cjs.entry.js +5 -2
  187. package/dist/cjs/ion-segment-view.cjs.entry.js +8 -6
  188. package/dist/cjs/ion-segment_2.cjs.entry.js +29 -47
  189. package/dist/cjs/ion-select-modal.cjs.entry.js +20 -13
  190. package/dist/cjs/ion-select_3.cjs.entry.js +65 -82
  191. package/dist/cjs/ion-spinner.cjs.entry.js +11 -8
  192. package/dist/cjs/ion-split-pane.cjs.entry.js +9 -12
  193. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +28 -25
  194. package/dist/cjs/ion-tab_2.cjs.entry.js +14 -8
  195. package/dist/cjs/ion-text.cjs.entry.js +8 -4
  196. package/dist/cjs/ion-textarea.cjs.entry.js +45 -71
  197. package/dist/cjs/ion-toast.cjs.entry.js +44 -65
  198. package/dist/cjs/ion-toggle.cjs.entry.js +31 -53
  199. package/dist/cjs/{ionic-global-AdqEvgj6.js → ionic-global-acb665ad.js} +1 -1
  200. package/dist/cjs/ionic.cjs.js +8 -8
  201. package/dist/cjs/{ios.transition-B8HcmmPx.js → ios.transition-ae7afca9.js} +7 -7
  202. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-0272231f.js} +1 -1
  203. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-af1bb365.js} +3 -3
  204. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-c05e747a.js} +2 -2
  205. package/dist/cjs/loader.cjs.js +6 -4
  206. package/dist/cjs/{md.transition-54O0AjJC.js → md.transition-26003e25.js} +7 -7
  207. package/dist/cjs/{notch-controller-DNfj7cO6.js → notch-controller-ae03a497.js} +2 -2
  208. package/dist/cjs/{overlays-CSyZW4m0.js → overlays-32e1b66b.js} +7 -7
  209. package/dist/cjs/{status-tap-B1Kcv7yf.js → status-tap-03023755.js} +5 -5
  210. package/dist/cjs/{swipe-back-Di-t3rsI.js → swipe-back-cd0d9f77.js} +4 -4
  211. package/dist/collection/collection-manifest.json +2 -2
  212. package/dist/collection/components/accordion/accordion.js +13 -43
  213. package/dist/collection/components/accordion-group/accordion-group.js +8 -35
  214. package/dist/collection/components/action-sheet/action-sheet.js +31 -84
  215. package/dist/collection/components/alert/alert.js +34 -94
  216. package/dist/collection/components/back-button/back-button.js +14 -30
  217. package/dist/collection/components/backdrop/backdrop.js +3 -18
  218. package/dist/collection/components/badge/badge.js +4 -3
  219. package/dist/collection/components/breadcrumb/breadcrumb.js +26 -57
  220. package/dist/collection/components/breadcrumbs/breadcrumbs.js +10 -24
  221. package/dist/collection/components/button/button.js +33 -74
  222. package/dist/collection/components/buttons/buttons.js +1 -15
  223. package/dist/collection/components/card/card.js +16 -44
  224. package/dist/collection/components/card-header/card-header.js +3 -11
  225. package/dist/collection/components/card-subtitle/card-subtitle.js +4 -3
  226. package/dist/collection/components/card-title/card-title.js +4 -3
  227. package/dist/collection/components/checkbox/checkbox.js +24 -74
  228. package/dist/collection/components/chip/chip.js +4 -15
  229. package/dist/collection/components/col/col.js +50 -72
  230. package/dist/collection/components/content/content.js +9 -43
  231. package/dist/collection/components/datetime/datetime.js +72 -211
  232. package/dist/collection/components/datetime-button/datetime-button.js +11 -21
  233. package/dist/collection/components/fab/fab.js +6 -21
  234. package/dist/collection/components/fab-button/fab-button.js +28 -76
  235. package/dist/collection/components/fab-list/fab-list.js +2 -12
  236. package/dist/collection/components/footer/footer.js +5 -16
  237. package/dist/collection/components/grid/grid.js +1 -6
  238. package/dist/collection/components/header/header.js +4 -15
  239. package/dist/collection/components/img/img.js +6 -6
  240. package/dist/collection/components/infinite-scroll/infinite-scroll.js +7 -35
  241. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -6
  242. package/dist/collection/components/input/input.js +72 -171
  243. package/dist/collection/components/input-password-toggle/input-password-toggle.js +8 -16
  244. package/dist/collection/components/item/item.js +21 -56
  245. package/dist/collection/components/item-divider/item-divider.js +3 -13
  246. package/dist/collection/components/item-option/item-option.js +16 -36
  247. package/dist/collection/components/item-options/item-options.js +1 -7
  248. package/dist/collection/components/item-sliding/item-sliding.js +1 -6
  249. package/dist/collection/components/label/label.js +4 -6
  250. package/dist/collection/components/list/list.js +3 -9
  251. package/dist/collection/components/list-header/list-header.js +6 -6
  252. package/dist/collection/components/loading/loading.js +29 -86
  253. package/dist/collection/components/menu/menu.js +10 -42
  254. package/dist/collection/components/menu-button/menu-button.js +10 -27
  255. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -14
  256. package/dist/collection/components/modal/modal.js +51 -188
  257. package/dist/collection/components/nav/nav.js +11 -24
  258. package/dist/collection/components/nav-link/nav-link.js +8 -18
  259. package/dist/collection/components/note/note.js +4 -3
  260. package/dist/collection/components/picker-column/picker-column.js +10 -34
  261. package/dist/collection/components/picker-column-option/picker-column-option.js +4 -25
  262. package/dist/collection/components/picker-legacy/picker.js +31 -91
  263. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -4
  264. package/dist/collection/components/popover/popover.js +55 -208
  265. package/dist/collection/components/progress-bar/progress-bar.js +6 -31
  266. package/dist/collection/components/radio/radio.js +16 -46
  267. package/dist/collection/components/radio-group/radio-group.js +12 -26
  268. package/dist/collection/components/range/range.js +34 -109
  269. package/dist/collection/components/refresher/refresher.js +6 -68
  270. package/dist/collection/components/refresher-content/refresher-content.js +8 -12
  271. package/dist/collection/components/reorder-group/reorder-group.js +1 -6
  272. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -12
  273. package/dist/collection/components/route/route.js +9 -24
  274. package/dist/collection/components/route-redirect/route-redirect.js +6 -6
  275. package/dist/collection/components/router/router.js +2 -24
  276. package/dist/collection/components/router-link/router-link.js +12 -24
  277. package/dist/collection/components/router-outlet/router-outlet.js +8 -24
  278. package/dist/collection/components/searchbar/searchbar.js +46 -141
  279. package/dist/collection/components/segment/segment.js +13 -38
  280. package/dist/collection/components/segment-button/segment-button.js +11 -32
  281. package/dist/collection/components/segment-view/segment-view.js +2 -6
  282. package/dist/collection/components/select/select.ios.css +5 -3
  283. package/dist/collection/components/select/select.js +55 -121
  284. package/dist/collection/components/select/select.md.css +58 -16
  285. package/dist/collection/components/select-modal/select-modal.js +4 -9
  286. package/dist/collection/components/select-option/select-option.js +3 -9
  287. package/dist/collection/components/select-popover/select-popover.js +8 -18
  288. package/dist/collection/components/skeleton-text/skeleton-text.js +1 -6
  289. package/dist/collection/components/spinner/spinner.js +7 -15
  290. package/dist/collection/components/split-pane/split-pane.js +4 -17
  291. package/dist/collection/components/tab/tab.js +7 -14
  292. package/dist/collection/components/tab-bar/tab-bar.js +5 -14
  293. package/dist/collection/components/tab-button/tab-button.js +16 -32
  294. package/dist/collection/components/tabs/tabs.js +3 -5
  295. package/dist/collection/components/text/text.js +4 -3
  296. package/dist/collection/components/textarea/textarea.js +59 -146
  297. package/dist/collection/components/title/title.js +6 -6
  298. package/dist/collection/components/toast/toast.js +45 -119
  299. package/dist/collection/components/toggle/toggle.js +25 -75
  300. package/dist/collection/components/toolbar/toolbar.js +2 -3
  301. package/dist/docs.d.ts +0 -8
  302. package/dist/docs.json +584 -1799
  303. package/dist/esm/{animation-CCtpQcsN.js → animation-eab5a4ca.js} +1 -1
  304. package/dist/esm/{app-globals-CispSZgz.js → app-globals-7b6cbf1a.js} +1 -1
  305. package/dist/esm/{button-active-D92yWoWC.js → button-active-90f1dbc4.js} +3 -3
  306. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-59395cbd.js} +1 -1
  307. package/dist/esm/{data-Dq3-TN9Z.js → data-174ad5e0.js} +2 -2
  308. package/dist/esm/{framework-delegate-D3CI7y6x.js → framework-delegate-2eea1763.js} +1 -1
  309. package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-314a54f6.js} +1 -1
  310. package/dist/esm/{haptic-DzAMWJuk.js → haptic-ac164e4c.js} +2 -2
  311. package/dist/esm/{hardware-back-button-CRemSDoj.js → hardware-back-button-864101a3.js} +3 -3
  312. package/dist/esm/{helpers-Di6ciXLG.js → helpers-78efeec3.js} +5 -2
  313. package/dist/esm/{index-CfgBF1SE.js → index-39782642.js} +6 -4
  314. package/dist/esm/{index-B2_fY2up.js → index-40894f4b.js} +2 -2
  315. package/dist/esm/{index-C5UXyyFe.js → index-527b9e34.js} +648 -1375
  316. package/dist/esm/{index-PfJyigSK.js → index-738d7504.js} +2 -2
  317. package/dist/esm/{index-BLV6ykCk.js → index-e2cf2ceb.js} +1 -2
  318. package/dist/esm/{index-DWiwgv23.js → index-e919e353.js} +3 -3
  319. package/dist/esm/{index-DYJvRcE0.js → index-ecb55b8d.js} +6 -6
  320. package/dist/esm/{index-DZLiflRE.js → index-f9f5d018.js} +6 -6
  321. package/dist/esm/index.js +18 -18
  322. package/dist/esm/{input-shims-BL_oixbH.js → input-shims-7dc1f6dc.js} +8 -8
  323. package/dist/esm/{input.utils-Bd73EHpQ.js → input.utils-28bf4ef0.js} +3 -3
  324. package/dist/esm/ion-accordion_2.entry.js +23 -54
  325. package/dist/esm/ion-action-sheet.entry.js +36 -50
  326. package/dist/esm/ion-alert.entry.js +39 -55
  327. package/dist/esm/ion-app_8.entry.js +63 -96
  328. package/dist/esm/ion-avatar_3.entry.js +14 -8
  329. package/dist/esm/ion-back-button.entry.js +16 -15
  330. package/dist/esm/ion-backdrop.entry.js +6 -13
  331. package/dist/esm/ion-breadcrumb_2.entry.js +32 -38
  332. package/dist/esm/ion-button_2.entry.js +28 -33
  333. package/dist/esm/ion-card_5.entry.js +33 -32
  334. package/dist/esm/ion-checkbox.entry.js +20 -44
  335. package/dist/esm/ion-chip.entry.js +8 -11
  336. package/dist/esm/ion-col_3.entry.js +32 -8
  337. package/dist/esm/ion-datetime-button.entry.js +18 -20
  338. package/dist/esm/ion-datetime_3.entry.js +92 -182
  339. package/dist/esm/ion-fab_3.entry.js +29 -57
  340. package/dist/esm/ion-img.entry.js +9 -4
  341. package/dist/esm/ion-infinite-scroll_2.entry.js +18 -35
  342. package/dist/esm/ion-input-password-toggle.entry.js +13 -11
  343. package/dist/esm/ion-input.entry.js +51 -79
  344. package/dist/esm/ion-item-option_3.entry.js +26 -32
  345. package/dist/esm/ion-item_8.entry.js +50 -49
  346. package/dist/esm/ion-loading.entry.js +29 -46
  347. package/dist/esm/ion-menu_3.entry.js +37 -62
  348. package/dist/esm/ion-modal.entry.js +50 -128
  349. package/dist/esm/ion-nav_2.entry.js +20 -17
  350. package/dist/esm/ion-picker-column-option.entry.js +9 -22
  351. package/dist/esm/ion-picker-column.entry.js +15 -30
  352. package/dist/esm/ion-picker.entry.js +6 -4
  353. package/dist/esm/ion-popover.entry.js +45 -137
  354. package/dist/esm/ion-progress-bar.entry.js +9 -22
  355. package/dist/esm/ion-radio_2.entry.js +28 -42
  356. package/dist/esm/ion-range.entry.js +31 -71
  357. package/dist/esm/ion-refresher_2.entry.js +24 -68
  358. package/dist/esm/ion-reorder_2.entry.js +17 -17
  359. package/dist/esm/ion-ripple-effect.entry.js +4 -12
  360. package/dist/esm/ion-route_4.entry.js +18 -34
  361. package/dist/esm/ion-searchbar.entry.js +34 -83
  362. package/dist/esm/ion-segment-content.entry.js +3 -2
  363. package/dist/esm/ion-segment-view.entry.js +6 -6
  364. package/dist/esm/ion-segment_2.entry.js +27 -47
  365. package/dist/esm/ion-select-modal.entry.js +18 -13
  366. package/dist/esm/ion-select_3.entry.js +63 -82
  367. package/dist/esm/ion-spinner.entry.js +9 -8
  368. package/dist/esm/ion-split-pane.entry.js +7 -12
  369. package/dist/esm/ion-tab-bar_2.entry.js +26 -25
  370. package/dist/esm/ion-tab_2.entry.js +12 -8
  371. package/dist/esm/ion-text.entry.js +6 -4
  372. package/dist/esm/ion-textarea.entry.js +43 -71
  373. package/dist/esm/ion-toast.entry.js +42 -65
  374. package/dist/esm/ion-toggle.entry.js +29 -53
  375. package/dist/esm/{ionic-global-GkM1xiqt.js → ionic-global-ca86cf32.js} +1 -1
  376. package/dist/esm/ionic.js +6 -7
  377. package/dist/esm/{ios.transition-BcTzvx5_.js → ios.transition-7fe5dbea.js} +7 -7
  378. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-52278bd7.js} +3 -3
  379. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-73175e24.js} +1 -1
  380. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-ec5c2bfa.js} +2 -2
  381. package/dist/esm/loader.js +5 -5
  382. package/dist/esm/{md.transition-DYGWIgPE.js → md.transition-8dc58b46.js} +7 -7
  383. package/dist/esm/{notch-controller-PoOhjO4o.js → notch-controller-00d92e89.js} +2 -2
  384. package/dist/esm/{overlays-BuSzwtlC.js → overlays-41a5d51b.js} +7 -7
  385. package/dist/esm/polyfills/core-js.js +11 -0
  386. package/dist/esm/polyfills/dom.js +79 -0
  387. package/dist/esm/polyfills/es5-html-element.js +1 -0
  388. package/dist/esm/polyfills/index.js +34 -0
  389. package/dist/esm/polyfills/system.js +6 -0
  390. package/dist/esm/{status-tap-BPk7Ddsi.js → status-tap-f6d08e9e.js} +5 -5
  391. package/dist/esm/{swipe-back-Df75PJ2J.js → swipe-back-07df2095.js} +4 -4
  392. package/dist/esm-es5/animation-eab5a4ca.js +4 -0
  393. package/dist/esm-es5/app-globals-7b6cbf1a.js +4 -0
  394. package/dist/esm-es5/button-active-90f1dbc4.js +4 -0
  395. package/dist/esm-es5/capacitor-59395cbd.js +4 -0
  396. package/dist/esm-es5/compare-with-utils-a96ff2ea.js +4 -0
  397. package/dist/esm-es5/config-49c88215.js +4 -0
  398. package/dist/esm-es5/cubic-bezier-fe2083dc.js +4 -0
  399. package/dist/esm-es5/data-174ad5e0.js +4 -0
  400. package/dist/esm-es5/dir-babeabeb.js +4 -0
  401. package/dist/esm-es5/focus-visible-dd40d69f.js +4 -0
  402. package/dist/esm-es5/framework-delegate-2eea1763.js +4 -0
  403. package/dist/esm-es5/gesture-controller-314a54f6.js +4 -0
  404. package/dist/esm-es5/haptic-ac164e4c.js +4 -0
  405. package/dist/esm-es5/hardware-back-button-864101a3.js +4 -0
  406. package/dist/esm-es5/helpers-78efeec3.js +4 -0
  407. package/dist/esm-es5/index-39782642.js +4 -0
  408. package/dist/esm-es5/index-40894f4b.js +4 -0
  409. package/dist/esm-es5/index-527b9e34.js +5 -0
  410. package/dist/esm-es5/index-738d7504.js +4 -0
  411. package/dist/esm-es5/index-a5d50daf.js +4 -0
  412. package/dist/esm-es5/index-e2cf2ceb.js +4 -0
  413. package/dist/esm-es5/index-e919e353.js +4 -0
  414. package/dist/esm-es5/index-ecb55b8d.js +4 -0
  415. package/dist/esm-es5/index-f9f5d018.js +4 -0
  416. package/dist/esm-es5/index.js +4 -0
  417. package/dist/esm-es5/input-shims-7dc1f6dc.js +4 -0
  418. package/dist/esm-es5/input.utils-28bf4ef0.js +4 -0
  419. package/dist/esm-es5/ion-accordion_2.entry.js +4 -0
  420. package/dist/esm-es5/ion-action-sheet.entry.js +4 -0
  421. package/dist/esm-es5/ion-alert.entry.js +4 -0
  422. package/dist/esm-es5/ion-app_8.entry.js +4 -0
  423. package/dist/esm-es5/ion-avatar_3.entry.js +4 -0
  424. package/dist/esm-es5/ion-back-button.entry.js +4 -0
  425. package/dist/esm-es5/ion-backdrop.entry.js +4 -0
  426. package/dist/esm-es5/ion-breadcrumb_2.entry.js +4 -0
  427. package/dist/esm-es5/ion-button_2.entry.js +4 -0
  428. package/dist/esm-es5/ion-card_5.entry.js +4 -0
  429. package/dist/esm-es5/ion-checkbox.entry.js +4 -0
  430. package/dist/esm-es5/ion-chip.entry.js +4 -0
  431. package/dist/esm-es5/ion-col_3.entry.js +4 -0
  432. package/dist/esm-es5/ion-datetime-button.entry.js +4 -0
  433. package/dist/esm-es5/ion-datetime_3.entry.js +4 -0
  434. package/dist/esm-es5/ion-fab_3.entry.js +4 -0
  435. package/dist/esm-es5/ion-img.entry.js +4 -0
  436. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +4 -0
  437. package/dist/esm-es5/ion-input-password-toggle.entry.js +4 -0
  438. package/dist/esm-es5/ion-input.entry.js +4 -0
  439. package/dist/esm-es5/ion-item-option_3.entry.js +4 -0
  440. package/dist/esm-es5/ion-item_8.entry.js +4 -0
  441. package/dist/esm-es5/ion-loading.entry.js +4 -0
  442. package/dist/esm-es5/ion-menu_3.entry.js +4 -0
  443. package/dist/esm-es5/ion-modal.entry.js +4 -0
  444. package/dist/esm-es5/ion-nav_2.entry.js +4 -0
  445. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  446. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  447. package/dist/esm-es5/ion-picker.entry.js +4 -0
  448. package/dist/esm-es5/ion-popover.entry.js +4 -0
  449. package/dist/esm-es5/ion-progress-bar.entry.js +4 -0
  450. package/dist/esm-es5/ion-radio_2.entry.js +4 -0
  451. package/dist/esm-es5/ion-range.entry.js +4 -0
  452. package/dist/esm-es5/ion-refresher_2.entry.js +4 -0
  453. package/dist/esm-es5/ion-reorder_2.entry.js +4 -0
  454. package/dist/esm-es5/ion-ripple-effect.entry.js +4 -0
  455. package/dist/esm-es5/ion-route_4.entry.js +4 -0
  456. package/dist/esm-es5/ion-searchbar.entry.js +4 -0
  457. package/dist/esm-es5/ion-segment-content.entry.js +4 -0
  458. package/dist/esm-es5/ion-segment-view.entry.js +4 -0
  459. package/dist/esm-es5/ion-segment_2.entry.js +4 -0
  460. package/dist/esm-es5/ion-select-modal.entry.js +4 -0
  461. package/dist/esm-es5/ion-select_3.entry.js +4 -0
  462. package/dist/esm-es5/ion-spinner.entry.js +4 -0
  463. package/dist/esm-es5/ion-split-pane.entry.js +4 -0
  464. package/dist/esm-es5/ion-tab-bar_2.entry.js +4 -0
  465. package/dist/esm-es5/ion-tab_2.entry.js +4 -0
  466. package/dist/esm-es5/ion-text.entry.js +4 -0
  467. package/dist/esm-es5/ion-textarea.entry.js +4 -0
  468. package/dist/esm-es5/ion-toast.entry.js +4 -0
  469. package/dist/esm-es5/ion-toggle.entry.js +4 -0
  470. package/dist/esm-es5/ionic-global-ca86cf32.js +4 -0
  471. package/dist/esm-es5/ionic.js +4 -0
  472. package/dist/esm-es5/ios.transition-7fe5dbea.js +4 -0
  473. package/dist/esm-es5/keyboard-52278bd7.js +4 -0
  474. package/dist/esm-es5/keyboard-73175e24.js +4 -0
  475. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +4 -0
  476. package/dist/esm-es5/loader.js +4 -0
  477. package/dist/esm-es5/lock-controller-316928be.js +4 -0
  478. package/dist/esm-es5/md.transition-8dc58b46.js +4 -0
  479. package/dist/esm-es5/notch-controller-00d92e89.js +4 -0
  480. package/dist/esm-es5/overlays-41a5d51b.js +4 -0
  481. package/dist/esm-es5/spinner-configs-964f7cf3.js +4 -0
  482. package/dist/esm-es5/status-tap-f6d08e9e.js +4 -0
  483. package/dist/esm-es5/swipe-back-07df2095.js +4 -0
  484. package/dist/esm-es5/theme-01f3f29c.js +4 -0
  485. package/dist/esm-es5/watch-options-c2911ace.js +4 -0
  486. package/dist/html.html-data.json +0 -212
  487. package/dist/index.js +1 -1
  488. package/dist/ionic/index.esm.js +1 -1
  489. package/dist/ionic/ionic.esm.js +1 -1
  490. package/dist/ionic/ionic.js +127 -0
  491. package/dist/ionic/p-012c3ceb.system.js +4 -0
  492. package/dist/ionic/p-027a48f1.entry.js +4 -0
  493. package/dist/ionic/p-058b7f35.js +4 -0
  494. package/dist/ionic/p-05b65d7a.entry.js +4 -0
  495. package/dist/ionic/p-08e01816.system.js +4 -0
  496. package/dist/ionic/p-09d185ff.system.js +4 -0
  497. package/dist/ionic/p-0a456b7f.entry.js +4 -0
  498. package/dist/ionic/p-0adb6909.system.entry.js +4 -0
  499. package/dist/ionic/p-0bedc891.system.entry.js +4 -0
  500. package/dist/ionic/p-0c8386d3.entry.js +4 -0
  501. package/dist/ionic/p-0d1be7c9.system.entry.js +4 -0
  502. package/dist/ionic/p-0ec5b7cf.system.js +4 -0
  503. package/dist/ionic/p-14114a59.system.entry.js +4 -0
  504. package/dist/ionic/p-14e041cd.system.entry.js +4 -0
  505. package/dist/ionic/p-15bb1dde.system.js +4 -0
  506. package/dist/ionic/p-180b4f9a.entry.js +4 -0
  507. package/dist/ionic/p-19c32a76.entry.js +4 -0
  508. package/dist/ionic/p-1b0b2210.entry.js +4 -0
  509. package/dist/ionic/p-1bf5ec17.system.js +4 -0
  510. package/dist/ionic/p-1c1d781d.system.entry.js +4 -0
  511. package/dist/ionic/p-1c8b3ac9.entry.js +4 -0
  512. package/dist/ionic/p-1de5dfcd.system.entry.js +4 -0
  513. package/dist/ionic/p-1dfc11b3.system.js +4 -0
  514. package/dist/ionic/p-1e4371bd.js +4 -0
  515. package/dist/ionic/p-1e955a45.system.js +4 -0
  516. package/dist/ionic/p-20d469d0.system.js +4 -0
  517. package/dist/ionic/p-21891ead.js +4 -0
  518. package/dist/ionic/{p-CdWpy93z.js → p-22bc235f.js} +1 -1
  519. package/dist/ionic/{p-b8a159eb.entry.js → p-2567237c.entry.js} +1 -1
  520. package/dist/ionic/{p-D13Eaw-8.js → p-27281edd.js} +1 -1
  521. package/dist/ionic/p-28c81576.entry.js +4 -0
  522. package/dist/ionic/p-29a5b4e4.entry.js +4 -0
  523. package/dist/ionic/p-2a2c6bf4.system.entry.js +4 -0
  524. package/dist/ionic/p-2b7827c7.js +4 -0
  525. package/dist/ionic/p-33518a04.entry.js +4 -0
  526. package/dist/ionic/p-35f14792.entry.js +4 -0
  527. package/dist/ionic/p-383a6058.entry.js +4 -0
  528. package/dist/ionic/p-3855fef7.system.js +4 -0
  529. package/dist/ionic/p-38eaf9cf.system.entry.js +4 -0
  530. package/dist/ionic/p-3ba2a2cd.system.js +4 -0
  531. package/dist/ionic/p-3e1e14d9.system.js +4 -0
  532. package/dist/ionic/{p-CeCT60rb.js → p-3f4327f7.js} +1 -1
  533. package/dist/ionic/p-41e70fa2.entry.js +4 -0
  534. package/dist/ionic/p-44fde7d5.system.entry.js +4 -0
  535. package/dist/ionic/p-44ff75ea.js +4 -0
  536. package/dist/ionic/p-455cd7cc.system.js +4 -0
  537. package/dist/ionic/p-4609d030.system.js +4 -0
  538. package/dist/ionic/p-4630688e.system.entry.js +4 -0
  539. package/dist/ionic/p-4662a25c.system.entry.js +4 -0
  540. package/dist/ionic/p-49d53551.system.entry.js +4 -0
  541. package/dist/ionic/p-4b07c60a.system.js +4 -0
  542. package/dist/ionic/p-4c7e6fec.system.entry.js +4 -0
  543. package/dist/ionic/p-4d5bce60.system.entry.js +4 -0
  544. package/dist/ionic/p-4ea4c73a.system.entry.js +4 -0
  545. package/dist/ionic/p-4eeca839.system.entry.js +4 -0
  546. package/dist/ionic/p-4f255d5a.system.js +4 -0
  547. package/dist/ionic/p-50e0ce13.entry.js +4 -0
  548. package/dist/ionic/p-51479be0.system.entry.js +4 -0
  549. package/dist/ionic/p-5578033e.system.entry.js +4 -0
  550. package/dist/ionic/{p-XWSYNdC9.js → p-597ff9af.js} +1 -1
  551. package/dist/ionic/p-5fb1321f.entry.js +4 -0
  552. package/dist/ionic/p-607aa181.entry.js +4 -0
  553. package/dist/ionic/p-61373098.js +4 -0
  554. package/dist/ionic/p-6155027f.system.entry.js +4 -0
  555. package/dist/ionic/p-61e794fb.entry.js +4 -0
  556. package/dist/ionic/{p-C3eOXAUO.js → p-624ecf03.js} +1 -1
  557. package/dist/ionic/p-64d8ac48.js +4 -0
  558. package/dist/ionic/p-657ada6a.entry.js +4 -0
  559. package/dist/ionic/p-65943bec.system.entry.js +4 -0
  560. package/dist/ionic/p-65e732b9.entry.js +4 -0
  561. package/dist/ionic/p-66a5d6a8.js +5 -0
  562. package/dist/ionic/p-69a96be9.system.entry.js +4 -0
  563. package/dist/ionic/p-6c044a1d.system.js +4 -0
  564. package/dist/ionic/p-7058a5e4.system.entry.js +4 -0
  565. package/dist/ionic/p-705fda69.system.js +4 -0
  566. package/dist/ionic/p-707408c5.system.entry.js +4 -0
  567. package/dist/ionic/p-70abb1f2.system.entry.js +4 -0
  568. package/dist/ionic/p-747f9517.entry.js +4 -0
  569. package/dist/ionic/{p-lw61HGQ-.js → p-756e4559.js} +1 -1
  570. package/dist/ionic/p-772d1657.system.js +4 -0
  571. package/dist/ionic/p-77aa5fef.system.entry.js +4 -0
  572. package/dist/ionic/p-792919fd.system.js +4 -0
  573. package/dist/ionic/p-7c9daa6f.entry.js +4 -0
  574. package/dist/ionic/p-7cc33a9a.system.js +4 -0
  575. package/dist/ionic/p-7e3b5638.system.entry.js +4 -0
  576. package/dist/ionic/p-7f49a9c4.entry.js +4 -0
  577. package/dist/ionic/p-843ac05d.system.entry.js +4 -0
  578. package/dist/ionic/p-87b0d2c9.entry.js +4 -0
  579. package/dist/ionic/p-8985cdb6.system.js +4 -0
  580. package/dist/ionic/{p-CKvCXMs9.js → p-89b61afc.js} +1 -1
  581. package/dist/ionic/p-8b1c1fd7.entry.js +4 -0
  582. package/dist/ionic/p-8b22be32.system.entry.js +4 -0
  583. package/dist/ionic/p-8d98e2bb.entry.js +4 -0
  584. package/dist/ionic/p-8ededb41.js +4 -0
  585. package/dist/ionic/p-9146695e.system.js +4 -0
  586. package/dist/ionic/p-959cf042.system.entry.js +4 -0
  587. package/dist/ionic/p-96eec056.entry.js +4 -0
  588. package/dist/ionic/p-978bdf4c.system.js +4 -0
  589. package/dist/ionic/p-979d4f5c.system.js +4 -0
  590. package/dist/ionic/p-9870728f.js +4 -0
  591. package/dist/ionic/p-99803283.entry.js +4 -0
  592. package/dist/ionic/p-9af7f110.js +4 -0
  593. package/dist/ionic/{p-d3ee5846.entry.js → p-9b069739.entry.js} +1 -1
  594. package/dist/ionic/p-9e45532a.system.js +4 -0
  595. package/dist/ionic/p-a26d7667.system.entry.js +4 -0
  596. package/dist/ionic/p-a3c931ad.system.js +4 -0
  597. package/dist/ionic/p-a4866e3e.system.js +4 -0
  598. package/dist/ionic/p-a520973b.entry.js +4 -0
  599. package/dist/ionic/p-a6625de8.system.js +4 -0
  600. package/dist/ionic/p-a75a9e5a.system.entry.js +4 -0
  601. package/dist/ionic/p-a768ae50.entry.js +4 -0
  602. package/dist/ionic/p-a7830ff8.entry.js +4 -0
  603. package/dist/ionic/p-a9198501.system.entry.js +4 -0
  604. package/dist/ionic/p-a93873de.system.js +4 -0
  605. package/dist/ionic/p-ab7337e1.entry.js +4 -0
  606. package/dist/ionic/p-abe101da.system.js +4 -0
  607. package/dist/ionic/p-ac09b6e9.system.entry.js +4 -0
  608. package/dist/ionic/p-ac58d726.system.entry.js +4 -0
  609. package/dist/ionic/p-aef8249f.entry.js +4 -0
  610. package/dist/ionic/p-b06ac4a5.system.js +4 -0
  611. package/dist/ionic/p-b1673667.entry.js +4 -0
  612. package/dist/ionic/p-b1f9fbe8.system.entry.js +4 -0
  613. package/dist/ionic/p-b2ee0628.system.entry.js +4 -0
  614. package/dist/ionic/{p-dcf2e017.entry.js → p-b87a9f1d.entry.js} +1 -1
  615. package/dist/ionic/p-b8a461f5.system.entry.js +4 -0
  616. package/dist/ionic/p-b964c34e.system.entry.js +4 -0
  617. package/dist/ionic/{p-mxKP5hf-.js → p-b9fa7882.js} +1 -1
  618. package/dist/ionic/p-ba29521b.entry.js +4 -0
  619. package/dist/ionic/p-bf64af90.system.js +4 -0
  620. package/dist/ionic/{p-879a7b00.entry.js → p-c005cc37.entry.js} +1 -1
  621. package/dist/ionic/p-c27c57ea.system.entry.js +4 -0
  622. package/dist/ionic/p-c3f9d9fe.js +4 -0
  623. package/dist/ionic/p-c468af8a.system.js +4 -0
  624. package/dist/ionic/p-c53c414d.system.entry.js +4 -0
  625. package/dist/ionic/p-c61cc894.js +4 -0
  626. package/dist/ionic/p-c63d8dc1.js +4 -0
  627. package/dist/ionic/p-c7e16491.js +4 -0
  628. package/dist/ionic/p-ccb740ea.entry.js +4 -0
  629. package/dist/ionic/p-cec54707.system.entry.js +4 -0
  630. package/dist/ionic/p-cfc08422.entry.js +4 -0
  631. package/dist/ionic/p-cff4f96c.entry.js +4 -0
  632. package/dist/ionic/p-d40f2b7a.js +4 -0
  633. package/dist/ionic/p-d70a9e6d.system.js +4 -0
  634. package/dist/ionic/p-d882f1e2.system.entry.js +4 -0
  635. package/dist/ionic/p-d8d84afa.system.js +4 -0
  636. package/dist/ionic/{p-BLV6ykCk.js → p-da2b833b.js} +1 -1
  637. package/dist/ionic/p-e11ff516.entry.js +4 -0
  638. package/dist/ionic/p-e29c5aab.system.entry.js +4 -0
  639. package/dist/ionic/p-e2ce5f8b.entry.js +4 -0
  640. package/dist/ionic/p-e3284879.system.entry.js +4 -0
  641. package/dist/ionic/p-e3e4eed7.entry.js +4 -0
  642. package/dist/ionic/p-e4683bfd.system.entry.js +4 -0
  643. package/dist/ionic/p-e4d2c281.entry.js +4 -0
  644. package/dist/ionic/p-e65b8460.entry.js +4 -0
  645. package/dist/ionic/p-e673a0a2.system.js +4 -0
  646. package/dist/ionic/p-e6cdfa96.system.entry.js +4 -0
  647. package/dist/ionic/{p-6f5d9223.entry.js → p-e8245753.entry.js} +1 -1
  648. package/dist/ionic/p-ece78e7b.js +4 -0
  649. package/dist/ionic/p-ee86cfff.system.js +4 -0
  650. package/dist/ionic/p-f11a9436.system.js +5 -0
  651. package/dist/ionic/p-f201b53a.system.js +4 -0
  652. package/dist/ionic/p-f23124c4.system.js +4 -0
  653. package/dist/ionic/p-f233f1e0.system.js +4 -0
  654. package/dist/ionic/p-f387b3c6.system.entry.js +4 -0
  655. package/dist/ionic/{p-B3UoCFcu.js → p-f53ee2e7.js} +1 -1
  656. package/dist/ionic/p-f5a04e5e.system.entry.js +4 -0
  657. package/dist/ionic/p-f6bb9be7.system.entry.js +4 -0
  658. package/dist/ionic/p-f70fc14a.entry.js +4 -0
  659. package/dist/ionic/{p-CdKu7oC9.js → p-f7ce606e.js} +1 -1
  660. package/dist/ionic/p-f834322a.entry.js +4 -0
  661. package/dist/ionic/p-f896194a.system.entry.js +4 -0
  662. package/dist/ionic/p-fa70eaab.entry.js +4 -0
  663. package/dist/ionic/p-ffa3ba3c.js +4 -0
  664. package/dist/types/components/input/input.d.ts +8 -0
  665. package/dist/types/components/select/select.d.ts +9 -0
  666. package/dist/types/components/textarea/textarea.d.ts +8 -0
  667. package/dist/types/index.d.ts +0 -1
  668. package/dist/types/stencil-public-runtime.d.ts +0 -9
  669. package/hydrate/index.d.ts +5 -40
  670. package/hydrate/index.js +2194 -4548
  671. package/hydrate/index.mjs +2193 -4547
  672. package/loader/cdn.js +2 -1
  673. package/loader/index.cjs.js +2 -1
  674. package/loader/index.es2017.js +1 -0
  675. package/loader/index.js +2 -1
  676. package/loader/package.json +11 -0
  677. package/package.json +2 -2
  678. package/dist/ionic/p-06d06c2f.entry.js +0 -4
  679. package/dist/ionic/p-10e11b67.entry.js +0 -4
  680. package/dist/ionic/p-10f11601.entry.js +0 -4
  681. package/dist/ionic/p-171d5d3e.entry.js +0 -4
  682. package/dist/ionic/p-210385cd.entry.js +0 -4
  683. package/dist/ionic/p-2469206a.entry.js +0 -4
  684. package/dist/ionic/p-261e3a47.entry.js +0 -4
  685. package/dist/ionic/p-2a2ab89d.entry.js +0 -4
  686. package/dist/ionic/p-2f416d26.entry.js +0 -4
  687. package/dist/ionic/p-3628b1f7.entry.js +0 -4
  688. package/dist/ionic/p-3bd766ca.entry.js +0 -4
  689. package/dist/ionic/p-414f60f0.entry.js +0 -4
  690. package/dist/ionic/p-49419ffd.entry.js +0 -4
  691. package/dist/ionic/p-49b72347.entry.js +0 -4
  692. package/dist/ionic/p-52eca165.entry.js +0 -4
  693. package/dist/ionic/p-6a8928b1.entry.js +0 -4
  694. package/dist/ionic/p-6d4f1c6e.entry.js +0 -4
  695. package/dist/ionic/p-72d7dd7c.entry.js +0 -4
  696. package/dist/ionic/p-75959e43.entry.js +0 -4
  697. package/dist/ionic/p-76878c5f.entry.js +0 -4
  698. package/dist/ionic/p-7deacfed.entry.js +0 -4
  699. package/dist/ionic/p-841761ee.entry.js +0 -4
  700. package/dist/ionic/p-85d22d84.entry.js +0 -4
  701. package/dist/ionic/p-8ca2b22c.entry.js +0 -4
  702. package/dist/ionic/p-8e57bbf1.entry.js +0 -4
  703. package/dist/ionic/p-92aed080.entry.js +0 -4
  704. package/dist/ionic/p-930ec949.entry.js +0 -4
  705. package/dist/ionic/p-9ca05f27.entry.js +0 -4
  706. package/dist/ionic/p-9d7d6758.entry.js +0 -4
  707. package/dist/ionic/p-9d8be89a.entry.js +0 -4
  708. package/dist/ionic/p-9eeaBrnk.js +0 -4
  709. package/dist/ionic/p-B1sP_kPm.js +0 -4
  710. package/dist/ionic/p-B61pJgh5.js +0 -4
  711. package/dist/ionic/p-B8iLKNde.js +0 -4
  712. package/dist/ionic/p-BBmUb2In.js +0 -4
  713. package/dist/ionic/p-BTEIaRld.js +0 -4
  714. package/dist/ionic/p-BwAZiDRk.js +0 -4
  715. package/dist/ionic/p-C5UXyyFe.js +0 -5
  716. package/dist/ionic/p-CIGNaXM1.js +0 -4
  717. package/dist/ionic/p-CiN6q3Lh.js +0 -4
  718. package/dist/ionic/p-Cl0B-RWe.js +0 -4
  719. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  720. package/dist/ionic/p-DFllLYu2.js +0 -4
  721. package/dist/ionic/p-DYo1kLGy.js +0 -4
  722. package/dist/ionic/p-Di6ciXLG.js +0 -4
  723. package/dist/ionic/p-a1581941.entry.js +0 -4
  724. package/dist/ionic/p-a1767652.entry.js +0 -4
  725. package/dist/ionic/p-a3ec5708.entry.js +0 -4
  726. package/dist/ionic/p-a8506291.entry.js +0 -4
  727. package/dist/ionic/p-a951373a.entry.js +0 -4
  728. package/dist/ionic/p-b3485dee.entry.js +0 -4
  729. package/dist/ionic/p-bb3cf0f1.entry.js +0 -4
  730. package/dist/ionic/p-c0634ff3.entry.js +0 -4
  731. package/dist/ionic/p-ccbc5737.entry.js +0 -4
  732. package/dist/ionic/p-d6a3361a.entry.js +0 -4
  733. package/dist/ionic/p-d7a76cd0.entry.js +0 -4
  734. package/dist/ionic/p-d85dfc51.entry.js +0 -4
  735. package/dist/ionic/p-ddc1c497.entry.js +0 -4
  736. package/dist/ionic/p-e01503b2.entry.js +0 -4
  737. package/dist/ionic/p-f9c55d46.entry.js +0 -4
  738. package/dist/ionic/p-fc3eb210.entry.js +0 -4
  739. package/dist/ionic/p-umtghMQY.js +0 -4
  740. package/dist/ionic/p-yluxF5qo.js +0 -4
  741. package/dist/ionic/p-zEz12j4K.js +0 -4
  742. /package/dist/cjs/{compare-with-utils-DSicavqM.js → compare-with-utils-df1001d7.js} +0 -0
  743. /package/dist/cjs/{config-BHiHGeHc.js → config-4f60b98a.js} +0 -0
  744. /package/dist/cjs/{cubic-bezier-DAjy1V-e.js → cubic-bezier-f2dccc53.js} +0 -0
  745. /package/dist/cjs/{dir-Cn0z1rJH.js → dir-94c21456.js} +0 -0
  746. /package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-7a0ce04f.js} +0 -0
  747. /package/dist/cjs/{index-DkNv4J_i.js → index-c8d52405.js} +0 -0
  748. /package/dist/cjs/{lock-controller-aDB9wrEf.js → lock-controller-6585a42a.js} +0 -0
  749. /package/dist/cjs/{spinner-configs-DxHKnd3-.js → spinner-configs-282fd50a.js} +0 -0
  750. /package/dist/cjs/{theme-CeDs6Hcv.js → theme-d1c573d2.js} +0 -0
  751. /package/dist/cjs/{watch-options-CviOsrTS.js → watch-options-f5f3e158.js} +0 -0
  752. /package/dist/esm/{compare-with-utils-sObYyvOy.js → compare-with-utils-a96ff2ea.js} +0 -0
  753. /package/dist/esm/{config-O8NobGs3.js → config-49c88215.js} +0 -0
  754. /package/dist/esm/{cubic-bezier-hHmYLOfE.js → cubic-bezier-fe2083dc.js} +0 -0
  755. /package/dist/esm/{dir-C53feagD.js → dir-babeabeb.js} +0 -0
  756. /package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-dd40d69f.js} +0 -0
  757. /package/dist/esm/{index-ZjP4CjeZ.js → index-a5d50daf.js} +0 -0
  758. /package/dist/esm/{lock-controller-B-hirT0v.js → lock-controller-316928be.js} +0 -0
  759. /package/dist/esm/{spinner-configs-D4RIp70E.js → spinner-configs-964f7cf3.js} +0 -0
  760. /package/dist/esm/{theme-DiVJyqlX.js → theme-01f3f29c.js} +0 -0
  761. /package/dist/esm/{watch-options-Dtdm8lKC.js → watch-options-c2911ace.js} +0 -0
  762. /package/dist/ionic/{p-hHmYLOfE.js → p-2408c236.js} +0 -0
  763. /package/dist/ionic/{p-O8NobGs3.js → p-41d5544e.js} +0 -0
  764. /package/dist/ionic/{p-Dtdm8lKC.js → p-459d13d5.js} +0 -0
  765. /package/dist/ionic/{p-DiVJyqlX.js → p-47794def.js} +0 -0
  766. /package/dist/ionic/{p-ZjP4CjeZ.js → p-7b30edcc.js} +0 -0
  767. /package/dist/ionic/{p-BTEOs1at.js → p-9b97df10.js} +0 -0
  768. /package/dist/ionic/{p-B-hirT0v.js → p-ccd02320.js} +0 -0
  769. /package/dist/ionic/{p-BmVRXR1y.js → p-d47265c8.js} +0 -0
  770. /package/dist/ionic/{p-sObYyvOy.js → p-de756e5c.js} +0 -0
  771. /package/dist/ionic/{p-D4RIp70E.js → p-f0c2a614.js} +0 -0
  772. /package/dist/ionic/{p-C53feagD.js → p-fb813dab.js} +0 -0
@@ -3,11 +3,31 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
+ function _interopNamespace(e) {
7
+ if (e && e.__esModule) return e;
8
+ var n = Object.create(null);
9
+ if (e) {
10
+ Object.keys(e).forEach(function (k) {
11
+ if (k !== 'default') {
12
+ var d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: function () {
16
+ return e[k];
17
+ }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n['default'] = e;
23
+ return Object.freeze(n);
24
+ }
25
+
6
26
  const NAMESPACE = 'ionic';
7
- const BUILD = /* ionic */ { experimentalSlotFixes: true, hydratedSelectorName: "hydrated", lazyLoad: true, shadowDom: true, slotRelocation: true, updatable: true};
27
+ const BUILD = /* ionic */ { allRenderFn: false, appendChildSlotFix: true, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: true, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: true, experimentalSlotFixes: true, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, 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: true, mode: true, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: true, scopedSlotTextContentFix: true, scriptDataOpts: false, shadowDelegatesFocus: true, shadowDom: true, slot: true, slotChildNodesFix: true, 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 };
8
28
 
9
29
  /*
10
- Stencil Client Platform v4.29.2 | MIT Licensed | https://stenciljs.com
30
+ Stencil Client Platform v4.20.0 | MIT Licensed | https://stenciljs.com
11
31
  */
12
32
  var __defProp = Object.defineProperty;
13
33
  var __export = (target, all) => {
@@ -15,47 +35,14 @@ var __export = (target, all) => {
15
35
  __defProp(target, name, { get: all[name], enumerable: true });
16
36
  };
17
37
  var Build = {
18
- isBrowser: true};
19
-
20
- // src/utils/constants.ts
21
- var SVG_NS = "http://www.w3.org/2000/svg";
22
- var HTML_NS = "http://www.w3.org/1999/xhtml";
23
- var PrimitiveType = /* @__PURE__ */ ((PrimitiveType2) => {
24
- PrimitiveType2["Undefined"] = "undefined";
25
- PrimitiveType2["Null"] = "null";
26
- PrimitiveType2["String"] = "string";
27
- PrimitiveType2["Number"] = "number";
28
- PrimitiveType2["SpecialNumber"] = "number";
29
- PrimitiveType2["Boolean"] = "boolean";
30
- PrimitiveType2["BigInt"] = "bigint";
31
- return PrimitiveType2;
32
- })(PrimitiveType || {});
33
- var NonPrimitiveType = /* @__PURE__ */ ((NonPrimitiveType2) => {
34
- NonPrimitiveType2["Array"] = "array";
35
- NonPrimitiveType2["Date"] = "date";
36
- NonPrimitiveType2["Map"] = "map";
37
- NonPrimitiveType2["Object"] = "object";
38
- NonPrimitiveType2["RegularExpression"] = "regexp";
39
- NonPrimitiveType2["Set"] = "set";
40
- NonPrimitiveType2["Channel"] = "channel";
41
- NonPrimitiveType2["Symbol"] = "symbol";
42
- return NonPrimitiveType2;
43
- })(NonPrimitiveType || {});
44
- var TYPE_CONSTANT = "type";
45
- var VALUE_CONSTANT = "value";
46
- var SERIALIZED_PREFIX = "serialized:";
47
-
48
- // src/client/client-host-ref.ts
49
- var getHostRef = (ref) => {
50
- if (ref.__stencil__getHostRef) {
51
- return ref.__stencil__getHostRef();
52
- }
53
- return void 0;
54
- };
55
- var registerInstance = (lazyInstance, hostRef) => {
56
- lazyInstance.__stencil__getHostRef = () => hostRef;
57
- hostRef.$lazyInstance$ = lazyInstance;
58
- };
38
+ isDev: false,
39
+ isBrowser: true,
40
+ isServer: false,
41
+ isTesting: false
42
+ };
43
+ var hostRefs = /* @__PURE__ */ new WeakMap();
44
+ var getHostRef = (ref) => hostRefs.get(ref);
45
+ var registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
59
46
  var registerHost = (hostElement, cmpMeta) => {
60
47
  const hostRef = {
61
48
  $flags$: 0,
@@ -71,9 +58,7 @@ var registerHost = (hostElement, cmpMeta) => {
71
58
  hostElement["s-p"] = [];
72
59
  hostElement["s-rc"] = [];
73
60
  }
74
- const ref = hostRef;
75
- hostElement.__stencil__getHostRef = () => ref;
76
- return ref;
61
+ return hostRefs.set(hostElement, hostRef);
77
62
  };
78
63
  var isMemberInElement = (elm, memberName) => memberName in elm;
79
64
  var consoleError = (e, el) => (0, console.error)(e, el);
@@ -91,23 +76,18 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
91
76
  return module[exportName];
92
77
  }
93
78
  /*!__STENCIL_STATIC_IMPORT_SWITCH__*/
94
- return import(
79
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
95
80
  /* @vite-ignore */
96
81
  /* webpackInclude: /\.entry\.js$/ */
97
82
  /* webpackExclude: /\.system\.entry\.js$/ */
98
83
  /* webpackMode: "lazy" */
99
84
  `./${bundleId}.entry.js${""}`
100
- ).then(
101
- (importedModule) => {
102
- {
103
- cmpModules.set(bundleId, importedModule);
104
- }
105
- return importedModule[exportName];
106
- },
107
- (e) => {
108
- consoleError(e, hostRef.$hostElement$);
85
+ )); }).then((importedModule) => {
86
+ {
87
+ cmpModules.set(bundleId, importedModule);
109
88
  }
110
- );
89
+ return importedModule[exportName];
90
+ }, consoleError);
111
91
  };
112
92
 
113
93
  // src/client/client-style.ts
@@ -119,7 +99,6 @@ var CONTENT_REF_ID = "r";
119
99
  var ORG_LOCATION_ID = "o";
120
100
  var SLOT_NODE_ID = "s";
121
101
  var TEXT_NODE_ID = "t";
122
- var COMMENT_NODE_ID = "c";
123
102
  var HYDRATE_ID = "s-id";
124
103
  var HYDRATED_STYLE_ID = "sty-id";
125
104
  var HYDRATE_CHILD_ID = "c-id";
@@ -127,6 +106,7 @@ var HYDRATED_CSS = "{visibility:hidden}.hydrated{visibility:inherit}";
127
106
  var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
128
107
  var XLINK_NS = "http://www.w3.org/1999/xlink";
129
108
  var win = typeof window !== "undefined" ? window : {};
109
+ var doc = win.document || { head: {} };
130
110
  var H = win.HTMLElement || class {
131
111
  };
132
112
  var plt = {
@@ -140,10 +120,9 @@ var plt = {
140
120
  };
141
121
  var supportsShadow = BUILD.shadowDom;
142
122
  var supportsListenerOptions = /* @__PURE__ */ (() => {
143
- var _a;
144
123
  let supportsListenerOptions2 = false;
145
124
  try {
146
- (_a = win.document) == null ? void 0 : _a.addEventListener(
125
+ doc.addEventListener(
147
126
  "e",
148
127
  null,
149
128
  Object.defineProperty({}, "passive", {
@@ -208,114 +187,24 @@ var getAssetPath = (path) => {
208
187
  return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;
209
188
  };
210
189
 
190
+ // src/utils/constants.ts
191
+ var EMPTY_OBJ = {};
192
+ var SVG_NS = "http://www.w3.org/2000/svg";
193
+ var HTML_NS = "http://www.w3.org/1999/xhtml";
194
+
211
195
  // src/utils/helpers.ts
212
- var isDef = (v) => v != null && v !== void 0;
196
+ var isDef = (v) => v != null;
213
197
  var isComplexType = (o) => {
214
198
  o = typeof o;
215
199
  return o === "object" || o === "function";
216
200
  };
217
201
 
218
202
  // src/utils/query-nonce-meta-tag-content.ts
219
- function queryNonceMetaTagContent(doc) {
203
+ function queryNonceMetaTagContent(doc2) {
220
204
  var _a, _b, _c;
221
- 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;
205
+ 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;
222
206
  }
223
207
 
224
- // src/utils/remote-value.ts
225
- var RemoteValue = class _RemoteValue {
226
- /**
227
- * Deserializes a LocalValue serialized object back to its original JavaScript representation
228
- *
229
- * @param serialized The serialized LocalValue object
230
- * @returns The original JavaScript value/object
231
- */
232
- static fromLocalValue(serialized) {
233
- const type = serialized[TYPE_CONSTANT];
234
- const value = VALUE_CONSTANT in serialized ? serialized[VALUE_CONSTANT] : void 0;
235
- switch (type) {
236
- case "string" /* String */:
237
- return value;
238
- case "boolean" /* Boolean */:
239
- return value;
240
- case "bigint" /* BigInt */:
241
- return BigInt(value);
242
- case "undefined" /* Undefined */:
243
- return void 0;
244
- case "null" /* Null */:
245
- return null;
246
- case "number" /* Number */:
247
- if (value === "NaN") return NaN;
248
- if (value === "-0") return -0;
249
- if (value === "Infinity") return Infinity;
250
- if (value === "-Infinity") return -Infinity;
251
- return value;
252
- case "array" /* Array */:
253
- return value.map((item) => _RemoteValue.fromLocalValue(item));
254
- case "date" /* Date */:
255
- return new Date(value);
256
- case "map" /* Map */:
257
- const map2 = /* @__PURE__ */ new Map();
258
- for (const [key, val] of value) {
259
- const deserializedKey = typeof key === "object" && key !== null ? _RemoteValue.fromLocalValue(key) : key;
260
- const deserializedValue = _RemoteValue.fromLocalValue(val);
261
- map2.set(deserializedKey, deserializedValue);
262
- }
263
- return map2;
264
- case "object" /* Object */:
265
- const obj = {};
266
- for (const [key, val] of value) {
267
- obj[key] = _RemoteValue.fromLocalValue(val);
268
- }
269
- return obj;
270
- case "regexp" /* RegularExpression */:
271
- const { pattern, flags } = value;
272
- return new RegExp(pattern, flags);
273
- case "set" /* Set */:
274
- const set = /* @__PURE__ */ new Set();
275
- for (const item of value) {
276
- set.add(_RemoteValue.fromLocalValue(item));
277
- }
278
- return set;
279
- case "symbol" /* Symbol */:
280
- return Symbol(value);
281
- default:
282
- throw new Error(`Unsupported type: ${type}`);
283
- }
284
- }
285
- /**
286
- * Utility method to deserialize multiple LocalValues at once
287
- *
288
- * @param serializedValues Array of serialized LocalValue objects
289
- * @returns Array of deserialized JavaScript values
290
- */
291
- static fromLocalValueArray(serializedValues) {
292
- return serializedValues.map((value) => _RemoteValue.fromLocalValue(value));
293
- }
294
- /**
295
- * Verifies if the given object matches the structure of a serialized LocalValue
296
- *
297
- * @param obj Object to verify
298
- * @returns boolean indicating if the object has LocalValue structure
299
- */
300
- static isLocalValueObject(obj) {
301
- if (typeof obj !== "object" || obj === null) {
302
- return false;
303
- }
304
- if (!obj.hasOwnProperty(TYPE_CONSTANT)) {
305
- return false;
306
- }
307
- const type = obj[TYPE_CONSTANT];
308
- const hasTypeProperty = Object.values({ ...PrimitiveType, ...NonPrimitiveType }).includes(type);
309
- if (!hasTypeProperty) {
310
- return false;
311
- }
312
- if (type !== "null" /* Null */ && type !== "undefined" /* Undefined */) {
313
- return obj.hasOwnProperty(VALUE_CONSTANT);
314
- }
315
- return true;
316
- }
317
- };
318
-
319
208
  // src/utils/result.ts
320
209
  var result_exports = {};
321
210
  __export(result_exports, {
@@ -364,527 +253,6 @@ var unwrapErr = (result) => {
364
253
  throw result.value;
365
254
  }
366
255
  };
367
-
368
- // src/utils/serialize.ts
369
- function deserializeProperty(value) {
370
- if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) {
371
- return value;
372
- }
373
- return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
374
- }
375
- var updateFallbackSlotVisibility = (elm) => {
376
- const childNodes = internalCall(elm, "childNodes");
377
- if (elm.tagName && elm.tagName.includes("-") && elm["s-cr"] && elm.tagName !== "SLOT-FB") {
378
- getHostSlotNodes(childNodes, elm.tagName).forEach((slotNode) => {
379
- if (slotNode.nodeType === 1 /* ElementNode */ && slotNode.tagName === "SLOT-FB") {
380
- if (getSlotChildSiblings(slotNode, getSlotName(slotNode), false).length) {
381
- slotNode.hidden = true;
382
- } else {
383
- slotNode.hidden = false;
384
- }
385
- }
386
- });
387
- }
388
- let i2 = 0;
389
- for (i2 = 0; i2 < childNodes.length; i2++) {
390
- const childNode = childNodes[i2];
391
- if (childNode.nodeType === 1 /* ElementNode */ && internalCall(childNode, "childNodes").length) {
392
- updateFallbackSlotVisibility(childNode);
393
- }
394
- }
395
- };
396
- var getSlottedChildNodes = (childNodes) => {
397
- const result = [];
398
- for (let i2 = 0; i2 < childNodes.length; i2++) {
399
- const slottedNode = childNodes[i2]["s-nr"] || void 0;
400
- if (slottedNode && slottedNode.isConnected) {
401
- result.push(slottedNode);
402
- }
403
- }
404
- return result;
405
- };
406
- function getHostSlotNodes(childNodes, hostName, slotName) {
407
- let i2 = 0;
408
- let slottedNodes = [];
409
- let childNode;
410
- for (; i2 < childNodes.length; i2++) {
411
- childNode = childNodes[i2];
412
- if (childNode["s-sr"] && (!hostName || childNode["s-hn"] === hostName) && (slotName === void 0 || getSlotName(childNode) === slotName)) {
413
- slottedNodes.push(childNode);
414
- if (typeof slotName !== "undefined") return slottedNodes;
415
- }
416
- slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)];
417
- }
418
- return slottedNodes;
419
- }
420
- var getSlotChildSiblings = (slot, slotName, includeSlot = true) => {
421
- const childNodes = [];
422
- if (includeSlot && slot["s-sr"] || !slot["s-sr"]) childNodes.push(slot);
423
- let node = slot;
424
- while (node = node.nextSibling) {
425
- if (getSlotName(node) === slotName && (includeSlot || !node["s-sr"])) childNodes.push(node);
426
- }
427
- return childNodes;
428
- };
429
- var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
430
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
431
- if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
432
- return true;
433
- }
434
- if (nodeToRelocate.getAttribute("slot") === slotName) {
435
- return true;
436
- }
437
- return false;
438
- }
439
- if (nodeToRelocate["s-sn"] === slotName) {
440
- return true;
441
- }
442
- return slotName === "";
443
- };
444
- var addSlotRelocateNode = (newChild, slotNode, prepend, position) => {
445
- if (newChild["s-ol"] && newChild["s-ol"].isConnected) {
446
- return;
447
- }
448
- const slottedNodeLocation = document.createTextNode("");
449
- slottedNodeLocation["s-nr"] = newChild;
450
- if (!slotNode["s-cr"] || !slotNode["s-cr"].parentNode) return;
451
- const parent = slotNode["s-cr"].parentNode;
452
- const appendMethod = prepend ? internalCall(parent, "prepend") : internalCall(parent, "appendChild");
453
- if (typeof position !== "undefined") {
454
- slottedNodeLocation["s-oo"] = position;
455
- const childNodes = internalCall(parent, "childNodes");
456
- const slotRelocateNodes = [slottedNodeLocation];
457
- childNodes.forEach((n) => {
458
- if (n["s-nr"]) slotRelocateNodes.push(n);
459
- });
460
- slotRelocateNodes.sort((a, b) => {
461
- if (!a["s-oo"] || a["s-oo"] < (b["s-oo"] || 0)) return -1;
462
- else if (!b["s-oo"] || b["s-oo"] < a["s-oo"]) return 1;
463
- return 0;
464
- });
465
- slotRelocateNodes.forEach((n) => appendMethod.call(parent, n));
466
- } else {
467
- appendMethod.call(parent, slottedNodeLocation);
468
- }
469
- newChild["s-ol"] = slottedNodeLocation;
470
- newChild["s-sh"] = slotNode["s-hn"];
471
- };
472
- var getSlotName = (node) => typeof node["s-sn"] === "string" ? node["s-sn"] : node.nodeType === 1 && node.getAttribute("slot") || void 0;
473
- function patchSlotNode(node) {
474
- if (node.assignedElements || node.assignedNodes || !node["s-sr"]) return;
475
- const assignedFactory = (elementsOnly) => (function(opts) {
476
- const toReturn = [];
477
- const slotName = this["s-sn"];
478
- if (opts == null ? void 0 : opts.flatten) {
479
- console.error(`
480
- Flattening is not supported for Stencil non-shadow slots.
481
- You can use \`.childNodes\` to nested slot fallback content.
482
- If you have a particular use case, please open an issue on the Stencil repo.
483
- `);
484
- }
485
- const parent = this["s-cr"].parentElement;
486
- const slottedNodes = parent.__childNodes ? parent.childNodes : getSlottedChildNodes(parent.childNodes);
487
- slottedNodes.forEach((n) => {
488
- if (slotName === getSlotName(n)) {
489
- toReturn.push(n);
490
- }
491
- });
492
- if (elementsOnly) {
493
- return toReturn.filter((n) => n.nodeType === 1 /* ElementNode */);
494
- }
495
- return toReturn;
496
- }).bind(node);
497
- node.assignedElements = assignedFactory(true);
498
- node.assignedNodes = assignedFactory(false);
499
- }
500
- function dispatchSlotChangeEvent(elm) {
501
- elm.dispatchEvent(new CustomEvent("slotchange", { bubbles: false, cancelable: false, composed: false }));
502
- }
503
- function findSlotFromSlottedNode(slottedNode, parentHost) {
504
- var _a;
505
- parentHost = parentHost || ((_a = slottedNode["s-ol"]) == null ? void 0 : _a.parentElement);
506
- if (!parentHost) return { slotNode: null, slotName: "" };
507
- const slotName = slottedNode["s-sn"] = getSlotName(slottedNode) || "";
508
- const childNodes = internalCall(parentHost, "childNodes");
509
- const slotNode = getHostSlotNodes(childNodes, parentHost.tagName, slotName)[0];
510
- return { slotNode, slotName };
511
- }
512
-
513
- // src/runtime/dom-extras.ts
514
- var patchPseudoShadowDom = (hostElementPrototype) => {
515
- patchCloneNode(hostElementPrototype);
516
- patchSlotAppendChild(hostElementPrototype);
517
- patchSlotAppend(hostElementPrototype);
518
- patchSlotPrepend(hostElementPrototype);
519
- patchSlotInsertAdjacentElement(hostElementPrototype);
520
- patchSlotInsertAdjacentHTML(hostElementPrototype);
521
- patchSlotInsertAdjacentText(hostElementPrototype);
522
- patchInsertBefore(hostElementPrototype);
523
- patchTextContent(hostElementPrototype);
524
- patchChildSlotNodes(hostElementPrototype);
525
- patchSlotRemoveChild(hostElementPrototype);
526
- };
527
- var patchCloneNode = (HostElementPrototype) => {
528
- const orgCloneNode = HostElementPrototype.cloneNode;
529
- HostElementPrototype.cloneNode = function(deep) {
530
- const srcNode = this;
531
- const isShadowDom = srcNode.shadowRoot && supportsShadow ;
532
- const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);
533
- if (!isShadowDom && deep) {
534
- let i2 = 0;
535
- let slotted, nonStencilNode;
536
- const stencilPrivates = [
537
- "s-id",
538
- "s-cr",
539
- "s-lr",
540
- "s-rc",
541
- "s-sc",
542
- "s-p",
543
- "s-cn",
544
- "s-sr",
545
- "s-sn",
546
- "s-hn",
547
- "s-ol",
548
- "s-nr",
549
- "s-si",
550
- "s-rf",
551
- "s-scs"
552
- ];
553
- const childNodes = this.__childNodes || this.childNodes;
554
- for (; i2 < childNodes.length; i2++) {
555
- slotted = childNodes[i2]["s-nr"];
556
- nonStencilNode = stencilPrivates.every((privateField) => !childNodes[i2][privateField]);
557
- if (slotted) {
558
- if (clonedNode.__appendChild) {
559
- clonedNode.__appendChild(slotted.cloneNode(true));
560
- } else {
561
- clonedNode.appendChild(slotted.cloneNode(true));
562
- }
563
- }
564
- if (nonStencilNode) {
565
- clonedNode.appendChild(childNodes[i2].cloneNode(true));
566
- }
567
- }
568
- }
569
- return clonedNode;
570
- };
571
- };
572
- var patchSlotAppendChild = (HostElementPrototype) => {
573
- HostElementPrototype.__appendChild = HostElementPrototype.appendChild;
574
- HostElementPrototype.appendChild = function(newChild) {
575
- const { slotName, slotNode } = findSlotFromSlottedNode(newChild, this);
576
- if (slotNode) {
577
- addSlotRelocateNode(newChild, slotNode);
578
- const slotChildNodes = getSlotChildSiblings(slotNode, slotName);
579
- const appendAfter = slotChildNodes[slotChildNodes.length - 1];
580
- const parent = internalCall(appendAfter, "parentNode");
581
- const insertedNode = internalCall(parent, "insertBefore")(newChild, appendAfter.nextSibling);
582
- dispatchSlotChangeEvent(slotNode);
583
- updateFallbackSlotVisibility(this);
584
- return insertedNode;
585
- }
586
- return this.__appendChild(newChild);
587
- };
588
- };
589
- var patchSlotRemoveChild = (ElementPrototype) => {
590
- ElementPrototype.__removeChild = ElementPrototype.removeChild;
591
- ElementPrototype.removeChild = function(toRemove) {
592
- if (toRemove && typeof toRemove["s-sn"] !== "undefined") {
593
- const childNodes = this.__childNodes || this.childNodes;
594
- const slotNode = getHostSlotNodes(childNodes, this.tagName, toRemove["s-sn"]);
595
- if (slotNode && toRemove.isConnected) {
596
- toRemove.remove();
597
- updateFallbackSlotVisibility(this);
598
- return;
599
- }
600
- }
601
- return this.__removeChild(toRemove);
602
- };
603
- };
604
- var patchSlotPrepend = (HostElementPrototype) => {
605
- HostElementPrototype.__prepend = HostElementPrototype.prepend;
606
- HostElementPrototype.prepend = function(...newChildren) {
607
- newChildren.forEach((newChild) => {
608
- if (typeof newChild === "string") {
609
- newChild = this.ownerDocument.createTextNode(newChild);
610
- }
611
- const slotName = (newChild["s-sn"] = getSlotName(newChild)) || "";
612
- const childNodes = internalCall(this, "childNodes");
613
- const slotNode = getHostSlotNodes(childNodes, this.tagName, slotName)[0];
614
- if (slotNode) {
615
- addSlotRelocateNode(newChild, slotNode, true);
616
- const slotChildNodes = getSlotChildSiblings(slotNode, slotName);
617
- const appendAfter = slotChildNodes[0];
618
- const parent = internalCall(appendAfter, "parentNode");
619
- const toReturn = internalCall(parent, "insertBefore")(newChild, internalCall(appendAfter, "nextSibling"));
620
- dispatchSlotChangeEvent(slotNode);
621
- return toReturn;
622
- }
623
- if (newChild.nodeType === 1 && !!newChild.getAttribute("slot")) {
624
- newChild.hidden = true;
625
- }
626
- return HostElementPrototype.__prepend(newChild);
627
- });
628
- };
629
- };
630
- var patchSlotAppend = (HostElementPrototype) => {
631
- HostElementPrototype.__append = HostElementPrototype.append;
632
- HostElementPrototype.append = function(...newChildren) {
633
- newChildren.forEach((newChild) => {
634
- if (typeof newChild === "string") {
635
- newChild = this.ownerDocument.createTextNode(newChild);
636
- }
637
- this.appendChild(newChild);
638
- });
639
- };
640
- };
641
- var patchSlotInsertAdjacentHTML = (HostElementPrototype) => {
642
- const originalInsertAdjacentHtml = HostElementPrototype.insertAdjacentHTML;
643
- HostElementPrototype.insertAdjacentHTML = function(position, text) {
644
- if (position !== "afterbegin" && position !== "beforeend") {
645
- return originalInsertAdjacentHtml.call(this, position, text);
646
- }
647
- const container = this.ownerDocument.createElement("_");
648
- let node;
649
- container.innerHTML = text;
650
- if (position === "afterbegin") {
651
- while (node = container.firstChild) {
652
- this.prepend(node);
653
- }
654
- } else if (position === "beforeend") {
655
- while (node = container.firstChild) {
656
- this.append(node);
657
- }
658
- }
659
- };
660
- };
661
- var patchSlotInsertAdjacentText = (HostElementPrototype) => {
662
- HostElementPrototype.insertAdjacentText = function(position, text) {
663
- this.insertAdjacentHTML(position, text);
664
- };
665
- };
666
- var patchInsertBefore = (HostElementPrototype) => {
667
- const eleProto = HostElementPrototype;
668
- if (eleProto.__insertBefore) return;
669
- eleProto.__insertBefore = HostElementPrototype.insertBefore;
670
- HostElementPrototype.insertBefore = function(newChild, currentChild) {
671
- const { slotName, slotNode } = findSlotFromSlottedNode(newChild, this);
672
- const slottedNodes = this.__childNodes ? this.childNodes : getSlottedChildNodes(this.childNodes);
673
- if (slotNode) {
674
- let found = false;
675
- slottedNodes.forEach((childNode) => {
676
- if (childNode === currentChild || currentChild === null) {
677
- found = true;
678
- if (currentChild === null || slotName !== currentChild["s-sn"]) {
679
- this.appendChild(newChild);
680
- return;
681
- }
682
- if (slotName === currentChild["s-sn"]) {
683
- addSlotRelocateNode(newChild, slotNode);
684
- const parent = internalCall(currentChild, "parentNode");
685
- internalCall(parent, "insertBefore")(newChild, currentChild);
686
- dispatchSlotChangeEvent(slotNode);
687
- }
688
- return;
689
- }
690
- });
691
- if (found) return newChild;
692
- }
693
- const parentNode = currentChild == null ? void 0 : currentChild.__parentNode;
694
- if (parentNode && !this.isSameNode(parentNode)) {
695
- return this.appendChild(newChild);
696
- }
697
- return this.__insertBefore(newChild, currentChild);
698
- };
699
- };
700
- var patchSlotInsertAdjacentElement = (HostElementPrototype) => {
701
- const originalInsertAdjacentElement = HostElementPrototype.insertAdjacentElement;
702
- HostElementPrototype.insertAdjacentElement = function(position, element) {
703
- if (position !== "afterbegin" && position !== "beforeend") {
704
- return originalInsertAdjacentElement.call(this, position, element);
705
- }
706
- if (position === "afterbegin") {
707
- this.prepend(element);
708
- return element;
709
- } else if (position === "beforeend") {
710
- this.append(element);
711
- return element;
712
- }
713
- return element;
714
- };
715
- };
716
- var patchTextContent = (hostElementPrototype) => {
717
- patchHostOriginalAccessor("textContent", hostElementPrototype);
718
- Object.defineProperty(hostElementPrototype, "textContent", {
719
- get: function() {
720
- let text = "";
721
- const childNodes = this.__childNodes ? this.childNodes : getSlottedChildNodes(this.childNodes);
722
- childNodes.forEach((node) => text += node.textContent || "");
723
- return text;
724
- },
725
- set: function(value) {
726
- const childNodes = this.__childNodes ? this.childNodes : getSlottedChildNodes(this.childNodes);
727
- childNodes.forEach((node) => {
728
- if (node["s-ol"]) node["s-ol"].remove();
729
- node.remove();
730
- });
731
- this.insertAdjacentHTML("beforeend", value);
732
- }
733
- });
734
- };
735
- var patchChildSlotNodes = (elm) => {
736
- class FakeNodeList extends Array {
737
- item(n) {
738
- return this[n];
739
- }
740
- }
741
- patchHostOriginalAccessor("children", elm);
742
- Object.defineProperty(elm, "children", {
743
- get() {
744
- return this.childNodes.filter((n) => n.nodeType === 1);
745
- }
746
- });
747
- Object.defineProperty(elm, "childElementCount", {
748
- get() {
749
- return this.children.length;
750
- }
751
- });
752
- patchHostOriginalAccessor("firstChild", elm);
753
- Object.defineProperty(elm, "firstChild", {
754
- get() {
755
- return this.childNodes[0];
756
- }
757
- });
758
- patchHostOriginalAccessor("lastChild", elm);
759
- Object.defineProperty(elm, "lastChild", {
760
- get() {
761
- return this.childNodes[this.childNodes.length - 1];
762
- }
763
- });
764
- patchHostOriginalAccessor("childNodes", elm);
765
- Object.defineProperty(elm, "childNodes", {
766
- get() {
767
- const result = new FakeNodeList();
768
- result.push(...getSlottedChildNodes(this.__childNodes));
769
- return result;
770
- }
771
- });
772
- };
773
- var patchSlottedNode = (node) => {
774
- if (!node || node.__nextSibling !== void 0 || !globalThis.Node) return;
775
- patchNextSibling(node);
776
- patchPreviousSibling(node);
777
- patchParentNode(node);
778
- if (node.nodeType === Node.ELEMENT_NODE) {
779
- patchNextElementSibling(node);
780
- patchPreviousElementSibling(node);
781
- }
782
- };
783
- var patchNextSibling = (node) => {
784
- if (!node || node.__nextSibling) return;
785
- patchHostOriginalAccessor("nextSibling", node);
786
- Object.defineProperty(node, "nextSibling", {
787
- get: function() {
788
- var _a;
789
- const parentNodes = (_a = this["s-ol"]) == null ? void 0 : _a.parentNode.childNodes;
790
- const index = parentNodes == null ? void 0 : parentNodes.indexOf(this);
791
- if (parentNodes && index > -1) {
792
- return parentNodes[index + 1];
793
- }
794
- return this.__nextSibling;
795
- }
796
- });
797
- };
798
- var patchNextElementSibling = (element) => {
799
- if (!element || element.__nextElementSibling) return;
800
- patchHostOriginalAccessor("nextElementSibling", element);
801
- Object.defineProperty(element, "nextElementSibling", {
802
- get: function() {
803
- var _a;
804
- const parentEles = (_a = this["s-ol"]) == null ? void 0 : _a.parentNode.children;
805
- const index = parentEles == null ? void 0 : parentEles.indexOf(this);
806
- if (parentEles && index > -1) {
807
- return parentEles[index + 1];
808
- }
809
- return this.__nextElementSibling;
810
- }
811
- });
812
- };
813
- var patchPreviousSibling = (node) => {
814
- if (!node || node.__previousSibling) return;
815
- patchHostOriginalAccessor("previousSibling", node);
816
- Object.defineProperty(node, "previousSibling", {
817
- get: function() {
818
- var _a;
819
- const parentNodes = (_a = this["s-ol"]) == null ? void 0 : _a.parentNode.childNodes;
820
- const index = parentNodes == null ? void 0 : parentNodes.indexOf(this);
821
- if (parentNodes && index > -1) {
822
- return parentNodes[index - 1];
823
- }
824
- return this.__previousSibling;
825
- }
826
- });
827
- };
828
- var patchPreviousElementSibling = (element) => {
829
- if (!element || element.__previousElementSibling) return;
830
- patchHostOriginalAccessor("previousElementSibling", element);
831
- Object.defineProperty(element, "previousElementSibling", {
832
- get: function() {
833
- var _a;
834
- const parentNodes = (_a = this["s-ol"]) == null ? void 0 : _a.parentNode.children;
835
- const index = parentNodes == null ? void 0 : parentNodes.indexOf(this);
836
- if (parentNodes && index > -1) {
837
- return parentNodes[index - 1];
838
- }
839
- return this.__previousElementSibling;
840
- }
841
- });
842
- };
843
- var patchParentNode = (node) => {
844
- if (!node || node.__parentNode) return;
845
- patchHostOriginalAccessor("parentNode", node);
846
- Object.defineProperty(node, "parentNode", {
847
- get: function() {
848
- var _a;
849
- return ((_a = this["s-ol"]) == null ? void 0 : _a.parentNode) || this.__parentNode;
850
- },
851
- set: function(value) {
852
- this.__parentNode = value;
853
- }
854
- });
855
- };
856
- var validElementPatches = ["children", "nextElementSibling", "previousElementSibling"];
857
- var validNodesPatches = [
858
- "childNodes",
859
- "firstChild",
860
- "lastChild",
861
- "nextSibling",
862
- "previousSibling",
863
- "textContent",
864
- "parentNode"
865
- ];
866
- function patchHostOriginalAccessor(accessorName, node) {
867
- let accessor;
868
- if (validElementPatches.includes(accessorName)) {
869
- accessor = Object.getOwnPropertyDescriptor(Element.prototype, accessorName);
870
- } else if (validNodesPatches.includes(accessorName)) {
871
- accessor = Object.getOwnPropertyDescriptor(Node.prototype, accessorName);
872
- }
873
- if (!accessor) {
874
- accessor = Object.getOwnPropertyDescriptor(node, accessorName);
875
- }
876
- if (accessor) Object.defineProperty(node, "__" + accessorName, accessor);
877
- }
878
- function internalCall(node, method) {
879
- if ("__" + method in node) {
880
- const toReturn = node["__" + method];
881
- if (typeof toReturn !== "function") return toReturn;
882
- return toReturn.bind(node);
883
- } else {
884
- if (typeof node[method] !== "function") return node[method];
885
- return node[method].bind(node);
886
- }
887
- }
888
256
  var createTime = (fnName, tagName = "") => {
889
257
  {
890
258
  return () => {
@@ -1013,166 +381,54 @@ var convertToPrivate = (node) => {
1013
381
 
1014
382
  // src/runtime/client-hydrate.ts
1015
383
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1016
- var _a;
1017
384
  const endHydrate = createTime("hydrateClient", tagName);
1018
385
  const shadowRoot = hostElm.shadowRoot;
1019
386
  const childRenderNodes = [];
1020
387
  const slotNodes = [];
1021
- const slottedNodes = [];
1022
388
  const shadowRootNodes = shadowRoot ? [] : null;
1023
- const vnode = newVNode(tagName, null);
1024
- vnode.$elm$ = hostElm;
1025
- const members = Object.entries(((_a = hostRef.$cmpMeta$) == null ? void 0 : _a.$members$) || {});
1026
- members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
1027
- var _a2;
1028
- if (!(memberFlags & 31 /* Prop */)) {
1029
- return;
1030
- }
1031
- const attributeName = metaAttributeName || memberName;
1032
- const attrVal = hostElm.getAttribute(attributeName);
1033
- if (attrVal !== null) {
1034
- const attrPropVal = parsePropertyValue(attrVal, memberFlags);
1035
- (_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.set(memberName, attrPropVal);
1036
- }
1037
- });
1038
- let scopeId2;
1039
- {
1040
- const cmpMeta = hostRef.$cmpMeta$;
1041
- if (cmpMeta && cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */ && hostElm["s-sc"]) {
1042
- scopeId2 = hostElm["s-sc"];
1043
- hostElm.classList.add(scopeId2 + "-h");
1044
- } else if (hostElm["s-sc"]) {
1045
- delete hostElm["s-sc"];
1046
- }
1047
- }
1048
- if (win.document && (!plt.$orgLocNodes$ || !plt.$orgLocNodes$.size)) {
1049
- initializeDocumentHydrate(win.document.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
389
+ const vnode = hostRef.$vnode$ = newVNode(tagName, null);
390
+ if (!plt.$orgLocNodes$) {
391
+ initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
1050
392
  }
1051
393
  hostElm[HYDRATE_ID] = hostId;
1052
394
  hostElm.removeAttribute(HYDRATE_ID);
1053
- hostRef.$vnode$ = clientHydrate(
1054
- vnode,
1055
- childRenderNodes,
1056
- slotNodes,
1057
- shadowRootNodes,
1058
- hostElm,
1059
- hostElm,
1060
- hostId,
1061
- slottedNodes
1062
- );
1063
- let crIndex = 0;
1064
- const crLength = childRenderNodes.length;
1065
- let childRenderNode;
1066
- for (crIndex; crIndex < crLength; crIndex++) {
1067
- childRenderNode = childRenderNodes[crIndex];
1068
- const orgLocationId = childRenderNode.$hostId$ + "." + childRenderNode.$nodeId$;
395
+ clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId);
396
+ childRenderNodes.map((c) => {
397
+ const orgLocationId = c.$hostId$ + "." + c.$nodeId$;
1069
398
  const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
1070
- const node = childRenderNode.$elm$;
1071
- if (!shadowRoot) {
1072
- node["s-hn"] = tagName.toUpperCase();
1073
- if (childRenderNode.$tag$ === "slot") {
1074
- node["s-cr"] = hostElm["s-cr"];
1075
- }
1076
- }
1077
- if (childRenderNode.$tag$ === "slot") {
1078
- childRenderNode.$name$ = childRenderNode.$elm$["s-sn"] || childRenderNode.$elm$["name"] || null;
1079
- if (childRenderNode.$children$) {
1080
- childRenderNode.$flags$ |= 2 /* isSlotFallback */;
1081
- if (!childRenderNode.$elm$.childNodes.length) {
1082
- childRenderNode.$children$.forEach((c) => {
1083
- childRenderNode.$elm$.appendChild(c.$elm$);
1084
- });
1085
- }
1086
- } else {
1087
- childRenderNode.$flags$ |= 1 /* isSlotReference */;
1088
- }
399
+ const node = c.$elm$;
400
+ if (orgLocationNode && supportsShadow && orgLocationNode["s-en"] === "") {
401
+ orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
1089
402
  }
1090
- if (orgLocationNode && orgLocationNode.isConnected) {
1091
- if (shadowRoot && orgLocationNode["s-en"] === "") {
1092
- orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
1093
- }
1094
- orgLocationNode.parentNode.removeChild(orgLocationNode);
1095
- if (!shadowRoot) {
1096
- node["s-oo"] = parseInt(childRenderNode.$nodeId$);
403
+ if (!shadowRoot) {
404
+ node["s-hn"] = tagName;
405
+ if (orgLocationNode) {
406
+ node["s-ol"] = orgLocationNode;
407
+ node["s-ol"]["s-nr"] = node;
1097
408
  }
1098
409
  }
1099
410
  plt.$orgLocNodes$.delete(orgLocationId);
1100
- }
1101
- const hosts = [];
1102
- const snLen = slottedNodes.length;
1103
- let snIndex = 0;
1104
- let slotGroup;
1105
- let snGroupIdx;
1106
- let snGroupLen;
1107
- let slottedItem;
1108
- for (snIndex; snIndex < snLen; snIndex++) {
1109
- slotGroup = slottedNodes[snIndex];
1110
- if (!slotGroup || !slotGroup.length) continue;
1111
- snGroupLen = slotGroup.length;
1112
- snGroupIdx = 0;
1113
- for (snGroupIdx; snGroupIdx < snGroupLen; snGroupIdx++) {
1114
- slottedItem = slotGroup[snGroupIdx];
1115
- if (!hosts[slottedItem.hostId]) {
1116
- hosts[slottedItem.hostId] = plt.$orgLocNodes$.get(slottedItem.hostId);
1117
- }
1118
- if (!hosts[slottedItem.hostId]) continue;
1119
- const hostEle = hosts[slottedItem.hostId];
1120
- if (!hostEle.shadowRoot || !shadowRoot) {
1121
- slottedItem.slot["s-cr"] = hostEle["s-cr"];
1122
- if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
1123
- slottedItem.slot["s-cr"] = hostEle;
1124
- } else {
1125
- slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
1126
- }
1127
- addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
1128
- {
1129
- patchSlottedNode(slottedItem.node);
1130
- }
1131
- }
1132
- if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1133
- hostEle.appendChild(slottedItem.node);
411
+ });
412
+ if (shadowRoot) {
413
+ shadowRootNodes.map((shadowRootNode) => {
414
+ if (shadowRootNode) {
415
+ shadowRoot.appendChild(shadowRootNode);
1134
416
  }
1135
- }
1136
- }
1137
- if (scopeId2 && slotNodes.length) {
1138
- slotNodes.forEach((slot) => {
1139
- slot.$elm$.parentElement.classList.add(scopeId2 + "-s");
1140
417
  });
1141
418
  }
1142
- if (shadowRoot && !shadowRoot.childNodes.length) {
1143
- let rnIdex = 0;
1144
- const rnLen = shadowRootNodes.length;
1145
- if (rnLen) {
1146
- for (rnIdex; rnIdex < rnLen; rnIdex++) {
1147
- shadowRoot.appendChild(shadowRootNodes[rnIdex]);
1148
- }
1149
- Array.from(hostElm.childNodes).forEach((node) => {
1150
- if (typeof node["s-sn"] !== "string") {
1151
- if (node.nodeType === 1 /* ElementNode */ && node.slot && node.hidden) {
1152
- node.removeAttribute("hidden");
1153
- } else if (node.nodeType === 8 /* CommentNode */ || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1154
- node.parentNode.removeChild(node);
1155
- }
1156
- }
1157
- });
1158
- }
1159
- }
1160
- plt.$orgLocNodes$.delete(hostElm["s-id"]);
1161
- hostRef.$hostElement$ = hostElm;
1162
419
  endHydrate();
1163
420
  };
1164
- var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId, slottedNodes = []) => {
421
+ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) => {
1165
422
  let childNodeType;
1166
423
  let childIdSplt;
1167
424
  let childVNode;
1168
425
  let i2;
1169
- const scopeId2 = hostElm["s-sc"];
1170
426
  if (node.nodeType === 1 /* ElementNode */) {
1171
427
  childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
1172
428
  if (childNodeType) {
1173
429
  childIdSplt = childNodeType.split(".");
1174
430
  if (childIdSplt[0] === hostId || childIdSplt[0] === "0") {
1175
- childVNode = createSimpleVNode({
431
+ childVNode = {
1176
432
  $flags$: 0,
1177
433
  $hostId$: childIdSplt[0],
1178
434
  $nodeId$: childIdSplt[1],
@@ -1180,43 +436,18 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
1180
436
  $index$: childIdSplt[3],
1181
437
  $tag$: node.tagName.toLowerCase(),
1182
438
  $elm$: node,
1183
- // If we don't add the initial classes to the VNode, the first `vdom-render.ts` patch
1184
- // won't try to reconcile them. Classes set on the node will be blown away.
1185
- $attrs$: { class: node.className || "" }
1186
- });
439
+ $attrs$: null,
440
+ $children$: null,
441
+ $key$: null,
442
+ $name$: null,
443
+ $text$: null
444
+ };
1187
445
  childRenderNodes.push(childVNode);
1188
446
  node.removeAttribute(HYDRATE_CHILD_ID);
1189
447
  if (!parentVNode.$children$) {
1190
448
  parentVNode.$children$ = [];
1191
449
  }
1192
- if (scopeId2) {
1193
- node["s-si"] = scopeId2;
1194
- childVNode.$attrs$.class += " " + scopeId2;
1195
- }
1196
- const slotName = childVNode.$elm$.getAttribute("s-sn");
1197
- if (typeof slotName === "string") {
1198
- if (childVNode.$tag$ === "slot-fb") {
1199
- addSlot(
1200
- slotName,
1201
- childIdSplt[2],
1202
- childVNode,
1203
- node,
1204
- parentVNode,
1205
- childRenderNodes,
1206
- slotNodes,
1207
- shadowRootNodes,
1208
- slottedNodes
1209
- );
1210
- if (scopeId2) {
1211
- node.classList.add(scopeId2);
1212
- }
1213
- }
1214
- childVNode.$elm$["s-sn"] = slotName;
1215
- childVNode.$elm$.removeAttribute("s-sn");
1216
- }
1217
- if (childVNode.$index$ !== void 0) {
1218
- parentVNode.$children$[childVNode.$index$] = childVNode;
1219
- }
450
+ parentVNode.$children$[childVNode.$index$] = childVNode;
1220
451
  parentVNode = childVNode;
1221
452
  if (shadowRootNodes && childVNode.$depth$ === "0") {
1222
453
  shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
@@ -1232,33 +463,31 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
1232
463
  shadowRootNodes,
1233
464
  hostElm,
1234
465
  node.shadowRoot.childNodes[i2],
1235
- hostId,
1236
- slottedNodes
466
+ hostId
1237
467
  );
1238
468
  }
1239
469
  }
1240
- const nonShadowNodes = node.__childNodes || node.childNodes;
1241
- for (i2 = nonShadowNodes.length - 1; i2 >= 0; i2--) {
470
+ for (i2 = node.childNodes.length - 1; i2 >= 0; i2--) {
1242
471
  clientHydrate(
1243
472
  parentVNode,
1244
473
  childRenderNodes,
1245
474
  slotNodes,
1246
475
  shadowRootNodes,
1247
476
  hostElm,
1248
- nonShadowNodes[i2],
1249
- hostId,
1250
- slottedNodes
477
+ node.childNodes[i2],
478
+ hostId
1251
479
  );
1252
480
  }
1253
481
  } else if (node.nodeType === 8 /* CommentNode */) {
1254
482
  childIdSplt = node.nodeValue.split(".");
1255
483
  if (childIdSplt[1] === hostId || childIdSplt[1] === "0") {
1256
484
  childNodeType = childIdSplt[0];
1257
- childVNode = createSimpleVNode({
485
+ childVNode = {
486
+ $flags$: 0,
1258
487
  $hostId$: childIdSplt[1],
1259
488
  $nodeId$: childIdSplt[2],
1260
489
  $depth$: childIdSplt[3],
1261
- $index$: childIdSplt[4] || "0",
490
+ $index$: childIdSplt[4],
1262
491
  $elm$: node,
1263
492
  $attrs$: null,
1264
493
  $children$: null,
@@ -1266,43 +495,46 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
1266
495
  $name$: null,
1267
496
  $tag$: null,
1268
497
  $text$: null
1269
- });
498
+ };
1270
499
  if (childNodeType === TEXT_NODE_ID) {
1271
- childVNode.$elm$ = findCorrespondingNode(node, 3 /* TextNode */);
500
+ childVNode.$elm$ = node.nextSibling;
1272
501
  if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {
1273
502
  childVNode.$text$ = childVNode.$elm$.textContent;
1274
503
  childRenderNodes.push(childVNode);
1275
504
  node.remove();
1276
- if (hostId === childVNode.$hostId$) {
1277
- if (!parentVNode.$children$) {
1278
- parentVNode.$children$ = [];
1279
- }
1280
- parentVNode.$children$[childVNode.$index$] = childVNode;
505
+ if (!parentVNode.$children$) {
506
+ parentVNode.$children$ = [];
1281
507
  }
508
+ parentVNode.$children$[childVNode.$index$] = childVNode;
1282
509
  if (shadowRootNodes && childVNode.$depth$ === "0") {
1283
510
  shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1284
511
  }
1285
512
  }
1286
- } else if (childNodeType === COMMENT_NODE_ID) {
1287
- childVNode.$elm$ = findCorrespondingNode(node, 8 /* CommentNode */);
1288
- if (childVNode.$elm$ && childVNode.$elm$.nodeType === 8 /* CommentNode */) {
1289
- childRenderNodes.push(childVNode);
1290
- node.remove();
1291
- }
1292
513
  } else if (childVNode.$hostId$ === hostId) {
1293
514
  if (childNodeType === SLOT_NODE_ID) {
1294
- const slotName = node["s-sn"] = childIdSplt[5] || "";
1295
- addSlot(
1296
- slotName,
1297
- childIdSplt[2],
1298
- childVNode,
1299
- node,
1300
- parentVNode,
1301
- childRenderNodes,
1302
- slotNodes,
1303
- shadowRootNodes,
1304
- slottedNodes
1305
- );
515
+ childVNode.$tag$ = "slot";
516
+ if (childIdSplt[5]) {
517
+ node["s-sn"] = childVNode.$name$ = childIdSplt[5];
518
+ } else {
519
+ node["s-sn"] = "";
520
+ }
521
+ node["s-sr"] = true;
522
+ if (shadowRootNodes) {
523
+ childVNode.$elm$ = doc.createElement(childVNode.$tag$);
524
+ if (childVNode.$name$) {
525
+ childVNode.$elm$.setAttribute("name", childVNode.$name$);
526
+ }
527
+ node.parentNode.insertBefore(childVNode.$elm$, node);
528
+ node.remove();
529
+ if (childVNode.$depth$ === "0") {
530
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
531
+ }
532
+ }
533
+ slotNodes.push(childVNode);
534
+ if (!parentVNode.$children$) {
535
+ parentVNode.$children$ = [];
536
+ }
537
+ parentVNode.$children$[childVNode.$index$] = childVNode;
1306
538
  } else if (childNodeType === CONTENT_REF_ID) {
1307
539
  if (shadowRootNodes) {
1308
540
  node.remove();
@@ -1318,28 +550,18 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
1318
550
  vnode.$elm$ = node;
1319
551
  vnode.$index$ = "0";
1320
552
  parentVNode.$children$ = [vnode];
1321
- } else {
1322
- if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1323
- node.remove();
1324
- }
1325
553
  }
1326
- return parentVNode;
1327
554
  };
1328
555
  var initializeDocumentHydrate = (node, orgLocNodes) => {
1329
556
  if (node.nodeType === 1 /* ElementNode */) {
1330
- const componentId = node[HYDRATE_ID] || node.getAttribute(HYDRATE_ID);
1331
- if (componentId) {
1332
- orgLocNodes.set(componentId, node);
1333
- }
1334
557
  let i2 = 0;
1335
558
  if (node.shadowRoot) {
1336
559
  for (; i2 < node.shadowRoot.childNodes.length; i2++) {
1337
560
  initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);
1338
561
  }
1339
562
  }
1340
- const nonShadowNodes = node.__childNodes || node.childNodes;
1341
- for (i2 = 0; i2 < nonShadowNodes.length; i2++) {
1342
- initializeDocumentHydrate(nonShadowNodes[i2], orgLocNodes);
563
+ for (i2 = 0; i2 < node.childNodes.length; i2++) {
564
+ initializeDocumentHydrate(node.childNodes[i2], orgLocNodes);
1343
565
  }
1344
566
  } else if (node.nodeType === 8 /* CommentNode */) {
1345
567
  const childIdSplt = node.nodeValue.split(".");
@@ -1350,98 +572,18 @@ var initializeDocumentHydrate = (node, orgLocNodes) => {
1350
572
  }
1351
573
  }
1352
574
  };
1353
- var createSimpleVNode = (vnode) => {
1354
- const defaultVNode = {
1355
- $flags$: 0,
1356
- $hostId$: null,
1357
- $nodeId$: null,
1358
- $depth$: null,
1359
- $index$: "0",
1360
- $elm$: null,
1361
- $attrs$: null,
1362
- $children$: null,
1363
- $key$: null,
1364
- $name$: null,
1365
- $tag$: null,
1366
- $text$: null
1367
- };
1368
- return { ...defaultVNode, ...vnode };
1369
- };
1370
- function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes) {
1371
- node["s-sr"] = true;
1372
- childVNode.$name$ = slotName || null;
1373
- childVNode.$tag$ = "slot";
1374
- const parentNodeId = (parentVNode == null ? void 0 : parentVNode.$elm$) ? parentVNode.$elm$["s-id"] || parentVNode.$elm$.getAttribute("s-id") : "";
1375
- if (shadowRootNodes && win.document) {
1376
- const slot = childVNode.$elm$ = win.document.createElement(childVNode.$tag$);
1377
- if (childVNode.$name$) {
1378
- childVNode.$elm$.setAttribute("name", slotName);
1379
- }
1380
- if (parentNodeId && parentNodeId !== childVNode.$hostId$) {
1381
- parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1382
- } else {
1383
- node.parentNode.insertBefore(childVNode.$elm$, node);
1384
- }
1385
- addSlottedNodes(slottedNodes, slotId, slotName, node, childVNode.$hostId$);
1386
- node.remove();
1387
- if (childVNode.$depth$ === "0") {
1388
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1389
- }
1390
- } else {
1391
- const slot = childVNode.$elm$;
1392
- const shouldMove = parentNodeId && parentNodeId !== childVNode.$hostId$ && parentVNode.$elm$.shadowRoot;
1393
- addSlottedNodes(slottedNodes, slotId, slotName, node, shouldMove ? parentNodeId : childVNode.$hostId$);
1394
- patchSlotNode(node);
1395
- if (shouldMove) {
1396
- parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1397
- }
1398
- childRenderNodes.push(childVNode);
1399
- }
1400
- slotNodes.push(childVNode);
1401
- if (!parentVNode.$children$) {
1402
- parentVNode.$children$ = [];
1403
- }
1404
- parentVNode.$children$[childVNode.$index$] = childVNode;
1405
- }
1406
- var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1407
- let slottedNode = slotNode.nextSibling;
1408
- slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
1409
- 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 */))) {
1410
- slottedNode["s-sn"] = slotName;
1411
- slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
1412
- slottedNode = slottedNode.nextSibling;
1413
- }
1414
- };
1415
- var findCorrespondingNode = (node, type) => {
1416
- let sibling = node;
1417
- do {
1418
- sibling = sibling.nextSibling;
1419
- } while (sibling && (sibling.nodeType !== type || !sibling.nodeValue));
1420
- return sibling;
1421
- };
1422
575
 
1423
576
  // src/runtime/mode.ts
1424
577
  var computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);
1425
578
  var setMode = (handler) => modeResolutionChain.push(handler);
1426
579
  var getMode = (ref) => getHostRef(ref).$modeName$;
1427
580
  var parsePropertyValue = (propValue, propType) => {
1428
- if (typeof propValue === "string" && (propValue.startsWith("{") && propValue.endsWith("}") || propValue.startsWith("[") && propValue.endsWith("]"))) {
1429
- try {
1430
- propValue = JSON.parse(propValue);
1431
- return propValue;
1432
- } catch (e) {
1433
- }
1434
- }
1435
- if (typeof propValue === "string" && propValue.startsWith(SERIALIZED_PREFIX)) {
1436
- propValue = deserializeProperty(propValue);
1437
- return propValue;
1438
- }
1439
581
  if (propValue != null && !isComplexType(propValue)) {
1440
582
  if (propType & 4 /* Boolean */) {
1441
583
  return propValue === "false" ? false : propValue === "" || !!propValue;
1442
584
  }
1443
585
  if (propType & 2 /* Number */) {
1444
- return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
586
+ return parseFloat(propValue);
1445
587
  }
1446
588
  if (propType & 1 /* String */) {
1447
589
  return String(propValue);
@@ -1490,10 +632,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
1490
632
  var _a;
1491
633
  const scopeId2 = getScopeId(cmpMeta, mode);
1492
634
  const style = styles.get(scopeId2);
1493
- if (!win.document) {
1494
- return scopeId2;
1495
- }
1496
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
635
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
1497
636
  if (style) {
1498
637
  if (typeof style === "string") {
1499
638
  styleContainerNode = styleContainerNode.head || styleContainerNode;
@@ -1506,39 +645,23 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
1506
645
  if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1507
646
  styleElm.innerHTML = style;
1508
647
  } else {
1509
- styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || win.document.createElement("style");
648
+ styleElm = doc.createElement("style");
1510
649
  styleElm.innerHTML = style;
1511
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
650
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
1512
651
  if (nonce != null) {
1513
652
  styleElm.setAttribute("nonce", nonce);
1514
653
  }
1515
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1516
- if (styleContainerNode.nodeName === "HEAD") {
1517
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1518
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1519
- styleContainerNode.insertBefore(
1520
- styleElm,
1521
- (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
1522
- );
1523
- } else if ("host" in styleContainerNode) {
1524
- if (supportsConstructableStylesheets) {
1525
- const stylesheet = new CSSStyleSheet();
1526
- stylesheet.replaceSync(style);
1527
- styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
1528
- } else {
1529
- const existingStyleContainer = styleContainerNode.querySelector("style");
1530
- if (existingStyleContainer) {
1531
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1532
- } else {
1533
- styleContainerNode.prepend(styleElm);
1534
- }
1535
- }
1536
- } else {
1537
- styleContainerNode.append(styleElm);
1538
- }
1539
- }
1540
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1541
- styleContainerNode.insertBefore(styleElm, null);
654
+ const injectStyle = (
655
+ /**
656
+ * we render a scoped component
657
+ */
658
+ !(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) || /**
659
+ * we are using shadow dom and render the style tag within the shadowRoot
660
+ */
661
+ cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD"
662
+ );
663
+ if (injectStyle) {
664
+ styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector("link"));
1542
665
  }
1543
666
  }
1544
667
  if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
@@ -1564,177 +687,131 @@ var attachStyles = (hostRef) => {
1564
687
  cmpMeta,
1565
688
  hostRef.$modeName$
1566
689
  );
1567
- if (flags & 10 /* needsScopedEncapsulation */) {
690
+ if (flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {
1568
691
  elm["s-sc"] = scopeId2;
1569
692
  elm.classList.add(scopeId2 + "-h");
693
+ if (flags & 2 /* scopedCssEncapsulation */) {
694
+ elm.classList.add(scopeId2 + "-s");
695
+ }
1570
696
  }
1571
697
  endAttachStyles();
1572
698
  };
1573
699
  var getScopeId = (cmp, mode) => "sc-" + (mode && cmp.$flags$ & 32 /* hasMode */ ? cmp.$tagName$ + "-" + mode : cmp.$tagName$);
1574
- var convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, "$1{");
1575
- var hydrateScopedToShadow = () => {
1576
- if (!win.document) {
1577
- return;
1578
- }
1579
- const styles2 = win.document.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);
1580
- let i2 = 0;
1581
- for (; i2 < styles2.length; i2++) {
1582
- registerStyle(styles2[i2].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles2[i2].innerHTML), true);
1583
- }
1584
- };
1585
- var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
1586
- if (oldValue === newValue) {
1587
- return;
1588
- }
1589
- let isProp = isMemberInElement(elm, memberName);
1590
- let ln = memberName.toLowerCase();
1591
- if (memberName === "class") {
1592
- const classList = elm.classList;
1593
- const oldClasses = parseClassList(oldValue);
1594
- let newClasses = parseClassList(newValue);
1595
- if (elm["s-si"] && initialRender) {
1596
- newClasses.push(elm["s-si"]);
1597
- oldClasses.forEach((c) => {
1598
- if (c.startsWith(elm["s-si"])) newClasses.push(c);
1599
- });
1600
- newClasses = [...new Set(newClasses)];
1601
- classList.add(...newClasses);
1602
- } else {
700
+ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
701
+ if (oldValue !== newValue) {
702
+ let isProp = isMemberInElement(elm, memberName);
703
+ let ln = memberName.toLowerCase();
704
+ if (memberName === "class") {
705
+ const classList = elm.classList;
706
+ const oldClasses = parseClassList(oldValue);
707
+ const newClasses = parseClassList(newValue);
1603
708
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
1604
709
  classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
1605
- }
1606
- } else if (memberName === "style") {
1607
- {
1608
- for (const prop in oldValue) {
1609
- if (!newValue || newValue[prop] == null) {
710
+ } else if (memberName === "style") {
711
+ {
712
+ for (const prop in oldValue) {
713
+ if (!newValue || newValue[prop] == null) {
714
+ if (prop.includes("-")) {
715
+ elm.style.removeProperty(prop);
716
+ } else {
717
+ elm.style[prop] = "";
718
+ }
719
+ }
720
+ }
721
+ }
722
+ for (const prop in newValue) {
723
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
1610
724
  if (prop.includes("-")) {
1611
- elm.style.removeProperty(prop);
725
+ elm.style.setProperty(prop, newValue[prop]);
1612
726
  } else {
1613
- elm.style[prop] = "";
727
+ elm.style[prop] = newValue[prop];
1614
728
  }
1615
729
  }
1616
730
  }
1617
- }
1618
- for (const prop in newValue) {
1619
- if (!oldValue || newValue[prop] !== oldValue[prop]) {
1620
- if (prop.includes("-")) {
1621
- elm.style.setProperty(prop, newValue[prop]);
1622
- } else {
1623
- elm.style[prop] = newValue[prop];
1624
- }
731
+ } else if (memberName === "key") ; else if (memberName === "ref") {
732
+ if (newValue) {
733
+ newValue(elm);
1625
734
  }
1626
- }
1627
- } else if (memberName === "key") ; else if (memberName === "ref") {
1628
- if (newValue) {
1629
- newValue(elm);
1630
- }
1631
- } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
1632
- if (memberName[2] === "-") {
1633
- memberName = memberName.slice(3);
1634
- } else if (isMemberInElement(win, ln)) {
1635
- memberName = ln.slice(2);
1636
- } else {
1637
- memberName = ln[2] + memberName.slice(3);
1638
- }
1639
- if (oldValue || newValue) {
1640
- const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
1641
- memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
1642
- if (oldValue) {
1643
- plt.rel(elm, memberName, oldValue, capture);
735
+ } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
736
+ if (memberName[2] === "-") {
737
+ memberName = memberName.slice(3);
738
+ } else if (isMemberInElement(win, ln)) {
739
+ memberName = ln.slice(2);
740
+ } else {
741
+ memberName = ln[2] + memberName.slice(3);
1644
742
  }
1645
- if (newValue) {
1646
- plt.ael(elm, memberName, newValue, capture);
743
+ if (oldValue || newValue) {
744
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
745
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
746
+ if (oldValue) {
747
+ plt.rel(elm, memberName, oldValue, capture);
748
+ }
749
+ if (newValue) {
750
+ plt.ael(elm, memberName, newValue, capture);
751
+ }
1647
752
  }
1648
- }
1649
- } else {
1650
- const isComplex = isComplexType(newValue);
1651
- if ((isProp || isComplex && newValue !== null) && !isSvg) {
1652
- try {
1653
- if (!elm.tagName.includes("-")) {
1654
- const n = newValue == null ? "" : newValue;
1655
- if (memberName === "list") {
1656
- isProp = false;
1657
- } else if (oldValue == null || elm[memberName] != n) {
1658
- if (typeof elm.__lookupSetter__(memberName) === "function") {
753
+ } else {
754
+ const isComplex = isComplexType(newValue);
755
+ if ((isProp || isComplex && newValue !== null) && !isSvg) {
756
+ try {
757
+ if (!elm.tagName.includes("-")) {
758
+ const n = newValue == null ? "" : newValue;
759
+ if (memberName === "list") {
760
+ isProp = false;
761
+ } else if (oldValue == null || elm[memberName] != n) {
1659
762
  elm[memberName] = n;
1660
- } else {
1661
- elm.setAttribute(memberName, n);
1662
763
  }
764
+ } else {
765
+ elm[memberName] = newValue;
1663
766
  }
1664
- } else if (elm[memberName] !== newValue) {
1665
- elm[memberName] = newValue;
767
+ } catch (e) {
1666
768
  }
1667
- } catch (e) {
1668
769
  }
1669
- }
1670
- let xlink = false;
1671
- {
1672
- if (ln !== (ln = ln.replace(/^xlink\:?/, ""))) {
1673
- memberName = ln;
1674
- xlink = true;
770
+ let xlink = false;
771
+ {
772
+ if (ln !== (ln = ln.replace(/^xlink\:?/, ""))) {
773
+ memberName = ln;
774
+ xlink = true;
775
+ }
1675
776
  }
1676
- }
1677
- if (newValue == null || newValue === false) {
1678
- if (newValue !== false || elm.getAttribute(memberName) === "") {
777
+ if (newValue == null || newValue === false) {
778
+ if (newValue !== false || elm.getAttribute(memberName) === "") {
779
+ if (xlink) {
780
+ elm.removeAttributeNS(XLINK_NS, memberName);
781
+ } else {
782
+ elm.removeAttribute(memberName);
783
+ }
784
+ }
785
+ } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
786
+ newValue = newValue === true ? "" : newValue;
1679
787
  if (xlink) {
1680
- elm.removeAttributeNS(XLINK_NS, memberName);
788
+ elm.setAttributeNS(XLINK_NS, memberName, newValue);
1681
789
  } else {
1682
- elm.removeAttribute(memberName);
790
+ elm.setAttribute(memberName, newValue);
1683
791
  }
1684
792
  }
1685
- } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex && elm.nodeType === 1 /* ElementNode */) {
1686
- newValue = newValue === true ? "" : newValue;
1687
- if (xlink) {
1688
- elm.setAttributeNS(XLINK_NS, memberName, newValue);
1689
- } else {
1690
- elm.setAttribute(memberName, newValue);
1691
- }
1692
793
  }
1693
794
  }
1694
795
  };
1695
796
  var parseClassListRegex = /\s/;
1696
- var parseClassList = (value) => {
1697
- if (typeof value === "object" && value && "baseVal" in value) {
1698
- value = value.baseVal;
1699
- }
1700
- if (!value || typeof value !== "string") {
1701
- return [];
1702
- }
1703
- return value.split(parseClassListRegex);
1704
- };
797
+ var parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);
1705
798
  var CAPTURE_EVENT_SUFFIX = "Capture";
1706
799
  var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
1707
800
 
1708
801
  // src/runtime/vdom/update-element.ts
1709
- var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => {
802
+ var updateElement = (oldVnode, newVnode, isSvgMode2) => {
1710
803
  const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
1711
- const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || {};
1712
- const newVnodeAttrs = newVnode.$attrs$ || {};
804
+ const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;
805
+ const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
1713
806
  {
1714
807
  for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
1715
808
  if (!(memberName in newVnodeAttrs)) {
1716
- setAccessor(
1717
- elm,
1718
- memberName,
1719
- oldVnodeAttrs[memberName],
1720
- void 0,
1721
- isSvgMode2,
1722
- newVnode.$flags$,
1723
- isInitialRender
1724
- );
809
+ setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);
1725
810
  }
1726
811
  }
1727
812
  }
1728
813
  for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
1729
- setAccessor(
1730
- elm,
1731
- memberName,
1732
- oldVnodeAttrs[memberName],
1733
- newVnodeAttrs[memberName],
1734
- isSvgMode2,
1735
- newVnode.$flags$,
1736
- isInitialRender
1737
- );
814
+ setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);
1738
815
  }
1739
816
  };
1740
817
  function sortedAttrNames(attrNames) {
@@ -1755,7 +832,7 @@ var useNativeShadowDom = false;
1755
832
  var checkSlotFallbackVisibility = false;
1756
833
  var checkSlotRelocate = false;
1757
834
  var isSvgMode = false;
1758
- var createElm = (oldParentVNode, newParentVNode, childIndex) => {
835
+ var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
1759
836
  var _a;
1760
837
  const newVNode2 = newParentVNode.$children$[childIndex];
1761
838
  let i2 = 0;
@@ -1765,6 +842,9 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1765
842
  if (!useNativeShadowDom) {
1766
843
  checkSlotRelocate = true;
1767
844
  if (newVNode2.$tag$ === "slot") {
845
+ if (scopeId) {
846
+ parentElm.classList.add(scopeId + "-s");
847
+ }
1768
848
  newVNode2.$flags$ |= newVNode2.$children$ ? (
1769
849
  // slot element has fallback content
1770
850
  // still create an element that "mocks" the slot element
@@ -1778,22 +858,14 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1778
858
  }
1779
859
  }
1780
860
  if (newVNode2.$text$ !== null) {
1781
- elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
861
+ elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);
1782
862
  } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
1783
- elm = newVNode2.$elm$ = win.document.createTextNode("");
1784
- {
1785
- updateElement(null, newVNode2, isSvgMode);
1786
- }
863
+ elm = newVNode2.$elm$ = doc.createTextNode("");
1787
864
  } else {
1788
865
  if (!isSvgMode) {
1789
866
  isSvgMode = newVNode2.$tag$ === "svg";
1790
867
  }
1791
- if (!win.document) {
1792
- throw new Error(
1793
- "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."
1794
- );
1795
- }
1796
- elm = newVNode2.$elm$ = win.document.createElementNS(
868
+ elm = newVNode2.$elm$ = doc.createElementNS(
1797
869
  isSvgMode ? SVG_NS : HTML_NS,
1798
870
  !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
1799
871
  ) ;
@@ -1803,12 +875,17 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1803
875
  {
1804
876
  updateElement(null, newVNode2, isSvgMode);
1805
877
  }
1806
- if (isDef(scopeId) && elm["s-si"] !== scopeId) {
878
+ const rootNode = elm.getRootNode();
879
+ const isElementWithinShadowRoot = !rootNode.querySelector("body");
880
+ if (!isElementWithinShadowRoot && BUILD.scoped && isDef(scopeId) && elm["s-si"] !== scopeId) {
1807
881
  elm.classList.add(elm["s-si"] = scopeId);
1808
882
  }
883
+ {
884
+ updateElementScopeIds(elm, parentElm);
885
+ }
1809
886
  if (newVNode2.$children$) {
1810
887
  for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
1811
- childNode = createElm(oldParentVNode, newVNode2, i2);
888
+ childNode = createElm(oldParentVNode, newVNode2, i2, elm);
1812
889
  if (childNode) {
1813
890
  elm.appendChild(childNode);
1814
891
  }
@@ -1829,16 +906,12 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1829
906
  elm["s-cr"] = contentRef;
1830
907
  elm["s-sn"] = newVNode2.$name$ || "";
1831
908
  elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
1832
- patchSlotNode(elm);
1833
909
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
1834
910
  if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
1835
911
  {
1836
912
  relocateToHostRoot(oldParentVNode.$elm$);
1837
913
  }
1838
914
  }
1839
- {
1840
- addRemoveSlotScopedClass(contentRef, elm, newParentVNode.$elm$, oldParentVNode == null ? void 0 : oldParentVNode.$elm$);
1841
- }
1842
915
  }
1843
916
  }
1844
917
  return elm;
@@ -1847,12 +920,8 @@ var relocateToHostRoot = (parentElm) => {
1847
920
  plt.$flags$ |= 1 /* isTmpDisconnected */;
1848
921
  const host = parentElm.closest(hostTagName.toLowerCase());
1849
922
  if (host != null) {
1850
- const contentRefNode = Array.from(host.__childNodes || host.childNodes).find(
1851
- (ref) => ref["s-cr"]
1852
- );
1853
- const childNodeArray = Array.from(
1854
- parentElm.__childNodes || parentElm.childNodes
1855
- );
923
+ const contentRefNode = Array.from(host.childNodes).find((ref) => ref["s-cr"]);
924
+ const childNodeArray = Array.from(parentElm.childNodes);
1856
925
  for (const childNode of contentRefNode ? childNodeArray.reverse() : childNodeArray) {
1857
926
  if (childNode["s-sh"] != null) {
1858
927
  insertBefore(host, childNode, contentRefNode != null ? contentRefNode : null);
@@ -1861,11 +930,11 @@ var relocateToHostRoot = (parentElm) => {
1861
930
  }
1862
931
  }
1863
932
  }
1864
- plt.$flags$ &= -2 /* isTmpDisconnected */;
933
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
1865
934
  };
1866
935
  var putBackInOriginalLocation = (parentElm, recursive) => {
1867
936
  plt.$flags$ |= 1 /* isTmpDisconnected */;
1868
- const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
937
+ const oldSlotChildNodes = Array.from(parentElm.childNodes);
1869
938
  if (parentElm["s-sr"] && BUILD.experimentalSlotFixes) {
1870
939
  let node = parentElm;
1871
940
  while (node = node.nextSibling) {
@@ -1877,7 +946,7 @@ var putBackInOriginalLocation = (parentElm, recursive) => {
1877
946
  for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
1878
947
  const childNode = oldSlotChildNodes[i2];
1879
948
  if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
1880
- insertBefore(referenceNode(childNode).parentNode, childNode, referenceNode(childNode));
949
+ insertBefore(parentReferenceNode(childNode), childNode, referenceNode(childNode));
1881
950
  childNode["s-ol"].remove();
1882
951
  childNode["s-ol"] = void 0;
1883
952
  childNode["s-sh"] = void 0;
@@ -1887,7 +956,7 @@ var putBackInOriginalLocation = (parentElm, recursive) => {
1887
956
  putBackInOriginalLocation(childNode, recursive);
1888
957
  }
1889
958
  }
1890
- plt.$flags$ &= -2 /* isTmpDisconnected */;
959
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
1891
960
  };
1892
961
  var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
1893
962
  let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
@@ -1897,7 +966,7 @@ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
1897
966
  }
1898
967
  for (; startIdx <= endIdx; ++startIdx) {
1899
968
  if (vnodes[startIdx]) {
1900
- childNode = createElm(null, parentVNode, startIdx);
969
+ childNode = createElm(null, parentVNode, startIdx, parentElm);
1901
970
  if (childNode) {
1902
971
  vnodes[startIdx].$elm$ = childNode;
1903
972
  insertBefore(containerElm, childNode, referenceNode(before) );
@@ -1984,7 +1053,7 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
1984
1053
  if (idxInOld >= 0) {
1985
1054
  elmToMove = oldCh[idxInOld];
1986
1055
  if (elmToMove.$tag$ !== newStartVnode.$tag$) {
1987
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);
1056
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld, parentElm);
1988
1057
  } else {
1989
1058
  patch(elmToMove, newStartVnode, isInitialRender);
1990
1059
  oldCh[idxInOld] = void 0;
@@ -1992,16 +1061,12 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
1992
1061
  }
1993
1062
  newStartVnode = newCh[++newStartIdx];
1994
1063
  } else {
1995
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);
1064
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx, parentElm);
1996
1065
  newStartVnode = newCh[++newStartIdx];
1997
1066
  }
1998
1067
  if (node) {
1999
1068
  {
2000
- insertBefore(
2001
- referenceNode(oldStartVnode.$elm$).parentNode,
2002
- node,
2003
- referenceNode(oldStartVnode.$elm$)
2004
- );
1069
+ insertBefore(parentReferenceNode(oldStartVnode.$elm$), node, referenceNode(oldStartVnode.$elm$));
2005
1070
  }
2006
1071
  }
2007
1072
  }
@@ -2022,19 +1087,28 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
2022
1087
  var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
2023
1088
  if (leftVNode.$tag$ === rightVNode.$tag$) {
2024
1089
  if (leftVNode.$tag$ === "slot") {
1090
+ if (
1091
+ // The component gets hydrated and no VDOM has been initialized.
1092
+ // Here the comparison can't happen as $name$ property is not set for `leftNode`.
1093
+ "$nodeId$" in leftVNode && isInitialRender && // `leftNode` is not from type HTMLComment which would cause many
1094
+ // hydration comments to be removed
1095
+ leftVNode.$elm$.nodeType !== 8
1096
+ ) {
1097
+ return false;
1098
+ }
2025
1099
  return leftVNode.$name$ === rightVNode.$name$;
2026
1100
  }
2027
1101
  if (!isInitialRender) {
2028
1102
  return leftVNode.$key$ === rightVNode.$key$;
2029
1103
  }
2030
- if (isInitialRender && !leftVNode.$key$ && rightVNode.$key$) {
2031
- leftVNode.$key$ = rightVNode.$key$;
2032
- }
2033
1104
  return true;
2034
1105
  }
2035
1106
  return false;
2036
1107
  };
2037
- var referenceNode = (node) => node && node["s-ol"] || node;
1108
+ var referenceNode = (node) => {
1109
+ return node && node["s-ol"] || node;
1110
+ };
1111
+ var parentReferenceNode = (node) => (node["s-ol"] ? node["s-ol"] : node).parentNode;
2038
1112
  var patch = (oldVNode, newVNode2, isInitialRender = false) => {
2039
1113
  const elm = newVNode2.$elm$ = oldVNode.$elm$;
2040
1114
  const oldChildren = oldVNode.$children$;
@@ -2052,8 +1126,9 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
2052
1126
  newVNode2.$elm$["s-sn"] = newVNode2.$name$ || "";
2053
1127
  relocateToHostRoot(newVNode2.$elm$.parentElement);
2054
1128
  }
1129
+ } else {
1130
+ updateElement(oldVNode, newVNode2, isSvgMode);
2055
1131
  }
2056
- updateElement(oldVNode, newVNode2, isSvgMode, isInitialRender);
2057
1132
  }
2058
1133
  if (oldChildren !== null && newChildren !== null) {
2059
1134
  updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
@@ -2077,15 +1152,41 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
2077
1152
  elm.data = text;
2078
1153
  }
2079
1154
  };
1155
+ var updateFallbackSlotVisibility = (elm) => {
1156
+ const childNodes = elm.childNodes;
1157
+ for (const childNode of childNodes) {
1158
+ if (childNode.nodeType === 1 /* ElementNode */) {
1159
+ if (childNode["s-sr"]) {
1160
+ const slotName = childNode["s-sn"];
1161
+ childNode.hidden = false;
1162
+ for (const siblingNode of childNodes) {
1163
+ if (siblingNode !== childNode) {
1164
+ if (siblingNode["s-hn"] !== childNode["s-hn"] || slotName !== "") {
1165
+ if (siblingNode.nodeType === 1 /* ElementNode */ && (slotName === siblingNode.getAttribute("slot") || slotName === siblingNode["s-sn"]) || siblingNode.nodeType === 3 /* TextNode */ && slotName === siblingNode["s-sn"]) {
1166
+ childNode.hidden = true;
1167
+ break;
1168
+ }
1169
+ } else {
1170
+ if (siblingNode.nodeType === 1 /* ElementNode */ || siblingNode.nodeType === 3 /* TextNode */ && siblingNode.textContent.trim() !== "") {
1171
+ childNode.hidden = true;
1172
+ break;
1173
+ }
1174
+ }
1175
+ }
1176
+ }
1177
+ }
1178
+ updateFallbackSlotVisibility(childNode);
1179
+ }
1180
+ }
1181
+ };
2080
1182
  var relocateNodes = [];
2081
1183
  var markSlotContentForRelocation = (elm) => {
2082
1184
  let node;
2083
1185
  let hostContentNodes;
2084
1186
  let j;
2085
- const children = elm.__childNodes || elm.childNodes;
2086
- for (const childNode of children) {
1187
+ for (const childNode of elm.childNodes) {
2087
1188
  if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
2088
- hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
1189
+ hostContentNodes = node.parentNode.childNodes;
2089
1190
  const slotName = childNode["s-sn"];
2090
1191
  for (j = hostContentNodes.length - 1; j >= 0; j--) {
2091
1192
  node = hostContentNodes[j];
@@ -2127,6 +1228,21 @@ var markSlotContentForRelocation = (elm) => {
2127
1228
  }
2128
1229
  }
2129
1230
  };
1231
+ var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
1232
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1233
+ if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
1234
+ return true;
1235
+ }
1236
+ if (nodeToRelocate.getAttribute("slot") === slotName) {
1237
+ return true;
1238
+ }
1239
+ return false;
1240
+ }
1241
+ if (nodeToRelocate["s-sn"] === slotName) {
1242
+ return true;
1243
+ }
1244
+ return slotName === "";
1245
+ };
2130
1246
  var nullifyVNodeRefs = (vNode) => {
2131
1247
  {
2132
1248
  vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
@@ -2134,51 +1250,44 @@ var nullifyVNodeRefs = (vNode) => {
2134
1250
  }
2135
1251
  };
2136
1252
  var insertBefore = (parent, newNode, reference) => {
2137
- if (typeof newNode["s-sn"] === "string" && !!newNode["s-sr"] && !!newNode["s-cr"]) {
2138
- addRemoveSlotScopedClass(newNode["s-cr"], newNode, parent, newNode.parentElement);
2139
- } else if (typeof newNode["s-sn"] === "string") {
2140
- if (parent.getRootNode().nodeType !== 11 /* DOCUMENT_FRAGMENT_NODE */) {
2141
- patchParentNode(newNode);
2142
- }
2143
- parent.insertBefore(newNode, reference);
2144
- const { slotNode } = findSlotFromSlottedNode(newNode);
2145
- if (slotNode) dispatchSlotChangeEvent(slotNode);
2146
- return newNode;
2147
- }
2148
- if (parent.__insertBefore) {
2149
- return parent.__insertBefore(newNode, reference);
2150
- } else {
2151
- return parent == null ? void 0 : parent.insertBefore(newNode, reference);
1253
+ const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
1254
+ {
1255
+ updateElementScopeIds(newNode, parent);
1256
+ }
1257
+ return inserted;
1258
+ };
1259
+ var findScopeIds = (element) => {
1260
+ const scopeIds = [];
1261
+ if (element) {
1262
+ scopeIds.push(
1263
+ ...element["s-scs"] || [],
1264
+ element["s-si"],
1265
+ element["s-sc"],
1266
+ ...findScopeIds(element.parentElement)
1267
+ );
2152
1268
  }
1269
+ return scopeIds;
2153
1270
  };
2154
- function addRemoveSlotScopedClass(reference, slotNode, newParent, oldParent) {
2155
- var _a, _b;
2156
- let scopeId2;
2157
- if (reference && typeof slotNode["s-sn"] === "string" && !!slotNode["s-sr"] && reference.parentNode && reference.parentNode["s-sc"] && (scopeId2 = slotNode["s-si"] || reference.parentNode["s-sc"])) {
2158
- const scopeName = slotNode["s-sn"];
2159
- const hostName = slotNode["s-hn"];
2160
- (_a = newParent.classList) == null ? void 0 : _a.add(scopeId2 + "-s");
2161
- if (oldParent && ((_b = oldParent.classList) == null ? void 0 : _b.contains(scopeId2 + "-s"))) {
2162
- let child = (oldParent.__childNodes || oldParent.childNodes)[0];
2163
- let found = false;
2164
- while (child) {
2165
- if (child["s-sn"] !== scopeName && child["s-hn"] === hostName && !!child["s-sr"]) {
2166
- found = true;
2167
- break;
1271
+ var updateElementScopeIds = (element, parent, iterateChildNodes = false) => {
1272
+ var _a;
1273
+ if (element && parent && element.nodeType === 1 /* ElementNode */) {
1274
+ const scopeIds = new Set(findScopeIds(parent).filter(Boolean));
1275
+ if (scopeIds.size) {
1276
+ (_a = element.classList) == null ? void 0 : _a.add(...element["s-scs"] = [...scopeIds]);
1277
+ if (element["s-ol"] || iterateChildNodes) {
1278
+ for (const childNode of Array.from(element.childNodes)) {
1279
+ updateElementScopeIds(childNode, element, true);
2168
1280
  }
2169
- child = child.nextSibling;
2170
1281
  }
2171
- if (!found) oldParent.classList.remove(scopeId2 + "-s");
2172
1282
  }
2173
1283
  }
2174
- }
1284
+ };
2175
1285
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2176
1286
  var _a, _b, _c, _d, _e;
2177
1287
  const hostElm = hostRef.$hostElement$;
2178
1288
  const cmpMeta = hostRef.$cmpMeta$;
2179
1289
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
2180
- const isHostElement = isHost(renderFnResults);
2181
- const rootVnode = isHostElement ? renderFnResults : h(null, null, renderFnResults);
1290
+ const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
2182
1291
  hostTagName = hostElm.tagName;
2183
1292
  if (cmpMeta.$attrsToReflect$) {
2184
1293
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
@@ -2200,7 +1309,7 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2200
1309
  {
2201
1310
  scopeId = hostElm["s-sc"];
2202
1311
  }
2203
- useNativeShadowDom = !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && !(cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */);
1312
+ useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
2204
1313
  {
2205
1314
  contentRef = hostElm["s-cr"];
2206
1315
  checkSlotFallbackVisibility = false;
@@ -2212,8 +1321,8 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2212
1321
  markSlotContentForRelocation(rootVnode.$elm$);
2213
1322
  for (const relocateData of relocateNodes) {
2214
1323
  const nodeToRelocate = relocateData.$nodeToRelocate$;
2215
- if (!nodeToRelocate["s-ol"] && win.document) {
2216
- const orgLocationNode = win.document.createTextNode("");
1324
+ if (!nodeToRelocate["s-ol"]) {
1325
+ const orgLocationNode = doc.createTextNode("");
2217
1326
  orgLocationNode["s-nr"] = nodeToRelocate;
2218
1327
  insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
2219
1328
  }
@@ -2224,11 +1333,11 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2224
1333
  if (slotRefNode) {
2225
1334
  const parentNodeRef = slotRefNode.parentNode;
2226
1335
  let insertBeforeNode = slotRefNode.nextSibling;
2227
- if ((insertBeforeNode && insertBeforeNode.nodeType === 1 /* ElementNode */)) {
1336
+ if (insertBeforeNode && insertBeforeNode.nodeType === 1 /* ElementNode */) {
2228
1337
  let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
2229
1338
  while (orgLocationNode) {
2230
1339
  let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
2231
- if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === (refNode.__parentNode || refNode.parentNode)) {
1340
+ if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === refNode.parentNode) {
2232
1341
  refNode = refNode.nextSibling;
2233
1342
  while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
2234
1343
  refNode = refNode == null ? void 0 : refNode.nextSibling;
@@ -2241,17 +1350,15 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2241
1350
  orgLocationNode = orgLocationNode.previousSibling;
2242
1351
  }
2243
1352
  }
2244
- const parent = nodeToRelocate.__parentNode || nodeToRelocate.parentNode;
2245
- const nextSibling = nodeToRelocate.__nextSibling || nodeToRelocate.nextSibling;
2246
- if (!insertBeforeNode && parentNodeRef !== parent || nextSibling !== insertBeforeNode) {
1353
+ if (!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode || nodeToRelocate.nextSibling !== insertBeforeNode) {
2247
1354
  if (nodeToRelocate !== insertBeforeNode) {
2248
1355
  insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
2249
- if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== "SLOT-FB") {
1356
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
2250
1357
  nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
2251
1358
  }
2252
1359
  }
2253
1360
  }
2254
- nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](slotRefNode);
1361
+ nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](nodeToRelocate);
2255
1362
  } else {
2256
1363
  if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
2257
1364
  if (isInitialLoad) {
@@ -2265,12 +1372,11 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2265
1372
  if (checkSlotFallbackVisibility) {
2266
1373
  updateFallbackSlotVisibility(rootVnode.$elm$);
2267
1374
  }
2268
- plt.$flags$ &= -2 /* isTmpDisconnected */;
1375
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
2269
1376
  relocateNodes.length = 0;
2270
1377
  }
2271
1378
  if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
2272
- const children = rootVnode.$elm$.__childNodes || rootVnode.$elm$.childNodes;
2273
- for (const childNode of children) {
1379
+ for (const childNode of rootVnode.$elm$.childNodes) {
2274
1380
  if (childNode["s-hn"] !== hostTagName && !childNode["s-sh"]) {
2275
1381
  if (isInitialLoad && childNode["s-ih"] == null) {
2276
1382
  childNode["s-ih"] = (_e = childNode.hidden) != null ? _e : false;
@@ -2285,14 +1391,7 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2285
1391
  // src/runtime/update-component.ts
2286
1392
  var attachToAncestor = (hostRef, ancestorComponent) => {
2287
1393
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent["s-p"]) {
2288
- const index = ancestorComponent["s-p"].push(
2289
- new Promise(
2290
- (r) => hostRef.$onRenderResolve$ = () => {
2291
- ancestorComponent["s-p"].splice(index - 1, 1);
2292
- r();
2293
- }
2294
- )
2295
- );
1394
+ ancestorComponent["s-p"].push(new Promise((r) => hostRef.$onRenderResolve$ = r));
2296
1395
  }
2297
1396
  };
2298
1397
  var scheduleUpdate = (hostRef, isInitialLoad) => {
@@ -2321,15 +1420,17 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
2321
1420
  {
2322
1421
  hostRef.$flags$ |= 256 /* isListenReady */;
2323
1422
  if (hostRef.$queuedListeners$) {
2324
- hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
1423
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
2325
1424
  hostRef.$queuedListeners$ = void 0;
2326
1425
  }
2327
1426
  }
2328
- maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
2329
- } else {
2330
- maybePromise = safeCall(instance, "componentWillUpdate", void 0, elm);
1427
+ {
1428
+ maybePromise = safeCall(instance, "componentWillLoad");
1429
+ }
1430
+ }
1431
+ {
1432
+ maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender"));
2331
1433
  }
2332
- maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender", void 0, elm));
2333
1434
  endSchedule();
2334
1435
  return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
2335
1436
  };
@@ -2372,7 +1473,7 @@ var callRender = (hostRef, instance, elm, isInitialLoad) => {
2372
1473
  try {
2373
1474
  instance = instance.render && instance.render();
2374
1475
  {
2375
- hostRef.$flags$ &= -17 /* isQueuedForUpdate */;
1476
+ hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;
2376
1477
  }
2377
1478
  {
2378
1479
  hostRef.$flags$ |= 2 /* hasRendered */;
@@ -2395,13 +1496,17 @@ var postUpdateComponent = (hostRef) => {
2395
1496
  const endPostUpdate = createTime("postUpdate", tagName);
2396
1497
  const instance = hostRef.$lazyInstance$ ;
2397
1498
  const ancestorComponent = hostRef.$ancestorComponent$;
2398
- safeCall(instance, "componentDidRender", void 0, elm);
1499
+ {
1500
+ safeCall(instance, "componentDidRender");
1501
+ }
2399
1502
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
2400
1503
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
2401
1504
  {
2402
1505
  addHydratedFlag(elm);
2403
1506
  }
2404
- safeCall(instance, "componentDidLoad", void 0, elm);
1507
+ {
1508
+ safeCall(instance, "componentDidLoad");
1509
+ }
2405
1510
  endPostUpdate();
2406
1511
  {
2407
1512
  hostRef.$onReadyResolve$(elm);
@@ -2410,7 +1515,9 @@ var postUpdateComponent = (hostRef) => {
2410
1515
  }
2411
1516
  }
2412
1517
  } else {
2413
- safeCall(instance, "componentDidUpdate", void 0, elm);
1518
+ {
1519
+ safeCall(instance, "componentDidUpdate");
1520
+ }
2414
1521
  endPostUpdate();
2415
1522
  }
2416
1523
  {
@@ -2424,7 +1531,7 @@ var postUpdateComponent = (hostRef) => {
2424
1531
  if (hostRef.$flags$ & 512 /* needsRerender */) {
2425
1532
  nextTick(() => scheduleUpdate(hostRef, false));
2426
1533
  }
2427
- hostRef.$flags$ &= -517;
1534
+ hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);
2428
1535
  }
2429
1536
  };
2430
1537
  var forceUpdate = (ref) => {
@@ -2438,14 +1545,17 @@ var forceUpdate = (ref) => {
2438
1545
  }
2439
1546
  };
2440
1547
  var appDidLoad = (who) => {
1548
+ {
1549
+ addHydratedFlag(doc.documentElement);
1550
+ }
2441
1551
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
2442
1552
  };
2443
- var safeCall = (instance, method, arg, elm) => {
1553
+ var safeCall = (instance, method, arg) => {
2444
1554
  if (instance && instance[method]) {
2445
1555
  try {
2446
1556
  return instance[method](arg);
2447
1557
  } catch (e) {
2448
- consoleError(e, elm);
1558
+ consoleError(e);
2449
1559
  }
2450
1560
  }
2451
1561
  return void 0;
@@ -2461,7 +1571,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2461
1571
  const hostRef = getHostRef(ref);
2462
1572
  if (!hostRef) {
2463
1573
  throw new Error(
2464
- `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).`
1574
+ `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).`
2465
1575
  );
2466
1576
  }
2467
1577
  const elm = hostRef.$hostElement$ ;
@@ -2487,11 +1597,6 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2487
1597
  }
2488
1598
  }
2489
1599
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
2490
- if (instance.componentShouldUpdate) {
2491
- if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
2492
- return;
2493
- }
2494
- }
2495
1600
  scheduleUpdate(hostRef, false);
2496
1601
  }
2497
1602
  }
@@ -2509,68 +1614,15 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2509
1614
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
2510
1615
  members.map(([memberName, [memberFlags]]) => {
2511
1616
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
2512
- const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(prototype, memberName) || {};
2513
- if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
2514
- if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
2515
- if (flags & 1 /* isElementConstructor */ || !origGetter) {
2516
- Object.defineProperty(prototype, memberName, {
2517
- get() {
2518
- {
2519
- if ((cmpMeta.$members$[memberName][0] & 2048 /* Getter */) === 0) {
2520
- return getValue(this, memberName);
2521
- }
2522
- const ref = getHostRef(this);
2523
- const instance = ref ? ref.$lazyInstance$ : prototype;
2524
- if (!instance) return;
2525
- return instance[memberName];
2526
- }
2527
- },
2528
- configurable: true,
2529
- enumerable: true
2530
- });
2531
- }
2532
1617
  Object.defineProperty(prototype, memberName, {
1618
+ get() {
1619
+ return getValue(this, memberName);
1620
+ },
2533
1621
  set(newValue) {
2534
- const ref = getHostRef(this);
2535
- if (origSetter) {
2536
- const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
2537
- if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
2538
- newValue = ref.$instanceValues$.get(memberName);
2539
- } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
2540
- ref.$instanceValues$.set(memberName, currentValue);
2541
- }
2542
- origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
2543
- newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
2544
- setValue(this, memberName, newValue, cmpMeta);
2545
- return;
2546
- }
2547
- {
2548
- if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
2549
- setValue(this, memberName, newValue, cmpMeta);
2550
- if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
2551
- ref.$onReadyPromise$.then(() => {
2552
- if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
2553
- ref.$lazyInstance$[memberName] = newValue;
2554
- }
2555
- });
2556
- }
2557
- return;
2558
- }
2559
- const setterSetVal = () => {
2560
- const currentValue = ref.$lazyInstance$[memberName];
2561
- if (!ref.$instanceValues$.get(memberName) && currentValue) {
2562
- ref.$instanceValues$.set(memberName, currentValue);
2563
- }
2564
- ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, memberFlags);
2565
- setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
2566
- };
2567
- if (ref.$lazyInstance$) {
2568
- setterSetVal();
2569
- } else {
2570
- ref.$onReadyPromise$.then(() => setterSetVal());
2571
- }
2572
- }
2573
- }
1622
+ setValue(this, memberName, newValue, cmpMeta);
1623
+ },
1624
+ configurable: true,
1625
+ enumerable: true
2574
1626
  });
2575
1627
  } else if (flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {
2576
1628
  Object.defineProperty(prototype, memberName, {
@@ -2591,7 +1643,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2591
1643
  plt.jmp(() => {
2592
1644
  var _a2;
2593
1645
  const propName = attrNameToPropName.get(attrName);
2594
- if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {
1646
+ if (this.hasOwnProperty(propName)) {
2595
1647
  newValue = this[propName];
2596
1648
  delete this[propName];
2597
1649
  } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
@@ -2611,11 +1663,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2611
1663
  }
2612
1664
  return;
2613
1665
  }
2614
- const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
2615
- newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
2616
- if (newValue !== this[propName] && (!propDesc.get || !!propDesc.set)) {
2617
- this[propName] = newValue;
2618
- }
1666
+ this[propName] = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
2619
1667
  });
2620
1668
  };
2621
1669
  Cstr.observedAttributes = Array.from(
@@ -2644,7 +1692,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2644
1692
  hostRef.$flags$ |= 32 /* hasInitializedComponent */;
2645
1693
  const bundleId = cmpMeta.$lazyBundleId$;
2646
1694
  if (bundleId) {
2647
- const CstrImport = loadModule(cmpMeta, hostRef);
1695
+ const CstrImport = loadModule(cmpMeta);
2648
1696
  if (CstrImport && "then" in CstrImport) {
2649
1697
  const endLoad = uniqueTime();
2650
1698
  Cstr = await CstrImport;
@@ -2669,16 +1717,16 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2669
1717
  try {
2670
1718
  new Cstr(hostRef);
2671
1719
  } catch (e) {
2672
- consoleError(e, elm);
1720
+ consoleError(e);
2673
1721
  }
2674
1722
  {
2675
- hostRef.$flags$ &= -9 /* isConstructingInstance */;
1723
+ hostRef.$flags$ &= ~8 /* isConstructingInstance */;
2676
1724
  }
2677
1725
  {
2678
1726
  hostRef.$flags$ |= 128 /* isWatchReady */;
2679
1727
  }
2680
1728
  endNewInstance();
2681
- fireConnectedCallback(hostRef.$lazyInstance$, elm);
1729
+ fireConnectedCallback(hostRef.$lazyInstance$);
2682
1730
  } else {
2683
1731
  Cstr = elm.constructor;
2684
1732
  const cmpTag = elm.localName;
@@ -2710,9 +1758,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2710
1758
  schedule();
2711
1759
  }
2712
1760
  };
2713
- var fireConnectedCallback = (instance, elm) => {
1761
+ var fireConnectedCallback = (instance) => {
2714
1762
  {
2715
- safeCall(instance, "connectedCallback", void 0, elm);
1763
+ safeCall(instance, "connectedCallback");
2716
1764
  }
2717
1765
  };
2718
1766
 
@@ -2731,9 +1779,6 @@ var connectedCallback = (elm) => {
2731
1779
  if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
2732
1780
  const scopeId2 = addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute("s-mode")) ;
2733
1781
  elm.classList.remove(scopeId2 + "-h", scopeId2 + "-s");
2734
- } else if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
2735
- const scopeId2 = getScopeId(cmpMeta, elm.getAttribute("s-mode") );
2736
- elm["s-sc"] = scopeId2;
2737
1782
  }
2738
1783
  initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);
2739
1784
  }
@@ -2768,27 +1813,24 @@ var connectedCallback = (elm) => {
2768
1813
  } else {
2769
1814
  addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
2770
1815
  if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
2771
- fireConnectedCallback(hostRef.$lazyInstance$, elm);
1816
+ fireConnectedCallback(hostRef.$lazyInstance$);
2772
1817
  } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
2773
- hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$, elm));
1818
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
2774
1819
  }
2775
1820
  }
2776
1821
  endConnected();
2777
1822
  }
2778
1823
  };
2779
1824
  var setContentReference = (elm) => {
2780
- if (!win.document) {
2781
- return;
2782
- }
2783
- const contentRefElm = elm["s-cr"] = win.document.createComment(
1825
+ const contentRefElm = elm["s-cr"] = doc.createComment(
2784
1826
  ""
2785
1827
  );
2786
1828
  contentRefElm["s-cn"] = true;
2787
1829
  insertBefore(elm, contentRefElm, elm.firstChild);
2788
1830
  };
2789
- var disconnectInstance = (instance, elm) => {
1831
+ var disconnectInstance = (instance) => {
2790
1832
  {
2791
- safeCall(instance, "disconnectedCallback", void 0, elm || instance);
1833
+ safeCall(instance, "disconnectedCallback");
2792
1834
  }
2793
1835
  };
2794
1836
  var disconnectedCallback = async (elm) => {
@@ -2801,44 +1843,312 @@ var disconnectedCallback = async (elm) => {
2801
1843
  }
2802
1844
  }
2803
1845
  if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
2804
- disconnectInstance(hostRef.$lazyInstance$, elm);
1846
+ disconnectInstance(hostRef.$lazyInstance$);
2805
1847
  } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
2806
- hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$, elm));
1848
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
1849
+ }
1850
+ }
1851
+ };
1852
+ var patchPseudoShadowDom = (hostElementPrototype, descriptorPrototype) => {
1853
+ patchCloneNode(hostElementPrototype);
1854
+ patchSlotAppendChild(hostElementPrototype);
1855
+ patchSlotAppend(hostElementPrototype);
1856
+ patchSlotPrepend(hostElementPrototype);
1857
+ patchSlotInsertAdjacentElement(hostElementPrototype);
1858
+ patchSlotInsertAdjacentHTML(hostElementPrototype);
1859
+ patchSlotInsertAdjacentText(hostElementPrototype);
1860
+ patchTextContent(hostElementPrototype);
1861
+ patchChildSlotNodes(hostElementPrototype, descriptorPrototype);
1862
+ patchSlotRemoveChild(hostElementPrototype);
1863
+ };
1864
+ var patchCloneNode = (HostElementPrototype) => {
1865
+ const orgCloneNode = HostElementPrototype.cloneNode;
1866
+ HostElementPrototype.cloneNode = function(deep) {
1867
+ const srcNode = this;
1868
+ const isShadowDom = srcNode.shadowRoot && supportsShadow ;
1869
+ const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);
1870
+ if (!isShadowDom && deep) {
1871
+ let i2 = 0;
1872
+ let slotted, nonStencilNode;
1873
+ const stencilPrivates = [
1874
+ "s-id",
1875
+ "s-cr",
1876
+ "s-lr",
1877
+ "s-rc",
1878
+ "s-sc",
1879
+ "s-p",
1880
+ "s-cn",
1881
+ "s-sr",
1882
+ "s-sn",
1883
+ "s-hn",
1884
+ "s-ol",
1885
+ "s-nr",
1886
+ "s-si",
1887
+ "s-rf",
1888
+ "s-scs"
1889
+ ];
1890
+ for (; i2 < srcNode.childNodes.length; i2++) {
1891
+ slotted = srcNode.childNodes[i2]["s-nr"];
1892
+ nonStencilNode = stencilPrivates.every((privateField) => !srcNode.childNodes[i2][privateField]);
1893
+ if (slotted) {
1894
+ if (clonedNode.__appendChild) {
1895
+ clonedNode.__appendChild(slotted.cloneNode(true));
1896
+ } else {
1897
+ clonedNode.appendChild(slotted.cloneNode(true));
1898
+ }
1899
+ }
1900
+ if (nonStencilNode) {
1901
+ clonedNode.appendChild(srcNode.childNodes[i2].cloneNode(true));
1902
+ }
1903
+ }
1904
+ }
1905
+ return clonedNode;
1906
+ };
1907
+ };
1908
+ var patchSlotAppendChild = (HostElementPrototype) => {
1909
+ HostElementPrototype.__appendChild = HostElementPrototype.appendChild;
1910
+ HostElementPrototype.appendChild = function(newChild) {
1911
+ const slotName = newChild["s-sn"] = getSlotName(newChild);
1912
+ const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);
1913
+ if (slotNode) {
1914
+ const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);
1915
+ const appendAfter = slotChildNodes[slotChildNodes.length - 1];
1916
+ const insertedNode = insertBefore(appendAfter.parentNode, newChild, appendAfter.nextSibling);
1917
+ updateFallbackSlotVisibility(this);
1918
+ return insertedNode;
1919
+ }
1920
+ return this.__appendChild(newChild);
1921
+ };
1922
+ };
1923
+ var patchSlotRemoveChild = (ElementPrototype) => {
1924
+ ElementPrototype.__removeChild = ElementPrototype.removeChild;
1925
+ ElementPrototype.removeChild = function(toRemove) {
1926
+ if (toRemove && typeof toRemove["s-sn"] !== "undefined") {
1927
+ const slotNode = getHostSlotNode(this.childNodes, toRemove["s-sn"], this.tagName);
1928
+ if (slotNode) {
1929
+ const slotChildNodes = getHostSlotChildNodes(slotNode, toRemove["s-sn"]);
1930
+ const existingNode = slotChildNodes.find((n) => n === toRemove);
1931
+ if (existingNode) {
1932
+ existingNode.remove();
1933
+ updateFallbackSlotVisibility(this);
1934
+ return;
1935
+ }
1936
+ }
1937
+ }
1938
+ return this.__removeChild(toRemove);
1939
+ };
1940
+ };
1941
+ var patchSlotPrepend = (HostElementPrototype) => {
1942
+ const originalPrepend = HostElementPrototype.prepend;
1943
+ HostElementPrototype.prepend = function(...newChildren) {
1944
+ newChildren.forEach((newChild) => {
1945
+ if (typeof newChild === "string") {
1946
+ newChild = this.ownerDocument.createTextNode(newChild);
1947
+ }
1948
+ const slotName = newChild["s-sn"] = getSlotName(newChild);
1949
+ const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);
1950
+ if (slotNode) {
1951
+ const slotPlaceholder = document.createTextNode("");
1952
+ slotPlaceholder["s-nr"] = newChild;
1953
+ slotNode["s-cr"].parentNode.__appendChild(slotPlaceholder);
1954
+ newChild["s-ol"] = slotPlaceholder;
1955
+ const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);
1956
+ const appendAfter = slotChildNodes[0];
1957
+ return insertBefore(appendAfter.parentNode, newChild, appendAfter.nextSibling);
1958
+ }
1959
+ if (newChild.nodeType === 1 && !!newChild.getAttribute("slot")) {
1960
+ newChild.hidden = true;
1961
+ }
1962
+ return originalPrepend.call(this, newChild);
1963
+ });
1964
+ };
1965
+ };
1966
+ var patchSlotAppend = (HostElementPrototype) => {
1967
+ HostElementPrototype.append = function(...newChildren) {
1968
+ newChildren.forEach((newChild) => {
1969
+ if (typeof newChild === "string") {
1970
+ newChild = this.ownerDocument.createTextNode(newChild);
1971
+ }
1972
+ this.appendChild(newChild);
1973
+ });
1974
+ };
1975
+ };
1976
+ var patchSlotInsertAdjacentHTML = (HostElementPrototype) => {
1977
+ const originalInsertAdjacentHtml = HostElementPrototype.insertAdjacentHTML;
1978
+ HostElementPrototype.insertAdjacentHTML = function(position, text) {
1979
+ if (position !== "afterbegin" && position !== "beforeend") {
1980
+ return originalInsertAdjacentHtml.call(this, position, text);
1981
+ }
1982
+ const container = this.ownerDocument.createElement("_");
1983
+ let node;
1984
+ container.innerHTML = text;
1985
+ if (position === "afterbegin") {
1986
+ while (node = container.firstChild) {
1987
+ this.prepend(node);
1988
+ }
1989
+ } else if (position === "beforeend") {
1990
+ while (node = container.firstChild) {
1991
+ this.append(node);
1992
+ }
1993
+ }
1994
+ };
1995
+ };
1996
+ var patchSlotInsertAdjacentText = (HostElementPrototype) => {
1997
+ HostElementPrototype.insertAdjacentText = function(position, text) {
1998
+ this.insertAdjacentHTML(position, text);
1999
+ };
2000
+ };
2001
+ var patchSlotInsertAdjacentElement = (HostElementPrototype) => {
2002
+ const originalInsertAdjacentElement = HostElementPrototype.insertAdjacentElement;
2003
+ HostElementPrototype.insertAdjacentElement = function(position, element) {
2004
+ if (position !== "afterbegin" && position !== "beforeend") {
2005
+ return originalInsertAdjacentElement.call(this, position, element);
2006
+ }
2007
+ if (position === "afterbegin") {
2008
+ this.prepend(element);
2009
+ return element;
2010
+ } else if (position === "beforeend") {
2011
+ this.append(element);
2012
+ return element;
2013
+ }
2014
+ return element;
2015
+ };
2016
+ };
2017
+ var patchTextContent = (hostElementPrototype) => {
2018
+ const descriptor = Object.getOwnPropertyDescriptor(Node.prototype, "textContent");
2019
+ Object.defineProperty(hostElementPrototype, "__textContent", descriptor);
2020
+ {
2021
+ Object.defineProperty(hostElementPrototype, "textContent", {
2022
+ // To mimic shadow root behavior, we need to return the text content of all
2023
+ // nodes in a slot reference node
2024
+ get() {
2025
+ const slotRefNodes = getAllChildSlotNodes(this.childNodes);
2026
+ const textContent = slotRefNodes.map((node) => {
2027
+ var _a, _b;
2028
+ const text = [];
2029
+ let slotContent = node.nextSibling;
2030
+ while (slotContent && slotContent["s-sn"] === node["s-sn"]) {
2031
+ if (slotContent.nodeType === 3 /* TEXT_NODE */ || slotContent.nodeType === 1 /* ELEMENT_NODE */) {
2032
+ text.push((_b = (_a = slotContent.textContent) == null ? void 0 : _a.trim()) != null ? _b : "");
2033
+ }
2034
+ slotContent = slotContent.nextSibling;
2035
+ }
2036
+ return text.filter((ref) => ref !== "").join(" ");
2037
+ }).filter((text) => text !== "").join(" ");
2038
+ return " " + textContent + " ";
2039
+ },
2040
+ // To mimic shadow root behavior, we need to overwrite all nodes in a slot
2041
+ // reference node. If a default slot reference node exists, the text content will be
2042
+ // placed there. Otherwise, the new text node will be hidden
2043
+ set(value) {
2044
+ const slotRefNodes = getAllChildSlotNodes(this.childNodes);
2045
+ slotRefNodes.forEach((node) => {
2046
+ let slotContent = node.nextSibling;
2047
+ while (slotContent && slotContent["s-sn"] === node["s-sn"]) {
2048
+ const tmp = slotContent;
2049
+ slotContent = slotContent.nextSibling;
2050
+ tmp.remove();
2051
+ }
2052
+ if (node["s-sn"] === "") {
2053
+ const textNode = this.ownerDocument.createTextNode(value);
2054
+ textNode["s-sn"] = "";
2055
+ insertBefore(node.parentElement, textNode, node.nextSibling);
2056
+ } else {
2057
+ node.remove();
2058
+ }
2059
+ });
2060
+ }
2061
+ });
2062
+ }
2063
+ };
2064
+ var patchChildSlotNodes = (elm, cmpMeta) => {
2065
+ class FakeNodeList extends Array {
2066
+ item(n) {
2067
+ return this[n];
2068
+ }
2069
+ }
2070
+ if (cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {
2071
+ const childNodesFn = elm.__lookupGetter__("childNodes");
2072
+ Object.defineProperty(elm, "children", {
2073
+ get() {
2074
+ return this.childNodes.map((n) => n.nodeType === 1);
2075
+ }
2076
+ });
2077
+ Object.defineProperty(elm, "childElementCount", {
2078
+ get() {
2079
+ return elm.children.length;
2080
+ }
2081
+ });
2082
+ Object.defineProperty(elm, "childNodes", {
2083
+ get() {
2084
+ const childNodes = childNodesFn.call(this);
2085
+ if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0 && getHostRef(this).$flags$ & 2 /* hasRendered */) {
2086
+ const result = new FakeNodeList();
2087
+ for (let i2 = 0; i2 < childNodes.length; i2++) {
2088
+ const slot = childNodes[i2]["s-nr"];
2089
+ if (slot) {
2090
+ result.push(slot);
2091
+ }
2092
+ }
2093
+ return result;
2094
+ }
2095
+ return FakeNodeList.from(childNodes);
2096
+ }
2097
+ });
2098
+ }
2099
+ };
2100
+ var getAllChildSlotNodes = (childNodes) => {
2101
+ const slotRefNodes = [];
2102
+ for (const childNode of Array.from(childNodes)) {
2103
+ if (childNode["s-sr"]) {
2104
+ slotRefNodes.push(childNode);
2807
2105
  }
2106
+ slotRefNodes.push(...getAllChildSlotNodes(childNode.childNodes));
2808
2107
  }
2809
- if (rootAppliedStyles.has(elm)) {
2810
- rootAppliedStyles.delete(elm);
2108
+ return slotRefNodes;
2109
+ };
2110
+ var getSlotName = (node) => node["s-sn"] || node.nodeType === 1 && node.getAttribute("slot") || "";
2111
+ var getHostSlotNode = (childNodes, slotName, hostName) => {
2112
+ let i2 = 0;
2113
+ let childNode;
2114
+ for (; i2 < childNodes.length; i2++) {
2115
+ childNode = childNodes[i2];
2116
+ if (childNode["s-sr"] && childNode["s-sn"] === slotName && childNode["s-hn"] === hostName) {
2117
+ return childNode;
2118
+ }
2119
+ childNode = getHostSlotNode(childNode.childNodes, slotName, hostName);
2120
+ if (childNode) {
2121
+ return childNode;
2122
+ }
2811
2123
  }
2812
- if (elm.shadowRoot && rootAppliedStyles.has(elm.shadowRoot)) {
2813
- rootAppliedStyles.delete(elm.shadowRoot);
2124
+ return null;
2125
+ };
2126
+ var getHostSlotChildNodes = (n, slotName) => {
2127
+ const childNodes = [n];
2128
+ while ((n = n.nextSibling) && n["s-sn"] === slotName) {
2129
+ childNodes.push(n);
2814
2130
  }
2131
+ return childNodes;
2815
2132
  };
2816
2133
 
2817
2134
  // src/runtime/bootstrap-lazy.ts
2818
2135
  var bootstrapLazy = (lazyBundles, options = {}) => {
2819
2136
  var _a;
2820
- if (!win.document) {
2821
- console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");
2822
- return;
2823
- }
2824
2137
  const endBootstrap = createTime();
2825
2138
  const cmpTags = [];
2826
2139
  const exclude = options.exclude || [];
2827
2140
  const customElements2 = win.customElements;
2828
- const head = win.document.head;
2141
+ const head = doc.head;
2829
2142
  const metaCharset = /* @__PURE__ */ head.querySelector("meta[charset]");
2830
- const dataStyles = /* @__PURE__ */ win.document.createElement("style");
2143
+ const dataStyles = /* @__PURE__ */ doc.createElement("style");
2831
2144
  const deferredConnectedCallbacks = [];
2832
2145
  let appLoadFallback;
2833
2146
  let isBootstrapping = true;
2834
2147
  Object.assign(plt, options);
2835
- plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", win.document.baseURI).href;
2148
+ plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", doc.baseURI).href;
2836
2149
  {
2837
2150
  plt.$flags$ |= 2 /* appLoaded */;
2838
2151
  }
2839
- {
2840
- hydrateScopedToShadow();
2841
- }
2842
2152
  let hasSlotRelocation = false;
2843
2153
  lazyBundles.map((lazyBundle) => {
2844
2154
  lazyBundle[1].map((compactMeta) => {
@@ -2909,17 +2219,6 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2909
2219
  }
2910
2220
  disconnectedCallback() {
2911
2221
  plt.jmp(() => disconnectedCallback(this));
2912
- plt.raf(() => {
2913
- var _a3;
2914
- const hostRef = getHostRef(this);
2915
- const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
2916
- if (i2 > -1) {
2917
- deferredConnectedCallbacks.splice(i2, 1);
2918
- }
2919
- if (((_a3 = hostRef == null ? void 0 : hostRef.$vnode$) == null ? void 0 : _a3.$elm$) instanceof Node && !hostRef.$vnode$.$elm$.isConnected) {
2920
- delete hostRef.$vnode$.$elm$;
2921
- }
2922
- });
2923
2222
  }
2924
2223
  componentOnReady() {
2925
2224
  return getHostRef(this).$onReadyPromise$;
@@ -2927,7 +2226,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2927
2226
  };
2928
2227
  {
2929
2228
  if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
2930
- patchPseudoShadowDom(HostElement.prototype);
2229
+ patchPseudoShadowDom(HostElement.prototype, cmpMeta);
2931
2230
  }
2932
2231
  }
2933
2232
  cmpMeta.$lazyBundleId$ = lazyBundle[0];
@@ -2949,7 +2248,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2949
2248
  }
2950
2249
  if (dataStyles.innerHTML.length) {
2951
2250
  dataStyles.setAttribute("data-styles", "");
2952
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
2251
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
2953
2252
  if (nonce != null) {
2954
2253
  dataStyles.setAttribute("nonce", nonce);
2955
2254
  }
@@ -2967,9 +2266,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2967
2266
  endBootstrap();
2968
2267
  };
2969
2268
  var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
2970
- if (listeners && win.document) {
2269
+ if (listeners) {
2971
2270
  listeners.map(([flags, name, method]) => {
2972
- const target = getHostListenerTarget(win.document, elm, flags) ;
2271
+ const target = getHostListenerTarget(elm, flags) ;
2973
2272
  const handler = hostListenerProxy(hostRef, method);
2974
2273
  const opts = hostListenerOpts(flags);
2975
2274
  plt.ael(target, name, handler, opts);
@@ -2988,19 +2287,13 @@ var hostListenerProxy = (hostRef, methodName) => (ev) => {
2988
2287
  }
2989
2288
  }
2990
2289
  } catch (e) {
2991
- consoleError(e, hostRef.$hostElement$);
2290
+ consoleError(e);
2992
2291
  }
2993
2292
  };
2994
- var getHostListenerTarget = (doc, elm, flags) => {
2995
- if (flags & 4 /* TargetDocument */) {
2996
- return doc;
2997
- }
2998
- if (flags & 8 /* TargetWindow */) {
2999
- return win;
3000
- }
3001
- if (flags & 16 /* TargetBody */) {
3002
- return doc.body;
3003
- }
2293
+ var getHostListenerTarget = (elm, flags) => {
2294
+ if (flags & 4 /* TargetDocument */) return doc;
2295
+ if (flags & 8 /* TargetWindow */) return win;
2296
+ if (flags & 16 /* TargetBody */) return doc.body;
3004
2297
  return elm;
3005
2298
  };
3006
2299
  var hostListenerOpts = (flags) => supportsListenerOptions ? {