@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
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const NAMESPACE = 'ionic';
7
- const BUILD = /* ionic */ { experimentalSlotFixes: true, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, shadowDom: true, slotRelocation: true, updatable: true};
7
+ const BUILD = /* ionic */ { experimentalSlotFixes: true, hydratedSelectorName: "hydrated", lazyLoad: true, shadowDom: true, slotRelocation: true, updatable: true};
8
8
 
9
9
  // TODO(FW-2832): types
10
10
  class Config {
@@ -123,8 +123,485 @@ const printRequiredElementError = (el, ...targetSelectors) => {
123
123
  return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
124
124
  };
125
125
 
126
+ const win$1 = typeof window !== 'undefined' ? window : undefined;
127
+ const doc = typeof document !== 'undefined' ? document : undefined;
128
+
129
+ /**
130
+ * CloseWatcher is a newer API that lets
131
+ * use detect the hardware back button event
132
+ * in a web browser: https://caniuse.com/?search=closewatcher
133
+ * However, not every browser supports it yet.
134
+ *
135
+ * This needs to be a function so that we can
136
+ * check the config once it has been set.
137
+ * Otherwise, this code would be evaluated the
138
+ * moment this file is evaluated which could be
139
+ * before the config is set.
140
+ */
141
+ const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
142
+ /**
143
+ * When hardwareBackButton: false in config,
144
+ * we need to make sure we also block the default
145
+ * webview behavior. If we don't then it will be
146
+ * possible for users to navigate backward while
147
+ * an overlay is still open. Additionally, it will
148
+ * give the appearance that the hardwareBackButton
149
+ * config is not working as the page transition
150
+ * will still happen.
151
+ */
152
+ const blockHardwareBackButton = () => {
153
+ document.addEventListener('backbutton', () => { }); // eslint-disable-line
154
+ };
155
+ const startHardwareBackButton = () => {
156
+ const doc = document;
157
+ let busy = false;
158
+ const backButtonCallback = () => {
159
+ if (busy) {
160
+ return;
161
+ }
162
+ let index = 0;
163
+ let handlers = [];
164
+ const ev = new CustomEvent('ionBackButton', {
165
+ bubbles: false,
166
+ detail: {
167
+ register(priority, handler) {
168
+ handlers.push({ priority, handler, id: index++ });
169
+ },
170
+ },
171
+ });
172
+ doc.dispatchEvent(ev);
173
+ const executeAction = async (handlerRegister) => {
174
+ try {
175
+ if (handlerRegister === null || handlerRegister === void 0 ? void 0 : handlerRegister.handler) {
176
+ const result = handlerRegister.handler(processHandlers);
177
+ if (result != null) {
178
+ await result;
179
+ }
180
+ }
181
+ }
182
+ catch (e) {
183
+ printIonError('[ion-app] - Exception in startHardwareBackButton:', e);
184
+ }
185
+ };
186
+ const processHandlers = () => {
187
+ if (handlers.length > 0) {
188
+ let selectedHandler = {
189
+ priority: Number.MIN_SAFE_INTEGER,
190
+ handler: () => undefined,
191
+ id: -1,
192
+ };
193
+ handlers.forEach((handler) => {
194
+ if (handler.priority >= selectedHandler.priority) {
195
+ selectedHandler = handler;
196
+ }
197
+ });
198
+ busy = true;
199
+ handlers = handlers.filter((handler) => handler.id !== selectedHandler.id);
200
+ executeAction(selectedHandler).then(() => (busy = false));
201
+ }
202
+ };
203
+ processHandlers();
204
+ };
205
+ /**
206
+ * If the CloseWatcher is defined then
207
+ * we don't want to also listen for the native
208
+ * backbutton event otherwise we may get duplicate
209
+ * events firing.
210
+ */
211
+ if (shouldUseCloseWatcher()) {
212
+ let watcher;
213
+ const configureWatcher = () => {
214
+ watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
215
+ watcher = new win$1.CloseWatcher();
216
+ /**
217
+ * Once a close request happens
218
+ * the watcher gets destroyed.
219
+ * As a result, we need to re-configure
220
+ * the watcher so we can respond to other
221
+ * close requests.
222
+ */
223
+ watcher.onclose = () => {
224
+ backButtonCallback();
225
+ configureWatcher();
226
+ };
227
+ };
228
+ configureWatcher();
229
+ }
230
+ else {
231
+ doc.addEventListener('backbutton', backButtonCallback);
232
+ }
233
+ };
234
+ const OVERLAY_BACK_BUTTON_PRIORITY = 100;
235
+ const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
236
+
237
+ var hardwareBackButton = /*#__PURE__*/Object.freeze({
238
+ __proto__: null,
239
+ MENU_BACK_BUTTON_PRIORITY: MENU_BACK_BUTTON_PRIORITY,
240
+ OVERLAY_BACK_BUTTON_PRIORITY: OVERLAY_BACK_BUTTON_PRIORITY,
241
+ blockHardwareBackButton: blockHardwareBackButton,
242
+ shouldUseCloseWatcher: shouldUseCloseWatcher,
243
+ startHardwareBackButton: startHardwareBackButton
244
+ });
245
+
246
+ const getPlatforms = (win) => setupPlatforms(win);
247
+ const isPlatform = (winOrPlatform, platform) => {
248
+ if (typeof winOrPlatform === 'string') {
249
+ platform = winOrPlatform;
250
+ winOrPlatform = undefined;
251
+ }
252
+ return getPlatforms(winOrPlatform).includes(platform);
253
+ };
254
+ const setupPlatforms = (win = window) => {
255
+ if (typeof win === 'undefined') {
256
+ return [];
257
+ }
258
+ win.Ionic = win.Ionic || {};
259
+ let platforms = win.Ionic.platforms;
260
+ if (platforms == null) {
261
+ platforms = win.Ionic.platforms = detectPlatforms(win);
262
+ platforms.forEach((p) => win.document.documentElement.classList.add(`plt-${p}`));
263
+ }
264
+ return platforms;
265
+ };
266
+ const detectPlatforms = (win) => {
267
+ const customPlatformMethods = config.get('platform');
268
+ return Object.keys(PLATFORMS_MAP).filter((p) => {
269
+ const customMethod = customPlatformMethods === null || customPlatformMethods === void 0 ? void 0 : customPlatformMethods[p];
270
+ return typeof customMethod === 'function' ? customMethod(win) : PLATFORMS_MAP[p](win);
271
+ });
272
+ };
273
+ const isMobileWeb = (win) => isMobile(win) && !isHybrid(win);
274
+ const isIpad = (win) => {
275
+ // iOS 12 and below
276
+ if (testUserAgent(win, /iPad/i)) {
277
+ return true;
278
+ }
279
+ // iOS 13+
280
+ if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {
281
+ return true;
282
+ }
283
+ return false;
284
+ };
285
+ const isIphone = (win) => testUserAgent(win, /iPhone/i);
286
+ const isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);
287
+ const isAndroid = (win) => testUserAgent(win, /android|sink/i);
288
+ const isAndroidTablet = (win) => {
289
+ return isAndroid(win) && !testUserAgent(win, /mobile/i);
290
+ };
291
+ const isPhablet = (win) => {
292
+ const width = win.innerWidth;
293
+ const height = win.innerHeight;
294
+ const smallest = Math.min(width, height);
295
+ const largest = Math.max(width, height);
296
+ return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;
297
+ };
298
+ const isTablet = (win) => {
299
+ const width = win.innerWidth;
300
+ const height = win.innerHeight;
301
+ const smallest = Math.min(width, height);
302
+ const largest = Math.max(width, height);
303
+ return isIpad(win) || isAndroidTablet(win) || (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400);
304
+ };
305
+ const isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');
306
+ const isDesktop = (win) => !isMobile(win);
307
+ const isHybrid = (win) => isCordova(win) || isCapacitorNative(win);
308
+ const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
309
+ const isCapacitorNative = (win) => {
310
+ const capacitor = win['Capacitor'];
311
+ // TODO(ROU-11693): Remove when we no longer support Capacitor 2, which does not have isNativePlatform
312
+ return !!((capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNative) || ((capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNativePlatform) && !!capacitor.isNativePlatform()));
313
+ };
314
+ const isElectron = (win) => testUserAgent(win, /electron/i);
315
+ 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); };
316
+ const testUserAgent = (win, expr) => expr.test(win.navigator.userAgent);
317
+ const matchMedia = (win, query) => { var _a; return (_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, query).matches; };
318
+ const PLATFORMS_MAP = {
319
+ ipad: isIpad,
320
+ iphone: isIphone,
321
+ ios: isIOS,
322
+ android: isAndroid,
323
+ phablet: isPhablet,
324
+ tablet: isTablet,
325
+ cordova: isCordova,
326
+ capacitor: isCapacitorNative,
327
+ electron: isElectron,
328
+ pwa: isPWA,
329
+ mobile: isMobile,
330
+ mobileweb: isMobileWeb,
331
+ desktop: isDesktop,
332
+ hybrid: isHybrid,
333
+ };
334
+
335
+ let defaultMode;
336
+ let defaultTheme = 'md';
337
+ /**
338
+ * Prints a warning message to the developer to inform them of
339
+ * an invalid configuration of mode and theme.
340
+ * @param mode The invalid mode configuration.
341
+ * @param theme The invalid theme configuration.
342
+ */
343
+ const printInvalidModeWarning = (mode, theme, ref) => {
344
+ printIonWarning(`Invalid mode and theme combination provided: mode: ${mode}, theme: ${theme}. Fallback mode ${getDefaultModeForTheme(theme)} will be used.`, ref);
345
+ };
346
+ /**
347
+ * Validates if a mode is accepted for a theme configuration.
348
+ * @param mode The mode to validate.
349
+ * @param theme The theme the mode is being used with.
350
+ * @returns `true` if the mode is valid for the theme, `false` if invalid.
351
+ */
352
+ const isModeValidForTheme = (mode, theme) => {
353
+ if (mode === 'md') {
354
+ return theme === 'md' || theme === 'ionic';
355
+ }
356
+ else if (mode === 'ios') {
357
+ return theme === 'ios' || theme === 'ionic';
358
+ }
359
+ return false;
360
+ };
361
+ /**
362
+ * Returns the default mode for a specified theme.
363
+ * @param theme The theme to return a default mode for.
364
+ * @returns The default mode, either `ios` or `md`.
365
+ */
366
+ const getDefaultModeForTheme = (theme) => {
367
+ if (theme === 'ios') {
368
+ return 'ios';
369
+ }
370
+ return 'md';
371
+ };
372
+ /**
373
+ * Returns the default theme for a specified mode.
374
+ * @param mode The mode to return a default theme for.
375
+ * @returns The default theme.
376
+ */
377
+ const getDefaultThemeForMode = (mode) => {
378
+ if (mode === 'ios') {
379
+ return 'ios';
380
+ }
381
+ return 'md';
382
+ };
383
+ const isModeSupported = (elmMode) => ['ios', 'md'].includes(elmMode);
384
+ const isThemeSupported = (theme) => ['ios', 'md', 'ionic'].includes(theme);
385
+ const isIonicElement = (elm) => { var _a; return (_a = elm.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('ION-'); };
386
+ /**
387
+ * Returns the mode value of the element reference or the closest
388
+ * parent with a valid mode.
389
+ * @param ref The element reference to look up the mode for.
390
+ * @param theme Optionally can provide the theme to avoid an additional look-up.
391
+ * @returns The mode value for the element reference.
392
+ */
393
+ const getIonMode = (ref, theme = getIonTheme(ref)) => {
394
+ var _a;
395
+ if ((ref === null || ref === void 0 ? void 0 : ref.mode) && isModeValidForTheme(ref === null || ref === void 0 ? void 0 : ref.mode, theme)) {
396
+ /**
397
+ * If the reference already has a mode configuration,
398
+ * use it instead of performing a look-up.
399
+ */
400
+ return ref.mode;
401
+ }
402
+ else {
403
+ const el = getElement(ref);
404
+ const mode = ((_a = el.closest('[mode]')) === null || _a === void 0 ? void 0 : _a.getAttribute('mode')) || defaultMode;
405
+ if (isModeValidForTheme(mode, theme)) {
406
+ /**
407
+ * The mode configuration is supported for the configured theme.
408
+ */
409
+ return mode;
410
+ }
411
+ else {
412
+ printInvalidModeWarning(mode, theme, ref);
413
+ }
414
+ }
415
+ return getDefaultModeForTheme(theme);
416
+ };
417
+ /**
418
+ * Returns the theme value of the element reference or the closest
419
+ * parent with a valid theme.
420
+ *
421
+ * @param ref The element reference to look up the theme for.
422
+ * @returns The theme value for the element reference, defaults to
423
+ * the default theme if it cannot be determined.
424
+ */
425
+ const getIonTheme = (ref) => {
426
+ var _a, _b;
427
+ const theme = ref && getMode(ref);
428
+ if (theme) {
429
+ return theme;
430
+ }
431
+ /**
432
+ * If the theme cannot be detected, then fallback to using
433
+ * the `mode` attribute to determine the style sheets to use.
434
+ */
435
+ const el = getElement(ref);
436
+ 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');
437
+ if (mode) {
438
+ return getDefaultThemeForMode(mode);
439
+ }
440
+ /**
441
+ * If a mode is not detected, then fallback to using the
442
+ * default theme.
443
+ */
444
+ return defaultTheme;
445
+ };
446
+ const rIC = (callback) => {
447
+ if ('requestIdleCallback' in window) {
448
+ window.requestIdleCallback(callback);
449
+ }
450
+ else {
451
+ setTimeout(callback, 32);
452
+ }
453
+ };
454
+ const needInputShims = () => {
455
+ /**
456
+ * iOS always needs input shims
457
+ */
458
+ const needsShimsIOS = isPlatform(window, 'ios') && isPlatform(window, 'mobile');
459
+ if (needsShimsIOS) {
460
+ return true;
461
+ }
462
+ /**
463
+ * Android only needs input shims when running
464
+ * in the browser and only if the browser is using the
465
+ * new Chrome 108+ resize behavior: https://developer.chrome.com/blog/viewport-resize-behavior/
466
+ */
467
+ const isAndroidMobileWeb = isPlatform(window, 'android') && isPlatform(window, 'mobileweb');
468
+ if (isAndroidMobileWeb) {
469
+ return true;
470
+ }
471
+ return false;
472
+ };
473
+ const initialize = (userConfig = {}) => {
474
+ if (typeof window === 'undefined') {
475
+ return;
476
+ }
477
+ const doc = window.document;
478
+ const win = window;
479
+ const Ionic = (win.Ionic = win.Ionic || {});
480
+ // create the Ionic.config from raw config object (if it exists)
481
+ // and convert Ionic.config into a ConfigApi that has a get() fn
482
+ const configObj = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, configFromSession(win)), { persistConfig: false }), Ionic.config), configFromURL(win)), userConfig);
483
+ config.reset(configObj);
484
+ if (config.getBoolean('persistConfig')) {
485
+ saveConfig(win, configObj);
486
+ }
487
+ // Setup platforms
488
+ setupPlatforms(win);
489
+ Ionic.config = config;
490
+ /**
491
+ * Check if the mode was set as an attribute on <html>
492
+ * which could have been set by the user, or by pre-rendering
493
+ * otherwise get the mode via config settings, and fallback to md.
494
+ */
495
+ Ionic.mode = defaultMode = config.get('mode', doc.documentElement.getAttribute('mode') || (isPlatform(win, 'ios') ? 'ios' : 'md'));
496
+ /**
497
+ * Check if the theme was set as an attribute on <html>
498
+ * which could have been set by the user, or by pre-rendering
499
+ * otherwise get the theme via config settings, and fallback to md.
500
+ */
501
+ Ionic.theme = defaultTheme = config.get('theme', doc.documentElement.getAttribute('theme') || getDefaultThemeForMode(defaultMode));
502
+ if (!isModeValidForTheme(defaultMode, defaultTheme)) {
503
+ printInvalidModeWarning(defaultMode, defaultTheme, configObj);
504
+ defaultMode = getDefaultModeForTheme(defaultTheme);
505
+ }
506
+ config.set('mode', defaultMode);
507
+ doc.documentElement.setAttribute('mode', defaultMode);
508
+ doc.documentElement.classList.add(defaultMode);
509
+ config.set('theme', defaultTheme);
510
+ doc.documentElement.setAttribute('theme', defaultTheme);
511
+ doc.documentElement.classList.add(defaultTheme);
512
+ if (config.getBoolean('_testing')) {
513
+ config.set('animated', false);
514
+ }
515
+ setMode((elm) => {
516
+ /**
517
+ * Iterate over all the element nodes, to both validate and
518
+ * set the "mode" that is used for determining the styles to
519
+ * apply to the element.
520
+ *
521
+ * setMode refers to Stencil's internal metadata for "mode",
522
+ * which is used to set the correct styleUrl for the component.
523
+ *
524
+ * If the "theme" attribute or property is set, then use it
525
+ * to determine the style sheets to use.
526
+ *
527
+ * If the "mode" attribute or property is set, then use it
528
+ * to determine the style sheets to use. This is fallback
529
+ * behavior for applications that are not setting the "theme".
530
+ */
531
+ while (elm) {
532
+ const theme = elm.getAttribute('theme');
533
+ if (theme) {
534
+ if (isThemeSupported(theme)) {
535
+ return theme;
536
+ }
537
+ else if (isIonicElement(elm)) {
538
+ printIonWarning(`Invalid theme: "${theme}". Supported themes include: "ios" or "md".`);
539
+ }
540
+ }
541
+ /**
542
+ * If a theme is not detected, then fallback to using the
543
+ * `mode` attribute to determine the style sheets to use.
544
+ */
545
+ const elmMode = elm.getAttribute('mode');
546
+ if (elmMode) {
547
+ if (isModeSupported(elmMode)) {
548
+ return elmMode;
549
+ }
550
+ else if (isIonicElement(elm)) {
551
+ printIonWarning(`Invalid mode: "${elmMode}". Ionic modes can be only "ios" or "md"`);
552
+ }
553
+ }
554
+ elm = elm.parentElement;
555
+ }
556
+ return defaultTheme;
557
+ });
558
+ // `IonApp` code
559
+ // ----------------------------------------------
560
+ {
561
+ rIC(async () => {
562
+ const isHybrid = isPlatform(window, 'hybrid');
563
+ if (!config.getBoolean('_testing')) {
564
+ Promise.resolve().then(function () { return require('./index-YEjC0pvJ.js'); }).then((module) => module.startTapClick(config));
565
+ }
566
+ if (config.getBoolean('statusTap', isHybrid)) {
567
+ Promise.resolve().then(function () { return require('./status-tap-DMaRrHIS.js'); }).then((module) => module.startStatusTap());
568
+ }
569
+ if (config.getBoolean('inputShims', needInputShims())) {
570
+ /**
571
+ * needInputShims() ensures that only iOS and Android
572
+ * platforms proceed into this block.
573
+ */
574
+ const platform = isPlatform(window, 'ios') ? 'ios' : 'android';
575
+ Promise.resolve().then(function () { return require('./input-shims-BwdlNkON.js'); }).then((module) => module.startInputShims(config, platform));
576
+ }
577
+ const hardwareBackButtonModule = await Promise.resolve().then(function () { return hardwareBackButton; });
578
+ const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
579
+ if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
580
+ hardwareBackButtonModule.startHardwareBackButton();
581
+ }
582
+ else {
583
+ /**
584
+ * If an app sets hardwareBackButton: false and experimentalCloseWatcher: true
585
+ * then the close watcher will not be used.
586
+ */
587
+ if (shouldUseCloseWatcher()) {
588
+ 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.');
589
+ }
590
+ hardwareBackButtonModule.blockHardwareBackButton();
591
+ }
592
+ if (typeof window !== 'undefined') {
593
+ Promise.resolve().then(function () { return require('./keyboard-nXDIskl9.js'); }).then((module) => module.startKeyboardAssist(window));
594
+ }
595
+ Promise.resolve().then(function () { return require('./focus-visible-BIj-I3-C.js'); }).then((module) => module.getOrInitFocusVisibleUtility());
596
+ });
597
+ }
598
+ };
599
+
600
+ const globalScripts = initialize;
601
+ const globalStyles = "";
602
+
126
603
  /*
127
- Stencil Client Platform v4.38.0 | MIT Licensed | https://stenciljs.com
604
+ Stencil Client Platform v4.33.1 | MIT Licensed | https://stenciljs.com
128
605
  */
129
606
  var __defProp = Object.defineProperty;
130
607
  var __export = (target, all) => {
@@ -170,7 +647,6 @@ var getHostRef = (ref) => {
170
647
  return void 0;
171
648
  };
172
649
  var registerInstance = (lazyInstance, hostRef) => {
173
- if (!hostRef) return;
174
650
  lazyInstance.__stencil__getHostRef = () => hostRef;
175
651
  hostRef.$lazyInstance$ = lazyInstance;
176
652
  };
@@ -179,8 +655,7 @@ var registerHost = (hostElement, cmpMeta) => {
179
655
  $flags$: 0,
180
656
  $hostElement$: hostElement,
181
657
  $cmpMeta$: cmpMeta,
182
- $instanceValues$: /* @__PURE__ */ new Map(),
183
- $serializerValues$: /* @__PURE__ */ new Map()
658
+ $instanceValues$: /* @__PURE__ */ new Map()
184
659
  };
185
660
  {
186
661
  hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r);
@@ -190,9 +665,6 @@ var registerHost = (hostElement, cmpMeta) => {
190
665
  hostElement["s-p"] = [];
191
666
  hostElement["s-rc"] = [];
192
667
  }
193
- {
194
- hostRef.$fetchedCbList$ = [];
195
- }
196
668
  const ref = hostRef;
197
669
  hostElement.__stencil__getHostRef = () => ref;
198
670
  return ref;
@@ -287,7 +759,6 @@ var supportsConstructableStylesheets = /* @__PURE__ */ (() => {
287
759
  }
288
760
  return false;
289
761
  })() ;
290
- var supportsMutableAdoptedStyleSheets = supportsConstructableStylesheets ? /* @__PURE__ */ (() => !!win.document && Object.getOwnPropertyDescriptor(win.document.adoptedStyleSheets, "length").writable)() : false;
291
762
  var queuePending = false;
292
763
  var queueDomReads = [];
293
764
  var queueDomWrites = [];
@@ -500,27 +971,15 @@ function deserializeProperty(value) {
500
971
  }
501
972
  return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
502
973
  }
503
-
504
- // src/utils/style.ts
505
- function createStyleSheetIfNeededAndSupported(styles2) {
506
- return void 0;
507
- }
508
-
509
- // src/utils/shadow-root.ts
510
- var globalStyleSheet;
511
974
  function createShadowRoot(cmpMeta) {
512
- var _a;
513
975
  const shadowRoot = this.attachShadow({
514
976
  mode: "open",
515
977
  delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */)
516
978
  }) ;
517
- if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null;
518
- if (globalStyleSheet) {
519
- if (supportsMutableAdoptedStyleSheets) {
520
- shadowRoot.adoptedStyleSheets.push(globalStyleSheet);
521
- } else {
522
- shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, globalStyleSheet];
523
- }
979
+ if (supportsConstructableStylesheets) {
980
+ const sheet = new CSSStyleSheet();
981
+ sheet.replaceSync(globalStyles);
982
+ shadowRoot.adoptedStyleSheets.push(sheet);
524
983
  }
525
984
  }
526
985
  var updateFallbackSlotVisibility = (elm) => {
@@ -628,7 +1087,7 @@ function patchSlotNode(node) {
628
1087
  const slotName = this["s-sn"];
629
1088
  if (opts == null ? void 0 : opts.flatten) {
630
1089
  console.error(`
631
- Flattening is not supported for Stencil non-shadow slots.
1090
+ Flattening is not supported for Stencil non-shadow slots.
632
1091
  You can use \`.childNodes\` to nested slot fallback content.
633
1092
  If you have a particular use case, please open an issue on the Stencil repo.
634
1093
  `);
@@ -1015,9 +1474,6 @@ var validNodesPatches = [
1015
1474
  "parentNode"
1016
1475
  ];
1017
1476
  function patchHostOriginalAccessor(accessorName, node) {
1018
- if (!globalThis.Node || !globalThis.Element) {
1019
- return;
1020
- }
1021
1477
  let accessor;
1022
1478
  if (validElementPatches.includes(accessorName)) {
1023
1479
  accessor = Object.getOwnPropertyDescriptor(Element.prototype, accessorName);
@@ -1053,125 +1509,6 @@ var uniqueTime = (key, measureText) => {
1053
1509
  };
1054
1510
  }
1055
1511
  };
1056
- var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1057
- var registerStyle = (scopeId2, cssText, allowCS) => {
1058
- let style = styles.get(scopeId2);
1059
- if (supportsConstructableStylesheets && allowCS) {
1060
- style = style || new CSSStyleSheet();
1061
- if (typeof style === "string") {
1062
- style = cssText;
1063
- } else {
1064
- style.replaceSync(cssText);
1065
- }
1066
- } else {
1067
- style = cssText;
1068
- }
1069
- styles.set(scopeId2, style);
1070
- };
1071
- var addStyle = (styleContainerNode, cmpMeta, mode) => {
1072
- var _a;
1073
- const scopeId2 = getScopeId(cmpMeta, mode);
1074
- const style = styles.get(scopeId2);
1075
- if (!win.document) {
1076
- return scopeId2;
1077
- }
1078
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
1079
- if (style) {
1080
- if (typeof style === "string") {
1081
- styleContainerNode = styleContainerNode.head || styleContainerNode;
1082
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1083
- let styleElm;
1084
- if (!appliedStyles) {
1085
- rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1086
- }
1087
- if (!appliedStyles.has(scopeId2)) {
1088
- if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1089
- styleElm.innerHTML = style;
1090
- } else {
1091
- styleElm = win.document.createElement("style");
1092
- styleElm.innerHTML = style;
1093
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
1094
- if (nonce != null) {
1095
- styleElm.setAttribute("nonce", nonce);
1096
- }
1097
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1098
- if (styleContainerNode.nodeName === "HEAD") {
1099
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1100
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1101
- styleContainerNode.insertBefore(
1102
- styleElm,
1103
- (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
1104
- );
1105
- } else if ("host" in styleContainerNode) {
1106
- if (supportsConstructableStylesheets) {
1107
- const stylesheet = new CSSStyleSheet();
1108
- stylesheet.replaceSync(style);
1109
- if (supportsMutableAdoptedStyleSheets) {
1110
- styleContainerNode.adoptedStyleSheets.unshift(stylesheet);
1111
- } else {
1112
- styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
1113
- }
1114
- } else {
1115
- const existingStyleContainer = styleContainerNode.querySelector("style");
1116
- if (existingStyleContainer) {
1117
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1118
- } else {
1119
- styleContainerNode.prepend(styleElm);
1120
- }
1121
- }
1122
- } else {
1123
- styleContainerNode.append(styleElm);
1124
- }
1125
- }
1126
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1127
- styleContainerNode.insertBefore(styleElm, null);
1128
- }
1129
- }
1130
- if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1131
- styleElm.innerHTML += SLOT_FB_CSS;
1132
- }
1133
- if (appliedStyles) {
1134
- appliedStyles.add(scopeId2);
1135
- }
1136
- }
1137
- } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
1138
- if (supportsMutableAdoptedStyleSheets) {
1139
- styleContainerNode.adoptedStyleSheets.push(style);
1140
- } else {
1141
- styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
1142
- }
1143
- }
1144
- }
1145
- return scopeId2;
1146
- };
1147
- var attachStyles = (hostRef) => {
1148
- const cmpMeta = hostRef.$cmpMeta$;
1149
- const elm = hostRef.$hostElement$;
1150
- const flags = cmpMeta.$flags$;
1151
- const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
1152
- const scopeId2 = addStyle(
1153
- elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
1154
- cmpMeta,
1155
- hostRef.$modeName$
1156
- );
1157
- if (flags & 10 /* needsScopedEncapsulation */) {
1158
- elm["s-sc"] = scopeId2;
1159
- elm.classList.add(scopeId2 + "-h");
1160
- }
1161
- endAttachStyles();
1162
- };
1163
- var getScopeId = (cmp, mode) => "sc-" + (mode && cmp.$flags$ & 32 /* hasMode */ ? cmp.$tagName$ + "-" + mode : cmp.$tagName$);
1164
- var convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, "$1{");
1165
- var hydrateScopedToShadow = () => {
1166
- if (!win.document) {
1167
- return;
1168
- }
1169
- const styles2 = win.document.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);
1170
- let i2 = 0;
1171
- for (; i2 < styles2.length; i2++) {
1172
- registerStyle(styles2[i2].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles2[i2].innerHTML), true);
1173
- }
1174
- };
1175
1512
  var h = (nodeName, vnodeData, ...children) => {
1176
1513
  let child = null;
1177
1514
  let key = null;
@@ -1286,7 +1623,7 @@ var convertToPrivate = (node) => {
1286
1623
 
1287
1624
  // src/runtime/client-hydrate.ts
1288
1625
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1289
- var _a, _b;
1626
+ var _a;
1290
1627
  const endHydrate = createTime("hydrateClient", tagName);
1291
1628
  const shadowRoot = hostElm.shadowRoot;
1292
1629
  const childRenderNodes = [];
@@ -1295,6 +1632,19 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1295
1632
  const shadowRootNodes = shadowRoot ? [] : null;
1296
1633
  const vnode = newVNode(tagName, null);
1297
1634
  vnode.$elm$ = hostElm;
1635
+ const members = Object.entries(((_a = hostRef.$cmpMeta$) == null ? void 0 : _a.$members$) || {});
1636
+ members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
1637
+ var _a2;
1638
+ if (!(memberFlags & 31 /* Prop */)) {
1639
+ return;
1640
+ }
1641
+ const attributeName = metaAttributeName || memberName;
1642
+ const attrVal = hostElm.getAttribute(attributeName);
1643
+ if (attrVal !== null) {
1644
+ const attrPropVal = parsePropertyValue(attrVal, memberFlags);
1645
+ (_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.set(memberName, attrPropVal);
1646
+ }
1647
+ });
1298
1648
  let scopeId2;
1299
1649
  {
1300
1650
  const cmpMeta = hostRef.$cmpMeta$;
@@ -1333,18 +1683,6 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1333
1683
  if (childRenderNode.$tag$ === "slot") {
1334
1684
  node["s-cr"] = hostElm["s-cr"];
1335
1685
  }
1336
- } else if (((_a = childRenderNode.$tag$) == null ? void 0 : _a.toString().includes("-")) && childRenderNode.$tag$ !== "slot-fb" && !childRenderNode.$elm$.shadowRoot) {
1337
- const cmpMeta = getHostRef(childRenderNode.$elm$);
1338
- if (cmpMeta) {
1339
- const scopeId3 = getScopeId(
1340
- cmpMeta.$cmpMeta$,
1341
- childRenderNode.$elm$.getAttribute("s-mode")
1342
- );
1343
- const styleSheet = win.document.querySelector(`style[sty-id="${scopeId3}"]`);
1344
- if (styleSheet) {
1345
- hostElm.shadowRoot.append(styleSheet.cloneNode(true));
1346
- }
1347
- }
1348
1686
  }
1349
1687
  if (childRenderNode.$tag$ === "slot") {
1350
1688
  childRenderNode.$name$ = childRenderNode.$elm$["s-sn"] || childRenderNode.$elm$["name"] || null;
@@ -1360,7 +1698,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1360
1698
  }
1361
1699
  }
1362
1700
  if (orgLocationNode && orgLocationNode.isConnected) {
1363
- if (orgLocationNode.parentElement.shadowRoot && orgLocationNode["s-en"] === "") {
1701
+ if (shadowRoot && orgLocationNode["s-en"] === "") {
1364
1702
  orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
1365
1703
  }
1366
1704
  orgLocationNode.parentNode.removeChild(orgLocationNode);
@@ -1368,9 +1706,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1368
1706
  node["s-oo"] = parseInt(childRenderNode.$nodeId$);
1369
1707
  }
1370
1708
  }
1371
- if (orgLocationNode && !orgLocationNode["s-id"]) {
1372
- plt.$orgLocNodes$.delete(orgLocationId);
1373
- }
1709
+ plt.$orgLocNodes$.delete(orgLocationId);
1374
1710
  }
1375
1711
  const hosts = [];
1376
1712
  const snLen = slottedNodes.length;
@@ -1391,26 +1727,21 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1391
1727
  }
1392
1728
  if (!hosts[slottedItem.hostId]) continue;
1393
1729
  const hostEle = hosts[slottedItem.hostId];
1394
- if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1395
- hostEle.appendChild(slottedItem.node);
1396
- }
1397
1730
  if (!hostEle.shadowRoot || !shadowRoot) {
1398
- if (!slottedItem.slot["s-cr"]) {
1399
- slottedItem.slot["s-cr"] = hostEle["s-cr"];
1400
- if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
1401
- slottedItem.slot["s-cr"] = hostEle;
1402
- } else {
1403
- slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
1404
- }
1731
+ slottedItem.slot["s-cr"] = hostEle["s-cr"];
1732
+ if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
1733
+ slottedItem.slot["s-cr"] = hostEle;
1734
+ } else {
1735
+ slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
1405
1736
  }
1406
1737
  addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
1407
- if (((_b = slottedItem.node.parentElement) == null ? void 0 : _b.shadowRoot) && slottedItem.node["getAttribute"] && slottedItem.node.getAttribute("slot")) {
1408
- slottedItem.node.removeAttribute("slot");
1409
- }
1410
1738
  {
1411
1739
  patchSlottedNode(slottedItem.node);
1412
1740
  }
1413
1741
  }
1742
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1743
+ hostEle.appendChild(slottedItem.node);
1744
+ }
1414
1745
  }
1415
1746
  }
1416
1747
  if (scopeId2 && slotNodes.length) {
@@ -1418,27 +1749,25 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1418
1749
  slot.$elm$.parentElement.classList.add(scopeId2 + "-s");
1419
1750
  });
1420
1751
  }
1421
- if (shadowRoot) {
1752
+ if (shadowRoot && !shadowRoot.childNodes.length) {
1422
1753
  let rnIdex = 0;
1423
1754
  const rnLen = shadowRootNodes.length;
1424
1755
  if (rnLen) {
1425
1756
  for (rnIdex; rnIdex < rnLen; rnIdex++) {
1426
- const node = shadowRootNodes[rnIdex];
1427
- if (node) {
1428
- shadowRoot.appendChild(node);
1429
- }
1757
+ shadowRoot.appendChild(shadowRootNodes[rnIdex]);
1430
1758
  }
1431
1759
  Array.from(hostElm.childNodes).forEach((node) => {
1432
- if (typeof node["s-en"] !== "string" && typeof node["s-sn"] !== "string") {
1760
+ if (typeof node["s-sn"] !== "string") {
1433
1761
  if (node.nodeType === 1 /* ElementNode */ && node.slot && node.hidden) {
1434
1762
  node.removeAttribute("hidden");
1435
- } else if (node.nodeType === 8 /* CommentNode */ && !node.nodeValue || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1763
+ } else if (node.nodeType === 8 /* CommentNode */ || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1436
1764
  node.parentNode.removeChild(node);
1437
1765
  }
1438
1766
  }
1439
1767
  });
1440
1768
  }
1441
1769
  }
1770
+ plt.$orgLocNodes$.delete(hostElm["s-id"]);
1442
1771
  hostRef.$hostElement$ = hostElm;
1443
1772
  endHydrate();
1444
1773
  };
@@ -1470,7 +1799,7 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
1470
1799
  if (!parentVNode.$children$) {
1471
1800
  parentVNode.$children$ = [];
1472
1801
  }
1473
- if (scopeId2 && childIdSplt[0] === hostId) {
1802
+ if (scopeId2) {
1474
1803
  node["s-si"] = scopeId2;
1475
1804
  childVNode.$attrs$.class += " " + scopeId2;
1476
1805
  }
@@ -1600,7 +1929,7 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
1600
1929
  vnode.$index$ = "0";
1601
1930
  parentVNode.$children$ = [vnode];
1602
1931
  } else {
1603
- if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim() && !node["s-nr"]) {
1932
+ if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1604
1933
  node.remove();
1605
1934
  }
1606
1935
  }
@@ -1658,10 +1987,10 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1658
1987
  if (childVNode.$name$) {
1659
1988
  childVNode.$elm$.setAttribute("name", slotName);
1660
1989
  }
1661
- if (parentVNode.$elm$.shadowRoot && parentNodeId && parentNodeId !== childVNode.$hostId$) {
1662
- internalCall(parentVNode.$elm$, "insertBefore")(slot, internalCall(parentVNode.$elm$, "children")[0]);
1990
+ if (parentNodeId && parentNodeId !== childVNode.$hostId$) {
1991
+ parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1663
1992
  } else {
1664
- internalCall(internalCall(node, "parentNode"), "insertBefore")(slot, node);
1993
+ node.parentNode.insertBefore(childVNode.$elm$, node);
1665
1994
  }
1666
1995
  addSlottedNodes(slottedNodes, slotId, slotName, node, childVNode.$hostId$);
1667
1996
  node.remove();
@@ -1676,8 +2005,8 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1676
2005
  if (shouldMove) {
1677
2006
  parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1678
2007
  }
2008
+ childRenderNodes.push(childVNode);
1679
2009
  }
1680
- childRenderNodes.push(childVNode);
1681
2010
  slotNodes.push(childVNode);
1682
2011
  if (!parentVNode.$children$) {
1683
2012
  parentVNode.$children$ = [];
@@ -1685,17 +2014,13 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1685
2014
  parentVNode.$children$[childVNode.$index$] = childVNode;
1686
2015
  }
1687
2016
  var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1688
- var _a, _b;
1689
2017
  let slottedNode = slotNode.nextSibling;
1690
2018
  slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
1691
- if (!slottedNode || ((_a = slottedNode.nodeValue) == null ? void 0 : _a.startsWith(SLOT_NODE_ID + "."))) return;
1692
- do {
1693
- 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 */))) {
1694
- slottedNode["s-sn"] = slotName;
1695
- slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
1696
- }
1697
- slottedNode = slottedNode == null ? void 0 : slottedNode.nextSibling;
1698
- } while (slottedNode && !((_b = slottedNode.nodeValue) == null ? void 0 : _b.startsWith(SLOT_NODE_ID + ".")));
2019
+ 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 */))) {
2020
+ slottedNode["s-sn"] = slotName;
2021
+ slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
2022
+ slottedNode = slottedNode.nextSibling;
2023
+ }
1699
2024
  };
1700
2025
  var findCorrespondingNode = (node, type) => {
1701
2026
  let sibling = node;
@@ -1720,20 +2045,22 @@ createSupportsRuleRe(":host-context");
1720
2045
  // src/runtime/mode.ts
1721
2046
  var computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);
1722
2047
  var setMode = (handler) => modeResolutionChain.push(handler);
1723
- var getMode = (ref) => {
1724
- var _a;
1725
- return (_a = getHostRef(ref)) == null ? void 0 : _a.$modeName$;
1726
- };
1727
- var parsePropertyValue = (propValue, propType, isFormAssociated) => {
2048
+ var getMode = (ref) => getHostRef(ref).$modeName$;
2049
+ var parsePropertyValue = (propValue, propType) => {
2050
+ if (typeof propValue === "string" && (propValue.startsWith("{") && propValue.endsWith("}") || propValue.startsWith("[") && propValue.endsWith("]"))) {
2051
+ try {
2052
+ propValue = JSON.parse(propValue);
2053
+ return propValue;
2054
+ } catch (e) {
2055
+ }
2056
+ }
1728
2057
  if (typeof propValue === "string" && propValue.startsWith(SERIALIZED_PREFIX)) {
1729
2058
  propValue = deserializeProperty(propValue);
1730
2059
  return propValue;
1731
2060
  }
1732
2061
  if (propValue != null && !isComplexType(propValue)) {
1733
2062
  if (propType & 4 /* Boolean */) {
1734
- {
1735
- return propValue === "false" ? false : propValue === "" || !!propValue;
1736
- }
2063
+ return propValue === "false" ? false : propValue === "" || !!propValue;
1737
2064
  }
1738
2065
  if (propType & 2 /* Number */) {
1739
2066
  return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
@@ -1745,10 +2072,7 @@ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
1745
2072
  }
1746
2073
  return propValue;
1747
2074
  };
1748
- var getElement = (ref) => {
1749
- var _a;
1750
- return (_a = getHostRef(ref)) == null ? void 0 : _a.$hostElement$ ;
1751
- };
2075
+ var getElement = (ref) => getHostRef(ref).$hostElement$ ;
1752
2076
 
1753
2077
  // src/runtime/event-emitter.ts
1754
2078
  var createEvent = (ref, name, flags) => {
@@ -1769,6 +2093,117 @@ var emitEvent = (elm, name, opts) => {
1769
2093
  elm.dispatchEvent(ev);
1770
2094
  return ev;
1771
2095
  };
2096
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
2097
+ var registerStyle = (scopeId2, cssText, allowCS) => {
2098
+ let style = styles.get(scopeId2);
2099
+ if (supportsConstructableStylesheets && allowCS) {
2100
+ style = style || new CSSStyleSheet();
2101
+ if (typeof style === "string") {
2102
+ style = cssText;
2103
+ } else {
2104
+ style.replaceSync(cssText);
2105
+ }
2106
+ } else {
2107
+ style = cssText;
2108
+ }
2109
+ styles.set(scopeId2, style);
2110
+ };
2111
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
2112
+ var _a;
2113
+ const scopeId2 = getScopeId(cmpMeta, mode);
2114
+ const style = styles.get(scopeId2);
2115
+ if (!win.document) {
2116
+ return scopeId2;
2117
+ }
2118
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
2119
+ if (style) {
2120
+ if (typeof style === "string") {
2121
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
2122
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
2123
+ let styleElm;
2124
+ if (!appliedStyles) {
2125
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
2126
+ }
2127
+ if (!appliedStyles.has(scopeId2)) {
2128
+ if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
2129
+ styleElm.innerHTML = style;
2130
+ } else {
2131
+ styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || win.document.createElement("style");
2132
+ styleElm.innerHTML = style;
2133
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
2134
+ if (nonce != null) {
2135
+ styleElm.setAttribute("nonce", nonce);
2136
+ }
2137
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
2138
+ if (styleContainerNode.nodeName === "HEAD") {
2139
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
2140
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
2141
+ styleContainerNode.insertBefore(
2142
+ styleElm,
2143
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
2144
+ );
2145
+ } else if ("host" in styleContainerNode) {
2146
+ if (supportsConstructableStylesheets) {
2147
+ const stylesheet = new CSSStyleSheet();
2148
+ stylesheet.replaceSync(style);
2149
+ styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
2150
+ } else {
2151
+ const existingStyleContainer = styleContainerNode.querySelector("style");
2152
+ if (existingStyleContainer) {
2153
+ existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
2154
+ } else {
2155
+ styleContainerNode.prepend(styleElm);
2156
+ }
2157
+ }
2158
+ } else {
2159
+ styleContainerNode.append(styleElm);
2160
+ }
2161
+ }
2162
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
2163
+ styleContainerNode.insertBefore(styleElm, null);
2164
+ }
2165
+ }
2166
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
2167
+ styleElm.innerHTML += SLOT_FB_CSS;
2168
+ }
2169
+ if (appliedStyles) {
2170
+ appliedStyles.add(scopeId2);
2171
+ }
2172
+ }
2173
+ } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
2174
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
2175
+ }
2176
+ }
2177
+ return scopeId2;
2178
+ };
2179
+ var attachStyles = (hostRef) => {
2180
+ const cmpMeta = hostRef.$cmpMeta$;
2181
+ const elm = hostRef.$hostElement$;
2182
+ const flags = cmpMeta.$flags$;
2183
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
2184
+ const scopeId2 = addStyle(
2185
+ elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
2186
+ cmpMeta,
2187
+ hostRef.$modeName$
2188
+ );
2189
+ if (flags & 10 /* needsScopedEncapsulation */) {
2190
+ elm["s-sc"] = scopeId2;
2191
+ elm.classList.add(scopeId2 + "-h");
2192
+ }
2193
+ endAttachStyles();
2194
+ };
2195
+ var getScopeId = (cmp, mode) => "sc-" + (mode && cmp.$flags$ & 32 /* hasMode */ ? cmp.$tagName$ + "-" + mode : cmp.$tagName$);
2196
+ var convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, "$1{");
2197
+ var hydrateScopedToShadow = () => {
2198
+ if (!win.document) {
2199
+ return;
2200
+ }
2201
+ const styles2 = win.document.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);
2202
+ let i2 = 0;
2203
+ for (; i2 < styles2.length; i2++) {
2204
+ registerStyle(styles2[i2].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles2[i2].innerHTML), true);
2205
+ }
2206
+ };
1772
2207
  var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
1773
2208
  if (oldValue === newValue) {
1774
2209
  return;
@@ -1779,13 +2214,12 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
1779
2214
  const classList = elm.classList;
1780
2215
  const oldClasses = parseClassList(oldValue);
1781
2216
  let newClasses = parseClassList(newValue);
1782
- if ((elm["s-si"] || elm["s-sc"]) && initialRender) {
1783
- const scopeId2 = elm["s-sc"] || elm["s-si"];
1784
- newClasses.push(scopeId2);
2217
+ if (elm["s-si"] && initialRender) {
2218
+ newClasses.push(elm["s-si"]);
1785
2219
  oldClasses.forEach((c) => {
1786
- if (c.startsWith(scopeId2)) newClasses.push(c);
2220
+ if (c.startsWith(elm["s-si"])) newClasses.push(c);
1787
2221
  });
1788
- newClasses = [...new Set(newClasses)].filter((c) => c);
2222
+ newClasses = [...new Set(newClasses)];
1789
2223
  classList.add(...newClasses);
1790
2224
  } else {
1791
2225
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
@@ -2255,8 +2689,6 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
2255
2689
  !isInitialRender && BUILD.updatable && oldChildren !== null
2256
2690
  ) {
2257
2691
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
2258
- } else if (isInitialRender && BUILD.updatable && oldChildren !== null && newChildren === null) {
2259
- newVNode2.$children$ = oldChildren;
2260
2692
  }
2261
2693
  if (isSvgMode && tag === "svg") {
2262
2694
  isSvgMode = false;
@@ -2372,11 +2804,9 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2372
2804
  hostTagName = hostElm.tagName;
2373
2805
  if (cmpMeta.$attrsToReflect$) {
2374
2806
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
2375
- cmpMeta.$attrsToReflect$.forEach(([propName, attribute]) => {
2376
- {
2377
- rootVnode.$attrs$[attribute] = hostElm[propName];
2378
- }
2379
- });
2807
+ cmpMeta.$attrsToReflect$.map(
2808
+ ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
2809
+ );
2380
2810
  }
2381
2811
  if (isInitialLoad && rootVnode.$attrs$) {
2382
2812
  for (const key of Object.keys(rootVnode.$attrs$)) {
@@ -2497,12 +2927,6 @@ var scheduleUpdate = (hostRef, isInitialLoad) => {
2497
2927
  }
2498
2928
  attachToAncestor(hostRef, hostRef.$ancestorComponent$);
2499
2929
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
2500
- if (isInitialLoad) {
2501
- queueMicrotask(() => {
2502
- dispatch();
2503
- });
2504
- return;
2505
- }
2506
2930
  return writeTask(dispatch) ;
2507
2931
  };
2508
2932
  var dispatchHooks = (hostRef, isInitialLoad) => {
@@ -2517,15 +2941,10 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
2517
2941
  let maybePromise;
2518
2942
  if (isInitialLoad) {
2519
2943
  {
2520
- {
2521
- hostRef.$flags$ |= 256 /* isListenReady */;
2522
- if (hostRef.$queuedListeners$) {
2523
- hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
2524
- hostRef.$queuedListeners$ = void 0;
2525
- }
2526
- }
2527
- if (hostRef.$fetchedCbList$.length) {
2528
- hostRef.$fetchedCbList$.forEach((cb) => cb(elm));
2944
+ hostRef.$flags$ |= 256 /* isListenReady */;
2945
+ if (hostRef.$queuedListeners$) {
2946
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
2947
+ hostRef.$queuedListeners$ = void 0;
2529
2948
  }
2530
2949
  }
2531
2950
  maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
@@ -2631,10 +3050,9 @@ var postUpdateComponent = (hostRef) => {
2631
3050
  }
2632
3051
  };
2633
3052
  var forceUpdate = (ref) => {
2634
- var _a;
2635
3053
  {
2636
3054
  const hostRef = getHostRef(ref);
2637
- const isConnected = (_a = hostRef == null ? void 0 : hostRef.$hostElement$) == null ? void 0 : _a.isConnected;
3055
+ const isConnected = hostRef.$hostElement$.isConnected;
2638
3056
  if (isConnected && (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
2639
3057
  scheduleUpdate(hostRef, false);
2640
3058
  }
@@ -2642,13 +3060,7 @@ var forceUpdate = (ref) => {
2642
3060
  }
2643
3061
  };
2644
3062
  var appDidLoad = (who) => {
2645
- var _a;
2646
3063
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
2647
- {
2648
- if ((_a = plt.$orgLocNodes$) == null ? void 0 : _a.size) {
2649
- plt.$orgLocNodes$.clear();
2650
- }
2651
- }
2652
3064
  };
2653
3065
  var safeCall = (instance, method, arg, elm) => {
2654
3066
  if (instance && instance[method]) {
@@ -2669,9 +3081,6 @@ var addHydratedFlag = (elm) => {
2669
3081
  var getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
2670
3082
  var setValue = (ref, propName, newVal, cmpMeta) => {
2671
3083
  const hostRef = getHostRef(ref);
2672
- if (!hostRef) {
2673
- return;
2674
- }
2675
3084
  if (!hostRef) {
2676
3085
  throw new Error(
2677
3086
  `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).`
@@ -2681,9 +3090,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2681
3090
  const oldVal = hostRef.$instanceValues$.get(propName);
2682
3091
  const flags = hostRef.$flags$;
2683
3092
  const instance = hostRef.$lazyInstance$ ;
2684
- newVal = parsePropertyValue(
2685
- newVal,
2686
- cmpMeta.$members$[propName][0]);
3093
+ newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
2687
3094
  const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
2688
3095
  const didValueChange = newVal !== oldVal && !areBothNaN;
2689
3096
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
@@ -2717,17 +3124,9 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2717
3124
  var proxyComponent = (Cstr, cmpMeta, flags) => {
2718
3125
  var _a, _b;
2719
3126
  const prototype = Cstr.prototype;
2720
- if (cmpMeta.$members$ || BUILD.propChangeCallback) {
2721
- {
2722
- if (Cstr.watchers && !cmpMeta.$watchers$) {
2723
- cmpMeta.$watchers$ = Cstr.watchers;
2724
- }
2725
- if (Cstr.deserializers && !cmpMeta.$deserializers$) {
2726
- cmpMeta.$deserializers$ = Cstr.deserializers;
2727
- }
2728
- if (Cstr.serializers && !cmpMeta.$serializers$) {
2729
- cmpMeta.$serializers$ = Cstr.serializers;
2730
- }
3127
+ if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {
3128
+ if (Cstr.watchers && !cmpMeta.$watchers$) {
3129
+ cmpMeta.$watchers$ = Cstr.watchers;
2731
3130
  }
2732
3131
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
2733
3132
  members.map(([memberName, [memberFlags]]) => {
@@ -2755,19 +3154,14 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2755
3154
  Object.defineProperty(prototype, memberName, {
2756
3155
  set(newValue) {
2757
3156
  const ref = getHostRef(this);
2758
- if (!ref) {
2759
- return;
2760
- }
2761
3157
  if (origSetter) {
2762
3158
  const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
2763
3159
  if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
2764
3160
  newValue = ref.$instanceValues$.get(memberName);
3161
+ } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
3162
+ ref.$instanceValues$.set(memberName, currentValue);
2765
3163
  }
2766
- origSetter.apply(this, [
2767
- parsePropertyValue(
2768
- newValue,
2769
- memberFlags)
2770
- ]);
3164
+ origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
2771
3165
  newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
2772
3166
  setValue(this, memberName, newValue, cmpMeta);
2773
3167
  return;
@@ -2776,7 +3170,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2776
3170
  if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
2777
3171
  setValue(this, memberName, newValue, cmpMeta);
2778
3172
  if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
2779
- ref.$fetchedCbList$.push(() => {
3173
+ ref.$onReadyPromise$.then(() => {
2780
3174
  if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
2781
3175
  ref.$lazyInstance$[memberName] = newValue;
2782
3176
  }
@@ -2789,17 +3183,13 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2789
3183
  if (!ref.$instanceValues$.get(memberName) && currentValue) {
2790
3184
  ref.$instanceValues$.set(memberName, currentValue);
2791
3185
  }
2792
- ref.$lazyInstance$[memberName] = parsePropertyValue(
2793
- newValue,
2794
- memberFlags);
3186
+ ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, memberFlags);
2795
3187
  setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
2796
3188
  };
2797
3189
  if (ref.$lazyInstance$) {
2798
3190
  setterSetVal();
2799
3191
  } else {
2800
- ref.$fetchedCbList$.push(() => {
2801
- setterSetVal();
2802
- });
3192
+ ref.$onReadyPromise$.then(() => setterSetVal());
2803
3193
  }
2804
3194
  }
2805
3195
  }
@@ -2823,17 +3213,16 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2823
3213
  plt.jmp(() => {
2824
3214
  var _a2;
2825
3215
  const propName = attrNameToPropName.get(attrName);
2826
- const hostRef = getHostRef(this);
2827
3216
  if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {
2828
3217
  newValue = this[propName];
2829
3218
  delete this[propName];
2830
- }
2831
- if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
3219
+ } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
2832
3220
  this[propName] == newValue) {
2833
3221
  return;
2834
3222
  } else if (propName == null) {
3223
+ const hostRef = getHostRef(this);
2835
3224
  const flags2 = hostRef == null ? void 0 : hostRef.$flags$;
2836
- if (hostRef && flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {
3225
+ if (flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {
2837
3226
  const instance = hostRef.$lazyInstance$ ;
2838
3227
  const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];
2839
3228
  entry == null ? void 0 : entry.forEach((callbackName) => {
@@ -2846,7 +3235,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2846
3235
  }
2847
3236
  const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
2848
3237
  newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
2849
- if (newValue != this[propName] && (!propDesc.get || !!propDesc.set)) {
3238
+ if (newValue !== this[propName] && (!propDesc.get || !!propDesc.set)) {
2850
3239
  this[propName] = newValue;
2851
3240
  }
2852
3241
  });
@@ -2854,7 +3243,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2854
3243
  Cstr.observedAttributes = Array.from(
2855
3244
  /* @__PURE__ */ new Set([
2856
3245
  ...Object.keys((_b = cmpMeta.$watchers$) != null ? _b : {}),
2857
- ...members.filter(([_, m]) => m[0] & 31 /* HasAttribute */).map(([propName, m]) => {
3246
+ ...members.filter(([_, m]) => m[0] & 15 /* HasAttribute */).map(([propName, m]) => {
2858
3247
  var _a2;
2859
3248
  const attrName = m[1] || propName;
2860
3249
  attrNameToPropName.set(attrName, propName);
@@ -2891,8 +3280,6 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2891
3280
  if (!Cstr.isProxied) {
2892
3281
  {
2893
3282
  cmpMeta.$watchers$ = Cstr.watchers;
2894
- cmpMeta.$serializers$ = Cstr.serializers;
2895
- cmpMeta.$deserializers$ = Cstr.deserializers;
2896
3283
  }
2897
3284
  proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
2898
3285
  Cstr.isProxied = true;
@@ -2955,9 +3342,6 @@ var fireConnectedCallback = (instance, elm) => {
2955
3342
  var connectedCallback = (elm) => {
2956
3343
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
2957
3344
  const hostRef = getHostRef(elm);
2958
- if (!hostRef) {
2959
- return;
2960
- }
2961
3345
  const cmpMeta = hostRef.$cmpMeta$;
2962
3346
  const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
2963
3347
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
@@ -2993,7 +3377,7 @@ var connectedCallback = (elm) => {
2993
3377
  }
2994
3378
  if (cmpMeta.$members$) {
2995
3379
  Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
2996
- if (memberFlags & 31 /* Prop */ && memberName in elm && elm[memberName] !== Object.prototype[memberName]) {
3380
+ if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {
2997
3381
  const value = elm[memberName];
2998
3382
  delete elm[memberName];
2999
3383
  elm[memberName] = value;
@@ -3033,7 +3417,7 @@ var disconnectedCallback = async (elm) => {
3033
3417
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
3034
3418
  const hostRef = getHostRef(elm);
3035
3419
  {
3036
- if (hostRef == null ? void 0 : hostRef.$rmListeners$) {
3420
+ if (hostRef.$rmListeners$) {
3037
3421
  hostRef.$rmListeners$.map((rmListener) => rmListener());
3038
3422
  hostRef.$rmListeners$ = void 0;
3039
3423
  }
@@ -3080,7 +3464,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3080
3464
  let hasSlotRelocation = false;
3081
3465
  lazyBundles.map((lazyBundle) => {
3082
3466
  lazyBundle[1].map((compactMeta) => {
3083
- var _a2, _b, _c;
3467
+ var _a2;
3084
3468
  const cmpMeta = {
3085
3469
  $flags$: compactMeta[0],
3086
3470
  $tagName$: compactMeta[1],
@@ -3101,8 +3485,6 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3101
3485
  }
3102
3486
  {
3103
3487
  cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};
3104
- cmpMeta.$serializers$ = (_b = compactMeta[5]) != null ? _b : {};
3105
- cmpMeta.$deserializers$ = (_c = compactMeta[6]) != null ? _c : {};
3106
3488
  }
3107
3489
  const tagName = cmpMeta.$tagName$;
3108
3490
  const HostElement = class extends HTMLElement {
@@ -3128,9 +3510,6 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3128
3510
  }
3129
3511
  connectedCallback() {
3130
3512
  const hostRef = getHostRef(this);
3131
- if (!hostRef) {
3132
- return;
3133
- }
3134
3513
  if (!this.hasRegisteredEventListeners) {
3135
3514
  this.hasRegisteredEventListeners = true;
3136
3515
  addHostEventListeners(this, hostRef, cmpMeta.$listeners$);
@@ -3150,9 +3529,6 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3150
3529
  plt.raf(() => {
3151
3530
  var _a3;
3152
3531
  const hostRef = getHostRef(this);
3153
- if (!hostRef) {
3154
- return;
3155
- }
3156
3532
  const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
3157
3533
  if (i2 > -1) {
3158
3534
  deferredConnectedCallbacks.splice(i2, 1);
@@ -3163,12 +3539,11 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3163
3539
  });
3164
3540
  }
3165
3541
  componentOnReady() {
3166
- var _a3;
3167
- return (_a3 = getHostRef(this)) == null ? void 0 : _a3.$onReadyPromise$;
3542
+ return getHostRef(this).$onReadyPromise$;
3168
3543
  }
3169
3544
  };
3170
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && cmpMeta.$flags$ & 256 /* hasRenderFn */) {
3171
- {
3545
+ {
3546
+ if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
3172
3547
  patchPseudoShadowDom(HostElement.prototype);
3173
3548
  }
3174
3549
  }
@@ -3260,23 +3635,29 @@ exports.Build = Build;
3260
3635
  exports.Fragment = Fragment;
3261
3636
  exports.H = H;
3262
3637
  exports.Host = Host;
3638
+ exports.MENU_BACK_BUTTON_PRIORITY = MENU_BACK_BUTTON_PRIORITY;
3639
+ exports.OVERLAY_BACK_BUTTON_PRIORITY = OVERLAY_BACK_BUTTON_PRIORITY;
3263
3640
  exports.bootstrapLazy = bootstrapLazy;
3264
3641
  exports.config = config;
3265
- exports.configFromSession = configFromSession;
3266
- exports.configFromURL = configFromURL;
3267
3642
  exports.createEvent = createEvent;
3643
+ exports.doc = doc;
3268
3644
  exports.forceUpdate = forceUpdate;
3269
3645
  exports.getAssetPath = getAssetPath;
3270
3646
  exports.getElement = getElement;
3271
- exports.getMode = getMode;
3647
+ exports.getIonMode = getIonMode;
3648
+ exports.getIonTheme = getIonTheme;
3649
+ exports.getPlatforms = getPlatforms;
3650
+ exports.globalScripts = globalScripts;
3272
3651
  exports.h = h;
3652
+ exports.initialize = initialize;
3653
+ exports.isPlatform = isPlatform;
3273
3654
  exports.printIonError = printIonError;
3274
3655
  exports.printIonWarning = printIonWarning;
3275
3656
  exports.printRequiredElementError = printRequiredElementError;
3276
3657
  exports.promiseResolve = promiseResolve;
3277
3658
  exports.readTask = readTask;
3278
3659
  exports.registerInstance = registerInstance;
3279
- exports.saveConfig = saveConfig;
3280
- exports.setMode = setMode;
3281
3660
  exports.setNonce = setNonce;
3661
+ exports.shouldUseCloseWatcher = shouldUseCloseWatcher;
3662
+ exports.win = win$1;
3282
3663
  exports.writeTask = writeTask;