@ionic/core 8.7.6-dev.11761146245.19b2e6db → 8.7.6-dev.11761305610.109eb85b

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 (514) hide show
  1. package/components/action-sheet.js +6 -8
  2. package/components/alert.js +6 -8
  3. package/components/backdrop.js +3 -5
  4. package/components/button.js +4 -6
  5. package/components/buttons.js +3 -5
  6. package/components/checkbox.js +3 -5
  7. package/components/content.js +3 -5
  8. package/components/data.js +6 -9
  9. package/components/header.js +3 -5
  10. package/components/icon.js +3 -5
  11. package/components/ion-accordion-group.js +3 -5
  12. package/components/ion-accordion.js +3 -5
  13. package/components/ion-app.js +3 -5
  14. package/components/ion-avatar.js +3 -5
  15. package/components/ion-back-button.js +4 -6
  16. package/components/ion-badge.js +3 -5
  17. package/components/ion-breadcrumb.js +4 -6
  18. package/components/ion-breadcrumbs.js +3 -5
  19. package/components/ion-card-content.js +3 -5
  20. package/components/ion-card-header.js +3 -5
  21. package/components/ion-card-subtitle.js +3 -5
  22. package/components/ion-card-title.js +3 -5
  23. package/components/ion-card.js +4 -6
  24. package/components/ion-chip.js +3 -5
  25. package/components/ion-col.js +3 -5
  26. package/components/ion-datetime-button.js +3 -5
  27. package/components/ion-datetime.js +7 -9
  28. package/components/ion-divider.js +3 -5
  29. package/components/ion-fab-button.js +4 -6
  30. package/components/ion-fab-list.js +3 -5
  31. package/components/ion-fab.js +3 -5
  32. package/components/ion-footer.js +3 -5
  33. package/components/ion-grid.js +3 -5
  34. package/components/ion-img.js +3 -5
  35. package/components/ion-infinite-scroll-content.js +3 -5
  36. package/components/ion-infinite-scroll.js +3 -5
  37. package/components/ion-input-otp.js +3 -5
  38. package/components/ion-input-password-toggle.js +3 -5
  39. package/components/ion-input.js +4 -6
  40. package/components/ion-item-divider.js +3 -5
  41. package/components/ion-item-group.js +3 -5
  42. package/components/ion-item-option.js +3 -5
  43. package/components/ion-item-options.js +3 -5
  44. package/components/ion-item-sliding.js +3 -5
  45. package/components/ion-loading.js +6 -8
  46. package/components/ion-menu-button.js +3 -5
  47. package/components/ion-menu-toggle.js +3 -5
  48. package/components/ion-menu.js +3 -5
  49. package/components/ion-nav-link.js +5 -7
  50. package/components/ion-nav.js +4 -6
  51. package/components/ion-note.js +3 -5
  52. package/components/ion-picker-legacy.js +6 -8
  53. package/components/ion-progress-bar.js +3 -5
  54. package/components/ion-range.js +4 -6
  55. package/components/ion-refresher-content.js +3 -5
  56. package/components/ion-refresher.js +3 -5
  57. package/components/ion-reorder-group.js +3 -5
  58. package/components/ion-reorder.js +3 -5
  59. package/components/ion-route-redirect.js +2 -4
  60. package/components/ion-route.js +5 -7
  61. package/components/ion-router-link.js +4 -6
  62. package/components/ion-router-outlet.js +4 -6
  63. package/components/ion-router.js +2 -4
  64. package/components/ion-row.js +3 -5
  65. package/components/ion-searchbar.js +3 -5
  66. package/components/ion-segment-button.js +3 -5
  67. package/components/ion-segment-content.js +3 -5
  68. package/components/ion-segment-view.js +3 -5
  69. package/components/ion-segment.js +3 -5
  70. package/components/ion-select-option.js +3 -5
  71. package/components/ion-select.js +3 -5
  72. package/components/ion-skeleton-text.js +3 -5
  73. package/components/ion-split-pane.js +3 -5
  74. package/components/ion-tab-bar.js +3 -5
  75. package/components/ion-tab-button.js +3 -5
  76. package/components/ion-tab.js +3 -5
  77. package/components/ion-tabs.js +3 -5
  78. package/components/ion-text.js +3 -5
  79. package/components/ion-textarea.js +4 -6
  80. package/components/ion-thumbnail.js +3 -5
  81. package/components/ion-toast.js +6 -8
  82. package/components/ion-toggle.js +3 -5
  83. package/components/item.js +5 -7
  84. package/components/label.js +3 -5
  85. package/components/list-header.js +3 -5
  86. package/components/list.js +3 -5
  87. package/components/modal.js +8 -10
  88. package/components/picker-column-option.js +3 -5
  89. package/components/picker-column.js +3 -5
  90. package/components/picker-column2.js +3 -5
  91. package/components/picker.js +3 -5
  92. package/components/popover.js +7 -9
  93. package/components/radio-group.js +3 -5
  94. package/components/radio.js +3 -5
  95. package/components/ripple-effect.js +3 -5
  96. package/components/select-modal.js +5 -7
  97. package/components/select-popover.js +5 -7
  98. package/components/spinner.js +3 -5
  99. package/components/title.js +3 -5
  100. package/components/toolbar.js +3 -5
  101. package/dist/cjs/{animation-BYsP2q5j.js → animation-Bcz4qmJk.js} +2 -3
  102. package/dist/cjs/{button-active-CDa7BeCl.js → button-active-1nO6qpCH.js} +2 -2
  103. package/dist/cjs/{capacitor-BMhHF0O5.js → capacitor-CzFst28-.js} +3 -3
  104. package/dist/cjs/{config-C5fsO43a.js → config-DGKt4XfG.js} +1 -1
  105. package/dist/cjs/{data-MoL8Ckx5.js → data-B3i-krcw.js} +7 -10
  106. package/dist/cjs/{framework-delegate-Bwdk9vFS.js → framework-delegate-DfEY5uyC.js} +2 -2
  107. package/dist/cjs/{haptic-Cy3moXzO.js → haptic-DbqPcCc9.js} +1 -1
  108. package/dist/cjs/{helpers-DnouLczu.js → helpers-DmAvmm2T.js} +1 -1
  109. package/dist/cjs/{index-DUoP_H1L.js → index-CaZ3uzAD.js} +2 -2
  110. package/dist/cjs/{index-D6Wc6v08.js → index-CmckMMX1.js} +691 -310
  111. package/dist/cjs/{index-XjN3PjKG.js → index-DcPe_YcG.js} +8 -9
  112. package/dist/cjs/{index-Dbl8V7hw.js → index-DxVhwe3d.js} +4 -4
  113. package/dist/cjs/{index-Bq6U5NAb.js → index-YEjC0pvJ.js} +7 -8
  114. package/dist/cjs/index.cjs.js +14 -15
  115. package/dist/cjs/{input-shims-D6DHFHsE.js → input-shims-BwdlNkON.js} +16 -17
  116. package/dist/cjs/{input.utils-BVyJKWft.js → input.utils-CfjyQhpu.js} +3 -4
  117. package/dist/cjs/ion-accordion_2.cjs.entry.js +6 -7
  118. package/dist/cjs/ion-action-sheet.cjs.entry.js +10 -11
  119. package/dist/cjs/ion-alert.cjs.entry.js +13 -14
  120. package/dist/cjs/ion-app_8.cjs.entry.js +21 -22
  121. package/dist/cjs/ion-avatar_3.cjs.entry.js +8 -9
  122. package/dist/cjs/ion-back-button.cjs.entry.js +5 -6
  123. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -3
  124. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +6 -7
  125. package/dist/cjs/ion-button_2.cjs.entry.js +5 -6
  126. package/dist/cjs/ion-card_5.cjs.entry.js +7 -8
  127. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -4
  128. package/dist/cjs/ion-chip.cjs.entry.js +4 -5
  129. package/dist/cjs/ion-col_3.cjs.entry.js +4 -5
  130. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -5
  131. package/dist/cjs/ion-datetime_3.cjs.entry.js +18 -19
  132. package/dist/cjs/ion-divider.cjs.entry.js +2 -3
  133. package/dist/cjs/ion-fab_3.cjs.entry.js +6 -7
  134. package/dist/cjs/ion-img.cjs.entry.js +3 -4
  135. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -8
  136. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -4
  137. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +4 -5
  138. package/dist/cjs/ion-input.cjs.entry.js +12 -13
  139. package/dist/cjs/ion-item-option_3.cjs.entry.js +7 -8
  140. package/dist/cjs/ion-item_8.cjs.entry.js +13 -14
  141. package/dist/cjs/ion-loading.cjs.entry.js +8 -9
  142. package/dist/cjs/ion-menu_3.cjs.entry.js +14 -15
  143. package/dist/cjs/ion-modal.cjs.entry.js +62 -63
  144. package/dist/cjs/ion-nav_2.cjs.entry.js +8 -9
  145. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -4
  146. package/dist/cjs/ion-picker-column.cjs.entry.js +8 -9
  147. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  148. package/dist/cjs/ion-popover.cjs.entry.js +9 -10
  149. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -5
  150. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -5
  151. package/dist/cjs/ion-range.cjs.entry.js +4 -5
  152. package/dist/cjs/ion-refresher_2.cjs.entry.js +14 -15
  153. package/dist/cjs/ion-reorder_2.cjs.entry.js +8 -9
  154. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -3
  155. package/dist/cjs/ion-route_4.cjs.entry.js +3 -4
  156. package/dist/cjs/ion-searchbar.cjs.entry.js +10 -11
  157. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  158. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  159. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -5
  160. package/dist/cjs/ion-select-modal.cjs.entry.js +7 -8
  161. package/dist/cjs/ion-select_3.cjs.entry.js +19 -20
  162. package/dist/cjs/ion-spinner.cjs.entry.js +4 -5
  163. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -3
  164. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +9 -10
  165. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  166. package/dist/cjs/ion-text.cjs.entry.js +2 -3
  167. package/dist/cjs/ion-textarea.cjs.entry.js +8 -9
  168. package/dist/cjs/ion-toast.cjs.entry.js +13 -14
  169. package/dist/cjs/ion-toggle.cjs.entry.js +9 -10
  170. package/dist/cjs/ionic.cjs.js +4 -6
  171. package/dist/cjs/{ios.transition-2wtm_6Ok.js → ios.transition-BMRClUxZ.js} +4 -5
  172. package/dist/cjs/{keyboard-UYQhk8rB.js → keyboard-Chl5cusY.js} +1 -1
  173. package/dist/cjs/{keyboard-controller-ts0z4BIe.js → keyboard-controller-yLvXRMuh.js} +9 -10
  174. package/dist/cjs/{keyboard-C1Ds9WQH.js → keyboard-nXDIskl9.js} +3 -4
  175. package/dist/cjs/loader.cjs.js +3 -5
  176. package/dist/cjs/{md.transition-DCNdoS7u.js → md.transition-D2ZL4jgW.js} +4 -5
  177. package/dist/cjs/{notch-controller-BX7CnNaL.js → notch-controller-S50JyZJs.js} +4 -4
  178. package/dist/cjs/{overlays-pdcfssMG.js → overlays-XYRfwd6H.js} +8 -9
  179. package/dist/cjs/{status-tap-e-hyosXV.js → status-tap-DMaRrHIS.js} +3 -3
  180. package/dist/cjs/{swipe-back-CR060nOX.js → swipe-back-CEVlQT7C.js} +2 -2
  181. package/dist/collection/collection-manifest.json +1 -1
  182. package/dist/collection/components/accordion/accordion.js +6 -6
  183. package/dist/collection/components/accordion-group/accordion-group.js +10 -10
  184. package/dist/collection/components/action-sheet/action-sheet.js +21 -16
  185. package/dist/collection/components/alert/alert.js +24 -18
  186. package/dist/collection/components/avatar/avatar.js +5 -5
  187. package/dist/collection/components/back-button/back-button.js +11 -10
  188. package/dist/collection/components/backdrop/backdrop.js +3 -3
  189. package/dist/collection/components/badge/badge.js +10 -10
  190. package/dist/collection/components/breadcrumb/breadcrumb.js +21 -20
  191. package/dist/collection/components/breadcrumbs/breadcrumbs.js +6 -6
  192. package/dist/collection/components/button/button.js +26 -25
  193. package/dist/collection/components/buttons/buttons.js +1 -1
  194. package/dist/collection/components/card/card.js +16 -15
  195. package/dist/collection/components/card-header/card-header.js +3 -3
  196. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
  197. package/dist/collection/components/card-title/card-title.js +2 -2
  198. package/dist/collection/components/checkbox/checkbox.js +20 -20
  199. package/dist/collection/components/chip/chip.js +9 -9
  200. package/dist/collection/components/col/col.js +60 -60
  201. package/dist/collection/components/content/content.js +9 -9
  202. package/dist/collection/components/datetime/datetime.js +40 -36
  203. package/dist/collection/components/datetime-button/datetime-button.js +4 -4
  204. package/dist/collection/components/divider/divider.js +2 -2
  205. package/dist/collection/components/fab/fab.js +6 -6
  206. package/dist/collection/components/fab-button/fab-button.js +21 -20
  207. package/dist/collection/components/fab-list/fab-list.js +2 -2
  208. package/dist/collection/components/footer/footer.js +3 -3
  209. package/dist/collection/components/grid/grid.js +1 -1
  210. package/dist/collection/components/header/header.js +4 -4
  211. package/dist/collection/components/img/img.js +4 -4
  212. package/dist/collection/components/infinite-scroll/infinite-scroll.js +4 -4
  213. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -4
  214. package/dist/collection/components/input/input.js +55 -54
  215. package/dist/collection/components/input-otp/input-otp.js +17 -17
  216. package/dist/collection/components/input-password-toggle/input-password-toggle.js +7 -7
  217. package/dist/collection/components/item/item.ionic.css +5 -0
  218. package/dist/collection/components/item/item.js +21 -20
  219. package/dist/collection/components/item-divider/item-divider.js +3 -3
  220. package/dist/collection/components/item-option/item-option.js +16 -16
  221. package/dist/collection/components/item-options/item-options.js +1 -1
  222. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  223. package/dist/collection/components/label/label.js +4 -4
  224. package/dist/collection/components/list/list.js +5 -5
  225. package/dist/collection/components/list-header/list-header.js +4 -4
  226. package/dist/collection/components/loading/loading.js +22 -18
  227. package/dist/collection/components/menu/menu.js +10 -10
  228. package/dist/collection/components/menu-button/menu-button.js +7 -7
  229. package/dist/collection/components/menu-toggle/menu-toggle.js +3 -3
  230. package/dist/collection/components/modal/modal.js +33 -26
  231. package/dist/collection/components/nav/nav.js +8 -5
  232. package/dist/collection/components/nav-link/nav-link.js +5 -3
  233. package/dist/collection/components/note/note.js +2 -2
  234. package/dist/collection/components/picker-column/picker-column.js +5 -5
  235. package/dist/collection/components/picker-column-option/picker-column-option.js +4 -4
  236. package/dist/collection/components/picker-legacy/picker.js +19 -13
  237. package/dist/collection/components/picker-legacy-column/picker-column.js +1 -0
  238. package/dist/collection/components/popover/popover.js +33 -28
  239. package/dist/collection/components/progress-bar/progress-bar.js +8 -8
  240. package/dist/collection/components/radio/radio.js +11 -11
  241. package/dist/collection/components/radio-group/radio-group.js +10 -10
  242. package/dist/collection/components/range/range.js +20 -19
  243. package/dist/collection/components/refresher/refresher.js +6 -6
  244. package/dist/collection/components/refresher-content/refresher-content.js +8 -8
  245. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  246. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  247. package/dist/collection/components/route/route.js +6 -3
  248. package/dist/collection/components/route-redirect/route-redirect.js +4 -4
  249. package/dist/collection/components/router/router.js +2 -2
  250. package/dist/collection/components/router-link/router-link.js +10 -9
  251. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  252. package/dist/collection/components/searchbar/searchbar.js +35 -35
  253. package/dist/collection/components/segment/segment.js +8 -8
  254. package/dist/collection/components/segment-button/segment-button.js +6 -6
  255. package/dist/collection/components/segment-view/segment-view.js +1 -1
  256. package/dist/collection/components/select/select.js +37 -37
  257. package/dist/collection/components/select-modal/select-modal.ionic.css +3 -0
  258. package/dist/collection/components/select-modal/select-modal.js +5 -4
  259. package/dist/collection/components/select-option/select-option.js +3 -3
  260. package/dist/collection/components/select-popover/select-popover.js +9 -8
  261. package/dist/collection/components/skeleton-text/skeleton-text.js +1 -1
  262. package/dist/collection/components/spinner/spinner.js +9 -9
  263. package/dist/collection/components/split-pane/split-pane.js +4 -4
  264. package/dist/collection/components/tab/tab.js +6 -5
  265. package/dist/collection/components/tab-bar/tab-bar.js +8 -8
  266. package/dist/collection/components/tab-button/tab-button.js +16 -16
  267. package/dist/collection/components/tabs/tabs.js +1 -1
  268. package/dist/collection/components/text/text.js +2 -2
  269. package/dist/collection/components/textarea/textarea.js +44 -43
  270. package/dist/collection/components/title/title.js +4 -4
  271. package/dist/collection/components/toast/toast.js +34 -29
  272. package/dist/collection/components/toggle/toggle.js +17 -17
  273. package/dist/collection/components/toolbar/toolbar.js +2 -2
  274. package/dist/docs.json +55 -2
  275. package/dist/esm/{animation-DGDOQ6ES.js → animation-Cgfm6Out.js} +1 -2
  276. package/dist/esm/{button-active-C_l8DIlb.js → button-active-DvzVF2u_.js} +2 -2
  277. package/dist/esm/{capacitor-CiBLEyrT.js → capacitor-Dvc8Ydvg.js} +1 -1
  278. package/dist/esm/{config-mCdtaoPe.js → config-DwiPHIF5.js} +1 -1
  279. package/dist/esm/{data-DFCY8gnk.js → data-HHZs0eLV.js} +7 -10
  280. package/dist/esm/{framework-delegate-D2mUP0WI.js → framework-delegate-B4Rily6A.js} +2 -2
  281. package/dist/esm/{haptic-7RTk38ue.js → haptic-ZZTn7IWt.js} +1 -1
  282. package/dist/esm/{helpers-Bsml3FcE.js → helpers-D_90HVv6.js} +1 -1
  283. package/dist/esm/{index-C8IsBmNU.js → index-BBrR3goV.js} +681 -306
  284. package/dist/esm/{index-Djo-Eq70.js → index-BoSPzYKk.js} +4 -4
  285. package/dist/esm/{index-BpFi2B8W.js → index-ByqmqxGO.js} +2 -2
  286. package/dist/esm/{index-DWD4QoaP.js → index-D4D_NUAr.js} +3 -4
  287. package/dist/esm/{index-rXea6WR_.js → index-k4x4i7EL.js} +2 -3
  288. package/dist/esm/index.js +10 -11
  289. package/dist/esm/{input-shims-Bz3HiPwU.js → input-shims-DEtEJcaS.js} +5 -6
  290. package/dist/esm/{input.utils-BQAE1QTA.js → input.utils-DNE0LB5g.js} +2 -3
  291. package/dist/esm/ion-accordion_2.entry.js +2 -3
  292. package/dist/esm/ion-action-sheet.entry.js +8 -9
  293. package/dist/esm/ion-alert.entry.js +9 -10
  294. package/dist/esm/ion-app_8.entry.js +9 -10
  295. package/dist/esm/ion-avatar_3.entry.js +1 -2
  296. package/dist/esm/ion-back-button.entry.js +2 -3
  297. package/dist/esm/ion-backdrop.entry.js +1 -2
  298. package/dist/esm/ion-breadcrumb_2.entry.js +2 -3
  299. package/dist/esm/ion-button_2.entry.js +2 -3
  300. package/dist/esm/ion-card_5.entry.js +2 -3
  301. package/dist/esm/ion-checkbox.entry.js +2 -3
  302. package/dist/esm/ion-chip.entry.js +1 -2
  303. package/dist/esm/ion-col_3.entry.js +1 -2
  304. package/dist/esm/ion-datetime-button.entry.js +3 -4
  305. package/dist/esm/ion-datetime_3.entry.js +8 -9
  306. package/dist/esm/ion-divider.entry.js +1 -2
  307. package/dist/esm/ion-fab_3.entry.js +2 -3
  308. package/dist/esm/ion-img.entry.js +2 -3
  309. package/dist/esm/ion-infinite-scroll_2.entry.js +4 -5
  310. package/dist/esm/ion-input-otp.entry.js +2 -3
  311. package/dist/esm/ion-input-password-toggle.entry.js +1 -2
  312. package/dist/esm/ion-input.entry.js +4 -5
  313. package/dist/esm/ion-item-option_3.entry.js +3 -4
  314. package/dist/esm/ion-item_8.entry.js +3 -4
  315. package/dist/esm/ion-loading.entry.js +6 -7
  316. package/dist/esm/ion-menu_3.entry.js +6 -7
  317. package/dist/esm/ion-modal.entry.js +10 -11
  318. package/dist/esm/ion-nav_2.entry.js +5 -6
  319. package/dist/esm/ion-picker-column-option.entry.js +2 -3
  320. package/dist/esm/ion-picker-column.entry.js +4 -5
  321. package/dist/esm/ion-picker.entry.js +2 -2
  322. package/dist/esm/ion-popover.entry.js +6 -7
  323. package/dist/esm/ion-progress-bar.entry.js +2 -3
  324. package/dist/esm/ion-radio_2.entry.js +2 -3
  325. package/dist/esm/ion-range.entry.js +3 -4
  326. package/dist/esm/ion-refresher_2.entry.js +7 -8
  327. package/dist/esm/ion-reorder_2.entry.js +5 -6
  328. package/dist/esm/ion-ripple-effect.entry.js +1 -2
  329. package/dist/esm/ion-route_4.entry.js +2 -3
  330. package/dist/esm/ion-searchbar.entry.js +2 -3
  331. package/dist/esm/ion-segment-content.entry.js +1 -1
  332. package/dist/esm/ion-segment-view.entry.js +1 -1
  333. package/dist/esm/ion-segment_2.entry.js +2 -3
  334. package/dist/esm/ion-select-modal.entry.js +6 -7
  335. package/dist/esm/ion-select_3.entry.js +7 -8
  336. package/dist/esm/ion-spinner.entry.js +1 -2
  337. package/dist/esm/ion-split-pane.entry.js +1 -2
  338. package/dist/esm/ion-tab-bar_2.entry.js +5 -6
  339. package/dist/esm/ion-tab_2.entry.js +3 -3
  340. package/dist/esm/ion-text.entry.js +1 -2
  341. package/dist/esm/ion-textarea.entry.js +4 -5
  342. package/dist/esm/ion-toast.entry.js +6 -7
  343. package/dist/esm/ion-toggle.entry.js +4 -5
  344. package/dist/esm/ionic.js +4 -6
  345. package/dist/esm/{ios.transition-cQ5XYp4s.js → ios.transition-C_-UP8wE.js} +4 -5
  346. package/dist/esm/{keyboard-DuUgrXrK.js → keyboard-BsZp3qPH.js} +3 -4
  347. package/dist/esm/{keyboard-WCK1pWfR.js → keyboard-Cvigb3Rv.js} +1 -1
  348. package/dist/esm/{keyboard-controller-Bc4alOiF.js → keyboard-controller-lts2Pswq.js} +2 -3
  349. package/dist/esm/loader.js +3 -5
  350. package/dist/esm/{md.transition-CYFYc3-3.js → md.transition-BDWkLsNw.js} +4 -5
  351. package/dist/esm/{notch-controller-DO30Bsls.js → notch-controller-ClKrf2l9.js} +2 -2
  352. package/dist/esm/{overlays-Da_6xSKI.js → overlays-C1ahtepl.js} +3 -4
  353. package/dist/esm/{status-tap-DXVlluKS.js → status-tap-DLatL9pG.js} +3 -3
  354. package/dist/esm/{swipe-back-DNhAt9fY.js → swipe-back-YYylMb0l.js} +2 -2
  355. package/dist/html.html-data.json +212 -0
  356. package/dist/ionic/index.esm.js +1 -1
  357. package/dist/ionic/ionic.esm.js +1 -1
  358. package/dist/ionic/p-034ef39b.entry.js +4 -0
  359. package/dist/ionic/p-05030d1b.entry.js +4 -0
  360. package/dist/ionic/p-059ceab8.entry.js +4 -0
  361. package/dist/ionic/p-096b5789.entry.js +4 -0
  362. package/dist/ionic/p-09eaefc0.entry.js +4 -0
  363. package/dist/ionic/p-156bba30.entry.js +4 -0
  364. package/dist/ionic/p-238ad727.entry.js +4 -0
  365. package/dist/ionic/p-2c28e54a.entry.js +4 -0
  366. package/dist/ionic/p-2c9459f5.entry.js +4 -0
  367. package/dist/ionic/p-2f1d100c.entry.js +4 -0
  368. package/dist/ionic/p-31331fc3.entry.js +4 -0
  369. package/dist/ionic/p-340e4f62.entry.js +4 -0
  370. package/dist/ionic/p-3bef3778.entry.js +4 -0
  371. package/dist/ionic/p-3c773ecd.entry.js +4 -0
  372. package/dist/ionic/p-47432157.entry.js +4 -0
  373. package/dist/ionic/p-52535bba.entry.js +4 -0
  374. package/dist/ionic/p-56e51161.entry.js +4 -0
  375. package/dist/ionic/p-5770869f.entry.js +4 -0
  376. package/dist/ionic/p-5af619ff.entry.js +4 -0
  377. package/dist/ionic/p-5b44ac3a.entry.js +4 -0
  378. package/dist/ionic/p-5ca4c3b8.entry.js +4 -0
  379. package/dist/ionic/p-6469a540.entry.js +4 -0
  380. package/dist/ionic/p-649e2f92.entry.js +4 -0
  381. package/dist/ionic/p-6d38d3f3.entry.js +4 -0
  382. package/dist/ionic/p-6e6ce506.entry.js +4 -0
  383. package/dist/ionic/{p-59a79bd9.entry.js → p-6ea34add.entry.js} +1 -1
  384. package/dist/ionic/p-6f17f8ed.entry.js +4 -0
  385. package/dist/ionic/p-7a67fe32.entry.js +4 -0
  386. package/dist/ionic/p-80cc8511.entry.js +4 -0
  387. package/dist/ionic/p-82796bb0.entry.js +4 -0
  388. package/dist/ionic/p-8c3d3bca.entry.js +4 -0
  389. package/dist/ionic/p-9000bd9f.entry.js +4 -0
  390. package/dist/ionic/p-9cbab197.entry.js +4 -0
  391. package/dist/ionic/p-BJ-EYogw.js +4 -0
  392. package/dist/ionic/p-BKDxK6_S.js +4 -0
  393. package/dist/ionic/p-BMPzyWDm.js +4 -0
  394. package/dist/ionic/p-BTqHM5hg.js +4 -0
  395. package/dist/ionic/p-BZR5I9yn.js +4 -0
  396. package/dist/ionic/{p-BiTKUjko.js → p-BZSKvxFv.js} +1 -1
  397. package/dist/ionic/{p-DyaKZbAH.js → p-BaAcx1TO.js} +1 -1
  398. package/dist/ionic/p-BeJdFlAB.js +4 -0
  399. package/dist/ionic/{p-Q7JLYEUZ.js → p-Bi_aZreq.js} +1 -1
  400. package/dist/ionic/p-BpUl-Ubc.js +4 -0
  401. package/dist/ionic/{p-DxFexTIr.js → p-BuAY53fC.js} +1 -1
  402. package/dist/ionic/p-CnPZjTVf.js +4 -0
  403. package/dist/ionic/{p-HpOiAvpC.js → p-D-g7JYuH.js} +1 -1
  404. package/dist/ionic/p-D6quDhlh.js +4 -0
  405. package/dist/ionic/{p-DBaOCAfc.js → p-DIZM2shZ.js} +1 -1
  406. package/dist/ionic/p-DJD59Sq4.js +4 -0
  407. package/dist/ionic/p-DZmL55Qn.js +4 -0
  408. package/dist/ionic/p-DjxV6ul_.js +4 -0
  409. package/dist/ionic/p-DkXsr7m2.js +4 -0
  410. package/dist/ionic/p-DnNglnwY.js +4 -0
  411. package/dist/ionic/p-Dpa-63kX.js +4 -0
  412. package/dist/ionic/p-HOJ_eq4V.js +5 -0
  413. package/dist/ionic/p-MBiM0IFp.js +4 -0
  414. package/dist/ionic/p-a1af546a.entry.js +4 -0
  415. package/dist/ionic/p-a2218a8b.entry.js +4 -0
  416. package/dist/ionic/p-a22b46e4.entry.js +4 -0
  417. package/dist/ionic/{p-89743bba.entry.js → p-ae10fb4c.entry.js} +1 -1
  418. package/dist/ionic/p-c2122301.entry.js +4 -0
  419. package/dist/ionic/{p-3cb3d194.entry.js → p-c428cbac.entry.js} +1 -1
  420. package/dist/ionic/p-c565e353.entry.js +4 -0
  421. package/dist/ionic/p-c6301ef9.entry.js +4 -0
  422. package/dist/ionic/p-c83a1254.entry.js +4 -0
  423. package/dist/ionic/p-c9313bb8.entry.js +4 -0
  424. package/dist/ionic/p-cb6bb34f.entry.js +4 -0
  425. package/dist/ionic/p-d215bbdc.entry.js +4 -0
  426. package/dist/ionic/p-de6964a2.entry.js +4 -0
  427. package/dist/ionic/p-ded5613d.entry.js +4 -0
  428. package/dist/ionic/p-e0eae83d.entry.js +4 -0
  429. package/dist/ionic/p-e7925263.entry.js +4 -0
  430. package/dist/ionic/p-eZzo_1L1.js +4 -0
  431. package/dist/ionic/p-eebf0420.entry.js +4 -0
  432. package/dist/ionic/p-f1121131.entry.js +4 -0
  433. package/dist/ionic/p-f1bb4947.entry.js +4 -0
  434. package/dist/ionic/p-facf3c23.entry.js +4 -0
  435. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +143 -0
  436. package/dist/types/stencil-public-runtime.d.ts +7 -51
  437. package/hydrate/index.d.ts +0 -2
  438. package/hydrate/index.js +345 -543
  439. package/hydrate/index.mjs +345 -543
  440. package/package.json +2 -2
  441. package/dist/cjs/app-globals-CrtAvKxl.js +0 -10
  442. package/dist/cjs/ionic-global-DuRUel5m.js +0 -491
  443. package/dist/esm/app-globals-BNKecRVD.js +0 -8
  444. package/dist/esm/ionic-global-2R0iPB51.js +0 -480
  445. package/dist/ionic/p--8Ga2Cg0.js +0 -4
  446. package/dist/ionic/p-16c5a01c.entry.js +0 -4
  447. package/dist/ionic/p-1f981d06.entry.js +0 -4
  448. package/dist/ionic/p-22c02aea.entry.js +0 -4
  449. package/dist/ionic/p-23e4b68a.entry.js +0 -4
  450. package/dist/ionic/p-28571945.entry.js +0 -4
  451. package/dist/ionic/p-2bab0853.entry.js +0 -4
  452. package/dist/ionic/p-2e19a4dd.entry.js +0 -4
  453. package/dist/ionic/p-2e900f67.entry.js +0 -4
  454. package/dist/ionic/p-3622a9ea.entry.js +0 -4
  455. package/dist/ionic/p-3a6a92ab.entry.js +0 -4
  456. package/dist/ionic/p-418e4330.entry.js +0 -4
  457. package/dist/ionic/p-4261dc5d.entry.js +0 -4
  458. package/dist/ionic/p-4e13d498.entry.js +0 -4
  459. package/dist/ionic/p-55e2352e.entry.js +0 -4
  460. package/dist/ionic/p-56a9319e.entry.js +0 -4
  461. package/dist/ionic/p-59e6c978.entry.js +0 -4
  462. package/dist/ionic/p-642b022d.entry.js +0 -4
  463. package/dist/ionic/p-64385b66.entry.js +0 -4
  464. package/dist/ionic/p-66397fac.entry.js +0 -4
  465. package/dist/ionic/p-66d094b2.entry.js +0 -4
  466. package/dist/ionic/p-6fac73e6.entry.js +0 -4
  467. package/dist/ionic/p-7d450184.entry.js +0 -4
  468. package/dist/ionic/p-81770a5c.entry.js +0 -4
  469. package/dist/ionic/p-844bd58c.entry.js +0 -4
  470. package/dist/ionic/p-86b82096.entry.js +0 -4
  471. package/dist/ionic/p-87678140.entry.js +0 -4
  472. package/dist/ionic/p-88ef6829.entry.js +0 -4
  473. package/dist/ionic/p-90320028.entry.js +0 -4
  474. package/dist/ionic/p-916685a9.entry.js +0 -4
  475. package/dist/ionic/p-91966afa.entry.js +0 -4
  476. package/dist/ionic/p-B-N4FEiY.js +0 -4
  477. package/dist/ionic/p-B3uz75uZ.js +0 -4
  478. package/dist/ionic/p-BRd1Ag6P.js +0 -4
  479. package/dist/ionic/p-BbT4IAlw.js +0 -4
  480. package/dist/ionic/p-C8IsBmNU.js +0 -5
  481. package/dist/ionic/p-CK1xn1Nt.js +0 -4
  482. package/dist/ionic/p-CK4YXTyz.js +0 -4
  483. package/dist/ionic/p-CeO9Shc9.js +0 -4
  484. package/dist/ionic/p-Cm5sQeXL.js +0 -4
  485. package/dist/ionic/p-DHCQ1qFC.js +0 -4
  486. package/dist/ionic/p-DPNSAVjP.js +0 -4
  487. package/dist/ionic/p-D_8SMvQ3.js +0 -4
  488. package/dist/ionic/p-DbQ5QkTP.js +0 -4
  489. package/dist/ionic/p-DdaOdN_z.js +0 -4
  490. package/dist/ionic/p-Dq8ap6AD.js +0 -4
  491. package/dist/ionic/p-Dv5UHqHj.js +0 -4
  492. package/dist/ionic/p-W-2TssC9.js +0 -4
  493. package/dist/ionic/p-a1128f7f.entry.js +0 -4
  494. package/dist/ionic/p-a57c0cce.entry.js +0 -4
  495. package/dist/ionic/p-acb9905c.entry.js +0 -4
  496. package/dist/ionic/p-b2291ef0.entry.js +0 -4
  497. package/dist/ionic/p-b26aeaf8.entry.js +0 -4
  498. package/dist/ionic/p-bf461512.entry.js +0 -4
  499. package/dist/ionic/p-c289efa5.entry.js +0 -4
  500. package/dist/ionic/p-c2f738d2.entry.js +0 -4
  501. package/dist/ionic/p-c775e3c0.entry.js +0 -4
  502. package/dist/ionic/p-ce510c06.entry.js +0 -4
  503. package/dist/ionic/p-cea1ee31.entry.js +0 -4
  504. package/dist/ionic/p-d1c60c1c.entry.js +0 -4
  505. package/dist/ionic/p-db90b95a.entry.js +0 -4
  506. package/dist/ionic/p-dcfb2b1d.entry.js +0 -4
  507. package/dist/ionic/p-e2171c27.entry.js +0 -4
  508. package/dist/ionic/p-e28d6a81.entry.js +0 -4
  509. package/dist/ionic/p-ec02238a.entry.js +0 -4
  510. package/dist/ionic/p-ecc8aebb.entry.js +0 -4
  511. package/dist/ionic/p-f3de58bd.entry.js +0 -4
  512. package/dist/ionic/p-ff757a50.entry.js +0 -4
  513. package/dist/ionic/p-szCM2gDt.js +0 -4
  514. package/dist/ionic/p-vpXGWZiy.js +0 -4
@@ -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, propChangeCallback: true, shadowDom: true, slotRelocation: true, updatable: true};
5
+ const BUILD = /* ionic */ { experimentalSlotFixes: true, hydratedSelectorName: "hydrated", lazyLoad: true, shadowDom: true, slotRelocation: true, updatable: true};
6
6
 
7
7
  // TODO(FW-2832): types
8
8
  class Config {
@@ -121,8 +121,485 @@ 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
+
124
601
  /*
125
- Stencil Client Platform v4.38.0 | MIT Licensed | https://stenciljs.com
602
+ Stencil Client Platform v4.33.1 | MIT Licensed | https://stenciljs.com
126
603
  */
127
604
  var __defProp = Object.defineProperty;
128
605
  var __export = (target, all) => {
@@ -168,7 +645,6 @@ var getHostRef = (ref) => {
168
645
  return void 0;
169
646
  };
170
647
  var registerInstance = (lazyInstance, hostRef) => {
171
- if (!hostRef) return;
172
648
  lazyInstance.__stencil__getHostRef = () => hostRef;
173
649
  hostRef.$lazyInstance$ = lazyInstance;
174
650
  };
@@ -177,8 +653,7 @@ var registerHost = (hostElement, cmpMeta) => {
177
653
  $flags$: 0,
178
654
  $hostElement$: hostElement,
179
655
  $cmpMeta$: cmpMeta,
180
- $instanceValues$: /* @__PURE__ */ new Map(),
181
- $serializerValues$: /* @__PURE__ */ new Map()
656
+ $instanceValues$: /* @__PURE__ */ new Map()
182
657
  };
183
658
  {
184
659
  hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r);
@@ -188,9 +663,6 @@ var registerHost = (hostElement, cmpMeta) => {
188
663
  hostElement["s-p"] = [];
189
664
  hostElement["s-rc"] = [];
190
665
  }
191
- {
192
- hostRef.$fetchedCbList$ = [];
193
- }
194
666
  const ref = hostRef;
195
667
  hostElement.__stencil__getHostRef = () => ref;
196
668
  return ref;
@@ -285,7 +757,6 @@ var supportsConstructableStylesheets = /* @__PURE__ */ (() => {
285
757
  }
286
758
  return false;
287
759
  })() ;
288
- var supportsMutableAdoptedStyleSheets = supportsConstructableStylesheets ? /* @__PURE__ */ (() => !!win.document && Object.getOwnPropertyDescriptor(win.document.adoptedStyleSheets, "length").writable)() : false;
289
760
  var queuePending = false;
290
761
  var queueDomReads = [];
291
762
  var queueDomWrites = [];
@@ -498,27 +969,15 @@ function deserializeProperty(value) {
498
969
  }
499
970
  return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
500
971
  }
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;
509
972
  function createShadowRoot(cmpMeta) {
510
- var _a;
511
973
  const shadowRoot = this.attachShadow({
512
974
  mode: "open",
513
975
  delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */)
514
976
  }) ;
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
- }
977
+ if (supportsConstructableStylesheets) {
978
+ const sheet = new CSSStyleSheet();
979
+ sheet.replaceSync(globalStyles);
980
+ shadowRoot.adoptedStyleSheets.push(sheet);
522
981
  }
523
982
  }
524
983
  var updateFallbackSlotVisibility = (elm) => {
@@ -626,7 +1085,7 @@ function patchSlotNode(node) {
626
1085
  const slotName = this["s-sn"];
627
1086
  if (opts == null ? void 0 : opts.flatten) {
628
1087
  console.error(`
629
- Flattening is not supported for Stencil non-shadow slots.
1088
+ Flattening is not supported for Stencil non-shadow slots.
630
1089
  You can use \`.childNodes\` to nested slot fallback content.
631
1090
  If you have a particular use case, please open an issue on the Stencil repo.
632
1091
  `);
@@ -1013,9 +1472,6 @@ var validNodesPatches = [
1013
1472
  "parentNode"
1014
1473
  ];
1015
1474
  function patchHostOriginalAccessor(accessorName, node) {
1016
- if (!globalThis.Node || !globalThis.Element) {
1017
- return;
1018
- }
1019
1475
  let accessor;
1020
1476
  if (validElementPatches.includes(accessorName)) {
1021
1477
  accessor = Object.getOwnPropertyDescriptor(Element.prototype, accessorName);
@@ -1051,125 +1507,6 @@ var uniqueTime = (key, measureText) => {
1051
1507
  };
1052
1508
  }
1053
1509
  };
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
- };
1173
1510
  var h = (nodeName, vnodeData, ...children) => {
1174
1511
  let child = null;
1175
1512
  let key = null;
@@ -1284,7 +1621,7 @@ var convertToPrivate = (node) => {
1284
1621
 
1285
1622
  // src/runtime/client-hydrate.ts
1286
1623
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1287
- var _a, _b;
1624
+ var _a;
1288
1625
  const endHydrate = createTime("hydrateClient", tagName);
1289
1626
  const shadowRoot = hostElm.shadowRoot;
1290
1627
  const childRenderNodes = [];
@@ -1293,6 +1630,19 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1293
1630
  const shadowRootNodes = shadowRoot ? [] : null;
1294
1631
  const vnode = newVNode(tagName, null);
1295
1632
  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
+ });
1296
1646
  let scopeId2;
1297
1647
  {
1298
1648
  const cmpMeta = hostRef.$cmpMeta$;
@@ -1331,18 +1681,6 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1331
1681
  if (childRenderNode.$tag$ === "slot") {
1332
1682
  node["s-cr"] = hostElm["s-cr"];
1333
1683
  }
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
- }
1346
1684
  }
1347
1685
  if (childRenderNode.$tag$ === "slot") {
1348
1686
  childRenderNode.$name$ = childRenderNode.$elm$["s-sn"] || childRenderNode.$elm$["name"] || null;
@@ -1358,7 +1696,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1358
1696
  }
1359
1697
  }
1360
1698
  if (orgLocationNode && orgLocationNode.isConnected) {
1361
- if (orgLocationNode.parentElement.shadowRoot && orgLocationNode["s-en"] === "") {
1699
+ if (shadowRoot && orgLocationNode["s-en"] === "") {
1362
1700
  orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
1363
1701
  }
1364
1702
  orgLocationNode.parentNode.removeChild(orgLocationNode);
@@ -1366,9 +1704,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1366
1704
  node["s-oo"] = parseInt(childRenderNode.$nodeId$);
1367
1705
  }
1368
1706
  }
1369
- if (orgLocationNode && !orgLocationNode["s-id"]) {
1370
- plt.$orgLocNodes$.delete(orgLocationId);
1371
- }
1707
+ plt.$orgLocNodes$.delete(orgLocationId);
1372
1708
  }
1373
1709
  const hosts = [];
1374
1710
  const snLen = slottedNodes.length;
@@ -1389,26 +1725,21 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1389
1725
  }
1390
1726
  if (!hosts[slottedItem.hostId]) continue;
1391
1727
  const hostEle = hosts[slottedItem.hostId];
1392
- if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1393
- hostEle.appendChild(slottedItem.node);
1394
- }
1395
1728
  if (!hostEle.shadowRoot || !shadowRoot) {
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
- }
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];
1403
1734
  }
1404
1735
  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
- }
1408
1736
  {
1409
1737
  patchSlottedNode(slottedItem.node);
1410
1738
  }
1411
1739
  }
1740
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1741
+ hostEle.appendChild(slottedItem.node);
1742
+ }
1412
1743
  }
1413
1744
  }
1414
1745
  if (scopeId2 && slotNodes.length) {
@@ -1416,27 +1747,25 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1416
1747
  slot.$elm$.parentElement.classList.add(scopeId2 + "-s");
1417
1748
  });
1418
1749
  }
1419
- if (shadowRoot) {
1750
+ if (shadowRoot && !shadowRoot.childNodes.length) {
1420
1751
  let rnIdex = 0;
1421
1752
  const rnLen = shadowRootNodes.length;
1422
1753
  if (rnLen) {
1423
1754
  for (rnIdex; rnIdex < rnLen; rnIdex++) {
1424
- const node = shadowRootNodes[rnIdex];
1425
- if (node) {
1426
- shadowRoot.appendChild(node);
1427
- }
1755
+ shadowRoot.appendChild(shadowRootNodes[rnIdex]);
1428
1756
  }
1429
1757
  Array.from(hostElm.childNodes).forEach((node) => {
1430
- if (typeof node["s-en"] !== "string" && typeof node["s-sn"] !== "string") {
1758
+ if (typeof node["s-sn"] !== "string") {
1431
1759
  if (node.nodeType === 1 /* ElementNode */ && node.slot && node.hidden) {
1432
1760
  node.removeAttribute("hidden");
1433
- } else if (node.nodeType === 8 /* CommentNode */ && !node.nodeValue || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1761
+ } else if (node.nodeType === 8 /* CommentNode */ || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1434
1762
  node.parentNode.removeChild(node);
1435
1763
  }
1436
1764
  }
1437
1765
  });
1438
1766
  }
1439
1767
  }
1768
+ plt.$orgLocNodes$.delete(hostElm["s-id"]);
1440
1769
  hostRef.$hostElement$ = hostElm;
1441
1770
  endHydrate();
1442
1771
  };
@@ -1468,7 +1797,7 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
1468
1797
  if (!parentVNode.$children$) {
1469
1798
  parentVNode.$children$ = [];
1470
1799
  }
1471
- if (scopeId2 && childIdSplt[0] === hostId) {
1800
+ if (scopeId2) {
1472
1801
  node["s-si"] = scopeId2;
1473
1802
  childVNode.$attrs$.class += " " + scopeId2;
1474
1803
  }
@@ -1598,7 +1927,7 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
1598
1927
  vnode.$index$ = "0";
1599
1928
  parentVNode.$children$ = [vnode];
1600
1929
  } else {
1601
- if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim() && !node["s-nr"]) {
1930
+ if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1602
1931
  node.remove();
1603
1932
  }
1604
1933
  }
@@ -1656,10 +1985,10 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1656
1985
  if (childVNode.$name$) {
1657
1986
  childVNode.$elm$.setAttribute("name", slotName);
1658
1987
  }
1659
- if (parentVNode.$elm$.shadowRoot && parentNodeId && parentNodeId !== childVNode.$hostId$) {
1660
- internalCall(parentVNode.$elm$, "insertBefore")(slot, internalCall(parentVNode.$elm$, "children")[0]);
1988
+ if (parentNodeId && parentNodeId !== childVNode.$hostId$) {
1989
+ parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1661
1990
  } else {
1662
- internalCall(internalCall(node, "parentNode"), "insertBefore")(slot, node);
1991
+ node.parentNode.insertBefore(childVNode.$elm$, node);
1663
1992
  }
1664
1993
  addSlottedNodes(slottedNodes, slotId, slotName, node, childVNode.$hostId$);
1665
1994
  node.remove();
@@ -1674,8 +2003,8 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1674
2003
  if (shouldMove) {
1675
2004
  parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1676
2005
  }
2006
+ childRenderNodes.push(childVNode);
1677
2007
  }
1678
- childRenderNodes.push(childVNode);
1679
2008
  slotNodes.push(childVNode);
1680
2009
  if (!parentVNode.$children$) {
1681
2010
  parentVNode.$children$ = [];
@@ -1683,17 +2012,13 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1683
2012
  parentVNode.$children$[childVNode.$index$] = childVNode;
1684
2013
  }
1685
2014
  var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1686
- var _a, _b;
1687
2015
  let slottedNode = slotNode.nextSibling;
1688
2016
  slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
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 + ".")));
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
+ }
1697
2022
  };
1698
2023
  var findCorrespondingNode = (node, type) => {
1699
2024
  let sibling = node;
@@ -1718,20 +2043,22 @@ createSupportsRuleRe(":host-context");
1718
2043
  // src/runtime/mode.ts
1719
2044
  var computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);
1720
2045
  var setMode = (handler) => modeResolutionChain.push(handler);
1721
- var getMode = (ref) => {
1722
- var _a;
1723
- return (_a = getHostRef(ref)) == null ? void 0 : _a.$modeName$;
1724
- };
1725
- var parsePropertyValue = (propValue, propType, isFormAssociated) => {
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
+ }
1726
2055
  if (typeof propValue === "string" && propValue.startsWith(SERIALIZED_PREFIX)) {
1727
2056
  propValue = deserializeProperty(propValue);
1728
2057
  return propValue;
1729
2058
  }
1730
2059
  if (propValue != null && !isComplexType(propValue)) {
1731
2060
  if (propType & 4 /* Boolean */) {
1732
- {
1733
- return propValue === "false" ? false : propValue === "" || !!propValue;
1734
- }
2061
+ return propValue === "false" ? false : propValue === "" || !!propValue;
1735
2062
  }
1736
2063
  if (propType & 2 /* Number */) {
1737
2064
  return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
@@ -1743,10 +2070,7 @@ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
1743
2070
  }
1744
2071
  return propValue;
1745
2072
  };
1746
- var getElement = (ref) => {
1747
- var _a;
1748
- return (_a = getHostRef(ref)) == null ? void 0 : _a.$hostElement$ ;
1749
- };
2073
+ var getElement = (ref) => getHostRef(ref).$hostElement$ ;
1750
2074
 
1751
2075
  // src/runtime/event-emitter.ts
1752
2076
  var createEvent = (ref, name, flags) => {
@@ -1767,6 +2091,117 @@ var emitEvent = (elm, name, opts) => {
1767
2091
  elm.dispatchEvent(ev);
1768
2092
  return ev;
1769
2093
  };
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
+ };
1770
2205
  var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
1771
2206
  if (oldValue === newValue) {
1772
2207
  return;
@@ -1777,13 +2212,12 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
1777
2212
  const classList = elm.classList;
1778
2213
  const oldClasses = parseClassList(oldValue);
1779
2214
  let newClasses = parseClassList(newValue);
1780
- if ((elm["s-si"] || elm["s-sc"]) && initialRender) {
1781
- const scopeId2 = elm["s-sc"] || elm["s-si"];
1782
- newClasses.push(scopeId2);
2215
+ if (elm["s-si"] && initialRender) {
2216
+ newClasses.push(elm["s-si"]);
1783
2217
  oldClasses.forEach((c) => {
1784
- if (c.startsWith(scopeId2)) newClasses.push(c);
2218
+ if (c.startsWith(elm["s-si"])) newClasses.push(c);
1785
2219
  });
1786
- newClasses = [...new Set(newClasses)].filter((c) => c);
2220
+ newClasses = [...new Set(newClasses)];
1787
2221
  classList.add(...newClasses);
1788
2222
  } else {
1789
2223
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
@@ -2253,8 +2687,6 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
2253
2687
  !isInitialRender && BUILD.updatable && oldChildren !== null
2254
2688
  ) {
2255
2689
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
2256
- } else if (isInitialRender && BUILD.updatable && oldChildren !== null && newChildren === null) {
2257
- newVNode2.$children$ = oldChildren;
2258
2690
  }
2259
2691
  if (isSvgMode && tag === "svg") {
2260
2692
  isSvgMode = false;
@@ -2370,11 +2802,9 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2370
2802
  hostTagName = hostElm.tagName;
2371
2803
  if (cmpMeta.$attrsToReflect$) {
2372
2804
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
2373
- cmpMeta.$attrsToReflect$.forEach(([propName, attribute]) => {
2374
- {
2375
- rootVnode.$attrs$[attribute] = hostElm[propName];
2376
- }
2377
- });
2805
+ cmpMeta.$attrsToReflect$.map(
2806
+ ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
2807
+ );
2378
2808
  }
2379
2809
  if (isInitialLoad && rootVnode.$attrs$) {
2380
2810
  for (const key of Object.keys(rootVnode.$attrs$)) {
@@ -2495,12 +2925,6 @@ var scheduleUpdate = (hostRef, isInitialLoad) => {
2495
2925
  }
2496
2926
  attachToAncestor(hostRef, hostRef.$ancestorComponent$);
2497
2927
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
2498
- if (isInitialLoad) {
2499
- queueMicrotask(() => {
2500
- dispatch();
2501
- });
2502
- return;
2503
- }
2504
2928
  return writeTask(dispatch) ;
2505
2929
  };
2506
2930
  var dispatchHooks = (hostRef, isInitialLoad) => {
@@ -2515,15 +2939,10 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
2515
2939
  let maybePromise;
2516
2940
  if (isInitialLoad) {
2517
2941
  {
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));
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;
2527
2946
  }
2528
2947
  }
2529
2948
  maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
@@ -2629,10 +3048,9 @@ var postUpdateComponent = (hostRef) => {
2629
3048
  }
2630
3049
  };
2631
3050
  var forceUpdate = (ref) => {
2632
- var _a;
2633
3051
  {
2634
3052
  const hostRef = getHostRef(ref);
2635
- const isConnected = (_a = hostRef == null ? void 0 : hostRef.$hostElement$) == null ? void 0 : _a.isConnected;
3053
+ const isConnected = hostRef.$hostElement$.isConnected;
2636
3054
  if (isConnected && (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
2637
3055
  scheduleUpdate(hostRef, false);
2638
3056
  }
@@ -2640,13 +3058,7 @@ var forceUpdate = (ref) => {
2640
3058
  }
2641
3059
  };
2642
3060
  var appDidLoad = (who) => {
2643
- var _a;
2644
3061
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
2645
- {
2646
- if ((_a = plt.$orgLocNodes$) == null ? void 0 : _a.size) {
2647
- plt.$orgLocNodes$.clear();
2648
- }
2649
- }
2650
3062
  };
2651
3063
  var safeCall = (instance, method, arg, elm) => {
2652
3064
  if (instance && instance[method]) {
@@ -2667,9 +3079,6 @@ var addHydratedFlag = (elm) => {
2667
3079
  var getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
2668
3080
  var setValue = (ref, propName, newVal, cmpMeta) => {
2669
3081
  const hostRef = getHostRef(ref);
2670
- if (!hostRef) {
2671
- return;
2672
- }
2673
3082
  if (!hostRef) {
2674
3083
  throw new Error(
2675
3084
  `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).`
@@ -2679,9 +3088,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2679
3088
  const oldVal = hostRef.$instanceValues$.get(propName);
2680
3089
  const flags = hostRef.$flags$;
2681
3090
  const instance = hostRef.$lazyInstance$ ;
2682
- newVal = parsePropertyValue(
2683
- newVal,
2684
- cmpMeta.$members$[propName][0]);
3091
+ newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
2685
3092
  const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
2686
3093
  const didValueChange = newVal !== oldVal && !areBothNaN;
2687
3094
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
@@ -2715,17 +3122,9 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2715
3122
  var proxyComponent = (Cstr, cmpMeta, flags) => {
2716
3123
  var _a, _b;
2717
3124
  const prototype = Cstr.prototype;
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
- }
3125
+ if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {
3126
+ if (Cstr.watchers && !cmpMeta.$watchers$) {
3127
+ cmpMeta.$watchers$ = Cstr.watchers;
2729
3128
  }
2730
3129
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
2731
3130
  members.map(([memberName, [memberFlags]]) => {
@@ -2753,19 +3152,14 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2753
3152
  Object.defineProperty(prototype, memberName, {
2754
3153
  set(newValue) {
2755
3154
  const ref = getHostRef(this);
2756
- if (!ref) {
2757
- return;
2758
- }
2759
3155
  if (origSetter) {
2760
3156
  const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
2761
3157
  if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
2762
3158
  newValue = ref.$instanceValues$.get(memberName);
3159
+ } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
3160
+ ref.$instanceValues$.set(memberName, currentValue);
2763
3161
  }
2764
- origSetter.apply(this, [
2765
- parsePropertyValue(
2766
- newValue,
2767
- memberFlags)
2768
- ]);
3162
+ origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
2769
3163
  newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
2770
3164
  setValue(this, memberName, newValue, cmpMeta);
2771
3165
  return;
@@ -2774,7 +3168,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2774
3168
  if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
2775
3169
  setValue(this, memberName, newValue, cmpMeta);
2776
3170
  if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
2777
- ref.$fetchedCbList$.push(() => {
3171
+ ref.$onReadyPromise$.then(() => {
2778
3172
  if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
2779
3173
  ref.$lazyInstance$[memberName] = newValue;
2780
3174
  }
@@ -2787,17 +3181,13 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2787
3181
  if (!ref.$instanceValues$.get(memberName) && currentValue) {
2788
3182
  ref.$instanceValues$.set(memberName, currentValue);
2789
3183
  }
2790
- ref.$lazyInstance$[memberName] = parsePropertyValue(
2791
- newValue,
2792
- memberFlags);
3184
+ ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, memberFlags);
2793
3185
  setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
2794
3186
  };
2795
3187
  if (ref.$lazyInstance$) {
2796
3188
  setterSetVal();
2797
3189
  } else {
2798
- ref.$fetchedCbList$.push(() => {
2799
- setterSetVal();
2800
- });
3190
+ ref.$onReadyPromise$.then(() => setterSetVal());
2801
3191
  }
2802
3192
  }
2803
3193
  }
@@ -2821,17 +3211,16 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2821
3211
  plt.jmp(() => {
2822
3212
  var _a2;
2823
3213
  const propName = attrNameToPropName.get(attrName);
2824
- const hostRef = getHostRef(this);
2825
3214
  if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {
2826
3215
  newValue = this[propName];
2827
3216
  delete this[propName];
2828
- }
2829
- if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
3217
+ } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
2830
3218
  this[propName] == newValue) {
2831
3219
  return;
2832
3220
  } else if (propName == null) {
3221
+ const hostRef = getHostRef(this);
2833
3222
  const flags2 = hostRef == null ? void 0 : hostRef.$flags$;
2834
- if (hostRef && flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {
3223
+ if (flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {
2835
3224
  const instance = hostRef.$lazyInstance$ ;
2836
3225
  const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];
2837
3226
  entry == null ? void 0 : entry.forEach((callbackName) => {
@@ -2844,7 +3233,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2844
3233
  }
2845
3234
  const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
2846
3235
  newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
2847
- if (newValue != this[propName] && (!propDesc.get || !!propDesc.set)) {
3236
+ if (newValue !== this[propName] && (!propDesc.get || !!propDesc.set)) {
2848
3237
  this[propName] = newValue;
2849
3238
  }
2850
3239
  });
@@ -2852,7 +3241,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2852
3241
  Cstr.observedAttributes = Array.from(
2853
3242
  /* @__PURE__ */ new Set([
2854
3243
  ...Object.keys((_b = cmpMeta.$watchers$) != null ? _b : {}),
2855
- ...members.filter(([_, m]) => m[0] & 31 /* HasAttribute */).map(([propName, m]) => {
3244
+ ...members.filter(([_, m]) => m[0] & 15 /* HasAttribute */).map(([propName, m]) => {
2856
3245
  var _a2;
2857
3246
  const attrName = m[1] || propName;
2858
3247
  attrNameToPropName.set(attrName, propName);
@@ -2889,8 +3278,6 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2889
3278
  if (!Cstr.isProxied) {
2890
3279
  {
2891
3280
  cmpMeta.$watchers$ = Cstr.watchers;
2892
- cmpMeta.$serializers$ = Cstr.serializers;
2893
- cmpMeta.$deserializers$ = Cstr.deserializers;
2894
3281
  }
2895
3282
  proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
2896
3283
  Cstr.isProxied = true;
@@ -2953,9 +3340,6 @@ var fireConnectedCallback = (instance, elm) => {
2953
3340
  var connectedCallback = (elm) => {
2954
3341
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
2955
3342
  const hostRef = getHostRef(elm);
2956
- if (!hostRef) {
2957
- return;
2958
- }
2959
3343
  const cmpMeta = hostRef.$cmpMeta$;
2960
3344
  const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
2961
3345
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
@@ -2991,7 +3375,7 @@ var connectedCallback = (elm) => {
2991
3375
  }
2992
3376
  if (cmpMeta.$members$) {
2993
3377
  Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
2994
- if (memberFlags & 31 /* Prop */ && memberName in elm && elm[memberName] !== Object.prototype[memberName]) {
3378
+ if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {
2995
3379
  const value = elm[memberName];
2996
3380
  delete elm[memberName];
2997
3381
  elm[memberName] = value;
@@ -3031,7 +3415,7 @@ var disconnectedCallback = async (elm) => {
3031
3415
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
3032
3416
  const hostRef = getHostRef(elm);
3033
3417
  {
3034
- if (hostRef == null ? void 0 : hostRef.$rmListeners$) {
3418
+ if (hostRef.$rmListeners$) {
3035
3419
  hostRef.$rmListeners$.map((rmListener) => rmListener());
3036
3420
  hostRef.$rmListeners$ = void 0;
3037
3421
  }
@@ -3078,7 +3462,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3078
3462
  let hasSlotRelocation = false;
3079
3463
  lazyBundles.map((lazyBundle) => {
3080
3464
  lazyBundle[1].map((compactMeta) => {
3081
- var _a2, _b, _c;
3465
+ var _a2;
3082
3466
  const cmpMeta = {
3083
3467
  $flags$: compactMeta[0],
3084
3468
  $tagName$: compactMeta[1],
@@ -3099,8 +3483,6 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3099
3483
  }
3100
3484
  {
3101
3485
  cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};
3102
- cmpMeta.$serializers$ = (_b = compactMeta[5]) != null ? _b : {};
3103
- cmpMeta.$deserializers$ = (_c = compactMeta[6]) != null ? _c : {};
3104
3486
  }
3105
3487
  const tagName = cmpMeta.$tagName$;
3106
3488
  const HostElement = class extends HTMLElement {
@@ -3126,9 +3508,6 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3126
3508
  }
3127
3509
  connectedCallback() {
3128
3510
  const hostRef = getHostRef(this);
3129
- if (!hostRef) {
3130
- return;
3131
- }
3132
3511
  if (!this.hasRegisteredEventListeners) {
3133
3512
  this.hasRegisteredEventListeners = true;
3134
3513
  addHostEventListeners(this, hostRef, cmpMeta.$listeners$);
@@ -3148,9 +3527,6 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3148
3527
  plt.raf(() => {
3149
3528
  var _a3;
3150
3529
  const hostRef = getHostRef(this);
3151
- if (!hostRef) {
3152
- return;
3153
- }
3154
3530
  const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
3155
3531
  if (i2 > -1) {
3156
3532
  deferredConnectedCallbacks.splice(i2, 1);
@@ -3161,12 +3537,11 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3161
3537
  });
3162
3538
  }
3163
3539
  componentOnReady() {
3164
- var _a3;
3165
- return (_a3 = getHostRef(this)) == null ? void 0 : _a3.$onReadyPromise$;
3540
+ return getHostRef(this).$onReadyPromise$;
3166
3541
  }
3167
3542
  };
3168
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && cmpMeta.$flags$ & 256 /* hasRenderFn */) {
3169
- {
3543
+ {
3544
+ if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
3170
3545
  patchPseudoShadowDom(HostElement.prototype);
3171
3546
  }
3172
3547
  }
@@ -3254,4 +3629,4 @@ var hostListenerOpts = (flags) => supportsListenerOptions ? {
3254
3629
  // src/runtime/nonce.ts
3255
3630
  var setNonce = (nonce) => plt.$nonce$ = nonce;
3256
3631
 
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 };
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 };