@ionic/core 9.0.1-dev.11787177893.1979eb13 → 9.0.1-dev.11787589191.1e183b55

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 (602) 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-63OhffQv.js → p-66ogmUZU.js} +1 -1
  99. package/components/p-6Vp915Y7.js +4 -0
  100. package/components/p-7PNwKFZi.js +4 -0
  101. package/components/{p-G0TxqHfe.js → p-A8MJRBIY.js} +1 -1
  102. package/components/p-AQcCdH2_.js +4 -0
  103. package/{dist/ionic/p-Dn0mqQ_R.js → components/p-B6x5_b9w.js} +1 -1
  104. package/components/p-B8MQjdvk.js +4 -0
  105. package/components/p-BA_4ZIEg.js +4 -0
  106. package/components/p-BFtL8t1r.js +4 -0
  107. package/components/{p-DaA_8eqt.js → p-BMfgF-Tv.js} +1 -1
  108. package/components/p-BPDxVIRr.js +4 -0
  109. package/components/p-BPnXVGaS.js +4 -0
  110. package/components/p-BQAiulS1.js +4 -0
  111. package/components/p-BSARlp49.js +4 -0
  112. package/components/p-B_gJaBk0.js +4 -0
  113. package/components/p-BdwCtX8Y.js +4 -0
  114. package/components/{p-DV85C0e0.js → p-BgUIV8NQ.js} +1 -1
  115. package/components/p-Bh2ta0iG.js +4 -0
  116. package/components/p-BnUOVmKh.js +4 -0
  117. package/components/p-BpLt_Ptn.js +4 -0
  118. package/components/p-BqBDq1Ma.js +4 -0
  119. package/components/{p-C_phlPMC.js → p-BrFaQbGY.js} +1 -1
  120. package/{dist/ionic/p-Cdjxf_yg.js → components/p-BuPAFTWI.js} +1 -1
  121. package/components/p-Bx2saTHs.js +4 -0
  122. package/components/p-BxhE2W85.js +4 -0
  123. package/components/p-CHswSpKy.js +4 -0
  124. package/components/{p-1jI5oW-W.js → p-CR9OgE6N.js} +1 -1
  125. package/components/p-CWETxTjE.js +4 -0
  126. package/components/p-CaZeZIL2.js +4 -0
  127. package/components/p-CgvDC7hC.js +4 -0
  128. package/components/{p-BqPNzJf6.js → p-CqyGR9Aq.js} +1 -1
  129. package/components/{p-UIBJkZf8.js → p-D0YpjgON.js} +1 -1
  130. package/components/p-D1OCo42s.js +4 -0
  131. package/components/p-D7ysFE2B.js +4 -0
  132. package/{dist/ionic/p-4eOQC00Z.js → components/p-DCWfzDM8.js} +1 -1
  133. package/components/p-DD57rSP_.js +4 -0
  134. package/components/{p-DwpKZ6rl.js → p-DDdkefwf.js} +1 -1
  135. package/components/{p-DzRT60Tw.js → p-DEW7CnUc.js} +1 -1
  136. package/components/p-DQ1IPvZO.js +4 -0
  137. package/components/p-DcOH6-o5.js +4 -0
  138. package/components/{p-DD5fQ4EQ.js → p-DfdYCsov.js} +1 -1
  139. package/components/{p-DSzSbVP2.js → p-DhOoEIAs.js} +1 -1
  140. package/components/{p-DM-PrAoh.js → p-Dl_7b_UJ.js} +1 -1
  141. package/components/p-DnXLaaf7.js +4 -0
  142. package/components/{p-ryyf_ItD.js → p-DysqCsJu.js} +1 -1
  143. package/components/p-H1f2qsk4.js +4 -0
  144. package/components/p-HVYBAhFx.js +4 -0
  145. package/components/{p-CbhUdtjf.js → p-Kmrg3Fed.js} +1 -1
  146. package/components/{p-Bjig0DJK.js → p-RFfE9hF6.js} +1 -1
  147. package/{dist/ionic/p-CBWAXjA5.js → components/p-SR-LLqp_.js} +1 -1
  148. package/components/p-gFwXiYC_.js +4 -0
  149. package/components/p-tX3UxCnU.js +4 -0
  150. package/components/p-v2NpoOHp.js +4 -0
  151. package/dist/cjs/{animation-C0mOHzej.js → animation-D-OqR4a4.js} +1 -1
  152. package/dist/cjs/{app-globals-BREG4twP.js → app-globals-BzgwARwJ.js} +1 -1
  153. package/dist/cjs/{button-active-CVMevT9a.js → button-active-BlWSD7uK.js} +2 -2
  154. package/dist/cjs/{format-pp0Du3K-.js → format-D7ig6Vm0.js} +1 -1
  155. package/dist/cjs/{framework-delegate-Dfo5XsGv.js → framework-delegate-BZUx4TnE.js} +1 -1
  156. package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-CeJslptU.js} +6 -14
  157. package/dist/cjs/{hardware-back-button-fqpYh-kd.js → hardware-back-button-JOAEFSzc.js} +1 -1
  158. package/dist/cjs/{helpers-YPQybDph.js → helpers-Dj5o76mq.js} +1 -1
  159. package/dist/cjs/{index-BLdJCcJY.js → index-2sO-zkZ2.js} +4 -4
  160. package/dist/cjs/{index-uvry__L4.js → index-BrVMoqUk.js} +3 -1
  161. package/dist/cjs/{index-zVCah4Uz.js → index-C8zH6b3d.js} +2 -2
  162. package/dist/cjs/{index-DXsPSne6.js → index-CZ6vzt_q.js} +5 -5
  163. package/dist/cjs/{index-DDg31ZF5.js → index-Csue6G3m.js} +2 -2
  164. package/dist/cjs/{index-DwlRtFZe.js → index-DRPqwSvU.js} +1 -1
  165. package/dist/cjs/{index-B7zJsYWS.js → index-EJLjthTK.js} +1 -2
  166. package/dist/cjs/index.cjs.js +14 -14
  167. package/dist/cjs/{input-shims-Cbu1fcye.js → input-shims-Bh7bnt2v.js} +3 -3
  168. package/dist/cjs/{input.utils-BZdMWVrt.js → input.utils-Cq3g9uHy.js} +1 -1
  169. package/dist/cjs/ion-accordion_2.cjs.entry.js +335 -364
  170. package/dist/cjs/ion-action-sheet.cjs.entry.js +94 -159
  171. package/dist/cjs/ion-alert.cjs.entry.js +86 -170
  172. package/dist/cjs/ion-app_8.cjs.entry.js +163 -258
  173. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -8
  174. package/dist/cjs/ion-back-button.cjs.entry.js +21 -45
  175. package/dist/cjs/ion-backdrop.cjs.entry.js +14 -18
  176. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +117 -195
  177. package/dist/cjs/ion-button_2.cjs.entry.js +61 -130
  178. package/dist/cjs/ion-card_5.cjs.entry.js +28 -80
  179. package/dist/cjs/ion-checkbox.cjs.entry.js +98 -147
  180. package/dist/cjs/ion-chip.cjs.entry.js +10 -16
  181. package/dist/cjs/ion-col_3.cjs.entry.js +6 -126
  182. package/dist/cjs/ion-datetime-button.cjs.entry.js +232 -248
  183. package/dist/cjs/ion-datetime.cjs.entry.js +775 -953
  184. package/dist/cjs/ion-fab_3.cjs.entry.js +78 -136
  185. package/dist/cjs/ion-img.cjs.entry.js +11 -31
  186. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +71 -98
  187. package/dist/cjs/ion-input-otp.cjs.entry.js +352 -424
  188. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +14 -29
  189. package/dist/cjs/ion-input.cjs.entry.js +158 -302
  190. package/dist/cjs/ion-item-option_3.cjs.entry.js +45 -87
  191. package/dist/cjs/ion-item_8.cjs.entry.js +61 -157
  192. package/dist/cjs/ion-loading.cjs.entry.js +60 -133
  193. package/dist/cjs/ion-menu_3.cjs.entry.js +94 -158
  194. package/dist/cjs/ion-modal.cjs.entry.js +280 -383
  195. package/dist/cjs/ion-nav_2.cjs.entry.js +26 -78
  196. package/dist/cjs/ion-picker-column-option.cjs.entry.js +23 -33
  197. package/dist/cjs/ion-picker-column.cjs.entry.js +389 -410
  198. package/dist/cjs/ion-picker.cjs.entry.js +390 -400
  199. package/dist/cjs/ion-popover.cjs.entry.js +196 -294
  200. package/dist/cjs/ion-progress-bar.cjs.entry.js +23 -29
  201. package/dist/cjs/ion-radio_2.cjs.entry.js +128 -201
  202. package/dist/cjs/ion-range.cjs.entry.js +223 -293
  203. package/dist/cjs/ion-refresher_2.cjs.entry.js +84 -156
  204. package/dist/cjs/ion-reorder_2.cjs.entry.js +19 -49
  205. package/dist/cjs/ion-ripple-effect.cjs.entry.js +13 -13
  206. package/dist/cjs/ion-route_4.cjs.entry.js +45 -144
  207. package/dist/cjs/ion-searchbar.cjs.entry.js +182 -268
  208. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  209. package/dist/cjs/ion-segment-view.cjs.entry.js +12 -24
  210. package/dist/cjs/ion-segment_2.cjs.entry.js +111 -154
  211. package/dist/cjs/ion-select-modal.cjs.entry.js +19 -21
  212. package/dist/cjs/ion-select_3.cjs.entry.js +151 -319
  213. package/dist/cjs/ion-spinner.cjs.entry.js +6 -21
  214. package/dist/cjs/ion-split-pane.cjs.entry.js +14 -27
  215. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +32 -89
  216. package/dist/cjs/ion-tab_2.cjs.entry.js +22 -49
  217. package/dist/cjs/ion-text.cjs.entry.js +2 -8
  218. package/dist/cjs/ion-textarea.cjs.entry.js +139 -256
  219. package/dist/cjs/ion-toast.cjs.entry.js +106 -221
  220. package/dist/cjs/ion-toggle.cjs.entry.js +114 -165
  221. package/dist/cjs/{ionic-global-k6hOWWpn.js → ionic-global-DvgIzM2F.js} +1 -1
  222. package/dist/cjs/ionic.cjs.js +4 -4
  223. package/dist/cjs/{ios.transition-zTmJz8T-.js → ios.transition-zIgdoSYe.js} +4 -4
  224. package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-DG-ZGm6j.js} +1 -1
  225. package/dist/cjs/loader.cjs.js +4 -4
  226. package/dist/cjs/{md.transition-nb_4pUXu.js → md.transition-CXeJ9rfh.js} +4 -4
  227. package/dist/cjs/{overlays-KaNVDNqC.js → overlays-B5JeC8OQ.js} +58 -35
  228. package/dist/cjs/{select-option-render-pULCGldr.js → select-option-render-7m1WdFzF.js} +2 -2
  229. package/dist/cjs/{slot-mutation-controller-DPHmqXdV.js → slot-mutation-controller-BJEJzx_e.js} +1 -1
  230. package/dist/cjs/{status-tap-o9IIymsP.js → status-tap-DxbUM5XX.js} +3 -3
  231. package/dist/cjs/{swipe-back-B7X9VOlH.js → swipe-back-F_DBt-Aw.js} +4 -4
  232. package/dist/collection/components/accordion/accordion.js +310 -314
  233. package/dist/collection/components/accordion-group/accordion-group.js +23 -46
  234. package/dist/collection/components/action-sheet/action-sheet.js +84 -148
  235. package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
  236. package/dist/collection/components/alert/alert.js +76 -159
  237. package/dist/collection/components/app/app.js +0 -3
  238. package/dist/collection/components/back-button/back-button.js +19 -42
  239. package/dist/collection/components/backdrop/backdrop.js +14 -16
  240. package/dist/collection/components/badge/badge.js +0 -6
  241. package/dist/collection/components/breadcrumb/breadcrumb.js +29 -90
  242. package/dist/collection/components/breadcrumbs/breadcrumbs.js +87 -102
  243. package/dist/collection/components/button/button.js +59 -127
  244. package/dist/collection/components/buttons/buttons.js +15 -13
  245. package/dist/collection/components/card/card.js +20 -53
  246. package/dist/collection/components/card-header/card-header.js +8 -12
  247. package/dist/collection/components/card-subtitle/card-subtitle.js +0 -6
  248. package/dist/collection/components/card-title/card-title.js +0 -6
  249. package/dist/collection/components/checkbox/checkbox.js +95 -143
  250. package/dist/collection/components/chip/chip.js +10 -14
  251. package/dist/collection/components/col/col.js +0 -120
  252. package/dist/collection/components/content/content.js +60 -90
  253. package/dist/collection/components/datetime/datetime.js +762 -939
  254. package/dist/collection/components/datetime-button/datetime-button.js +229 -244
  255. package/dist/collection/components/fab/fab.js +13 -20
  256. package/dist/collection/components/fab-button/fab-button.js +54 -103
  257. package/dist/collection/components/fab-list/fab-list.js +11 -10
  258. package/dist/collection/components/footer/footer.js +43 -49
  259. package/dist/collection/components/grid/grid.js +6 -4
  260. package/dist/collection/components/header/header.js +23 -33
  261. package/dist/collection/components/img/img.js +9 -28
  262. package/dist/collection/components/infinite-scroll/infinite-scroll.js +66 -73
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +3 -20
  264. package/dist/collection/components/input/input.js +154 -297
  265. package/dist/collection/components/input-otp/input-otp.js +350 -421
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +13 -27
  267. package/dist/collection/components/item/item.js +37 -80
  268. package/dist/collection/components/item-divider/item-divider.js +10 -15
  269. package/dist/collection/components/item-option/item-option.js +20 -48
  270. package/dist/collection/components/item-options/item-options.js +7 -10
  271. package/dist/collection/components/item-sliding/item-sliding.js +16 -24
  272. package/dist/collection/components/label/label.js +4 -24
  273. package/dist/collection/components/list/list.js +6 -9
  274. package/dist/collection/components/list-header/list-header.js +0 -10
  275. package/dist/collection/components/loading/loading.js +53 -125
  276. package/dist/collection/components/menu/menu.js +55 -99
  277. package/dist/collection/components/menu-button/menu-button.js +19 -28
  278. package/dist/collection/components/menu-toggle/menu-toggle.js +13 -20
  279. package/dist/collection/components/modal/modal.js +271 -373
  280. package/dist/collection/components/modal/test/fixtures.js +0 -3
  281. package/dist/collection/components/nav/nav.js +12 -45
  282. package/dist/collection/components/nav/view-controller.js +1 -7
  283. package/dist/collection/components/nav-link/nav-link.js +9 -20
  284. package/dist/collection/components/note/note.js +0 -6
  285. package/dist/collection/components/picker/picker.js +388 -397
  286. package/dist/collection/components/picker-column/picker-column.js +389 -409
  287. package/dist/collection/components/picker-column-option/picker-column-option.js +21 -30
  288. package/dist/collection/components/popover/popover.js +189 -286
  289. package/dist/collection/components/popover/test/fixture.js +0 -1
  290. package/dist/collection/components/progress-bar/progress-bar.js +22 -26
  291. package/dist/collection/components/radio/radio.js +62 -98
  292. package/dist/collection/components/radio-group/radio-group.js +64 -99
  293. package/dist/collection/components/radio-group/test/fixtures.js +0 -2
  294. package/dist/collection/components/range/range.js +220 -289
  295. package/dist/collection/components/refresher/refresher.js +74 -107
  296. package/dist/collection/components/refresher-content/refresher-content.js +3 -40
  297. package/dist/collection/components/reorder/reorder.js +0 -1
  298. package/dist/collection/components/reorder-group/reorder-group.js +14 -43
  299. package/dist/collection/components/ripple-effect/ripple-effect.js +12 -11
  300. package/dist/collection/components/route/route.js +9 -38
  301. package/dist/collection/components/route-redirect/route-redirect.js +0 -31
  302. package/dist/collection/components/router/router.js +27 -35
  303. package/dist/collection/components/router/utils/matching.js +0 -1
  304. package/dist/collection/components/router-link/router-link.js +10 -35
  305. package/dist/collection/components/router-outlet/router-outlet.js +12 -34
  306. package/dist/collection/components/searchbar/searchbar.js +180 -265
  307. package/dist/collection/components/segment/segment.js +76 -113
  308. package/dist/collection/components/segment-button/segment-button.js +33 -37
  309. package/dist/collection/components/segment-view/segment-view.js +12 -23
  310. package/dist/collection/components/select/select.js +127 -240
  311. package/dist/collection/components/select-modal/select-modal.js +11 -12
  312. package/dist/collection/components/select-modal/test/fixtures.js +1 -8
  313. package/dist/collection/components/select-option/select-option.js +7 -44
  314. package/dist/collection/components/select-popover/select-popover.js +10 -25
  315. package/dist/collection/components/select-popover/test/fixtures.js +1 -8
  316. package/dist/collection/components/skeleton-text/skeleton-text.js +6 -10
  317. package/dist/collection/components/spinner/spinner.js +6 -19
  318. package/dist/collection/components/split-pane/split-pane.js +13 -25
  319. package/dist/collection/components/tab/tab.js +4 -15
  320. package/dist/collection/components/tab-bar/tab-bar.js +12 -30
  321. package/dist/collection/components/tab-button/tab-button.js +19 -56
  322. package/dist/collection/components/tabs/tabs.js +17 -31
  323. package/dist/collection/components/text/text.js +0 -6
  324. package/dist/collection/components/textarea/textarea.js +135 -251
  325. package/dist/collection/components/title/title.js +0 -16
  326. package/dist/collection/components/toast/toast.js +97 -211
  327. package/dist/collection/components/toggle/toggle.js +111 -161
  328. package/dist/collection/components/toolbar/toolbar.js +3 -8
  329. package/dist/collection/global/config.js +3 -1
  330. package/dist/collection/utils/gesture/gesture-controller.js +6 -14
  331. package/dist/collection/utils/overlays.js +51 -29
  332. package/dist/collection/utils/sanitization/index.js +0 -1
  333. package/dist/collection/utils/test/playwright/page/event-spy.js +8 -9
  334. package/dist/collection/utils/test/press-keys.js +1 -4
  335. package/dist/docs.json +1 -1
  336. package/dist/esm/{animation-CGFdmGk9.js → animation-TxGPYeDn.js} +1 -1
  337. package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-Do8rJest.js} +1 -1
  338. package/dist/esm/{button-active-BDOsVAiZ.js → button-active-ChA4D-ml.js} +2 -2
  339. package/dist/esm/{format-Dcwga61t.js → format-CVk5e_GP.js} +2 -2
  340. package/dist/esm/{framework-delegate-BHTU2Ip9.js → framework-delegate-DaLWnISz.js} +1 -1
  341. package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-B_gJaBk0.js} +6 -14
  342. package/dist/esm/{hardware-back-button-gLJHMX_F.js → hardware-back-button-D8W4L0JP.js} +1 -1
  343. package/dist/esm/{helpers-CAGf8Wgp.js → helpers-BIgoInJU.js} +1 -1
  344. package/dist/esm/{index-DcPaH5uL.js → index-BmLuEdV7.js} +1 -1
  345. package/dist/esm/{index-T0JxBI8V.js → index-BmOR8tCv.js} +2 -2
  346. package/dist/esm/{index-CqneaaGd.js → index-C5ZdL0qp.js} +5 -5
  347. package/dist/esm/{index-WlteAIqz.js → index-C8Dsa6li.js} +4 -4
  348. package/dist/esm/{index-ChhhtsGZ.js → index-CKYcsw8f.js} +3 -1
  349. package/dist/esm/{index-Clc-28O1.js → index-DHw2lZxe.js} +2 -2
  350. package/dist/esm/{index-CKM1DdGm.js → index-elneMH8y.js} +1 -2
  351. package/dist/esm/index.js +14 -14
  352. package/dist/esm/{input-shims-B8sfni1e.js → input-shims-09NN97kF.js} +3 -3
  353. package/dist/esm/{input.utils-B1ValN_N.js → input.utils-BxyH9l1w.js} +1 -1
  354. package/dist/esm/ion-accordion_2.entry.js +335 -364
  355. package/dist/esm/ion-action-sheet.entry.js +94 -159
  356. package/dist/esm/ion-alert.entry.js +86 -170
  357. package/dist/esm/ion-app_8.entry.js +163 -258
  358. package/dist/esm/ion-avatar_3.entry.js +2 -8
  359. package/dist/esm/ion-back-button.entry.js +21 -45
  360. package/dist/esm/ion-backdrop.entry.js +14 -18
  361. package/dist/esm/ion-breadcrumb_2.entry.js +117 -195
  362. package/dist/esm/ion-button_2.entry.js +61 -130
  363. package/dist/esm/ion-card_5.entry.js +28 -80
  364. package/dist/esm/ion-checkbox.entry.js +98 -147
  365. package/dist/esm/ion-chip.entry.js +10 -16
  366. package/dist/esm/ion-col_3.entry.js +6 -126
  367. package/dist/esm/ion-datetime-button.entry.js +232 -248
  368. package/dist/esm/ion-datetime.entry.js +775 -953
  369. package/dist/esm/ion-fab_3.entry.js +78 -136
  370. package/dist/esm/ion-img.entry.js +11 -31
  371. package/dist/esm/ion-infinite-scroll_2.entry.js +71 -98
  372. package/dist/esm/ion-input-otp.entry.js +352 -424
  373. package/dist/esm/ion-input-password-toggle.entry.js +14 -29
  374. package/dist/esm/ion-input.entry.js +158 -302
  375. package/dist/esm/ion-item-option_3.entry.js +45 -87
  376. package/dist/esm/ion-item_8.entry.js +61 -157
  377. package/dist/esm/ion-loading.entry.js +60 -133
  378. package/dist/esm/ion-menu_3.entry.js +94 -158
  379. package/dist/esm/ion-modal.entry.js +280 -383
  380. package/dist/esm/ion-nav_2.entry.js +26 -78
  381. package/dist/esm/ion-picker-column-option.entry.js +23 -33
  382. package/dist/esm/ion-picker-column.entry.js +389 -410
  383. package/dist/esm/ion-picker.entry.js +390 -400
  384. package/dist/esm/ion-popover.entry.js +196 -294
  385. package/dist/esm/ion-progress-bar.entry.js +23 -29
  386. package/dist/esm/ion-radio_2.entry.js +128 -201
  387. package/dist/esm/ion-range.entry.js +223 -293
  388. package/dist/esm/ion-refresher_2.entry.js +84 -156
  389. package/dist/esm/ion-reorder_2.entry.js +19 -49
  390. package/dist/esm/ion-ripple-effect.entry.js +13 -13
  391. package/dist/esm/ion-route_4.entry.js +45 -144
  392. package/dist/esm/ion-searchbar.entry.js +182 -268
  393. package/dist/esm/ion-segment-content.entry.js +1 -1
  394. package/dist/esm/ion-segment-view.entry.js +12 -24
  395. package/dist/esm/ion-segment_2.entry.js +111 -154
  396. package/dist/esm/ion-select-modal.entry.js +19 -21
  397. package/dist/esm/ion-select_3.entry.js +151 -319
  398. package/dist/esm/ion-spinner.entry.js +6 -21
  399. package/dist/esm/ion-split-pane.entry.js +14 -27
  400. package/dist/esm/ion-tab-bar_2.entry.js +32 -89
  401. package/dist/esm/ion-tab_2.entry.js +22 -49
  402. package/dist/esm/ion-text.entry.js +2 -8
  403. package/dist/esm/ion-textarea.entry.js +139 -256
  404. package/dist/esm/ion-toast.entry.js +106 -221
  405. package/dist/esm/ion-toggle.entry.js +114 -165
  406. package/dist/esm/{ionic-global-BVB7BrLT.js → ionic-global-lrowsHfi.js} +1 -1
  407. package/dist/esm/ionic.js +5 -5
  408. package/dist/esm/{ios.transition-DXRCmcbC.js → ios.transition-BQhADrk1.js} +4 -4
  409. package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-D_N3fDkD.js} +1 -1
  410. package/dist/esm/loader.js +5 -5
  411. package/dist/esm/{md.transition-BMngO4i_.js → md.transition-D58NpmRa.js} +4 -4
  412. package/dist/esm/{overlays-CPmIs9Ls.js → overlays-CefdMZgF.js} +58 -36
  413. package/dist/esm/{select-option-render-C4m76VGH.js → select-option-render-lIuu64EV.js} +2 -2
  414. package/dist/esm/{slot-mutation-controller-DiE_C9un.js → slot-mutation-controller-rS_T3FDR.js} +1 -1
  415. package/dist/esm/{status-tap-CHB7KwIb.js → status-tap-CpFQMLl6.js} +3 -3
  416. package/dist/esm/{swipe-back-C9HW1bug.js → swipe-back-rmc7zeNW.js} +4 -4
  417. package/dist/ionic/index.esm.js +1 -1
  418. package/dist/ionic/ionic.esm.js +1 -1
  419. package/dist/ionic/p-0eb50dca.entry.js +4 -0
  420. package/dist/ionic/p-16e9f542.entry.js +4 -0
  421. package/dist/ionic/p-18d532a3.entry.js +4 -0
  422. package/dist/ionic/p-1db2afb4.entry.js +4 -0
  423. package/dist/ionic/p-1df75f9e.entry.js +4 -0
  424. package/dist/ionic/p-295ff427.entry.js +4 -0
  425. package/dist/ionic/p-36abc1ee.entry.js +4 -0
  426. package/dist/ionic/p-39a8d4e0.entry.js +4 -0
  427. package/dist/ionic/p-408973f4.entry.js +4 -0
  428. package/dist/ionic/p-46a938a9.entry.js +4 -0
  429. package/dist/ionic/p-47626333.entry.js +4 -0
  430. package/dist/ionic/p-478035a7.entry.js +4 -0
  431. package/dist/ionic/p-485fb218.entry.js +4 -0
  432. package/dist/ionic/p-56307aea.entry.js +4 -0
  433. package/dist/ionic/p-5ee2d7b1.entry.js +4 -0
  434. package/dist/ionic/p-5f216b79.entry.js +4 -0
  435. package/dist/ionic/p-61c799d1.entry.js +4 -0
  436. package/dist/ionic/p-63bbba8d.entry.js +4 -0
  437. package/dist/ionic/{p-ded69ceb.entry.js → p-6f048604.entry.js} +1 -1
  438. package/dist/ionic/p-70ee8888.entry.js +4 -0
  439. package/dist/ionic/p-72ad7c64.entry.js +4 -0
  440. package/dist/ionic/p-881b6954.entry.js +4 -0
  441. package/dist/ionic/p-8dd4c026.entry.js +4 -0
  442. package/dist/ionic/p-8e007f11.entry.js +4 -0
  443. package/dist/ionic/p-8f464a8f.entry.js +4 -0
  444. package/dist/ionic/p-8f51110d.entry.js +4 -0
  445. package/dist/ionic/p-90ba736e.entry.js +4 -0
  446. package/dist/ionic/p-9455207b.entry.js +4 -0
  447. package/dist/ionic/p-959df5f8.entry.js +4 -0
  448. package/dist/ionic/p-9e455875.entry.js +4 -0
  449. package/dist/ionic/{p-CBR_W98Z.js → p-9wczfs_v.js} +1 -1
  450. package/dist/ionic/p-B1Y7LZhV.js +4 -0
  451. package/dist/ionic/p-B5RyLYvl.js +4 -0
  452. package/dist/ionic/{p-CPcPmkGv.js → p-BQv5i5Kf.js} +1 -1
  453. package/{components/p-8FN7p701.js → dist/ionic/p-BZVE25Gu.js} +1 -1
  454. package/{components/p-DFvZn99E.js → dist/ionic/p-BZxjcGRP.js} +1 -1
  455. package/dist/ionic/p-B_gJaBk0.js +4 -0
  456. package/dist/ionic/p-BnGA34Pd.js +4 -0
  457. package/dist/ionic/p-ByLaqOPm.js +4 -0
  458. package/dist/ionic/p-C06QNN45.js +4 -0
  459. package/dist/ionic/p-C4IBDDj6.js +4 -0
  460. package/dist/ionic/p-CCVlNZ__.js +4 -0
  461. package/dist/ionic/{p-CMRtMbJc.js → p-CDBop-kz.js} +1 -1
  462. package/dist/ionic/p-CKYcsw8f.js +5 -0
  463. package/dist/ionic/p-CazSodad.js +4 -0
  464. package/{components/p-ia3IDdJS.js → dist/ionic/p-ClrlQU2y.js} +1 -1
  465. package/dist/ionic/{p-UIBJkZf8.js → p-D0YpjgON.js} +1 -1
  466. package/dist/ionic/p-D0dfUysx.js +4 -0
  467. package/dist/ionic/{p-BB0LlG4y.js → p-D9yvytgv.js} +1 -1
  468. package/{components/p-C5KYjZWD.js → dist/ionic/p-DF_Uqql8.js} +1 -1
  469. package/dist/ionic/p-DLLCmV-y.js +4 -0
  470. package/dist/ionic/{p-BYEAtHr-.js → p-DXJgZWgi.js} +1 -1
  471. package/dist/ionic/p-De0eY881.js +4 -0
  472. package/dist/ionic/p-DgUL3JbO.js +4 -0
  473. package/dist/ionic/{p-7CBuOvEo.js → p-RzUn7cKs.js} +1 -1
  474. package/dist/ionic/p-VquyMbjp.js +4 -0
  475. package/dist/ionic/p-a0fee899.entry.js +4 -0
  476. package/dist/ionic/p-a2fa2de2.entry.js +4 -0
  477. package/dist/ionic/p-a53b0908.entry.js +4 -0
  478. package/dist/ionic/p-a54bcd16.entry.js +4 -0
  479. package/dist/ionic/p-aebc4d69.entry.js +4 -0
  480. package/dist/ionic/p-b5f37106.entry.js +4 -0
  481. package/dist/ionic/{p-40424a88.entry.js → p-b62bfce8.entry.js} +1 -1
  482. package/dist/ionic/p-b875a59e.entry.js +4 -0
  483. package/dist/ionic/p-bbf6878c.entry.js +4 -0
  484. package/dist/ionic/p-c49165af.entry.js +4 -0
  485. package/dist/ionic/p-cad4eccf.entry.js +4 -0
  486. package/dist/ionic/p-cdc5115e.entry.js +4 -0
  487. package/dist/ionic/p-d3384a40.entry.js +4 -0
  488. package/dist/ionic/p-d8bae128.entry.js +4 -0
  489. package/dist/ionic/p-d8deff43.entry.js +4 -0
  490. package/dist/ionic/p-ddfb7e5f.entry.js +4 -0
  491. package/dist/ionic/p-e538f18d.entry.js +4 -0
  492. package/dist/ionic/p-f376876b.entry.js +4 -0
  493. package/dist/ionic/p-f3b671aa.entry.js +4 -0
  494. package/dist/ionic/p-f521b13c.entry.js +4 -0
  495. package/dist/ionic/p-f8713b2c.entry.js +4 -0
  496. package/dist/ionic/p-fbd83d4c.entry.js +4 -0
  497. package/dist/types/components/action-sheet/action-sheet.d.ts +10 -0
  498. package/dist/types/components/alert/alert.d.ts +7 -0
  499. package/dist/types/components/modal/modal.d.ts +8 -0
  500. package/dist/types/components/refresher/refresher.d.ts +4 -4
  501. package/dist/types/utils/overlays.d.ts +9 -0
  502. package/hydrate/index.js +5621 -8448
  503. package/hydrate/index.mjs +5621 -8448
  504. package/package.json +1 -1
  505. package/components/p--m5cCjbK.js +0 -4
  506. package/components/p-B4uHHhPK.js +0 -4
  507. package/components/p-BNJOu1Q2.js +0 -4
  508. package/components/p-BOvLNVKq.js +0 -4
  509. package/components/p-BeamQXHF.js +0 -4
  510. package/components/p-BjluhQMI.js +0 -4
  511. package/components/p-BlsIikdZ.js +0 -4
  512. package/components/p-BrD9Xv62.js +0 -4
  513. package/components/p-BvJqoZ5R.js +0 -4
  514. package/components/p-Bz6z3Asd.js +0 -4
  515. package/components/p-C6HnVvHO.js +0 -4
  516. package/components/p-C7jvh5Wy.js +0 -4
  517. package/components/p-C9BGR5fy.js +0 -4
  518. package/components/p-CB-y1CdP.js +0 -4
  519. package/components/p-CHH3loEE.js +0 -4
  520. package/components/p-CJKUWjmg.js +0 -4
  521. package/components/p-CMLAwl_N.js +0 -4
  522. package/components/p-CejmQs3h.js +0 -4
  523. package/components/p-CtZqa4HM.js +0 -4
  524. package/components/p-D9qIVSWm.js +0 -4
  525. package/components/p-DE-3iMNW.js +0 -4
  526. package/components/p-DHFt2rdc.js +0 -4
  527. package/components/p-D_RCyzwu.js +0 -4
  528. package/components/p-D_tD8r3L.js +0 -4
  529. package/components/p-DjCtLZbF.js +0 -4
  530. package/components/p-Dmd2xqCe.js +0 -4
  531. package/components/p-G6JR-cr_.js +0 -4
  532. package/components/p-GG5GhznE.js +0 -4
  533. package/components/p-TXPDHL13.js +0 -4
  534. package/components/p-_IKFD3ID.js +0 -4
  535. package/components/p-dKq2jIum.js +0 -4
  536. package/components/p-fruGqVHh.js +0 -4
  537. package/components/p-iYhH60Tc.js +0 -4
  538. package/dist/ionic/p-06ec7136.entry.js +0 -4
  539. package/dist/ionic/p-09fe4fa3.entry.js +0 -4
  540. package/dist/ionic/p-10d45a07.entry.js +0 -4
  541. package/dist/ionic/p-208c8a07.entry.js +0 -4
  542. package/dist/ionic/p-212474fa.entry.js +0 -4
  543. package/dist/ionic/p-2eef1396.entry.js +0 -4
  544. package/dist/ionic/p-347e005d.entry.js +0 -4
  545. package/dist/ionic/p-3b071259.entry.js +0 -4
  546. package/dist/ionic/p-4204184c.entry.js +0 -4
  547. package/dist/ionic/p-47464391.entry.js +0 -4
  548. package/dist/ionic/p-4f9c9126.entry.js +0 -4
  549. package/dist/ionic/p-5JsKPLJD.js +0 -4
  550. package/dist/ionic/p-5bc485c6.entry.js +0 -4
  551. package/dist/ionic/p-603a61e6.entry.js +0 -4
  552. package/dist/ionic/p-60576951.entry.js +0 -4
  553. package/dist/ionic/p-67a81d33.entry.js +0 -4
  554. package/dist/ionic/p-6affb775.entry.js +0 -4
  555. package/dist/ionic/p-6f120c25.entry.js +0 -4
  556. package/dist/ionic/p-71c82b60.entry.js +0 -4
  557. package/dist/ionic/p-79325ffe.entry.js +0 -4
  558. package/dist/ionic/p-7e4d51fa.entry.js +0 -4
  559. package/dist/ionic/p-7f5d4664.entry.js +0 -4
  560. package/dist/ionic/p-80ee82fc.entry.js +0 -4
  561. package/dist/ionic/p-84af7dbc.entry.js +0 -4
  562. package/dist/ionic/p-89ca830a.entry.js +0 -4
  563. package/dist/ionic/p-93b8ec8f.entry.js +0 -4
  564. package/dist/ionic/p-946f65c2.entry.js +0 -4
  565. package/dist/ionic/p-983b6c91.entry.js +0 -4
  566. package/dist/ionic/p-9c4b39fb.entry.js +0 -4
  567. package/dist/ionic/p-B1NEZUzQ.js +0 -4
  568. package/dist/ionic/p-B1ck5iy-.js +0 -4
  569. package/dist/ionic/p-B4FrqdW0.js +0 -4
  570. package/dist/ionic/p-C-94tAim.js +0 -4
  571. package/dist/ionic/p-C-eHZMYE.js +0 -4
  572. package/dist/ionic/p-CaRuIadB.js +0 -4
  573. package/dist/ionic/p-ChhhtsGZ.js +0 -5
  574. package/dist/ionic/p-CzS1qWve.js +0 -4
  575. package/dist/ionic/p-D94_RztK.js +0 -4
  576. package/dist/ionic/p-DjjfauRM.js +0 -4
  577. package/dist/ionic/p-DkUB-ROc.js +0 -4
  578. package/dist/ionic/p-DplOqGUv.js +0 -4
  579. package/dist/ionic/p-Dst_XmZh.js +0 -4
  580. package/dist/ionic/p-TXPDHL13.js +0 -4
  581. package/dist/ionic/p-a438b193.entry.js +0 -4
  582. package/dist/ionic/p-babaaaa7.entry.js +0 -4
  583. package/dist/ionic/p-be08d500.entry.js +0 -4
  584. package/dist/ionic/p-be9a4f51.entry.js +0 -4
  585. package/dist/ionic/p-c00d3092.entry.js +0 -4
  586. package/dist/ionic/p-c36dc8f5.entry.js +0 -4
  587. package/dist/ionic/p-c72a7e17.entry.js +0 -4
  588. package/dist/ionic/p-c8edd88c.entry.js +0 -4
  589. package/dist/ionic/p-ce0e380b.entry.js +0 -4
  590. package/dist/ionic/p-ce32912b.entry.js +0 -4
  591. package/dist/ionic/p-d07cf130.entry.js +0 -4
  592. package/dist/ionic/p-d27edeb3.entry.js +0 -4
  593. package/dist/ionic/p-d5d2c506.entry.js +0 -4
  594. package/dist/ionic/p-d5e31ca9.entry.js +0 -4
  595. package/dist/ionic/p-de91444f.entry.js +0 -4
  596. package/dist/ionic/p-df72866d.entry.js +0 -4
  597. package/dist/ionic/p-e47e3151.entry.js +0 -4
  598. package/dist/ionic/p-e621e5e8.entry.js +0 -4
  599. package/dist/ionic/p-eea9cf93.entry.js +0 -4
  600. package/dist/ionic/p-f402f5a4.entry.js +0 -4
  601. package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
  602. package/dist/ionic/p-ffb90460.entry.js +0 -4
@@ -4,12 +4,12 @@
4
4
  'use strict';
5
5
 
6
6
  var index$1 = require('./index-DkNv4J_i.js');
7
- var helpers = require('./helpers-YPQybDph.js');
8
- var hardwareBackButton = require('./hardware-back-button-fqpYh-kd.js');
9
- var index = require('./index-uvry__L4.js');
10
- var ionicGlobal = require('./ionic-global-k6hOWWpn.js');
11
- var frameworkDelegate = require('./framework-delegate-Dfo5XsGv.js');
12
- var gestureController = require('./gesture-controller-BDUH7687.js');
7
+ var helpers = require('./helpers-Dj5o76mq.js');
8
+ var hardwareBackButton = require('./hardware-back-button-JOAEFSzc.js');
9
+ var index = require('./index-BrVMoqUk.js');
10
+ var ionicGlobal = require('./ionic-global-DvgIzM2F.js');
11
+ var frameworkDelegate = require('./framework-delegate-BZUx4TnE.js');
12
+ var gestureController = require('./gesture-controller-CeJslptU.js');
13
13
 
14
14
  /**
15
15
  * This query string selects elements that
@@ -102,6 +102,15 @@ const activeAnimations = new WeakMap();
102
102
  const isBackdropAlwaysBlocking = (el) => {
103
103
  return el.showBackdrop !== false && !((el.backdropBreakpoint ?? 0) > 0);
104
104
  };
105
+ /**
106
+ * Whether the overlay takes the app root out of the accessibility tree and
107
+ * blocks body scroll while presented. Toasts never do, modal and popover can
108
+ * opt out with `focusTrap={false}`, and a backdrop that does not block
109
+ * (`showBackdrop={false}`, or a `backdropBreakpoint` above 0) is excluded.
110
+ */
111
+ const locksAppRoot = (el) => {
112
+ return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
113
+ };
105
114
  const createController = (tagName) => {
106
115
  return {
107
116
  create(options) {
@@ -472,6 +481,13 @@ const getPresentedOverlay = (doc, overlayTag, id) => {
472
481
  // Otherwise, return the last overlay with the given id
473
482
  return (id === undefined ? overlays : overlays.filter((o) => o.id === id)).slice(-1)[0];
474
483
  };
484
+ /**
485
+ * The element an app nests its views under. Overlays hide this rather than the
486
+ * whole root, so the overlay itself (a sibling) stays reachable.
487
+ */
488
+ const getViewContainer = () => {
489
+ return getAppRoot(document).querySelector('ion-router-outlet, #ion-view-container-root');
490
+ };
475
491
  /**
476
492
  * When an overlay is presented, the main
477
493
  * focus is the overlay not the page content.
@@ -495,8 +511,7 @@ const getPresentedOverlay = (doc, overlayTag, id) => {
495
511
  * for main content.
496
512
  */
497
513
  const setRootAriaHidden = (hidden = false) => {
498
- const root = getAppRoot(document);
499
- const viewContainer = root.querySelector('ion-router-outlet, #ion-view-container-root');
514
+ const viewContainer = getViewContainer();
500
515
  if (!viewContainer) {
501
516
  return;
502
517
  }
@@ -521,15 +536,40 @@ const cleanupRootFocusTrapAccessibility = () => {
521
536
  return;
522
537
  }
523
538
  const remainingOverlays = getPresentedOverlays(document);
524
- const hasRemainingLocking = remainingOverlays.some((o) => {
525
- const el = o;
526
- return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
527
- });
539
+ const hasRemainingLocking = remainingOverlays.some((o) => locksAppRoot(o));
528
540
  if (!hasRemainingLocking) {
529
541
  setRootAriaHidden(false);
530
542
  document.body.classList.remove(gestureController.BACKDROP_NO_SCROLL);
531
543
  }
532
544
  };
545
+ /**
546
+ * Shared by `present()` and the restore 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(gestureController.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
+ };
533
573
  const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
534
574
  if (overlay.presented) {
535
575
  return;
@@ -546,15 +586,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
546
586
  restoreElementFocus(overlay.el);
547
587
  }
548
588
  /**
549
- * Due to accessibility guidelines, toasts do not have
550
- * focus traps.
551
- *
552
- * All other overlays should have focus traps to prevent
553
- * the keyboard focus from leaving the overlay unless
554
- * developers explicitly opt out (for example, sheet
555
- * modals that should permit background interaction).
556
- *
557
- * Note: Some apps move inline overlays to a specific container
589
+ * Some apps move inline overlays to a specific container
558
590
  * during the willPresent lifecycle (e.g., React portals via
559
591
  * onWillPresent). Defer applying aria-hidden/inert to the app
560
592
  * root until after willPresent so we can detect where the
@@ -563,18 +595,11 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
563
595
  * to avoid disabling the overlay.
564
596
  */
565
597
  const overlayEl = overlay.el;
566
- const shouldTrapFocus = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false;
567
- const shouldLockRoot = shouldTrapFocus && isBackdropAlwaysBlocking(overlayEl);
598
+ const shouldLockRoot = locksAppRoot(overlayEl);
568
599
  overlay.presented = true;
569
600
  overlay.willPresent.emit();
570
601
  if (shouldLockRoot) {
571
- const root = getAppRoot(document);
572
- const viewContainer = root.querySelector('ion-router-outlet, #ion-view-container-root');
573
- const overlayInsideViewContainer = viewContainer ? viewContainer.contains(overlayEl) : false;
574
- if (!overlayInsideViewContainer) {
575
- setRootAriaHidden(true);
576
- }
577
- document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
602
+ applyRootLock(overlayEl);
578
603
  }
579
604
  overlay.willPresentShorthand?.emit();
580
605
  const mode = ionicGlobal.getIonMode(overlay);
@@ -700,12 +725,9 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
700
725
  * from the root element when the last focus-trapping overlay
701
726
  * is dismissed.
702
727
  */
703
- const overlaysLockingRoot = presentedOverlays.filter((o) => {
704
- const el = o;
705
- return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
706
- });
728
+ const overlaysLockingRoot = presentedOverlays.filter((o) => locksAppRoot(o));
707
729
  const overlayEl = overlay.el;
708
- const locksRoot = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false && isBackdropAlwaysBlocking(overlayEl);
730
+ const locksRoot = locksAppRoot(overlayEl);
709
731
  /**
710
732
  * If this is the last visible overlay that is trapping focus
711
733
  * then we want to re-add the root to the accessibility tree.
@@ -972,6 +994,7 @@ exports.modalController = modalController;
972
994
  exports.popoverController = popoverController;
973
995
  exports.prepareOverlay = prepareOverlay;
974
996
  exports.present = present;
997
+ exports.restoreRootFocusTrapAccessibility = restoreRootFocusTrapAccessibility;
975
998
  exports.safeCall = safeCall;
976
999
  exports.setOverlayId = setOverlayId;
977
1000
  exports.toastController = toastController;
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-uvry__L4.js');
7
- var index$1 = require('./index-B7zJsYWS.js');
6
+ var index = require('./index-BrVMoqUk.js');
7
+ var index$1 = require('./index-EJLjthTK.js');
8
8
 
9
9
  /**
10
10
  * Converts a DOM node into a Stencil VNode (or text string) so the
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-DkNv4J_i.js');
7
- var helpers = require('./helpers-YPQybDph.js');
7
+ var helpers = require('./helpers-Dj5o76mq.js');
8
8
  var dir = require('./dir-zwDPRE5K.js');
9
9
 
10
10
  /**
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-uvry__L4.js');
7
- var index$1 = require('./index-zVCah4Uz.js');
8
- var helpers = require('./helpers-YPQybDph.js');
6
+ var index = require('./index-BrVMoqUk.js');
7
+ var index$1 = require('./index-C8zH6b3d.js');
8
+ var helpers = require('./helpers-Dj5o76mq.js');
9
9
  require('./dir-zwDPRE5K.js');
10
10
 
11
11
  const startStatusTap = () => {
@@ -3,11 +3,11 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var helpers = require('./helpers-YPQybDph.js');
6
+ var helpers = require('./helpers-Dj5o76mq.js');
7
7
  var dir = require('./dir-zwDPRE5K.js');
8
- var index = require('./index-DwlRtFZe.js');
9
- require('./index-uvry__L4.js');
10
- require('./gesture-controller-BDUH7687.js');
8
+ var index = require('./index-DRPqwSvU.js');
9
+ require('./index-BrVMoqUk.js');
10
+ require('./gesture-controller-CeJslptU.js');
11
11
 
12
12
  const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
13
13
  const win = el.ownerDocument.defaultView;