@ionic/core 9.0.1-dev.11787248963.10a00c73 → 9.0.1-dev.11787949960.1e63841c

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 (456) 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-gFwXiYC_.js → p-5rFO7X8J.js} +1 -1
  99. package/components/{p-BpLt_Ptn.js → p-7qDu1bID.js} +1 -1
  100. package/components/{p-7PNwKFZi.js → p-B2L09UOs.js} +1 -1
  101. package/components/{p-DcOH6-o5.js → p-BAJ7NctL.js} +1 -1
  102. package/components/{p-Kmrg3Fed.js → p-BE9noJ1O.js} +1 -1
  103. package/components/{p-CgvDC7hC.js → p-BFwL2yyK.js} +1 -1
  104. package/components/{p-DysqCsJu.js → p-BWHBdLfY.js} +1 -1
  105. package/components/{p-SR-LLqp_.js → p-Bcm-GVQM.js} +1 -1
  106. package/{dist/ionic/p-9wczfs_v.js → components/p-BcuLPPAE.js} +1 -1
  107. package/components/p-BhlP16sB.js +4 -0
  108. package/components/{p-H1f2qsk4.js → p-BqE7e5gH.js} +1 -1
  109. package/components/{p-BqBDq1Ma.js → p-C12SAK00.js} +1 -1
  110. package/components/p-C8Tp0cQy.js +4 -0
  111. package/components/{p-A8MJRBIY.js → p-C8mPeq0D.js} +1 -1
  112. package/components/{p-Bx2saTHs.js → p-CB06XtlF.js} +1 -1
  113. package/components/{p-BgUIV8NQ.js → p-CBhGZ6rF.js} +1 -1
  114. package/components/{p-B8MQjdvk.js → p-CDKY4TZ_.js} +1 -1
  115. package/components/{p-CWETxTjE.js → p-CEkamjav.js} +1 -1
  116. package/components/p-CFtAWaB6.js +4 -0
  117. package/components/{p-DEW7CnUc.js → p-CJTKYpZv.js} +1 -1
  118. package/components/{p-BA_4ZIEg.js → p-CLZPNP7x.js} +1 -1
  119. package/components/{p-tX3UxCnU.js → p-COxY7PLK.js} +1 -1
  120. package/components/p-CQxPXWNM.js +4 -0
  121. package/components/{p-DDdkefwf.js → p-CRcX0EGs.js} +1 -1
  122. package/components/p-CVNvmbDp.js +4 -0
  123. package/components/p-CXpy69Ei.js +4 -0
  124. package/{dist/ionic/p-BZxjcGRP.js → components/p-CdSLe3Q3.js} +1 -1
  125. package/components/p-CoGD-oMG.js +4 -0
  126. package/components/p-CpYeYl3u.js +4 -0
  127. package/components/{p-CaiZOhfC.js → p-CuS0-WwK.js} +1 -1
  128. package/components/{p-Bnc0m4SW.js → p-CxiXpCtB.js} +1 -1
  129. package/components/{p-BFtL8t1r.js → p-CyKlfXdt.js} +1 -1
  130. package/components/p-D2XJVty5.js +4 -0
  131. package/components/p-DALTMT_o.js +4 -0
  132. package/{dist/ionic/p-D0dfUysx.js → components/p-DG-dUCKp.js} +1 -1
  133. package/{dist/ionic/p-DF_Uqql8.js → components/p-DH0rRXjx.js} +1 -1
  134. package/components/{p-D7ysFE2B.js → p-DMkSsriG.js} +1 -1
  135. package/components/{p-B6x5_b9w.js → p-DkEb3SCT.js} +1 -1
  136. package/components/p-Dr-rBSUW.js +4 -0
  137. package/components/p-MHpJ2A_m.js +4 -0
  138. package/components/p-N6lZFXYR.js +4 -0
  139. package/components/p-QgdyH-Zs.js +4 -0
  140. package/components/{p-BMfgF-Tv.js → p-RRH-7cpd.js} +1 -1
  141. package/components/p-UKksD3f9.js +4 -0
  142. package/components/{p-v2NpoOHp.js → p-VTfnz_8u.js} +1 -1
  143. package/components/p-fP0QF3iG.js +4 -0
  144. package/components/{p-BPDxVIRr.js → p-l-zxxFre.js} +1 -1
  145. package/components/{p-BrFaQbGY.js → p-mXsQnyWB.js} +1 -1
  146. package/components/p-ntAkt4Ra.js +4 -0
  147. package/components/p-ufB0gCSU.js +4 -0
  148. package/components/p-z-BF3clL.js +4 -0
  149. package/css/core.css +1 -1
  150. package/css/core.css.map +1 -1
  151. package/css/ionic.bundle.css +1 -1
  152. package/css/ionic.bundle.css.map +1 -1
  153. package/dist/cjs/{animation-D-OqR4a4.js → animation-ihPP_z2n.js} +1 -1
  154. package/dist/cjs/{app-globals-BzgwARwJ.js → app-globals-BlkzA410.js} +1 -1
  155. package/dist/cjs/{button-active-BlWSD7uK.js → button-active-ItGBjzmO.js} +1 -1
  156. package/dist/cjs/{format-D7ig6Vm0.js → format-CPIqtp4x.js} +1 -1
  157. package/dist/cjs/{framework-delegate-BZUx4TnE.js → framework-delegate-DhyWUPGg.js} +1 -1
  158. package/dist/cjs/{hardware-back-button-JOAEFSzc.js → hardware-back-button-D5f_kASb.js} +1 -1
  159. package/dist/cjs/{helpers-Dj5o76mq.js → helpers-BCLkFTTd.js} +1 -1
  160. package/dist/cjs/{index-C8zH6b3d.js → index-49DTLc_Z.js} +2 -2
  161. package/dist/cjs/{index-CZ6vzt_q.js → index-BcyiqD6R.js} +5 -5
  162. package/dist/cjs/{index-BrVMoqUk.js → index-Bgz6BcKx.js} +50 -16
  163. package/dist/cjs/{index-EJLjthTK.js → index-BocV_y-c.js} +2 -1
  164. package/dist/cjs/{index-2sO-zkZ2.js → index-CldjPPyP.js} +4 -4
  165. package/dist/cjs/{index-Csue6G3m.js → index-xum7jdbq.js} +2 -2
  166. package/dist/cjs/index.cjs.js +12 -12
  167. package/dist/cjs/{input-shims-Bh7bnt2v.js → input-shims-Jisy7U7-.js} +3 -3
  168. package/dist/cjs/{input.utils-Cq3g9uHy.js → input.utils-BDTpGrfn.js} +1 -1
  169. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  170. package/dist/cjs/ion-action-sheet.cjs.entry.js +45 -29
  171. package/dist/cjs/ion-alert.cjs.entry.js +29 -21
  172. package/dist/cjs/ion-app_8.cjs.entry.js +38 -16
  173. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  174. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  175. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  176. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  177. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  178. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  179. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
  180. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  181. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  182. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  183. package/dist/cjs/ion-datetime.cjs.entry.js +32 -24
  184. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  185. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  186. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  187. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  188. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  189. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  190. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  191. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  192. package/dist/cjs/ion-loading.cjs.entry.js +14 -10
  193. package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
  194. package/dist/cjs/ion-modal.cjs.entry.js +85 -32
  195. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  196. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  197. package/dist/cjs/ion-picker-column.cjs.entry.js +210 -46
  198. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  199. package/dist/cjs/ion-popover.cjs.entry.js +23 -10
  200. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  201. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  202. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  203. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
  204. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  205. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  206. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  207. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  208. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  209. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  210. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  211. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -8
  212. package/dist/cjs/ion-select_3.cjs.entry.js +57 -47
  213. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  214. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  215. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +3 -3
  216. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  217. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  218. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  219. package/dist/cjs/ion-toast.cjs.entry.js +8 -8
  220. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  221. package/dist/cjs/{ionic-global-DvgIzM2F.js → ionic-global-BMU-Us1Q.js} +1 -1
  222. package/dist/cjs/ionic.cjs.js +4 -4
  223. package/dist/cjs/{ios.transition-zIgdoSYe.js → ios.transition-OCcCN--B.js} +4 -4
  224. package/dist/cjs/{item-multiple-inputs-DG-ZGm6j.js → item-multiple-inputs-BH9yPC66.js} +1 -1
  225. package/dist/cjs/loader.cjs.js +3 -3
  226. package/dist/cjs/{md.transition-CXeJ9rfh.js → md.transition-D0o2IIbo.js} +4 -4
  227. package/dist/cjs/{overlays-Bg0auTQa.js → overlays-HN9joo1Z.js} +59 -34
  228. package/dist/cjs/{select-option-render-7m1WdFzF.js → select-option-render-BPjGDlsG.js} +2 -2
  229. package/dist/cjs/{slot-mutation-controller-BJEJzx_e.js → slot-mutation-controller-IQ250LoG.js} +1 -1
  230. package/dist/cjs/{status-tap-DxbUM5XX.js → status-tap-Bakl9czs.js} +3 -3
  231. package/dist/cjs/{swipe-back-F_DBt-Aw.js → swipe-back-Cv4OZVJ5.js} +2 -2
  232. package/dist/collection/collection-manifest.json +1 -1
  233. package/dist/collection/components/action-sheet/action-sheet.js +36 -20
  234. package/dist/collection/components/alert/alert.js +20 -12
  235. package/dist/collection/components/content/content.js +26 -4
  236. package/dist/collection/components/datetime/datetime.js +25 -17
  237. package/dist/collection/components/loading/loading.js +7 -3
  238. package/dist/collection/components/modal/modal.ios.css +12 -1
  239. package/dist/collection/components/modal/modal.js +75 -22
  240. package/dist/collection/components/modal/modal.md.css +12 -1
  241. package/dist/collection/components/picker-column/picker-column.js +207 -43
  242. package/dist/collection/components/popover/popover.js +16 -3
  243. package/dist/collection/components/select/select.js +49 -39
  244. package/dist/collection/utils/overlays.js +53 -29
  245. package/dist/collection/utils/test/playwright/detach-reattach.js +23 -0
  246. package/dist/collection/utils/test/playwright/index.js +1 -0
  247. package/dist/docs.json +279 -48
  248. package/dist/esm/{animation-TxGPYeDn.js → animation-B6KGUJwl.js} +1 -1
  249. package/dist/esm/{app-globals-Do8rJest.js → app-globals-BvutUX8P.js} +1 -1
  250. package/dist/esm/{button-active-ChA4D-ml.js → button-active-DRNebs9r.js} +1 -1
  251. package/dist/esm/{format-CVk5e_GP.js → format-BF3btM7P.js} +1 -1
  252. package/dist/esm/{framework-delegate-DaLWnISz.js → framework-delegate-60cEIAgt.js} +1 -1
  253. package/dist/esm/{hardware-back-button-D8W4L0JP.js → hardware-back-button-rhkwRNk2.js} +1 -1
  254. package/dist/esm/{helpers-BIgoInJU.js → helpers-DLLANtRS.js} +1 -1
  255. package/dist/esm/{index-C8Dsa6li.js → index-BZHVn0iF.js} +4 -4
  256. package/dist/esm/{index-DHw2lZxe.js → index-Bl4BUvBL.js} +2 -2
  257. package/dist/esm/{index-BmOR8tCv.js → index-DOrtAUWV.js} +2 -2
  258. package/dist/esm/{index-C5ZdL0qp.js → index-D_7MeuVD.js} +5 -5
  259. package/dist/esm/{index-elneMH8y.js → index-JgU5uTSY.js} +2 -2
  260. package/dist/esm/{index-CKYcsw8f.js → index-h81G-QbJ.js} +50 -16
  261. package/dist/esm/index.js +12 -12
  262. package/dist/esm/{input-shims-09NN97kF.js → input-shims-C2ipc_XX.js} +3 -3
  263. package/dist/esm/{input.utils-BxyH9l1w.js → input.utils-D-qoPjqr.js} +1 -1
  264. package/dist/esm/ion-accordion_2.entry.js +3 -3
  265. package/dist/esm/ion-action-sheet.entry.js +45 -29
  266. package/dist/esm/ion-alert.entry.js +29 -21
  267. package/dist/esm/ion-app_8.entry.js +38 -16
  268. package/dist/esm/ion-avatar_3.entry.js +2 -2
  269. package/dist/esm/ion-back-button.entry.js +3 -3
  270. package/dist/esm/ion-backdrop.entry.js +2 -2
  271. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  272. package/dist/esm/ion-button_2.entry.js +3 -3
  273. package/dist/esm/ion-card_5.entry.js +3 -3
  274. package/dist/esm/ion-checkbox.entry.js +4 -4
  275. package/dist/esm/ion-chip.entry.js +2 -2
  276. package/dist/esm/ion-col_3.entry.js +2 -2
  277. package/dist/esm/ion-datetime-button.entry.js +4 -4
  278. package/dist/esm/ion-datetime.entry.js +32 -24
  279. package/dist/esm/ion-fab_3.entry.js +3 -3
  280. package/dist/esm/ion-img.entry.js +3 -3
  281. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  282. package/dist/esm/ion-input-otp.entry.js +3 -3
  283. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  284. package/dist/esm/ion-input.entry.js +5 -5
  285. package/dist/esm/ion-item-option_3.entry.js +4 -4
  286. package/dist/esm/ion-item_8.entry.js +3 -3
  287. package/dist/esm/ion-loading.entry.js +14 -10
  288. package/dist/esm/ion-menu_3.entry.js +8 -8
  289. package/dist/esm/ion-modal.entry.js +85 -32
  290. package/dist/esm/ion-nav_2.entry.js +6 -6
  291. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  292. package/dist/esm/ion-picker-column.entry.js +211 -47
  293. package/dist/esm/ion-picker.entry.js +2 -2
  294. package/dist/esm/ion-popover.entry.js +23 -10
  295. package/dist/esm/ion-progress-bar.entry.js +3 -3
  296. package/dist/esm/ion-radio_2.entry.js +4 -4
  297. package/dist/esm/ion-range.entry.js +4 -4
  298. package/dist/esm/ion-refresher_2.entry.js +6 -6
  299. package/dist/esm/ion-reorder_2.entry.js +4 -4
  300. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  301. package/dist/esm/ion-route_4.entry.js +4 -4
  302. package/dist/esm/ion-searchbar.entry.js +3 -3
  303. package/dist/esm/ion-segment-content.entry.js +1 -1
  304. package/dist/esm/ion-segment-view.entry.js +1 -1
  305. package/dist/esm/ion-segment_2.entry.js +3 -3
  306. package/dist/esm/ion-select-modal.entry.js +8 -8
  307. package/dist/esm/ion-select_3.entry.js +57 -47
  308. package/dist/esm/ion-spinner.entry.js +2 -2
  309. package/dist/esm/ion-split-pane.entry.js +2 -2
  310. package/dist/esm/ion-tab-bar_2.entry.js +3 -3
  311. package/dist/esm/ion-tab_2.entry.js +3 -3
  312. package/dist/esm/ion-text.entry.js +2 -2
  313. package/dist/esm/ion-textarea.entry.js +5 -5
  314. package/dist/esm/ion-toast.entry.js +8 -8
  315. package/dist/esm/ion-toggle.entry.js +4 -4
  316. package/dist/esm/{ionic-global-lrowsHfi.js → ionic-global-B7I1sdvg.js} +1 -1
  317. package/dist/esm/ionic.js +5 -5
  318. package/dist/esm/{ios.transition-BQhADrk1.js → ios.transition-C-6IaIxe.js} +4 -4
  319. package/dist/esm/{item-multiple-inputs-D_N3fDkD.js → item-multiple-inputs-DI91syHS.js} +1 -1
  320. package/dist/esm/loader.js +4 -4
  321. package/dist/esm/{md.transition-D58NpmRa.js → md.transition-dyqt0t0d.js} +4 -4
  322. package/dist/esm/{overlays-BpnIFlXI.js → overlays-Dz2cGX5q.js} +59 -35
  323. package/dist/esm/{select-option-render-lIuu64EV.js → select-option-render-CUJpruSC.js} +2 -2
  324. package/dist/esm/{slot-mutation-controller-rS_T3FDR.js → slot-mutation-controller-wFuztlVD.js} +1 -1
  325. package/dist/esm/{status-tap-CpFQMLl6.js → status-tap-Dn_42wiy.js} +3 -3
  326. package/dist/esm/{swipe-back-rmc7zeNW.js → swipe-back-CqOqrHW7.js} +2 -2
  327. package/dist/ionic/index.esm.js +1 -1
  328. package/dist/ionic/ionic.esm.js +1 -1
  329. package/dist/ionic/p-010601fe.entry.js +4 -0
  330. package/dist/ionic/{p-05800a02.entry.js → p-025763b2.entry.js} +1 -1
  331. package/dist/ionic/{p-d8deff43.entry.js → p-026e2e4c.entry.js} +1 -1
  332. package/dist/ionic/{p-RzUn7cKs.js → p-06ZcwRF5.js} +1 -1
  333. package/dist/ionic/{p-b62bfce8.entry.js → p-082b8125.entry.js} +1 -1
  334. package/dist/ionic/{p-16e9f542.entry.js → p-0b52d921.entry.js} +1 -1
  335. package/dist/ionic/p-0c2b3555.entry.js +4 -0
  336. package/dist/ionic/{p-485fb218.entry.js → p-1a20571c.entry.js} +1 -1
  337. package/dist/ionic/{p-90ba736e.entry.js → p-1f66c230.entry.js} +1 -1
  338. package/dist/ionic/{p-a0fee899.entry.js → p-2aabd568.entry.js} +1 -1
  339. package/dist/ionic/{p-295ff427.entry.js → p-2ff12c8a.entry.js} +1 -1
  340. package/dist/ionic/{p-5b906fd6.entry.js → p-326e0d05.entry.js} +1 -1
  341. package/dist/ionic/p-392079fa.entry.js +4 -0
  342. package/dist/ionic/{p-6f048604.entry.js → p-43bae3f5.entry.js} +1 -1
  343. package/dist/ionic/p-4778b90f.entry.js +4 -0
  344. package/dist/ionic/{p-d3384a40.entry.js → p-47b8b59a.entry.js} +1 -1
  345. package/dist/ionic/{p-478035a7.entry.js → p-53ba5651.entry.js} +1 -1
  346. package/dist/ionic/{p-bbf6878c.entry.js → p-546b1109.entry.js} +1 -1
  347. package/dist/ionic/{p-8dd4c026.entry.js → p-5dc53bdf.entry.js} +1 -1
  348. package/dist/ionic/{p-1df75f9e.entry.js → p-5ed60413.entry.js} +1 -1
  349. package/dist/ionic/p-639d3b55.entry.js +4 -0
  350. package/dist/ionic/{p-ddfb7e5f.entry.js → p-6d84fa9f.entry.js} +1 -1
  351. package/dist/ionic/{p-72ad7c64.entry.js → p-7c859f42.entry.js} +1 -1
  352. package/dist/ionic/p-7dec112e.entry.js +4 -0
  353. package/dist/ionic/{p-f376876b.entry.js → p-83aa7d47.entry.js} +1 -1
  354. package/dist/ionic/{p-959df5f8.entry.js → p-8d72244b.entry.js} +1 -1
  355. package/dist/ionic/{p-9e455875.entry.js → p-8e388a30.entry.js} +1 -1
  356. package/dist/ionic/{p-75887ee0.entry.js → p-90e06e60.entry.js} +1 -1
  357. package/dist/ionic/{p-b5f37106.entry.js → p-9452849d.entry.js} +1 -1
  358. package/dist/ionic/{p-a54bcd16.entry.js → p-9e688396.entry.js} +1 -1
  359. package/dist/ionic/{p-cad4eccf.entry.js → p-9eba0d8a.entry.js} +1 -1
  360. package/dist/ionic/{p-8e007f11.entry.js → p-9f2d3987.entry.js} +1 -1
  361. package/dist/ionic/p-9fef333a.entry.js +4 -0
  362. package/{components/p-BSARlp49.js → dist/ionic/p-BC17SPKH.js} +1 -1
  363. package/dist/ionic/p-BRa1Jjxr.js +4 -0
  364. package/dist/ionic/{p-De0eY881.js → p-BRc8gq5v.js} +1 -1
  365. package/{components/p-66ogmUZU.js → dist/ionic/p-BpG7jkT9.js} +1 -1
  366. package/dist/ionic/{p-B1Y7LZhV.js → p-C10K-FJg.js} +1 -1
  367. package/dist/ionic/{p-D9yvytgv.js → p-C2BY_4Wp.js} +1 -1
  368. package/dist/ionic/{p-BZVE25Gu.js → p-CH8tk7Pr.js} +1 -1
  369. package/dist/ionic/{p-CDBop-kz.js → p-CTBfxfjC.js} +1 -1
  370. package/dist/ionic/p-Cc-fFNy8.js +4 -0
  371. package/dist/ionic/p-Cc4w3fVf.js +4 -0
  372. package/{components/p-BuPAFTWI.js → dist/ionic/p-CoEa7CiN.js} +1 -1
  373. package/dist/ionic/p-CvRL-Eju.js +4 -0
  374. package/dist/ionic/p-DA88iqXQ.js +4 -0
  375. package/dist/ionic/{p-DXJgZWgi.js → p-DMj-M2c4.js} +1 -1
  376. package/dist/ionic/p-D_IgV7tz.js +4 -0
  377. package/dist/ionic/{p-VquyMbjp.js → p-DoUx_N0R.js} +1 -1
  378. package/dist/ionic/{p-C4IBDDj6.js → p-KJ5pLPiN.js} +1 -1
  379. package/dist/ionic/{p-ByLaqOPm.js → p-Q9w8L_Sw.js} +1 -1
  380. package/dist/ionic/{p-ClrlQU2y.js → p-S1shXW5M.js} +1 -1
  381. package/dist/ionic/{p-1db2afb4.entry.js → p-a2fccdaa.entry.js} +1 -1
  382. package/dist/ionic/{p-fbd83d4c.entry.js → p-ac71362a.entry.js} +1 -1
  383. package/dist/ionic/p-b8cd338d.entry.js +4 -0
  384. package/dist/ionic/{p-873a315a.entry.js → p-bdc01880.entry.js} +1 -1
  385. package/dist/ionic/{p-5f216b79.entry.js → p-ca57763d.entry.js} +1 -1
  386. package/dist/ionic/{p-39a8d4e0.entry.js → p-cc749877.entry.js} +1 -1
  387. package/dist/ionic/{p-56307aea.entry.js → p-d1539609.entry.js} +1 -1
  388. package/dist/ionic/{p-cdc5115e.entry.js → p-d1b888de.entry.js} +1 -1
  389. package/dist/ionic/p-d85e59b1.entry.js +4 -0
  390. package/dist/ionic/p-dad2f3e4.entry.js +4 -0
  391. package/dist/ionic/{p-70ee8888.entry.js → p-dadcb3d2.entry.js} +1 -1
  392. package/dist/ionic/{p-c49165af.entry.js → p-e93cc1e1.entry.js} +1 -1
  393. package/dist/ionic/{p-f7dd1ed9.entry.js → p-eab77a74.entry.js} +1 -1
  394. package/dist/ionic/{p-aebc4d69.entry.js → p-eaeac54e.entry.js} +1 -1
  395. package/dist/ionic/{p-e538f18d.entry.js → p-ecfc9c71.entry.js} +1 -1
  396. package/dist/ionic/{p-5ee2d7b1.entry.js → p-eeb65463.entry.js} +1 -1
  397. package/dist/ionic/{p-881b6954.entry.js → p-f0645c98.entry.js} +1 -1
  398. package/dist/ionic/{p-d8bae128.entry.js → p-f607ad4f.entry.js} +1 -1
  399. package/dist/ionic/{p-61c799d1.entry.js → p-fb4dabbb.entry.js} +1 -1
  400. package/dist/ionic/{p-63bbba8d.entry.js → p-fe80ebb1.entry.js} +1 -1
  401. package/dist/ionic/p-h81G-QbJ.js +6 -0
  402. package/dist/ionic/p-nxFQkv7U.js +4 -0
  403. package/dist/ionic/p-w3KTiug9.js +4 -0
  404. package/{components/p-RFfE9hF6.js → dist/ionic/p-wdSUbx5C.js} +1 -1
  405. package/dist/types/components/action-sheet/action-sheet.d.ts +10 -0
  406. package/dist/types/components/alert/alert.d.ts +7 -0
  407. package/dist/types/components/content/content.d.ts +7 -0
  408. package/dist/types/components/modal/modal.d.ts +8 -0
  409. package/dist/types/components/picker-column/picker-column.d.ts +42 -0
  410. package/dist/types/components.d.ts +1 -1
  411. package/dist/types/stencil-public-runtime.d.ts +12 -0
  412. package/dist/types/utils/overlays.d.ts +9 -0
  413. package/dist/types/utils/test/playwright/detach-reattach.d.ts +13 -0
  414. package/dist/types/utils/test/playwright/index.d.ts +1 -0
  415. package/hydrate/index.js +538 -195
  416. package/hydrate/index.mjs +538 -195
  417. package/loader/index.d.ts +1 -1
  418. package/package.json +2 -2
  419. package/components/p-6Vp915Y7.js +0 -4
  420. package/components/p-AQcCdH2_.js +0 -4
  421. package/components/p-BdwCtX8Y.js +0 -4
  422. package/components/p-Bg4OwDwb.js +0 -4
  423. package/components/p-BxhE2W85.js +0 -4
  424. package/components/p-CHswSpKy.js +0 -4
  425. package/components/p-CQAjyETU.js +0 -4
  426. package/components/p-CR9OgE6N.js +0 -4
  427. package/components/p-CaZeZIL2.js +0 -4
  428. package/components/p-CqyGR9Aq.js +0 -4
  429. package/components/p-DCWfzDM8.js +0 -4
  430. package/components/p-DQ1IPvZO.js +0 -4
  431. package/components/p-DfdYCsov.js +0 -4
  432. package/components/p-DhOoEIAs.js +0 -4
  433. package/components/p-Dl_7b_UJ.js +0 -4
  434. package/components/p-DqAI6tg7.js +0 -4
  435. package/components/p-DrehWDfv.js +0 -4
  436. package/components/p-HVYBAhFx.js +0 -4
  437. package/components/p-eFI3mtEX.js +0 -4
  438. package/dist/ionic/p-0eb50dca.entry.js +0 -4
  439. package/dist/ionic/p-18d532a3.entry.js +0 -4
  440. package/dist/ionic/p-34b9379b.entry.js +0 -4
  441. package/dist/ionic/p-4437015c.entry.js +0 -4
  442. package/dist/ionic/p-48c859fe.entry.js +0 -4
  443. package/dist/ionic/p-49b9d405.entry.js +0 -4
  444. package/dist/ionic/p-68507e70.entry.js +0 -4
  445. package/dist/ionic/p-886d9e66.entry.js +0 -4
  446. package/dist/ionic/p-8f51110d.entry.js +0 -4
  447. package/dist/ionic/p-B5RyLYvl.js +0 -4
  448. package/dist/ionic/p-BQv5i5Kf.js +0 -4
  449. package/dist/ionic/p-BnGA34Pd.js +0 -4
  450. package/dist/ionic/p-C06QNN45.js +0 -4
  451. package/dist/ionic/p-CCVlNZ__.js +0 -4
  452. package/dist/ionic/p-CKYcsw8f.js +0 -5
  453. package/dist/ionic/p-CazSodad.js +0 -4
  454. package/dist/ionic/p-DdhHqKj-.js +0 -4
  455. package/dist/ionic/p-DgUL3JbO.js +0 -4
  456. package/dist/ionic/p-b7a11b58.entry.js +0 -4
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, d as Host, g as getElement, c as createEvent, f as printIonWarning } from './index-CKYcsw8f.js';
5
- import { b as getIonMode } from './ionic-global-lrowsHfi.js';
6
- import { k as hasShadowDom, i as inheritAriaAttributes } from './helpers-BIgoInJU.js';
4
+ import { r as registerInstance, h, d as Host, g as getElement, c as createEvent, f as printIonWarning } from './index-h81G-QbJ.js';
5
+ import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
6
+ import { k as hasShadowDom, i as inheritAriaAttributes } from './helpers-DLLANtRS.js';
7
7
  import { h as hostContext, o as openURL, c as createColorClasses } from './theme-byZM6qHV.js';
8
8
  import { t as close } from './index-BvabGprD.js';
9
9
  import './dir-Dojwmvde.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement } from './index-CKYcsw8f.js';
5
- import { b as inheritAttributes } from './helpers-BIgoInJU.js';
6
- import { b as getIonMode } from './ionic-global-lrowsHfi.js';
4
+ import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement } from './index-h81G-QbJ.js';
5
+ import { b as inheritAttributes } from './helpers-DLLANtRS.js';
6
+ import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
7
7
  import './dir-Dojwmvde.js';
8
8
 
9
9
  const imgCss = () => `:host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}`;
@@ -1,12 +1,12 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, w as writeTask, a as readTask, h, d as Host, g as getElement, e as config } from './index-CKYcsw8f.js';
5
- import { a as findClosestIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-BmOR8tCv.js';
6
- import { b as getIonMode } from './ionic-global-lrowsHfi.js';
4
+ import { r as registerInstance, c as createEvent, w as writeTask, a as readTask, h, d as Host, g as getElement, e as config } from './index-h81G-QbJ.js';
5
+ import { a as findClosestIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-DOrtAUWV.js';
6
+ import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
7
7
  import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-DWCzVL3Y.js';
8
- import { s as sanitizeDOMString } from './index-elneMH8y.js';
9
- import './helpers-BIgoInJU.js';
8
+ import { s as sanitizeDOMString } from './index-JgU5uTSY.js';
9
+ import './helpers-DLLANtRS.js';
10
10
  import './dir-Dojwmvde.js';
11
11
 
12
12
  const infiniteScrollCss = () => `ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}`;
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, f as printIonWarning, h, F as Fragment, d as Host, g as getElement } from './index-CKYcsw8f.js';
5
- import { i as inheritAriaAttributes } from './helpers-BIgoInJU.js';
4
+ import { r as registerInstance, c as createEvent, f as printIonWarning, h, F as Fragment, d as Host, g as getElement } from './index-h81G-QbJ.js';
5
+ import { i as inheritAriaAttributes } from './helpers-DLLANtRS.js';
6
6
  import { i as isRTL } from './dir-Dojwmvde.js';
7
7
  import { c as createColorClasses } from './theme-byZM6qHV.js';
8
- import { b as getIonMode } from './ionic-global-lrowsHfi.js';
8
+ import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
9
9
 
10
10
  const inputOtpIosCss = () => `.sc-ion-input-otp-ios-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-ios{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-ios{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-ios{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-description-hidden.sc-ion-input-otp-ios{display:none}.input-otp-separator.sc-ion-input-otp-ios{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-ios-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:8px}.input-otp-size-medium.sc-ion-input-otp-ios-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-ios-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios,.input-otp-size-large.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:12px}.input-otp-shape-round.sc-ion-input-otp-ios-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-ios-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-ios-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-ios-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-disabled.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-ios-h,.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-ios-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-ios-h{--border-width:0.55px}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-width:1px}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))))}`;
11
11
 
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, f as printIonWarning, h, d as Host, g as getElement } from './index-CKYcsw8f.js';
4
+ import { r as registerInstance, f as printIonWarning, h, d as Host, g as getElement } from './index-h81G-QbJ.js';
5
5
  import { c as createColorClasses } from './theme-byZM6qHV.js';
6
6
  import { x as eyeOff, y as eye } from './index-BvabGprD.js';
7
- import { b as getIonMode } from './ionic-global-lrowsHfi.js';
7
+ import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
8
8
 
9
9
  const iosInputPasswordToggleCss = () => ``;
10
10
 
@@ -1,14 +1,14 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, i as forceUpdate, h, d as Host, g as getElement } from './index-CKYcsw8f.js';
5
- import { c as createSlotMutationController, a as createNotchController, b as createStartContainerController } from './slot-mutation-controller-rS_T3FDR.js';
4
+ import { r as registerInstance, c as createEvent, i as forceUpdate, h, d as Host, g as getElement } from './index-h81G-QbJ.js';
5
+ import { c as createSlotMutationController, a as createNotchController, b as createStartContainerController } from './slot-mutation-controller-wFuztlVD.js';
6
6
  import { c as checkInvalidState } from './validity-DJztqcrH.js';
7
- import { d as debounceEvent, b as inheritAttributes, i as inheritAriaAttributes, c as componentOnReady } from './helpers-BIgoInJU.js';
7
+ import { d as debounceEvent, b as inheritAttributes, i as inheritAriaAttributes, c as componentOnReady } from './helpers-DLLANtRS.js';
8
8
  import { h as hostContext, c as createColorClasses } from './theme-byZM6qHV.js';
9
9
  import { g as closeCircle, h as closeSharp } from './index-BvabGprD.js';
10
- import { b as getIonMode } from './ionic-global-lrowsHfi.js';
11
- import { g as getCounterText } from './input.utils-BxyH9l1w.js';
10
+ import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
11
+ import { g as getCounterText } from './input.utils-D-qoPjqr.js';
12
12
  import './index-ZjP4CjeZ.js';
13
13
  import './dir-Dojwmvde.js';
14
14
 
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, d as Host, g as getElement, c as createEvent, f as printIonWarning } from './index-CKYcsw8f.js';
4
+ import { r as registerInstance, h, d as Host, g as getElement, c as createEvent, f as printIonWarning } from './index-h81G-QbJ.js';
5
5
  import { c as createColorClasses } from './theme-byZM6qHV.js';
6
- import { b as getIonMode } from './ionic-global-lrowsHfi.js';
7
- import { o as isEndSide, c as componentOnReady } from './helpers-BIgoInJU.js';
8
- import { a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-BmOR8tCv.js';
6
+ import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
7
+ import { o as isEndSide, c as componentOnReady } from './helpers-DLLANtRS.js';
8
+ import { a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-DOrtAUWV.js';
9
9
  import { w as watchForOptions } from './watch-options-Dtdm8lKC.js';
10
10
  import './dir-Dojwmvde.js';
11
11
 
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, i as forceUpdate, h, d as Host, g as getElement, c as createEvent, e as config } from './index-CKYcsw8f.js';
5
- import { b as inheritAttributes, r as raf } from './helpers-BIgoInJU.js';
4
+ import { r as registerInstance, i as forceUpdate, h, d as Host, g as getElement, c as createEvent, e as config } from './index-h81G-QbJ.js';
5
+ import { b as inheritAttributes, r as raf } from './helpers-DLLANtRS.js';
6
6
  import { h as hostContext, c as createColorClasses, o as openURL } from './theme-byZM6qHV.js';
7
7
  import { e as chevronForward } from './index-BvabGprD.js';
8
- import { b as getIonMode } from './ionic-global-lrowsHfi.js';
8
+ import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
9
9
  import './dir-Dojwmvde.js';
10
10
 
11
11
  const itemIosCss = () => `:host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--detail-icon-color:initial;--detail-icon-font-size:1.25em;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-control-needs-pointer-cursor){cursor:pointer}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-right:var(--padding-end);padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}[dir=rtl] .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}@supports selector(:dir(rtl)){.item-native:dir(rtl){padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-left:var(--inner-padding-start);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}[dir=rtl] .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}@supports selector(:dir(rtl)){.item-inner:dir(rtl){padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}}.item-detail-icon{-webkit-margin-start:calc(var(--inner-padding-end) / 2);margin-inline-start:calc(var(--inner-padding-end) / 2);-webkit-margin-end:-6px;margin-inline-end:-6px;color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label:not([slot=end])){-ms-flex:1;flex:1;width:-webkit-min-content;width:-moz-min-content;width:min-content;max-width:100%}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}:host(.item-focus-indicator-room) .input-wrapper{-webkit-margin-start:-12px;margin-inline-start:-12px;-webkit-margin-end:-12px;margin-inline-end:-12px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:44px;--transition:background-color 200ms linear, opacity 200ms linear;--padding-start:16px;--inner-padding-end:16px;--inner-border-width:0px 0px 0.55px 0px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:var(--ion-text-color, #000);--background-focused:var(--ion-text-color, #000);--background-hover:currentColor;--background-activated-opacity:.12;--background-focused-opacity:.15;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--color:var(--ion-item-color, var(--ion-text-color, #000));font-size:1rem}:host(.ion-activated){--transition:none}:host(.ion-color.ion-focused) .item-native::after{background:#000;opacity:0.15}:host(.ion-color.ion-activated) .item-native::after{background:#000;opacity:0.12}:host(.item-lines-full){--border-width:0px 0px 0.55px 0px}:host(.item-lines-inset){--inner-border-width:0px 0px 0.55px 0px}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0px}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0px}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:2px;margin-bottom:2px}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}::slotted(.button-small){--padding-top:1px;--padding-bottom:1px;--padding-start:.5em;--padding-end:.5em;min-height:24px;font-size:0.8125rem}::slotted(ion-avatar){width:36px;height:36px}::slotted(ion-thumbnail){--size:56px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px}:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){-webkit-margin-start:0px;margin-inline-start:0px}::slotted(ion-label){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:68px}`;
@@ -1,19 +1,19 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, e as config, h, d as Host, g as getElement } from './index-CKYcsw8f.js';
4
+ import { r as registerInstance, c as createEvent, e as config, h, d as Host, g as getElement } from './index-h81G-QbJ.js';
5
5
  import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-DWCzVL3Y.js';
6
- import { r as raf } from './helpers-BIgoInJU.js';
6
+ import { r as raf } from './helpers-DLLANtRS.js';
7
7
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
8
- import { c as createDelegateController, d as createTriggerController, B as BACKDROP, h as prepareOverlay, k as setOverlayId, j as cleanupRootFocusTrapAccessibility, e as present, f as dismiss, g as eventMethod } from './overlays-BpnIFlXI.js';
9
- import { s as sanitizeDOMString } from './index-elneMH8y.js';
8
+ import { c as createDelegateController, d as createTriggerController, B as BACKDROP, h as prepareOverlay, r as restoreRootFocusTrapAccessibility, k as setOverlayId, j as cleanupRootFocusTrapAccessibility, e as present, f as dismiss, g as eventMethod } from './overlays-Dz2cGX5q.js';
9
+ import { s as sanitizeDOMString } from './index-JgU5uTSY.js';
10
10
  import { g as getClassMap } from './theme-byZM6qHV.js';
11
- import { b as getIonMode } from './ionic-global-lrowsHfi.js';
12
- import { c as createAnimation } from './animation-TxGPYeDn.js';
11
+ import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
12
+ import { c as createAnimation } from './animation-B6KGUJwl.js';
13
13
  import './dir-Dojwmvde.js';
14
14
  import './index-ZjP4CjeZ.js';
15
- import './hardware-back-button-D8W4L0JP.js';
16
- import './framework-delegate-DaLWnISz.js';
15
+ import './hardware-back-button-rhkwRNk2.js';
16
+ import './framework-delegate-60cEIAgt.js';
17
17
  import './gesture-controller-B_gJaBk0.js';
18
18
 
19
19
  /**
@@ -181,6 +181,10 @@ const Loading = class {
181
181
  connectedCallback() {
182
182
  prepareOverlay(this.el);
183
183
  this.triggerChanged();
184
+ // Re-apply the root lock if moved without dismiss() being called
185
+ if (this.presented) {
186
+ restoreRootFocusTrapAccessibility(this.el);
187
+ }
184
188
  }
185
189
  componentWillLoad() {
186
190
  if (this.spinner === undefined) {
@@ -281,14 +285,14 @@ const Loading = class {
281
285
  * Otherwise, don't set aria-labelledby.
282
286
  */
283
287
  const ariaLabelledBy = message !== undefined ? msgId : null;
284
- return (h(Host, { key: '2d14122ff3081de73631a7fdd4affdd5c73b8618', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1", ...htmlAttributes, style: {
288
+ return (h(Host, { key: 'b4430bc66aedeca19d5645667cba73c169c4bd76', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1", ...htmlAttributes, style: {
285
289
  zIndex: `${40000 + this.overlayIndex}`,
286
290
  }, onIonBackdropTap: this.onBackdropTap, class: {
287
291
  ...getClassMap(this.cssClass),
288
292
  [mode]: true,
289
293
  'overlay-hidden': true,
290
294
  'loading-translucent': this.translucent,
291
- } }, h("ion-backdrop", { key: 'b7d5bb0d670a20c159d7f67327bf3b1489449188', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '085ce92bd2004d323ab47eb472b83826e48dc619', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '4ecd5bfc0bbd3da434d32f0f319f867a44c5e1f1', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: '5a4498e1421e09d01c0ee4312eae5272e95c3127', class: "loading-spinner" }, h("ion-spinner", { key: '1b3bc7d45d775195657ead3535f65e6b79f37e84', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'bc7c5467b9f1c6ab957f79934e97acc713bdec37', tabindex: "0", "aria-hidden": "true" })));
295
+ } }, h("ion-backdrop", { key: 'dec0df942ae778c99ebd4dbf08d6c2a0a992639d', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '71b2d5fc259666225047fc901648ada1efcd5d4b', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '1d83dc3b57ee70c9e8c0f006c6fa576bd96ecded', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'd1cd127e044b8831e396b53122322c1db7e89904', class: "loading-spinner" }, h("ion-spinner", { key: '38c2580cf5659da612872f01801a5fbdc2c023ba', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '90e5e32ffe0df2c691f364149f43374e676bfaa3', tabindex: "0", "aria-hidden": "true" })));
292
296
  }
293
297
  get el() { return getElement(this); }
294
298
  static get watchers() { return {
@@ -1,20 +1,20 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, e as config, j as printIonError, h, d as Host, g as getElement } from './index-CKYcsw8f.js';
4
+ import { r as registerInstance, c as createEvent, e as config, j as printIonError, h, d as Host, g as getElement } from './index-h81G-QbJ.js';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
6
- import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-BpnIFlXI.js';
6
+ import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-Dz2cGX5q.js';
7
7
  import { G as GESTURE_CONTROLLER } from './gesture-controller-B_gJaBk0.js';
8
- import { shouldUseCloseWatcher } from './hardware-back-button-D8W4L0JP.js';
9
- import { o as isEndSide, i as inheritAriaAttributes, l as assert, e as clamp } from './helpers-BIgoInJU.js';
10
- import { m as menuController } from './index-C5ZdL0qp.js';
11
- import { b as getIonMode, a as isPlatform } from './ionic-global-lrowsHfi.js';
8
+ import { shouldUseCloseWatcher } from './hardware-back-button-rhkwRNk2.js';
9
+ import { o as isEndSide, i as inheritAriaAttributes, l as assert, e as clamp } from './helpers-DLLANtRS.js';
10
+ import { m as menuController } from './index-D_7MeuVD.js';
11
+ import { b as getIonMode, a as isPlatform } from './ionic-global-B7I1sdvg.js';
12
12
  import { h as hostContext, c as createColorClasses } from './theme-byZM6qHV.js';
13
13
  import { u as menuOutline, v as menuSharp } from './index-BvabGprD.js';
14
14
  import './index-ZjP4CjeZ.js';
15
- import './framework-delegate-DaLWnISz.js';
15
+ import './framework-delegate-60cEIAgt.js';
16
16
  import './dir-Dojwmvde.js';
17
- import './animation-TxGPYeDn.js';
17
+ import './animation-B6KGUJwl.js';
18
18
 
19
19
  const menuIosCss = () => `:host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}`;
20
20
 
@@ -1,23 +1,23 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, f as printIonWarning, w as writeTask, e as config, h, d as Host, g as getElement } from './index-CKYcsw8f.js';
5
- import { i as isIonContent, f as findRefresherInContent, a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY, b as findIonContent, p as printIonContentErrorMsg } from './index-BmOR8tCv.js';
6
- import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-DaLWnISz.js';
7
- import { g as getElementRoot, e as clamp, r as raf, b as inheritAttributes, h as hasLazyBuild } from './helpers-BIgoInJU.js';
4
+ import { r as registerInstance, c as createEvent, f as printIonWarning, w as writeTask, e as config, h, d as Host, g as getElement } from './index-h81G-QbJ.js';
5
+ import { i as isIonContent, f as findRefresherInContent, a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY, b as findIonContent, p as printIonContentErrorMsg } from './index-DOrtAUWV.js';
6
+ import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-60cEIAgt.js';
7
+ import { g as getElementRoot, e as clamp, r as raf, b as inheritAttributes, h as hasLazyBuild } from './helpers-DLLANtRS.js';
8
8
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
9
9
  import { g as getCapacitor } from './capacitor-CFERIeaU.js';
10
- import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, d as createTriggerController, B as BACKDROP, h as prepareOverlay, j as cleanupRootFocusTrapAccessibility, k as setOverlayId, e as present, f as dismiss, g as eventMethod } from './overlays-BpnIFlXI.js';
10
+ import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, d as createTriggerController, B as BACKDROP, h as prepareOverlay, r as restoreRootFocusTrapAccessibility, j as cleanupRootFocusTrapAccessibility, k as setOverlayId, e as present, f as dismiss, g as eventMethod } from './overlays-Dz2cGX5q.js';
11
11
  import { g as getClassMap } from './theme-byZM6qHV.js';
12
- import { e as deepReady, w as waitForMount } from './index-C8Dsa6li.js';
13
- import { b as getIonMode } from './ionic-global-lrowsHfi.js';
12
+ import { e as deepReady, w as waitForMount } from './index-BZHVn0iF.js';
13
+ import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
14
14
  import { KEYBOARD_DID_OPEN } from './keyboard-Cj8mLJeq.js';
15
- import { c as createAnimation } from './animation-TxGPYeDn.js';
15
+ import { c as createAnimation } from './animation-B6KGUJwl.js';
16
16
  import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
17
17
  import { createGesture } from './index-BmLuEdV7.js';
18
18
  import { w as win } from './index-ZjP4CjeZ.js';
19
19
  import './dir-Dojwmvde.js';
20
- import './hardware-back-button-D8W4L0JP.js';
20
+ import './hardware-back-button-rhkwRNk2.js';
21
21
  import './gesture-controller-B_gJaBk0.js';
22
22
  import './keyboard-DAF8GNJ9.js';
23
23
 
@@ -1874,9 +1874,9 @@ const clearSafeAreaOverrides = (hostEl) => {
1874
1874
  hostEl.style.removeProperty('--ion-safe-area-right');
1875
1875
  };
1876
1876
 
1877
- const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1877
+ const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:100%;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1878
1878
 
1879
- const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1879
+ const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:100%;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1880
1880
 
1881
1881
  const Modal = class {
1882
1882
  constructor(hostRef) {
@@ -1902,6 +1902,9 @@ const Modal = class {
1902
1902
  this.inline = false;
1903
1903
  // Whether or not modal is being dismissed via gesture
1904
1904
  this.gestureAnimationDismissing = false;
1905
+ // True from the first safe-area write in `present()` until the enter
1906
+ // animation settles. A position-based read in that window is not the rest position.
1907
+ this.isPresenting = false;
1905
1908
  this.presented = false;
1906
1909
  /** @internal */
1907
1910
  this.hasController = false;
@@ -2138,6 +2141,17 @@ const Modal = class {
2138
2141
  const { el } = this;
2139
2142
  prepareOverlay(el);
2140
2143
  this.triggerChanged();
2144
+ // A disconnect tears down state this presentation still needs and cannot
2145
+ // tell a re-insert from a removal, so put it back.
2146
+ if (this.presented || this.isPresenting) {
2147
+ this.restoreSafeAreaOverrides();
2148
+ }
2149
+ // A relocation from `willPresent` reaches these before `present()` has
2150
+ // applied the lock, so they apply it instead. Both are idempotent.
2151
+ if (this.presented) {
2152
+ restoreRootFocusTrapAccessibility(el);
2153
+ this.initParentRemovalObserver();
2154
+ }
2141
2155
  }
2142
2156
  disconnectedCallback() {
2143
2157
  this.triggerController.removeClickListener();
@@ -2315,25 +2329,33 @@ const Modal = class {
2315
2329
  // Recalculate isSheetModal before safe-area setup because framework
2316
2330
  // bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
2317
2331
  this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
2318
- // Set initial safe-area overrides before animation
2319
- this.setInitialSafeAreaOverrides();
2332
+ this.isPresenting = true;
2320
2333
  const hasCardModal = presentingElement !== undefined;
2321
- /**
2322
- * We need to change the status bar at the
2323
- * start of the animation so that it completes
2324
- * by the time the card animation is done.
2325
- */
2326
- if (hasCardModal && getIonMode(this) === 'ios') {
2327
- // Cache the original status bar color before the modal is presented
2328
- this.statusBarStyle = await StatusBar.getStyle();
2329
- setCardStatusBarDark();
2334
+ // Wrapped so a throw cannot strand `isPresenting`, which would suppress
2335
+ // the position-based correction for the life of this instance.
2336
+ try {
2337
+ // Set initial safe-area overrides before animation
2338
+ this.setInitialSafeAreaOverrides();
2339
+ /**
2340
+ * We need to change the status bar at the
2341
+ * start of the animation so that it completes
2342
+ * by the time the card animation is done.
2343
+ */
2344
+ if (hasCardModal && getIonMode(this) === 'ios') {
2345
+ // Cache the original status bar color before the modal is presented
2346
+ this.statusBarStyle = await StatusBar.getStyle();
2347
+ setCardStatusBarDark();
2348
+ }
2349
+ await present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
2350
+ presentingEl: presentingElement,
2351
+ currentBreakpoint: this.initialBreakpoint,
2352
+ backdropBreakpoint: this.backdropBreakpoint,
2353
+ expandToScroll: this.expandToScroll,
2354
+ });
2355
+ }
2356
+ finally {
2357
+ this.isPresenting = false;
2330
2358
  }
2331
- await present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
2332
- presentingEl: presentingElement,
2333
- currentBreakpoint: this.initialBreakpoint,
2334
- backdropBreakpoint: this.backdropBreakpoint,
2335
- expandToScroll: this.expandToScroll,
2336
- });
2337
2359
  // Update safe-area based on actual position after animation
2338
2360
  this.updateSafeAreaOverrides();
2339
2361
  // Apply fullscreen safe-area padding if needed
@@ -2835,6 +2857,9 @@ const Modal = class {
2835
2857
  this.cachedOriginalParent.tagName === 'ION-APP') {
2836
2858
  return;
2837
2859
  }
2860
+ // Both `present()` and a reconnect call this, so drop any existing
2861
+ // observer. Below the guards, so a call that bails cannot leave none.
2862
+ this.cleanupParentRemovalObserver();
2838
2863
  this.parentRemovalObserver = new MutationObserver((mutations) => {
2839
2864
  mutations.forEach((mutation) => {
2840
2865
  if (mutation.type === 'childList' && mutation.removedNodes.length > 0) {
@@ -2913,6 +2938,9 @@ const Modal = class {
2913
2938
  // Set the internal offset property with the resolved root safe-area-top value
2914
2939
  if (context.isSheetModal) {
2915
2940
  this.updateSheetOffsetTop();
2941
+ // A restore after a DOM move runs this a second time for the same
2942
+ // modal, so drop the previous subscription rather than stacking one.
2943
+ this.unsubscribeRootSafeAreaTop?.();
2916
2944
  this.unsubscribeRootSafeAreaTop = onRootSafeAreaTopChange((safeAreaTop) => this.updateSheetOffsetTop(safeAreaTop));
2917
2945
  }
2918
2946
  }
@@ -3031,6 +3059,31 @@ const Modal = class {
3031
3059
  const { contentEl } = this.findContentAndFooter();
3032
3060
  this.clearContentSafeAreaPadding(contentEl);
3033
3061
  }
3062
+ /**
3063
+ * Re-applies what `cleanupSafeAreaOverrides()` removed for a modal moved
3064
+ * while presented. Anything needing no measurement goes on synchronously so
3065
+ * the modal is never painted without safe-area. The position-based
3066
+ * correction waits a frame for the layout pass it reads.
3067
+ */
3068
+ restoreSafeAreaOverrides() {
3069
+ this.setInitialSafeAreaOverrides();
3070
+ this.applyFullscreenSafeArea();
3071
+ raf(() => {
3072
+ // A dismiss or another move can land first, and a read before the enter
3073
+ // animation settles is not the rest position. `present()` redoes it.
3074
+ if (!this.presented || !this.el.isConnected || this.isPresenting) {
3075
+ return;
3076
+ }
3077
+ // A hidden subtree carries `display: none`, so there is no box and the
3078
+ // read would write the safe-area for a modal touching no edge. The
3079
+ // prediction applied above holds until the modal is shown again.
3080
+ const { width, height } = this.el.getBoundingClientRect();
3081
+ if (width === 0 && height === 0) {
3082
+ return;
3083
+ }
3084
+ this.updateSafeAreaOverrides();
3085
+ });
3086
+ }
3034
3087
  render() {
3035
3088
  const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
3036
3089
  const showHandle = handle !== false && isSheetModal;
@@ -3038,7 +3091,7 @@ const Modal = class {
3038
3091
  const isCardModal = presentingElement !== undefined && mode === 'ios';
3039
3092
  const isHandleCycle = handleBehavior === 'cycle';
3040
3093
  const isSheetModalWithHandle = isSheetModal && showHandle;
3041
- return (h(Host, { key: 'a471c293319cb6ee5ffb7ffafec0b8413e4289de', "no-router": true,
3094
+ return (h(Host, { key: '7c9c736052c5a788cf31040b6b2386dd9ea7454b', "no-router": true,
3042
3095
  // Allow the modal to be navigable when the handle is focusable
3043
3096
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1, ...htmlAttributes, style: {
3044
3097
  zIndex: `${20000 + this.overlayIndex}`,
@@ -3051,7 +3104,7 @@ const Modal = class {
3051
3104
  'overlay-hidden': true,
3052
3105
  [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
3053
3106
  ...getClassMap(this.cssClass),
3054
- }, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, h("ion-backdrop", { key: 'f67934afd4ddad64623856fb641cb6db846df428', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'a23f5cb6cf60c8f717c1dd556bce375829c80a43', class: "modal-shadow" }), h("div", { key: '51eb6cd1070e4b7e49840a78dc7437238c867a01',
3107
+ }, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, h("ion-backdrop", { key: '01b5b5765fb3a32393c736065c824bf760728823', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '40fa7727a0923f7d7461dd027f1511a6a148d84a', class: "modal-shadow" }), h("div", { key: '9af934b607f60795bd5bff7bee6eacfc9b14fa35',
3055
3108
  /*
3056
3109
  role and aria-modal must be used on the
3057
3110
  same element. They must also be set inside the
@@ -3064,9 +3117,9 @@ const Modal = class {
3064
3117
  without the tabindex focus() would be a no-op and screen readers
3065
3118
  may not properly announce the dialog and its content when it opens.
3066
3119
  */
3067
- role: "dialog", ...inheritedAttributes, "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }, showHandle && (h("button", { key: 'f49a144642b5c227c0c2b00b33f4c7e37a2bf088', class: "modal-handle",
3120
+ role: "dialog", ...inheritedAttributes, "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }, showHandle && (h("button", { key: 'df84a6806413b13efc5b03c862edde83151579a7', class: "modal-handle",
3068
3121
  // Prevents the handle from receiving keyboard focus when it does not cycle
3069
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: 'e781c0d5881762c6b61aa432721a38b49580ff64', onSlotchange: this.onSlotChange }))));
3122
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '072d3929ec6f25481946b184d8ac24219011e783', onSlotchange: this.onSlotChange }))));
3070
3123
  }
3071
3124
  get el() { return getElement(this); }
3072
3125
  static get watchers() { return {
@@ -1,12 +1,12 @@
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, h, g as getElement, d as Host } from './index-CKYcsw8f.js';
4
+ import { r as registerInstance, c as createEvent, e as config, f as printIonWarning, h, g as getElement, d as Host } from './index-h81G-QbJ.js';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
6
- import { l as assert } from './helpers-BIgoInJU.js';
7
- import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-C8Dsa6li.js';
8
- import { b as getIonMode } from './ionic-global-lrowsHfi.js';
9
- import { a as attachComponent } from './framework-delegate-DaLWnISz.js';
6
+ import { l as assert } from './helpers-DLLANtRS.js';
7
+ import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-BZHVn0iF.js';
8
+ import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
9
+ import { a as attachComponent } from './framework-delegate-60cEIAgt.js';
10
10
  import './dir-Dojwmvde.js';
11
11
 
12
12
  const VIEW_STATE_NEW = 1;
@@ -115,7 +115,7 @@ const Nav = class {
115
115
  // We want to set this flag before any watch callbacks are manually called
116
116
  this.didLoad = true;
117
117
  this.rootChanged();
118
- this.gesture = (await import('./swipe-back-rmc7zeNW.js')).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
118
+ this.gesture = (await import('./swipe-back-CqOqrHW7.js')).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
119
119
  this.swipeGestureChanged();
120
120
  }
121
121
  connectedCallback() {
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, d as Host, g as getElement } from './index-CKYcsw8f.js';
5
- import { b as inheritAttributes } from './helpers-BIgoInJU.js';
4
+ import { r as registerInstance, h, d as Host, g as getElement } from './index-h81G-QbJ.js';
5
+ import { b as inheritAttributes } from './helpers-DLLANtRS.js';
6
6
  import { c as createColorClasses } from './theme-byZM6qHV.js';
7
- import { b as getIonMode } from './ionic-global-lrowsHfi.js';
7
+ import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
8
8
  import './dir-Dojwmvde.js';
9
9
 
10
10
  const pickerColumnOptionIosCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}`;