voyager-ionic-core 9.0.3 → 9.0.7

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 (553) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker.js +1 -1
  59. package/components/ion-popover.js +1 -1
  60. package/components/ion-progress-bar.js +1 -1
  61. package/components/ion-radio-group.js +1 -1
  62. package/components/ion-radio.js +1 -1
  63. package/components/ion-range.js +1 -1
  64. package/components/ion-refresher-content.js +1 -1
  65. package/components/ion-refresher.js +1 -1
  66. package/components/ion-reorder-group.js +1 -1
  67. package/components/ion-reorder.js +1 -1
  68. package/components/ion-ripple-effect.js +1 -1
  69. package/components/ion-route-redirect.js +1 -1
  70. package/components/ion-route.js +1 -1
  71. package/components/ion-router-link.js +1 -1
  72. package/components/ion-router-outlet.js +1 -1
  73. package/components/ion-router.js +1 -1
  74. package/components/ion-row.js +1 -1
  75. package/components/ion-searchbar.js +1 -1
  76. package/components/ion-segment-button.js +1 -1
  77. package/components/ion-segment-content.js +1 -1
  78. package/components/ion-segment-view.js +1 -1
  79. package/components/ion-segment.js +1 -1
  80. package/components/ion-select-modal.js +1 -1
  81. package/components/ion-select-option.js +1 -1
  82. package/components/ion-select-popover.js +1 -1
  83. package/components/ion-select.js +1 -1
  84. package/components/ion-skeleton-text.js +1 -1
  85. package/components/ion-spinner.js +1 -1
  86. package/components/ion-split-pane.js +1 -1
  87. package/components/ion-tab-bar.js +1 -1
  88. package/components/ion-tab-button.js +1 -1
  89. package/components/ion-tab.js +1 -1
  90. package/components/ion-tabs.js +1 -1
  91. package/components/ion-text.js +1 -1
  92. package/components/ion-textarea.js +1 -1
  93. package/components/ion-thumbnail.js +1 -1
  94. package/components/ion-title.js +1 -1
  95. package/components/ion-toast.js +1 -1
  96. package/components/ion-toggle.js +1 -1
  97. package/components/ion-toolbar.js +1 -1
  98. package/components/p--cshUOAU.js +4 -0
  99. package/components/{p-BF48Oc0v.js → p-7KepMw9O.js} +1 -1
  100. package/components/p-B-5Z9djt.js +4 -0
  101. package/components/p-B02CcbPD.js +4 -0
  102. package/components/p-B4IBdPVJ.js +4 -0
  103. package/components/{p-BYJRZKHa.js → p-BMHdI-wb.js} +1 -1
  104. package/components/p-BODcC-C0.js +4 -0
  105. package/components/{p-D7wDJdFn.js → p-Ba9_OzSY.js} +1 -1
  106. package/components/{p-DMBiAyOR.js → p-BqyLLYLm.js} +1 -1
  107. package/components/{p-BQyuFxYc.js → p-C1AxSUnp.js} +1 -1
  108. package/components/p-C7r5Gja6.js +4 -0
  109. package/components/{p-D5w_FlVa.js → p-CKiqp4Vl.js} +1 -1
  110. package/components/{p-C8Ck7_Eo.js → p-C_gnmBt2.js} +1 -1
  111. package/{dist/ionic/p-DTxBioUO.js → components/p-CdrNHfZl.js} +1 -1
  112. package/components/{p-DM1gJSMP.js → p-ChkSQqfP.js} +1 -1
  113. package/components/p-ChsJlFCQ.js +4 -0
  114. package/components/{p-cEN43Ahr.js → p-CjPRDxby.js} +1 -1
  115. package/components/p-CohRJRIu.js +4 -0
  116. package/components/{p-DxhHlJln.js → p-CqvARtmt.js} +1 -1
  117. package/components/p-Ct2aBEue.js +4 -0
  118. package/components/p-CtiO6_sC.js +4 -0
  119. package/components/{p-Hp8t4RMX.js → p-CvyvLbPe.js} +1 -1
  120. package/{dist/ionic/p-BMiZX1LT.js → components/p-CwEis84J.js} +1 -1
  121. package/components/p-CxEV3Vwy.js +4 -0
  122. package/components/p-Cyajikho.js +4 -0
  123. package/components/p-D64Tyi-z.js +4 -0
  124. package/components/{p-B4lxwJ8N.js → p-DBtFJlTi.js} +1 -1
  125. package/components/p-DD92Fw3n.js +4 -0
  126. package/components/p-DDI6VLW9.js +4 -0
  127. package/components/{p-Fl7ZFU74.js → p-DHo45oj7.js} +1 -1
  128. package/components/{p-COO0eJOA.js → p-DMPsc_0r.js} +1 -1
  129. package/{dist/ionic/p-DZ6Hmc-8.js → components/p-Dbi3KqKm.js} +1 -1
  130. package/components/p-DhfJAkyd.js +4 -0
  131. package/components/p-DnGlmM4u.js +4 -0
  132. package/components/{p-CJgnoKcN.js → p-Drpw2dyl.js} +1 -1
  133. package/components/{p-5ldEpNdG.js → p-Dvyv9SMk.js} +1 -1
  134. package/components/p-GpqwNbxf.js +4 -0
  135. package/components/{p-BJr2B5hZ.js → p-HthJZjZ6.js} +1 -1
  136. package/components/p-IQN1T5zw.js +4 -0
  137. package/components/{p-DL13ieTa.js → p-KbMCbGRA.js} +1 -1
  138. package/components/p-ODGeXc3M.js +4 -0
  139. package/components/p-R4UxBukQ.js +4 -0
  140. package/components/p-TLtgwTFF.js +4 -0
  141. package/components/p-Uk13YgEc.js +4 -0
  142. package/components/{p-qAXsfUff.js → p-V1THdfzs.js} +1 -1
  143. package/components/{p-C-NbvXu4.js → p-YNnH1_Hs.js} +1 -1
  144. package/components/{p-CqbGBmqb.js → p-ZrYBjOcc.js} +1 -1
  145. package/components/p-_y7kwBO8.js +4 -0
  146. package/components/{p-GGbIHyEF.js → p-hLu-eIbb.js} +1 -1
  147. package/components/p-jsVMT15X.js +4 -0
  148. package/components/{p-TWw4e4sO.js → p-r59A3wQk.js} +1 -1
  149. package/components/p-yGD6MBgf.js +4 -0
  150. package/css/core.css +1 -1
  151. package/css/core.css.map +1 -1
  152. package/css/display.css.map +1 -1
  153. package/css/flex-utils.css.map +1 -1
  154. package/css/float-elements.css +1 -1
  155. package/css/float-elements.css.map +1 -1
  156. package/css/global.bundle.css.map +1 -1
  157. package/css/ionic.bundle.css +1 -1
  158. package/css/ionic.bundle.css.map +1 -1
  159. package/css/padding.css.map +1 -1
  160. package/css/structure.css.map +1 -1
  161. package/css/text-alignment.css.map +1 -1
  162. package/css/text-transformation.css.map +1 -1
  163. package/css/typography.css.map +1 -1
  164. package/css/utils.bundle.css +1 -1
  165. package/css/utils.bundle.css.map +1 -1
  166. package/dist/cjs/{animation-Kd1N7WTN.js → animation-DcgLg_PI.js} +3 -3
  167. package/dist/cjs/{app-globals-b1G4t26O.js → app-globals-BoFCZq0K.js} +1 -1
  168. package/dist/cjs/attribute-controller-BjTE2TOf.js +131 -0
  169. package/dist/cjs/{button-active-CQCFubJJ.js → button-active-FdsfRDY_.js} +2 -2
  170. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-C6Pp4Z7A.js} +3 -3
  171. package/dist/cjs/{format-bHU8N1g5.js → format-CVjpvAl1.js} +1 -1
  172. package/dist/cjs/{framework-delegate-d-fWfeI6.js → framework-delegate-JbKIVMzR.js} +1 -1
  173. package/dist/cjs/{haptic-Ch-X4gRx.js → haptic--4QteuuM.js} +1 -1
  174. package/dist/cjs/{helpers-7wzdhdeg.js → helpers-Cqr69qxA.js} +50 -3
  175. package/dist/cjs/{index-KiSZqhYS.js → index-B4ONUQRp.js} +1 -1
  176. package/dist/cjs/{index-C74Q3t6a.js → index-BQpSekmz.js} +7 -8
  177. package/dist/cjs/{index-DFNrCX7M.js → index-BhWiDK25.js} +9 -9
  178. package/dist/cjs/{index-DXoo08JC.js → index-BiQyIvoc.js} +54 -28
  179. package/dist/cjs/{index-DtvKGwdh.js → index-CNaZ6SYM.js} +2 -2
  180. package/dist/cjs/{index-CQfEIyLK.js → index-DUiuw_fH.js} +4 -4
  181. package/dist/cjs/index.cjs.js +19 -19
  182. package/dist/cjs/{input-shims-VJIiKBKv.js → input-shims-2AsXPZ5m.js} +16 -17
  183. package/dist/cjs/{input.utils-EHVE2RK_.js → input.utils-Becpo0ax.js} +1 -1
  184. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  185. package/dist/cjs/ion-action-sheet.cjs.entry.js +26 -28
  186. package/dist/cjs/ion-alert.cjs.entry.js +27 -29
  187. package/dist/cjs/ion-app_8.cjs.entry.js +72 -24
  188. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  189. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  190. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  191. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  192. package/dist/cjs/ion-button_2.cjs.entry.js +23 -34
  193. package/dist/cjs/ion-card_5.cjs.entry.js +19 -7
  194. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
  195. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  196. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  197. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  198. package/dist/cjs/ion-datetime.cjs.entry.js +34 -29
  199. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  200. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  201. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  202. package/dist/cjs/ion-input-otp.cjs.entry.js +33 -8
  203. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  204. package/dist/cjs/ion-input.cjs.entry.js +12 -16
  205. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  206. package/dist/cjs/ion-item_8.cjs.entry.js +17 -8
  207. package/dist/cjs/ion-loading.cjs.entry.js +18 -20
  208. package/dist/cjs/ion-menu_3.cjs.entry.js +18 -19
  209. package/dist/cjs/ion-modal.cjs.entry.js +177 -172
  210. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  211. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  212. package/dist/cjs/ion-picker-column.cjs.entry.js +8 -9
  213. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  214. package/dist/cjs/ion-popover.cjs.entry.js +119 -42
  215. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  216. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  217. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  218. package/dist/cjs/ion-refresher_2.cjs.entry.js +8 -9
  219. package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -7
  220. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  221. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  222. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  223. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  224. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  225. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  226. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -10
  227. package/dist/cjs/ion-select_3.cjs.entry.js +71 -53
  228. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  229. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  230. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -7
  231. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  232. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  233. package/dist/cjs/ion-textarea.cjs.entry.js +11 -15
  234. package/dist/cjs/ion-toast.cjs.entry.js +49 -51
  235. package/dist/cjs/ion-toggle.cjs.entry.js +6 -7
  236. package/dist/cjs/{ionic-global-CYJNT-2P.js → ionic-global-48ceLiJ6.js} +1 -1
  237. package/dist/cjs/ionic.cjs.js +5 -5
  238. package/dist/cjs/{ios.transition-DYGiD6gM.js → ios.transition-D85_rHf5.js} +4 -5
  239. package/dist/cjs/{item-multiple-inputs-Dv6qrMhm.js → item-multiple-inputs-C-hz7xrh.js} +1 -1
  240. package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-BlHp4a_c.js} +1 -1
  241. package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-c2_I35b-.js} +5 -3
  242. package/dist/cjs/{keyboard-controller-PtZoN2GS.js → keyboard-controller-DHS0BgXp.js} +9 -9
  243. package/dist/cjs/loader.cjs.js +4 -4
  244. package/dist/cjs/{md.transition-CrSkaoz6.js → md.transition-Ce9X1WXr.js} +4 -5
  245. package/dist/cjs/{overlays-BR21NUIG.js → overlays-CLld3axA.js} +224 -12
  246. package/dist/cjs/{select-option-render-D8ZEjYji.js → select-option-render-CzyhrkOu.js} +2 -2
  247. package/dist/cjs/{slot-mutation-controller-D6IjSEIh.js → slot-mutation-controller-ClDxh3EK.js} +73 -5
  248. package/dist/cjs/{status-tap-CNP5eD1R.js → status-tap-CDA0Y3Ad.js} +3 -3
  249. package/dist/cjs/{swipe-back-CSIJQfu5.js → swipe-back-Dy8pxJCF.js} +2 -2
  250. package/dist/collection/collection-manifest.json +1 -1
  251. package/dist/collection/components/button/button.js +21 -32
  252. package/dist/collection/components/card/card.js +17 -6
  253. package/dist/collection/components/content/content.js +62 -8
  254. package/dist/collection/components/datetime/datetime.js +27 -20
  255. package/dist/collection/components/input/input.ios.css +6 -0
  256. package/dist/collection/components/input/input.js +6 -9
  257. package/dist/collection/components/input/input.md.css +6 -0
  258. package/dist/collection/components/input-otp/input-otp.js +29 -3
  259. package/dist/collection/components/item/item.js +15 -6
  260. package/dist/collection/components/menu/menu.js +4 -3
  261. package/dist/collection/components/modal/modal.ios.css +12 -1
  262. package/dist/collection/components/modal/modal.js +31 -8
  263. package/dist/collection/components/modal/modal.md.css +12 -1
  264. package/dist/collection/components/modal/safe-area-utils.js +69 -90
  265. package/dist/collection/components/modal/utils.js +7 -0
  266. package/dist/collection/components/popover/animations/ios.enter.js +20 -6
  267. package/dist/collection/components/popover/animations/md.enter.js +19 -5
  268. package/dist/collection/components/popover/utils.js +64 -13
  269. package/dist/collection/components/select/select.ios.css +1 -1
  270. package/dist/collection/components/select/select.js +67 -38
  271. package/dist/collection/components/select/select.md.css +1 -1
  272. package/dist/collection/components/textarea/textarea.ios.css +15 -1
  273. package/dist/collection/components/textarea/textarea.js +5 -8
  274. package/dist/collection/components/textarea/textarea.md.css +15 -1
  275. package/dist/collection/index.js +1 -1
  276. package/dist/collection/utils/attribute-controller.js +126 -0
  277. package/dist/collection/utils/forms/click-controller.js +70 -0
  278. package/dist/collection/utils/forms/index.js +1 -0
  279. package/dist/collection/utils/hardware-back-button.js +41 -12
  280. package/dist/collection/utils/helpers.js +44 -3
  281. package/dist/collection/utils/logging/index.js +4 -0
  282. package/dist/collection/utils/menu-controller/index.js +2 -1
  283. package/dist/collection/utils/overlays.js +64 -4
  284. package/dist/docs.json +9 -3
  285. package/dist/esm/{animation-BFNVlYum.js → animation-DmtJpz89.js} +2 -2
  286. package/dist/esm/{app-globals-BgX0BGL1.js → app-globals-CNfpAPW6.js} +1 -1
  287. package/dist/esm/attribute-controller-DPMIcbef.js +128 -0
  288. package/dist/esm/{button-active-BfOvDr3b.js → button-active-DVk40Sjl.js} +2 -2
  289. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CHJaJ9aX.js} +1 -1
  290. package/dist/esm/{format-DDFE9jM5.js → format-Ck1cw5z7.js} +1 -1
  291. package/dist/esm/{framework-delegate-BwNhx9NR.js → framework-delegate-CDjM1vRH.js} +1 -1
  292. package/dist/esm/{haptic-Cq4UAeka.js → haptic-WXfMCob9.js} +1 -1
  293. package/dist/esm/{helpers-BSmc0nst.js → helpers-BJqKF1pr.js} +47 -4
  294. package/dist/esm/{index-DnA_7Bnx.js → index-BBASprVu.js} +4 -4
  295. package/dist/esm/{index-C23AVPx9.js → index-BpRUsN_W.js} +55 -29
  296. package/dist/esm/{index-D76bbuoi.js → index-CK8uF0iB.js} +1 -1
  297. package/dist/esm/{index-CJln0gS3.js → index-Clv8QC5L.js} +2 -3
  298. package/dist/esm/{index-BuPaALjU.js → index-DIouXecD.js} +6 -6
  299. package/dist/esm/{index-C1b9CLFg.js → index-TkLga3ma.js} +2 -2
  300. package/dist/esm/index.js +11 -13
  301. package/dist/esm/{input-shims-Dqk-Ou25.js → input-shims-C1iYF5JK.js} +5 -6
  302. package/dist/esm/{input.utils-rqoH22pW.js → input.utils-DZY_K8Po.js} +1 -1
  303. package/dist/esm/ion-accordion_2.entry.js +3 -3
  304. package/dist/esm/ion-action-sheet.entry.js +11 -13
  305. package/dist/esm/ion-alert.entry.js +11 -13
  306. package/dist/esm/ion-app_8.entry.js +72 -24
  307. package/dist/esm/ion-avatar_3.entry.js +2 -2
  308. package/dist/esm/ion-back-button.entry.js +3 -3
  309. package/dist/esm/ion-backdrop.entry.js +2 -2
  310. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  311. package/dist/esm/ion-button_2.entry.js +23 -34
  312. package/dist/esm/ion-card_5.entry.js +19 -7
  313. package/dist/esm/ion-checkbox.entry.js +4 -4
  314. package/dist/esm/ion-chip.entry.js +2 -2
  315. package/dist/esm/ion-col_3.entry.js +2 -2
  316. package/dist/esm/ion-datetime-button.entry.js +4 -4
  317. package/dist/esm/ion-datetime.entry.js +33 -28
  318. package/dist/esm/ion-fab_3.entry.js +3 -3
  319. package/dist/esm/ion-img.entry.js +3 -3
  320. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  321. package/dist/esm/ion-input-otp.entry.js +33 -8
  322. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  323. package/dist/esm/ion-input.entry.js +12 -16
  324. package/dist/esm/ion-item-option_3.entry.js +4 -4
  325. package/dist/esm/ion-item_8.entry.js +17 -8
  326. package/dist/esm/ion-loading.entry.js +7 -9
  327. package/dist/esm/ion-menu_3.entry.js +10 -11
  328. package/dist/esm/ion-modal.entry.js +115 -110
  329. package/dist/esm/ion-nav_2.entry.js +6 -6
  330. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  331. package/dist/esm/ion-picker-column.entry.js +5 -6
  332. package/dist/esm/ion-picker.entry.js +2 -2
  333. package/dist/esm/ion-popover.entry.js +108 -31
  334. package/dist/esm/ion-progress-bar.entry.js +3 -3
  335. package/dist/esm/ion-radio_2.entry.js +4 -4
  336. package/dist/esm/ion-range.entry.js +4 -4
  337. package/dist/esm/ion-refresher_2.entry.js +8 -9
  338. package/dist/esm/ion-reorder_2.entry.js +6 -7
  339. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  340. package/dist/esm/ion-route_4.entry.js +4 -4
  341. package/dist/esm/ion-searchbar.entry.js +3 -3
  342. package/dist/esm/ion-segment-content.entry.js +1 -1
  343. package/dist/esm/ion-segment-view.entry.js +1 -1
  344. package/dist/esm/ion-segment_2.entry.js +3 -3
  345. package/dist/esm/ion-select-modal.entry.js +7 -9
  346. package/dist/esm/ion-select_3.entry.js +66 -48
  347. package/dist/esm/ion-spinner.entry.js +2 -2
  348. package/dist/esm/ion-split-pane.entry.js +2 -2
  349. package/dist/esm/ion-tab-bar_2.entry.js +6 -7
  350. package/dist/esm/ion-tab_2.entry.js +3 -3
  351. package/dist/esm/ion-text.entry.js +2 -2
  352. package/dist/esm/ion-textarea.entry.js +11 -15
  353. package/dist/esm/ion-toast.entry.js +7 -9
  354. package/dist/esm/ion-toggle.entry.js +6 -7
  355. package/dist/esm/{ionic-global-ZXjCXKH0.js → ionic-global-Cep6oYzK.js} +1 -1
  356. package/dist/esm/ionic.js +6 -6
  357. package/dist/esm/{ios.transition-CWAgfQ1r.js → ios.transition-B8netzsb.js} +4 -5
  358. package/dist/esm/{item-multiple-inputs-DZnIiOO_.js → item-multiple-inputs-Bd2LO7qK.js} +1 -1
  359. package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-B4Y-Gph8.js} +5 -3
  360. package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-Cmqp5iZD.js} +1 -1
  361. package/dist/esm/{keyboard-controller-DEwoa1ev.js → keyboard-controller-B2NoF7bV.js} +2 -2
  362. package/dist/esm/loader.js +5 -5
  363. package/dist/esm/{md.transition-ZuqDDdDW.js → md.transition-DNCSSiXk.js} +4 -5
  364. package/dist/esm/{overlays-DKE0DgvE.js → overlays-DmDY-El7.js} +216 -10
  365. package/dist/esm/{select-option-render-CRP_teb1.js → select-option-render-BSDT9oSA.js} +2 -2
  366. package/dist/esm/{slot-mutation-controller-B5NpUZ-N.js → slot-mutation-controller-hAS2uJ7c.js} +69 -3
  367. package/dist/esm/{status-tap-Cv9gb3ja.js → status-tap-VGRBYwiC.js} +3 -3
  368. package/dist/esm/{swipe-back-De5HlmeM.js → swipe-back-tCNYR9ZM.js} +2 -2
  369. package/dist/ionic/index.esm.js +1 -1
  370. package/dist/ionic/ionic.esm.js +1 -1
  371. package/dist/ionic/{p-b9b4e85d.entry.js → p-00cd107d.entry.js} +1 -1
  372. package/dist/ionic/p-01b7e3f2.entry.js +4 -0
  373. package/dist/ionic/{p-9c5f2691.entry.js → p-0a789930.entry.js} +1 -1
  374. package/dist/ionic/p-0b09c60e.entry.js +4 -0
  375. package/dist/ionic/p-0c32c626.entry.js +4 -0
  376. package/dist/ionic/p-0f97175e.entry.js +4 -0
  377. package/dist/ionic/p-107a81a6.entry.js +4 -0
  378. package/dist/ionic/{p-ca1b8865.entry.js → p-230f510c.entry.js} +1 -1
  379. package/dist/ionic/p-27d96a9b.entry.js +4 -0
  380. package/dist/ionic/{p-db449915.entry.js → p-28251c5c.entry.js} +1 -1
  381. package/dist/ionic/{p-099b7f9f.entry.js → p-362dcd86.entry.js} +1 -1
  382. package/dist/ionic/p-4bd80334.entry.js +4 -0
  383. package/dist/ionic/p-4d785062.entry.js +4 -0
  384. package/dist/ionic/{p-efc0cf82.entry.js → p-4e4e5919.entry.js} +1 -1
  385. package/dist/ionic/{p-837db1b9.entry.js → p-4ed3c460.entry.js} +1 -1
  386. package/dist/ionic/{p-d8c138d9.entry.js → p-4f25b926.entry.js} +1 -1
  387. package/dist/ionic/{p-271c3640.entry.js → p-539d6c8e.entry.js} +1 -1
  388. package/dist/ionic/p-5bb24bce.entry.js +4 -0
  389. package/dist/ionic/p-60780b88.entry.js +4 -0
  390. package/dist/ionic/{p-54cbb0a7.entry.js → p-62c87f3d.entry.js} +1 -1
  391. package/dist/ionic/p-6317d620.entry.js +4 -0
  392. package/dist/ionic/{p-85599fe3.entry.js → p-64ac3864.entry.js} +1 -1
  393. package/dist/ionic/{p-191a651e.entry.js → p-6c7b5930.entry.js} +1 -1
  394. package/dist/ionic/{p-7fbb3319.entry.js → p-77252596.entry.js} +1 -1
  395. package/dist/ionic/p-7ce9c6f8.entry.js +4 -0
  396. package/dist/ionic/{p-8b80d9f9.entry.js → p-7db20410.entry.js} +1 -1
  397. package/dist/ionic/{p-5d9094ac.entry.js → p-7e9c2a97.entry.js} +1 -1
  398. package/dist/ionic/p-7l6ENjIV.js +4 -0
  399. package/dist/ionic/p-82abf431.entry.js +4 -0
  400. package/dist/ionic/p-8b79061e.entry.js +4 -0
  401. package/dist/ionic/{p-6e386853.entry.js → p-8c85e250.entry.js} +1 -1
  402. package/dist/ionic/{p-90f50a65.entry.js → p-8d651adb.entry.js} +1 -1
  403. package/dist/ionic/{p-dd01be0a.entry.js → p-8db08782.entry.js} +1 -1
  404. package/dist/ionic/p-91f3cd8b.entry.js +4 -0
  405. package/dist/ionic/{p-f0fb23c1.entry.js → p-930c3538.entry.js} +1 -1
  406. package/dist/ionic/{p-ee09ac9d.entry.js → p-9ffccbf1.entry.js} +1 -1
  407. package/dist/ionic/{p-CM5OBjTW.js → p-B0jcOZOE.js} +1 -1
  408. package/dist/ionic/p-B8IuTu_r.js +4 -0
  409. package/dist/ionic/p-BNXIurCt.js +4 -0
  410. package/{components/p-6ZLn6K5e.js → dist/ionic/p-BO10QT9r.js} +1 -1
  411. package/dist/ionic/p-BOLqP2-V.js +4 -0
  412. package/dist/ionic/{p-BMPN55of.js → p-BY4FwwBp.js} +1 -1
  413. package/dist/ionic/p-BdHBcCZF.js +4 -0
  414. package/{components/p-DiuOa1vw.js → dist/ionic/p-BexAj0yw.js} +1 -1
  415. package/dist/ionic/p-Bnc1L7Rk.js +4 -0
  416. package/dist/ionic/p-BpRUsN_W.js +6 -0
  417. package/dist/ionic/p-Bppj2PE0.js +4 -0
  418. package/dist/ionic/p-BuLlVedw.js +4 -0
  419. package/dist/ionic/p-Bx5x5GJV.js +4 -0
  420. package/dist/ionic/p-C1WYZOZj.js +4 -0
  421. package/dist/ionic/p-C2LaBx3E.js +4 -0
  422. package/dist/ionic/{p-Bd72UYI2.js → p-CXs4J83x.js} +1 -1
  423. package/dist/ionic/p-Co7eql8D.js +4 -0
  424. package/dist/ionic/p-D13gXhdC.js +4 -0
  425. package/dist/ionic/p-D926OmIX.js +4 -0
  426. package/dist/ionic/{p-T71k3C35.js → p-DPNVo1nr.js} +1 -1
  427. package/{components/p-C4VpVfrJ.js → dist/ionic/p-DQXtveHv.js} +1 -1
  428. package/dist/ionic/p-DXXGkPA8.js +4 -0
  429. package/dist/ionic/{p-C8XilMh0.js → p-DfvWlTdB.js} +1 -1
  430. package/dist/ionic/p-DriE1ZAo.js +4 -0
  431. package/dist/ionic/{p-D7jHfs0Y.js → p-DxftXYZp.js} +1 -1
  432. package/dist/ionic/{p-Do3zTvCA.js → p-SEecsUh7.js} +1 -1
  433. package/dist/ionic/p-a4389f13.entry.js +4 -0
  434. package/dist/ionic/p-af11d3c6.entry.js +4 -0
  435. package/dist/ionic/p-af56702e.entry.js +4 -0
  436. package/dist/ionic/{p-561af487.entry.js → p-b3aadfe8.entry.js} +1 -1
  437. package/dist/ionic/p-b5bcbbc1.entry.js +4 -0
  438. package/dist/ionic/p-b9ed3a52.entry.js +4 -0
  439. package/dist/ionic/{p-3bba83ee.entry.js → p-bfdbe24b.entry.js} +1 -1
  440. package/dist/ionic/{p-4712a8a9.entry.js → p-c250b6b0.entry.js} +1 -1
  441. package/dist/ionic/{p-38b9375b.entry.js → p-c293f854.entry.js} +1 -1
  442. package/dist/ionic/p-c81ec0e8.entry.js +4 -0
  443. package/dist/ionic/p-c83dbc12.entry.js +4 -0
  444. package/dist/ionic/p-d0e374f8.entry.js +4 -0
  445. package/dist/ionic/p-d72accc4.entry.js +4 -0
  446. package/dist/ionic/p-d9a3dfd1.entry.js +4 -0
  447. package/dist/ionic/p-e1haAYzm.js +4 -0
  448. package/dist/ionic/p-e7ab4def.entry.js +4 -0
  449. package/dist/ionic/{p-d6755739.entry.js → p-eb989dc9.entry.js} +1 -1
  450. package/dist/ionic/p-ec259ac5.entry.js +4 -0
  451. package/dist/ionic/{p-DYUjHcuH.js → p-nCAPr1Ah.js} +1 -1
  452. package/dist/types/components/button/button.d.ts +3 -12
  453. package/dist/types/components/card/card.d.ts +3 -1
  454. package/dist/types/components/content/content.d.ts +28 -3
  455. package/dist/types/components/datetime/datetime.d.ts +5 -10
  456. package/dist/types/components/input/input.d.ts +1 -0
  457. package/dist/types/components/input-otp/input-otp.d.ts +7 -0
  458. package/dist/types/components/item/item.d.ts +1 -1
  459. package/dist/types/components/modal/modal.d.ts +9 -1
  460. package/dist/types/components/modal/safe-area-utils.d.ts +28 -14
  461. package/dist/types/components/modal/utils.d.ts +4 -0
  462. package/dist/types/components/popover/utils.d.ts +16 -3
  463. package/dist/types/components/select/select.d.ts +11 -0
  464. package/dist/types/components/textarea/textarea.d.ts +1 -0
  465. package/dist/types/components.d.ts +1 -1
  466. package/dist/types/index.d.ts +1 -1
  467. package/dist/types/stencil-public-runtime.d.ts +61 -55
  468. package/dist/types/utils/attribute-controller.d.ts +56 -0
  469. package/dist/types/utils/config.d.ts +4 -1
  470. package/dist/types/utils/forms/click-controller.d.ts +36 -0
  471. package/dist/types/utils/forms/index.d.ts +1 -0
  472. package/dist/types/utils/hardware-back-button.d.ts +11 -0
  473. package/dist/types/utils/helpers.d.ts +27 -2
  474. package/dist/types/utils/logging/index.d.ts +4 -0
  475. package/dist/types/utils/overlays.d.ts +20 -2
  476. package/hydrate/index.js +1249 -484
  477. package/hydrate/index.mjs +1249 -484
  478. package/package.json +3 -3
  479. package/components/p-1sJ0ZDPe.js +0 -4
  480. package/components/p-B1_TL6RQ.js +0 -4
  481. package/components/p-BT9-hMMz.js +0 -4
  482. package/components/p-BU8a2IhR.js +0 -4
  483. package/components/p-BW_SlU2D.js +0 -4
  484. package/components/p-BWoa-cki.js +0 -4
  485. package/components/p-BgkOsq-d.js +0 -4
  486. package/components/p-Bi-it1EH.js +0 -4
  487. package/components/p-C09TXohi.js +0 -4
  488. package/components/p-CG_zZq_I.js +0 -4
  489. package/components/p-CMRYD_yR.js +0 -4
  490. package/components/p-CNLioZ3B.js +0 -4
  491. package/components/p-CWAks_S_.js +0 -4
  492. package/components/p-Cd1WaN-0.js +0 -4
  493. package/components/p-CrAKlX71.js +0 -4
  494. package/components/p-Ctop2IWW.js +0 -4
  495. package/components/p-Cw6WocLJ.js +0 -4
  496. package/components/p-DFLJvuRK.js +0 -4
  497. package/components/p-DZRZic9C.js +0 -4
  498. package/components/p-DhNuxvJH.js +0 -4
  499. package/components/p-Djmz-ssp.js +0 -4
  500. package/components/p-DnBNYc7u.js +0 -4
  501. package/components/p-DwSXbQSz.js +0 -4
  502. package/components/p-M34T2gyX.js +0 -4
  503. package/components/p-YjMkHuvH.js +0 -4
  504. package/dist/cjs/hardware-back-button-Bu4Dzw8l.js +0 -121
  505. package/dist/cjs/index-DkNv4J_i.js +0 -10
  506. package/dist/esm/hardware-back-button-DmkiRgOT.js +0 -115
  507. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  508. package/dist/ionic/p-0dcb7bb6.entry.js +0 -4
  509. package/dist/ionic/p-1347880c.entry.js +0 -4
  510. package/dist/ionic/p-1f24cb24.entry.js +0 -4
  511. package/dist/ionic/p-2ea4bb36.entry.js +0 -4
  512. package/dist/ionic/p-338a02e0.entry.js +0 -4
  513. package/dist/ionic/p-3e01c744.entry.js +0 -4
  514. package/dist/ionic/p-458715a9.entry.js +0 -4
  515. package/dist/ionic/p-4c3e50f8.entry.js +0 -4
  516. package/dist/ionic/p-5906ea6f.entry.js +0 -4
  517. package/dist/ionic/p-5cc09b40.entry.js +0 -4
  518. package/dist/ionic/p-612ea3b1.entry.js +0 -4
  519. package/dist/ionic/p-68cc89a6.entry.js +0 -4
  520. package/dist/ionic/p-77c96e08.entry.js +0 -4
  521. package/dist/ionic/p-7bfeccb3.entry.js +0 -4
  522. package/dist/ionic/p-7e394cc3.entry.js +0 -4
  523. package/dist/ionic/p-803059b6.entry.js +0 -4
  524. package/dist/ionic/p-9595e305.entry.js +0 -4
  525. package/dist/ionic/p-9ee9c5b6.entry.js +0 -4
  526. package/dist/ionic/p-BY6BzzPF.js +0 -4
  527. package/dist/ionic/p-BaeKWZ-a.js +0 -4
  528. package/dist/ionic/p-BgOvhHy_.js +0 -4
  529. package/dist/ionic/p-BhamHSw3.js +0 -4
  530. package/dist/ionic/p-BijjLYjT.js +0 -4
  531. package/dist/ionic/p-C23AVPx9.js +0 -6
  532. package/dist/ionic/p-CER8qW8Y.js +0 -4
  533. package/dist/ionic/p-CFuOr1Tu.js +0 -4
  534. package/dist/ionic/p-CIGNaXM1.js +0 -4
  535. package/dist/ionic/p-CMZYmFb4.js +0 -4
  536. package/dist/ionic/p-CkxVYPtX.js +0 -4
  537. package/dist/ionic/p-CmXuiRT6.js +0 -4
  538. package/dist/ionic/p-D5t_-oMk.js +0 -4
  539. package/dist/ionic/p-D6rHcCvc.js +0 -4
  540. package/dist/ionic/p-DLM95R4x.js +0 -4
  541. package/dist/ionic/p-D_gb-kdd.js +0 -4
  542. package/dist/ionic/p-DajLgJ4d.js +0 -4
  543. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  544. package/dist/ionic/p-a8df96c8.entry.js +0 -4
  545. package/dist/ionic/p-a8ff2489.entry.js +0 -4
  546. package/dist/ionic/p-aff52029.entry.js +0 -4
  547. package/dist/ionic/p-b3532b8d.entry.js +0 -4
  548. package/dist/ionic/p-cc4320d3.entry.js +0 -4
  549. package/dist/ionic/p-d526798a.entry.js +0 -4
  550. package/dist/ionic/p-ec00fd0d.entry.js +0 -4
  551. package/dist/ionic/p-f83b3e0c.entry.js +0 -4
  552. package/dist/ionic/p-fa50d493.entry.js +0 -4
  553. package/dist/ionic/p-zWf7R2xV.js +0 -4
@@ -111,6 +111,8 @@ const isLogLevelEnabled = (minimum) => {
111
111
  * to indicate the library that is warning the developer.
112
112
  *
113
113
  * @param message - The string message to be logged to the console.
114
+ *
115
+ * @internal
114
116
  */
115
117
  const printIonWarning = (message, ...params) => {
116
118
  if (isLogLevelEnabled(LogLevel.WARN)) {
@@ -123,6 +125,8 @@ const printIonWarning = (message, ...params) => {
123
125
  *
124
126
  * @param message - The string message to be logged to the console.
125
127
  * @param params - Additional arguments to supply to the console.error.
128
+ *
129
+ * @internal
126
130
  */
127
131
  const printIonError = (message, ...params) => {
128
132
  if (isLogLevelEnabled(LogLevel.ERROR)) {
@@ -141,7 +145,7 @@ const printRequiredElementError = (el, ...targetSelectors) => {
141
145
  };
142
146
 
143
147
  /*
144
- Stencil Client Platform v4.44.2 | MIT Licensed | https://stenciljs.com
148
+ Stencil Client Platform v4.45.2 | MIT Licensed | https://stenciljs.com
145
149
  */
146
150
 
147
151
  var Build = {
@@ -517,7 +521,7 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
517
521
 
518
522
  // src/client/client-style.ts
519
523
  var styles = /* @__PURE__ */ new Map();
520
- var modeResolutionChain = [];
524
+ var modeResolver = [];
521
525
 
522
526
  // src/runtime/runtime-constants.ts
523
527
  var CONTENT_REF_ID = "r";
@@ -581,7 +585,7 @@ var queueDomReads = [];
581
585
  var queueDomWrites = [];
582
586
  var scheduleFlush = () => {
583
587
  var _a;
584
- return ((_a = win.document) == null ? void 0 : _a.hidden) ? nextTick(flush) : plt.raf(flush);
588
+ return ((_a = win.document) == null ? void 0 : _a.hidden) ? setTimeout(flush, 16) : plt.raf(flush);
585
589
  };
586
590
  var queueTask = (queue, write) => (cb) => {
587
591
  queue.push(cb);
@@ -1884,8 +1888,11 @@ var findCorrespondingNode = (node, type) => {
1884
1888
  };
1885
1889
 
1886
1890
  // src/runtime/mode.ts
1887
- var computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);
1888
- var setMode = (handler) => modeResolutionChain.push(handler);
1891
+ var computeMode = (elm) => modeResolver.map((h2) => h2(elm)).find((m) => !!m);
1892
+ var setMode = (handler) => {
1893
+ modeResolver.length = 0;
1894
+ modeResolver.push(handler);
1895
+ };
1889
1896
  var getMode = (ref) => {
1890
1897
  var _a;
1891
1898
  return (_a = getHostRef(ref)) == null ? void 0 : _a.$modeName$;
@@ -2092,7 +2099,12 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
2092
2099
  newClasses = [...new Set(newClasses)].filter((c) => c);
2093
2100
  classList.add(...newClasses);
2094
2101
  } else {
2095
- classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
2102
+ let removedClasses = oldClasses.filter((c) => c && !newClasses.includes(c));
2103
+ if (initialRender && !(flags & 4 /* isHost */)) {
2104
+ const ownClasses = getOwnHostClasses(elm);
2105
+ removedClasses = removedClasses.filter((c) => !ownClasses.includes(c));
2106
+ }
2107
+ classList.remove(...removedClasses);
2096
2108
  classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
2097
2109
  }
2098
2110
  } else if (memberName === "style") {
@@ -2217,6 +2229,18 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
2217
2229
  var ENUMERATED_ATTRIBUTES = /* @__PURE__ */ new Set(["draggable", "contenteditable", "spellcheck"]);
2218
2230
  var isEnumeratedAttribute = (attrName) => ENUMERATED_ATTRIBUTES.has(attrName) || attrName.startsWith("aria-");
2219
2231
  var parseClassListRegex = /\s/;
2232
+ var getOwnHostClasses = (elm) => {
2233
+ var _a, _b, _c;
2234
+ const hostRef = getHostRef(elm);
2235
+ if (!hostRef || !(hostRef.$flags$ & 2 /* hasRendered */)) {
2236
+ return [];
2237
+ }
2238
+ const ownClasses = parseClassList((_b = (_a = hostRef.$vnode$) == null ? void 0 : _a.$attrs$) == null ? void 0 : _b.class);
2239
+ {
2240
+ ownClasses.push((_c = BUILD.hydratedSelectorName) != null ? _c : "hydrated");
2241
+ }
2242
+ return ownClasses;
2243
+ };
2220
2244
  var parseClassList = (value) => {
2221
2245
  if (typeof value === "object" && value && "baseVal" in value) {
2222
2246
  value = value.baseVal;
@@ -2511,7 +2535,7 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
2511
2535
  if (idxInOld >= 0) {
2512
2536
  elmToMove = oldCh[idxInOld];
2513
2537
  if (elmToMove.$tag$ !== newStartVnode.$tag$) {
2514
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);
2538
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);
2515
2539
  } else {
2516
2540
  patch(elmToMove, newStartVnode, isInitialRender);
2517
2541
  oldCh[idxInOld] = void 0;
@@ -3110,6 +3134,19 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
3110
3134
 
3111
3135
  // src/runtime/proxy-component.ts
3112
3136
  var reflectedAttrValue = (propValue) => propValue == null || propValue === false ? null : propValue === true ? "" : String(propValue);
3137
+ var replayPendingSetterValues = (hostRef, cmpMeta) => {
3138
+ var _a;
3139
+ const instance = hostRef.$lazyInstance$;
3140
+ if (!instance) return;
3141
+ for (const [memberName, [memberFlags]] of Object.entries((_a = cmpMeta.$members$) != null ? _a : {})) {
3142
+ if (memberFlags & 4096 /* Setter */ && hostRef.$instanceValues$.has(memberName)) {
3143
+ const pendingValue = hostRef.$instanceValues$.get(memberName);
3144
+ if (instance[memberName] !== pendingValue) {
3145
+ instance[memberName] = pendingValue;
3146
+ }
3147
+ }
3148
+ }
3149
+ };
3113
3150
  var proxyComponent = (Cstr, cmpMeta, flags) => {
3114
3151
  var _a, _b;
3115
3152
  const prototype = Cstr.prototype;
@@ -3139,9 +3176,8 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
3139
3176
  return getValue(this, memberName);
3140
3177
  }
3141
3178
  const ref = getHostRef(this);
3142
- const instance = ref ? ref.$lazyInstance$ : prototype;
3143
- if (!instance) return;
3144
- return instance[memberName];
3179
+ if (!ref) return prototype[memberName];
3180
+ return ref.$lazyInstance$ ? ref.$lazyInstance$[memberName] : getValue(this, memberName);
3145
3181
  }
3146
3182
  },
3147
3183
  configurable: true,
@@ -3171,31 +3207,20 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
3171
3207
  {
3172
3208
  if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
3173
3209
  setValue(this, memberName, newValue, cmpMeta);
3174
- if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
3175
- ref.$fetchedCbList$.push(() => {
3176
- if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
3177
- ref.$lazyInstance$[memberName] = newValue;
3178
- }
3179
- });
3180
- }
3181
3210
  return;
3182
3211
  }
3183
- const setterSetVal = () => {
3212
+ const parsedValue = parsePropertyValue(
3213
+ newValue,
3214
+ memberFlags);
3215
+ if (ref.$lazyInstance$) {
3184
3216
  const currentValue = ref.$lazyInstance$[memberName];
3185
3217
  if (!ref.$instanceValues$.get(memberName) && currentValue) {
3186
3218
  ref.$instanceValues$.set(memberName, currentValue);
3187
3219
  }
3188
- ref.$lazyInstance$[memberName] = parsePropertyValue(
3189
- newValue,
3190
- memberFlags);
3220
+ ref.$lazyInstance$[memberName] = parsedValue;
3191
3221
  setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
3192
- };
3193
- if (ref.$lazyInstance$) {
3194
- setterSetVal();
3195
3222
  } else {
3196
- ref.$fetchedCbList$.push(() => {
3197
- setterSetVal();
3198
- });
3223
+ ref.$instanceValues$.set(memberName, parsedValue);
3199
3224
  }
3200
3225
  }
3201
3226
  }
@@ -3251,7 +3276,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
3251
3276
  }
3252
3277
  const isSpuriousBooleanRemoval = isBooleanTarget && newValue === null && this[propName] === void 0;
3253
3278
  if (isBooleanTarget) {
3254
- newValue = newValue === null || newValue === "false" ? false : true;
3279
+ newValue = newValue === null || newValue === "false" && true ? false : true;
3255
3280
  }
3256
3281
  const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
3257
3282
  if (!isSpuriousBooleanRemoval && newValue != this[propName] && (!propDesc.get || !!propDesc.set)) {
@@ -3324,6 +3349,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
3324
3349
  }
3325
3350
  {
3326
3351
  hostRef.$flags$ &= -9 /* isConstructingInstance */;
3352
+ replayPendingSetterValues(hostRef, cmpMeta);
3327
3353
  }
3328
3354
  {
3329
3355
  hostRef.$flags$ |= 128 /* isWatchReady */;
@@ -3696,4 +3722,4 @@ function transformTag(tag) {
3696
3722
  return tag;
3697
3723
  }
3698
3724
 
3699
- export { Build as B, Fragment as F, H, LogLevel as L, readTask as a, bootstrapLazy as b, createEvent as c, Host as d, config as e, printIonWarning as f, getElement as g, h, forceUpdate as i, printIonError as j, getAssetPath as k, configFromURL as l, configFromSession as m, saveConfig as n, getMode as o, promiseResolve as p, setMode as q, registerInstance as r, setNonce as s, printRequiredElementError as t, writeTask as w };
3725
+ export { Build as B, Fragment as F, H, LogLevel as L, printIonWarning as a, bootstrapLazy as b, printIonError as c, createEvent as d, readTask as e, Host as f, getElement as g, h, config as i, forceUpdate as j, getAssetPath as k, configFromURL as l, configFromSession as m, saveConfig as n, getMode as o, promiseResolve as p, setMode as q, registerInstance as r, setNonce as s, printRequiredElementError as t, writeTask as w };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { f as printIonWarning, j as printIonError } from './index-C23AVPx9.js';
4
+ import { a as printIonWarning, c as printIonError } from './index-BpRUsN_W.js';
5
5
 
6
6
  /**
7
7
  * Sanitize an untrusted HTML string.
@@ -1,9 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { d as doc } from './index-ZjP4CjeZ.js';
5
- import { q as pointerCoord } from './helpers-BSmc0nst.js';
6
- import './index-C23AVPx9.js';
4
+ import { n as doc, x as pointerCoord } from './helpers-BJqKF1pr.js';
5
+ import './index-BpRUsN_W.js';
7
6
  import './dir-Dojwmvde.js';
8
7
 
9
8
  const startTapClick = (config) => {
@@ -1,12 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { d as doc } from './index-ZjP4CjeZ.js';
5
- import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-DmkiRgOT.js';
6
- import { f as printIonWarning } from './index-C23AVPx9.js';
7
- import { c as componentOnReady } from './helpers-BSmc0nst.js';
8
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
9
- import { c as createAnimation } from './animation-BFNVlYum.js';
4
+ import { n as doc, c as componentOnReady } from './helpers-BJqKF1pr.js';
5
+ import { M as MENU_BACK_BUTTON_PRIORITY, q as addCloseWatcherCondition } from './overlays-DmDY-El7.js';
6
+ import { a as printIonWarning } from './index-BpRUsN_W.js';
7
+ import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
8
+ import { c as createAnimation } from './animation-DmtJpz89.js';
10
9
 
11
10
  /**
12
11
  * baseAnimation
@@ -272,6 +271,7 @@ const createMenuController = () => {
272
271
  registerAnimation('reveal', menuRevealAnimation);
273
272
  registerAnimation('push', menuPushAnimation);
274
273
  registerAnimation('overlay', menuOverlayAnimation);
274
+ addCloseWatcherCondition(() => _getOpenSync() !== undefined);
275
275
  doc?.addEventListener('ionBackButton', (ev) => {
276
276
  const openMenu = _getOpenSync();
277
277
  if (openMenu) {
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers-BSmc0nst.js';
5
- import { t as printRequiredElementError } from './index-C23AVPx9.js';
4
+ import { c as componentOnReady } from './helpers-BJqKF1pr.js';
5
+ import { t as printRequiredElementError } from './index-BpRUsN_W.js';
6
6
 
7
7
  const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
8
8
  const ION_CONTENT_ELEMENT_SELECTOR = 'ion-content';
package/dist/esm/index.js CHANGED
@@ -1,25 +1,23 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- export { c as createAnimation } from './animation-BFNVlYum.js';
5
- export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-DnA_7Bnx.js';
6
- export { iosTransitionAnimation } from './ios.transition-CWAgfQ1r.js';
7
- export { mdTransitionAnimation } from './md.transition-ZuqDDdDW.js';
4
+ export { c as createAnimation } from './animation-DmtJpz89.js';
5
+ export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-BBASprVu.js';
6
+ export { iosTransitionAnimation } from './ios.transition-B8netzsb.js';
7
+ export { mdTransitionAnimation } from './md.transition-DNCSSiXk.js';
8
8
  export { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
9
9
  export { createGesture } from './index-BmLuEdV7.js';
10
- export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-ZXjCXKH0.js';
11
- export { c as componentOnReady } from './helpers-BSmc0nst.js';
12
- export { L as LogLevel } from './index-C23AVPx9.js';
13
- export { I as IonicSafeString } from './index-D76bbuoi.js';
10
+ export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-Cep6oYzK.js';
11
+ export { c as componentOnReady } from './helpers-BJqKF1pr.js';
12
+ export { L as LogLevel, c as printIonError, a as printIonWarning } from './index-BpRUsN_W.js';
13
+ export { I as IonicSafeString } from './index-CK8uF0iB.js';
14
14
  export { g as getMode, s as setupConfig } from './config-DWCzVL3Y.js';
15
15
  export { o as openURL } from './theme-byZM6qHV.js';
16
- export { m as menuController } from './index-BuPaALjU.js';
17
- export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as popoverController, t as toastController } from './overlays-DKE0DgvE.js';
18
- import './index-ZjP4CjeZ.js';
16
+ export { m as menuController } from './index-DIouXecD.js';
17
+ export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as popoverController, t as toastController } from './overlays-DmDY-El7.js';
19
18
  import './gesture-controller-B_gJaBk0.js';
20
19
  import './dir-Dojwmvde.js';
21
- import './hardware-back-button-DmkiRgOT.js';
22
- import './framework-delegate-BwNhx9NR.js';
20
+ import './framework-delegate-CDjM1vRH.js';
23
21
 
24
22
  const IonicSlides = (opts) => {
25
23
  const { swiper, extendParams } = opts;
@@ -1,13 +1,12 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as win, d as doc } from './index-ZjP4CjeZ.js';
5
- import { g as getScrollElement, h as scrollByPoint, a as findClosestIonContent } from './index-C1b9CLFg.js';
6
- import { f as addEventListener, m as removeEventListener, c as componentOnReady } from './helpers-BSmc0nst.js';
7
- import { a as KeyboardResize, K as Keyboard } from './keyboard-DAF8GNJ9.js';
8
- import './index-C23AVPx9.js';
4
+ import { f as addEventListener, m as removeEventListener, w as win, n as doc, c as componentOnReady } from './helpers-BJqKF1pr.js';
5
+ import { g as getScrollElement, h as scrollByPoint, a as findClosestIonContent } from './index-TkLga3ma.js';
6
+ import { a as KeyboardResize, K as Keyboard } from './keyboard-Cmqp5iZD.js';
7
+ import './index-BpRUsN_W.js';
9
8
  import './dir-Dojwmvde.js';
10
- import './capacitor-CFERIeaU.js';
9
+ import './capacitor-CHJaJ9aX.js';
11
10
 
12
11
  const cloneMap = new WeakMap();
13
12
  const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0, disabledClonedInput = false) => {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { j as printIonError } from './index-C23AVPx9.js';
4
+ import { c as printIonError } from './index-BpRUsN_W.js';
5
5
 
6
6
  const getCounterText = (value, maxLength, counterFormatter) => {
7
7
  const valueLength = value == null ? 0 : value.toString().length;
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, e as config, h, d as Host, g as getElement, c as createEvent, f as printIonWarning } from './index-C23AVPx9.js';
5
- import { g as getElementRoot, r as raf, f as addEventListener, m as removeEventListener, t as transitionEndAsync } from './helpers-BSmc0nst.js';
4
+ import { r as registerInstance, i as config, h, f as Host, g as getElement, d as createEvent, a as printIonWarning } from './index-BpRUsN_W.js';
5
+ import { g as getElementRoot, r as raf, f as addEventListener, m as removeEventListener, t as transitionEndAsync } from './helpers-BJqKF1pr.js';
6
6
  import { b as chevronDown } from './index-BvabGprD.js';
7
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
7
+ import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
8
8
  import './dir-Dojwmvde.js';
9
9
 
10
10
  const accordionIosCss = () => `:host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}:host(.accordion-next) ::slotted(ion-item[slot=header]){--border-width:0.55px 0px 0.55px 0px}`;
@@ -1,24 +1,22 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, a as readTask, h, d as Host, g as getElement } from './index-C23AVPx9.js';
5
- import { c as createButtonActiveGesture } from './button-active-BfOvDr3b.js';
6
- import { r as raf } from './helpers-BSmc0nst.js';
4
+ import { r as registerInstance, d as createEvent, e as readTask, h, f as Host, g as getElement } from './index-BpRUsN_W.js';
5
+ import { c as createButtonActiveGesture } from './button-active-DVk40Sjl.js';
6
+ import { r as raf } from './helpers-BJqKF1pr.js';
7
7
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
8
- import { c as createDelegateController, d as createTriggerController, B as BACKDROP, i as isCancel, e as present, f as dismiss, g as eventMethod, s as safeCall, h as prepareOverlay, r as restoreRootFocusTrapAccessibility, j as cleanupRootFocusTrapAccessibility, k as setOverlayId } from './overlays-DKE0DgvE.js';
9
- import { r as renderOptionLabel } from './select-option-render-CRP_teb1.js';
8
+ import { c as createDelegateController, d as createTriggerController, B as BACKDROP, i as isCancel, e as present, f as dismiss, g as eventMethod, s as safeCall, h as prepareOverlay, r as restoreRootFocusTrapAccessibility, j as cleanupRootFocusTrapAccessibility, k as setOverlayId } from './overlays-DmDY-El7.js';
9
+ import { r as renderOptionLabel } from './select-option-render-BSDT9oSA.js';
10
10
  import { g as getClassMap } from './theme-byZM6qHV.js';
11
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
12
- import { c as createAnimation } from './animation-BFNVlYum.js';
13
- import './haptic-Cq4UAeka.js';
14
- import './capacitor-CFERIeaU.js';
15
- import './index-ZjP4CjeZ.js';
11
+ import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
12
+ import { c as createAnimation } from './animation-DmtJpz89.js';
13
+ import './haptic-WXfMCob9.js';
14
+ import './capacitor-CHJaJ9aX.js';
16
15
  import './index-BmLuEdV7.js';
17
16
  import './gesture-controller-B_gJaBk0.js';
18
17
  import './dir-Dojwmvde.js';
19
- import './hardware-back-button-DmkiRgOT.js';
20
- import './framework-delegate-BwNhx9NR.js';
21
- import './index-D76bbuoi.js';
18
+ import './framework-delegate-CDjM1vRH.js';
19
+ import './index-CK8uF0iB.js';
22
20
 
23
21
  /**
24
22
  * iOS Action Sheet Enter Animation
@@ -1,26 +1,24 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, e as config, f as printIonWarning, i as forceUpdate, h, d as Host, g as getElement } from './index-C23AVPx9.js';
4
+ import { r as registerInstance, d as createEvent, i as config, a as printIonWarning, j as forceUpdate, h, f as Host, g as getElement } from './index-BpRUsN_W.js';
5
5
  import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-DWCzVL3Y.js';
6
- import { c as createButtonActiveGesture } from './button-active-BfOvDr3b.js';
7
- import { r as raf } from './helpers-BSmc0nst.js';
6
+ import { c as createButtonActiveGesture } from './button-active-DVk40Sjl.js';
7
+ import { r as raf } from './helpers-BJqKF1pr.js';
8
8
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
9
9
  import { g as getOverlayLabelJustify, a as getOverlayLabelPlacement } from './overlay-control-label-BSQPZ79H.js';
10
- import { c as createDelegateController, d as createTriggerController, B as BACKDROP, i as isCancel, h as prepareOverlay, r as restoreRootFocusTrapAccessibility, k as setOverlayId, j as cleanupRootFocusTrapAccessibility, e as present, f as dismiss, g as eventMethod, s as safeCall } from './overlays-DKE0DgvE.js';
11
- import { s as sanitizeDOMString } from './index-D76bbuoi.js';
12
- import { r as renderOptionLabel } from './select-option-render-CRP_teb1.js';
10
+ import { c as createDelegateController, d as createTriggerController, B as BACKDROP, i as isCancel, h as prepareOverlay, r as restoreRootFocusTrapAccessibility, k as setOverlayId, j as cleanupRootFocusTrapAccessibility, e as present, f as dismiss, g as eventMethod, s as safeCall } from './overlays-DmDY-El7.js';
11
+ import { s as sanitizeDOMString } from './index-CK8uF0iB.js';
12
+ import { r as renderOptionLabel } from './select-option-render-BSDT9oSA.js';
13
13
  import { g as getClassMap } from './theme-byZM6qHV.js';
14
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
15
- import { c as createAnimation } from './animation-BFNVlYum.js';
16
- import './haptic-Cq4UAeka.js';
17
- import './capacitor-CFERIeaU.js';
18
- import './index-ZjP4CjeZ.js';
14
+ import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
15
+ import { c as createAnimation } from './animation-DmtJpz89.js';
16
+ import './haptic-WXfMCob9.js';
17
+ import './capacitor-CHJaJ9aX.js';
19
18
  import './index-BmLuEdV7.js';
20
19
  import './gesture-controller-B_gJaBk0.js';
21
20
  import './dir-Dojwmvde.js';
22
- import './hardware-back-button-DmkiRgOT.js';
23
- import './framework-delegate-BwNhx9NR.js';
21
+ import './framework-delegate-CDjM1vRH.js';
24
22
 
25
23
  /**
26
24
  * iOS Alert Enter Animation
@@ -1,21 +1,21 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, e as config, f as printIonWarning, h, d as Host, g as getElement, c as createEvent, a as readTask, i as forceUpdate, w as writeTask, j as printIonError } from './index-C23AVPx9.js';
5
- import { shouldUseCloseWatcher } from './hardware-back-button-DmkiRgOT.js';
6
- import { a as isPlatform, b as getIonMode } from './ionic-global-ZXjCXKH0.js';
7
- import { i as inheritAriaAttributes, h as hasLazyBuild, c as componentOnReady, e as clamp, s as shallowEqualStringMap } from './helpers-BSmc0nst.js';
4
+ import { r as registerInstance, i as config, a as printIonWarning, h, f as Host, g as getElement, d as createEvent, e as readTask, j as forceUpdate, w as writeTask, c as printIonError } from './index-BpRUsN_W.js';
5
+ import { w as shouldUseCloseWatcher, n as getOverlaySizeType } from './overlays-DmDY-El7.js';
6
+ import { a as isPlatform, b as getIonMode } from './ionic-global-Cep6oYzK.js';
7
+ import { i as inheritAriaAttributes, h as hasLazyBuild, c as componentOnReady, e as clamp, v as shallowEqualStringMap } from './helpers-BJqKF1pr.js';
8
8
  import { i as isRTL } from './dir-Dojwmvde.js';
9
9
  import { h as hostContext, c as createColorClasses } from './theme-byZM6qHV.js';
10
- import { b as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-C1b9CLFg.js';
11
- import { c as createKeyboardController } from './keyboard-controller-DEwoa1ev.js';
10
+ import { b as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-TkLga3ma.js';
11
+ import { c as createKeyboardController } from './keyboard-controller-B2NoF7bV.js';
12
12
  import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
13
- import { a as attachComponent, d as detachComponent } from './framework-delegate-BwNhx9NR.js';
13
+ import { a as attachComponent, d as detachComponent } from './framework-delegate-CDjM1vRH.js';
14
14
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
15
- import { t as transition } from './index-DnA_7Bnx.js';
16
- import './index-ZjP4CjeZ.js';
17
- import './keyboard-DAF8GNJ9.js';
18
- import './capacitor-CFERIeaU.js';
15
+ import { t as transition } from './index-BBASprVu.js';
16
+ import './gesture-controller-B_gJaBk0.js';
17
+ import './keyboard-Cmqp5iZD.js';
18
+ import './capacitor-CHJaJ9aX.js';
19
19
 
20
20
  const appCss = () => `html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}`;
21
21
 
@@ -28,10 +28,10 @@ const App = class {
28
28
  this.rIC(async () => {
29
29
  const isHybrid = isPlatform(window, 'hybrid');
30
30
  if (!config.getBoolean('_testing')) {
31
- import('./index-CJln0gS3.js').then((module) => module.startTapClick(config));
31
+ import('./index-Clv8QC5L.js').then((module) => module.startTapClick(config));
32
32
  }
33
33
  if (config.getBoolean('statusTap', isHybrid)) {
34
- import('./status-tap-Cv9gb3ja.js').then((module) => module.startStatusTap());
34
+ import('./status-tap-VGRBYwiC.js').then((module) => module.startStatusTap());
35
35
  }
36
36
  if (config.getBoolean('inputShims', needInputShims())) {
37
37
  /**
@@ -39,9 +39,9 @@ const App = class {
39
39
  * platforms proceed into this block.
40
40
  */
41
41
  const platform = isPlatform(window, 'ios') ? 'ios' : 'android';
42
- import('./input-shims-Dqk-Ou25.js').then((module) => module.startInputShims(config, platform));
42
+ import('./input-shims-C1iYF5JK.js').then((module) => module.startInputShims(config, platform));
43
43
  }
44
- const hardwareBackButtonModule = await import('./hardware-back-button-DmkiRgOT.js');
44
+ const hardwareBackButtonModule = await import('./overlays-DmDY-El7.js').then(function (n) { return n.y; });
45
45
  const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
46
46
  if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
47
47
  hardwareBackButtonModule.startHardwareBackButton();
@@ -57,7 +57,7 @@ const App = class {
57
57
  hardwareBackButtonModule.blockHardwareBackButton();
58
58
  }
59
59
  if (typeof window !== 'undefined') {
60
- import('./keyboard-Cj8mLJeq.js').then((module) => module.startKeyboardAssist(window));
60
+ import('./keyboard-B4Y-Gph8.js').then((module) => module.startKeyboardAssist(window));
61
61
  }
62
62
  import('./focus-visible-BmVRXR1y.js').then((module) => (this.focusVisible = module.startFocusVisible()));
63
63
  });
@@ -196,6 +196,10 @@ const Content = class {
196
196
  data: undefined,
197
197
  isScrolling: true,
198
198
  };
199
+ /**
200
+ * Whether the host is sized to its content.
201
+ */
202
+ this.sizeToContent = false;
199
203
  /**
200
204
  * If `true`, the content will scroll behind the headers
201
205
  * and footers. This effect can easily be seen by setting the toolbar
@@ -229,6 +233,7 @@ const Content = class {
229
233
  }
230
234
  componentWillLoad() {
231
235
  this.inheritedAttributes = inheritAriaAttributes(this.el);
236
+ this.sizeToContent = this.readSizeToContent();
232
237
  }
233
238
  connectedCallback() {
234
239
  this.isMainContent = this.el.closest('ion-menu, ion-popover, ion-modal') === null;
@@ -268,6 +273,7 @@ const Content = class {
268
273
  }
269
274
  // Re-observe on reattach, since componentDidLoad only fires once.
270
275
  this.setupFullscreenResizeObserver();
276
+ this.updateSizeToContent();
271
277
  }
272
278
  componentDidLoad() {
273
279
  // The custom elements build assigns fullscreen after connectedCallback.
@@ -324,6 +330,16 @@ const Content = class {
324
330
  });
325
331
  this.fullscreenResizeObserver.observe(this.el);
326
332
  }
333
+ /**
334
+ * Picks up an overlay that is no longer sized the way the last render
335
+ * assumed, re-rendering only when the answer changes. Read in a `readTask`
336
+ * because resolving the custom property forces a style recalculation.
337
+ */
338
+ updateSizeToContent() {
339
+ readTask(() => {
340
+ this.sizeToContent = this.readSizeToContent();
341
+ });
342
+ }
327
343
  destroyFullscreenResizeObserver() {
328
344
  if (this.fullscreenResizeObserver !== undefined) {
329
345
  this.fullscreenResizeObserver.disconnect();
@@ -370,6 +386,30 @@ const Content = class {
370
386
  const mode = getIonMode(this);
371
387
  return forceOverscroll === undefined ? mode === 'ios' && isPlatform('ios') : forceOverscroll;
372
388
  }
389
+ /**
390
+ * Reads whether to size the component to its content height. Forces a style
391
+ * recalculation, so it belongs in a read task or before the first render.
392
+ *
393
+ * This applies inside popovers and modals with a content-based `--height`,
394
+ * where the overlay does not provide the content with a definite height
395
+ * to fill.
396
+ *
397
+ * Only `--height` is consulted. Styling the wrapper directly, such as
398
+ * `ion-modal::part(content) { height: fit-content; }`, does not change
399
+ * `--height` and therefore cannot be observed. `--height` is the only
400
+ * supported way to opt into content-based sizing.
401
+ */
402
+ readSizeToContent() {
403
+ if (hostContext('ion-popover', this.el)) {
404
+ return true;
405
+ }
406
+ const modal = this.el.closest('ion-modal');
407
+ if (modal === null) {
408
+ return false;
409
+ }
410
+ const height = getComputedStyle(modal).getPropertyValue('--height');
411
+ return getOverlaySizeType(height) === 'content';
412
+ }
373
413
  resize() {
374
414
  /**
375
415
  * Only force update if the component is rendered in a browser context.
@@ -380,6 +420,12 @@ const Content = class {
380
420
  * TODO: Remove if STENCIL-834 determines Stencil will account for this.
381
421
  */
382
422
  {
423
+ /**
424
+ * A window resize can cross a media query that changes the modal's
425
+ * `--height`. The content's own offsets are unchanged, so neither branch
426
+ * below re-renders and the class from the last render would go stale.
427
+ */
428
+ this.updateSizeToContent();
383
429
  if (this.fullscreen) {
384
430
  readTask(() => this.readDimensions());
385
431
  }
@@ -390,13 +436,15 @@ const Content = class {
390
436
  }
391
437
  }
392
438
  /**
393
- * Recalculate content dimensions. Called by overlays (e.g., popover) when
394
- * sibling elements like headers or footers have finished rendering and their
395
- * heights are available, ensuring accurate offset-top calculations.
439
+ * Recalculates the content dimensions and whether it should size itself to
440
+ * its content. Called by overlays when something they own changes, such as
441
+ * a header finishing its render or `--height` being updated.
442
+ *
396
443
  * @internal
397
444
  */
398
445
  async recalculateDimensions() {
399
446
  readTask(() => this.readDimensions());
447
+ this.updateSizeToContent();
400
448
  }
401
449
  readDimensions() {
402
450
  const page = getPageElement(this.el);
@@ -567,21 +615,21 @@ const Content = class {
567
615
  const forceOverscroll = this.shouldForceOverscroll();
568
616
  const transitionShadow = mode === 'ios';
569
617
  this.resize();
570
- return (h(Host, { key: '9551c759df407b10d809171641fc6e8f14d92219', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
618
+ return (h(Host, { key: 'e1013621096729354ef92915af52dd823e69fdff', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
571
619
  [mode]: true,
572
620
  'content-fullscreen': this.fullscreen,
573
- 'content-sizing': hostContext('ion-popover', this.el),
621
+ 'content-sizing': this.sizeToContent,
574
622
  overscroll: forceOverscroll,
575
623
  [`content-${rtl}`]: true,
576
624
  }), style: {
577
625
  '--offset-top': `${this.cTop}px`,
578
626
  '--offset-bottom': `${this.cBottom}px`,
579
- }, ...inheritedAttributes }, h("div", { key: 'c6de8fd226f0d10a534eb107fe032ac155fbe68e', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '082fc2936061360060b48221ecb1c864a3711fa0', class: {
627
+ }, ...inheritedAttributes }, h("div", { key: '3d8649b164d6324beaa1bc50e1d204ad06c2ec1a', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: 'dd2d3bed8690b4f5027a43f5ec60e7e7df18106d', class: {
580
628
  'inner-scroll': true,
581
629
  'scroll-x': scrollX,
582
630
  'scroll-y': scrollY,
583
631
  overscroll: (scrollX || scrollY) && forceOverscroll,
584
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '0d2286206facb22696a9ca7e74a3f6b7d2397aab' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
632
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: 'dc3d4584d9e9afd43699525a619b8e873078fbbf' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
585
633
  }
586
634
  get el() { return getElement(this); }
587
635
  static get watchers() { return {
@@ -1218,7 +1266,7 @@ const RouterOutlet = class {
1218
1266
  this.swipeHandler.onStart();
1219
1267
  }
1220
1268
  };
1221
- this.gesture = (await import('./swipe-back-De5HlmeM.js')).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => this.ani?.progressStep(step), (shouldComplete, step, dur) => {
1269
+ this.gesture = (await import('./swipe-back-tCNYR9ZM.js')).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => this.ani?.progressStep(step), (shouldComplete, step, dur) => {
1222
1270
  if (this.ani) {
1223
1271
  this.ani.onFinish(() => {
1224
1272
  this.gestureOrAnimationInProgress = false;
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, d as Host } from './index-C23AVPx9.js';
5
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
4
+ import { r as registerInstance, h, f as Host } from './index-BpRUsN_W.js';
5
+ import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
6
6
  import { c as createColorClasses } from './theme-byZM6qHV.js';
7
7
 
8
8
  const avatarIosCss = () => `:host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:48px;height:48px}`;