@ionic/core 9.0.1-nightly.20260825 → 9.0.1

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 (429) 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-CpYeYl3u.js → p-1sJ0ZDPe.js} +1 -1
  99. package/components/{p-RRH-7cpd.js → p-5ldEpNdG.js} +1 -1
  100. package/{dist/ionic/p-CoEa7CiN.js → components/p-6ZLn6K5e.js} +1 -1
  101. package/components/{p-BqE7e5gH.js → p-B4lxwJ8N.js} +1 -1
  102. package/components/{p-BAJ7NctL.js → p-BF48Oc0v.js} +1 -1
  103. package/components/{p-C8mPeq0D.js → p-BJr2B5hZ.js} +1 -1
  104. package/components/p-BNBnVi_1.js +4 -0
  105. package/components/p-BNIsryb2.js +4 -0
  106. package/components/{p-CJTKYpZv.js → p-BQyuFxYc.js} +1 -1
  107. package/components/{p-QgdyH-Zs.js → p-BT9-hMMz.js} +1 -1
  108. package/components/{p-BE9noJ1O.js → p-BWoa-cki.js} +1 -1
  109. package/components/{p-C12SAK00.js → p-BYJRZKHa.js} +1 -1
  110. package/{dist/ionic/p-DoUx_N0R.js → components/p-BgkOsq-d.js} +1 -1
  111. package/components/{p-BhlP16sB.js → p-Bi-it1EH.js} +1 -1
  112. package/components/p-C-NbvXu4.js +4 -0
  113. package/components/{p-Dcxr2vKX.js → p-C0493tbX.js} +1 -1
  114. package/components/{p-mXsQnyWB.js → p-C09TXohi.js} +1 -1
  115. package/{dist/ionic/p-C10K-FJg.js → components/p-C4VpVfrJ.js} +1 -1
  116. package/components/p-CG_zZq_I.js +4 -0
  117. package/components/{p-7qDu1bID.js → p-CJgnoKcN.js} +1 -1
  118. package/components/{p-CEkamjav.js → p-CMRYD_yR.js} +1 -1
  119. package/components/{p-CyKlfXdt.js → p-CNLioZ3B.js} +1 -1
  120. package/components/{p-CBhGZ6rF.js → p-COO0eJOA.js} +1 -1
  121. package/components/p-CWAks_S_.js +4 -0
  122. package/components/p-CWuIRJQN.js +4 -0
  123. package/components/{p-Bcm-GVQM.js → p-Cd1WaN-0.js} +1 -1
  124. package/components/{p-DMkSsriG.js → p-CqbGBmqb.js} +1 -1
  125. package/components/p-CrAKlX71.js +4 -0
  126. package/components/{p-CdSLe3Q3.js → p-Cw6WocLJ.js} +1 -1
  127. package/components/{p-CDKY4TZ_.js → p-D5w_FlVa.js} +1 -1
  128. package/{dist/ionic/p-wdSUbx5C.js → components/p-D7wDJdFn.js} +1 -1
  129. package/components/p-DFLJvuRK.js +4 -0
  130. package/components/p-DGPjJNOU.js +4 -0
  131. package/components/p-DJR0R0e1.js +4 -0
  132. package/components/{p-l-zxxFre.js → p-DL13ieTa.js} +1 -1
  133. package/components/{p-BWHBdLfY.js → p-DM1gJSMP.js} +1 -1
  134. package/components/{p-CLZPNP7x.js → p-DMBiAyOR.js} +1 -1
  135. package/components/{p-VTfnz_8u.js → p-DZRZic9C.js} +1 -1
  136. package/components/{p-CQxPXWNM.js → p-DhNuxvJH.js} +1 -1
  137. package/components/p-DiuOa1vw.js +4 -0
  138. package/components/{p-DkEb3SCT.js → p-Dj40C8gm.js} +1 -1
  139. package/components/p-DnBNYc7u.js +4 -0
  140. package/components/{p-D6dNJoqU.js → p-DngGb-NV.js} +1 -1
  141. package/components/{p-BFwL2yyK.js → p-DxhHlJln.js} +1 -1
  142. package/components/{p-COxY7PLK.js → p-GGbIHyEF.js} +1 -1
  143. package/components/{p-B2L09UOs.js → p-Hp8t4RMX.js} +1 -1
  144. package/components/{p-D6PwfJ9F.js → p-M34T2gyX.js} +1 -1
  145. package/components/{p-5rFO7X8J.js → p-TWw4e4sO.js} +1 -1
  146. package/components/p-YjMkHuvH.js +4 -0
  147. package/components/{p-CB06XtlF.js → p-cEN43Ahr.js} +1 -1
  148. package/{dist/ionic/p-BpG7jkT9.js → components/p-qAXsfUff.js} +1 -1
  149. package/dist/cjs/{animation-ihPP_z2n.js → animation-Kd1N7WTN.js} +1 -1
  150. package/dist/cjs/{app-globals-BlkzA410.js → app-globals-b1G4t26O.js} +1 -1
  151. package/dist/cjs/{button-active-ItGBjzmO.js → button-active-CQCFubJJ.js} +1 -1
  152. package/dist/cjs/{format-CPIqtp4x.js → format-bHU8N1g5.js} +1 -1
  153. package/dist/cjs/{framework-delegate-DhyWUPGg.js → framework-delegate-d-fWfeI6.js} +1 -1
  154. package/dist/cjs/{hardware-back-button-D5f_kASb.js → hardware-back-button-Bu4Dzw8l.js} +1 -1
  155. package/dist/cjs/{helpers-BCLkFTTd.js → helpers-7wzdhdeg.js} +1 -1
  156. package/dist/cjs/{index-BocV_y-c.js → index-BbqUBe2T.js} +1 -1
  157. package/dist/cjs/{index-xum7jdbq.js → index-C74Q3t6a.js} +2 -2
  158. package/dist/cjs/{index-CldjPPyP.js → index-CQfEIyLK.js} +4 -4
  159. package/dist/cjs/{index-BcyiqD6R.js → index-DFNrCX7M.js} +5 -5
  160. package/dist/cjs/{index-Bgz6BcKx.js → index-DXoo08JC.js} +9 -2
  161. package/dist/cjs/{index-49DTLc_Z.js → index-DtvKGwdh.js} +2 -2
  162. package/dist/cjs/index.cjs.js +12 -12
  163. package/dist/cjs/{input-shims-Jisy7U7-.js → input-shims-VJIiKBKv.js} +3 -3
  164. package/dist/cjs/{input.utils-BDTpGrfn.js → input.utils-EHVE2RK_.js} +1 -1
  165. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  166. package/dist/cjs/ion-action-sheet.cjs.entry.js +45 -29
  167. package/dist/cjs/ion-alert.cjs.entry.js +29 -21
  168. package/dist/cjs/ion-app_8.cjs.entry.js +12 -12
  169. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  170. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  171. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  172. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  173. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  174. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  175. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
  176. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  177. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  178. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  179. package/dist/cjs/ion-datetime.cjs.entry.js +7 -7
  180. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  181. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  182. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  183. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  184. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  185. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  186. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  187. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  188. package/dist/cjs/ion-loading.cjs.entry.js +14 -10
  189. package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
  190. package/dist/cjs/ion-modal.cjs.entry.js +83 -30
  191. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  192. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  193. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  194. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  195. package/dist/cjs/ion-popover.cjs.entry.js +23 -10
  196. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  197. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  198. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  199. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
  200. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  201. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  202. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  203. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  204. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  205. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  206. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  207. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -8
  208. package/dist/cjs/ion-select_3.cjs.entry.js +9 -9
  209. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  210. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  211. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +3 -3
  212. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  213. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  214. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  215. package/dist/cjs/ion-toast.cjs.entry.js +8 -8
  216. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  217. package/dist/cjs/{ionic-global-BMU-Us1Q.js → ionic-global-CYJNT-2P.js} +1 -1
  218. package/dist/cjs/ionic.cjs.js +4 -4
  219. package/dist/cjs/{ios.transition-OCcCN--B.js → ios.transition-DYGiD6gM.js} +4 -4
  220. package/dist/cjs/{item-multiple-inputs-BH9yPC66.js → item-multiple-inputs-Dv6qrMhm.js} +1 -1
  221. package/dist/cjs/loader.cjs.js +3 -3
  222. package/dist/cjs/{md.transition-D0o2IIbo.js → md.transition-CrSkaoz6.js} +4 -4
  223. package/dist/cjs/{overlays-hCtsdAvn.js → overlays-BR21NUIG.js} +59 -34
  224. package/dist/cjs/{select-option-render-BPjGDlsG.js → select-option-render-CrbLc-1j.js} +2 -2
  225. package/dist/cjs/{slot-mutation-controller-IQ250LoG.js → slot-mutation-controller-D6IjSEIh.js} +1 -1
  226. package/dist/cjs/{status-tap-Bakl9czs.js → status-tap-CNP5eD1R.js} +3 -3
  227. package/dist/cjs/{swipe-back-Cv4OZVJ5.js → swipe-back-BYb_nLJe.js} +2 -2
  228. package/dist/collection/collection-manifest.json +1 -1
  229. package/dist/collection/components/action-sheet/action-sheet.js +36 -20
  230. package/dist/collection/components/alert/alert.js +20 -12
  231. package/dist/collection/components/loading/loading.js +7 -3
  232. package/dist/collection/components/modal/modal.js +75 -22
  233. package/dist/collection/components/popover/popover.js +16 -3
  234. package/dist/collection/utils/overlays.js +53 -29
  235. package/dist/collection/utils/test/playwright/detach-reattach.js +23 -0
  236. package/dist/collection/utils/test/playwright/index.js +1 -0
  237. package/dist/docs.json +2 -2
  238. package/dist/esm/{animation-B6KGUJwl.js → animation-BFNVlYum.js} +1 -1
  239. package/dist/esm/{app-globals-BvutUX8P.js → app-globals-BgX0BGL1.js} +1 -1
  240. package/dist/esm/{button-active-DRNebs9r.js → button-active-BfOvDr3b.js} +1 -1
  241. package/dist/esm/{format-BF3btM7P.js → format-DDFE9jM5.js} +1 -1
  242. package/dist/esm/{framework-delegate-60cEIAgt.js → framework-delegate-BwNhx9NR.js} +1 -1
  243. package/dist/esm/{hardware-back-button-rhkwRNk2.js → hardware-back-button-DmkiRgOT.js} +1 -1
  244. package/dist/esm/{helpers-DLLANtRS.js → helpers-BSmc0nst.js} +1 -1
  245. package/dist/esm/{index-D_7MeuVD.js → index-BuPaALjU.js} +5 -5
  246. package/dist/esm/{index-DOrtAUWV.js → index-C1b9CLFg.js} +2 -2
  247. package/dist/esm/{index-h81G-QbJ.js → index-C23AVPx9.js} +9 -2
  248. package/dist/esm/{index-Bl4BUvBL.js → index-CJln0gS3.js} +2 -2
  249. package/dist/esm/{index-JgU5uTSY.js → index-CqoUoxgG.js} +1 -1
  250. package/dist/esm/{index-BZHVn0iF.js → index-DnA_7Bnx.js} +4 -4
  251. package/dist/esm/index.js +12 -12
  252. package/dist/esm/{input-shims-C2ipc_XX.js → input-shims-Dqk-Ou25.js} +3 -3
  253. package/dist/esm/{input.utils-D-qoPjqr.js → input.utils-rqoH22pW.js} +1 -1
  254. package/dist/esm/ion-accordion_2.entry.js +3 -3
  255. package/dist/esm/ion-action-sheet.entry.js +45 -29
  256. package/dist/esm/ion-alert.entry.js +29 -21
  257. package/dist/esm/ion-app_8.entry.js +12 -12
  258. package/dist/esm/ion-avatar_3.entry.js +2 -2
  259. package/dist/esm/ion-back-button.entry.js +3 -3
  260. package/dist/esm/ion-backdrop.entry.js +2 -2
  261. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  262. package/dist/esm/ion-button_2.entry.js +3 -3
  263. package/dist/esm/ion-card_5.entry.js +3 -3
  264. package/dist/esm/ion-checkbox.entry.js +4 -4
  265. package/dist/esm/ion-chip.entry.js +2 -2
  266. package/dist/esm/ion-col_3.entry.js +2 -2
  267. package/dist/esm/ion-datetime-button.entry.js +4 -4
  268. package/dist/esm/ion-datetime.entry.js +7 -7
  269. package/dist/esm/ion-fab_3.entry.js +3 -3
  270. package/dist/esm/ion-img.entry.js +3 -3
  271. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  272. package/dist/esm/ion-input-otp.entry.js +3 -3
  273. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  274. package/dist/esm/ion-input.entry.js +5 -5
  275. package/dist/esm/ion-item-option_3.entry.js +4 -4
  276. package/dist/esm/ion-item_8.entry.js +3 -3
  277. package/dist/esm/ion-loading.entry.js +14 -10
  278. package/dist/esm/ion-menu_3.entry.js +8 -8
  279. package/dist/esm/ion-modal.entry.js +83 -30
  280. package/dist/esm/ion-nav_2.entry.js +6 -6
  281. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  282. package/dist/esm/ion-picker-column.entry.js +3 -3
  283. package/dist/esm/ion-picker.entry.js +2 -2
  284. package/dist/esm/ion-popover.entry.js +23 -10
  285. package/dist/esm/ion-progress-bar.entry.js +3 -3
  286. package/dist/esm/ion-radio_2.entry.js +4 -4
  287. package/dist/esm/ion-range.entry.js +4 -4
  288. package/dist/esm/ion-refresher_2.entry.js +6 -6
  289. package/dist/esm/ion-reorder_2.entry.js +4 -4
  290. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  291. package/dist/esm/ion-route_4.entry.js +4 -4
  292. package/dist/esm/ion-searchbar.entry.js +3 -3
  293. package/dist/esm/ion-segment-content.entry.js +1 -1
  294. package/dist/esm/ion-segment-view.entry.js +1 -1
  295. package/dist/esm/ion-segment_2.entry.js +3 -3
  296. package/dist/esm/ion-select-modal.entry.js +8 -8
  297. package/dist/esm/ion-select_3.entry.js +9 -9
  298. package/dist/esm/ion-spinner.entry.js +2 -2
  299. package/dist/esm/ion-split-pane.entry.js +2 -2
  300. package/dist/esm/ion-tab-bar_2.entry.js +3 -3
  301. package/dist/esm/ion-tab_2.entry.js +3 -3
  302. package/dist/esm/ion-text.entry.js +2 -2
  303. package/dist/esm/ion-textarea.entry.js +5 -5
  304. package/dist/esm/ion-toast.entry.js +8 -8
  305. package/dist/esm/ion-toggle.entry.js +4 -4
  306. package/dist/esm/{ionic-global-B7I1sdvg.js → ionic-global-ZXjCXKH0.js} +1 -1
  307. package/dist/esm/ionic.js +5 -5
  308. package/dist/esm/{ios.transition-C-6IaIxe.js → ios.transition-CWAgfQ1r.js} +4 -4
  309. package/dist/esm/{item-multiple-inputs-DI91syHS.js → item-multiple-inputs-DZnIiOO_.js} +1 -1
  310. package/dist/esm/loader.js +4 -4
  311. package/dist/esm/{md.transition-dyqt0t0d.js → md.transition-ZuqDDdDW.js} +4 -4
  312. package/dist/esm/{overlays-CiFoZEq1.js → overlays-DKE0DgvE.js} +59 -35
  313. package/dist/esm/{select-option-render-CUJpruSC.js → select-option-render-1W6W9pbC.js} +2 -2
  314. package/dist/esm/{slot-mutation-controller-wFuztlVD.js → slot-mutation-controller-B5NpUZ-N.js} +1 -1
  315. package/dist/esm/{status-tap-Dn_42wiy.js → status-tap-Cv9gb3ja.js} +3 -3
  316. package/dist/esm/{swipe-back-CqOqrHW7.js → swipe-back-B2CmabKY.js} +2 -2
  317. package/dist/ionic/index.esm.js +1 -1
  318. package/dist/ionic/ionic.esm.js +1 -1
  319. package/dist/ionic/{p-e5a54d99.entry.js → p-06c6b540.entry.js} +1 -1
  320. package/dist/ionic/{p-dadcb3d2.entry.js → p-099b7f9f.entry.js} +1 -1
  321. package/dist/ionic/{p-e090eca3.entry.js → p-171a2278.entry.js} +1 -1
  322. package/dist/ionic/{p-2aabd568.entry.js → p-191a651e.entry.js} +1 -1
  323. package/dist/ionic/{p-1f66c230.entry.js → p-1f24cb24.entry.js} +1 -1
  324. package/dist/ionic/{p-83aa7d47.entry.js → p-271c3640.entry.js} +1 -1
  325. package/dist/ionic/{p-5dc53bdf.entry.js → p-2c52fe3e.entry.js} +1 -1
  326. package/dist/ionic/{p-da5a7bcd.entry.js → p-2ea4bb36.entry.js} +1 -1
  327. package/dist/ionic/{p-fe80ebb1.entry.js → p-338a02e0.entry.js} +1 -1
  328. package/dist/ionic/{p-326e0d05.entry.js → p-354d38d3.entry.js} +1 -1
  329. package/dist/ionic/{p-0b52d921.entry.js → p-38b9375b.entry.js} +1 -1
  330. package/dist/ionic/{p-a2fccdaa.entry.js → p-3bba83ee.entry.js} +1 -1
  331. package/dist/ionic/{p-cc749877.entry.js → p-4712a8a9.entry.js} +1 -1
  332. package/dist/ionic/{p-ca57763d.entry.js → p-4c3e50f8.entry.js} +1 -1
  333. package/dist/ionic/p-4e2fef42.entry.js +4 -0
  334. package/dist/ionic/{p-2ff12c8a.entry.js → p-54cbb0a7.entry.js} +1 -1
  335. package/dist/ionic/{p-5ed60413.entry.js → p-561af487.entry.js} +1 -1
  336. package/dist/ionic/{p-ecfc9c71.entry.js → p-5906ea6f.entry.js} +1 -1
  337. package/dist/ionic/{p-9f2d3987.entry.js → p-5cc09b40.entry.js} +1 -1
  338. package/dist/ionic/{p-9eba0d8a.entry.js → p-5d9094ac.entry.js} +1 -1
  339. package/dist/ionic/{p-986a1db8.entry.js → p-612ea3b1.entry.js} +1 -1
  340. package/dist/ionic/p-66f150ec.entry.js +4 -0
  341. package/dist/ionic/{p-d1539609.entry.js → p-68cc89a6.entry.js} +1 -1
  342. package/dist/ionic/{p-f607ad4f.entry.js → p-6e386853.entry.js} +1 -1
  343. package/dist/ionic/p-77c96e08.entry.js +4 -0
  344. package/dist/ionic/{p-9e688396.entry.js → p-7bfeccb3.entry.js} +1 -1
  345. package/dist/ionic/{p-6d84fa9f.entry.js → p-7e394cc3.entry.js} +1 -1
  346. package/dist/ionic/{p-fb4dabbb.entry.js → p-7fbb3319.entry.js} +1 -1
  347. package/dist/ionic/{p-7c859f42.entry.js → p-85599fe3.entry.js} +1 -1
  348. package/dist/ionic/{p-53ba5651.entry.js → p-8b80d9f9.entry.js} +1 -1
  349. package/dist/ionic/{p-1a20571c.entry.js → p-90f50a65.entry.js} +1 -1
  350. package/dist/ionic/{p-392079fa.entry.js → p-9595e305.entry.js} +1 -1
  351. package/dist/ionic/{p-e93cc1e1.entry.js → p-9c5f2691.entry.js} +1 -1
  352. package/dist/ionic/p-BY6BzzPF.js +4 -0
  353. package/dist/ionic/{p-BRc8gq5v.js → p-BaeKWZ-a.js} +1 -1
  354. package/dist/ionic/p-Bd72UYI2.js +4 -0
  355. package/dist/ionic/{p-C2BY_4Wp.js → p-BgOvhHy_.js} +1 -1
  356. package/dist/ionic/{p-KJ5pLPiN.js → p-BijjLYjT.js} +1 -1
  357. package/dist/ionic/{p-h81G-QbJ.js → p-C23AVPx9.js} +1 -1
  358. package/dist/ionic/p-C8XilMh0.js +4 -0
  359. package/dist/ionic/{p-Cc-fFNy8.js → p-CER8qW8Y.js} +1 -1
  360. package/dist/ionic/{p-06ZcwRF5.js → p-CFuOr1Tu.js} +1 -1
  361. package/dist/ionic/p-CJv-wOAd.js +4 -0
  362. package/dist/ionic/p-CMZYmFb4.js +4 -0
  363. package/dist/ionic/{p-BC17SPKH.js → p-CkxVYPtX.js} +1 -1
  364. package/dist/ionic/{p-DMj-M2c4.js → p-CmXuiRT6.js} +1 -1
  365. package/dist/ionic/p-D4OrdtJf.js +4 -0
  366. package/dist/ionic/p-D6rHcCvc.js +4 -0
  367. package/{components/p-DG-dUCKp.js → dist/ionic/p-DLM95R4x.js} +1 -1
  368. package/{components/p-DH0rRXjx.js → dist/ionic/p-DTxBioUO.js} +1 -1
  369. package/{components/p-BcuLPPAE.js → dist/ionic/p-DYUjHcuH.js} +1 -1
  370. package/dist/ionic/{p-DA88iqXQ.js → p-DZ6Hmc-8.js} +1 -1
  371. package/dist/ionic/p-D_gb-kdd.js +4 -0
  372. package/dist/ionic/{p-S1shXW5M.js → p-DajLgJ4d.js} +1 -1
  373. package/dist/ionic/{p-CTBfxfjC.js → p-Do3zTvCA.js} +1 -1
  374. package/dist/ionic/{p-5fce4bf4.entry.js → p-a1cc2861.entry.js} +1 -1
  375. package/dist/ionic/{p-4dcd329a.entry.js → p-a20a2ebe.entry.js} +1 -1
  376. package/dist/ionic/{p-d1b888de.entry.js → p-a8ff2489.entry.js} +1 -1
  377. package/dist/ionic/{p-b8cd338d.entry.js → p-b3532b8d.entry.js} +1 -1
  378. package/dist/ionic/{p-8d72244b.entry.js → p-b80c86c4.entry.js} +1 -1
  379. package/dist/ionic/{p-43bae3f5.entry.js → p-b9b4e85d.entry.js} +1 -1
  380. package/dist/ionic/p-c57fc396.entry.js +4 -0
  381. package/dist/ionic/{p-082b8125.entry.js → p-ca1b8865.entry.js} +1 -1
  382. package/dist/ionic/{p-eab77a74.entry.js → p-cc4320d3.entry.js} +1 -1
  383. package/dist/ionic/{p-f0645c98.entry.js → p-d6755739.entry.js} +1 -1
  384. package/dist/ionic/{p-ac71362a.entry.js → p-d8c138d9.entry.js} +1 -1
  385. package/dist/ionic/{p-026e2e4c.entry.js → p-dd01be0a.entry.js} +1 -1
  386. package/dist/ionic/p-e7f4b1e0.entry.js +4 -0
  387. package/dist/ionic/{p-eaeac54e.entry.js → p-ec00fd0d.entry.js} +1 -1
  388. package/dist/ionic/{p-546b1109.entry.js → p-ee09ac9d.entry.js} +1 -1
  389. package/dist/ionic/{p-8e388a30.entry.js → p-efc0cf82.entry.js} +1 -1
  390. package/dist/ionic/{p-47b8b59a.entry.js → p-f0fb23c1.entry.js} +1 -1
  391. package/dist/ionic/{p-9452849d.entry.js → p-f83b3e0c.entry.js} +1 -1
  392. package/dist/ionic/{p-CH8tk7Pr.js → p-fU3rOYad.js} +1 -1
  393. package/dist/ionic/{p-eeb65463.entry.js → p-fe9ed9bd.entry.js} +1 -1
  394. package/{components/p-ntAkt4Ra.js → dist/ionic/p-zWf7R2xV.js} +1 -1
  395. package/dist/types/components/action-sheet/action-sheet.d.ts +10 -0
  396. package/dist/types/components/alert/alert.d.ts +7 -0
  397. package/dist/types/components/modal/modal.d.ts +8 -0
  398. package/dist/types/utils/overlays.d.ts +9 -0
  399. package/dist/types/utils/test/playwright/detach-reattach.d.ts +13 -0
  400. package/dist/types/utils/test/playwright/index.d.ts +1 -0
  401. package/hydrate/index.js +204 -88
  402. package/hydrate/index.mjs +204 -88
  403. package/package.json +3 -3
  404. package/components/p-CFtAWaB6.js +0 -4
  405. package/components/p-CRcX0EGs.js +0 -4
  406. package/components/p-CXQzYyda.js +0 -4
  407. package/components/p-CXpy69Ei.js +0 -4
  408. package/components/p-CoGD-oMG.js +0 -4
  409. package/components/p-D8BOfNYz.js +0 -4
  410. package/components/p-Dr-rBSUW.js +0 -4
  411. package/components/p-FQTgh7aH.js +0 -4
  412. package/components/p-KusMkAnB.js +0 -4
  413. package/components/p-MHpJ2A_m.js +0 -4
  414. package/components/p-U1X_lw_6.js +0 -4
  415. package/components/p-UKksD3f9.js +0 -4
  416. package/components/p-fP0QF3iG.js +0 -4
  417. package/components/p-ufB0gCSU.js +0 -4
  418. package/dist/ionic/p-39415b06.entry.js +0 -4
  419. package/dist/ionic/p-3bad6750.entry.js +0 -4
  420. package/dist/ionic/p-70334101.entry.js +0 -4
  421. package/dist/ionic/p-8db6e422.entry.js +0 -4
  422. package/dist/ionic/p-BRa1Jjxr.js +0 -4
  423. package/dist/ionic/p-Cc4w3fVf.js +0 -4
  424. package/dist/ionic/p-CvRL-Eju.js +0 -4
  425. package/dist/ionic/p-DA52akcQ.js +0 -4
  426. package/dist/ionic/p-D_IgV7tz.js +0 -4
  427. package/dist/ionic/p-Q9w8L_Sw.js +0 -4
  428. package/dist/ionic/p-b62c04b2.entry.js +0 -4
  429. package/dist/ionic/p-w3KTiug9.js +0 -4
@@ -1,24 +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, h, d as Host, g as getElement, i as forceUpdate } from './index-h81G-QbJ.js';
4
+ import { r as registerInstance, c as createEvent, e as config, f as printIonWarning, h, d as Host, g as getElement, i as forceUpdate } from './index-C23AVPx9.js';
5
5
  import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-DWCzVL3Y.js';
6
- import { c as createSlotMutationController, a as createNotchController, b as createStartContainerController } from './slot-mutation-controller-wFuztlVD.js';
6
+ import { c as createSlotMutationController, a as createNotchController, b as createStartContainerController } from './slot-mutation-controller-B5NpUZ-N.js';
7
7
  import { c as compareOptions, i as isOptionSelected } from './compare-with-utils-sObYyvOy.js';
8
8
  import { c as checkInvalidState } from './validity-DJztqcrH.js';
9
- import { b as inheritAttributes, a as renderHiddenInput, n as focusVisibleElement } from './helpers-DLLANtRS.js';
10
- import { p as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-CiFoZEq1.js';
9
+ import { b as inheritAttributes, a as renderHiddenInput, n as focusVisibleElement } from './helpers-BSmc0nst.js';
10
+ import { p as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-DKE0DgvE.js';
11
11
  import { i as isRTL } from './dir-Dojwmvde.js';
12
- import { r as reflectPropertiesToAttributes, a as sanitizeDOMTree, b as blockedTags } from './index-JgU5uTSY.js';
12
+ import { r as reflectPropertiesToAttributes, a as sanitizeDOMTree, b as blockedTags } from './index-CqoUoxgG.js';
13
13
  import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-byZM6qHV.js';
14
14
  import { w as watchForOptions } from './watch-options-Dtdm8lKC.js';
15
15
  import { w as chevronExpand, f as caretDownSharp } from './index-BvabGprD.js';
16
- import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
16
+ import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
17
17
  import { a as getOverlayLabelPlacement, g as getOverlayLabelJustify } from './overlay-control-label-BSQPZ79H.js';
18
- import { r as renderOptionLabel } from './select-option-render-CUJpruSC.js';
18
+ import { r as renderOptionLabel } from './select-option-render-1W6W9pbC.js';
19
19
  import './index-ZjP4CjeZ.js';
20
- import './hardware-back-button-rhkwRNk2.js';
21
- import './framework-delegate-60cEIAgt.js';
20
+ import './hardware-back-button-DmkiRgOT.js';
21
+ import './framework-delegate-BwNhx9NR.js';
22
22
  import './gesture-controller-B_gJaBk0.js';
23
23
 
24
24
  const selectIosCss = () => `:host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--select-text-media-height:1.5em;--select-text-media-width:1.5em;--select-text-gap:12px;--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.has-focus) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-text>*+*{-webkit-margin-start:var(--select-text-gap);margin-inline-start:var(--select-text-gap)}.select-text img,.select-text ion-img,.select-text ion-icon,.select-text ion-thumbnail,.select-text ion-avatar{border-radius:var(--select-text-media-border-radius);width:var(--select-text-media-width);height:var(--select-text-media-height);border-width:var(--select-text-media-border-width);border-style:var(--select-text-media-border-style);border-color:var(--select-text-media-border-color)}.select-wrapper{-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);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-control{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:inherit;justify-content:inherit;min-width:0}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.select-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:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}:host(.has-focus.ion-valid),:host(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.select-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.select-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .select-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .select-bottom .helper-text{display:none}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:0;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}:host(.skip-label-transition) .label-text-wrapper{-webkit-transition:none;transition:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-negative:100000;flex-shrink:100000;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-control,:host(.select-label-placement-floating) .select-control{-ms-flex-direction:column;flex-direction:column;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:0}:host(.label-floating.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:var(--placeholder-opacity)}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.select-start,.select-end{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--highlight-height:0px}.select-icon{width:1.125rem;height:1.125rem;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.select-disabled){opacity:0.3}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}`;
@@ -1,9 +1,9 @@
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 } from './index-h81G-QbJ.js';
4
+ import { r as registerInstance, e as config, h, d as Host } from './index-C23AVPx9.js';
5
5
  import { c as createColorClasses } from './theme-byZM6qHV.js';
6
- import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
6
+ import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
7
7
  import { S as SPINNERS } from './spinner-configs-D4RIp70E.js';
8
8
 
9
9
  const spinnerCss = () => `:host{display:inline-block;position:relative;width:28px;height:28px;color:var(--color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.ion-color){color:var(--ion-color-base)}svg{-webkit-transform-origin:center;transform-origin:center;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}:host-context([dir=rtl]) svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){svg:dir(rtl){-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}}:host(.spinner-lines) line,:host(.spinner-lines-small) line{stroke-width:7px}:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-width:4px}:host(.spinner-lines) line,:host(.spinner-lines-small) line,:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-linecap:round;stroke:currentColor}:host(.spinner-lines) svg,:host(.spinner-lines-small) svg,:host(.spinner-lines-sharp) svg,:host(.spinner-lines-sharp-small) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}:host(.spinner-bubbles) svg{-webkit-animation:spinner-scale-out 1s linear infinite;animation:spinner-scale-out 1s linear infinite;fill:currentColor}:host(.spinner-circles) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite;fill:currentColor}:host(.spinner-crescent) circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px;stroke:currentColor}:host(.spinner-crescent) svg{-webkit-animation:spinner-rotate 1s linear infinite;animation:spinner-rotate 1s linear infinite}:host(.spinner-dots) circle{stroke-width:0;fill:currentColor}:host(.spinner-dots) svg{-webkit-animation:spinner-dots 1s linear infinite;animation:spinner-dots 1s linear infinite}:host(.spinner-circular) svg{-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}`;
@@ -1,8 +1,8 @@
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-h81G-QbJ.js';
5
- import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
4
+ import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement } from './index-C23AVPx9.js';
5
+ import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
6
6
 
7
7
  const splitPaneIosCss = () => `:host{--side-width:100%;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-ms-flex:1;flex:1;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;z-index:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host{--border:0.55px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--side-min-width:270px;--side-max-width:28%}`;
8
8
 
@@ -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, h, d as Host, g as getElement, e as config } from './index-h81G-QbJ.js';
4
+ import { r as registerInstance, c as createEvent, h, d as Host, g as getElement, e as config } from './index-C23AVPx9.js';
5
5
  import { c as createKeyboardController } from './keyboard-controller-DEwoa1ev.js';
6
6
  import { c as createColorClasses } from './theme-byZM6qHV.js';
7
- import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
8
- import { b as inheritAttributes } from './helpers-DLLANtRS.js';
7
+ import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
8
+ import { b as inheritAttributes } from './helpers-BSmc0nst.js';
9
9
  import './index-ZjP4CjeZ.js';
10
10
  import './keyboard-DAF8GNJ9.js';
11
11
  import './capacitor-CFERIeaU.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, j as printIonError, h, d as Host, g as getElement, c as createEvent } from './index-h81G-QbJ.js';
5
- import { a as attachComponent } from './framework-delegate-60cEIAgt.js';
6
- import './helpers-DLLANtRS.js';
4
+ import { r as registerInstance, j as printIonError, h, d as Host, g as getElement, c as createEvent } from './index-C23AVPx9.js';
5
+ import { a as attachComponent } from './framework-delegate-BwNhx9NR.js';
6
+ import './helpers-BSmc0nst.js';
7
7
  import './dir-Dojwmvde.js';
8
8
 
9
9
  const tabCss = () => `:host(.tab-hidden){display:none !important}`;
@@ -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 } from './index-h81G-QbJ.js';
4
+ import { r as registerInstance, h, d as Host } from './index-C23AVPx9.js';
5
5
  import { c as createColorClasses } from './theme-byZM6qHV.js';
6
- import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
6
+ import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
7
7
 
8
8
  const textCss = () => `:host(.ion-color){color:var(--ion-color-base)}`;
9
9
 
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, i as forceUpdate, w as writeTask, 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';
4
+ import { r as registerInstance, c as createEvent, i as forceUpdate, w as writeTask, h, d as Host, g as getElement } from './index-C23AVPx9.js';
5
+ import { c as createSlotMutationController, a as createNotchController, b as createStartContainerController } from './slot-mutation-controller-B5NpUZ-N.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-DLLANtRS.js';
7
+ import { d as debounceEvent, b as inheritAttributes, i as inheritAriaAttributes, c as componentOnReady } from './helpers-BSmc0nst.js';
8
8
  import { h as hostContext, c as createColorClasses } from './theme-byZM6qHV.js';
9
- import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
10
- import { g as getCounterText } from './input.utils-D-qoPjqr.js';
9
+ import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
10
+ import { g as getCounterText } from './input.utils-rqoH22pW.js';
11
11
  import './index-ZjP4CjeZ.js';
12
12
  import './dir-Dojwmvde.js';
13
13
 
@@ -1,20 +1,20 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { f as printIonWarning, r as registerInstance, c as createEvent, e as config, j as printIonError, h, d as Host, g as getElement } from './index-h81G-QbJ.js';
4
+ import { f as printIonWarning, r as registerInstance, c as createEvent, e as config, j as printIonError, h, d as Host, g as getElement } from './index-C23AVPx9.js';
5
5
  import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-DWCzVL3Y.js';
6
- import { g as getElementRoot, r as raf } from './helpers-DLLANtRS.js';
6
+ import { g as getElementRoot, r as raf } from './helpers-BSmc0nst.js';
7
7
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
8
- import { O as OVERLAY_GESTURE_PRIORITY, c as createDelegateController, d as createTriggerController, i as isCancel, h as prepareOverlay, k as setOverlayId, e as present, f as dismiss, g as eventMethod, s as safeCall, G as GESTURE } from './overlays-CiFoZEq1.js';
9
- import { s as sanitizeDOMString } from './index-JgU5uTSY.js';
8
+ import { O as OVERLAY_GESTURE_PRIORITY, c as createDelegateController, d as createTriggerController, i as isCancel, h as prepareOverlay, k as setOverlayId, e as present, f as dismiss, g as eventMethod, s as safeCall, G as GESTURE } from './overlays-DKE0DgvE.js';
9
+ import { s as sanitizeDOMString } from './index-CqoUoxgG.js';
10
10
  import { c as createColorClasses, g as getClassMap } from './theme-byZM6qHV.js';
11
- import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
12
- import { c as createAnimation } from './animation-B6KGUJwl.js';
11
+ import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
12
+ import { c as createAnimation } from './animation-BFNVlYum.js';
13
13
  import { w as win } from './index-ZjP4CjeZ.js';
14
14
  import { createGesture } from './index-BmLuEdV7.js';
15
15
  import './dir-Dojwmvde.js';
16
- import './hardware-back-button-rhkwRNk2.js';
17
- import './framework-delegate-60cEIAgt.js';
16
+ import './hardware-back-button-DmkiRgOT.js';
17
+ import './framework-delegate-BwNhx9NR.js';
18
18
  import './gesture-controller-B_gJaBk0.js';
19
19
 
20
20
  /**
@@ -1,13 +1,13 @@
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, i as forceUpdate } from './index-h81G-QbJ.js';
5
- import { i as inheritAriaAttributes, a as renderHiddenInput } from './helpers-DLLANtRS.js';
4
+ import { r as registerInstance, c as createEvent, e as config, h, d as Host, g as getElement, i as forceUpdate } from './index-C23AVPx9.js';
5
+ import { i as inheritAriaAttributes, a as renderHiddenInput } from './helpers-BSmc0nst.js';
6
6
  import { i as isRTL } from './dir-Dojwmvde.js';
7
- import { c as createItemMultipleInputsObserver } from './item-multiple-inputs-DI91syHS.js';
7
+ import { c as createItemMultipleInputsObserver } from './item-multiple-inputs-DZnIiOO_.js';
8
8
  import { c as checkInvalidState } from './validity-DJztqcrH.js';
9
9
  import { c as hapticSelection } from './haptic-Cq4UAeka.js';
10
- import { a as isPlatform, b as getIonMode } from './ionic-global-B7I1sdvg.js';
10
+ import { a as isPlatform, b as getIonMode } from './ionic-global-ZXjCXKH0.js';
11
11
  import { h as hostContext, c as createColorClasses } from './theme-byZM6qHV.js';
12
12
  import { j as checkmarkOutline, r as removeOutline, k as ellipseOutline } from './index-BvabGprD.js';
13
13
  import './capacitor-CFERIeaU.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { e as config, l as configFromURL, m as configFromSession, n as saveConfig, o as getMode, q as setMode, f as printIonWarning } from './index-h81G-QbJ.js';
4
+ import { e as config, l as configFromURL, m as configFromSession, n as saveConfig, o as getMode, q as setMode, f as printIonWarning } from './index-C23AVPx9.js';
5
5
 
6
6
  const getPlatforms = (win) => setupPlatforms(win);
7
7
  const isPlatform = (winOrPlatform, platform) => {
package/dist/esm/ionic.js CHANGED
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { p as promiseResolve, H, b as bootstrapLazy } from './index-h81G-QbJ.js';
5
- export { s as setNonce } from './index-h81G-QbJ.js';
6
- import { g as globalScripts } from './app-globals-BvutUX8P.js';
7
- import './ionic-global-B7I1sdvg.js';
4
+ import { p as promiseResolve, H, b as bootstrapLazy } from './index-C23AVPx9.js';
5
+ export { s as setNonce } from './index-C23AVPx9.js';
6
+ import { g as globalScripts } from './app-globals-BgX0BGL1.js';
7
+ import './ionic-global-ZXjCXKH0.js';
8
8
 
9
9
  /*
10
- Stencil Client Patch Browser v4.44.1 | MIT Licensed | https://stenciljs.com
10
+ Stencil Client Patch Browser v4.44.2 | MIT Licensed | https://stenciljs.com
11
11
  */
12
12
 
13
13
  var patchBrowser = () => {
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as createAnimation } from './animation-B6KGUJwl.js';
5
- import { g as getIonPageElement } from './index-BZHVn0iF.js';
6
- import './index-h81G-QbJ.js';
4
+ import { c as createAnimation } from './animation-BFNVlYum.js';
5
+ import { g as getIonPageElement } from './index-DnA_7Bnx.js';
6
+ import './index-C23AVPx9.js';
7
7
  import './index-ZjP4CjeZ.js';
8
- import './helpers-DLLANtRS.js';
8
+ import './helpers-BSmc0nst.js';
9
9
  import './dir-Dojwmvde.js';
10
10
 
11
11
  const DURATION = 540;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import './index-h81G-QbJ.js';
4
+ import './index-C23AVPx9.js';
5
5
 
6
6
  /**
7
7
  * `item-multiple-inputs` is toggled on the item after its form controls render,
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { b as bootstrapLazy } from './index-h81G-QbJ.js';
5
- export { s as setNonce } from './index-h81G-QbJ.js';
6
- import { g as globalScripts } from './app-globals-BvutUX8P.js';
7
- import './ionic-global-B7I1sdvg.js';
4
+ import { b as bootstrapLazy } from './index-C23AVPx9.js';
5
+ export { s as setNonce } from './index-C23AVPx9.js';
6
+ import { g as globalScripts } from './app-globals-BgX0BGL1.js';
7
+ import './ionic-global-ZXjCXKH0.js';
8
8
 
9
9
  const defineCustomElements = async (win, options) => {
10
10
  if (typeof window === 'undefined') return undefined;
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as createAnimation } from './animation-B6KGUJwl.js';
5
- import { g as getIonPageElement } from './index-BZHVn0iF.js';
6
- import './index-h81G-QbJ.js';
4
+ import { c as createAnimation } from './animation-BFNVlYum.js';
5
+ import { g as getIonPageElement } from './index-DnA_7Bnx.js';
6
+ import './index-C23AVPx9.js';
7
7
  import './index-ZjP4CjeZ.js';
8
- import './helpers-DLLANtRS.js';
8
+ import './helpers-BSmc0nst.js';
9
9
  import './dir-Dojwmvde.js';
10
10
 
11
11
  const mdTransitionAnimation = (_, opts) => {
@@ -2,11 +2,11 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { d as doc } from './index-ZjP4CjeZ.js';
5
- import { n as focusVisibleElement, c as componentOnReady, g as getElementRoot, f as addEventListener, m as removeEventListener } from './helpers-DLLANtRS.js';
6
- import { OVERLAY_BACK_BUTTON_PRIORITY, shouldUseCloseWatcher } from './hardware-back-button-rhkwRNk2.js';
7
- import { e as config, j as printIonError, f as printIonWarning } from './index-h81G-QbJ.js';
8
- import { b as getIonMode } from './ionic-global-B7I1sdvg.js';
9
- import { C as CoreDelegate } from './framework-delegate-60cEIAgt.js';
5
+ import { n as focusVisibleElement, c as componentOnReady, g as getElementRoot, f as addEventListener, m as removeEventListener } from './helpers-BSmc0nst.js';
6
+ import { OVERLAY_BACK_BUTTON_PRIORITY, shouldUseCloseWatcher } from './hardware-back-button-DmkiRgOT.js';
7
+ import { e as config, j as printIonError, f as printIonWarning } from './index-C23AVPx9.js';
8
+ import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
9
+ import { C as CoreDelegate } from './framework-delegate-BwNhx9NR.js';
10
10
  import { B as BACKDROP_NO_SCROLL } from './gesture-controller-B_gJaBk0.js';
11
11
 
12
12
  /**
@@ -100,6 +100,15 @@ const activeAnimations = new WeakMap();
100
100
  const isBackdropAlwaysBlocking = (el) => {
101
101
  return el.showBackdrop !== false && !((el.backdropBreakpoint ?? 0) > 0);
102
102
  };
103
+ /**
104
+ * Whether the overlay takes the app root out of the accessibility tree and
105
+ * blocks body scroll while presented. Toasts never do, modal and popover can
106
+ * opt out with `focusTrap={false}`, and a backdrop that does not block
107
+ * (`showBackdrop={false}`, or a `backdropBreakpoint` above 0) is excluded.
108
+ */
109
+ const locksAppRoot = (el) => {
110
+ return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
111
+ };
103
112
  const createController = (tagName) => {
104
113
  return {
105
114
  create(options) {
@@ -470,6 +479,13 @@ const getPresentedOverlay = (doc, overlayTag, id) => {
470
479
  // Otherwise, return the last overlay with the given id
471
480
  return (id === undefined ? overlays : overlays.filter((o) => o.id === id)).slice(-1)[0];
472
481
  };
482
+ /**
483
+ * The element an app nests its views under. Overlays hide this rather than the
484
+ * whole root, so the overlay itself (a sibling) stays reachable.
485
+ */
486
+ const getViewContainer = () => {
487
+ return getAppRoot(document).querySelector('ion-router-outlet, #ion-view-container-root');
488
+ };
473
489
  /**
474
490
  * When an overlay is presented, the main
475
491
  * focus is the overlay not the page content.
@@ -493,8 +509,7 @@ const getPresentedOverlay = (doc, overlayTag, id) => {
493
509
  * for main content.
494
510
  */
495
511
  const setRootAriaHidden = (hidden = false) => {
496
- const root = getAppRoot(document);
497
- const viewContainer = root.querySelector('ion-router-outlet, #ion-view-container-root');
512
+ const viewContainer = getViewContainer();
498
513
  if (!viewContainer) {
499
514
  return;
500
515
  }
@@ -519,15 +534,42 @@ const cleanupRootFocusTrapAccessibility = () => {
519
534
  return;
520
535
  }
521
536
  const remainingOverlays = getPresentedOverlays(document);
522
- const hasRemainingLocking = remainingOverlays.some((o) => {
523
- const el = o;
524
- return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
525
- });
537
+ const hasRemainingLocking = remainingOverlays.some((o) => locksAppRoot(o));
526
538
  if (!hasRemainingLocking) {
527
539
  setRootAriaHidden(false);
528
540
  document.body.classList.remove(BACKDROP_NO_SCROLL);
529
541
  }
530
542
  };
543
+ /**
544
+ * Applies the root lock itself: `aria-hidden` on the view container, and
545
+ * `backdrop-no-scroll` on the body. Shared by `present()` and the restore
546
+ * below, which have to stay in lockstep.
547
+ */
548
+ const applyRootLock = (el) => {
549
+ // Hiding the container the overlay now sits in would hide the overlay too.
550
+ if (!getViewContainer()?.contains(el)) {
551
+ setRootAriaHidden(true);
552
+ }
553
+ document.body.classList.add(BACKDROP_NO_SCROLL);
554
+ };
555
+ /**
556
+ * Re-applies the root lock that `cleanupRootFocusTrapAccessibility()` released.
557
+ * Call from `connectedCallback` when the overlay is still presented.
558
+ *
559
+ * A synchronous move keeps the overlay connected, so the lock survives. A
560
+ * detach with a re-insert in a later task releases it, which is the shape a
561
+ * framework produces when it takes a subtree out and puts it back.
562
+ */
563
+ const restoreRootFocusTrapAccessibility = (overlayEl) => {
564
+ if (typeof document === 'undefined') {
565
+ return;
566
+ }
567
+ const el = overlayEl;
568
+ if (!locksAppRoot(el)) {
569
+ return;
570
+ }
571
+ applyRootLock(el);
572
+ };
531
573
  const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
532
574
  if (overlay.presented) {
533
575
  return;
@@ -544,15 +586,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
544
586
  restoreElementFocus(overlay.el);
545
587
  }
546
588
  /**
547
- * Due to accessibility guidelines, toasts do not have
548
- * focus traps.
549
- *
550
- * All other overlays should have focus traps to prevent
551
- * the keyboard focus from leaving the overlay unless
552
- * developers explicitly opt out (for example, sheet
553
- * modals that should permit background interaction).
554
- *
555
- * Note: Some apps move inline overlays to a specific container
589
+ * Some apps move inline overlays to a specific container
556
590
  * during the willPresent lifecycle (e.g., React portals via
557
591
  * onWillPresent). Defer applying aria-hidden/inert to the app
558
592
  * root until after willPresent so we can detect where the
@@ -561,18 +595,11 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
561
595
  * to avoid disabling the overlay.
562
596
  */
563
597
  const overlayEl = overlay.el;
564
- const shouldTrapFocus = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false;
565
- const shouldLockRoot = shouldTrapFocus && isBackdropAlwaysBlocking(overlayEl);
598
+ const shouldLockRoot = locksAppRoot(overlayEl);
566
599
  overlay.presented = true;
567
600
  overlay.willPresent.emit();
568
601
  if (shouldLockRoot) {
569
- const root = getAppRoot(document);
570
- const viewContainer = root.querySelector('ion-router-outlet, #ion-view-container-root');
571
- const overlayInsideViewContainer = viewContainer ? viewContainer.contains(overlayEl) : false;
572
- if (!overlayInsideViewContainer) {
573
- setRootAriaHidden(true);
574
- }
575
- document.body.classList.add(BACKDROP_NO_SCROLL);
602
+ applyRootLock(overlayEl);
576
603
  }
577
604
  overlay.willPresentShorthand?.emit();
578
605
  const mode = getIonMode(overlay);
@@ -698,12 +725,9 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
698
725
  * from the root element when the last focus-trapping overlay
699
726
  * is dismissed.
700
727
  */
701
- const overlaysLockingRoot = presentedOverlays.filter((o) => {
702
- const el = o;
703
- return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
704
- });
728
+ const overlaysLockingRoot = presentedOverlays.filter((o) => locksAppRoot(o));
705
729
  const overlayEl = overlay.el;
706
- const locksRoot = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false && isBackdropAlwaysBlocking(overlayEl);
730
+ const locksRoot = locksAppRoot(overlayEl);
707
731
  /**
708
732
  * If this is the last visible overlay that is trapping focus
709
733
  * then we want to re-add the root to the accessibility tree.
@@ -950,4 +974,4 @@ const createTriggerController = () => {
950
974
  };
951
975
  const FOCUS_TRAP_DISABLE_CLASS = 'ion-disable-focus-trap';
952
976
 
953
- export { BACKDROP as B, FOCUS_TRAP_DISABLE_CLASS as F, GESTURE as G, OVERLAY_GESTURE_PRIORITY as O, alertController as a, actionSheetController as b, createDelegateController as c, createTriggerController as d, present as e, dismiss as f, eventMethod as g, prepareOverlay as h, isCancel as i, cleanupRootFocusTrapAccessibility as j, setOverlayId as k, loadingController as l, modalController as m, focusFirstDescendant as n, getPresentedOverlay as o, popoverController as p, focusLastDescendant as q, safeCall as s, toastController as t };
977
+ export { BACKDROP as B, FOCUS_TRAP_DISABLE_CLASS as F, GESTURE as G, OVERLAY_GESTURE_PRIORITY as O, alertController as a, actionSheetController as b, createDelegateController as c, createTriggerController as d, present as e, dismiss as f, eventMethod as g, prepareOverlay as h, isCancel as i, cleanupRootFocusTrapAccessibility as j, setOverlayId as k, loadingController as l, modalController as m, focusFirstDescendant as n, getPresentedOverlay as o, popoverController as p, focusLastDescendant as q, restoreRootFocusTrapAccessibility as r, safeCall as s, toastController as t };
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { h } from './index-h81G-QbJ.js';
5
- import { a as sanitizeDOMTree } from './index-JgU5uTSY.js';
4
+ import { h } from './index-C23AVPx9.js';
5
+ import { a as sanitizeDOMTree } from './index-CqoUoxgG.js';
6
6
 
7
7
  /**
8
8
  * Converts a DOM node into a Stencil VNode (or text string) so the
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win } from './index-ZjP4CjeZ.js';
5
- import { r as raf } from './helpers-DLLANtRS.js';
5
+ import { r as raf } from './helpers-BSmc0nst.js';
6
6
  import { i as isRTL } from './dir-Dojwmvde.js';
7
7
 
8
8
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { a as readTask, w as writeTask } from './index-h81G-QbJ.js';
5
- import { a as findClosestIonContent, s as scrollToTop } from './index-DOrtAUWV.js';
6
- import { c as componentOnReady } from './helpers-DLLANtRS.js';
4
+ import { a as readTask, w as writeTask } from './index-C23AVPx9.js';
5
+ import { a as findClosestIonContent, s as scrollToTop } from './index-C1b9CLFg.js';
6
+ import { c as componentOnReady } from './helpers-BSmc0nst.js';
7
7
  import './dir-Dojwmvde.js';
8
8
 
9
9
  const startStatusTap = () => {
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { e as clamp } from './helpers-DLLANtRS.js';
4
+ import { e as clamp } from './helpers-BSmc0nst.js';
5
5
  import { i as isRTL } from './dir-Dojwmvde.js';
6
6
  import { createGesture } from './index-BmLuEdV7.js';
7
- import './index-h81G-QbJ.js';
7
+ import './index-C23AVPx9.js';
8
8
  import './gesture-controller-B_gJaBk0.js';
9
9
 
10
10
  const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- export{c as createAnimation}from"./p-Cc4w3fVf.js";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"./p-C10K-FJg.js";export{iosTransitionAnimation}from"./p-DMj-M2c4.js";export{mdTransitionAnimation}from"./p-D_IgV7tz.js";export{g as getTimeGivenProgression}from"./p-hHmYLOfE.js";export{createGesture}from"./p-D0YpjgON.js";export{g as getPlatforms,i as initialize,a as isPlatform}from"./p-CTBfxfjC.js";export{c as componentOnReady}from"./p-06ZcwRF5.js";export{L as LogLevel}from"./p-h81G-QbJ.js";export{I as IonicSafeString}from"./p-CH8tk7Pr.js";export{g as getMode,s as setupConfig}from"./p-DWCzVL3Y.js";export{o as openURL}from"./p-byZM6qHV.js";export{m as menuController}from"./p-S1shXW5M.js";export{b as actionSheetController,a as alertController,l as loadingController,m as modalController,p as popoverController,t as toastController}from"./p-DA52akcQ.js";import"./p-ZjP4CjeZ.js";import"./p-B_gJaBk0.js";import"./p-Dojwmvde.js";import"./p-C2BY_4Wp.js";import"./p-wdSUbx5C.js";const e=e=>{const{swiper:o,extendParams:t}=e,s={effect:void 0,direction:"horizontal",initialSlide:0,loop:!1,parallax:!1,slidesPerView:1,spaceBetween:0,speed:300,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,touchEventsTarget:"container",freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,zoom:{maxRatio:3,minRatio:1,toggle:!1},touchRatio:1,touchAngle:45,simulateTouch:!0,touchStartPreventDefault:!1,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,threshold:0,touchMoveStopPropagation:!0,touchReleaseOnEdges:!1,iOSEdgeSwipeDetection:!1,iOSEdgeSwipeThreshold:20,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loopAdditionalSlides:0,noSwiping:!0,runCallbacksOnInit:!0,coverflowEffect:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0},flipEffect:{slideShadows:!0,limitRotation:!0},cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94},fadeEffect:{crossFade:!1},a11y:{prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide"}};o.pagination&&(s.pagination={type:"bullets",clickable:!1,hideOnClick:!1}),o.scrollbar&&(s.scrollbar={hide:!0}),t(s)};export{e as IonicSlides}
4
+ export{c as createAnimation}from"./p-DLM95R4x.js";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"./p-zWf7R2xV.js";export{iosTransitionAnimation}from"./p-CmXuiRT6.js";export{mdTransitionAnimation}from"./p-BY6BzzPF.js";export{g as getTimeGivenProgression}from"./p-hHmYLOfE.js";export{createGesture}from"./p-D0YpjgON.js";export{g as getPlatforms,i as initialize,a as isPlatform}from"./p-Do3zTvCA.js";export{c as componentOnReady}from"./p-CFuOr1Tu.js";export{L as LogLevel}from"./p-C23AVPx9.js";export{I as IonicSafeString}from"./p-fU3rOYad.js";export{g as getMode,s as setupConfig}from"./p-DWCzVL3Y.js";export{o as openURL}from"./p-byZM6qHV.js";export{m as menuController}from"./p-DajLgJ4d.js";export{b as actionSheetController,a as alertController,l as loadingController,m as modalController,p as popoverController,t as toastController}from"./p-CMZYmFb4.js";import"./p-ZjP4CjeZ.js";import"./p-B_gJaBk0.js";import"./p-Dojwmvde.js";import"./p-BgOvhHy_.js";import"./p-DYUjHcuH.js";const e=e=>{const{swiper:o,extendParams:s}=e,t={effect:void 0,direction:"horizontal",initialSlide:0,loop:!1,parallax:!1,slidesPerView:1,spaceBetween:0,speed:300,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,touchEventsTarget:"container",freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,zoom:{maxRatio:3,minRatio:1,toggle:!1},touchRatio:1,touchAngle:45,simulateTouch:!0,touchStartPreventDefault:!1,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,threshold:0,touchMoveStopPropagation:!0,touchReleaseOnEdges:!1,iOSEdgeSwipeDetection:!1,iOSEdgeSwipeThreshold:20,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loopAdditionalSlides:0,noSwiping:!0,runCallbacksOnInit:!0,coverflowEffect:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0},flipEffect:{slideShadows:!0,limitRotation:!0},cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94},fadeEffect:{crossFade:!1},a11y:{prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide"}};o.pagination&&(t.pagination={type:"bullets",clickable:!1,hideOnClick:!1}),o.scrollbar&&(t.scrollbar={hide:!0}),s(t)};export{e as IonicSlides}