@ionic/core 8.7.6-dev.11761592056.19dedfdf → 8.7.6-dev.11762211820.1d685d09

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 (515) hide show
  1. package/components/action-sheet.js +8 -6
  2. package/components/alert.js +8 -6
  3. package/components/backdrop.js +5 -3
  4. package/components/button.js +6 -4
  5. package/components/buttons.js +5 -3
  6. package/components/checkbox.js +5 -3
  7. package/components/content.js +5 -3
  8. package/components/data.js +9 -6
  9. package/components/header.js +5 -3
  10. package/components/icon.js +5 -3
  11. package/components/ion-accordion-group.js +5 -3
  12. package/components/ion-accordion.js +5 -3
  13. package/components/ion-app.js +5 -3
  14. package/components/ion-avatar.js +5 -3
  15. package/components/ion-back-button.js +6 -4
  16. package/components/ion-badge.js +5 -3
  17. package/components/ion-breadcrumb.js +6 -4
  18. package/components/ion-breadcrumbs.js +5 -3
  19. package/components/ion-card-content.js +5 -3
  20. package/components/ion-card-header.js +5 -3
  21. package/components/ion-card-subtitle.js +5 -3
  22. package/components/ion-card-title.js +5 -3
  23. package/components/ion-card.js +6 -4
  24. package/components/ion-chip.js +5 -3
  25. package/components/ion-col.js +5 -3
  26. package/components/ion-datetime-button.js +5 -3
  27. package/components/ion-datetime.js +9 -7
  28. package/components/ion-divider.js +5 -3
  29. package/components/ion-fab-button.js +6 -4
  30. package/components/ion-fab-list.js +5 -3
  31. package/components/ion-fab.js +5 -3
  32. package/components/ion-footer.js +5 -3
  33. package/components/ion-grid.js +5 -3
  34. package/components/ion-img.js +5 -3
  35. package/components/ion-infinite-scroll-content.js +5 -3
  36. package/components/ion-infinite-scroll.js +5 -3
  37. package/components/ion-input-otp.js +5 -3
  38. package/components/ion-input-password-toggle.js +5 -3
  39. package/components/ion-input.js +6 -4
  40. package/components/ion-item-divider.js +5 -3
  41. package/components/ion-item-group.js +5 -3
  42. package/components/ion-item-option.js +5 -3
  43. package/components/ion-item-options.js +5 -3
  44. package/components/ion-item-sliding.js +5 -3
  45. package/components/ion-loading.js +8 -6
  46. package/components/ion-menu-button.js +5 -3
  47. package/components/ion-menu-toggle.js +5 -3
  48. package/components/ion-menu.js +5 -3
  49. package/components/ion-nav-link.js +7 -5
  50. package/components/ion-nav.js +6 -4
  51. package/components/ion-note.js +5 -3
  52. package/components/ion-picker-legacy.js +8 -6
  53. package/components/ion-progress-bar.js +5 -3
  54. package/components/ion-range.js +6 -4
  55. package/components/ion-refresher-content.js +5 -3
  56. package/components/ion-refresher.js +5 -3
  57. package/components/ion-reorder-group.js +5 -3
  58. package/components/ion-reorder.js +5 -3
  59. package/components/ion-route-redirect.js +4 -2
  60. package/components/ion-route.js +7 -5
  61. package/components/ion-router-link.js +6 -4
  62. package/components/ion-router-outlet.js +6 -4
  63. package/components/ion-router.js +4 -2
  64. package/components/ion-row.js +5 -3
  65. package/components/ion-searchbar.js +5 -3
  66. package/components/ion-segment-button.js +5 -3
  67. package/components/ion-segment-content.js +5 -3
  68. package/components/ion-segment-view.js +5 -3
  69. package/components/ion-segment.js +5 -3
  70. package/components/ion-select-option.js +5 -3
  71. package/components/ion-select.js +6 -4
  72. package/components/ion-skeleton-text.js +5 -3
  73. package/components/ion-split-pane.js +5 -3
  74. package/components/ion-tab-bar.js +5 -3
  75. package/components/ion-tab-button.js +5 -3
  76. package/components/ion-tab.js +5 -3
  77. package/components/ion-tabs.js +5 -3
  78. package/components/ion-text.js +5 -3
  79. package/components/ion-textarea.js +6 -4
  80. package/components/ion-thumbnail.js +5 -3
  81. package/components/ion-toast.js +8 -6
  82. package/components/ion-toggle.js +5 -3
  83. package/components/item.js +10 -7
  84. package/components/label.js +5 -3
  85. package/components/list-header.js +5 -3
  86. package/components/list.js +5 -3
  87. package/components/modal.js +10 -8
  88. package/components/picker-column-option.js +5 -3
  89. package/components/picker-column.js +5 -3
  90. package/components/picker-column2.js +5 -3
  91. package/components/picker.js +5 -3
  92. package/components/popover.js +9 -7
  93. package/components/radio-group.js +5 -3
  94. package/components/radio.js +5 -3
  95. package/components/ripple-effect.js +5 -3
  96. package/components/select-modal.js +7 -5
  97. package/components/select-popover.js +7 -5
  98. package/components/spinner.js +5 -3
  99. package/components/title.js +5 -3
  100. package/components/toolbar.js +5 -3
  101. package/dist/cjs/{animation-Bcz4qmJk.js → animation-BYsP2q5j.js} +3 -2
  102. package/dist/cjs/app-globals-CrtAvKxl.js +10 -0
  103. package/dist/cjs/{button-active-1nO6qpCH.js → button-active-CDa7BeCl.js} +2 -2
  104. package/dist/cjs/{capacitor-CzFst28-.js → capacitor-BMhHF0O5.js} +3 -3
  105. package/dist/cjs/{config-DGKt4XfG.js → config-C5fsO43a.js} +1 -1
  106. package/dist/cjs/{data-B3i-krcw.js → data-MoL8Ckx5.js} +10 -7
  107. package/dist/cjs/{framework-delegate-DfEY5uyC.js → framework-delegate-Bwdk9vFS.js} +2 -2
  108. package/dist/cjs/{haptic-DbqPcCc9.js → haptic-Cy3moXzO.js} +1 -1
  109. package/dist/cjs/{helpers-DmAvmm2T.js → helpers-DnouLczu.js} +1 -1
  110. package/dist/cjs/{index-YEjC0pvJ.js → index-Bq6U5NAb.js} +8 -7
  111. package/dist/cjs/{index-CmckMMX1.js → index-D6Wc6v08.js} +310 -691
  112. package/dist/cjs/{index-CaZ3uzAD.js → index-DUoP_H1L.js} +2 -2
  113. package/dist/cjs/{index-DxVhwe3d.js → index-Dbl8V7hw.js} +4 -4
  114. package/dist/cjs/{index-DcPe_YcG.js → index-XjN3PjKG.js} +9 -8
  115. package/dist/cjs/index.cjs.js +15 -14
  116. package/dist/cjs/{input-shims-BwdlNkON.js → input-shims-D6DHFHsE.js} +17 -16
  117. package/dist/cjs/{input.utils-CfjyQhpu.js → input.utils-BVyJKWft.js} +4 -3
  118. package/dist/cjs/ion-accordion_2.cjs.entry.js +7 -6
  119. package/dist/cjs/ion-action-sheet.cjs.entry.js +11 -10
  120. package/dist/cjs/ion-alert.cjs.entry.js +14 -13
  121. package/dist/cjs/ion-app_8.cjs.entry.js +22 -21
  122. package/dist/cjs/ion-avatar_3.cjs.entry.js +9 -8
  123. package/dist/cjs/ion-back-button.cjs.entry.js +6 -5
  124. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -2
  125. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +7 -6
  126. package/dist/cjs/ion-button_2.cjs.entry.js +6 -5
  127. package/dist/cjs/ion-card_5.cjs.entry.js +8 -7
  128. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -3
  129. package/dist/cjs/ion-chip.cjs.entry.js +5 -4
  130. package/dist/cjs/ion-col_3.cjs.entry.js +5 -4
  131. package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -4
  132. package/dist/cjs/ion-datetime_3.cjs.entry.js +19 -18
  133. package/dist/cjs/ion-divider.cjs.entry.js +3 -2
  134. package/dist/cjs/ion-fab_3.cjs.entry.js +7 -6
  135. package/dist/cjs/ion-img.cjs.entry.js +4 -3
  136. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +8 -7
  137. package/dist/cjs/ion-input-otp.cjs.entry.js +4 -3
  138. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +5 -4
  139. package/dist/cjs/ion-input.cjs.entry.js +13 -12
  140. package/dist/cjs/ion-item-option_3.cjs.entry.js +8 -7
  141. package/dist/cjs/ion-item_8.cjs.entry.js +17 -15
  142. package/dist/cjs/ion-loading.cjs.entry.js +9 -8
  143. package/dist/cjs/ion-menu_3.cjs.entry.js +15 -14
  144. package/dist/cjs/ion-modal.cjs.entry.js +63 -62
  145. package/dist/cjs/ion-nav_2.cjs.entry.js +9 -8
  146. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -3
  147. package/dist/cjs/ion-picker-column.cjs.entry.js +9 -8
  148. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  149. package/dist/cjs/ion-popover.cjs.entry.js +10 -9
  150. package/dist/cjs/ion-progress-bar.cjs.entry.js +5 -4
  151. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -4
  152. package/dist/cjs/ion-range.cjs.entry.js +5 -4
  153. package/dist/cjs/ion-refresher_2.cjs.entry.js +15 -14
  154. package/dist/cjs/ion-reorder_2.cjs.entry.js +9 -8
  155. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -2
  156. package/dist/cjs/ion-route_4.cjs.entry.js +4 -3
  157. package/dist/cjs/ion-searchbar.cjs.entry.js +11 -10
  158. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  159. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  160. package/dist/cjs/ion-segment_2.cjs.entry.js +5 -4
  161. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -7
  162. package/dist/cjs/ion-select_3.cjs.entry.js +21 -20
  163. package/dist/cjs/ion-spinner.cjs.entry.js +5 -4
  164. package/dist/cjs/ion-split-pane.cjs.entry.js +3 -2
  165. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +10 -9
  166. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  167. package/dist/cjs/ion-text.cjs.entry.js +3 -2
  168. package/dist/cjs/ion-textarea.cjs.entry.js +9 -8
  169. package/dist/cjs/ion-toast.cjs.entry.js +14 -13
  170. package/dist/cjs/ion-toggle.cjs.entry.js +10 -9
  171. package/dist/cjs/ionic-global-DuRUel5m.js +491 -0
  172. package/dist/cjs/ionic.cjs.js +6 -4
  173. package/dist/cjs/{ios.transition-BMRClUxZ.js → ios.transition-2wtm_6Ok.js} +5 -4
  174. package/dist/cjs/{keyboard-nXDIskl9.js → keyboard-C1Ds9WQH.js} +4 -3
  175. package/dist/cjs/{keyboard-Chl5cusY.js → keyboard-UYQhk8rB.js} +1 -1
  176. package/dist/cjs/{keyboard-controller-yLvXRMuh.js → keyboard-controller-ts0z4BIe.js} +10 -9
  177. package/dist/cjs/loader.cjs.js +5 -3
  178. package/dist/cjs/{md.transition-D2ZL4jgW.js → md.transition-DCNdoS7u.js} +5 -4
  179. package/dist/cjs/{notch-controller-S50JyZJs.js → notch-controller-BX7CnNaL.js} +4 -4
  180. package/dist/cjs/{overlays-XYRfwd6H.js → overlays-pdcfssMG.js} +9 -8
  181. package/dist/cjs/{status-tap-DMaRrHIS.js → status-tap-e-hyosXV.js} +3 -3
  182. package/dist/cjs/{swipe-back-CEVlQT7C.js → swipe-back-CR060nOX.js} +2 -2
  183. package/dist/collection/collection-manifest.json +1 -1
  184. package/dist/collection/components/accordion/accordion.js +6 -6
  185. package/dist/collection/components/accordion-group/accordion-group.js +10 -10
  186. package/dist/collection/components/action-sheet/action-sheet.js +16 -21
  187. package/dist/collection/components/alert/alert.js +18 -24
  188. package/dist/collection/components/avatar/avatar.js +5 -5
  189. package/dist/collection/components/back-button/back-button.js +10 -11
  190. package/dist/collection/components/backdrop/backdrop.js +3 -3
  191. package/dist/collection/components/badge/badge.js +10 -10
  192. package/dist/collection/components/breadcrumb/breadcrumb.js +20 -21
  193. package/dist/collection/components/breadcrumbs/breadcrumbs.js +6 -6
  194. package/dist/collection/components/button/button.js +25 -26
  195. package/dist/collection/components/buttons/buttons.js +1 -1
  196. package/dist/collection/components/card/card.js +15 -16
  197. package/dist/collection/components/card-header/card-header.js +3 -3
  198. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
  199. package/dist/collection/components/card-title/card-title.js +2 -2
  200. package/dist/collection/components/checkbox/checkbox.js +20 -20
  201. package/dist/collection/components/chip/chip.js +9 -9
  202. package/dist/collection/components/col/col.js +60 -60
  203. package/dist/collection/components/content/content.js +9 -9
  204. package/dist/collection/components/datetime/datetime.js +36 -40
  205. package/dist/collection/components/datetime-button/datetime-button.js +4 -4
  206. package/dist/collection/components/divider/divider.js +2 -2
  207. package/dist/collection/components/fab/fab.js +6 -6
  208. package/dist/collection/components/fab-button/fab-button.js +20 -21
  209. package/dist/collection/components/fab-list/fab-list.js +2 -2
  210. package/dist/collection/components/footer/footer.js +3 -3
  211. package/dist/collection/components/grid/grid.js +1 -1
  212. package/dist/collection/components/header/header.js +4 -4
  213. package/dist/collection/components/img/img.js +4 -4
  214. package/dist/collection/components/infinite-scroll/infinite-scroll.js +4 -4
  215. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -4
  216. package/dist/collection/components/input/input.js +54 -55
  217. package/dist/collection/components/input-otp/input-otp.js +17 -17
  218. package/dist/collection/components/input-password-toggle/input-password-toggle.js +7 -7
  219. package/dist/collection/components/item/item.ionic.css +9 -0
  220. package/dist/collection/components/item/item.js +23 -23
  221. package/dist/collection/components/item-divider/item-divider.js +3 -3
  222. package/dist/collection/components/item-option/item-option.js +16 -16
  223. package/dist/collection/components/item-options/item-options.js +1 -1
  224. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  225. package/dist/collection/components/label/label.js +4 -4
  226. package/dist/collection/components/list/list.js +5 -5
  227. package/dist/collection/components/list-header/list-header.js +4 -4
  228. package/dist/collection/components/loading/loading.js +18 -22
  229. package/dist/collection/components/menu/menu.js +10 -10
  230. package/dist/collection/components/menu-button/menu-button.js +7 -7
  231. package/dist/collection/components/menu-toggle/menu-toggle.js +3 -3
  232. package/dist/collection/components/modal/modal.js +26 -33
  233. package/dist/collection/components/nav/nav.js +5 -8
  234. package/dist/collection/components/nav-link/nav-link.js +3 -5
  235. package/dist/collection/components/note/note.js +2 -2
  236. package/dist/collection/components/picker-column/picker-column.js +5 -5
  237. package/dist/collection/components/picker-column-option/picker-column-option.js +4 -4
  238. package/dist/collection/components/picker-legacy/picker.js +13 -19
  239. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -1
  240. package/dist/collection/components/popover/popover.js +28 -33
  241. package/dist/collection/components/progress-bar/progress-bar.js +8 -8
  242. package/dist/collection/components/radio/radio.js +11 -11
  243. package/dist/collection/components/radio-group/radio-group.js +10 -10
  244. package/dist/collection/components/range/range.js +19 -20
  245. package/dist/collection/components/refresher/refresher.js +6 -6
  246. package/dist/collection/components/refresher-content/refresher-content.js +8 -8
  247. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  248. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  249. package/dist/collection/components/route/route.js +3 -6
  250. package/dist/collection/components/route-redirect/route-redirect.js +4 -4
  251. package/dist/collection/components/router/router.js +2 -2
  252. package/dist/collection/components/router-link/router-link.js +9 -10
  253. package/dist/collection/components/router-outlet/router-outlet.js +2 -5
  254. package/dist/collection/components/searchbar/searchbar.js +35 -35
  255. package/dist/collection/components/segment/segment.js +8 -8
  256. package/dist/collection/components/segment-button/segment-button.js +6 -6
  257. package/dist/collection/components/segment-view/segment-view.js +1 -1
  258. package/dist/collection/components/select/select.ionic.css +11 -6
  259. package/dist/collection/components/select/select.js +37 -37
  260. package/dist/collection/components/select-modal/select-modal.ionic.css +3 -0
  261. package/dist/collection/components/select-modal/select-modal.js +4 -5
  262. package/dist/collection/components/select-option/select-option.js +3 -3
  263. package/dist/collection/components/select-popover/select-popover.js +8 -9
  264. package/dist/collection/components/skeleton-text/skeleton-text.js +1 -1
  265. package/dist/collection/components/spinner/spinner.js +9 -9
  266. package/dist/collection/components/split-pane/split-pane.js +4 -4
  267. package/dist/collection/components/tab/tab.js +5 -6
  268. package/dist/collection/components/tab-bar/tab-bar.js +8 -8
  269. package/dist/collection/components/tab-button/tab-button.js +16 -16
  270. package/dist/collection/components/tabs/tabs.js +1 -1
  271. package/dist/collection/components/text/text.js +2 -2
  272. package/dist/collection/components/textarea/textarea.js +43 -44
  273. package/dist/collection/components/title/title.js +4 -4
  274. package/dist/collection/components/toast/toast.js +29 -34
  275. package/dist/collection/components/toggle/toggle.js +17 -17
  276. package/dist/collection/components/toolbar/toolbar.js +2 -2
  277. package/dist/docs.json +2 -55
  278. package/dist/esm/{animation-Cgfm6Out.js → animation-DGDOQ6ES.js} +2 -1
  279. package/dist/esm/app-globals-BNKecRVD.js +8 -0
  280. package/dist/esm/{button-active-DvzVF2u_.js → button-active-C_l8DIlb.js} +2 -2
  281. package/dist/esm/{capacitor-Dvc8Ydvg.js → capacitor-CiBLEyrT.js} +1 -1
  282. package/dist/esm/{config-DwiPHIF5.js → config-mCdtaoPe.js} +1 -1
  283. package/dist/esm/{data-HHZs0eLV.js → data-DFCY8gnk.js} +10 -7
  284. package/dist/esm/{framework-delegate-B4Rily6A.js → framework-delegate-D2mUP0WI.js} +2 -2
  285. package/dist/esm/{haptic-ZZTn7IWt.js → haptic-7RTk38ue.js} +1 -1
  286. package/dist/esm/{helpers-D_90HVv6.js → helpers-Bsml3FcE.js} +1 -1
  287. package/dist/esm/{index-ByqmqxGO.js → index-BpFi2B8W.js} +2 -2
  288. package/dist/esm/{index-BBrR3goV.js → index-C8IsBmNU.js} +306 -681
  289. package/dist/esm/{index-D4D_NUAr.js → index-DWD4QoaP.js} +4 -3
  290. package/dist/esm/{index-BoSPzYKk.js → index-Djo-Eq70.js} +4 -4
  291. package/dist/esm/{index-k4x4i7EL.js → index-rXea6WR_.js} +3 -2
  292. package/dist/esm/index.js +11 -10
  293. package/dist/esm/{input-shims-DEtEJcaS.js → input-shims-Bz3HiPwU.js} +6 -5
  294. package/dist/esm/{input.utils-DNE0LB5g.js → input.utils-BQAE1QTA.js} +3 -2
  295. package/dist/esm/ion-accordion_2.entry.js +3 -2
  296. package/dist/esm/ion-action-sheet.entry.js +9 -8
  297. package/dist/esm/ion-alert.entry.js +10 -9
  298. package/dist/esm/ion-app_8.entry.js +10 -9
  299. package/dist/esm/ion-avatar_3.entry.js +2 -1
  300. package/dist/esm/ion-back-button.entry.js +3 -2
  301. package/dist/esm/ion-backdrop.entry.js +2 -1
  302. package/dist/esm/ion-breadcrumb_2.entry.js +3 -2
  303. package/dist/esm/ion-button_2.entry.js +3 -2
  304. package/dist/esm/ion-card_5.entry.js +3 -2
  305. package/dist/esm/ion-checkbox.entry.js +3 -2
  306. package/dist/esm/ion-chip.entry.js +2 -1
  307. package/dist/esm/ion-col_3.entry.js +2 -1
  308. package/dist/esm/ion-datetime-button.entry.js +4 -3
  309. package/dist/esm/ion-datetime_3.entry.js +9 -8
  310. package/dist/esm/ion-divider.entry.js +2 -1
  311. package/dist/esm/ion-fab_3.entry.js +3 -2
  312. package/dist/esm/ion-img.entry.js +3 -2
  313. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -4
  314. package/dist/esm/ion-input-otp.entry.js +3 -2
  315. package/dist/esm/ion-input-password-toggle.entry.js +2 -1
  316. package/dist/esm/ion-input.entry.js +5 -4
  317. package/dist/esm/ion-item-option_3.entry.js +4 -3
  318. package/dist/esm/ion-item_8.entry.js +7 -5
  319. package/dist/esm/ion-loading.entry.js +7 -6
  320. package/dist/esm/ion-menu_3.entry.js +7 -6
  321. package/dist/esm/ion-modal.entry.js +11 -10
  322. package/dist/esm/ion-nav_2.entry.js +6 -5
  323. package/dist/esm/ion-picker-column-option.entry.js +3 -2
  324. package/dist/esm/ion-picker-column.entry.js +5 -4
  325. package/dist/esm/ion-picker.entry.js +2 -2
  326. package/dist/esm/ion-popover.entry.js +7 -6
  327. package/dist/esm/ion-progress-bar.entry.js +3 -2
  328. package/dist/esm/ion-radio_2.entry.js +3 -2
  329. package/dist/esm/ion-range.entry.js +4 -3
  330. package/dist/esm/ion-refresher_2.entry.js +8 -7
  331. package/dist/esm/ion-reorder_2.entry.js +6 -5
  332. package/dist/esm/ion-ripple-effect.entry.js +2 -1
  333. package/dist/esm/ion-route_4.entry.js +3 -2
  334. package/dist/esm/ion-searchbar.entry.js +3 -2
  335. package/dist/esm/ion-segment-content.entry.js +1 -1
  336. package/dist/esm/ion-segment-view.entry.js +1 -1
  337. package/dist/esm/ion-segment_2.entry.js +3 -2
  338. package/dist/esm/ion-select-modal.entry.js +7 -6
  339. package/dist/esm/ion-select_3.entry.js +9 -8
  340. package/dist/esm/ion-spinner.entry.js +2 -1
  341. package/dist/esm/ion-split-pane.entry.js +2 -1
  342. package/dist/esm/ion-tab-bar_2.entry.js +6 -5
  343. package/dist/esm/ion-tab_2.entry.js +3 -3
  344. package/dist/esm/ion-text.entry.js +2 -1
  345. package/dist/esm/ion-textarea.entry.js +5 -4
  346. package/dist/esm/ion-toast.entry.js +7 -6
  347. package/dist/esm/ion-toggle.entry.js +5 -4
  348. package/dist/esm/ionic-global-2R0iPB51.js +480 -0
  349. package/dist/esm/ionic.js +6 -4
  350. package/dist/esm/{ios.transition-C_-UP8wE.js → ios.transition-cQ5XYp4s.js} +5 -4
  351. package/dist/esm/{keyboard-BsZp3qPH.js → keyboard-DuUgrXrK.js} +4 -3
  352. package/dist/esm/{keyboard-Cvigb3Rv.js → keyboard-WCK1pWfR.js} +1 -1
  353. package/dist/esm/{keyboard-controller-lts2Pswq.js → keyboard-controller-Bc4alOiF.js} +3 -2
  354. package/dist/esm/loader.js +5 -3
  355. package/dist/esm/{md.transition-BDWkLsNw.js → md.transition-CYFYc3-3.js} +5 -4
  356. package/dist/esm/{notch-controller-ClKrf2l9.js → notch-controller-DO30Bsls.js} +2 -2
  357. package/dist/esm/{overlays-C1ahtepl.js → overlays-Da_6xSKI.js} +4 -3
  358. package/dist/esm/{status-tap-DLatL9pG.js → status-tap-DXVlluKS.js} +3 -3
  359. package/dist/esm/{swipe-back-YYylMb0l.js → swipe-back-DNhAt9fY.js} +2 -2
  360. package/dist/html.html-data.json +0 -212
  361. package/dist/ionic/index.esm.js +1 -1
  362. package/dist/ionic/ionic.esm.js +1 -1
  363. package/dist/ionic/p--8Ga2Cg0.js +4 -0
  364. package/dist/ionic/p-16c5a01c.entry.js +4 -0
  365. package/dist/ionic/p-22c02aea.entry.js +4 -0
  366. package/dist/ionic/p-23e4b68a.entry.js +4 -0
  367. package/dist/ionic/p-28571945.entry.js +4 -0
  368. package/dist/ionic/p-2bab0853.entry.js +4 -0
  369. package/dist/ionic/p-2e19a4dd.entry.js +4 -0
  370. package/dist/ionic/p-2e900f67.entry.js +4 -0
  371. package/dist/ionic/p-3622a9ea.entry.js +4 -0
  372. package/dist/ionic/p-3a6a92ab.entry.js +4 -0
  373. package/dist/ionic/{p-c428cbac.entry.js → p-3cb3d194.entry.js} +1 -1
  374. package/dist/ionic/p-418e4330.entry.js +4 -0
  375. package/dist/ionic/p-4261dc5d.entry.js +4 -0
  376. package/dist/ionic/p-4e13d498.entry.js +4 -0
  377. package/dist/ionic/p-55e2352e.entry.js +4 -0
  378. package/dist/ionic/p-56a9319e.entry.js +4 -0
  379. package/dist/ionic/{p-6ea34add.entry.js → p-59a79bd9.entry.js} +1 -1
  380. package/dist/ionic/p-59e6c978.entry.js +4 -0
  381. package/dist/ionic/p-642b022d.entry.js +4 -0
  382. package/dist/ionic/p-64385b66.entry.js +4 -0
  383. package/dist/ionic/p-66397fac.entry.js +4 -0
  384. package/dist/ionic/p-66d094b2.entry.js +4 -0
  385. package/dist/ionic/p-6fac73e6.entry.js +4 -0
  386. package/dist/ionic/p-7d450184.entry.js +4 -0
  387. package/dist/ionic/p-81770a5c.entry.js +4 -0
  388. package/dist/ionic/p-83a116e6.entry.js +4 -0
  389. package/dist/ionic/p-844bd58c.entry.js +4 -0
  390. package/dist/ionic/p-86b82096.entry.js +4 -0
  391. package/dist/ionic/p-87678140.entry.js +4 -0
  392. package/dist/ionic/p-88ef6829.entry.js +4 -0
  393. package/dist/ionic/{p-ae10fb4c.entry.js → p-89743bba.entry.js} +1 -1
  394. package/dist/ionic/p-90320028.entry.js +4 -0
  395. package/dist/ionic/p-91966afa.entry.js +4 -0
  396. package/dist/ionic/p-9bee2bdd.entry.js +4 -0
  397. package/dist/ionic/p-B-N4FEiY.js +4 -0
  398. package/dist/ionic/p-B3uz75uZ.js +4 -0
  399. package/dist/ionic/p-BRd1Ag6P.js +4 -0
  400. package/dist/ionic/p-BbT4IAlw.js +4 -0
  401. package/dist/ionic/{p-BZSKvxFv.js → p-BiTKUjko.js} +1 -1
  402. package/dist/ionic/p-C8IsBmNU.js +5 -0
  403. package/dist/ionic/p-CK1xn1Nt.js +4 -0
  404. package/dist/ionic/p-CK4YXTyz.js +4 -0
  405. package/dist/ionic/p-CeO9Shc9.js +4 -0
  406. package/dist/ionic/p-Cm5sQeXL.js +4 -0
  407. package/dist/ionic/{p-DIZM2shZ.js → p-DBaOCAfc.js} +1 -1
  408. package/dist/ionic/p-DHCQ1qFC.js +4 -0
  409. package/dist/ionic/p-DPNSAVjP.js +4 -0
  410. package/dist/ionic/p-D_8SMvQ3.js +4 -0
  411. package/dist/ionic/p-DbQ5QkTP.js +4 -0
  412. package/dist/ionic/p-DdaOdN_z.js +4 -0
  413. package/dist/ionic/p-Dq8ap6AD.js +4 -0
  414. package/dist/ionic/p-Dv5UHqHj.js +4 -0
  415. package/dist/ionic/{p-BuAY53fC.js → p-DxFexTIr.js} +1 -1
  416. package/dist/ionic/{p-BaAcx1TO.js → p-DyaKZbAH.js} +1 -1
  417. package/dist/ionic/{p-D-g7JYuH.js → p-HpOiAvpC.js} +1 -1
  418. package/dist/ionic/{p-Bi_aZreq.js → p-Q7JLYEUZ.js} +1 -1
  419. package/dist/ionic/p-W-2TssC9.js +4 -0
  420. package/dist/ionic/p-a1128f7f.entry.js +4 -0
  421. package/dist/ionic/p-a57c0cce.entry.js +4 -0
  422. package/dist/ionic/p-acb9905c.entry.js +4 -0
  423. package/dist/ionic/p-b2291ef0.entry.js +4 -0
  424. package/dist/ionic/p-b26aeaf8.entry.js +4 -0
  425. package/dist/ionic/p-c289efa5.entry.js +4 -0
  426. package/dist/ionic/p-c2f738d2.entry.js +4 -0
  427. package/dist/ionic/p-c775e3c0.entry.js +4 -0
  428. package/dist/ionic/p-ce510c06.entry.js +4 -0
  429. package/dist/ionic/p-cea1ee31.entry.js +4 -0
  430. package/dist/ionic/p-d1c60c1c.entry.js +4 -0
  431. package/dist/ionic/p-db90b95a.entry.js +4 -0
  432. package/dist/ionic/p-dcfb2b1d.entry.js +4 -0
  433. package/dist/ionic/p-e2171c27.entry.js +4 -0
  434. package/dist/ionic/p-e28d6a81.entry.js +4 -0
  435. package/dist/ionic/p-ec02238a.entry.js +4 -0
  436. package/dist/ionic/p-ecc8aebb.entry.js +4 -0
  437. package/dist/ionic/p-f3de58bd.entry.js +4 -0
  438. package/dist/ionic/p-f8a835d0.entry.js +4 -0
  439. package/dist/ionic/p-ff757a50.entry.js +4 -0
  440. package/dist/ionic/p-szCM2gDt.js +4 -0
  441. package/dist/ionic/p-vpXGWZiy.js +4 -0
  442. package/dist/types/stencil-public-runtime.d.ts +51 -7
  443. package/hydrate/index.d.ts +2 -0
  444. package/hydrate/index.js +547 -348
  445. package/hydrate/index.mjs +547 -348
  446. package/package.json +2 -2
  447. package/dist/ionic/p-034ef39b.entry.js +0 -4
  448. package/dist/ionic/p-05030d1b.entry.js +0 -4
  449. package/dist/ionic/p-059ceab8.entry.js +0 -4
  450. package/dist/ionic/p-096b5789.entry.js +0 -4
  451. package/dist/ionic/p-09eaefc0.entry.js +0 -4
  452. package/dist/ionic/p-156bba30.entry.js +0 -4
  453. package/dist/ionic/p-238ad727.entry.js +0 -4
  454. package/dist/ionic/p-2c28e54a.entry.js +0 -4
  455. package/dist/ionic/p-2c9459f5.entry.js +0 -4
  456. package/dist/ionic/p-2f1d100c.entry.js +0 -4
  457. package/dist/ionic/p-31331fc3.entry.js +0 -4
  458. package/dist/ionic/p-340e4f62.entry.js +0 -4
  459. package/dist/ionic/p-3bef3778.entry.js +0 -4
  460. package/dist/ionic/p-3c773ecd.entry.js +0 -4
  461. package/dist/ionic/p-47432157.entry.js +0 -4
  462. package/dist/ionic/p-52535bba.entry.js +0 -4
  463. package/dist/ionic/p-56e51161.entry.js +0 -4
  464. package/dist/ionic/p-5770869f.entry.js +0 -4
  465. package/dist/ionic/p-5af619ff.entry.js +0 -4
  466. package/dist/ionic/p-5b44ac3a.entry.js +0 -4
  467. package/dist/ionic/p-5ca4c3b8.entry.js +0 -4
  468. package/dist/ionic/p-6469a540.entry.js +0 -4
  469. package/dist/ionic/p-649e2f92.entry.js +0 -4
  470. package/dist/ionic/p-6e6ce506.entry.js +0 -4
  471. package/dist/ionic/p-6f17f8ed.entry.js +0 -4
  472. package/dist/ionic/p-773f2ac5.entry.js +0 -4
  473. package/dist/ionic/p-80cc8511.entry.js +0 -4
  474. package/dist/ionic/p-82796bb0.entry.js +0 -4
  475. package/dist/ionic/p-8c3d3bca.entry.js +0 -4
  476. package/dist/ionic/p-9000bd9f.entry.js +0 -4
  477. package/dist/ionic/p-9aef9229.entry.js +0 -4
  478. package/dist/ionic/p-9cbab197.entry.js +0 -4
  479. package/dist/ionic/p-BJ-EYogw.js +0 -4
  480. package/dist/ionic/p-BKDxK6_S.js +0 -4
  481. package/dist/ionic/p-BMPzyWDm.js +0 -4
  482. package/dist/ionic/p-BTqHM5hg.js +0 -4
  483. package/dist/ionic/p-BZR5I9yn.js +0 -4
  484. package/dist/ionic/p-BeJdFlAB.js +0 -4
  485. package/dist/ionic/p-BpUl-Ubc.js +0 -4
  486. package/dist/ionic/p-CnPZjTVf.js +0 -4
  487. package/dist/ionic/p-D6quDhlh.js +0 -4
  488. package/dist/ionic/p-DJD59Sq4.js +0 -4
  489. package/dist/ionic/p-DZmL55Qn.js +0 -4
  490. package/dist/ionic/p-DjxV6ul_.js +0 -4
  491. package/dist/ionic/p-DkXsr7m2.js +0 -4
  492. package/dist/ionic/p-DnNglnwY.js +0 -4
  493. package/dist/ionic/p-Dpa-63kX.js +0 -4
  494. package/dist/ionic/p-HOJ_eq4V.js +0 -5
  495. package/dist/ionic/p-MBiM0IFp.js +0 -4
  496. package/dist/ionic/p-a1af546a.entry.js +0 -4
  497. package/dist/ionic/p-a2218a8b.entry.js +0 -4
  498. package/dist/ionic/p-a22b46e4.entry.js +0 -4
  499. package/dist/ionic/p-c2122301.entry.js +0 -4
  500. package/dist/ionic/p-c565e353.entry.js +0 -4
  501. package/dist/ionic/p-c6301ef9.entry.js +0 -4
  502. package/dist/ionic/p-c83a1254.entry.js +0 -4
  503. package/dist/ionic/p-c9313bb8.entry.js +0 -4
  504. package/dist/ionic/p-cb6bb34f.entry.js +0 -4
  505. package/dist/ionic/p-d215bbdc.entry.js +0 -4
  506. package/dist/ionic/p-de6964a2.entry.js +0 -4
  507. package/dist/ionic/p-ded5613d.entry.js +0 -4
  508. package/dist/ionic/p-e0eae83d.entry.js +0 -4
  509. package/dist/ionic/p-e5005342.entry.js +0 -4
  510. package/dist/ionic/p-e7925263.entry.js +0 -4
  511. package/dist/ionic/p-eZzo_1L1.js +0 -4
  512. package/dist/ionic/p-eebf0420.entry.js +0 -4
  513. package/dist/ionic/p-f1bb4947.entry.js +0 -4
  514. package/dist/ionic/p-facf3c23.entry.js +0 -4
  515. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +0 -143
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  const NAMESPACE = 'ionic';
5
- const BUILD = /* ionic */ { experimentalSlotFixes: true, hydratedSelectorName: "hydrated", lazyLoad: true, shadowDom: true, slotRelocation: true, updatable: true};
5
+ const BUILD = /* ionic */ { experimentalSlotFixes: true, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, shadowDom: true, slotRelocation: true, updatable: true};
6
6
 
7
7
  // TODO(FW-2832): types
8
8
  class Config {
@@ -121,485 +121,8 @@ const printRequiredElementError = (el, ...targetSelectors) => {
121
121
  return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
122
122
  };
123
123
 
124
- const win$1 = typeof window !== 'undefined' ? window : undefined;
125
- const doc = typeof document !== 'undefined' ? document : undefined;
126
-
127
- /**
128
- * CloseWatcher is a newer API that lets
129
- * use detect the hardware back button event
130
- * in a web browser: https://caniuse.com/?search=closewatcher
131
- * However, not every browser supports it yet.
132
- *
133
- * This needs to be a function so that we can
134
- * check the config once it has been set.
135
- * Otherwise, this code would be evaluated the
136
- * moment this file is evaluated which could be
137
- * before the config is set.
138
- */
139
- const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
140
- /**
141
- * When hardwareBackButton: false in config,
142
- * we need to make sure we also block the default
143
- * webview behavior. If we don't then it will be
144
- * possible for users to navigate backward while
145
- * an overlay is still open. Additionally, it will
146
- * give the appearance that the hardwareBackButton
147
- * config is not working as the page transition
148
- * will still happen.
149
- */
150
- const blockHardwareBackButton = () => {
151
- document.addEventListener('backbutton', () => { }); // eslint-disable-line
152
- };
153
- const startHardwareBackButton = () => {
154
- const doc = document;
155
- let busy = false;
156
- const backButtonCallback = () => {
157
- if (busy) {
158
- return;
159
- }
160
- let index = 0;
161
- let handlers = [];
162
- const ev = new CustomEvent('ionBackButton', {
163
- bubbles: false,
164
- detail: {
165
- register(priority, handler) {
166
- handlers.push({ priority, handler, id: index++ });
167
- },
168
- },
169
- });
170
- doc.dispatchEvent(ev);
171
- const executeAction = async (handlerRegister) => {
172
- try {
173
- if (handlerRegister === null || handlerRegister === void 0 ? void 0 : handlerRegister.handler) {
174
- const result = handlerRegister.handler(processHandlers);
175
- if (result != null) {
176
- await result;
177
- }
178
- }
179
- }
180
- catch (e) {
181
- printIonError('[ion-app] - Exception in startHardwareBackButton:', e);
182
- }
183
- };
184
- const processHandlers = () => {
185
- if (handlers.length > 0) {
186
- let selectedHandler = {
187
- priority: Number.MIN_SAFE_INTEGER,
188
- handler: () => undefined,
189
- id: -1,
190
- };
191
- handlers.forEach((handler) => {
192
- if (handler.priority >= selectedHandler.priority) {
193
- selectedHandler = handler;
194
- }
195
- });
196
- busy = true;
197
- handlers = handlers.filter((handler) => handler.id !== selectedHandler.id);
198
- executeAction(selectedHandler).then(() => (busy = false));
199
- }
200
- };
201
- processHandlers();
202
- };
203
- /**
204
- * If the CloseWatcher is defined then
205
- * we don't want to also listen for the native
206
- * backbutton event otherwise we may get duplicate
207
- * events firing.
208
- */
209
- if (shouldUseCloseWatcher()) {
210
- let watcher;
211
- const configureWatcher = () => {
212
- watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
213
- watcher = new win$1.CloseWatcher();
214
- /**
215
- * Once a close request happens
216
- * the watcher gets destroyed.
217
- * As a result, we need to re-configure
218
- * the watcher so we can respond to other
219
- * close requests.
220
- */
221
- watcher.onclose = () => {
222
- backButtonCallback();
223
- configureWatcher();
224
- };
225
- };
226
- configureWatcher();
227
- }
228
- else {
229
- doc.addEventListener('backbutton', backButtonCallback);
230
- }
231
- };
232
- const OVERLAY_BACK_BUTTON_PRIORITY = 100;
233
- const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
234
-
235
- var hardwareBackButton = /*#__PURE__*/Object.freeze({
236
- __proto__: null,
237
- MENU_BACK_BUTTON_PRIORITY: MENU_BACK_BUTTON_PRIORITY,
238
- OVERLAY_BACK_BUTTON_PRIORITY: OVERLAY_BACK_BUTTON_PRIORITY,
239
- blockHardwareBackButton: blockHardwareBackButton,
240
- shouldUseCloseWatcher: shouldUseCloseWatcher,
241
- startHardwareBackButton: startHardwareBackButton
242
- });
243
-
244
- const getPlatforms = (win) => setupPlatforms(win);
245
- const isPlatform = (winOrPlatform, platform) => {
246
- if (typeof winOrPlatform === 'string') {
247
- platform = winOrPlatform;
248
- winOrPlatform = undefined;
249
- }
250
- return getPlatforms(winOrPlatform).includes(platform);
251
- };
252
- const setupPlatforms = (win = window) => {
253
- if (typeof win === 'undefined') {
254
- return [];
255
- }
256
- win.Ionic = win.Ionic || {};
257
- let platforms = win.Ionic.platforms;
258
- if (platforms == null) {
259
- platforms = win.Ionic.platforms = detectPlatforms(win);
260
- platforms.forEach((p) => win.document.documentElement.classList.add(`plt-${p}`));
261
- }
262
- return platforms;
263
- };
264
- const detectPlatforms = (win) => {
265
- const customPlatformMethods = config.get('platform');
266
- return Object.keys(PLATFORMS_MAP).filter((p) => {
267
- const customMethod = customPlatformMethods === null || customPlatformMethods === void 0 ? void 0 : customPlatformMethods[p];
268
- return typeof customMethod === 'function' ? customMethod(win) : PLATFORMS_MAP[p](win);
269
- });
270
- };
271
- const isMobileWeb = (win) => isMobile(win) && !isHybrid(win);
272
- const isIpad = (win) => {
273
- // iOS 12 and below
274
- if (testUserAgent(win, /iPad/i)) {
275
- return true;
276
- }
277
- // iOS 13+
278
- if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {
279
- return true;
280
- }
281
- return false;
282
- };
283
- const isIphone = (win) => testUserAgent(win, /iPhone/i);
284
- const isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);
285
- const isAndroid = (win) => testUserAgent(win, /android|sink/i);
286
- const isAndroidTablet = (win) => {
287
- return isAndroid(win) && !testUserAgent(win, /mobile/i);
288
- };
289
- const isPhablet = (win) => {
290
- const width = win.innerWidth;
291
- const height = win.innerHeight;
292
- const smallest = Math.min(width, height);
293
- const largest = Math.max(width, height);
294
- return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;
295
- };
296
- const isTablet = (win) => {
297
- const width = win.innerWidth;
298
- const height = win.innerHeight;
299
- const smallest = Math.min(width, height);
300
- const largest = Math.max(width, height);
301
- return isIpad(win) || isAndroidTablet(win) || (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400);
302
- };
303
- const isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');
304
- const isDesktop = (win) => !isMobile(win);
305
- const isHybrid = (win) => isCordova(win) || isCapacitorNative(win);
306
- const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
307
- const isCapacitorNative = (win) => {
308
- const capacitor = win['Capacitor'];
309
- // TODO(ROU-11693): Remove when we no longer support Capacitor 2, which does not have isNativePlatform
310
- return !!((capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNative) || ((capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNativePlatform) && !!capacitor.isNativePlatform()));
311
- };
312
- const isElectron = (win) => testUserAgent(win, /electron/i);
313
- const isPWA = (win) => { var _a; return !!(((_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, '(display-mode: standalone)').matches) || win.navigator.standalone); };
314
- const testUserAgent = (win, expr) => expr.test(win.navigator.userAgent);
315
- const matchMedia = (win, query) => { var _a; return (_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, query).matches; };
316
- const PLATFORMS_MAP = {
317
- ipad: isIpad,
318
- iphone: isIphone,
319
- ios: isIOS,
320
- android: isAndroid,
321
- phablet: isPhablet,
322
- tablet: isTablet,
323
- cordova: isCordova,
324
- capacitor: isCapacitorNative,
325
- electron: isElectron,
326
- pwa: isPWA,
327
- mobile: isMobile,
328
- mobileweb: isMobileWeb,
329
- desktop: isDesktop,
330
- hybrid: isHybrid,
331
- };
332
-
333
- let defaultMode;
334
- let defaultTheme = 'md';
335
- /**
336
- * Prints a warning message to the developer to inform them of
337
- * an invalid configuration of mode and theme.
338
- * @param mode The invalid mode configuration.
339
- * @param theme The invalid theme configuration.
340
- */
341
- const printInvalidModeWarning = (mode, theme, ref) => {
342
- printIonWarning(`Invalid mode and theme combination provided: mode: ${mode}, theme: ${theme}. Fallback mode ${getDefaultModeForTheme(theme)} will be used.`, ref);
343
- };
344
- /**
345
- * Validates if a mode is accepted for a theme configuration.
346
- * @param mode The mode to validate.
347
- * @param theme The theme the mode is being used with.
348
- * @returns `true` if the mode is valid for the theme, `false` if invalid.
349
- */
350
- const isModeValidForTheme = (mode, theme) => {
351
- if (mode === 'md') {
352
- return theme === 'md' || theme === 'ionic';
353
- }
354
- else if (mode === 'ios') {
355
- return theme === 'ios' || theme === 'ionic';
356
- }
357
- return false;
358
- };
359
- /**
360
- * Returns the default mode for a specified theme.
361
- * @param theme The theme to return a default mode for.
362
- * @returns The default mode, either `ios` or `md`.
363
- */
364
- const getDefaultModeForTheme = (theme) => {
365
- if (theme === 'ios') {
366
- return 'ios';
367
- }
368
- return 'md';
369
- };
370
- /**
371
- * Returns the default theme for a specified mode.
372
- * @param mode The mode to return a default theme for.
373
- * @returns The default theme.
374
- */
375
- const getDefaultThemeForMode = (mode) => {
376
- if (mode === 'ios') {
377
- return 'ios';
378
- }
379
- return 'md';
380
- };
381
- const isModeSupported = (elmMode) => ['ios', 'md'].includes(elmMode);
382
- const isThemeSupported = (theme) => ['ios', 'md', 'ionic'].includes(theme);
383
- const isIonicElement = (elm) => { var _a; return (_a = elm.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('ION-'); };
384
- /**
385
- * Returns the mode value of the element reference or the closest
386
- * parent with a valid mode.
387
- * @param ref The element reference to look up the mode for.
388
- * @param theme Optionally can provide the theme to avoid an additional look-up.
389
- * @returns The mode value for the element reference.
390
- */
391
- const getIonMode = (ref, theme = getIonTheme(ref)) => {
392
- var _a;
393
- if ((ref === null || ref === void 0 ? void 0 : ref.mode) && isModeValidForTheme(ref === null || ref === void 0 ? void 0 : ref.mode, theme)) {
394
- /**
395
- * If the reference already has a mode configuration,
396
- * use it instead of performing a look-up.
397
- */
398
- return ref.mode;
399
- }
400
- else {
401
- const el = getElement(ref);
402
- const mode = ((_a = el.closest('[mode]')) === null || _a === void 0 ? void 0 : _a.getAttribute('mode')) || defaultMode;
403
- if (isModeValidForTheme(mode, theme)) {
404
- /**
405
- * The mode configuration is supported for the configured theme.
406
- */
407
- return mode;
408
- }
409
- else {
410
- printInvalidModeWarning(mode, theme, ref);
411
- }
412
- }
413
- return getDefaultModeForTheme(theme);
414
- };
415
- /**
416
- * Returns the theme value of the element reference or the closest
417
- * parent with a valid theme.
418
- *
419
- * @param ref The element reference to look up the theme for.
420
- * @returns The theme value for the element reference, defaults to
421
- * the default theme if it cannot be determined.
422
- */
423
- const getIonTheme = (ref) => {
424
- var _a, _b;
425
- const theme = ref && getMode(ref);
426
- if (theme) {
427
- return theme;
428
- }
429
- /**
430
- * If the theme cannot be detected, then fallback to using
431
- * the `mode` attribute to determine the style sheets to use.
432
- */
433
- const el = getElement(ref);
434
- const mode = (_a = ref === null || ref === void 0 ? void 0 : ref.mode) !== null && _a !== void 0 ? _a : (_b = el.closest('[mode]')) === null || _b === void 0 ? void 0 : _b.getAttribute('mode');
435
- if (mode) {
436
- return getDefaultThemeForMode(mode);
437
- }
438
- /**
439
- * If a mode is not detected, then fallback to using the
440
- * default theme.
441
- */
442
- return defaultTheme;
443
- };
444
- const rIC = (callback) => {
445
- if ('requestIdleCallback' in window) {
446
- window.requestIdleCallback(callback);
447
- }
448
- else {
449
- setTimeout(callback, 32);
450
- }
451
- };
452
- const needInputShims = () => {
453
- /**
454
- * iOS always needs input shims
455
- */
456
- const needsShimsIOS = isPlatform(window, 'ios') && isPlatform(window, 'mobile');
457
- if (needsShimsIOS) {
458
- return true;
459
- }
460
- /**
461
- * Android only needs input shims when running
462
- * in the browser and only if the browser is using the
463
- * new Chrome 108+ resize behavior: https://developer.chrome.com/blog/viewport-resize-behavior/
464
- */
465
- const isAndroidMobileWeb = isPlatform(window, 'android') && isPlatform(window, 'mobileweb');
466
- if (isAndroidMobileWeb) {
467
- return true;
468
- }
469
- return false;
470
- };
471
- const initialize = (userConfig = {}) => {
472
- if (typeof window === 'undefined') {
473
- return;
474
- }
475
- const doc = window.document;
476
- const win = window;
477
- const Ionic = (win.Ionic = win.Ionic || {});
478
- // create the Ionic.config from raw config object (if it exists)
479
- // and convert Ionic.config into a ConfigApi that has a get() fn
480
- const configObj = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, configFromSession(win)), { persistConfig: false }), Ionic.config), configFromURL(win)), userConfig);
481
- config.reset(configObj);
482
- if (config.getBoolean('persistConfig')) {
483
- saveConfig(win, configObj);
484
- }
485
- // Setup platforms
486
- setupPlatforms(win);
487
- Ionic.config = config;
488
- /**
489
- * Check if the mode was set as an attribute on <html>
490
- * which could have been set by the user, or by pre-rendering
491
- * otherwise get the mode via config settings, and fallback to md.
492
- */
493
- Ionic.mode = defaultMode = config.get('mode', doc.documentElement.getAttribute('mode') || (isPlatform(win, 'ios') ? 'ios' : 'md'));
494
- /**
495
- * Check if the theme was set as an attribute on <html>
496
- * which could have been set by the user, or by pre-rendering
497
- * otherwise get the theme via config settings, and fallback to md.
498
- */
499
- Ionic.theme = defaultTheme = config.get('theme', doc.documentElement.getAttribute('theme') || getDefaultThemeForMode(defaultMode));
500
- if (!isModeValidForTheme(defaultMode, defaultTheme)) {
501
- printInvalidModeWarning(defaultMode, defaultTheme, configObj);
502
- defaultMode = getDefaultModeForTheme(defaultTheme);
503
- }
504
- config.set('mode', defaultMode);
505
- doc.documentElement.setAttribute('mode', defaultMode);
506
- doc.documentElement.classList.add(defaultMode);
507
- config.set('theme', defaultTheme);
508
- doc.documentElement.setAttribute('theme', defaultTheme);
509
- doc.documentElement.classList.add(defaultTheme);
510
- if (config.getBoolean('_testing')) {
511
- config.set('animated', false);
512
- }
513
- setMode((elm) => {
514
- /**
515
- * Iterate over all the element nodes, to both validate and
516
- * set the "mode" that is used for determining the styles to
517
- * apply to the element.
518
- *
519
- * setMode refers to Stencil's internal metadata for "mode",
520
- * which is used to set the correct styleUrl for the component.
521
- *
522
- * If the "theme" attribute or property is set, then use it
523
- * to determine the style sheets to use.
524
- *
525
- * If the "mode" attribute or property is set, then use it
526
- * to determine the style sheets to use. This is fallback
527
- * behavior for applications that are not setting the "theme".
528
- */
529
- while (elm) {
530
- const theme = elm.getAttribute('theme');
531
- if (theme) {
532
- if (isThemeSupported(theme)) {
533
- return theme;
534
- }
535
- else if (isIonicElement(elm)) {
536
- printIonWarning(`Invalid theme: "${theme}". Supported themes include: "ios" or "md".`);
537
- }
538
- }
539
- /**
540
- * If a theme is not detected, then fallback to using the
541
- * `mode` attribute to determine the style sheets to use.
542
- */
543
- const elmMode = elm.getAttribute('mode');
544
- if (elmMode) {
545
- if (isModeSupported(elmMode)) {
546
- return elmMode;
547
- }
548
- else if (isIonicElement(elm)) {
549
- printIonWarning(`Invalid mode: "${elmMode}". Ionic modes can be only "ios" or "md"`);
550
- }
551
- }
552
- elm = elm.parentElement;
553
- }
554
- return defaultTheme;
555
- });
556
- // `IonApp` code
557
- // ----------------------------------------------
558
- {
559
- rIC(async () => {
560
- const isHybrid = isPlatform(window, 'hybrid');
561
- if (!config.getBoolean('_testing')) {
562
- import('./index-k4x4i7EL.js').then((module) => module.startTapClick(config));
563
- }
564
- if (config.getBoolean('statusTap', isHybrid)) {
565
- import('./status-tap-DLatL9pG.js').then((module) => module.startStatusTap());
566
- }
567
- if (config.getBoolean('inputShims', needInputShims())) {
568
- /**
569
- * needInputShims() ensures that only iOS and Android
570
- * platforms proceed into this block.
571
- */
572
- const platform = isPlatform(window, 'ios') ? 'ios' : 'android';
573
- import('./input-shims-DEtEJcaS.js').then((module) => module.startInputShims(config, platform));
574
- }
575
- const hardwareBackButtonModule = await Promise.resolve().then(function () { return hardwareBackButton; });
576
- const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
577
- if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
578
- hardwareBackButtonModule.startHardwareBackButton();
579
- }
580
- else {
581
- /**
582
- * If an app sets hardwareBackButton: false and experimentalCloseWatcher: true
583
- * then the close watcher will not be used.
584
- */
585
- if (shouldUseCloseWatcher()) {
586
- printIonWarning('[ion-app] - experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used.');
587
- }
588
- hardwareBackButtonModule.blockHardwareBackButton();
589
- }
590
- if (typeof window !== 'undefined') {
591
- import('./keyboard-BsZp3qPH.js').then((module) => module.startKeyboardAssist(window));
592
- }
593
- import('./focus-visible-vXpMhGrs.js').then((module) => module.getOrInitFocusVisibleUtility());
594
- });
595
- }
596
- };
597
-
598
- const globalScripts = initialize;
599
- const globalStyles = "";
600
-
601
124
  /*
602
- Stencil Client Platform v4.33.1 | MIT Licensed | https://stenciljs.com
125
+ Stencil Client Platform v4.38.0 | MIT Licensed | https://stenciljs.com
603
126
  */
604
127
  var __defProp = Object.defineProperty;
605
128
  var __export = (target, all) => {
@@ -645,6 +168,7 @@ var getHostRef = (ref) => {
645
168
  return void 0;
646
169
  };
647
170
  var registerInstance = (lazyInstance, hostRef) => {
171
+ if (!hostRef) return;
648
172
  lazyInstance.__stencil__getHostRef = () => hostRef;
649
173
  hostRef.$lazyInstance$ = lazyInstance;
650
174
  };
@@ -653,7 +177,8 @@ var registerHost = (hostElement, cmpMeta) => {
653
177
  $flags$: 0,
654
178
  $hostElement$: hostElement,
655
179
  $cmpMeta$: cmpMeta,
656
- $instanceValues$: /* @__PURE__ */ new Map()
180
+ $instanceValues$: /* @__PURE__ */ new Map(),
181
+ $serializerValues$: /* @__PURE__ */ new Map()
657
182
  };
658
183
  {
659
184
  hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r);
@@ -663,6 +188,9 @@ var registerHost = (hostElement, cmpMeta) => {
663
188
  hostElement["s-p"] = [];
664
189
  hostElement["s-rc"] = [];
665
190
  }
191
+ {
192
+ hostRef.$fetchedCbList$ = [];
193
+ }
666
194
  const ref = hostRef;
667
195
  hostElement.__stencil__getHostRef = () => ref;
668
196
  return ref;
@@ -757,6 +285,7 @@ var supportsConstructableStylesheets = /* @__PURE__ */ (() => {
757
285
  }
758
286
  return false;
759
287
  })() ;
288
+ var supportsMutableAdoptedStyleSheets = supportsConstructableStylesheets ? /* @__PURE__ */ (() => !!win.document && Object.getOwnPropertyDescriptor(win.document.adoptedStyleSheets, "length").writable)() : false;
760
289
  var queuePending = false;
761
290
  var queueDomReads = [];
762
291
  var queueDomWrites = [];
@@ -969,15 +498,27 @@ function deserializeProperty(value) {
969
498
  }
970
499
  return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
971
500
  }
501
+
502
+ // src/utils/style.ts
503
+ function createStyleSheetIfNeededAndSupported(styles2) {
504
+ return void 0;
505
+ }
506
+
507
+ // src/utils/shadow-root.ts
508
+ var globalStyleSheet;
972
509
  function createShadowRoot(cmpMeta) {
510
+ var _a;
973
511
  const shadowRoot = this.attachShadow({
974
512
  mode: "open",
975
513
  delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */)
976
514
  }) ;
977
- if (supportsConstructableStylesheets) {
978
- const sheet = new CSSStyleSheet();
979
- sheet.replaceSync(globalStyles);
980
- shadowRoot.adoptedStyleSheets.push(sheet);
515
+ if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null;
516
+ if (globalStyleSheet) {
517
+ if (supportsMutableAdoptedStyleSheets) {
518
+ shadowRoot.adoptedStyleSheets.push(globalStyleSheet);
519
+ } else {
520
+ shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, globalStyleSheet];
521
+ }
981
522
  }
982
523
  }
983
524
  var updateFallbackSlotVisibility = (elm) => {
@@ -1085,7 +626,7 @@ function patchSlotNode(node) {
1085
626
  const slotName = this["s-sn"];
1086
627
  if (opts == null ? void 0 : opts.flatten) {
1087
628
  console.error(`
1088
- Flattening is not supported for Stencil non-shadow slots.
629
+ Flattening is not supported for Stencil non-shadow slots.
1089
630
  You can use \`.childNodes\` to nested slot fallback content.
1090
631
  If you have a particular use case, please open an issue on the Stencil repo.
1091
632
  `);
@@ -1472,6 +1013,9 @@ var validNodesPatches = [
1472
1013
  "parentNode"
1473
1014
  ];
1474
1015
  function patchHostOriginalAccessor(accessorName, node) {
1016
+ if (!globalThis.Node || !globalThis.Element) {
1017
+ return;
1018
+ }
1475
1019
  let accessor;
1476
1020
  if (validElementPatches.includes(accessorName)) {
1477
1021
  accessor = Object.getOwnPropertyDescriptor(Element.prototype, accessorName);
@@ -1507,6 +1051,125 @@ var uniqueTime = (key, measureText) => {
1507
1051
  };
1508
1052
  }
1509
1053
  };
1054
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1055
+ var registerStyle = (scopeId2, cssText, allowCS) => {
1056
+ let style = styles.get(scopeId2);
1057
+ if (supportsConstructableStylesheets && allowCS) {
1058
+ style = style || new CSSStyleSheet();
1059
+ if (typeof style === "string") {
1060
+ style = cssText;
1061
+ } else {
1062
+ style.replaceSync(cssText);
1063
+ }
1064
+ } else {
1065
+ style = cssText;
1066
+ }
1067
+ styles.set(scopeId2, style);
1068
+ };
1069
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
1070
+ var _a;
1071
+ const scopeId2 = getScopeId(cmpMeta, mode);
1072
+ const style = styles.get(scopeId2);
1073
+ if (!win.document) {
1074
+ return scopeId2;
1075
+ }
1076
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
1077
+ if (style) {
1078
+ if (typeof style === "string") {
1079
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
1080
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1081
+ let styleElm;
1082
+ if (!appliedStyles) {
1083
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1084
+ }
1085
+ if (!appliedStyles.has(scopeId2)) {
1086
+ if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1087
+ styleElm.innerHTML = style;
1088
+ } else {
1089
+ styleElm = win.document.createElement("style");
1090
+ styleElm.innerHTML = style;
1091
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
1092
+ if (nonce != null) {
1093
+ styleElm.setAttribute("nonce", nonce);
1094
+ }
1095
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1096
+ if (styleContainerNode.nodeName === "HEAD") {
1097
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1098
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1099
+ styleContainerNode.insertBefore(
1100
+ styleElm,
1101
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
1102
+ );
1103
+ } else if ("host" in styleContainerNode) {
1104
+ if (supportsConstructableStylesheets) {
1105
+ const stylesheet = new CSSStyleSheet();
1106
+ stylesheet.replaceSync(style);
1107
+ if (supportsMutableAdoptedStyleSheets) {
1108
+ styleContainerNode.adoptedStyleSheets.unshift(stylesheet);
1109
+ } else {
1110
+ styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
1111
+ }
1112
+ } else {
1113
+ const existingStyleContainer = styleContainerNode.querySelector("style");
1114
+ if (existingStyleContainer) {
1115
+ existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1116
+ } else {
1117
+ styleContainerNode.prepend(styleElm);
1118
+ }
1119
+ }
1120
+ } else {
1121
+ styleContainerNode.append(styleElm);
1122
+ }
1123
+ }
1124
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1125
+ styleContainerNode.insertBefore(styleElm, null);
1126
+ }
1127
+ }
1128
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1129
+ styleElm.innerHTML += SLOT_FB_CSS;
1130
+ }
1131
+ if (appliedStyles) {
1132
+ appliedStyles.add(scopeId2);
1133
+ }
1134
+ }
1135
+ } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
1136
+ if (supportsMutableAdoptedStyleSheets) {
1137
+ styleContainerNode.adoptedStyleSheets.push(style);
1138
+ } else {
1139
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
1140
+ }
1141
+ }
1142
+ }
1143
+ return scopeId2;
1144
+ };
1145
+ var attachStyles = (hostRef) => {
1146
+ const cmpMeta = hostRef.$cmpMeta$;
1147
+ const elm = hostRef.$hostElement$;
1148
+ const flags = cmpMeta.$flags$;
1149
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
1150
+ const scopeId2 = addStyle(
1151
+ elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
1152
+ cmpMeta,
1153
+ hostRef.$modeName$
1154
+ );
1155
+ if (flags & 10 /* needsScopedEncapsulation */) {
1156
+ elm["s-sc"] = scopeId2;
1157
+ elm.classList.add(scopeId2 + "-h");
1158
+ }
1159
+ endAttachStyles();
1160
+ };
1161
+ var getScopeId = (cmp, mode) => "sc-" + (mode && cmp.$flags$ & 32 /* hasMode */ ? cmp.$tagName$ + "-" + mode : cmp.$tagName$);
1162
+ var convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, "$1{");
1163
+ var hydrateScopedToShadow = () => {
1164
+ if (!win.document) {
1165
+ return;
1166
+ }
1167
+ const styles2 = win.document.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);
1168
+ let i2 = 0;
1169
+ for (; i2 < styles2.length; i2++) {
1170
+ registerStyle(styles2[i2].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles2[i2].innerHTML), true);
1171
+ }
1172
+ };
1510
1173
  var h = (nodeName, vnodeData, ...children) => {
1511
1174
  let child = null;
1512
1175
  let key = null;
@@ -1621,7 +1284,7 @@ var convertToPrivate = (node) => {
1621
1284
 
1622
1285
  // src/runtime/client-hydrate.ts
1623
1286
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1624
- var _a;
1287
+ var _a, _b;
1625
1288
  const endHydrate = createTime("hydrateClient", tagName);
1626
1289
  const shadowRoot = hostElm.shadowRoot;
1627
1290
  const childRenderNodes = [];
@@ -1630,19 +1293,6 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1630
1293
  const shadowRootNodes = shadowRoot ? [] : null;
1631
1294
  const vnode = newVNode(tagName, null);
1632
1295
  vnode.$elm$ = hostElm;
1633
- const members = Object.entries(((_a = hostRef.$cmpMeta$) == null ? void 0 : _a.$members$) || {});
1634
- members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
1635
- var _a2;
1636
- if (!(memberFlags & 31 /* Prop */)) {
1637
- return;
1638
- }
1639
- const attributeName = metaAttributeName || memberName;
1640
- const attrVal = hostElm.getAttribute(attributeName);
1641
- if (attrVal !== null) {
1642
- const attrPropVal = parsePropertyValue(attrVal, memberFlags);
1643
- (_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.set(memberName, attrPropVal);
1644
- }
1645
- });
1646
1296
  let scopeId2;
1647
1297
  {
1648
1298
  const cmpMeta = hostRef.$cmpMeta$;
@@ -1681,6 +1331,18 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1681
1331
  if (childRenderNode.$tag$ === "slot") {
1682
1332
  node["s-cr"] = hostElm["s-cr"];
1683
1333
  }
1334
+ } else if (((_a = childRenderNode.$tag$) == null ? void 0 : _a.toString().includes("-")) && childRenderNode.$tag$ !== "slot-fb" && !childRenderNode.$elm$.shadowRoot) {
1335
+ const cmpMeta = getHostRef(childRenderNode.$elm$);
1336
+ if (cmpMeta) {
1337
+ const scopeId3 = getScopeId(
1338
+ cmpMeta.$cmpMeta$,
1339
+ childRenderNode.$elm$.getAttribute("s-mode")
1340
+ );
1341
+ const styleSheet = win.document.querySelector(`style[sty-id="${scopeId3}"]`);
1342
+ if (styleSheet) {
1343
+ hostElm.shadowRoot.append(styleSheet.cloneNode(true));
1344
+ }
1345
+ }
1684
1346
  }
1685
1347
  if (childRenderNode.$tag$ === "slot") {
1686
1348
  childRenderNode.$name$ = childRenderNode.$elm$["s-sn"] || childRenderNode.$elm$["name"] || null;
@@ -1696,7 +1358,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1696
1358
  }
1697
1359
  }
1698
1360
  if (orgLocationNode && orgLocationNode.isConnected) {
1699
- if (shadowRoot && orgLocationNode["s-en"] === "") {
1361
+ if (orgLocationNode.parentElement.shadowRoot && orgLocationNode["s-en"] === "") {
1700
1362
  orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
1701
1363
  }
1702
1364
  orgLocationNode.parentNode.removeChild(orgLocationNode);
@@ -1704,7 +1366,9 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1704
1366
  node["s-oo"] = parseInt(childRenderNode.$nodeId$);
1705
1367
  }
1706
1368
  }
1707
- plt.$orgLocNodes$.delete(orgLocationId);
1369
+ if (orgLocationNode && !orgLocationNode["s-id"]) {
1370
+ plt.$orgLocNodes$.delete(orgLocationId);
1371
+ }
1708
1372
  }
1709
1373
  const hosts = [];
1710
1374
  const snLen = slottedNodes.length;
@@ -1725,21 +1389,26 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1725
1389
  }
1726
1390
  if (!hosts[slottedItem.hostId]) continue;
1727
1391
  const hostEle = hosts[slottedItem.hostId];
1392
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1393
+ hostEle.appendChild(slottedItem.node);
1394
+ }
1728
1395
  if (!hostEle.shadowRoot || !shadowRoot) {
1729
- slottedItem.slot["s-cr"] = hostEle["s-cr"];
1730
- if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
1731
- slottedItem.slot["s-cr"] = hostEle;
1732
- } else {
1733
- slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
1396
+ if (!slottedItem.slot["s-cr"]) {
1397
+ slottedItem.slot["s-cr"] = hostEle["s-cr"];
1398
+ if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
1399
+ slottedItem.slot["s-cr"] = hostEle;
1400
+ } else {
1401
+ slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
1402
+ }
1734
1403
  }
1735
1404
  addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
1405
+ if (((_b = slottedItem.node.parentElement) == null ? void 0 : _b.shadowRoot) && slottedItem.node["getAttribute"] && slottedItem.node.getAttribute("slot")) {
1406
+ slottedItem.node.removeAttribute("slot");
1407
+ }
1736
1408
  {
1737
1409
  patchSlottedNode(slottedItem.node);
1738
1410
  }
1739
1411
  }
1740
- if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1741
- hostEle.appendChild(slottedItem.node);
1742
- }
1743
1412
  }
1744
1413
  }
1745
1414
  if (scopeId2 && slotNodes.length) {
@@ -1747,25 +1416,27 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1747
1416
  slot.$elm$.parentElement.classList.add(scopeId2 + "-s");
1748
1417
  });
1749
1418
  }
1750
- if (shadowRoot && !shadowRoot.childNodes.length) {
1419
+ if (shadowRoot) {
1751
1420
  let rnIdex = 0;
1752
1421
  const rnLen = shadowRootNodes.length;
1753
1422
  if (rnLen) {
1754
1423
  for (rnIdex; rnIdex < rnLen; rnIdex++) {
1755
- shadowRoot.appendChild(shadowRootNodes[rnIdex]);
1424
+ const node = shadowRootNodes[rnIdex];
1425
+ if (node) {
1426
+ shadowRoot.appendChild(node);
1427
+ }
1756
1428
  }
1757
1429
  Array.from(hostElm.childNodes).forEach((node) => {
1758
- if (typeof node["s-sn"] !== "string") {
1430
+ if (typeof node["s-en"] !== "string" && typeof node["s-sn"] !== "string") {
1759
1431
  if (node.nodeType === 1 /* ElementNode */ && node.slot && node.hidden) {
1760
1432
  node.removeAttribute("hidden");
1761
- } else if (node.nodeType === 8 /* CommentNode */ || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1433
+ } else if (node.nodeType === 8 /* CommentNode */ && !node.nodeValue || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1762
1434
  node.parentNode.removeChild(node);
1763
1435
  }
1764
1436
  }
1765
1437
  });
1766
1438
  }
1767
1439
  }
1768
- plt.$orgLocNodes$.delete(hostElm["s-id"]);
1769
1440
  hostRef.$hostElement$ = hostElm;
1770
1441
  endHydrate();
1771
1442
  };
@@ -1797,7 +1468,7 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
1797
1468
  if (!parentVNode.$children$) {
1798
1469
  parentVNode.$children$ = [];
1799
1470
  }
1800
- if (scopeId2) {
1471
+ if (scopeId2 && childIdSplt[0] === hostId) {
1801
1472
  node["s-si"] = scopeId2;
1802
1473
  childVNode.$attrs$.class += " " + scopeId2;
1803
1474
  }
@@ -1927,7 +1598,7 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
1927
1598
  vnode.$index$ = "0";
1928
1599
  parentVNode.$children$ = [vnode];
1929
1600
  } else {
1930
- if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1601
+ if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim() && !node["s-nr"]) {
1931
1602
  node.remove();
1932
1603
  }
1933
1604
  }
@@ -1985,10 +1656,10 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1985
1656
  if (childVNode.$name$) {
1986
1657
  childVNode.$elm$.setAttribute("name", slotName);
1987
1658
  }
1988
- if (parentNodeId && parentNodeId !== childVNode.$hostId$) {
1989
- parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1659
+ if (parentVNode.$elm$.shadowRoot && parentNodeId && parentNodeId !== childVNode.$hostId$) {
1660
+ internalCall(parentVNode.$elm$, "insertBefore")(slot, internalCall(parentVNode.$elm$, "children")[0]);
1990
1661
  } else {
1991
- node.parentNode.insertBefore(childVNode.$elm$, node);
1662
+ internalCall(internalCall(node, "parentNode"), "insertBefore")(slot, node);
1992
1663
  }
1993
1664
  addSlottedNodes(slottedNodes, slotId, slotName, node, childVNode.$hostId$);
1994
1665
  node.remove();
@@ -2003,8 +1674,8 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
2003
1674
  if (shouldMove) {
2004
1675
  parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
2005
1676
  }
2006
- childRenderNodes.push(childVNode);
2007
1677
  }
1678
+ childRenderNodes.push(childVNode);
2008
1679
  slotNodes.push(childVNode);
2009
1680
  if (!parentVNode.$children$) {
2010
1681
  parentVNode.$children$ = [];
@@ -2012,13 +1683,17 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
2012
1683
  parentVNode.$children$[childVNode.$index$] = childVNode;
2013
1684
  }
2014
1685
  var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1686
+ var _a, _b;
2015
1687
  let slottedNode = slotNode.nextSibling;
2016
1688
  slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
2017
- 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 */))) {
2018
- slottedNode["s-sn"] = slotName;
2019
- slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
2020
- slottedNode = slottedNode.nextSibling;
2021
- }
1689
+ if (!slottedNode || ((_a = slottedNode.nodeValue) == null ? void 0 : _a.startsWith(SLOT_NODE_ID + "."))) return;
1690
+ do {
1691
+ if (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (!slottedNode["getAttribute"] || !slottedNode.getAttribute("slot")) && (slottedNode.nodeType === 8 /* CommentNode */ || slottedNode.nodeType === 3 /* TextNode */))) {
1692
+ slottedNode["s-sn"] = slotName;
1693
+ slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
1694
+ }
1695
+ slottedNode = slottedNode == null ? void 0 : slottedNode.nextSibling;
1696
+ } while (slottedNode && !((_b = slottedNode.nodeValue) == null ? void 0 : _b.startsWith(SLOT_NODE_ID + ".")));
2022
1697
  };
2023
1698
  var findCorrespondingNode = (node, type) => {
2024
1699
  let sibling = node;
@@ -2043,22 +1718,20 @@ createSupportsRuleRe(":host-context");
2043
1718
  // src/runtime/mode.ts
2044
1719
  var computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);
2045
1720
  var setMode = (handler) => modeResolutionChain.push(handler);
2046
- var getMode = (ref) => getHostRef(ref).$modeName$;
2047
- var parsePropertyValue = (propValue, propType) => {
2048
- if (typeof propValue === "string" && (propValue.startsWith("{") && propValue.endsWith("}") || propValue.startsWith("[") && propValue.endsWith("]"))) {
2049
- try {
2050
- propValue = JSON.parse(propValue);
2051
- return propValue;
2052
- } catch (e) {
2053
- }
2054
- }
1721
+ var getMode = (ref) => {
1722
+ var _a;
1723
+ return (_a = getHostRef(ref)) == null ? void 0 : _a.$modeName$;
1724
+ };
1725
+ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
2055
1726
  if (typeof propValue === "string" && propValue.startsWith(SERIALIZED_PREFIX)) {
2056
1727
  propValue = deserializeProperty(propValue);
2057
1728
  return propValue;
2058
1729
  }
2059
1730
  if (propValue != null && !isComplexType(propValue)) {
2060
1731
  if (propType & 4 /* Boolean */) {
2061
- return propValue === "false" ? false : propValue === "" || !!propValue;
1732
+ {
1733
+ return propValue === "false" ? false : propValue === "" || !!propValue;
1734
+ }
2062
1735
  }
2063
1736
  if (propType & 2 /* Number */) {
2064
1737
  return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
@@ -2070,7 +1743,10 @@ var parsePropertyValue = (propValue, propType) => {
2070
1743
  }
2071
1744
  return propValue;
2072
1745
  };
2073
- var getElement = (ref) => getHostRef(ref).$hostElement$ ;
1746
+ var getElement = (ref) => {
1747
+ var _a;
1748
+ return (_a = getHostRef(ref)) == null ? void 0 : _a.$hostElement$ ;
1749
+ };
2074
1750
 
2075
1751
  // src/runtime/event-emitter.ts
2076
1752
  var createEvent = (ref, name, flags) => {
@@ -2091,117 +1767,6 @@ var emitEvent = (elm, name, opts) => {
2091
1767
  elm.dispatchEvent(ev);
2092
1768
  return ev;
2093
1769
  };
2094
- var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
2095
- var registerStyle = (scopeId2, cssText, allowCS) => {
2096
- let style = styles.get(scopeId2);
2097
- if (supportsConstructableStylesheets && allowCS) {
2098
- style = style || new CSSStyleSheet();
2099
- if (typeof style === "string") {
2100
- style = cssText;
2101
- } else {
2102
- style.replaceSync(cssText);
2103
- }
2104
- } else {
2105
- style = cssText;
2106
- }
2107
- styles.set(scopeId2, style);
2108
- };
2109
- var addStyle = (styleContainerNode, cmpMeta, mode) => {
2110
- var _a;
2111
- const scopeId2 = getScopeId(cmpMeta, mode);
2112
- const style = styles.get(scopeId2);
2113
- if (!win.document) {
2114
- return scopeId2;
2115
- }
2116
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
2117
- if (style) {
2118
- if (typeof style === "string") {
2119
- styleContainerNode = styleContainerNode.head || styleContainerNode;
2120
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
2121
- let styleElm;
2122
- if (!appliedStyles) {
2123
- rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
2124
- }
2125
- if (!appliedStyles.has(scopeId2)) {
2126
- if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
2127
- styleElm.innerHTML = style;
2128
- } else {
2129
- styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || win.document.createElement("style");
2130
- styleElm.innerHTML = style;
2131
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
2132
- if (nonce != null) {
2133
- styleElm.setAttribute("nonce", nonce);
2134
- }
2135
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
2136
- if (styleContainerNode.nodeName === "HEAD") {
2137
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
2138
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
2139
- styleContainerNode.insertBefore(
2140
- styleElm,
2141
- (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
2142
- );
2143
- } else if ("host" in styleContainerNode) {
2144
- if (supportsConstructableStylesheets) {
2145
- const stylesheet = new CSSStyleSheet();
2146
- stylesheet.replaceSync(style);
2147
- styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
2148
- } else {
2149
- const existingStyleContainer = styleContainerNode.querySelector("style");
2150
- if (existingStyleContainer) {
2151
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
2152
- } else {
2153
- styleContainerNode.prepend(styleElm);
2154
- }
2155
- }
2156
- } else {
2157
- styleContainerNode.append(styleElm);
2158
- }
2159
- }
2160
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
2161
- styleContainerNode.insertBefore(styleElm, null);
2162
- }
2163
- }
2164
- if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
2165
- styleElm.innerHTML += SLOT_FB_CSS;
2166
- }
2167
- if (appliedStyles) {
2168
- appliedStyles.add(scopeId2);
2169
- }
2170
- }
2171
- } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
2172
- styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
2173
- }
2174
- }
2175
- return scopeId2;
2176
- };
2177
- var attachStyles = (hostRef) => {
2178
- const cmpMeta = hostRef.$cmpMeta$;
2179
- const elm = hostRef.$hostElement$;
2180
- const flags = cmpMeta.$flags$;
2181
- const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
2182
- const scopeId2 = addStyle(
2183
- elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
2184
- cmpMeta,
2185
- hostRef.$modeName$
2186
- );
2187
- if (flags & 10 /* needsScopedEncapsulation */) {
2188
- elm["s-sc"] = scopeId2;
2189
- elm.classList.add(scopeId2 + "-h");
2190
- }
2191
- endAttachStyles();
2192
- };
2193
- var getScopeId = (cmp, mode) => "sc-" + (mode && cmp.$flags$ & 32 /* hasMode */ ? cmp.$tagName$ + "-" + mode : cmp.$tagName$);
2194
- var convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, "$1{");
2195
- var hydrateScopedToShadow = () => {
2196
- if (!win.document) {
2197
- return;
2198
- }
2199
- const styles2 = win.document.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);
2200
- let i2 = 0;
2201
- for (; i2 < styles2.length; i2++) {
2202
- registerStyle(styles2[i2].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles2[i2].innerHTML), true);
2203
- }
2204
- };
2205
1770
  var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
2206
1771
  if (oldValue === newValue) {
2207
1772
  return;
@@ -2212,12 +1777,13 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
2212
1777
  const classList = elm.classList;
2213
1778
  const oldClasses = parseClassList(oldValue);
2214
1779
  let newClasses = parseClassList(newValue);
2215
- if (elm["s-si"] && initialRender) {
2216
- newClasses.push(elm["s-si"]);
1780
+ if ((elm["s-si"] || elm["s-sc"]) && initialRender) {
1781
+ const scopeId2 = elm["s-sc"] || elm["s-si"];
1782
+ newClasses.push(scopeId2);
2217
1783
  oldClasses.forEach((c) => {
2218
- if (c.startsWith(elm["s-si"])) newClasses.push(c);
1784
+ if (c.startsWith(scopeId2)) newClasses.push(c);
2219
1785
  });
2220
- newClasses = [...new Set(newClasses)];
1786
+ newClasses = [...new Set(newClasses)].filter((c) => c);
2221
1787
  classList.add(...newClasses);
2222
1788
  } else {
2223
1789
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
@@ -2687,6 +2253,8 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
2687
2253
  !isInitialRender && BUILD.updatable && oldChildren !== null
2688
2254
  ) {
2689
2255
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
2256
+ } else if (isInitialRender && BUILD.updatable && oldChildren !== null && newChildren === null) {
2257
+ newVNode2.$children$ = oldChildren;
2690
2258
  }
2691
2259
  if (isSvgMode && tag === "svg") {
2692
2260
  isSvgMode = false;
@@ -2802,9 +2370,11 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2802
2370
  hostTagName = hostElm.tagName;
2803
2371
  if (cmpMeta.$attrsToReflect$) {
2804
2372
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
2805
- cmpMeta.$attrsToReflect$.map(
2806
- ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
2807
- );
2373
+ cmpMeta.$attrsToReflect$.forEach(([propName, attribute]) => {
2374
+ {
2375
+ rootVnode.$attrs$[attribute] = hostElm[propName];
2376
+ }
2377
+ });
2808
2378
  }
2809
2379
  if (isInitialLoad && rootVnode.$attrs$) {
2810
2380
  for (const key of Object.keys(rootVnode.$attrs$)) {
@@ -2925,6 +2495,12 @@ var scheduleUpdate = (hostRef, isInitialLoad) => {
2925
2495
  }
2926
2496
  attachToAncestor(hostRef, hostRef.$ancestorComponent$);
2927
2497
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
2498
+ if (isInitialLoad) {
2499
+ queueMicrotask(() => {
2500
+ dispatch();
2501
+ });
2502
+ return;
2503
+ }
2928
2504
  return writeTask(dispatch) ;
2929
2505
  };
2930
2506
  var dispatchHooks = (hostRef, isInitialLoad) => {
@@ -2939,10 +2515,15 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
2939
2515
  let maybePromise;
2940
2516
  if (isInitialLoad) {
2941
2517
  {
2942
- hostRef.$flags$ |= 256 /* isListenReady */;
2943
- if (hostRef.$queuedListeners$) {
2944
- hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
2945
- hostRef.$queuedListeners$ = void 0;
2518
+ {
2519
+ hostRef.$flags$ |= 256 /* isListenReady */;
2520
+ if (hostRef.$queuedListeners$) {
2521
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
2522
+ hostRef.$queuedListeners$ = void 0;
2523
+ }
2524
+ }
2525
+ if (hostRef.$fetchedCbList$.length) {
2526
+ hostRef.$fetchedCbList$.forEach((cb) => cb(elm));
2946
2527
  }
2947
2528
  }
2948
2529
  maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
@@ -3048,9 +2629,10 @@ var postUpdateComponent = (hostRef) => {
3048
2629
  }
3049
2630
  };
3050
2631
  var forceUpdate = (ref) => {
2632
+ var _a;
3051
2633
  {
3052
2634
  const hostRef = getHostRef(ref);
3053
- const isConnected = hostRef.$hostElement$.isConnected;
2635
+ const isConnected = (_a = hostRef == null ? void 0 : hostRef.$hostElement$) == null ? void 0 : _a.isConnected;
3054
2636
  if (isConnected && (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
3055
2637
  scheduleUpdate(hostRef, false);
3056
2638
  }
@@ -3058,7 +2640,13 @@ var forceUpdate = (ref) => {
3058
2640
  }
3059
2641
  };
3060
2642
  var appDidLoad = (who) => {
2643
+ var _a;
3061
2644
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
2645
+ {
2646
+ if ((_a = plt.$orgLocNodes$) == null ? void 0 : _a.size) {
2647
+ plt.$orgLocNodes$.clear();
2648
+ }
2649
+ }
3062
2650
  };
3063
2651
  var safeCall = (instance, method, arg, elm) => {
3064
2652
  if (instance && instance[method]) {
@@ -3079,6 +2667,9 @@ var addHydratedFlag = (elm) => {
3079
2667
  var getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
3080
2668
  var setValue = (ref, propName, newVal, cmpMeta) => {
3081
2669
  const hostRef = getHostRef(ref);
2670
+ if (!hostRef) {
2671
+ return;
2672
+ }
3082
2673
  if (!hostRef) {
3083
2674
  throw new Error(
3084
2675
  `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).`
@@ -3088,7 +2679,9 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
3088
2679
  const oldVal = hostRef.$instanceValues$.get(propName);
3089
2680
  const flags = hostRef.$flags$;
3090
2681
  const instance = hostRef.$lazyInstance$ ;
3091
- newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
2682
+ newVal = parsePropertyValue(
2683
+ newVal,
2684
+ cmpMeta.$members$[propName][0]);
3092
2685
  const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
3093
2686
  const didValueChange = newVal !== oldVal && !areBothNaN;
3094
2687
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
@@ -3122,9 +2715,17 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
3122
2715
  var proxyComponent = (Cstr, cmpMeta, flags) => {
3123
2716
  var _a, _b;
3124
2717
  const prototype = Cstr.prototype;
3125
- if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {
3126
- if (Cstr.watchers && !cmpMeta.$watchers$) {
3127
- cmpMeta.$watchers$ = Cstr.watchers;
2718
+ if (cmpMeta.$members$ || BUILD.propChangeCallback) {
2719
+ {
2720
+ if (Cstr.watchers && !cmpMeta.$watchers$) {
2721
+ cmpMeta.$watchers$ = Cstr.watchers;
2722
+ }
2723
+ if (Cstr.deserializers && !cmpMeta.$deserializers$) {
2724
+ cmpMeta.$deserializers$ = Cstr.deserializers;
2725
+ }
2726
+ if (Cstr.serializers && !cmpMeta.$serializers$) {
2727
+ cmpMeta.$serializers$ = Cstr.serializers;
2728
+ }
3128
2729
  }
3129
2730
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
3130
2731
  members.map(([memberName, [memberFlags]]) => {
@@ -3152,14 +2753,19 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
3152
2753
  Object.defineProperty(prototype, memberName, {
3153
2754
  set(newValue) {
3154
2755
  const ref = getHostRef(this);
2756
+ if (!ref) {
2757
+ return;
2758
+ }
3155
2759
  if (origSetter) {
3156
2760
  const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
3157
2761
  if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
3158
2762
  newValue = ref.$instanceValues$.get(memberName);
3159
- } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
3160
- ref.$instanceValues$.set(memberName, currentValue);
3161
2763
  }
3162
- origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
2764
+ origSetter.apply(this, [
2765
+ parsePropertyValue(
2766
+ newValue,
2767
+ memberFlags)
2768
+ ]);
3163
2769
  newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
3164
2770
  setValue(this, memberName, newValue, cmpMeta);
3165
2771
  return;
@@ -3168,7 +2774,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
3168
2774
  if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
3169
2775
  setValue(this, memberName, newValue, cmpMeta);
3170
2776
  if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
3171
- ref.$onReadyPromise$.then(() => {
2777
+ ref.$fetchedCbList$.push(() => {
3172
2778
  if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
3173
2779
  ref.$lazyInstance$[memberName] = newValue;
3174
2780
  }
@@ -3181,13 +2787,17 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
3181
2787
  if (!ref.$instanceValues$.get(memberName) && currentValue) {
3182
2788
  ref.$instanceValues$.set(memberName, currentValue);
3183
2789
  }
3184
- ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, memberFlags);
2790
+ ref.$lazyInstance$[memberName] = parsePropertyValue(
2791
+ newValue,
2792
+ memberFlags);
3185
2793
  setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
3186
2794
  };
3187
2795
  if (ref.$lazyInstance$) {
3188
2796
  setterSetVal();
3189
2797
  } else {
3190
- ref.$onReadyPromise$.then(() => setterSetVal());
2798
+ ref.$fetchedCbList$.push(() => {
2799
+ setterSetVal();
2800
+ });
3191
2801
  }
3192
2802
  }
3193
2803
  }
@@ -3211,16 +2821,17 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
3211
2821
  plt.jmp(() => {
3212
2822
  var _a2;
3213
2823
  const propName = attrNameToPropName.get(attrName);
2824
+ const hostRef = getHostRef(this);
3214
2825
  if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {
3215
2826
  newValue = this[propName];
3216
2827
  delete this[propName];
3217
- } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
2828
+ }
2829
+ if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
3218
2830
  this[propName] == newValue) {
3219
2831
  return;
3220
2832
  } else if (propName == null) {
3221
- const hostRef = getHostRef(this);
3222
2833
  const flags2 = hostRef == null ? void 0 : hostRef.$flags$;
3223
- if (flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {
2834
+ if (hostRef && flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {
3224
2835
  const instance = hostRef.$lazyInstance$ ;
3225
2836
  const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];
3226
2837
  entry == null ? void 0 : entry.forEach((callbackName) => {
@@ -3233,7 +2844,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
3233
2844
  }
3234
2845
  const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
3235
2846
  newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
3236
- if (newValue !== this[propName] && (!propDesc.get || !!propDesc.set)) {
2847
+ if (newValue != this[propName] && (!propDesc.get || !!propDesc.set)) {
3237
2848
  this[propName] = newValue;
3238
2849
  }
3239
2850
  });
@@ -3241,7 +2852,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
3241
2852
  Cstr.observedAttributes = Array.from(
3242
2853
  /* @__PURE__ */ new Set([
3243
2854
  ...Object.keys((_b = cmpMeta.$watchers$) != null ? _b : {}),
3244
- ...members.filter(([_, m]) => m[0] & 15 /* HasAttribute */).map(([propName, m]) => {
2855
+ ...members.filter(([_, m]) => m[0] & 31 /* HasAttribute */).map(([propName, m]) => {
3245
2856
  var _a2;
3246
2857
  const attrName = m[1] || propName;
3247
2858
  attrNameToPropName.set(attrName, propName);
@@ -3278,6 +2889,8 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
3278
2889
  if (!Cstr.isProxied) {
3279
2890
  {
3280
2891
  cmpMeta.$watchers$ = Cstr.watchers;
2892
+ cmpMeta.$serializers$ = Cstr.serializers;
2893
+ cmpMeta.$deserializers$ = Cstr.deserializers;
3281
2894
  }
3282
2895
  proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
3283
2896
  Cstr.isProxied = true;
@@ -3340,6 +2953,9 @@ var fireConnectedCallback = (instance, elm) => {
3340
2953
  var connectedCallback = (elm) => {
3341
2954
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
3342
2955
  const hostRef = getHostRef(elm);
2956
+ if (!hostRef) {
2957
+ return;
2958
+ }
3343
2959
  const cmpMeta = hostRef.$cmpMeta$;
3344
2960
  const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
3345
2961
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
@@ -3375,7 +2991,7 @@ var connectedCallback = (elm) => {
3375
2991
  }
3376
2992
  if (cmpMeta.$members$) {
3377
2993
  Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
3378
- if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {
2994
+ if (memberFlags & 31 /* Prop */ && memberName in elm && elm[memberName] !== Object.prototype[memberName]) {
3379
2995
  const value = elm[memberName];
3380
2996
  delete elm[memberName];
3381
2997
  elm[memberName] = value;
@@ -3415,7 +3031,7 @@ var disconnectedCallback = async (elm) => {
3415
3031
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
3416
3032
  const hostRef = getHostRef(elm);
3417
3033
  {
3418
- if (hostRef.$rmListeners$) {
3034
+ if (hostRef == null ? void 0 : hostRef.$rmListeners$) {
3419
3035
  hostRef.$rmListeners$.map((rmListener) => rmListener());
3420
3036
  hostRef.$rmListeners$ = void 0;
3421
3037
  }
@@ -3462,7 +3078,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3462
3078
  let hasSlotRelocation = false;
3463
3079
  lazyBundles.map((lazyBundle) => {
3464
3080
  lazyBundle[1].map((compactMeta) => {
3465
- var _a2;
3081
+ var _a2, _b, _c;
3466
3082
  const cmpMeta = {
3467
3083
  $flags$: compactMeta[0],
3468
3084
  $tagName$: compactMeta[1],
@@ -3483,6 +3099,8 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3483
3099
  }
3484
3100
  {
3485
3101
  cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};
3102
+ cmpMeta.$serializers$ = (_b = compactMeta[5]) != null ? _b : {};
3103
+ cmpMeta.$deserializers$ = (_c = compactMeta[6]) != null ? _c : {};
3486
3104
  }
3487
3105
  const tagName = cmpMeta.$tagName$;
3488
3106
  const HostElement = class extends HTMLElement {
@@ -3508,6 +3126,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3508
3126
  }
3509
3127
  connectedCallback() {
3510
3128
  const hostRef = getHostRef(this);
3129
+ if (!hostRef) {
3130
+ return;
3131
+ }
3511
3132
  if (!this.hasRegisteredEventListeners) {
3512
3133
  this.hasRegisteredEventListeners = true;
3513
3134
  addHostEventListeners(this, hostRef, cmpMeta.$listeners$);
@@ -3527,6 +3148,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3527
3148
  plt.raf(() => {
3528
3149
  var _a3;
3529
3150
  const hostRef = getHostRef(this);
3151
+ if (!hostRef) {
3152
+ return;
3153
+ }
3530
3154
  const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
3531
3155
  if (i2 > -1) {
3532
3156
  deferredConnectedCallbacks.splice(i2, 1);
@@ -3537,11 +3161,12 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3537
3161
  });
3538
3162
  }
3539
3163
  componentOnReady() {
3540
- return getHostRef(this).$onReadyPromise$;
3164
+ var _a3;
3165
+ return (_a3 = getHostRef(this)) == null ? void 0 : _a3.$onReadyPromise$;
3541
3166
  }
3542
3167
  };
3543
- {
3544
- if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
3168
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && cmpMeta.$flags$ & 256 /* hasRenderFn */) {
3169
+ {
3545
3170
  patchPseudoShadowDom(HostElement.prototype);
3546
3171
  }
3547
3172
  }
@@ -3629,4 +3254,4 @@ var hostListenerOpts = (flags) => supportsListenerOptions ? {
3629
3254
  // src/runtime/nonce.ts
3630
3255
  var setNonce = (nonce) => plt.$nonce$ = nonce;
3631
3256
 
3632
- export { Build as B, Fragment as F, H, LogLevel as L, MENU_BACK_BUTTON_PRIORITY as M, OVERLAY_BACK_BUTTON_PRIORITY as O, isPlatform as a, bootstrapLazy as b, getPlatforms as c, createEvent as d, getIonMode as e, readTask as f, globalScripts as g, getIonTheme as h, initialize as i, h as j, Host as k, getElement as l, config as m, printIonWarning as n, forceUpdate as o, promiseResolve as p, win$1 as q, registerInstance as r, setNonce as s, printIonError as t, getAssetPath as u, doc as v, writeTask as w, shouldUseCloseWatcher as x, printRequiredElementError as y };
3257
+ export { Build as B, Fragment as F, H, LogLevel as L, readTask as a, bootstrapLazy as b, createEvent as c, Host as d, config as e, printIonWarning as f, getElement as g, h, forceUpdate as i, printIonError as j, getAssetPath as k, configFromSession as l, configFromURL as m, saveConfig as n, getMode as o, promiseResolve as p, setMode as q, registerInstance as r, setNonce as s, printRequiredElementError as t, writeTask as w };