@ionic/core 8.8.18-dev.11786361672.19605941 → 8.8.18-dev.11786399582.1d58c37d

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 (1143) 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-legacy-column.js +1 -1
  59. package/components/ion-picker-legacy.js +1 -1
  60. package/components/ion-picker.js +1 -1
  61. package/components/ion-popover.js +1 -1
  62. package/components/ion-progress-bar.js +1 -1
  63. package/components/ion-radio-group.js +1 -1
  64. package/components/ion-radio.js +1 -1
  65. package/components/ion-range.js +1 -1
  66. package/components/ion-refresher-content.js +1 -1
  67. package/components/ion-refresher.js +1 -1
  68. package/components/ion-reorder-group.js +1 -1
  69. package/components/ion-reorder.js +1 -1
  70. package/components/ion-ripple-effect.js +1 -1
  71. package/components/ion-route-redirect.js +1 -1
  72. package/components/ion-route.js +1 -1
  73. package/components/ion-router-link.js +1 -1
  74. package/components/ion-router-outlet.js +1 -1
  75. package/components/ion-router.js +1 -1
  76. package/components/ion-row.js +1 -1
  77. package/components/ion-searchbar.js +1 -1
  78. package/components/ion-segment-button.js +1 -1
  79. package/components/ion-segment-content.js +1 -1
  80. package/components/ion-segment-view.js +1 -1
  81. package/components/ion-segment.js +1 -1
  82. package/components/ion-select-modal.js +1 -1
  83. package/components/ion-select-option.js +1 -1
  84. package/components/ion-select-popover.js +1 -1
  85. package/components/ion-select.js +1 -1
  86. package/components/ion-skeleton-text.js +1 -1
  87. package/components/ion-spinner.js +1 -1
  88. package/components/ion-split-pane.js +1 -1
  89. package/components/ion-tab-bar.js +1 -1
  90. package/components/ion-tab-button.js +1 -1
  91. package/components/ion-tab.js +1 -1
  92. package/components/ion-tabs.js +1 -1
  93. package/components/ion-text.js +1 -1
  94. package/components/ion-textarea.js +1 -1
  95. package/components/ion-thumbnail.js +1 -1
  96. package/components/ion-title.js +1 -1
  97. package/components/ion-toast.js +1 -1
  98. package/components/ion-toggle.js +1 -1
  99. package/components/ion-toolbar.js +1 -1
  100. package/components/p--JUspHvy.js +4 -0
  101. package/components/p-A3O24YmY.js +4 -0
  102. package/components/p-ABkNVeU9.js +4 -0
  103. package/{dist/ionic/p-Cm20lBQw.js → components/p-B-JJgYSG.js} +1 -1
  104. package/components/p-B9jFTlwE.js +4 -0
  105. package/components/p-BLmJ0zRm.js +4 -0
  106. package/components/p-BMI53wYL.js +4 -0
  107. package/components/p-BSEgsdFI.js +4 -0
  108. package/{dist/ionic/p-Cipl19Qe.js → components/p-BkKAANMJ.js} +1 -1
  109. package/components/p-BlIAuGv2.js +4 -0
  110. package/components/p-BmVRXR1y.js +4 -0
  111. package/components/p-Bnsn6KaP.js +4 -0
  112. package/components/p-BsBCoGa-.js +4 -0
  113. package/components/p-Bz0dSlXZ.js +4 -0
  114. package/components/p-CHqRYvYm.js +4 -0
  115. package/components/p-CIGNaXM1.js +4 -0
  116. package/components/p-CO7fmmxt.js +4 -0
  117. package/components/p-CQGnMY3n.js +4 -0
  118. package/components/p-CSZf8_j0.js +4 -0
  119. package/components/{p-B_jBop0E.js → p-C_hpsif8.js} +1 -1
  120. package/components/p-C_xFdyXe.js +4 -0
  121. package/components/{p-BE21dB_a.js → p-Cf2jSDS8.js} +1 -1
  122. package/components/p-Cfx4M1Bn.js +4 -0
  123. package/components/{p-DWoO0801.js → p-ChIZKXUu.js} +1 -1
  124. package/components/p-CkMSOsFF.js +4 -0
  125. package/components/p-CmR5uXej.js +4 -0
  126. package/components/p-Cp4GRDqq.js +4 -0
  127. package/components/p-CsNJ1ULL.js +4 -0
  128. package/components/p-CtWGkNnJ.js +4 -0
  129. package/components/p-CzCbeKys.js +4 -0
  130. package/components/p-D-aHdMxW.js +4 -0
  131. package/components/p-D0d8qTwj.js +4 -0
  132. package/components/{p-D0fnq0lf.js → p-D13Eaw-8.js} +1 -1
  133. package/components/p-D3xo7hqU.js +4 -0
  134. package/components/p-D6Ynv7Xh.js +4 -0
  135. package/components/p-D7uN07a3.js +4 -0
  136. package/components/p-DCnGU1fF.js +4 -0
  137. package/components/p-DGvrK8dD.js +4 -0
  138. package/components/p-DJztqcrH.js +4 -0
  139. package/components/p-DOFCbuQR.js +4 -0
  140. package/components/p-DRxvM2Ic.js +4 -0
  141. package/components/p-DV5mPYQS.js +4 -0
  142. package/components/p-DWkAgceV.js +4 -0
  143. package/components/p-DiVJyqlX.js +4 -0
  144. package/components/{p-BZwQa9ey.js → p-DqLB8yFQ.js} +1 -1
  145. package/components/p-DqZAXv2t.js +4 -0
  146. package/components/{p-Bz4JFPmj.js → p-Osve4qkc.js} +1 -1
  147. package/components/p-R8zmRi4c.js +4 -0
  148. package/components/p-SLS1rDZM.js +4 -0
  149. package/components/p-ZjP4CjeZ.js +4 -0
  150. package/components/p-aJ6PBUvj.js +4 -0
  151. package/{dist/ionic/p-OkgYzj-7.js → components/p-cyNmxje6.js} +1 -1
  152. package/components/p-gAg0kXZp.js +4 -0
  153. package/components/p-gYiraiT_.js +4 -0
  154. package/components/p-j5IxBIan.js +4 -0
  155. package/components/p-k_E4tX5Z.js +4 -0
  156. package/components/p-oD4kcBRX.js +4 -0
  157. package/components/p-rCa2eL0j.js +4 -0
  158. package/components/p-vRBNsYbs.js +4 -0
  159. package/components/p-yEQxMl70.js +4 -0
  160. package/components/p-yzCsOZE2.js +4 -0
  161. package/css/core.css +1 -1
  162. package/css/core.css.map +1 -1
  163. package/css/display.css +1 -1
  164. package/css/display.css.map +1 -1
  165. package/css/flex-utils.css +1 -1
  166. package/css/flex-utils.css.map +1 -1
  167. package/css/float-elements.css.map +1 -1
  168. package/css/global.bundle.css.map +1 -1
  169. package/css/ionic-swiper.css +1 -1
  170. package/css/ionic-swiper.css.map +1 -1
  171. package/css/ionic.bundle.css +1 -1
  172. package/css/ionic.bundle.css.map +1 -1
  173. package/css/normalize.css.map +1 -1
  174. package/css/padding.css.map +1 -1
  175. package/css/palettes/dark.always.css.map +1 -1
  176. package/css/palettes/dark.class.css.map +1 -1
  177. package/css/palettes/dark.system.css.map +1 -1
  178. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  179. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  180. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  181. package/css/palettes/high-contrast.always.css.map +1 -1
  182. package/css/palettes/high-contrast.class.css.map +1 -1
  183. package/css/palettes/high-contrast.system.css.map +1 -1
  184. package/css/structure.css.map +1 -1
  185. package/css/text-alignment.css.map +1 -1
  186. package/css/text-transformation.css.map +1 -1
  187. package/css/typography.css.map +1 -1
  188. package/css/utils.bundle.css +1 -1
  189. package/css/utils.bundle.css.map +1 -1
  190. package/dist/cjs/{animation-B3xfVcDO.js → animation-Ch16T-Nb.js} +3 -3
  191. package/dist/cjs/{app-globals-3ZoCVkn-.js → app-globals-Dd89e0MR.js} +1 -1
  192. package/dist/cjs/{button-active-3tZKuPbT.js → button-active-COnxOe4X.js} +2 -2
  193. package/dist/cjs/{capacitor-CQSg1uCo.js → capacitor-DmA66EwP.js} +3 -3
  194. package/dist/cjs/config-D6C-KlA9.js +201 -0
  195. package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
  196. package/dist/cjs/{format-BCIkDef_.js → format-BUFWn4Bn.js} +1 -1
  197. package/dist/cjs/{framework-delegate-DC5nq_NN.js → framework-delegate-BgU6U9Ez.js} +2 -4
  198. package/dist/cjs/{haptic-eix26ESE.js → haptic-ClPPQ_PS.js} +1 -1
  199. package/dist/cjs/hardware-back-button-CXmUnTJC.js +121 -0
  200. package/dist/cjs/{helpers-DiOgV5hw.js → helpers-gntk8bfm.js} +4 -71
  201. package/dist/cjs/{index-BaJ7_YbC.js → index-BS2uhvhT.js} +4 -4
  202. package/dist/cjs/{index-GZU9YrFc.js → index-BfaXsATC.js} +241 -43
  203. package/dist/cjs/{index-bX3nz2vw.js → index-BhhuJ1Yx.js} +8 -9
  204. package/dist/cjs/{index-BxEZd5IE.js → index-BiRrzGDi.js} +34 -2
  205. package/dist/cjs/index-DkNv4J_i.js +10 -0
  206. package/dist/cjs/{index-CxDnX7hd.js → index-DqmRDbxg.js} +1 -3
  207. package/dist/cjs/{index-DYRcC3bw.js → index-ooS8B4p9.js} +15 -15
  208. package/dist/cjs/index.cjs.js +16 -16
  209. package/dist/cjs/{input-shims-BSEBw22J.js → input-shims-Bn1cXfCM.js} +17 -18
  210. package/dist/cjs/{input.utils-D68wgI2Y.js → input.utils-BwhxZooW.js} +5 -5
  211. package/dist/cjs/ion-accordion_2.cjs.entry.js +29 -61
  212. package/dist/cjs/ion-action-sheet.cjs.entry.js +22 -41
  213. package/dist/cjs/ion-alert.cjs.entry.js +41 -78
  214. package/dist/cjs/ion-app_8.cjs.entry.js +244 -458
  215. package/dist/cjs/ion-avatar_3.cjs.entry.js +13 -125
  216. package/dist/cjs/ion-back-button.cjs.entry.js +22 -31
  217. package/dist/cjs/ion-backdrop.cjs.entry.js +7 -10
  218. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +18 -54
  219. package/dist/cjs/ion-button_2.cjs.entry.js +24 -61
  220. package/dist/cjs/ion-card_5.cjs.entry.js +33 -55
  221. package/dist/cjs/ion-checkbox.cjs.entry.js +17 -34
  222. package/dist/cjs/ion-chip.cjs.entry.js +9 -50
  223. package/dist/cjs/ion-col_3.cjs.entry.js +57 -56
  224. package/dist/cjs/ion-datetime-button.cjs.entry.js +9 -13
  225. package/dist/cjs/ion-datetime_3.cjs.entry.js +51 -123
  226. package/dist/cjs/ion-fab_3.cjs.entry.js +28 -44
  227. package/dist/cjs/ion-img.cjs.entry.js +4 -8
  228. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -93
  229. package/dist/cjs/ion-input-otp.cjs.entry.js +9 -74
  230. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +15 -53
  231. package/dist/cjs/ion-input.cjs.entry.js +35 -146
  232. package/dist/cjs/ion-item-option_3.cjs.entry.js +52 -467
  233. package/dist/cjs/ion-item_8.cjs.entry.js +50 -121
  234. package/dist/cjs/ion-loading.cjs.entry.js +19 -22
  235. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -47
  236. package/dist/cjs/ion-modal.cjs.entry.js +215 -309
  237. package/dist/cjs/ion-nav_2.cjs.entry.js +11 -14
  238. package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -12
  239. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
  240. package/dist/cjs/ion-picker.cjs.entry.js +6 -10
  241. package/dist/cjs/ion-popover.cjs.entry.js +19 -21
  242. package/dist/cjs/ion-progress-bar.cjs.entry.js +9 -27
  243. package/dist/cjs/ion-radio_2.cjs.entry.js +18 -36
  244. package/dist/cjs/ion-range.cjs.entry.js +13 -20
  245. package/dist/cjs/ion-refresher_2.cjs.entry.js +24 -43
  246. package/dist/cjs/ion-reorder_2.cjs.entry.js +14 -38
  247. package/dist/cjs/ion-ripple-effect.cjs.entry.js +7 -15
  248. package/dist/cjs/ion-route_4.cjs.entry.js +10 -11
  249. package/dist/cjs/ion-searchbar.cjs.entry.js +27 -160
  250. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  251. package/dist/cjs/ion-segment-view.cjs.entry.js +3 -13
  252. package/dist/cjs/ion-segment_2.cjs.entry.js +16 -23
  253. package/dist/cjs/ion-select-modal.cjs.entry.js +38 -114
  254. package/dist/cjs/ion-select_3.cjs.entry.js +108 -557
  255. package/dist/cjs/ion-spinner.cjs.entry.js +8 -30
  256. package/dist/cjs/ion-split-pane.cjs.entry.js +9 -13
  257. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +28 -150
  258. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -8
  259. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  260. package/dist/cjs/ion-textarea.cjs.entry.js +23 -137
  261. package/dist/cjs/ion-toast.cjs.entry.js +46 -70
  262. package/dist/cjs/ion-toggle.cjs.entry.js +26 -82
  263. package/dist/cjs/ionic-global-BerQGEpE.js +151 -0
  264. package/dist/cjs/ionic.cjs.js +4 -4
  265. package/dist/cjs/{ios.transition-DpFQfFfT.js → ios.transition-IMJRwn29.js} +5 -7
  266. package/dist/cjs/{item-multiple-inputs-BG9f5_eV.js → item-multiple-inputs-jOJZE_I0.js} +1 -1
  267. package/dist/cjs/{keyboard-Bn0Ppim6.js → keyboard-UuAS4D_9.js} +1 -1
  268. package/dist/cjs/keyboard-controller-GXBiBRKS.js +167 -0
  269. package/dist/cjs/{keyboard-faZBQysj.js → keyboard-hHzlEQpk.js} +3 -4
  270. package/dist/cjs/loader.cjs.js +4 -4
  271. package/dist/cjs/{md.transition-ChJcoZUH.js → md.transition-CgQZxcoT.js} +5 -6
  272. package/dist/cjs/{notch-controller-BO0UGB4F.js → notch-controller-_SwR025y.js} +4 -4
  273. package/dist/cjs/{overlays-CFGbPUmE.js → overlays-DuSEMhIW.js} +18 -309
  274. package/dist/cjs/{status-tap-x2qDo5QR.js → status-tap-CSvBT7FV.js} +3 -4
  275. package/dist/cjs/{swipe-back-CvZt_4YX.js → swipe-back-CuIiziaa.js} +2 -3
  276. package/dist/cjs/{theme-IlOsGAz7.js → theme-CeDs6Hcv.js} +1 -25
  277. package/dist/cjs/validity-BpS37YFM.js +19 -0
  278. package/dist/collection/collection-manifest.json +1 -9
  279. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  280. package/dist/collection/components/accordion/accordion.js +27 -41
  281. package/dist/collection/components/accordion/accordion.md.css +59 -67
  282. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  283. package/dist/collection/components/accordion-group/accordion-group.js +8 -44
  284. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  285. package/dist/collection/components/action-sheet/action-sheet.ios.css +11 -367
  286. package/dist/collection/components/action-sheet/action-sheet.js +13 -32
  287. package/dist/collection/components/action-sheet/action-sheet.md.css +10 -306
  288. package/dist/collection/components/alert/alert.ios.css +19 -481
  289. package/dist/collection/components/alert/alert.js +30 -67
  290. package/dist/collection/components/alert/alert.md.css +29 -464
  291. package/dist/collection/components/app/app.js +83 -15
  292. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  293. package/dist/collection/components/avatar/avatar.js +4 -120
  294. package/dist/collection/components/avatar/avatar.md.css +0 -51
  295. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  296. package/dist/collection/components/back-button/back-button.js +19 -27
  297. package/dist/collection/components/back-button/back-button.md.css +48 -60
  298. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  299. package/dist/collection/components/backdrop/backdrop.js +6 -12
  300. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  301. package/dist/collection/components/badge/badge.ios.css +12 -137
  302. package/dist/collection/components/badge/badge.js +9 -145
  303. package/dist/collection/components/badge/badge.md.css +12 -122
  304. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  305. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
  306. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  307. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  308. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  309. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  310. package/dist/collection/components/button/button.ios.css +46 -154
  311. package/dist/collection/components/button/button.js +27 -63
  312. package/dist/collection/components/button/button.md.css +50 -150
  313. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  314. package/dist/collection/components/buttons/buttons.js +9 -15
  315. package/dist/collection/components/buttons/buttons.md.css +3 -55
  316. package/dist/collection/components/card/card.ios.css +14 -65
  317. package/dist/collection/components/card/card.js +10 -41
  318. package/dist/collection/components/card/card.md.css +14 -65
  319. package/dist/collection/components/card-content/card-content.ios.css +35 -20
  320. package/dist/collection/components/card-content/card-content.js +10 -12
  321. package/dist/collection/components/card-content/card-content.md.css +35 -20
  322. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  323. package/dist/collection/components/card-header/card-header.js +10 -13
  324. package/dist/collection/components/card-header/card-header.md.css +15 -27
  325. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  326. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  327. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  328. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  329. package/dist/collection/components/card-title/card-title.js +8 -11
  330. package/dist/collection/components/card-title/card-title.md.css +0 -73
  331. package/dist/collection/components/checkbox/checkbox.ios.css +117 -242
  332. package/dist/collection/components/checkbox/checkbox.js +14 -69
  333. package/dist/collection/components/checkbox/checkbox.md.css +118 -243
  334. package/dist/collection/components/chip/chip.ios.css +14 -67
  335. package/dist/collection/components/chip/chip.js +8 -108
  336. package/dist/collection/components/chip/chip.md.css +14 -67
  337. package/dist/collection/components/col/col.css +4 -192
  338. package/dist/collection/components/col/col.js +61 -211
  339. package/dist/collection/components/content/content.css +2 -47
  340. package/dist/collection/components/content/content.js +63 -17
  341. package/dist/collection/components/datetime/datetime.ios.css +106 -302
  342. package/dist/collection/components/datetime/datetime.js +26 -100
  343. package/dist/collection/components/datetime/datetime.md.css +96 -293
  344. package/dist/collection/components/datetime/utils/data.js +5 -5
  345. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  346. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  347. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  348. package/dist/collection/components/fab/fab.css +1 -25
  349. package/dist/collection/components/fab/fab.js +5 -9
  350. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  351. package/dist/collection/components/fab-button/fab-button.js +21 -36
  352. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  353. package/dist/collection/components/fab-list/fab-list.css +0 -12
  354. package/dist/collection/components/fab-list/fab-list.js +5 -9
  355. package/dist/collection/components/footer/footer.ios.css +6 -33
  356. package/dist/collection/components/footer/footer.js +25 -117
  357. package/dist/collection/components/footer/footer.md.css +0 -40
  358. package/dist/collection/components/grid/grid.css +0 -12
  359. package/dist/collection/components/grid/grid.js +5 -9
  360. package/dist/collection/components/header/header.ios.css +133 -178
  361. package/dist/collection/components/header/header.js +39 -181
  362. package/dist/collection/components/header/header.md.css +9 -199
  363. package/dist/collection/components/header/header.utils.js +13 -6
  364. package/dist/collection/components/img/img.js +2 -8
  365. package/dist/collection/components/infinite-scroll/infinite-scroll.js +5 -100
  366. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  367. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  368. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  369. package/dist/collection/components/input/input.ios.css +137 -224
  370. package/dist/collection/components/input/input.js +39 -172
  371. package/dist/collection/components/input/input.md.css +209 -194
  372. package/dist/collection/components/input-otp/input-otp.ios.css +60 -105
  373. package/dist/collection/components/input-otp/input-otp.js +7 -74
  374. package/dist/collection/components/input-otp/input-otp.md.css +60 -105
  375. package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
  376. package/dist/collection/components/item/item.ios.css +80 -120
  377. package/dist/collection/components/item/item.js +21 -56
  378. package/dist/collection/components/item/item.md.css +79 -131
  379. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  380. package/dist/collection/components/item-divider/item-divider.js +8 -11
  381. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  382. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  383. package/dist/collection/components/item-group/item-group.js +7 -13
  384. package/dist/collection/components/item-group/item-group.md.css +0 -12
  385. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  386. package/dist/collection/components/item-option/item-option.js +9 -73
  387. package/dist/collection/components/item-option/item-option.md.css +29 -136
  388. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  389. package/dist/collection/components/item-options/item-options.js +7 -13
  390. package/dist/collection/components/item-options/item-options.md.css +34 -77
  391. package/dist/collection/components/item-sliding/{item-sliding.native.css → item-sliding.css} +9 -84
  392. package/dist/collection/components/item-sliding/item-sliding.js +35 -421
  393. package/dist/collection/components/item-sliding/test/test.utils.js +0 -13
  394. package/dist/collection/components/label/label.ios.css +0 -18
  395. package/dist/collection/components/label/label.js +8 -11
  396. package/dist/collection/components/label/label.md.css +0 -18
  397. package/dist/collection/components/list/list.ios.css +14 -54
  398. package/dist/collection/components/list/list.js +9 -48
  399. package/dist/collection/components/list/list.md.css +16 -56
  400. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  401. package/dist/collection/components/list-header/list-header.js +8 -11
  402. package/dist/collection/components/list-header/list-header.md.css +38 -82
  403. package/dist/collection/components/loading/loading.ios.css +1 -13
  404. package/dist/collection/components/loading/loading.js +11 -14
  405. package/dist/collection/components/loading/loading.md.css +1 -13
  406. package/dist/collection/components/menu/menu.ios.css +3 -15
  407. package/dist/collection/components/menu/menu.js +7 -12
  408. package/dist/collection/components/menu/menu.md.css +3 -15
  409. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  410. package/dist/collection/components/menu-button/menu-button.js +10 -26
  411. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  412. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  413. package/dist/collection/components/modal/animations/sheet.js +2 -8
  414. package/dist/collection/components/modal/gestures/sheet.js +32 -102
  415. package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -32
  416. package/dist/collection/components/modal/gestures/utils.js +17 -0
  417. package/dist/collection/components/modal/modal.ios.css +70 -178
  418. package/dist/collection/components/modal/modal.js +34 -59
  419. package/dist/collection/components/modal/modal.md.css +70 -178
  420. package/dist/collection/components/modal/safe-area-utils.js +35 -0
  421. package/dist/collection/components/nav/nav.css +1 -7
  422. package/dist/collection/components/nav/nav.js +5 -11
  423. package/dist/collection/components/nav-link/nav-link.js +1 -5
  424. package/dist/collection/components/note/note.ios.css +0 -12
  425. package/dist/collection/components/note/note.js +8 -11
  426. package/dist/collection/components/note/note.md.css +0 -12
  427. package/dist/collection/components/picker/picker.ios.css +3 -15
  428. package/dist/collection/components/picker/picker.js +5 -8
  429. package/dist/collection/components/picker/picker.md.css +3 -15
  430. package/dist/collection/components/picker-column/picker-column.css +2 -9
  431. package/dist/collection/components/picker-column/picker-column.js +7 -8
  432. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  433. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  434. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  435. package/dist/collection/components/picker-legacy/picker.ios.css +1 -13
  436. package/dist/collection/components/picker-legacy/picker.js +6 -7
  437. package/dist/collection/components/picker-legacy/picker.md.css +1 -13
  438. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
  439. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  440. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
  441. package/dist/collection/components/popover/popover.ios.css +1 -29
  442. package/dist/collection/components/popover/popover.js +15 -18
  443. package/dist/collection/components/popover/popover.md.css +1 -29
  444. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  445. package/dist/collection/components/progress-bar/progress-bar.js +7 -43
  446. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  447. package/dist/collection/components/radio/radio.ios.css +102 -207
  448. package/dist/collection/components/radio/radio.js +9 -14
  449. package/dist/collection/components/radio/radio.md.css +102 -207
  450. package/dist/collection/components/radio-group/radio-group.ios.css +19 -43
  451. package/dist/collection/components/radio-group/radio-group.js +7 -48
  452. package/dist/collection/components/radio-group/radio-group.md.css +19 -43
  453. package/dist/collection/components/range/range.ios.css +85 -128
  454. package/dist/collection/components/range/range.js +10 -16
  455. package/dist/collection/components/range/range.md.css +85 -128
  456. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  457. package/dist/collection/components/refresher/refresher.js +10 -13
  458. package/dist/collection/components/refresher/refresher.md.css +2 -15
  459. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  460. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  461. package/dist/collection/components/reorder/reorder.js +6 -33
  462. package/dist/collection/components/reorder/reorder.md.css +0 -6
  463. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  464. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  465. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  466. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  467. package/dist/collection/components/route/route.js +0 -4
  468. package/dist/collection/components/router/router.js +0 -4
  469. package/dist/collection/components/router-link/router-link.css +2 -8
  470. package/dist/collection/components/router-link/router-link.js +5 -9
  471. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  472. package/dist/collection/components/router-outlet/router-outlet.js +3 -6
  473. package/dist/collection/components/row/row.css +0 -16
  474. package/dist/collection/components/row/row.js +2 -9
  475. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  476. package/dist/collection/components/searchbar/searchbar.js +37 -205
  477. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  478. package/dist/collection/components/segment/segment.ios.css +2 -45
  479. package/dist/collection/components/segment/segment.js +8 -11
  480. package/dist/collection/components/segment/segment.md.css +2 -45
  481. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  482. package/dist/collection/components/segment-button/segment-button.js +8 -11
  483. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  484. package/dist/collection/components/segment-content/segment-content.js +1 -1
  485. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  486. package/dist/collection/components/segment-view/segment-view.js +4 -13
  487. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  488. package/dist/collection/components/select/select.ios.css +176 -348
  489. package/dist/collection/components/select/select.js +92 -521
  490. package/dist/collection/components/select/select.md.css +178 -364
  491. package/dist/collection/components/select-modal/select-modal.ios.css +0 -466
  492. package/dist/collection/components/select-modal/select-modal.js +30 -126
  493. package/dist/collection/components/select-modal/select-modal.md.css +0 -394
  494. package/dist/collection/components/select-option/select-option.js +4 -72
  495. package/dist/collection/components/select-popover/select-popover.ios.css +20 -302
  496. package/dist/collection/components/select-popover/select-popover.js +29 -89
  497. package/dist/collection/components/select-popover/select-popover.md.css +0 -345
  498. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  499. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  500. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -78
  501. package/dist/collection/components/spinner/spinner.js +6 -47
  502. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  503. package/dist/collection/components/split-pane/split-pane.js +8 -15
  504. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  505. package/dist/collection/components/tab/tab.js +2 -6
  506. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -86
  507. package/dist/collection/components/tab-bar/tab-bar.js +15 -179
  508. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -86
  509. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  510. package/dist/collection/components/tab-button/tab-button.js +9 -54
  511. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  512. package/dist/collection/components/tabs/tabs.css +1 -7
  513. package/dist/collection/components/tabs/tabs.js +1 -4
  514. package/dist/collection/components/text/text.css +0 -6
  515. package/dist/collection/components/text/text.js +6 -7
  516. package/dist/collection/components/textarea/textarea.ios.css +158 -298
  517. package/dist/collection/components/textarea/textarea.js +24 -162
  518. package/dist/collection/components/textarea/textarea.md.css +159 -312
  519. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  520. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  521. package/dist/collection/components/title/title.ios.css +4 -32
  522. package/dist/collection/components/title/title.js +7 -13
  523. package/dist/collection/components/title/title.md.css +4 -39
  524. package/dist/collection/components/toast/animations/utils.js +1 -1
  525. package/dist/collection/components/toast/toast.ios.css +45 -84
  526. package/dist/collection/components/toast/toast.js +13 -76
  527. package/dist/collection/components/toast/toast.md.css +45 -84
  528. package/dist/collection/components/toggle/toggle.ios.css +127 -247
  529. package/dist/collection/components/toggle/toggle.js +18 -72
  530. package/dist/collection/components/toggle/toggle.md.css +127 -245
  531. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  532. package/dist/collection/components/toolbar/toolbar.js +13 -218
  533. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  534. package/dist/collection/global/ionic-global.js +13 -241
  535. package/dist/collection/utils/content/index.js +30 -0
  536. package/dist/collection/utils/focus-trap.js +2 -13
  537. package/dist/collection/utils/focus-visible.js +0 -22
  538. package/dist/collection/utils/forms/validity.js +0 -31
  539. package/dist/collection/utils/framework-delegate.js +1 -3
  540. package/dist/collection/utils/hardware-back-button.js +0 -15
  541. package/dist/collection/utils/helpers.js +3 -70
  542. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  543. package/dist/collection/utils/media.js +0 -1
  544. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  545. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  546. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  547. package/dist/collection/utils/overlays.js +8 -290
  548. package/dist/collection/utils/sanitization/index.js +18 -274
  549. package/dist/collection/utils/test/playwright/drag-element.js +9 -32
  550. package/dist/collection/utils/test/playwright/generator.js +23 -48
  551. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  552. package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -26
  553. package/dist/collection/utils/theme.js +1 -25
  554. package/dist/collection/utils/transition/ios.transition.js +0 -1
  555. package/dist/docs.json +287 -9091
  556. package/dist/esm/{animation-B2qdQ_ou.js → animation-DLJpuoEz.js} +2 -2
  557. package/dist/esm/{app-globals-DZ-iIjxA.js → app-globals-D0C5S4hU.js} +1 -1
  558. package/dist/esm/{button-active-BmajAby6.js → button-active-BSpTQmS9.js} +2 -2
  559. package/dist/esm/{capacitor-CtQSWUU0.js → capacitor-CFERIeaU.js} +1 -1
  560. package/dist/esm/config-DQCONYYp.js +195 -0
  561. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  562. package/dist/esm/{format-2WlZcMvG.js → format-CAmvpAez.js} +1 -1
  563. package/dist/esm/{framework-delegate-DO2QXccA.js → framework-delegate-FnPGymXL.js} +2 -4
  564. package/dist/esm/{haptic-DFgKNCce.js → haptic-DzAMWJuk.js} +1 -1
  565. package/dist/esm/hardware-back-button-B93Gru0Y.js +115 -0
  566. package/dist/esm/{helpers-DfF5_wJc.js → helpers-HEqiOzXb.js} +5 -71
  567. package/dist/esm/{index-BjaaZqVY.js → index-BRHzoo00.js} +3 -4
  568. package/dist/esm/{index-BIUWGRUl.js → index-B_dQk_WE.js} +4 -4
  569. package/dist/esm/{index-B4Kq2YNk.js → index-DV3sJJW8.js} +2 -3
  570. package/dist/esm/{index-KxK0gcRp.js → index-Dw-wN0Ja.js} +33 -3
  571. package/dist/esm/{index-Di034G4O.js → index-Q6UPU0Ay.js} +11 -11
  572. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  573. package/dist/esm/{index-C0EQceqV.js → index-tcQvqkiX.js} +222 -42
  574. package/dist/esm/index.js +14 -14
  575. package/dist/esm/{input-shims-DvNNw70a.js → input-shims-LXhI7LEx.js} +6 -7
  576. package/dist/esm/{input.utils-_LkBfBWt.js → input.utils-Y6NgW8bw.js} +3 -3
  577. package/dist/esm/ion-accordion_2.entry.js +29 -61
  578. package/dist/esm/ion-action-sheet.entry.js +22 -41
  579. package/dist/esm/ion-alert.entry.js +40 -77
  580. package/dist/esm/ion-app_8.entry.js +243 -457
  581. package/dist/esm/ion-avatar_3.entry.js +13 -125
  582. package/dist/esm/ion-back-button.entry.js +22 -31
  583. package/dist/esm/ion-backdrop.entry.js +7 -10
  584. package/dist/esm/ion-breadcrumb_2.entry.js +18 -54
  585. package/dist/esm/ion-button_2.entry.js +24 -61
  586. package/dist/esm/ion-card_5.entry.js +33 -55
  587. package/dist/esm/ion-checkbox.entry.js +17 -34
  588. package/dist/esm/ion-chip.entry.js +9 -50
  589. package/dist/esm/ion-col_3.entry.js +57 -56
  590. package/dist/esm/ion-datetime-button.entry.js +9 -13
  591. package/dist/esm/ion-datetime_3.entry.js +51 -123
  592. package/dist/esm/ion-fab_3.entry.js +28 -44
  593. package/dist/esm/ion-img.entry.js +4 -8
  594. package/dist/esm/ion-infinite-scroll_2.entry.js +16 -92
  595. package/dist/esm/ion-input-otp.entry.js +9 -74
  596. package/dist/esm/ion-input-password-toggle.entry.js +15 -53
  597. package/dist/esm/ion-input.entry.js +35 -146
  598. package/dist/esm/ion-item-option_3.entry.js +52 -467
  599. package/dist/esm/ion-item_8.entry.js +50 -121
  600. package/dist/esm/ion-loading.entry.js +18 -21
  601. package/dist/esm/ion-menu_3.entry.js +29 -47
  602. package/dist/esm/ion-modal.entry.js +181 -275
  603. package/dist/esm/ion-nav_2.entry.js +11 -14
  604. package/dist/esm/ion-picker-column-option.entry.js +8 -12
  605. package/dist/esm/ion-picker-column.entry.js +13 -13
  606. package/dist/esm/ion-picker.entry.js +6 -10
  607. package/dist/esm/ion-popover.entry.js +19 -21
  608. package/dist/esm/ion-progress-bar.entry.js +9 -27
  609. package/dist/esm/ion-radio_2.entry.js +18 -36
  610. package/dist/esm/ion-range.entry.js +13 -20
  611. package/dist/esm/ion-refresher_2.entry.js +22 -41
  612. package/dist/esm/ion-reorder_2.entry.js +14 -38
  613. package/dist/esm/ion-ripple-effect.entry.js +7 -15
  614. package/dist/esm/ion-route_4.entry.js +10 -11
  615. package/dist/esm/ion-searchbar.entry.js +27 -160
  616. package/dist/esm/ion-segment-content.entry.js +2 -2
  617. package/dist/esm/ion-segment-view.entry.js +3 -13
  618. package/dist/esm/ion-segment_2.entry.js +16 -23
  619. package/dist/esm/ion-select-modal.entry.js +38 -114
  620. package/dist/esm/ion-select_3.entry.js +108 -557
  621. package/dist/esm/ion-spinner.entry.js +8 -30
  622. package/dist/esm/ion-split-pane.entry.js +9 -13
  623. package/dist/esm/ion-tab-bar_2.entry.js +27 -149
  624. package/dist/esm/ion-tab_2.entry.js +7 -8
  625. package/dist/esm/ion-text.entry.js +7 -7
  626. package/dist/esm/ion-textarea.entry.js +23 -137
  627. package/dist/esm/ion-toast.entry.js +21 -45
  628. package/dist/esm/ion-toggle.entry.js +26 -82
  629. package/dist/esm/ionic-global-Cp_eT4sZ.js +146 -0
  630. package/dist/esm/ionic.js +5 -5
  631. package/dist/esm/{ios.transition-CgScDbsb.js → ios.transition-ClFrsIrS.js} +5 -7
  632. package/dist/esm/{item-multiple-inputs-C6onMFOo.js → item-multiple-inputs-DlNuqNJm.js} +1 -1
  633. package/dist/esm/{keyboard-CyyguLDw.js → keyboard-CUw4ekVy.js} +1 -1
  634. package/dist/esm/keyboard-controller-BaaVITYt.js +165 -0
  635. package/dist/esm/{keyboard-WJix-wcz.js → keyboard-ywgs5efA.js} +3 -4
  636. package/dist/esm/loader.js +5 -5
  637. package/dist/esm/{md.transition-DThqYazt.js → md.transition-D0msQmzI.js} +5 -6
  638. package/dist/esm/{notch-controller-MTblRxjD.js → notch-controller-DKDjU_O7.js} +2 -2
  639. package/dist/esm/{overlays-tv6nLsmk.js → overlays-Dg0q2_tJ.js} +15 -306
  640. package/dist/esm/{status-tap-CoPI1M2q.js → status-tap-vO-6s4Yp.js} +3 -4
  641. package/dist/esm/{swipe-back-qmvTRnSq.js → swipe-back-DQ1q5MgD.js} +2 -3
  642. package/dist/esm/{theme-DaJxRxSQ.js → theme-DiVJyqlX.js} +1 -25
  643. package/dist/esm/validity-DJztqcrH.js +17 -0
  644. package/dist/html.html-data.json +161 -2700
  645. package/dist/ionic/index.esm.js +1 -1
  646. package/dist/ionic/ionic.esm.js +1 -1
  647. package/dist/ionic/p-01f81ea5.entry.js +4 -0
  648. package/dist/ionic/p-06c232a4.entry.js +4 -0
  649. package/dist/ionic/p-0caa922c.entry.js +4 -0
  650. package/dist/ionic/p-0dc33652.entry.js +4 -0
  651. package/dist/ionic/p-0fa9c382.entry.js +4 -0
  652. package/dist/ionic/p-10e833ef.entry.js +4 -0
  653. package/dist/ionic/p-21eb76d5.entry.js +4 -0
  654. package/dist/ionic/p-27d30585.entry.js +4 -0
  655. package/dist/ionic/p-2a05aa64.entry.js +4 -0
  656. package/dist/ionic/p-2b204c59.entry.js +4 -0
  657. package/dist/ionic/p-2bb2cb18.entry.js +4 -0
  658. package/dist/ionic/p-2fa58e80.entry.js +4 -0
  659. package/dist/ionic/p-3353c229.entry.js +4 -0
  660. package/dist/ionic/p-34586ead.entry.js +4 -0
  661. package/dist/ionic/p-37e720da.entry.js +4 -0
  662. package/dist/ionic/p-390ca786.entry.js +4 -0
  663. package/dist/ionic/p-3ae5f277.entry.js +4 -0
  664. package/dist/ionic/p-4654ae1c.entry.js +4 -0
  665. package/dist/ionic/p-4745f534.entry.js +4 -0
  666. package/dist/ionic/p-4858af1f.entry.js +4 -0
  667. package/dist/ionic/p-4baa5b82.entry.js +4 -0
  668. package/dist/ionic/p-4e92a11f.entry.js +4 -0
  669. package/dist/ionic/p-50e1194a.entry.js +4 -0
  670. package/dist/ionic/p-5334df12.entry.js +4 -0
  671. package/dist/ionic/p-5d1da0a2.entry.js +4 -0
  672. package/dist/ionic/p-5e2f73ee.entry.js +4 -0
  673. package/dist/ionic/p-5eb8e86d.entry.js +4 -0
  674. package/dist/ionic/p-65ebdf1b.entry.js +4 -0
  675. package/dist/ionic/p-746fa988.entry.js +4 -0
  676. package/dist/ionic/p-75dc25ba.entry.js +4 -0
  677. package/dist/ionic/p-7c319341.entry.js +4 -0
  678. package/dist/ionic/p-829367ed.entry.js +4 -0
  679. package/dist/ionic/p-84d5ce05.entry.js +4 -0
  680. package/dist/ionic/p-874b4bd8.entry.js +4 -0
  681. package/dist/ionic/p-8eb8ee76.entry.js +4 -0
  682. package/dist/ionic/p-9eeaBrnk.js +4 -0
  683. package/dist/ionic/p-9f9db3a2.entry.js +4 -0
  684. package/dist/ionic/p-9fa3c405.entry.js +4 -0
  685. package/dist/ionic/p-BGqMS-oh.js +4 -0
  686. package/dist/ionic/p-BUFIpxKM.js +4 -0
  687. package/dist/ionic/p-BmVRXR1y.js +4 -0
  688. package/dist/ionic/{p-7k7Q1A38.js → p-C0eMdTCW.js} +1 -1
  689. package/dist/ionic/p-CFlfIb2g.js +4 -0
  690. package/dist/ionic/p-CIGNaXM1.js +4 -0
  691. package/{components/p-BPxMDyfV.js → dist/ionic/p-CKvCXMs9.js} +1 -1
  692. package/dist/ionic/p-CmcFnK-B.js +4 -0
  693. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  694. package/dist/ionic/p-Cx3IXROA.js +4 -0
  695. package/dist/ionic/p-D-3ycHmd.js +4 -0
  696. package/dist/ionic/{p-DQDmksdT.js → p-D13Eaw-8.js} +1 -1
  697. package/dist/ionic/p-D4uTWt4-.js +4 -0
  698. package/dist/ionic/p-DC3RagnA.js +4 -0
  699. package/dist/ionic/p-DIuEbVLu.js +4 -0
  700. package/dist/ionic/p-DJztqcrH.js +4 -0
  701. package/dist/ionic/p-DV3sJJW8.js +4 -0
  702. package/dist/ionic/p-DiVJyqlX.js +4 -0
  703. package/dist/ionic/p-DoJvtrbw.js +4 -0
  704. package/dist/ionic/p-DqN5EA2O.js +4 -0
  705. package/dist/ionic/p-DzWaWHGc.js +4 -0
  706. package/dist/ionic/p-KjNvRoEp.js +4 -0
  707. package/dist/ionic/p-Nqf6uvGh.js +4 -0
  708. package/dist/ionic/p-SNAkTDfm.js +4 -0
  709. package/{components/p-PCVpe9Tq.js → dist/ionic/p-VAemlbDS.js} +1 -1
  710. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  711. package/dist/ionic/p-a3bdcae6.entry.js +4 -0
  712. package/dist/ionic/p-aaeedb6b.entry.js +4 -0
  713. package/dist/ionic/p-af55a72f.entry.js +4 -0
  714. package/dist/ionic/p-b2020591.entry.js +4 -0
  715. package/dist/ionic/p-b9fadbfe.entry.js +4 -0
  716. package/dist/ionic/p-biz8zWmJ.js +4 -0
  717. package/dist/ionic/p-c0fb8edd.entry.js +4 -0
  718. package/dist/ionic/p-c38b648e.entry.js +4 -0
  719. package/dist/ionic/p-c4d8641b.entry.js +4 -0
  720. package/dist/ionic/p-c6e49f3f.entry.js +4 -0
  721. package/dist/ionic/p-ca2ab74d.entry.js +4 -0
  722. package/dist/ionic/p-d889ff6d.entry.js +4 -0
  723. package/dist/ionic/p-dfa8d673.entry.js +4 -0
  724. package/dist/ionic/p-ea56626d.entry.js +4 -0
  725. package/dist/ionic/p-ef4c3bee.entry.js +4 -0
  726. package/dist/ionic/p-f386f6ae.entry.js +4 -0
  727. package/dist/ionic/p-mjKAFv89.js +4 -0
  728. package/dist/ionic/p-tcQvqkiX.js +5 -0
  729. package/dist/ionic/p-uWtqTrG8.js +4 -0
  730. package/dist/ionic/p-viFHDgRs.js +4 -0
  731. package/dist/ionic/p-xWb6fgfq.js +4 -0
  732. package/dist/types/components/accordion/accordion.d.ts +3 -6
  733. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  734. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  735. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  736. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  737. package/dist/types/components/alert/alert.d.ts +2 -3
  738. package/dist/types/components/app/app.d.ts +5 -4
  739. package/dist/types/components/avatar/avatar.d.ts +0 -32
  740. package/dist/types/components/back-button/back-button.d.ts +1 -2
  741. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  742. package/dist/types/components/badge/badge.d.ts +1 -34
  743. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  744. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  745. package/dist/types/components/button/button.d.ts +8 -23
  746. package/dist/types/components/buttons/buttons.d.ts +1 -5
  747. package/dist/types/components/card/card.d.ts +1 -8
  748. package/dist/types/components/card-content/card-content.d.ts +1 -2
  749. package/dist/types/components/card-header/card-header.d.ts +2 -3
  750. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  751. package/dist/types/components/card-title/card-title.d.ts +1 -2
  752. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  753. package/dist/types/components/chip/chip.d.ts +1 -26
  754. package/dist/types/components/col/col.d.ts +5 -52
  755. package/dist/types/components/content/content.d.ts +12 -3
  756. package/dist/types/components/datetime/datetime.d.ts +6 -27
  757. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  758. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  759. package/dist/types/components/fab/fab.d.ts +0 -4
  760. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  761. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  762. package/dist/types/components/footer/footer.d.ts +3 -20
  763. package/dist/types/components/grid/grid.d.ts +0 -4
  764. package/dist/types/components/header/header.d.ts +3 -26
  765. package/dist/types/components/header/header.utils.d.ts +5 -4
  766. package/dist/types/components/img/img.d.ts +0 -3
  767. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  768. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  769. package/dist/types/components/input/input.d.ts +5 -37
  770. package/dist/types/components/input-otp/input-otp.d.ts +0 -37
  771. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  772. package/dist/types/components/item/item.d.ts +4 -11
  773. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  774. package/dist/types/components/item-group/item-group.d.ts +0 -4
  775. package/dist/types/components/item-option/item-option.d.ts +1 -18
  776. package/dist/types/components/item-options/item-options.d.ts +0 -4
  777. package/dist/types/components/item-sliding/item-sliding.d.ts +1 -47
  778. package/dist/types/components/item-sliding/test/test.utils.d.ts +0 -13
  779. package/dist/types/components/label/label.d.ts +1 -2
  780. package/dist/types/components/list/list.d.ts +1 -15
  781. package/dist/types/components/list-header/list-header.d.ts +1 -2
  782. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  783. package/dist/types/components/loading/loading.d.ts +2 -3
  784. package/dist/types/components/menu/menu.d.ts +0 -3
  785. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  786. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  787. package/dist/types/components/modal/gestures/sheet.d.ts +2 -1
  788. package/dist/types/components/modal/gestures/utils.d.ts +11 -0
  789. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  790. package/dist/types/components/modal/modal.d.ts +7 -14
  791. package/dist/types/components/modal/safe-area-utils.d.ts +6 -0
  792. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  793. package/dist/types/components/nav/nav.d.ts +1 -5
  794. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  795. package/dist/types/components/note/note.d.ts +1 -2
  796. package/dist/types/components/picker/picker.d.ts +1 -2
  797. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  798. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  799. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  800. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  801. package/dist/types/components/popover/popover.d.ts +5 -6
  802. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  803. package/dist/types/components/radio/radio.d.ts +1 -2
  804. package/dist/types/components/radio-group/radio-group.d.ts +0 -12
  805. package/dist/types/components/range/range.d.ts +1 -2
  806. package/dist/types/components/refresher/refresher.d.ts +1 -2
  807. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  808. package/dist/types/components/reorder/reorder.d.ts +0 -9
  809. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  810. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  811. package/dist/types/components/route/route.d.ts +0 -4
  812. package/dist/types/components/router/router.d.ts +0 -4
  813. package/dist/types/components/router-link/router-link.d.ts +0 -4
  814. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  815. package/dist/types/components/row/row.d.ts +0 -4
  816. package/dist/types/components/searchbar/searchbar.d.ts +10 -59
  817. package/dist/types/components/segment/segment.d.ts +1 -2
  818. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  819. package/dist/types/components/select/select-interface.d.ts +0 -31
  820. package/dist/types/components/select/select.d.ts +13 -66
  821. package/dist/types/components/select-modal/select-modal.d.ts +0 -8
  822. package/dist/types/components/select-option/select-option.d.ts +1 -45
  823. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  824. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  825. package/dist/types/components/spinner/spinner.d.ts +0 -15
  826. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  827. package/dist/types/components/tab/tab.d.ts +0 -4
  828. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +0 -1
  829. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -41
  830. package/dist/types/components/tab-button/tab-button.d.ts +1 -12
  831. package/dist/types/components/tabs/tabs.d.ts +0 -3
  832. package/dist/types/components/text/text.d.ts +1 -2
  833. package/dist/types/components/textarea/textarea.d.ts +4 -53
  834. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  835. package/dist/types/components/title/title.d.ts +0 -4
  836. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  837. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  838. package/dist/types/components/toast/toast.d.ts +2 -19
  839. package/dist/types/components/toggle/toggle.d.ts +1 -15
  840. package/dist/types/components/toolbar/toolbar.d.ts +3 -43
  841. package/dist/types/components.d.ts +212 -1883
  842. package/dist/types/global/ionic-global.d.ts +2 -28
  843. package/dist/types/interface.d.ts +0 -3
  844. package/dist/types/utils/config.d.ts +2 -106
  845. package/dist/types/utils/content/index.d.ts +12 -0
  846. package/dist/types/utils/focus-trap.d.ts +1 -1
  847. package/dist/types/utils/focus-visible.d.ts +0 -13
  848. package/dist/types/utils/forms/validity.d.ts +0 -7
  849. package/dist/types/utils/helpers.d.ts +0 -22
  850. package/dist/types/utils/overlays-interface.d.ts +1 -31
  851. package/dist/types/utils/overlays.d.ts +1 -1
  852. package/dist/types/utils/sanitization/index.d.ts +2 -58
  853. package/dist/types/utils/test/playwright/drag-element.d.ts +3 -16
  854. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  855. package/dist/types/utils/theme.d.ts +0 -9
  856. package/hydrate/index.js +1555 -6458
  857. package/hydrate/index.mjs +1555 -6458
  858. package/package.json +7 -10
  859. package/components/ion-divider.d.ts +0 -11
  860. package/components/ion-divider.js +0 -4
  861. package/components/ion-gallery-item.d.ts +0 -11
  862. package/components/ion-gallery-item.js +0 -4
  863. package/components/ion-gallery.d.ts +0 -11
  864. package/components/ion-gallery.js +0 -4
  865. package/components/p-3VXQGlP7.js +0 -4
  866. package/components/p-B2SvA6NE.js +0 -4
  867. package/components/p-B5krYTuW.js +0 -4
  868. package/components/p-B6a9IJZ0.js +0 -4
  869. package/components/p-BArGQkuV.js +0 -4
  870. package/components/p-BDqjX7Z_.js +0 -4
  871. package/components/p-BG-Q139o.js +0 -4
  872. package/components/p-BWH3I3Dl.js +0 -4
  873. package/components/p-BYSs-jZz.js +0 -4
  874. package/components/p-BbVhJs-a.js +0 -4
  875. package/components/p-Bc6odfwr.js +0 -4
  876. package/components/p-BjW8SOqw.js +0 -4
  877. package/components/p-BkWXBpOv.js +0 -4
  878. package/components/p-Bt9GDUv-.js +0 -4
  879. package/components/p-BvNVjXg4.js +0 -4
  880. package/components/p-BwKpO3Is.js +0 -4
  881. package/components/p-BwlU9cX_.js +0 -4
  882. package/components/p-CBxy8OYq.js +0 -4
  883. package/components/p-CGdeq57o.js +0 -4
  884. package/components/p-CHPdgLHZ.js +0 -4
  885. package/components/p-CMZlqiT7.js +0 -4
  886. package/components/p-CMzkbes2.js +0 -4
  887. package/components/p-CODBQrPj.js +0 -4
  888. package/components/p-COPA4jD9.js +0 -4
  889. package/components/p-CPnW-OVE.js +0 -4
  890. package/components/p-CRmBpp1v.js +0 -4
  891. package/components/p-CT3P-wjL.js +0 -4
  892. package/components/p-CVYFPBs-.js +0 -4
  893. package/components/p-CVqhQif1.js +0 -4
  894. package/components/p-Cc3oC60a.js +0 -4
  895. package/components/p-CjY4Hs1X.js +0 -4
  896. package/components/p-CrYjk-l3.js +0 -4
  897. package/components/p-CsUcWJuB.js +0 -4
  898. package/components/p-D0Iqw6OZ.js +0 -4
  899. package/components/p-D1kNlmYt.js +0 -4
  900. package/components/p-D1t981Ih.js +0 -4
  901. package/components/p-D9C5yWpF.js +0 -4
  902. package/components/p-DDNG-IsR.js +0 -4
  903. package/components/p-DJSp7Si8.js +0 -4
  904. package/components/p-DL5wyRub.js +0 -4
  905. package/components/p-DXKZXLjV.js +0 -4
  906. package/components/p-DaJxRxSQ.js +0 -4
  907. package/components/p-Dhi5xtNS.js +0 -4
  908. package/components/p-Do8qRv6r.js +0 -4
  909. package/components/p-Dt--PjSF.js +0 -4
  910. package/components/p-DylrHLJF.js +0 -4
  911. package/components/p-FCT_QxQG.js +0 -4
  912. package/components/p-OCde3AhO.js +0 -4
  913. package/components/p-OPFCgx0m.js +0 -4
  914. package/components/p-Rkm2AOZ2.js +0 -4
  915. package/components/p-WSZErkoI.js +0 -4
  916. package/components/p-bHSMZulH.js +0 -4
  917. package/components/p-fIOYmaqA.js +0 -4
  918. package/components/p-hNcst9K9.js +0 -4
  919. package/components/p-hW_3y-wm.js +0 -4
  920. package/components/p-nLMDgmzd.js +0 -4
  921. package/components/p-oI96rnOD.js +0 -4
  922. package/components/p-r_CFQBc1.js +0 -4
  923. package/components/p-vXpMhGrs.js +0 -4
  924. package/components/p-zBZRdRDd.js +0 -4
  925. package/css/ionic/bundle.ionic.css +0 -1
  926. package/css/ionic/bundle.ionic.css.map +0 -1
  927. package/css/ionic/core.ionic.css +0 -1
  928. package/css/ionic/core.ionic.css.map +0 -1
  929. package/css/ionic/global.bundle.ionic.css +0 -1
  930. package/css/ionic/global.bundle.ionic.css.map +0 -1
  931. package/css/ionic/ionic-swiper.ionic.css +0 -1
  932. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  933. package/css/ionic/link.ionic.css +0 -1
  934. package/css/ionic/link.ionic.css.map +0 -1
  935. package/css/ionic/structure.ionic.css +0 -1
  936. package/css/ionic/structure.ionic.css.map +0 -1
  937. package/css/ionic/typography.ionic.css +0 -1
  938. package/css/ionic/typography.ionic.css.map +0 -1
  939. package/css/ionic/utils.bundle.ionic.css +0 -1
  940. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  941. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  942. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  943. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  944. package/dist/cjs/config-DWdFbSNK.js +0 -35
  945. package/dist/cjs/index-Bj07IRTB.js +0 -429
  946. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  947. package/dist/cjs/ion-gallery-item.cjs.entry.js +0 -59
  948. package/dist/cjs/ion-gallery.cjs.entry.js +0 -607
  949. package/dist/cjs/ionic-global-QoUqobrQ.js +0 -519
  950. package/dist/cjs/list-a-7GSA6K.js +0 -8
  951. package/dist/cjs/overlay-control-label-DnRLQR1t.js +0 -52
  952. package/dist/cjs/scroll-hide-controller-G9HOmmhN.js +0 -345
  953. package/dist/cjs/select-option-render-DqBHEjDn.js +0 -124
  954. package/dist/cjs/validity-QmuwEptc.js +0 -51
  955. package/dist/cjs/x-BTF99yFH.js +0 -8
  956. package/dist/collection/components/accordion/accordion.ionic.css +0 -201
  957. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  958. package/dist/collection/components/action-sheet/action-sheet.ionic.css +0 -494
  959. package/dist/collection/components/alert/alert.ionic.css +0 -787
  960. package/dist/collection/components/avatar/avatar.ionic.css +0 -385
  961. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  962. package/dist/collection/components/badge/badge.ionic.css +0 -272
  963. package/dist/collection/components/button/button.ionic.css +0 -644
  964. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  965. package/dist/collection/components/card/card.ionic.css +0 -144
  966. package/dist/collection/components/card-content/card-content.ionic.css +0 -89
  967. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  968. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  969. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -543
  970. package/dist/collection/components/chip/chip.ionic.css +0 -217
  971. package/dist/collection/components/datetime/datetime.ionic.css +0 -703
  972. package/dist/collection/components/divider/divider.ionic.css +0 -148
  973. package/dist/collection/components/divider/divider.ios.css +0 -87
  974. package/dist/collection/components/divider/divider.js +0 -94
  975. package/dist/collection/components/divider/divider.md.css +0 -87
  976. package/dist/collection/components/footer/footer-interface.js +0 -1
  977. package/dist/collection/components/gallery/gallery-constants.js +0 -12
  978. package/dist/collection/components/gallery/gallery-interface.js +0 -1
  979. package/dist/collection/components/gallery/gallery.css +0 -15
  980. package/dist/collection/components/gallery/gallery.js +0 -679
  981. package/dist/collection/components/gallery/test/utils.js +0 -100
  982. package/dist/collection/components/gallery-item/gallery-item.css +0 -49
  983. package/dist/collection/components/gallery-item/gallery-item.js +0 -99
  984. package/dist/collection/components/header/header-interface.js +0 -1
  985. package/dist/collection/components/header/header.ionic.css +0 -250
  986. package/dist/collection/components/input/input.ionic.css +0 -891
  987. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -371
  988. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  989. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  990. package/dist/collection/components/item/item.ionic.css +0 -496
  991. package/dist/collection/components/item-option/item-option.ionic.css +0 -277
  992. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  993. package/dist/collection/components/item-sliding/item-sliding.ionic.css +0 -211
  994. package/dist/collection/components/list/list.ionic.css +0 -212
  995. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  996. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  997. package/dist/collection/components/modal/animations/ionic.enter.js +0 -40
  998. package/dist/collection/components/modal/animations/ionic.leave.js +0 -28
  999. package/dist/collection/components/modal/modal.ionic.css +0 -255
  1000. package/dist/collection/components/popover/popover.ionic.css +0 -290
  1001. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  1002. package/dist/collection/components/radio/radio.ionic.css +0 -422
  1003. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
  1004. package/dist/collection/components/range/range.ionic.css +0 -567
  1005. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  1006. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -622
  1007. package/dist/collection/components/segment/segment.ionic.css +0 -115
  1008. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -352
  1009. package/dist/collection/components/select/select.ionic.css +0 -809
  1010. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -257
  1011. package/dist/collection/components/select-popover/select-popover.ionic.css +0 -255
  1012. package/dist/collection/components/spinner/spinner.native.css +0 -199
  1013. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -249
  1014. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -373
  1015. package/dist/collection/components/textarea/textarea.ionic.css +0 -898
  1016. package/dist/collection/components/title/title.ionic.css +0 -127
  1017. package/dist/collection/components/toast/toast.ionic.css +0 -394
  1018. package/dist/collection/components/toggle/toggle.ionic.css +0 -512
  1019. package/dist/collection/components/toolbar/test/image.svg +0 -1
  1020. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -249
  1021. package/dist/collection/utils/css-value-validation.js +0 -39
  1022. package/dist/collection/utils/overlay-control-label.js +0 -47
  1023. package/dist/collection/utils/scroll-hide-controller.js +0 -178
  1024. package/dist/collection/utils/select-option-render.js +0 -119
  1025. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  1026. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  1027. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  1028. package/dist/esm/config-BwKpO3Is.js +0 -31
  1029. package/dist/esm/index-Mq5pCWmZ.js +0 -424
  1030. package/dist/esm/ion-divider.entry.js +0 -49
  1031. package/dist/esm/ion-gallery-item.entry.js +0 -57
  1032. package/dist/esm/ion-gallery.entry.js +0 -605
  1033. package/dist/esm/ionic-global-BpkTponr.js +0 -508
  1034. package/dist/esm/list-Dhi5xtNS.js +0 -6
  1035. package/dist/esm/overlay-control-label-CODBQrPj.js +0 -49
  1036. package/dist/esm/scroll-hide-controller-CUNW7EpD.js +0 -342
  1037. package/dist/esm/select-option-render-BlKZ2H83.js +0 -122
  1038. package/dist/esm/validity-BjW8SOqw.js +0 -48
  1039. package/dist/esm/x-BDqjX7Z_.js +0 -6
  1040. package/dist/ionic/p--sroV-k-.js +0 -4
  1041. package/dist/ionic/p-05ce9821.entry.js +0 -4
  1042. package/dist/ionic/p-085b8cdf.entry.js +0 -4
  1043. package/dist/ionic/p-0ef6bfc4.entry.js +0 -4
  1044. package/dist/ionic/p-176d37f8.entry.js +0 -4
  1045. package/dist/ionic/p-18b7771e.entry.js +0 -4
  1046. package/dist/ionic/p-19f34fe5.entry.js +0 -4
  1047. package/dist/ionic/p-1b6e3914.entry.js +0 -4
  1048. package/dist/ionic/p-2740db6e.entry.js +0 -4
  1049. package/dist/ionic/p-2a1abbb1.entry.js +0 -4
  1050. package/dist/ionic/p-2d9c681b.entry.js +0 -4
  1051. package/dist/ionic/p-2fba8f15.entry.js +0 -4
  1052. package/dist/ionic/p-3886bfbe.entry.js +0 -4
  1053. package/dist/ionic/p-3ab9c35a.entry.js +0 -4
  1054. package/dist/ionic/p-3b4c5cb5.entry.js +0 -4
  1055. package/dist/ionic/p-3cfb4ff2.entry.js +0 -4
  1056. package/dist/ionic/p-41afaf15.entry.js +0 -4
  1057. package/dist/ionic/p-47b9dac0.entry.js +0 -4
  1058. package/dist/ionic/p-54419365.entry.js +0 -4
  1059. package/dist/ionic/p-54b7972e.entry.js +0 -4
  1060. package/dist/ionic/p-602cf876.entry.js +0 -4
  1061. package/dist/ionic/p-678ee14a.entry.js +0 -4
  1062. package/dist/ionic/p-679c1448.entry.js +0 -4
  1063. package/dist/ionic/p-68ea8ed1.entry.js +0 -4
  1064. package/dist/ionic/p-6e1ec775.entry.js +0 -4
  1065. package/dist/ionic/p-745d6b2b.entry.js +0 -4
  1066. package/dist/ionic/p-77254b78.entry.js +0 -4
  1067. package/dist/ionic/p-89fedfda.entry.js +0 -4
  1068. package/dist/ionic/p-8cf82b85.entry.js +0 -4
  1069. package/dist/ionic/p-8d5fd199.entry.js +0 -4
  1070. package/dist/ionic/p-9087119f.entry.js +0 -4
  1071. package/dist/ionic/p-9c508a22.entry.js +0 -4
  1072. package/dist/ionic/p-B4Kq2YNk.js +0 -4
  1073. package/dist/ionic/p-BDSH5ckF.js +0 -4
  1074. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  1075. package/dist/ionic/p-BFy_BK46.js +0 -4
  1076. package/dist/ionic/p-BYSs-jZz.js +0 -4
  1077. package/dist/ionic/p-BjW8SOqw.js +0 -4
  1078. package/dist/ionic/p-BlZo7Gy-.js +0 -4
  1079. package/dist/ionic/p-Bq8S4vhI.js +0 -4
  1080. package/dist/ionic/p-BwKpO3Is.js +0 -4
  1081. package/dist/ionic/p-C0EQceqV.js +0 -5
  1082. package/dist/ionic/p-C1I_d964.js +0 -4
  1083. package/dist/ionic/p-CB91Gr9M.js +0 -4
  1084. package/dist/ionic/p-CEkwLb3L.js +0 -4
  1085. package/dist/ionic/p-CJsJQPQD.js +0 -4
  1086. package/dist/ionic/p-CODBQrPj.js +0 -4
  1087. package/dist/ionic/p-Ch7MBNn_.js +0 -4
  1088. package/dist/ionic/p-CnAWnbNK.js +0 -4
  1089. package/dist/ionic/p-D1t981Ih.js +0 -4
  1090. package/dist/ionic/p-D4MT1z4_.js +0 -4
  1091. package/dist/ionic/p-D4veLKCq.js +0 -4
  1092. package/dist/ionic/p-DF7ubVci.js +0 -4
  1093. package/dist/ionic/p-DMaSfupH.js +0 -4
  1094. package/dist/ionic/p-DTsDGZPd.js +0 -4
  1095. package/dist/ionic/p-DaJxRxSQ.js +0 -4
  1096. package/dist/ionic/p-DdCaKRle.js +0 -4
  1097. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  1098. package/dist/ionic/p-Dy243NXW.js +0 -4
  1099. package/dist/ionic/p-YIsE5bNG.js +0 -4
  1100. package/dist/ionic/p-a4af8e39.entry.js +0 -4
  1101. package/dist/ionic/p-b2368a93.entry.js +0 -4
  1102. package/dist/ionic/p-b275f17e.entry.js +0 -4
  1103. package/dist/ionic/p-c5635175.entry.js +0 -4
  1104. package/dist/ionic/p-c76d57fb.entry.js +0 -4
  1105. package/dist/ionic/p-ca3a07b5.entry.js +0 -4
  1106. package/dist/ionic/p-ced3cda1.entry.js +0 -4
  1107. package/dist/ionic/p-cf22e991.entry.js +0 -4
  1108. package/dist/ionic/p-d0c1d21d.entry.js +0 -4
  1109. package/dist/ionic/p-d0d42da6.entry.js +0 -4
  1110. package/dist/ionic/p-d1de76b8.entry.js +0 -4
  1111. package/dist/ionic/p-d33dfc12.entry.js +0 -4
  1112. package/dist/ionic/p-d34bfb61.entry.js +0 -4
  1113. package/dist/ionic/p-dbc08f67.entry.js +0 -4
  1114. package/dist/ionic/p-dc8e0b91.entry.js +0 -4
  1115. package/dist/ionic/p-df642ef5.entry.js +0 -4
  1116. package/dist/ionic/p-e04d63e1.entry.js +0 -4
  1117. package/dist/ionic/p-e3615478.entry.js +0 -4
  1118. package/dist/ionic/p-f1810d29.entry.js +0 -4
  1119. package/dist/ionic/p-f1a8aead.entry.js +0 -4
  1120. package/dist/ionic/p-f69af9d3.entry.js +0 -4
  1121. package/dist/ionic/p-f8001f8f.entry.js +0 -4
  1122. package/dist/ionic/p-f8b63ebb.entry.js +0 -4
  1123. package/dist/ionic/p-fIOYmaqA.js +0 -4
  1124. package/dist/ionic/p-fc6d26ff.entry.js +0 -4
  1125. package/dist/ionic/p-im8OkZlj.js +0 -4
  1126. package/dist/ionic/p-lMb_45ax.js +0 -4
  1127. package/dist/ionic/p-oUgyLDGL.js +0 -4
  1128. package/dist/ionic/p-vXpMhGrs.js +0 -4
  1129. package/dist/types/components/divider/divider.d.ts +0 -20
  1130. package/dist/types/components/footer/footer-interface.d.ts +0 -1
  1131. package/dist/types/components/gallery/gallery-constants.d.ts +0 -9
  1132. package/dist/types/components/gallery/gallery-interface.d.ts +0 -10
  1133. package/dist/types/components/gallery/gallery.d.ts +0 -218
  1134. package/dist/types/components/gallery/test/utils.d.ts +0 -3
  1135. package/dist/types/components/gallery-item/gallery-item.d.ts +0 -33
  1136. package/dist/types/components/header/header-interface.d.ts +0 -1
  1137. package/dist/types/components/modal/animations/ionic.enter.d.ts +0 -6
  1138. package/dist/types/components/modal/animations/ionic.leave.d.ts +0 -6
  1139. package/dist/types/utils/css-value-validation.d.ts +0 -21
  1140. package/dist/types/utils/overlay-control-label.d.ts +0 -34
  1141. package/dist/types/utils/scroll-hide-controller.d.ts +0 -56
  1142. package/dist/types/utils/select-option-render.d.ts +0 -53
  1143. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -3,23 +3,24 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index$2 = require('./index-GZU9YrFc.js');
7
- var index$1 = require('./index-BxEZd5IE.js');
8
- var frameworkDelegate = require('./framework-delegate-DC5nq_NN.js');
9
- var helpers = require('./helpers-DiOgV5hw.js');
6
+ var index$3 = require('./index-BfaXsATC.js');
7
+ var index$1 = require('./index-BiRrzGDi.js');
8
+ var frameworkDelegate = require('./framework-delegate-BgU6U9Ez.js');
9
+ var helpers = require('./helpers-gntk8bfm.js');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
11
- var capacitor = require('./capacitor-CQSg1uCo.js');
12
- var overlays = require('./overlays-CFGbPUmE.js');
13
- var theme = require('./theme-IlOsGAz7.js');
14
- var index$3 = require('./index-BaJ7_YbC.js');
15
- var ionicGlobal = require('./ionic-global-QoUqobrQ.js');
16
- var keyboard = require('./keyboard-faZBQysj.js');
17
- var animation = require('./animation-B3xfVcDO.js');
11
+ var capacitor = require('./capacitor-DmA66EwP.js');
12
+ var overlays = require('./overlays-DuSEMhIW.js');
13
+ var theme = require('./theme-CeDs6Hcv.js');
14
+ var index$4 = require('./index-BS2uhvhT.js');
15
+ var ionicGlobal = require('./ionic-global-BerQGEpE.js');
16
+ var keyboard = require('./keyboard-hHzlEQpk.js');
17
+ var animation = require('./animation-Ch16T-Nb.js');
18
18
  var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
19
- var index = require('./index-CAvQ7Tka.js');
20
- require('./focus-visible-BIj-I3-C.js');
19
+ var index$2 = require('./index-CAvQ7Tka.js');
20
+ var index = require('./index-DkNv4J_i.js');
21
+ require('./hardware-back-button-CXmUnTJC.js');
21
22
  require('./gesture-controller-dtqlP_q4.js');
22
- require('./keyboard-Bn0Ppim6.js');
23
+ require('./keyboard-UuAS4D_9.js');
23
24
 
24
25
  var Style;
25
26
  (function (Style) {
@@ -116,116 +117,33 @@ const getBackdropValueForSheet = (x, backdropBreakpoint) => {
116
117
  *
117
118
  */
118
119
  const setCardStatusBarDark = () => {
119
- if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
120
+ if (!index.win || index.win.innerWidth >= 768) {
120
121
  return;
121
122
  }
122
123
  StatusBar.setStyle({ style: Style.Dark });
123
124
  };
124
125
  const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
125
- if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
126
+ if (!index.win || index.win.innerWidth >= 768) {
126
127
  return;
127
128
  }
128
129
  StatusBar.setStyle({ style: defaultStyle });
129
130
  };
130
131
 
131
- const createSheetEnterAnimation = (opts) => {
132
- const { currentBreakpoint, backdropBreakpoint, expandToScroll, staticBackdropOpacity } = opts;
133
- /**
134
- * If the backdropBreakpoint is undefined, then the backdrop
135
- * should always fade in. If the backdropBreakpoint came before the
136
- * current breakpoint, then the backdrop should be fading in.
137
- */
138
- const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
139
- let initialBackdrop = '0';
140
- if (staticBackdropOpacity) {
141
- initialBackdrop = 'calc(var(--backdrop-opacity)';
142
- }
143
- else if (shouldShowBackdrop) {
144
- initialBackdrop = `calc(var(--backdrop-opacity) * ${currentBreakpoint})`;
145
- }
146
- const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
147
- if (shouldShowBackdrop) {
148
- backdropAnimation
149
- .beforeStyles({
150
- 'pointer-events': 'none',
151
- })
152
- .afterClearStyles(['pointer-events']);
153
- }
154
- const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
155
- { offset: 0, opacity: 1, transform: 'translateY(100%)' },
156
- { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
157
- ]);
158
- /**
159
- * This allows the content to be scrollable at any breakpoint.
160
- */
161
- const contentAnimation = !expandToScroll
162
- ? animation.createAnimation('contentAnimation').keyframes([
163
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
164
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
165
- ])
166
- : undefined;
167
- return { wrapperAnimation, backdropAnimation, contentAnimation };
168
- };
169
- const createSheetLeaveAnimation = (opts) => {
170
- const { currentBreakpoint, backdropBreakpoint } = opts;
171
- /**
172
- * Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
173
- * is defined, so we need to account for that offset by figuring out
174
- * what the current backdrop value should be.
175
- */
176
- const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
177
- const defaultBackdrop = [
178
- { offset: 0, opacity: backdropValue },
179
- { offset: 1, opacity: 0 },
180
- ];
181
- const customBackdrop = [
182
- { offset: 0, opacity: backdropValue },
183
- { offset: backdropBreakpoint, opacity: 0 },
184
- { offset: 1, opacity: 0 },
185
- ];
186
- const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
187
- const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
188
- { offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
189
- { offset: 1, opacity: 1, transform: `translateY(100%)` },
190
- ]);
191
- return { wrapperAnimation, backdropAnimation };
192
- };
193
-
194
- const createEnterAnimation$2 = () => {
195
- const backdropAnimation = animation.createAnimation()
196
- .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
197
- .beforeStyles({
198
- 'pointer-events': 'none',
199
- })
200
- .afterClearStyles(['pointer-events']);
201
- const wrapperAnimation = animation.createAnimation().keyframes([
202
- { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
203
- { offset: 1, opacity: 1, transform: `translateY(0px)` },
204
- ]);
205
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
206
- };
207
132
  /**
208
- * Ionic Modal Enter Animation
133
+ * Swiping is only possible when the content is scrolled to the top, so that we
134
+ * do not interfere with scrolling, and never on content with a refresher.
135
+ *
136
+ * Note: We cannot solve the refresher case with gesture priority as the iOS
137
+ * native refresh gesture uses a scroll listener in addition to a gesture.
138
+ *
139
+ * Note: Do not use `getScrollElement` here because we need this to be a
140
+ * synchronous operation, and `getScrollElement` is asynchronous.
209
141
  */
210
- const ionicEnterAnimation = (baseEl, opts) => {
211
- const { currentBreakpoint, expandToScroll } = opts;
212
- const root = helpers.getElementRoot(baseEl);
213
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$2();
214
- backdropAnimation.addElement(root.querySelector('ion-backdrop'));
215
- wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
216
- // The content animation is only added if scrolling is enabled for
217
- // all the breakpoints.
218
- !expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
219
- backdropAnimation.duration(300).easing('ease-out');
220
- wrapperAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
221
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
222
- const baseAnimation = animation.createAnimation().addElement(baseEl).addAnimation([backdropAnimation, wrapperAnimation]);
223
- if (contentAnimation) {
224
- baseAnimation.addAnimation(contentAnimation);
225
- }
226
- return baseAnimation;
142
+ const canSwipeOnContent = (contentEl) => {
143
+ const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
144
+ const hasRefresherInContent = !!index$1.findRefresherInContent(contentEl);
145
+ return !hasRefresherInContent && scrollEl.scrollTop === 0;
227
146
  };
228
-
229
147
  const handleCanDismiss = async (el, animation) => {
230
148
  /**
231
149
  * If canDismiss is not a function
@@ -356,7 +274,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
356
274
  let isOpen = false;
357
275
  let canDismissBlocksGesture = false;
358
276
  let contentEl = null;
359
- let scrollEl = null;
360
277
  const canDismissMaxStep = 0.2;
361
278
  let initialScrollY = true;
362
279
  let lastStep = 0;
@@ -379,12 +296,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
379
296
  return true;
380
297
  }
381
298
  /**
382
- * If we are swiping on the content,
383
- * swiping should only be possible if
384
- * the content is scrolled all the way
385
- * to the top so that we do not interfere
386
- * with scrolling.
387
- *
388
299
  * We cannot assume that the `ion-content`
389
300
  * target will remain consistent between
390
301
  * swipes. For example, when using
@@ -395,29 +306,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
395
306
  */
396
307
  contentEl = index$1.findClosestIonContent(target);
397
308
  if (contentEl) {
398
- /**
399
- * The card should never swipe to close
400
- * on the content with a refresher.
401
- * Note: We cannot solve this by making the
402
- * swipeToClose gesture have a higher priority
403
- * than the refresher gesture as the iOS native
404
- * refresh gesture uses a scroll listener in
405
- * addition to a gesture.
406
- *
407
- * Note: Do not use getScrollElement here
408
- * because we need this to be a synchronous
409
- * operation, and getScrollElement is
410
- * asynchronous.
411
- */
412
- if (index$1.isIonContent(contentEl)) {
413
- const root = helpers.getElementRoot(contentEl);
414
- scrollEl = root.querySelector('.inner-scroll');
415
- }
416
- else {
417
- scrollEl = contentEl;
418
- }
419
- const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
420
- return !hasRefresherInContent && scrollEl.scrollTop === 0;
309
+ return canSwipeOnContent(contentEl);
421
310
  }
422
311
  /**
423
312
  * Card should be swipeable on all
@@ -604,7 +493,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
604
493
  };
605
494
  onDragEnd(eventDetail);
606
495
  };
607
- const gesture = index.createGesture({
496
+ const gesture = index$2.createGesture({
608
497
  el,
609
498
  gestureName: 'modalSwipeToClose',
610
499
  gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
@@ -659,6 +548,63 @@ const calculateProgress = (el, deltaY) => {
659
548
  return Math.max(0, Math.min(1, roundedProgress));
660
549
  };
661
550
 
551
+ const createSheetEnterAnimation = (opts) => {
552
+ const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
553
+ /**
554
+ * If the backdropBreakpoint is undefined, then the backdrop
555
+ * should always fade in. If the backdropBreakpoint came before the
556
+ * current breakpoint, then the backdrop should be fading in.
557
+ */
558
+ const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
559
+ const initialBackdrop = shouldShowBackdrop ? `calc(var(--backdrop-opacity) * ${currentBreakpoint})` : '0';
560
+ const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
561
+ if (shouldShowBackdrop) {
562
+ backdropAnimation
563
+ .beforeStyles({
564
+ 'pointer-events': 'none',
565
+ })
566
+ .afterClearStyles(['pointer-events']);
567
+ }
568
+ const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
569
+ { offset: 0, opacity: 1, transform: 'translateY(100%)' },
570
+ { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
571
+ ]);
572
+ /**
573
+ * This allows the content to be scrollable at any breakpoint.
574
+ */
575
+ const contentAnimation = !expandToScroll
576
+ ? animation.createAnimation('contentAnimation').keyframes([
577
+ { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
578
+ { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
579
+ ])
580
+ : undefined;
581
+ return { wrapperAnimation, backdropAnimation, contentAnimation };
582
+ };
583
+ const createSheetLeaveAnimation = (opts) => {
584
+ const { currentBreakpoint, backdropBreakpoint } = opts;
585
+ /**
586
+ * Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
587
+ * is defined, so we need to account for that offset by figuring out
588
+ * what the current backdrop value should be.
589
+ */
590
+ const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
591
+ const defaultBackdrop = [
592
+ { offset: 0, opacity: backdropValue },
593
+ { offset: 1, opacity: 0 },
594
+ ];
595
+ const customBackdrop = [
596
+ { offset: 0, opacity: backdropValue },
597
+ { offset: backdropBreakpoint, opacity: 0 },
598
+ { offset: 1, opacity: 0 },
599
+ ];
600
+ const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
601
+ const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
602
+ { offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
603
+ { offset: 1, opacity: 1, transform: `translateY(100%)` },
604
+ ]);
605
+ return { wrapperAnimation, backdropAnimation };
606
+ };
607
+
662
608
  const createEnterAnimation$1 = () => {
663
609
  const backdropAnimation = animation.createAnimation()
664
610
  .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
@@ -1049,16 +995,17 @@ const mdLeaveAnimation = (baseEl, opts) => {
1049
995
  return baseAnimation;
1050
996
  };
1051
997
 
1052
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, usePhysicsBasedGesture, onDragStart, onDragMove, onDragEnd) => {
998
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
999
+ var _a;
1053
1000
  // Defaults for the sheet swipe animation
1054
1001
  const defaultBackdrop = [
1055
1002
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
1056
- { offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0.01 },
1003
+ { offset: 1, opacity: 0.01 },
1057
1004
  ];
1058
1005
  const customBackdrop = [
1059
1006
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
1060
- { offset: 1 - backdropBreakpoint, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
1061
- { offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
1007
+ { offset: 1 - backdropBreakpoint, opacity: 0 },
1008
+ { offset: 1, opacity: 0 },
1062
1009
  ];
1063
1010
  const SheetDefaults = {
1064
1011
  WRAPPER_KEYFRAMES: [
@@ -1072,6 +1019,8 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1072
1019
  ],
1073
1020
  };
1074
1021
  const contentEl = baseEl.querySelector('ion-content');
1022
+ // Cache the initial value so the gesture restores it instead of forcing scrolling on.
1023
+ const initialContentScrollY = (_a = contentEl === null || contentEl === void 0 ? void 0 : contentEl.scrollY) !== null && _a !== void 0 ? _a : true;
1075
1024
  const height = wrapperEl.clientHeight;
1076
1025
  let currentBreakpoint = initialBreakpoint;
1077
1026
  let offset = 0;
@@ -1232,9 +1181,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1232
1181
  }
1233
1182
  const canStart = (detail) => {
1234
1183
  /**
1235
- * If we are swiping on the content, swiping should only be possible if the content
1236
- * is scrolled all the way to the top so that we do not interfere with scrolling.
1237
- *
1238
1184
  * We cannot assume that the `ion-content` target will remain consistent between swipes.
1239
1185
  * For example, when using ion-nav within a modal it is possible to swipe, push a view,
1240
1186
  * and then swipe again. The target content will not be the same between swipes.
@@ -1242,26 +1188,11 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1242
1188
  const contentEl = index$1.findClosestIonContent(detail.event.target);
1243
1189
  currentBreakpoint = getCurrentBreakpoint();
1244
1190
  /**
1245
- * If `expandToScroll` is disabled, we should not allow the swipe gesture
1246
- * to start if the content is not scrolled to the top.
1191
+ * Upwards swipes on the content cannot move the sheet anyway, so this only
1192
+ * blocks swiping the sheet down from the content.
1247
1193
  */
1248
- if (!expandToScroll && contentEl) {
1249
- const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1250
- return scrollEl.scrollTop === 0;
1251
- }
1252
- if (currentBreakpoint === 1 && contentEl) {
1253
- /**
1254
- * The modal should never swipe to close on the content with a refresher.
1255
- * Note 1: We cannot solve this by making this gesture have a higher priority than
1256
- * the refresher gesture as the iOS native refresh gesture uses a scroll listener in
1257
- * addition to a gesture.
1258
- *
1259
- * Note 2: Do not use getScrollElement here because we need this to be a synchronous
1260
- * operation, and getScrollElement is asynchronous.
1261
- */
1262
- const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1263
- const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
1264
- return !hasRefresherInContent && scrollEl.scrollTop === 0;
1194
+ if (contentEl && (!expandToScroll || currentBreakpoint === 1)) {
1195
+ return canSwipeOnContent(contentEl);
1265
1196
  }
1266
1197
  return true;
1267
1198
  };
@@ -1388,9 +1319,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1388
1319
  : step;
1389
1320
  offset = helpers.clamp(0.0001, processedStep, maxStep);
1390
1321
  animation.progressStep(offset);
1391
- const snapBreakpoint = usePhysicsBasedGesture
1392
- ? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
1393
- : calculatePositionSnapBreakpoint(detail.deltaY);
1322
+ const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
1394
1323
  const eventDetail = {
1395
1324
  currentY: detail.currentY,
1396
1325
  deltaY: detail.deltaY,
@@ -1401,9 +1330,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1401
1330
  onDragMove(eventDetail);
1402
1331
  };
1403
1332
  const onEnd = (detail) => {
1404
- const snapBreakpoint = usePhysicsBasedGesture
1405
- ? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
1406
- : calculatePositionSnapBreakpoint(detail.deltaY);
1333
+ const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
1407
1334
  const eventDetail = {
1408
1335
  currentY: detail.currentY,
1409
1336
  deltaY: detail.deltaY,
@@ -1450,14 +1377,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1450
1377
  */
1451
1378
  const shouldPreventDismiss = canDismiss && breakpoint === 0;
1452
1379
  const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
1453
- /**
1454
- * Detect snap-back behavior: when the snap target is the same as the current breakpoint,
1455
- * the user released before crossing the threshold to a new breakpoint.
1456
- * Apply different timing and easing for snap-back vs. snap-to-new.
1457
- */
1458
- const isSnapBack = snapToBreakpoint === currentBreakpoint;
1459
- const duration = usePhysicsBasedGesture ? (isSnapBack ? 300 : 400) : 500;
1460
- const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
1461
1380
  const shouldRemainOpen = snapToBreakpoint !== 0;
1462
1381
  currentBreakpoint = 0;
1463
1382
  /**
@@ -1472,15 +1391,11 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1472
1391
  backdropAnimation.keyframes([
1473
1392
  {
1474
1393
  offset: 0,
1475
- opacity: usePhysicsBasedGesture
1476
- ? 'var(--backdrop-opacity)'
1477
- : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
1394
+ opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
1478
1395
  },
1479
1396
  {
1480
1397
  offset: 1,
1481
- opacity: usePhysicsBasedGesture
1482
- ? 'var(--backdrop-opacity)'
1483
- : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1398
+ opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1484
1399
  },
1485
1400
  ]);
1486
1401
  if (contentAnimation) {
@@ -1498,12 +1413,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1498
1413
  }
1499
1414
  animation.progressStep(0);
1500
1415
  }
1501
- /**
1502
- * Apply the appropriate easing curve for this snap behavior.
1503
- */
1504
- if (usePhysicsBasedGesture) {
1505
- animation.easing(easing);
1506
- }
1507
1416
  /**
1508
1417
  * Gesture should remain disabled until the
1509
1418
  * snapping animation completes.
@@ -1516,14 +1425,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1516
1425
  onDismiss();
1517
1426
  }
1518
1427
  /**
1519
- * Enables scrolling immediately if the sheet is about to fully expand
1520
- * or if it allows scrolling at any breakpoint. Without this, there would
1428
+ * Restores the content's scroll setting immediately if the sheet is about to
1429
+ * fully expand or if it allows scrolling at any breakpoint. Without this, there would
1521
1430
  * be a ~500ms delay while the modal animation completes, causing a
1522
1431
  * noticeable lag. Native iOS allows scrolling as soon as the gesture is
1523
1432
  * released, so we align with that behavior.
1524
1433
  */
1525
1434
  if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
1526
- contentEl.scrollY = true;
1435
+ contentEl.scrollY = initialContentScrollY;
1527
1436
  }
1528
1437
  /**
1529
1438
  * If expandToScroll is disabled and we're animating
@@ -1593,7 +1502,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1593
1502
  * be added every time onEnd runs.
1594
1503
  */
1595
1504
  }, { oneTimeCallback: true })
1596
- .progressEnd(1, 0, animated ? duration : 0);
1505
+ .progressEnd(1, 0, animated ? 500 : 0);
1597
1506
  });
1598
1507
  };
1599
1508
  /**
@@ -1604,7 +1513,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1604
1513
  * @param deltaY The change in Y position since the gesture started.
1605
1514
  * @returns The snap breakpoint value.
1606
1515
  */
1607
- const calculatePositionSnapBreakpoint = (deltaY) => {
1516
+ const calculateSnapBreakpoint = (deltaY) => {
1608
1517
  /**
1609
1518
  * Calculates the real-time vertical position of the modal.
1610
1519
  * We combine the wrapper's current bounding box position with the
@@ -1624,50 +1533,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1624
1533
  });
1625
1534
  return snapBreakpoint;
1626
1535
  };
1627
- /**
1628
- * Calculates the snap breakpoint using velocity-based logic.
1629
- * This provides a more intuitive and responsive sheet behavior for the Ionic theme.
1630
- *
1631
- * Rules:
1632
- * 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
1633
- * 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
1634
- * 3. If dragged 40% below current snap point without fast upward flick, dismisses
1635
- * 4. Otherwise, falls back to position-based snap (closest breakpoint)
1636
- *
1637
- * @param deltaY The change in Y position since gesture started
1638
- * @param velocityY The velocity in pixels per millisecond
1639
- * @param currentY The current Y position of the gesture
1640
- * @returns The snap breakpoint value
1641
- */
1642
- const calculateVelocitySnapBreakpoint = (deltaY, velocityY, currentY) => {
1643
- // Convert velocity from px/ms to px/s for easier threshold comparison
1644
- const velocityYPerSecond = velocityY * 1000;
1645
- // Calculate current progress (0 = fully closed, 1 = fully expanded)
1646
- const currentProgress = calculateProgress(currentY);
1647
- // Rule 1: Fast downward flick always dismisses
1648
- if (velocityYPerSecond > 500) {
1649
- return minBreakpoint;
1650
- }
1651
- // Rule 2: Fast upward flick moves to next breakpoint above
1652
- if (velocityYPerSecond < -400) {
1653
- // Find next breakpoint above current position
1654
- const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
1655
- // If no breakpoint above, stay at max breakpoint
1656
- return nextBreakpoint !== null && nextBreakpoint !== void 0 ? nextBreakpoint : maxBreakpoint;
1657
- }
1658
- // Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
1659
- if (minBreakpoint === 0 && currentBreakpoint > 0) {
1660
- // Calculate how far we've moved below the current snap point
1661
- const distanceBelowSnap = currentBreakpoint - currentProgress;
1662
- const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
1663
- // If dragged more than 40% below and not flicking up, dismiss
1664
- if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
1665
- return 0;
1666
- }
1667
- }
1668
- // Rule 4: Fallback to position-based snap (existing logic)
1669
- return calculatePositionSnapBreakpoint(deltaY);
1670
- };
1671
1536
  /**
1672
1537
  * Calculates the progress of the swipe gesture.
1673
1538
  *
@@ -1738,7 +1603,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1738
1603
  */
1739
1604
  return viewportBottom - activeHeight;
1740
1605
  };
1741
- const gesture = index.createGesture({
1606
+ const gesture = index$2.createGesture({
1742
1607
  el: wrapperEl,
1743
1608
  gestureName: 'modalSheet',
1744
1609
  gesturePriority: 40,
@@ -1749,9 +1614,20 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1749
1614
  onMove,
1750
1615
  onEnd,
1751
1616
  });
1617
+ /**
1618
+ * Puts the content back the way the app declared it. A sheet can dismiss
1619
+ * without going through moveSheetToBreakpoint, and an inline modal reuses
1620
+ * the same element on the next present.
1621
+ */
1622
+ const resetContentScroll = () => {
1623
+ if (contentEl) {
1624
+ contentEl.scrollY = initialContentScrollY;
1625
+ }
1626
+ };
1752
1627
  return {
1753
1628
  gesture,
1754
1629
  moveSheetToBreakpoint,
1630
+ resetContentScroll,
1755
1631
  };
1756
1632
  };
1757
1633
 
@@ -1784,9 +1660,9 @@ let cacheInvalidationScheduled = false;
1784
1660
  * Matches: @media (min-width: 768px) and (min-height: 600px)
1785
1661
  */
1786
1662
  const isCenteredDialogViewport = () => {
1787
- if (!ionicGlobal.win)
1663
+ if (!index.win)
1788
1664
  return false;
1789
- return ionicGlobal.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
1665
+ return index.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
1790
1666
  .matches;
1791
1667
  };
1792
1668
  /**
@@ -1801,7 +1677,7 @@ const getRootSafeAreaTop = () => {
1801
1677
  if (cachedRootSafeAreaTop !== null) {
1802
1678
  return cachedRootSafeAreaTop;
1803
1679
  }
1804
- const doc = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.document;
1680
+ const doc = index.win === null || index.win === void 0 ? void 0 : index.win.document;
1805
1681
  if (!(doc === null || doc === void 0 ? void 0 : doc.body)) {
1806
1682
  return 0;
1807
1683
  }
@@ -1821,6 +1697,41 @@ const getRootSafeAreaTop = () => {
1821
1697
  }
1822
1698
  return value;
1823
1699
  };
1700
+ /**
1701
+ * Calls back when the resolved root `--ion-safe-area-top` changes, which no
1702
+ * event and no window resize covers. The probe's height tracks the variable, so
1703
+ * a change to it becomes a size change the observer can see.
1704
+ */
1705
+ const onRootSafeAreaTopChange = (callback) => {
1706
+ const doc = index.win === null || index.win === void 0 ? void 0 : index.win.document;
1707
+ if (!(doc === null || doc === void 0 ? void 0 : doc.body) || typeof ResizeObserver === 'undefined') {
1708
+ return () => undefined;
1709
+ }
1710
+ const probe = doc.createElement('div');
1711
+ probe.style.cssText =
1712
+ 'position:fixed;visibility:hidden;pointer-events:none;top:0;left:0;width:0;' +
1713
+ 'height:var(--ion-safe-area-top,0px);';
1714
+ doc.body.appendChild(probe);
1715
+ /**
1716
+ * Seeded with the value the caller has already applied, so a change that
1717
+ * lands before the observer's first delivery still gets reported. Comparing
1718
+ * against an unset value instead would consume that first delivery and treat
1719
+ * the new inset as the baseline.
1720
+ */
1721
+ let lastHeight = getRootSafeAreaTop();
1722
+ const observer = new ResizeObserver((entries) => {
1723
+ const { height } = entries[0].contentRect;
1724
+ if (height !== lastHeight) {
1725
+ lastHeight = height;
1726
+ callback(height);
1727
+ }
1728
+ });
1729
+ observer.observe(probe);
1730
+ return () => {
1731
+ observer.disconnect();
1732
+ probe.remove();
1733
+ };
1734
+ };
1824
1735
  /**
1825
1736
  * True when the modal host declares BOTH a non-fullscreen `--width` AND a
1826
1737
  * non-fullscreen `--height` (i.e. a centered-dialog-like modal that doesn't
@@ -1907,8 +1818,8 @@ const getInitialSafeAreaConfig = (context) => {
1907
1818
  const getPositionBasedSafeAreaConfig = (wrapperEl) => {
1908
1819
  var _a, _b;
1909
1820
  const rect = wrapperEl.getBoundingClientRect();
1910
- const vh = (_a = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
1911
- const vw = (_b = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerWidth) !== null && _b !== void 0 ? _b : 0;
1821
+ const vh = (_a = index.win === null || index.win === void 0 ? void 0 : index.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
1822
+ const vw = (_b = index.win === null || index.win === void 0 ? void 0 : index.win.innerWidth) !== null && _b !== void 0 ? _b : 0;
1912
1823
  // Only apply safe-area to sides where modal overlaps with screen edge
1913
1824
  return {
1914
1825
  top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
@@ -1941,28 +1852,26 @@ const clearSafeAreaOverrides = (hostEl) => {
1941
1852
  hostEl.style.removeProperty('--ion-safe-area-right');
1942
1853
  };
1943
1854
 
1944
- const modalIonicCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));--box-shadow:var(--token-elevation-3, 0px 2px 7px 0px rgba(0, 0, 0, 0.05), 0px 6px 32px 0px rgba(0, 0, 0, 0.16));--backdrop-opacity:0.7;color:var(--token-text-default, var(--token-primitives-neutral-1200, #242424))}:host(.modal-round){--border-radius:var(--token-border-radius-1000, var(--token-scale-1000, 40px))}:host(.modal-soft){--border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px))}:host(.modal-rectangular){--border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}:host(.select-modal.modal-default){--max-height:45%;--max-width:calc(100% - (var(--token-space-400, var(--token-scale-400, 16px)) * 2));--min-height:340px}.modal-handle{right:0px;left:0px;top:var(--token-space-300, var(--token-scale-300, 12px));border-radius:var(--token-border-radius-100, var(--token-scale-100, 4px));width:var(--token-scale-1100, 44px);height:var(--token-scale-100, 4px);background-color:var(--token-primitives-neutral-300, #e0e0e0)}.modal-handle::before{-webkit-padding-start:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-start:var(--token-space-100, var(--token-scale-100, 4px));-webkit-padding-end:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-end:var(--token-space-100, var(--token-scale-100, 4px));padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px))}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + var(--token-scale-250, 10px)))}`;
1855
+ const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1945
1856
 
1946
- const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--ion-background-color, #fff);--border-radius:0;--backdrop-opacity:0;color:var(--ion-text-color, #000)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{right:0px;left:0px;top:5px;border-radius:8px;width:36px;height:5px;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be))}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;width:36px;height:5px}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1947
-
1948
- const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--ion-background-color, #fff);--border-radius:0;--backdrop-opacity:0;color:var(--ion-text-color, #000)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{right:0px;left:0px;top:5px;border-radius:8px;width:36px;height:5px;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be))}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;width:36px;height:5px}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1857
+ const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1949
1858
 
1950
1859
  const Modal = class {
1951
1860
  constructor(hostRef) {
1952
- index$2.registerInstance(this, hostRef);
1953
- this.didPresent = index$2.createEvent(this, "ionModalDidPresent", 7);
1954
- this.willPresent = index$2.createEvent(this, "ionModalWillPresent", 7);
1955
- this.willDismiss = index$2.createEvent(this, "ionModalWillDismiss", 7);
1956
- this.didDismiss = index$2.createEvent(this, "ionModalDidDismiss", 7);
1957
- this.ionBreakpointDidChange = index$2.createEvent(this, "ionBreakpointDidChange", 7);
1958
- this.didPresentShorthand = index$2.createEvent(this, "didPresent", 7);
1959
- this.willPresentShorthand = index$2.createEvent(this, "willPresent", 7);
1960
- this.willDismissShorthand = index$2.createEvent(this, "willDismiss", 7);
1961
- this.didDismissShorthand = index$2.createEvent(this, "didDismiss", 7);
1962
- this.ionMount = index$2.createEvent(this, "ionMount", 7);
1963
- this.ionDragStart = index$2.createEvent(this, "ionDragStart", 7);
1964
- this.ionDragMove = index$2.createEvent(this, "ionDragMove", 7);
1965
- this.ionDragEnd = index$2.createEvent(this, "ionDragEnd", 7);
1861
+ index$3.registerInstance(this, hostRef);
1862
+ this.didPresent = index$3.createEvent(this, "ionModalDidPresent", 7);
1863
+ this.willPresent = index$3.createEvent(this, "ionModalWillPresent", 7);
1864
+ this.willDismiss = index$3.createEvent(this, "ionModalWillDismiss", 7);
1865
+ this.didDismiss = index$3.createEvent(this, "ionModalDidDismiss", 7);
1866
+ this.ionBreakpointDidChange = index$3.createEvent(this, "ionBreakpointDidChange", 7);
1867
+ this.didPresentShorthand = index$3.createEvent(this, "didPresent", 7);
1868
+ this.willPresentShorthand = index$3.createEvent(this, "willPresent", 7);
1869
+ this.willDismissShorthand = index$3.createEvent(this, "willDismiss", 7);
1870
+ this.didDismissShorthand = index$3.createEvent(this, "didDismiss", 7);
1871
+ this.ionMount = index$3.createEvent(this, "ionMount", 7);
1872
+ this.ionDragStart = index$3.createEvent(this, "ionDragStart", 7);
1873
+ this.ionDragMove = index$3.createEvent(this, "ionDragMove", 7);
1874
+ this.ionDragEnd = index$3.createEvent(this, "ionDragEnd", 7);
1966
1875
  this.lockController = lockController.createLockController();
1967
1876
  this.triggerController = overlays.createTriggerController();
1968
1877
  this.coreDelegate = frameworkDelegate.CoreDelegate();
@@ -2255,7 +2164,7 @@ const Modal = class {
2255
2164
  this.currentBreakpoint = this.initialBreakpoint;
2256
2165
  }
2257
2166
  if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
2258
- index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
2167
+ index$3.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
2259
2168
  }
2260
2169
  if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
2261
2170
  overlays.setOverlayId(this.el);
@@ -2355,7 +2264,7 @@ const Modal = class {
2355
2264
  * get the transition incorrect.
2356
2265
  */
2357
2266
  if (helpers.hasLazyBuild(el)) {
2358
- await index$3.deepReady(this.usersElement);
2267
+ await index$4.deepReady(this.usersElement);
2359
2268
  /**
2360
2269
  * If keepContentsMounted="true" then the
2361
2270
  * JS Framework has already mounted the inner
@@ -2366,9 +2275,9 @@ const Modal = class {
2366
2275
  */
2367
2276
  }
2368
2277
  else if (!this.keepContentsMounted) {
2369
- await index$3.waitForMount();
2278
+ await index$4.waitForMount();
2370
2279
  }
2371
- index$2.writeTask(() => this.el.classList.add('show-modal'));
2280
+ index$3.writeTask(() => this.el.classList.add('show-modal'));
2372
2281
  // Recalculate isSheetModal before safe-area setup because framework
2373
2282
  // bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
2374
2283
  this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
@@ -2385,12 +2294,11 @@ const Modal = class {
2385
2294
  this.statusBarStyle = await StatusBar.getStyle();
2386
2295
  setCardStatusBarDark();
2387
2296
  }
2388
- await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
2297
+ await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
2389
2298
  presentingEl: presentingElement,
2390
2299
  currentBreakpoint: this.initialBreakpoint,
2391
2300
  backdropBreakpoint: this.backdropBreakpoint,
2392
2301
  expandToScroll: this.expandToScroll,
2393
- staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
2394
2302
  });
2395
2303
  // Update safe-area based on actual position after animation
2396
2304
  this.updateSafeAreaOverrides();
@@ -2448,7 +2356,7 @@ const Modal = class {
2448
2356
  // All of the elements needed for the swipe gesture
2449
2357
  // should be in the DOM and referenced by now, except
2450
2358
  // for the presenting el
2451
- const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
2359
+ const animationBuilder = this.leaveAnimation || index$3.config.get('modalLeave', iosLeaveAnimation);
2452
2360
  const ani = (this.animation = animationBuilder(el, {
2453
2361
  presentingEl: this.presentingElement,
2454
2362
  expandToScroll: this.expandToScroll,
@@ -2467,23 +2375,23 @@ const Modal = class {
2467
2375
  if (!wrapperEl || initialBreakpoint === undefined) {
2468
2376
  return;
2469
2377
  }
2470
- const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
2378
+ const animationBuilder = this.enterAnimation || index$3.config.get('modalEnter', iosEnterAnimation);
2471
2379
  const ani = (this.animation = animationBuilder(this.el, {
2472
2380
  presentingEl: this.presentingElement,
2473
2381
  currentBreakpoint: initialBreakpoint,
2474
2382
  backdropBreakpoint,
2475
2383
  expandToScroll: this.expandToScroll,
2476
- staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
2477
2384
  }));
2478
2385
  ani.progressStart(true, 1);
2479
- const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
2386
+ const { gesture, moveSheetToBreakpoint, resetContentScroll } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
2480
2387
  if (this.currentBreakpoint !== breakpoint) {
2481
2388
  this.currentBreakpoint = breakpoint;
2482
2389
  this.ionBreakpointDidChange.emit({ breakpoint });
2483
2390
  }
2484
- }, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2391
+ }, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2485
2392
  this.gesture = gesture;
2486
2393
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
2394
+ this.resetSheetContentScroll = resetContentScroll;
2487
2395
  this.gesture.enable(true);
2488
2396
  /**
2489
2397
  * When backdrop interaction is allowed, nested router outlets from child routes
@@ -2615,7 +2523,7 @@ const Modal = class {
2615
2523
  * For example, `cancel` or `backdrop`.
2616
2524
  */
2617
2525
  async dismiss(data, role) {
2618
- var _a;
2526
+ var _a, _b;
2619
2527
  if (this.gestureAnimationDismissing && role !== overlays.GESTURE) {
2620
2528
  return false;
2621
2529
  }
@@ -2667,13 +2575,20 @@ const Modal = class {
2667
2575
  if (dismissed) {
2668
2576
  const { delegate } = this.getDelegate();
2669
2577
  await frameworkDelegate.detachComponent(delegate, this.usersElement);
2670
- index$2.writeTask(() => this.el.classList.remove('show-modal'));
2578
+ index$3.writeTask(() => this.el.classList.remove('show-modal'));
2671
2579
  if (this.animation) {
2672
2580
  this.animation.destroy();
2673
2581
  }
2674
2582
  if (this.gesture) {
2675
2583
  this.gesture.destroy();
2676
2584
  }
2585
+ /**
2586
+ * The sheet gesture turns content scrolling off while the sheet sits below
2587
+ * the top breakpoint. Inline modals reuse the same content on the next
2588
+ * present, so hand it back before the gesture goes away.
2589
+ */
2590
+ (_b = this.resetSheetContentScroll) === null || _b === void 0 ? void 0 : _b.call(this);
2591
+ this.resetSheetContentScroll = undefined;
2677
2592
  this.cleanupViewTransitionListener();
2678
2593
  this.cleanupParentRemovalObserver();
2679
2594
  this.cleanupSafeAreaOverrides();
@@ -2704,11 +2619,11 @@ const Modal = class {
2704
2619
  */
2705
2620
  async setCurrentBreakpoint(breakpoint) {
2706
2621
  if (!this.isSheetModal) {
2707
- index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
2622
+ index$3.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
2708
2623
  return;
2709
2624
  }
2710
2625
  if (!this.breakpoints.includes(breakpoint)) {
2711
- index$2.printIonWarning(`[ion-modal] - Attempted to set invalid breakpoint value ${breakpoint}. Please double check that the breakpoint value is part of your defined breakpoints.`);
2626
+ index$3.printIonWarning(`[ion-modal] - Attempted to set invalid breakpoint value ${breakpoint}. Please double check that the breakpoint value is part of your defined breakpoints.`);
2712
2627
  return;
2713
2628
  }
2714
2629
  const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
@@ -2753,18 +2668,6 @@ const Modal = class {
2753
2668
  await this.setCurrentBreakpoint(nextBreakpoint);
2754
2669
  return true;
2755
2670
  }
2756
- getShape() {
2757
- const theme = ionicGlobal.getIonTheme(this);
2758
- const { shape } = this;
2759
- // TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
2760
- if (theme !== 'ionic') {
2761
- return undefined;
2762
- }
2763
- if (shape === undefined) {
2764
- return 'round';
2765
- }
2766
- return shape;
2767
- }
2768
2671
  initViewTransitionListener() {
2769
2672
  // Only enable for iOS card modals when no custom animations are provided
2770
2673
  if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
@@ -2981,16 +2884,18 @@ const Modal = class {
2981
2884
  // Set the internal offset property with the resolved root safe-area-top value
2982
2885
  if (context.isSheetModal) {
2983
2886
  this.updateSheetOffsetTop();
2887
+ this.unsubscribeRootSafeAreaTop = onRootSafeAreaTopChange((safeAreaTop) => this.updateSheetOffsetTop(safeAreaTop));
2984
2888
  }
2985
2889
  }
2986
2890
  /**
2987
- * Resolves the current root --ion-safe-area-top value and sets the
2988
- * internal --ion-modal-offset-top property on the host element.
2989
- * Called on present and on resize (e.g., device rotation changes safe-area).
2891
+ * Sets the internal --ion-modal-offset-top property on the host element,
2892
+ * resolving the current root --ion-safe-area-top when no value is given.
2893
+ * Called on present, on resize (e.g., device rotation changes safe-area),
2894
+ * and whenever the root safe-area value itself changes.
2990
2895
  */
2991
- updateSheetOffsetTop() {
2992
- const safeAreaTop = getRootSafeAreaTop();
2993
- this.el.style.setProperty('--ion-modal-offset-top', `${safeAreaTop}px`);
2896
+ updateSheetOffsetTop(safeAreaTop) {
2897
+ const value = safeAreaTop !== null && safeAreaTop !== void 0 ? safeAreaTop : getRootSafeAreaTop();
2898
+ this.el.style.setProperty('--ion-modal-offset-top', `${value}px`);
2994
2899
  }
2995
2900
  /**
2996
2901
  * Updates safe-area overrides during dynamic state changes.
@@ -3089,7 +2994,10 @@ const Modal = class {
3089
2994
  * Clears all safe-area overrides and padding.
3090
2995
  */
3091
2996
  cleanupSafeAreaOverrides() {
2997
+ var _a;
3092
2998
  clearSafeAreaOverrides(this.el);
2999
+ (_a = this.unsubscribeRootSafeAreaTop) === null || _a === void 0 ? void 0 : _a.call(this);
3000
+ this.unsubscribeRootSafeAreaTop = undefined;
3093
3001
  // Remove internal sheet offset property
3094
3002
  this.el.style.removeProperty('--ion-modal-offset-top');
3095
3003
  const { contentEl } = this.findContentAndFooter();
@@ -3098,16 +3006,15 @@ const Modal = class {
3098
3006
  render() {
3099
3007
  const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
3100
3008
  const showHandle = handle !== false && isSheetModal;
3101
- const theme$1 = ionicGlobal.getIonTheme(this);
3102
- const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
3009
+ const mode = ionicGlobal.getIonMode(this);
3010
+ const isCardModal = presentingElement !== undefined && mode === 'ios';
3103
3011
  const isHandleCycle = handleBehavior === 'cycle';
3104
- const shape = this.getShape();
3105
3012
  const isSheetModalWithHandle = isSheetModal && showHandle;
3106
- return (index$2.h(index$2.Host, Object.assign({ key: 'aa0c8c6926534d17df0b76ba0c3bad143f22f577', "no-router": true,
3013
+ return (index$3.h(index$3.Host, Object.assign({ key: 'c4b2713ebc788ac8672e18fdd5069e4253c4da34', "no-router": true,
3107
3014
  // Allow the modal to be navigable when the handle is focusable
3108
3015
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
3109
3016
  zIndex: `${20000 + this.overlayIndex}`,
3110
- }, class: Object.assign({ [theme$1]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$2.h("ion-backdrop", { key: '9d9421370a86dbe4bb4ff27681f22bea168d7297', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme$1 === 'ios' && index$2.h("div", { key: '9a4e349ed6234bf18c07995fcd97dd0e1d65a2bd', class: "modal-shadow" }), index$2.h("div", Object.assign({ key: '3649cb4a4b63f4335f607b7fe7b6048a6742c9c4',
3017
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: '2cc0afff8a815954492138afb0fca042243afddd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '9844700b9436f9bfa1a69ba436e9ca46d70cf316', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: 'ab1cd56ca956c773c9242fb42ff320bac7627b4b',
3111
3018
  /*
3112
3019
  role and aria-modal must be used on the
3113
3020
  same element. They must also be set inside the
@@ -3120,11 +3027,11 @@ const Modal = class {
3120
3027
  without the tabindex focus() would be a no-op and screen readers
3121
3028
  may not properly announce the dialog and its content when it opens.
3122
3029
  */
3123
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$2.h("button", { key: 'e12aa8cdea0657254dec4534a52d79bd00fa7351', class: "modal-handle",
3030
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: 'c7706794e04a962178640e9a9a11c56288c45e08', class: "modal-handle",
3124
3031
  // Prevents the handle from receiving keyboard focus when it does not cycle
3125
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", "data-focus-order": "1", ref: (el) => (this.dragHandleEl = el) })), index$2.h("slot", { key: '744f526d2a1111a936a517dfad4ae0b2551cf834', onSlotchange: this.onSlotChange }))));
3032
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$3.h("slot", { key: 'c44fd9810cdd3286f096af98e5a4072f8f44c193', onSlotchange: this.onSlotChange }))));
3126
3033
  }
3127
- get el() { return index$2.getElement(this); }
3034
+ get el() { return index$3.getElement(this); }
3128
3035
  static get watchers() { return {
3129
3036
  "isOpen": [{
3130
3037
  "onIsOpenChange": 0
@@ -3144,7 +3051,6 @@ const LIFECYCLE_MAP = {
3144
3051
  ionModalDidDismiss: 'ionViewDidLeave',
3145
3052
  };
3146
3053
  Modal.style = {
3147
- ionic: modalIonicCss(),
3148
3054
  ios: modalIosCss(),
3149
3055
  md: modalMdCss()
3150
3056
  };