@ionic/core 8.8.18-dev.11786385944.17aca7e5 → 8.8.18-dev.11786487682.1e6f798f

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 (1149) 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-divider.d.ts +11 -0
  27. package/components/ion-divider.js +4 -0
  28. package/components/ion-fab-button.js +1 -1
  29. package/components/ion-fab-list.js +1 -1
  30. package/components/ion-fab.js +1 -1
  31. package/components/ion-footer.js +1 -1
  32. package/components/ion-gallery-item.d.ts +11 -0
  33. package/components/ion-gallery-item.js +4 -0
  34. package/components/ion-gallery.d.ts +11 -0
  35. package/components/ion-gallery.js +4 -0
  36. package/components/ion-grid.js +1 -1
  37. package/components/ion-header.js +1 -1
  38. package/components/ion-icon.js +1 -1
  39. package/components/ion-img.js +1 -1
  40. package/components/ion-infinite-scroll-content.js +1 -1
  41. package/components/ion-infinite-scroll.js +1 -1
  42. package/components/ion-input-otp.js +1 -1
  43. package/components/ion-input-password-toggle.js +1 -1
  44. package/components/ion-input.js +1 -1
  45. package/components/ion-item-divider.js +1 -1
  46. package/components/ion-item-group.js +1 -1
  47. package/components/ion-item-option.js +1 -1
  48. package/components/ion-item-options.js +1 -1
  49. package/components/ion-item-sliding.js +1 -1
  50. package/components/ion-item.js +1 -1
  51. package/components/ion-label.js +1 -1
  52. package/components/ion-list-header.js +1 -1
  53. package/components/ion-list.js +1 -1
  54. package/components/ion-loading.js +1 -1
  55. package/components/ion-menu-button.js +1 -1
  56. package/components/ion-menu-toggle.js +1 -1
  57. package/components/ion-menu.js +1 -1
  58. package/components/ion-modal.js +1 -1
  59. package/components/ion-nav-link.js +1 -1
  60. package/components/ion-nav.js +1 -1
  61. package/components/ion-note.js +1 -1
  62. package/components/ion-picker-column-option.js +1 -1
  63. package/components/ion-picker-column.js +1 -1
  64. package/components/ion-picker-legacy-column.js +1 -1
  65. package/components/ion-picker-legacy.js +1 -1
  66. package/components/ion-picker.js +1 -1
  67. package/components/ion-popover.js +1 -1
  68. package/components/ion-progress-bar.js +1 -1
  69. package/components/ion-radio-group.js +1 -1
  70. package/components/ion-radio.js +1 -1
  71. package/components/ion-range.js +1 -1
  72. package/components/ion-refresher-content.js +1 -1
  73. package/components/ion-refresher.js +1 -1
  74. package/components/ion-reorder-group.js +1 -1
  75. package/components/ion-reorder.js +1 -1
  76. package/components/ion-ripple-effect.js +1 -1
  77. package/components/ion-route-redirect.js +1 -1
  78. package/components/ion-route.js +1 -1
  79. package/components/ion-router-link.js +1 -1
  80. package/components/ion-router-outlet.js +1 -1
  81. package/components/ion-router.js +1 -1
  82. package/components/ion-row.js +1 -1
  83. package/components/ion-searchbar.js +1 -1
  84. package/components/ion-segment-button.js +1 -1
  85. package/components/ion-segment-content.js +1 -1
  86. package/components/ion-segment-view.js +1 -1
  87. package/components/ion-segment.js +1 -1
  88. package/components/ion-select-modal.js +1 -1
  89. package/components/ion-select-option.js +1 -1
  90. package/components/ion-select-popover.js +1 -1
  91. package/components/ion-select.js +1 -1
  92. package/components/ion-skeleton-text.js +1 -1
  93. package/components/ion-spinner.js +1 -1
  94. package/components/ion-split-pane.js +1 -1
  95. package/components/ion-tab-bar.js +1 -1
  96. package/components/ion-tab-button.js +1 -1
  97. package/components/ion-tab.js +1 -1
  98. package/components/ion-tabs.js +1 -1
  99. package/components/ion-text.js +1 -1
  100. package/components/ion-textarea.js +1 -1
  101. package/components/ion-thumbnail.js +1 -1
  102. package/components/ion-title.js +1 -1
  103. package/components/ion-toast.js +1 -1
  104. package/components/ion-toggle.js +1 -1
  105. package/components/ion-toolbar.js +1 -1
  106. package/components/p-3VXQGlP7.js +4 -0
  107. package/components/{p-BkKAANMJ.js → p-B2SvA6NE.js} +1 -1
  108. package/components/p-B5krYTuW.js +4 -0
  109. package/components/p-B6a9IJZ0.js +4 -0
  110. package/components/p-BArGQkuV.js +4 -0
  111. package/components/p-BDqjX7Z_.js +4 -0
  112. package/components/{p-Cf2jSDS8.js → p-BE21dB_a.js} +1 -1
  113. package/components/p-BG-Q139o.js +4 -0
  114. package/components/{p-cyNmxje6.js → p-BPxMDyfV.js} +1 -1
  115. package/components/p-BT8fsdEQ.js +4 -0
  116. package/components/p-BWH3I3Dl.js +4 -0
  117. package/components/p-BYSs-jZz.js +4 -0
  118. package/components/{p-DqLB8yFQ.js → p-BZwQa9ey.js} +1 -1
  119. package/components/{p-C_hpsif8.js → p-B_jBop0E.js} +1 -1
  120. package/components/p-BbVhJs-a.js +4 -0
  121. package/components/p-Bc6odfwr.js +4 -0
  122. package/components/p-BjW8SOqw.js +4 -0
  123. package/components/p-BkWXBpOv.js +4 -0
  124. package/components/p-Bt9GDUv-.js +4 -0
  125. package/components/p-BvNVjXg4.js +4 -0
  126. package/components/p-BwKpO3Is.js +4 -0
  127. package/components/p-BwlU9cX_.js +4 -0
  128. package/components/{p-Osve4qkc.js → p-Bz4JFPmj.js} +1 -1
  129. package/components/p-CBxy8OYq.js +4 -0
  130. package/components/p-CGdeq57o.js +4 -0
  131. package/components/p-CHPdgLHZ.js +4 -0
  132. package/components/p-CMZlqiT7.js +4 -0
  133. package/components/p-CMzkbes2.js +4 -0
  134. package/components/p-CODBQrPj.js +4 -0
  135. package/components/p-COPA4jD9.js +4 -0
  136. package/components/p-CPnW-OVE.js +4 -0
  137. package/components/p-CRmBpp1v.js +4 -0
  138. package/components/p-CT3P-wjL.js +4 -0
  139. package/components/p-CVYFPBs-.js +4 -0
  140. package/components/p-CVqhQif1.js +4 -0
  141. package/components/p-Cc3oC60a.js +4 -0
  142. package/components/p-CjY4Hs1X.js +4 -0
  143. package/components/p-CrYjk-l3.js +4 -0
  144. package/components/p-CsUcWJuB.js +4 -0
  145. package/components/p-D0Iqw6OZ.js +4 -0
  146. package/{dist/ionic/p-D13Eaw-8.js → components/p-D0fnq0lf.js} +1 -1
  147. package/components/p-D1kNlmYt.js +4 -0
  148. package/components/p-D1t981Ih.js +4 -0
  149. package/components/p-D9C5yWpF.js +4 -0
  150. package/components/p-DDNG-IsR.js +4 -0
  151. package/components/p-DJSp7Si8.js +4 -0
  152. package/components/p-DL5wyRub.js +4 -0
  153. package/components/{p-ChIZKXUu.js → p-DWoO0801.js} +1 -1
  154. package/components/p-DXKZXLjV.js +4 -0
  155. package/components/p-DaJxRxSQ.js +4 -0
  156. package/components/p-Dhi5xtNS.js +4 -0
  157. package/components/p-Do8qRv6r.js +4 -0
  158. package/components/p-Dt--PjSF.js +4 -0
  159. package/components/p-DylrHLJF.js +4 -0
  160. package/components/p-FCT_QxQG.js +4 -0
  161. package/components/p-OCde3AhO.js +4 -0
  162. package/components/p-OPFCgx0m.js +4 -0
  163. package/{dist/ionic/p-VAemlbDS.js → components/p-PCVpe9Tq.js} +1 -1
  164. package/components/p-Rkm2AOZ2.js +4 -0
  165. package/components/p-WSZErkoI.js +4 -0
  166. package/components/p-bHSMZulH.js +4 -0
  167. package/components/p-fIOYmaqA.js +4 -0
  168. package/components/p-hNcst9K9.js +4 -0
  169. package/components/p-hW_3y-wm.js +4 -0
  170. package/components/p-nLMDgmzd.js +4 -0
  171. package/components/p-oI96rnOD.js +4 -0
  172. package/components/p-r_CFQBc1.js +4 -0
  173. package/components/p-vXpMhGrs.js +4 -0
  174. package/components/p-zBZRdRDd.js +4 -0
  175. package/css/core.css +1 -1
  176. package/css/core.css.map +1 -1
  177. package/css/display.css +1 -1
  178. package/css/display.css.map +1 -1
  179. package/css/flex-utils.css +1 -1
  180. package/css/flex-utils.css.map +1 -1
  181. package/css/float-elements.css.map +1 -1
  182. package/css/global.bundle.css.map +1 -1
  183. package/css/ionic/bundle.ionic.css +1 -0
  184. package/css/ionic/bundle.ionic.css.map +1 -0
  185. package/css/ionic/core.ionic.css +1 -0
  186. package/css/ionic/core.ionic.css.map +1 -0
  187. package/css/ionic/global.bundle.ionic.css +1 -0
  188. package/css/ionic/global.bundle.ionic.css.map +1 -0
  189. package/css/ionic/ionic-swiper.ionic.css +1 -0
  190. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  191. package/css/ionic/link.ionic.css +1 -0
  192. package/css/ionic/link.ionic.css.map +1 -0
  193. package/css/ionic/structure.ionic.css +1 -0
  194. package/css/ionic/structure.ionic.css.map +1 -0
  195. package/css/ionic/typography.ionic.css +1 -0
  196. package/css/ionic/typography.ionic.css.map +1 -0
  197. package/css/ionic/utils.bundle.ionic.css +1 -0
  198. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  199. package/css/ionic-swiper.css +1 -1
  200. package/css/ionic-swiper.css.map +1 -1
  201. package/css/ionic.bundle.css +1 -1
  202. package/css/ionic.bundle.css.map +1 -1
  203. package/css/normalize.css.map +1 -1
  204. package/css/padding.css.map +1 -1
  205. package/css/palettes/dark.always.css.map +1 -1
  206. package/css/palettes/dark.class.css.map +1 -1
  207. package/css/palettes/dark.system.css.map +1 -1
  208. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  209. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  210. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  211. package/css/palettes/high-contrast.always.css.map +1 -1
  212. package/css/palettes/high-contrast.class.css.map +1 -1
  213. package/css/palettes/high-contrast.system.css.map +1 -1
  214. package/css/structure.css.map +1 -1
  215. package/css/text-alignment.css.map +1 -1
  216. package/css/text-transformation.css.map +1 -1
  217. package/css/typography.css.map +1 -1
  218. package/css/utils.bundle.css +1 -1
  219. package/css/utils.bundle.css.map +1 -1
  220. package/dist/cjs/{animation-BJq0kcy2.js → animation-B3xfVcDO.js} +3 -3
  221. package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-3ZoCVkn-.js} +1 -1
  222. package/dist/cjs/{button-active-0mPOKmV2.js → button-active-3tZKuPbT.js} +2 -2
  223. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CQSg1uCo.js} +3 -3
  224. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  225. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  226. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  227. package/dist/cjs/clear-button-press-controller-DGX8X5js.js +45 -0
  228. package/dist/cjs/config-DWdFbSNK.js +35 -0
  229. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  230. package/dist/cjs/{format-PxvGiOik.js → format-BCIkDef_.js} +1 -1
  231. package/dist/cjs/{framework-delegate-BtICZDHr.js → framework-delegate-DC5nq_NN.js} +4 -2
  232. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-eix26ESE.js} +1 -1
  233. package/dist/cjs/{helpers-Cv23MFHM.js → helpers-DiOgV5hw.js} +71 -4
  234. package/dist/cjs/{index-BERfRao3.js → index-BaJ7_YbC.js} +4 -4
  235. package/dist/cjs/index-Bj07IRTB.js +429 -0
  236. package/dist/cjs/{index-Dqpns5vP.js → index-BxEZd5IE.js} +2 -34
  237. package/dist/cjs/{index-DqmRDbxg.js → index-CxDnX7hd.js} +3 -1
  238. package/dist/cjs/{index-aC4x3Fk3.js → index-DYRcC3bw.js} +15 -15
  239. package/dist/cjs/{index-Ct7gcRif.js → index-GZU9YrFc.js} +41 -4
  240. package/dist/cjs/{index-D81eLYUM.js → index-bX3nz2vw.js} +9 -8
  241. package/dist/cjs/index.cjs.js +16 -16
  242. package/dist/cjs/{input-shims-DpA1zUN9.js → input-shims-BSEBw22J.js} +18 -17
  243. package/dist/cjs/{input.utils-DetjmtH2.js → input.utils-D68wgI2Y.js} +5 -5
  244. package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -29
  245. package/dist/cjs/ion-action-sheet.cjs.entry.js +41 -22
  246. package/dist/cjs/ion-alert.cjs.entry.js +78 -41
  247. package/dist/cjs/ion-app_8.cjs.entry.js +458 -194
  248. package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -13
  249. package/dist/cjs/ion-back-button.cjs.entry.js +31 -22
  250. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
  251. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +54 -18
  252. package/dist/cjs/ion-button_2.cjs.entry.js +61 -24
  253. package/dist/cjs/ion-card_5.cjs.entry.js +55 -33
  254. package/dist/cjs/ion-checkbox.cjs.entry.js +34 -17
  255. package/dist/cjs/ion-chip.cjs.entry.js +50 -9
  256. package/dist/cjs/ion-col_3.cjs.entry.js +56 -57
  257. package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -9
  258. package/dist/cjs/ion-datetime_3.cjs.entry.js +121 -46
  259. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  260. package/dist/cjs/ion-fab_3.cjs.entry.js +44 -28
  261. package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
  262. package/dist/cjs/ion-gallery.cjs.entry.js +607 -0
  263. package/dist/cjs/ion-img.cjs.entry.js +8 -4
  264. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +93 -17
  265. package/dist/cjs/ion-input-otp.cjs.entry.js +74 -9
  266. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +53 -15
  267. package/dist/cjs/ion-input.cjs.entry.js +132 -40
  268. package/dist/cjs/ion-item-option_3.cjs.entry.js +467 -52
  269. package/dist/cjs/ion-item_8.cjs.entry.js +121 -50
  270. package/dist/cjs/ion-loading.cjs.entry.js +22 -19
  271. package/dist/cjs/ion-menu_3.cjs.entry.js +47 -29
  272. package/dist/cjs/ion-modal.cjs.entry.js +303 -169
  273. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
  274. package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
  275. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
  276. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  277. package/dist/cjs/ion-popover.cjs.entry.js +21 -19
  278. package/dist/cjs/ion-progress-bar.cjs.entry.js +27 -9
  279. package/dist/cjs/ion-radio_2.cjs.entry.js +36 -18
  280. package/dist/cjs/ion-range.cjs.entry.js +20 -13
  281. package/dist/cjs/ion-refresher_2.cjs.entry.js +43 -24
  282. package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -14
  283. package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
  284. package/dist/cjs/ion-route_4.cjs.entry.js +11 -10
  285. package/dist/cjs/ion-searchbar.cjs.entry.js +146 -32
  286. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  287. package/dist/cjs/ion-segment-view.cjs.entry.js +13 -3
  288. package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
  289. package/dist/cjs/ion-select-modal.cjs.entry.js +114 -38
  290. package/dist/cjs/ion-select_3.cjs.entry.js +557 -108
  291. package/dist/cjs/ion-spinner.cjs.entry.js +30 -8
  292. package/dist/cjs/ion-split-pane.cjs.entry.js +13 -9
  293. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +150 -28
  294. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  295. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  296. package/dist/cjs/ion-textarea.cjs.entry.js +137 -23
  297. package/dist/cjs/ion-toast.cjs.entry.js +70 -46
  298. package/dist/cjs/ion-toggle.cjs.entry.js +82 -26
  299. package/dist/cjs/ionic-global-QoUqobrQ.js +519 -0
  300. package/dist/cjs/ionic.cjs.js +4 -4
  301. package/dist/cjs/{ios.transition-BOSWOaiK.js → ios.transition-DpFQfFfT.js} +7 -5
  302. package/dist/cjs/{item-multiple-inputs-D-gyg57c.js → item-multiple-inputs-BG9f5_eV.js} +1 -1
  303. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Bn0Ppim6.js} +1 -1
  304. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-faZBQysj.js} +4 -3
  305. package/dist/cjs/list-a-7GSA6K.js +8 -0
  306. package/dist/cjs/loader.cjs.js +4 -4
  307. package/dist/cjs/{md.transition-B8-wBZqt.js → md.transition-ChJcoZUH.js} +6 -5
  308. package/dist/cjs/{notch-controller-18PzRGXd.js → notch-controller-BO0UGB4F.js} +4 -4
  309. package/dist/cjs/overlay-control-label-DnRLQR1t.js +52 -0
  310. package/dist/cjs/{overlays-DdtIYQUH.js → overlays-CFGbPUmE.js} +309 -18
  311. package/dist/cjs/scroll-hide-controller-G9HOmmhN.js +345 -0
  312. package/dist/cjs/select-option-render-DqBHEjDn.js +124 -0
  313. package/dist/cjs/{status-tap-N1kaBbuk.js → status-tap-x2qDo5QR.js} +4 -3
  314. package/dist/cjs/{swipe-back-C0GCB18x.js → swipe-back-CvZt_4YX.js} +3 -2
  315. package/dist/cjs/{theme-CeDs6Hcv.js → theme-IlOsGAz7.js} +25 -1
  316. package/dist/cjs/validity-QmuwEptc.js +51 -0
  317. package/dist/cjs/x-BTF99yFH.js +8 -0
  318. package/dist/collection/collection-manifest.json +9 -1
  319. package/dist/collection/components/accordion/accordion.ionic.css +201 -0
  320. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  321. package/dist/collection/components/accordion/accordion.js +41 -27
  322. package/dist/collection/components/accordion/accordion.md.css +67 -59
  323. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  324. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  325. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  326. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  327. package/dist/collection/components/action-sheet/action-sheet.ionic.css +494 -0
  328. package/dist/collection/components/action-sheet/action-sheet.ios.css +367 -11
  329. package/dist/collection/components/action-sheet/action-sheet.js +32 -13
  330. package/dist/collection/components/action-sheet/action-sheet.md.css +306 -10
  331. package/dist/collection/components/alert/alert.ionic.css +787 -0
  332. package/dist/collection/components/alert/alert.ios.css +481 -19
  333. package/dist/collection/components/alert/alert.js +67 -30
  334. package/dist/collection/components/alert/alert.md.css +464 -29
  335. package/dist/collection/components/app/app.js +15 -83
  336. package/dist/collection/components/avatar/avatar.ionic.css +385 -0
  337. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  338. package/dist/collection/components/avatar/avatar.js +120 -4
  339. package/dist/collection/components/avatar/avatar.md.css +51 -0
  340. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  341. package/dist/collection/components/back-button/back-button.js +27 -19
  342. package/dist/collection/components/back-button/back-button.md.css +60 -48
  343. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  344. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  345. package/dist/collection/components/backdrop/backdrop.js +12 -6
  346. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  347. package/dist/collection/components/badge/badge.ionic.css +272 -0
  348. package/dist/collection/components/badge/badge.ios.css +137 -12
  349. package/dist/collection/components/badge/badge.js +145 -9
  350. package/dist/collection/components/badge/badge.md.css +122 -12
  351. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  352. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  353. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  354. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  355. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  356. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  357. package/dist/collection/components/button/button.ionic.css +644 -0
  358. package/dist/collection/components/button/button.ios.css +154 -46
  359. package/dist/collection/components/button/button.js +63 -27
  360. package/dist/collection/components/button/button.md.css +150 -50
  361. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  362. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  363. package/dist/collection/components/buttons/buttons.js +15 -9
  364. package/dist/collection/components/buttons/buttons.md.css +55 -3
  365. package/dist/collection/components/card/card.ionic.css +144 -0
  366. package/dist/collection/components/card/card.ios.css +65 -14
  367. package/dist/collection/components/card/card.js +41 -10
  368. package/dist/collection/components/card/card.md.css +65 -14
  369. package/dist/collection/components/card-content/card-content.ionic.css +89 -0
  370. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  371. package/dist/collection/components/card-content/card-content.js +12 -10
  372. package/dist/collection/components/card-content/card-content.md.css +20 -35
  373. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  374. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  375. package/dist/collection/components/card-header/card-header.js +13 -10
  376. package/dist/collection/components/card-header/card-header.md.css +27 -15
  377. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  378. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  379. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  380. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  381. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  382. package/dist/collection/components/card-title/card-title.js +11 -8
  383. package/dist/collection/components/card-title/card-title.md.css +73 -0
  384. package/dist/collection/components/checkbox/checkbox.ionic.css +543 -0
  385. package/dist/collection/components/checkbox/checkbox.ios.css +242 -117
  386. package/dist/collection/components/checkbox/checkbox.js +69 -14
  387. package/dist/collection/components/checkbox/checkbox.md.css +243 -118
  388. package/dist/collection/components/chip/chip.ionic.css +217 -0
  389. package/dist/collection/components/chip/chip.ios.css +67 -14
  390. package/dist/collection/components/chip/chip.js +108 -8
  391. package/dist/collection/components/chip/chip.md.css +67 -14
  392. package/dist/collection/components/col/col.css +192 -4
  393. package/dist/collection/components/col/col.js +211 -61
  394. package/dist/collection/components/content/content.css +47 -2
  395. package/dist/collection/components/content/content.js +16 -11
  396. package/dist/collection/components/datetime/datetime.ionic.css +703 -0
  397. package/dist/collection/components/datetime/datetime.ios.css +302 -106
  398. package/dist/collection/components/datetime/datetime.js +97 -20
  399. package/dist/collection/components/datetime/datetime.md.css +293 -96
  400. package/dist/collection/components/datetime/utils/data.js +5 -5
  401. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  402. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  403. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  404. package/dist/collection/components/divider/divider.ionic.css +148 -0
  405. package/dist/collection/components/divider/divider.ios.css +87 -0
  406. package/dist/collection/components/divider/divider.js +94 -0
  407. package/dist/collection/components/divider/divider.md.css +87 -0
  408. package/dist/collection/components/fab/fab.css +25 -1
  409. package/dist/collection/components/fab/fab.js +9 -5
  410. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  411. package/dist/collection/components/fab-button/fab-button.js +36 -21
  412. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  413. package/dist/collection/components/fab-list/fab-list.css +12 -0
  414. package/dist/collection/components/fab-list/fab-list.js +9 -5
  415. package/dist/collection/components/footer/footer-interface.js +1 -0
  416. package/dist/collection/components/footer/footer.ios.css +33 -6
  417. package/dist/collection/components/footer/footer.js +117 -25
  418. package/dist/collection/components/footer/footer.md.css +40 -0
  419. package/dist/collection/components/gallery/gallery-constants.js +12 -0
  420. package/dist/collection/components/gallery/gallery-interface.js +1 -0
  421. package/dist/collection/components/gallery/gallery.css +15 -0
  422. package/dist/collection/components/gallery/gallery.js +679 -0
  423. package/dist/collection/components/gallery/test/utils.js +100 -0
  424. package/dist/collection/components/gallery-item/gallery-item.css +49 -0
  425. package/dist/collection/components/gallery-item/gallery-item.js +99 -0
  426. package/dist/collection/components/grid/grid.css +12 -0
  427. package/dist/collection/components/grid/grid.js +9 -5
  428. package/dist/collection/components/header/header-interface.js +1 -0
  429. package/dist/collection/components/header/header.ionic.css +250 -0
  430. package/dist/collection/components/header/header.ios.css +178 -133
  431. package/dist/collection/components/header/header.js +181 -39
  432. package/dist/collection/components/header/header.md.css +199 -9
  433. package/dist/collection/components/header/header.utils.js +6 -13
  434. package/dist/collection/components/img/img.js +8 -2
  435. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  436. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  437. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  438. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  439. package/dist/collection/components/input/input.ionic.css +891 -0
  440. package/dist/collection/components/input/input.ios.css +224 -137
  441. package/dist/collection/components/input/input.js +158 -45
  442. package/dist/collection/components/input/input.md.css +194 -209
  443. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  444. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  445. package/dist/collection/components/input-otp/input-otp.js +74 -7
  446. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  447. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  448. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  449. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  450. package/dist/collection/components/item/item.ionic.css +496 -0
  451. package/dist/collection/components/item/item.ios.css +120 -80
  452. package/dist/collection/components/item/item.js +56 -21
  453. package/dist/collection/components/item/item.md.css +131 -79
  454. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  455. package/dist/collection/components/item-divider/item-divider.js +11 -8
  456. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  457. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  458. package/dist/collection/components/item-group/item-group.js +13 -7
  459. package/dist/collection/components/item-group/item-group.md.css +12 -0
  460. package/dist/collection/components/item-option/item-option.ionic.css +277 -0
  461. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  462. package/dist/collection/components/item-option/item-option.js +73 -9
  463. package/dist/collection/components/item-option/item-option.md.css +136 -29
  464. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  465. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  466. package/dist/collection/components/item-options/item-options.js +13 -7
  467. package/dist/collection/components/item-options/item-options.md.css +77 -34
  468. package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
  469. package/dist/collection/components/item-sliding/item-sliding.js +421 -35
  470. package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
  471. package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
  472. package/dist/collection/components/label/label.ios.css +18 -0
  473. package/dist/collection/components/label/label.js +11 -8
  474. package/dist/collection/components/label/label.md.css +18 -0
  475. package/dist/collection/components/list/list.ionic.css +212 -0
  476. package/dist/collection/components/list/list.ios.css +54 -14
  477. package/dist/collection/components/list/list.js +48 -9
  478. package/dist/collection/components/list/list.md.css +56 -16
  479. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  480. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  481. package/dist/collection/components/list-header/list-header.js +11 -8
  482. package/dist/collection/components/list-header/list-header.md.css +82 -38
  483. package/dist/collection/components/loading/loading.ios.css +13 -1
  484. package/dist/collection/components/loading/loading.js +14 -11
  485. package/dist/collection/components/loading/loading.md.css +13 -1
  486. package/dist/collection/components/menu/menu.ios.css +15 -3
  487. package/dist/collection/components/menu/menu.js +12 -7
  488. package/dist/collection/components/menu/menu.md.css +15 -3
  489. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  490. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  491. package/dist/collection/components/menu-button/menu-button.js +26 -10
  492. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  493. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  494. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  495. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  496. package/dist/collection/components/modal/animations/sheet.js +8 -2
  497. package/dist/collection/components/modal/gestures/sheet.js +102 -32
  498. package/dist/collection/components/modal/gestures/swipe-to-close.js +32 -3
  499. package/dist/collection/components/modal/gestures/utils.js +0 -17
  500. package/dist/collection/components/modal/modal.ionic.css +255 -0
  501. package/dist/collection/components/modal/modal.ios.css +178 -70
  502. package/dist/collection/components/modal/modal.js +52 -22
  503. package/dist/collection/components/modal/modal.md.css +178 -70
  504. package/dist/collection/components/nav/nav.css +7 -1
  505. package/dist/collection/components/nav/nav.js +11 -5
  506. package/dist/collection/components/nav-link/nav-link.js +5 -1
  507. package/dist/collection/components/note/note.ios.css +12 -0
  508. package/dist/collection/components/note/note.js +11 -8
  509. package/dist/collection/components/note/note.md.css +12 -0
  510. package/dist/collection/components/picker/picker.ios.css +15 -3
  511. package/dist/collection/components/picker/picker.js +8 -5
  512. package/dist/collection/components/picker/picker.md.css +15 -3
  513. package/dist/collection/components/picker-column/picker-column.css +9 -2
  514. package/dist/collection/components/picker-column/picker-column.js +8 -7
  515. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  516. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  517. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  518. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  519. package/dist/collection/components/picker-legacy/picker.js +7 -6
  520. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  521. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  522. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  523. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  524. package/dist/collection/components/popover/popover.ionic.css +290 -0
  525. package/dist/collection/components/popover/popover.ios.css +29 -1
  526. package/dist/collection/components/popover/popover.js +18 -15
  527. package/dist/collection/components/popover/popover.md.css +29 -1
  528. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  529. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  530. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  531. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  532. package/dist/collection/components/radio/radio.ionic.css +422 -0
  533. package/dist/collection/components/radio/radio.ios.css +207 -102
  534. package/dist/collection/components/radio/radio.js +14 -9
  535. package/dist/collection/components/radio/radio.md.css +207 -102
  536. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  537. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  538. package/dist/collection/components/radio-group/radio-group.js +48 -7
  539. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  540. package/dist/collection/components/range/range.ionic.css +567 -0
  541. package/dist/collection/components/range/range.ios.css +128 -85
  542. package/dist/collection/components/range/range.js +16 -10
  543. package/dist/collection/components/range/range.md.css +128 -85
  544. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  545. package/dist/collection/components/refresher/refresher.js +13 -10
  546. package/dist/collection/components/refresher/refresher.md.css +15 -2
  547. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  548. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  549. package/dist/collection/components/reorder/reorder.js +33 -6
  550. package/dist/collection/components/reorder/reorder.md.css +6 -0
  551. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  552. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  553. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  554. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  555. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  556. package/dist/collection/components/route/route.js +4 -0
  557. package/dist/collection/components/router/router.js +4 -0
  558. package/dist/collection/components/router-link/router-link.css +8 -2
  559. package/dist/collection/components/router-link/router-link.js +9 -5
  560. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  561. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  562. package/dist/collection/components/row/row.css +16 -0
  563. package/dist/collection/components/row/row.js +9 -2
  564. package/dist/collection/components/searchbar/searchbar.ionic.css +622 -0
  565. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  566. package/dist/collection/components/searchbar/searchbar.js +191 -42
  567. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  568. package/dist/collection/components/segment/segment.ionic.css +115 -0
  569. package/dist/collection/components/segment/segment.ios.css +45 -2
  570. package/dist/collection/components/segment/segment.js +11 -8
  571. package/dist/collection/components/segment/segment.md.css +45 -2
  572. package/dist/collection/components/segment-button/segment-button.ionic.css +352 -0
  573. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  574. package/dist/collection/components/segment-button/segment-button.js +11 -8
  575. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  576. package/dist/collection/components/segment-content/segment-content.js +1 -1
  577. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  578. package/dist/collection/components/segment-view/segment-view.js +13 -4
  579. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  580. package/dist/collection/components/select/select.ionic.css +809 -0
  581. package/dist/collection/components/select/select.ios.css +348 -176
  582. package/dist/collection/components/select/select.js +521 -92
  583. package/dist/collection/components/select/select.md.css +364 -178
  584. package/dist/collection/components/select-modal/select-modal.ionic.css +257 -0
  585. package/dist/collection/components/select-modal/select-modal.ios.css +466 -0
  586. package/dist/collection/components/select-modal/select-modal.js +126 -30
  587. package/dist/collection/components/select-modal/select-modal.md.css +394 -0
  588. package/dist/collection/components/select-option/select-option.js +72 -4
  589. package/dist/collection/components/select-popover/select-popover.ionic.css +255 -0
  590. package/dist/collection/components/select-popover/select-popover.ios.css +302 -20
  591. package/dist/collection/components/select-popover/select-popover.js +89 -29
  592. package/dist/collection/components/select-popover/select-popover.md.css +345 -0
  593. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  594. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  595. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  596. package/dist/collection/components/spinner/spinner.js +47 -6
  597. package/dist/collection/components/spinner/spinner.native.css +199 -0
  598. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  599. package/dist/collection/components/split-pane/split-pane.js +15 -8
  600. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  601. package/dist/collection/components/tab/tab.js +6 -2
  602. package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
  603. package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
  604. package/dist/collection/components/tab-bar/tab-bar.js +179 -15
  605. package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
  606. package/dist/collection/components/tab-button/tab-button.ionic.css +373 -0
  607. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  608. package/dist/collection/components/tab-button/tab-button.js +54 -9
  609. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  610. package/dist/collection/components/tabs/tabs.css +7 -1
  611. package/dist/collection/components/tabs/tabs.js +4 -1
  612. package/dist/collection/components/text/text.css +6 -0
  613. package/dist/collection/components/text/text.js +7 -6
  614. package/dist/collection/components/textarea/textarea.ionic.css +898 -0
  615. package/dist/collection/components/textarea/textarea.ios.css +298 -158
  616. package/dist/collection/components/textarea/textarea.js +162 -24
  617. package/dist/collection/components/textarea/textarea.md.css +312 -159
  618. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  619. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  620. package/dist/collection/components/title/title.ionic.css +127 -0
  621. package/dist/collection/components/title/title.ios.css +32 -4
  622. package/dist/collection/components/title/title.js +13 -7
  623. package/dist/collection/components/title/title.md.css +39 -4
  624. package/dist/collection/components/toast/animations/utils.js +1 -1
  625. package/dist/collection/components/toast/toast.ionic.css +394 -0
  626. package/dist/collection/components/toast/toast.ios.css +84 -45
  627. package/dist/collection/components/toast/toast.js +76 -13
  628. package/dist/collection/components/toast/toast.md.css +84 -45
  629. package/dist/collection/components/toggle/toggle.ionic.css +512 -0
  630. package/dist/collection/components/toggle/toggle.ios.css +247 -127
  631. package/dist/collection/components/toggle/toggle.js +72 -18
  632. package/dist/collection/components/toggle/toggle.md.css +245 -127
  633. package/dist/collection/components/toolbar/test/image.svg +1 -0
  634. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  635. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  636. package/dist/collection/components/toolbar/toolbar.js +218 -13
  637. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  638. package/dist/collection/global/ionic-global.js +241 -13
  639. package/dist/collection/utils/content/index.js +0 -30
  640. package/dist/collection/utils/css-value-validation.js +39 -0
  641. package/dist/collection/utils/focus-trap.js +13 -2
  642. package/dist/collection/utils/focus-visible.js +22 -0
  643. package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
  644. package/dist/collection/utils/forms/index.js +1 -0
  645. package/dist/collection/utils/forms/validity.js +31 -0
  646. package/dist/collection/utils/framework-delegate.js +3 -1
  647. package/dist/collection/utils/hardware-back-button.js +15 -0
  648. package/dist/collection/utils/helpers.js +70 -3
  649. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  650. package/dist/collection/utils/media.js +1 -0
  651. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  652. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  653. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  654. package/dist/collection/utils/overlay-control-label.js +47 -0
  655. package/dist/collection/utils/overlays.js +290 -8
  656. package/dist/collection/utils/sanitization/index.js +274 -18
  657. package/dist/collection/utils/scroll-hide-controller.js +178 -0
  658. package/dist/collection/utils/select-option-render.js +119 -0
  659. package/dist/collection/utils/test/playwright/drag-element.js +32 -9
  660. package/dist/collection/utils/test/playwright/generator.js +48 -23
  661. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  662. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  663. package/dist/collection/utils/theme.js +25 -1
  664. package/dist/collection/utils/transition/ios.transition.js +1 -0
  665. package/dist/docs.json +9090 -286
  666. package/dist/esm/{animation-DLJpuoEz.js → animation-B2qdQ_ou.js} +2 -2
  667. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-DZ-iIjxA.js} +1 -1
  668. package/dist/esm/{button-active-BSpTQmS9.js → button-active-BmajAby6.js} +2 -2
  669. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CtQSWUU0.js} +1 -1
  670. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  671. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  672. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  673. package/dist/esm/clear-button-press-controller-C7AAVMKK.js +43 -0
  674. package/dist/esm/config-BwKpO3Is.js +31 -0
  675. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  676. package/dist/esm/{format-CAmvpAez.js → format-2WlZcMvG.js} +1 -1
  677. package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate-DO2QXccA.js} +4 -2
  678. package/dist/esm/{haptic-DzAMWJuk.js → haptic-DFgKNCce.js} +1 -1
  679. package/dist/esm/{helpers-HEqiOzXb.js → helpers-DfF5_wJc.js} +71 -5
  680. package/dist/esm/{index-DV3sJJW8.js → index-B4Kq2YNk.js} +3 -2
  681. package/dist/esm/{index-B_dQk_WE.js → index-BIUWGRUl.js} +4 -4
  682. package/dist/esm/{index-BRHzoo00.js → index-BjaaZqVY.js} +4 -3
  683. package/dist/esm/{index-tcQvqkiX.js → index-C0EQceqV.js} +41 -4
  684. package/dist/esm/{index-Q6UPU0Ay.js → index-Di034G4O.js} +11 -11
  685. package/dist/esm/{index-Dw-wN0Ja.js → index-KxK0gcRp.js} +3 -33
  686. package/dist/esm/index-Mq5pCWmZ.js +424 -0
  687. package/dist/esm/index.js +14 -14
  688. package/dist/esm/{input-shims-LXhI7LEx.js → input-shims-DvNNw70a.js} +7 -6
  689. package/dist/esm/{input.utils-Y6NgW8bw.js → input.utils-_LkBfBWt.js} +3 -3
  690. package/dist/esm/ion-accordion_2.entry.js +61 -29
  691. package/dist/esm/ion-action-sheet.entry.js +41 -22
  692. package/dist/esm/ion-alert.entry.js +77 -40
  693. package/dist/esm/ion-app_8.entry.js +457 -193
  694. package/dist/esm/ion-avatar_3.entry.js +125 -13
  695. package/dist/esm/ion-back-button.entry.js +31 -22
  696. package/dist/esm/ion-backdrop.entry.js +10 -7
  697. package/dist/esm/ion-breadcrumb_2.entry.js +54 -18
  698. package/dist/esm/ion-button_2.entry.js +61 -24
  699. package/dist/esm/ion-card_5.entry.js +55 -33
  700. package/dist/esm/ion-checkbox.entry.js +34 -17
  701. package/dist/esm/ion-chip.entry.js +50 -9
  702. package/dist/esm/ion-col_3.entry.js +56 -57
  703. package/dist/esm/ion-datetime-button.entry.js +13 -9
  704. package/dist/esm/ion-datetime_3.entry.js +121 -46
  705. package/dist/esm/ion-divider.entry.js +49 -0
  706. package/dist/esm/ion-fab_3.entry.js +44 -28
  707. package/dist/esm/ion-gallery-item.entry.js +57 -0
  708. package/dist/esm/ion-gallery.entry.js +605 -0
  709. package/dist/esm/ion-img.entry.js +8 -4
  710. package/dist/esm/ion-infinite-scroll_2.entry.js +92 -16
  711. package/dist/esm/ion-input-otp.entry.js +74 -9
  712. package/dist/esm/ion-input-password-toggle.entry.js +53 -15
  713. package/dist/esm/ion-input.entry.js +132 -40
  714. package/dist/esm/ion-item-option_3.entry.js +467 -52
  715. package/dist/esm/ion-item_8.entry.js +121 -50
  716. package/dist/esm/ion-loading.entry.js +21 -18
  717. package/dist/esm/ion-menu_3.entry.js +47 -29
  718. package/dist/esm/ion-modal.entry.js +269 -135
  719. package/dist/esm/ion-nav_2.entry.js +14 -11
  720. package/dist/esm/ion-picker-column-option.entry.js +12 -8
  721. package/dist/esm/ion-picker-column.entry.js +13 -13
  722. package/dist/esm/ion-picker.entry.js +10 -6
  723. package/dist/esm/ion-popover.entry.js +21 -19
  724. package/dist/esm/ion-progress-bar.entry.js +27 -9
  725. package/dist/esm/ion-radio_2.entry.js +36 -18
  726. package/dist/esm/ion-range.entry.js +20 -13
  727. package/dist/esm/ion-refresher_2.entry.js +41 -22
  728. package/dist/esm/ion-reorder_2.entry.js +38 -14
  729. package/dist/esm/ion-ripple-effect.entry.js +15 -7
  730. package/dist/esm/ion-route_4.entry.js +11 -10
  731. package/dist/esm/ion-searchbar.entry.js +146 -32
  732. package/dist/esm/ion-segment-content.entry.js +2 -2
  733. package/dist/esm/ion-segment-view.entry.js +13 -3
  734. package/dist/esm/ion-segment_2.entry.js +23 -16
  735. package/dist/esm/ion-select-modal.entry.js +114 -38
  736. package/dist/esm/ion-select_3.entry.js +557 -108
  737. package/dist/esm/ion-spinner.entry.js +30 -8
  738. package/dist/esm/ion-split-pane.entry.js +13 -9
  739. package/dist/esm/ion-tab-bar_2.entry.js +149 -27
  740. package/dist/esm/ion-tab_2.entry.js +8 -7
  741. package/dist/esm/ion-text.entry.js +7 -7
  742. package/dist/esm/ion-textarea.entry.js +137 -23
  743. package/dist/esm/ion-toast.entry.js +45 -21
  744. package/dist/esm/ion-toggle.entry.js +82 -26
  745. package/dist/esm/ionic-global-BpkTponr.js +508 -0
  746. package/dist/esm/ionic.js +5 -5
  747. package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-CgScDbsb.js} +7 -5
  748. package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-C6onMFOo.js} +1 -1
  749. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-CyyguLDw.js} +1 -1
  750. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-WJix-wcz.js} +4 -3
  751. package/dist/esm/list-Dhi5xtNS.js +6 -0
  752. package/dist/esm/loader.js +5 -5
  753. package/dist/esm/{md.transition-D0msQmzI.js → md.transition-DThqYazt.js} +6 -5
  754. package/dist/esm/{notch-controller-DKDjU_O7.js → notch-controller-MTblRxjD.js} +2 -2
  755. package/dist/esm/overlay-control-label-CODBQrPj.js +49 -0
  756. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-tv6nLsmk.js} +306 -15
  757. package/dist/esm/scroll-hide-controller-CUNW7EpD.js +342 -0
  758. package/dist/esm/select-option-render-BlKZ2H83.js +122 -0
  759. package/dist/esm/{status-tap-vO-6s4Yp.js → status-tap-CoPI1M2q.js} +4 -3
  760. package/dist/esm/{swipe-back-DQ1q5MgD.js → swipe-back-qmvTRnSq.js} +3 -2
  761. package/dist/esm/{theme-DiVJyqlX.js → theme-DaJxRxSQ.js} +25 -1
  762. package/dist/esm/validity-BjW8SOqw.js +48 -0
  763. package/dist/esm/x-BDqjX7Z_.js +6 -0
  764. package/dist/html.html-data.json +2707 -168
  765. package/dist/ionic/index.esm.js +1 -1
  766. package/dist/ionic/ionic.esm.js +1 -1
  767. package/dist/ionic/p--sroV-k-.js +4 -0
  768. package/dist/ionic/p-05ce9821.entry.js +4 -0
  769. package/dist/ionic/p-085b8cdf.entry.js +4 -0
  770. package/dist/ionic/p-0ef6bfc4.entry.js +4 -0
  771. package/dist/ionic/p-18b7771e.entry.js +4 -0
  772. package/dist/ionic/p-19f34fe5.entry.js +4 -0
  773. package/dist/ionic/p-1b6e3914.entry.js +4 -0
  774. package/dist/ionic/p-2740db6e.entry.js +4 -0
  775. package/dist/ionic/p-2a1abbb1.entry.js +4 -0
  776. package/dist/ionic/p-2d9c681b.entry.js +4 -0
  777. package/dist/ionic/p-2fba8f15.entry.js +4 -0
  778. package/dist/ionic/p-3886bfbe.entry.js +4 -0
  779. package/dist/ionic/p-3ab9c35a.entry.js +4 -0
  780. package/dist/ionic/p-3b4c5cb5.entry.js +4 -0
  781. package/dist/ionic/p-3cfb4ff2.entry.js +4 -0
  782. package/dist/ionic/p-41afaf15.entry.js +4 -0
  783. package/dist/ionic/p-47b9dac0.entry.js +4 -0
  784. package/dist/ionic/p-54419365.entry.js +4 -0
  785. package/dist/ionic/p-54b7972e.entry.js +4 -0
  786. package/dist/ionic/p-602cf876.entry.js +4 -0
  787. package/dist/ionic/p-678ee14a.entry.js +4 -0
  788. package/dist/ionic/p-679c1448.entry.js +4 -0
  789. package/dist/ionic/p-68ea8ed1.entry.js +4 -0
  790. package/dist/ionic/p-6e1ec775.entry.js +4 -0
  791. package/dist/ionic/p-745d6b2b.entry.js +4 -0
  792. package/dist/ionic/p-77254b78.entry.js +4 -0
  793. package/dist/ionic/{p-C0eMdTCW.js → p-7k7Q1A38.js} +1 -1
  794. package/dist/ionic/p-898691b3.entry.js +4 -0
  795. package/dist/ionic/p-89fedfda.entry.js +4 -0
  796. package/dist/ionic/p-8cf82b85.entry.js +4 -0
  797. package/dist/ionic/p-8d5fd199.entry.js +4 -0
  798. package/dist/ionic/p-9087119f.entry.js +4 -0
  799. package/dist/ionic/p-9c508a22.entry.js +4 -0
  800. package/dist/ionic/p-B4Kq2YNk.js +4 -0
  801. package/dist/ionic/p-BDSH5ckF.js +4 -0
  802. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  803. package/dist/ionic/p-BFy_BK46.js +4 -0
  804. package/dist/ionic/p-BYSs-jZz.js +4 -0
  805. package/dist/ionic/p-BjW8SOqw.js +4 -0
  806. package/dist/ionic/p-BlZo7Gy-.js +4 -0
  807. package/dist/ionic/p-Bq8S4vhI.js +4 -0
  808. package/dist/ionic/p-Btc4flkw.js +4 -0
  809. package/dist/ionic/p-BwKpO3Is.js +4 -0
  810. package/dist/ionic/p-C0EQceqV.js +5 -0
  811. package/dist/ionic/p-C1I_d964.js +4 -0
  812. package/dist/ionic/p-CB91Gr9M.js +4 -0
  813. package/dist/ionic/p-CEkwLb3L.js +4 -0
  814. package/dist/ionic/p-CJsJQPQD.js +4 -0
  815. package/dist/ionic/p-CODBQrPj.js +4 -0
  816. package/dist/ionic/p-Ch7MBNn_.js +4 -0
  817. package/dist/ionic/p-Cipl19Qe.js +4 -0
  818. package/dist/ionic/{p-DC3RagnA.js → p-Cm20lBQw.js} +1 -1
  819. package/dist/ionic/p-CnAWnbNK.js +4 -0
  820. package/dist/ionic/p-D1t981Ih.js +4 -0
  821. package/dist/ionic/p-D4MT1z4_.js +4 -0
  822. package/dist/ionic/p-D4veLKCq.js +4 -0
  823. package/dist/ionic/p-DF7ubVci.js +4 -0
  824. package/dist/ionic/p-DMaSfupH.js +4 -0
  825. package/{components/p-D13Eaw-8.js → dist/ionic/p-DQDmksdT.js} +1 -1
  826. package/dist/ionic/p-DTsDGZPd.js +4 -0
  827. package/dist/ionic/p-DaJxRxSQ.js +4 -0
  828. package/dist/ionic/p-DdCaKRle.js +4 -0
  829. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  830. package/dist/ionic/p-Dy243NXW.js +4 -0
  831. package/dist/ionic/{p-CKvCXMs9.js → p-OkgYzj-7.js} +1 -1
  832. package/dist/ionic/p-YIsE5bNG.js +4 -0
  833. package/dist/ionic/p-a4af8e39.entry.js +4 -0
  834. package/dist/ionic/p-b2368a93.entry.js +4 -0
  835. package/dist/ionic/p-b275f17e.entry.js +4 -0
  836. package/dist/ionic/p-c5635175.entry.js +4 -0
  837. package/dist/ionic/p-c76d57fb.entry.js +4 -0
  838. package/dist/ionic/p-ca3a07b5.entry.js +4 -0
  839. package/dist/ionic/p-ced3cda1.entry.js +4 -0
  840. package/dist/ionic/p-cf22e991.entry.js +4 -0
  841. package/dist/ionic/p-d0c1d21d.entry.js +4 -0
  842. package/dist/ionic/p-d0d42da6.entry.js +4 -0
  843. package/dist/ionic/p-d33dfc12.entry.js +4 -0
  844. package/dist/ionic/p-d34bfb61.entry.js +4 -0
  845. package/dist/ionic/p-dbc08f67.entry.js +4 -0
  846. package/dist/ionic/p-dc8e0b91.entry.js +4 -0
  847. package/dist/ionic/p-df642ef5.entry.js +4 -0
  848. package/dist/ionic/p-e04d63e1.entry.js +4 -0
  849. package/dist/ionic/p-e3615478.entry.js +4 -0
  850. package/dist/ionic/p-f1810d29.entry.js +4 -0
  851. package/dist/ionic/p-f1a8aead.entry.js +4 -0
  852. package/dist/ionic/p-f69af9d3.entry.js +4 -0
  853. package/dist/ionic/p-f760f90e.entry.js +4 -0
  854. package/dist/ionic/p-f8001f8f.entry.js +4 -0
  855. package/dist/ionic/p-f8b63ebb.entry.js +4 -0
  856. package/dist/ionic/p-fIOYmaqA.js +4 -0
  857. package/dist/ionic/p-fc6d26ff.entry.js +4 -0
  858. package/dist/ionic/p-im8OkZlj.js +4 -0
  859. package/dist/ionic/p-lMb_45ax.js +4 -0
  860. package/dist/ionic/p-oUgyLDGL.js +4 -0
  861. package/dist/ionic/p-vXpMhGrs.js +4 -0
  862. package/dist/types/components/accordion/accordion.d.ts +6 -3
  863. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  864. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  865. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  866. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  867. package/dist/types/components/alert/alert.d.ts +3 -2
  868. package/dist/types/components/app/app.d.ts +4 -5
  869. package/dist/types/components/avatar/avatar.d.ts +32 -0
  870. package/dist/types/components/back-button/back-button.d.ts +2 -1
  871. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  872. package/dist/types/components/badge/badge.d.ts +34 -1
  873. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  874. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  875. package/dist/types/components/button/button.d.ts +23 -8
  876. package/dist/types/components/buttons/buttons.d.ts +5 -1
  877. package/dist/types/components/card/card.d.ts +8 -1
  878. package/dist/types/components/card-content/card-content.d.ts +2 -1
  879. package/dist/types/components/card-header/card-header.d.ts +3 -2
  880. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  881. package/dist/types/components/card-title/card-title.d.ts +2 -1
  882. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  883. package/dist/types/components/chip/chip.d.ts +26 -1
  884. package/dist/types/components/col/col.d.ts +52 -5
  885. package/dist/types/components/content/content.d.ts +3 -0
  886. package/dist/types/components/datetime/datetime.d.ts +26 -1
  887. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  888. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  889. package/dist/types/components/divider/divider.d.ts +20 -0
  890. package/dist/types/components/fab/fab.d.ts +4 -0
  891. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  892. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  893. package/dist/types/components/footer/footer-interface.d.ts +1 -0
  894. package/dist/types/components/footer/footer.d.ts +20 -3
  895. package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
  896. package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
  897. package/dist/types/components/gallery/gallery.d.ts +218 -0
  898. package/dist/types/components/gallery/test/utils.d.ts +3 -0
  899. package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
  900. package/dist/types/components/grid/grid.d.ts +4 -0
  901. package/dist/types/components/header/header-interface.d.ts +1 -0
  902. package/dist/types/components/header/header.d.ts +26 -3
  903. package/dist/types/components/header/header.utils.d.ts +4 -5
  904. package/dist/types/components/img/img.d.ts +3 -0
  905. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  906. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  907. package/dist/types/components/input/input.d.ts +34 -5
  908. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  909. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  910. package/dist/types/components/item/item.d.ts +11 -4
  911. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  912. package/dist/types/components/item-group/item-group.d.ts +4 -0
  913. package/dist/types/components/item-option/item-option.d.ts +18 -1
  914. package/dist/types/components/item-options/item-options.d.ts +4 -0
  915. package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
  916. package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
  917. package/dist/types/components/label/label.d.ts +2 -1
  918. package/dist/types/components/list/list.d.ts +15 -1
  919. package/dist/types/components/list-header/list-header.d.ts +2 -1
  920. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  921. package/dist/types/components/loading/loading.d.ts +3 -2
  922. package/dist/types/components/menu/menu.d.ts +3 -0
  923. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  924. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  925. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  926. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  927. package/dist/types/components/modal/gestures/sheet.d.ts +1 -2
  928. package/dist/types/components/modal/gestures/utils.d.ts +0 -11
  929. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  930. package/dist/types/components/modal/modal.d.ts +11 -2
  931. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  932. package/dist/types/components/nav/nav.d.ts +5 -1
  933. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  934. package/dist/types/components/note/note.d.ts +2 -1
  935. package/dist/types/components/picker/picker.d.ts +2 -1
  936. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  937. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  938. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  939. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  940. package/dist/types/components/popover/popover.d.ts +6 -5
  941. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  942. package/dist/types/components/radio/radio.d.ts +2 -1
  943. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  944. package/dist/types/components/range/range.d.ts +2 -1
  945. package/dist/types/components/refresher/refresher.d.ts +2 -1
  946. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  947. package/dist/types/components/reorder/reorder.d.ts +9 -0
  948. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  949. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  950. package/dist/types/components/route/route.d.ts +4 -0
  951. package/dist/types/components/router/router.d.ts +4 -0
  952. package/dist/types/components/router-link/router-link.d.ts +4 -0
  953. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  954. package/dist/types/components/row/row.d.ts +4 -0
  955. package/dist/types/components/searchbar/searchbar.d.ts +56 -10
  956. package/dist/types/components/segment/segment.d.ts +2 -1
  957. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  958. package/dist/types/components/select/select-interface.d.ts +31 -0
  959. package/dist/types/components/select/select.d.ts +66 -13
  960. package/dist/types/components/select-modal/select-modal.d.ts +8 -0
  961. package/dist/types/components/select-option/select-option.d.ts +45 -1
  962. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  963. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  964. package/dist/types/components/spinner/spinner.d.ts +15 -0
  965. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  966. package/dist/types/components/tab/tab.d.ts +4 -0
  967. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
  968. package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
  969. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  970. package/dist/types/components/tabs/tabs.d.ts +3 -0
  971. package/dist/types/components/text/text.d.ts +2 -1
  972. package/dist/types/components/textarea/textarea.d.ts +53 -4
  973. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  974. package/dist/types/components/title/title.d.ts +4 -0
  975. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  976. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  977. package/dist/types/components/toast/toast.d.ts +19 -2
  978. package/dist/types/components/toggle/toggle.d.ts +15 -1
  979. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  980. package/dist/types/components.d.ts +1881 -210
  981. package/dist/types/global/ionic-global.d.ts +28 -2
  982. package/dist/types/interface.d.ts +3 -0
  983. package/dist/types/utils/config.d.ts +106 -2
  984. package/dist/types/utils/content/index.d.ts +0 -12
  985. package/dist/types/utils/css-value-validation.d.ts +21 -0
  986. package/dist/types/utils/focus-trap.d.ts +1 -1
  987. package/dist/types/utils/focus-visible.d.ts +13 -0
  988. package/dist/types/utils/forms/clear-button-press-controller.d.ts +20 -0
  989. package/dist/types/utils/forms/index.d.ts +1 -0
  990. package/dist/types/utils/forms/validity.d.ts +7 -0
  991. package/dist/types/utils/helpers.d.ts +22 -0
  992. package/dist/types/utils/overlay-control-label.d.ts +34 -0
  993. package/dist/types/utils/overlays-interface.d.ts +31 -1
  994. package/dist/types/utils/overlays.d.ts +1 -1
  995. package/dist/types/utils/sanitization/index.d.ts +58 -2
  996. package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
  997. package/dist/types/utils/select-option-render.d.ts +53 -0
  998. package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
  999. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1000. package/dist/types/utils/theme.d.ts +9 -0
  1001. package/hydrate/index.js +6457 -1481
  1002. package/hydrate/index.mjs +6457 -1481
  1003. package/package.json +9 -5
  1004. package/components/p--JUspHvy.js +0 -4
  1005. package/components/p-A3O24YmY.js +0 -4
  1006. package/components/p-ABkNVeU9.js +0 -4
  1007. package/components/p-B-JJgYSG.js +0 -4
  1008. package/components/p-B9jFTlwE.js +0 -4
  1009. package/components/p-BLmJ0zRm.js +0 -4
  1010. package/components/p-BMI53wYL.js +0 -4
  1011. package/components/p-BMaKgJFV.js +0 -4
  1012. package/components/p-BSEgsdFI.js +0 -4
  1013. package/components/p-BlIAuGv2.js +0 -4
  1014. package/components/p-BmVRXR1y.js +0 -4
  1015. package/components/p-Bnsn6KaP.js +0 -4
  1016. package/components/p-BsBCoGa-.js +0 -4
  1017. package/components/p-BvmB20aD.js +0 -4
  1018. package/components/p-Bz0dSlXZ.js +0 -4
  1019. package/components/p-CHqRYvYm.js +0 -4
  1020. package/components/p-CIGNaXM1.js +0 -4
  1021. package/components/p-CO7fmmxt.js +0 -4
  1022. package/components/p-CQGnMY3n.js +0 -4
  1023. package/components/p-CSZf8_j0.js +0 -4
  1024. package/components/p-C_xFdyXe.js +0 -4
  1025. package/components/p-Cfx4M1Bn.js +0 -4
  1026. package/components/p-CkMSOsFF.js +0 -4
  1027. package/components/p-CmR5uXej.js +0 -4
  1028. package/components/p-Cp4GRDqq.js +0 -4
  1029. package/components/p-CsNJ1ULL.js +0 -4
  1030. package/components/p-CtWGkNnJ.js +0 -4
  1031. package/components/p-CzCbeKys.js +0 -4
  1032. package/components/p-D-aHdMxW.js +0 -4
  1033. package/components/p-D0d8qTwj.js +0 -4
  1034. package/components/p-D3xo7hqU.js +0 -4
  1035. package/components/p-D6Ynv7Xh.js +0 -4
  1036. package/components/p-D7uN07a3.js +0 -4
  1037. package/components/p-DCnGU1fF.js +0 -4
  1038. package/components/p-DGvrK8dD.js +0 -4
  1039. package/components/p-DJztqcrH.js +0 -4
  1040. package/components/p-DOFCbuQR.js +0 -4
  1041. package/components/p-DV5mPYQS.js +0 -4
  1042. package/components/p-DWkAgceV.js +0 -4
  1043. package/components/p-DiVJyqlX.js +0 -4
  1044. package/components/p-DqZAXv2t.js +0 -4
  1045. package/components/p-R8zmRi4c.js +0 -4
  1046. package/components/p-SLS1rDZM.js +0 -4
  1047. package/components/p-ZjP4CjeZ.js +0 -4
  1048. package/components/p-aJ6PBUvj.js +0 -4
  1049. package/components/p-gAg0kXZp.js +0 -4
  1050. package/components/p-j5IxBIan.js +0 -4
  1051. package/components/p-k_E4tX5Z.js +0 -4
  1052. package/components/p-oD4kcBRX.js +0 -4
  1053. package/components/p-rCa2eL0j.js +0 -4
  1054. package/components/p-scxfI1Dd.js +0 -4
  1055. package/components/p-vRBNsYbs.js +0 -4
  1056. package/components/p-yzCsOZE2.js +0 -4
  1057. package/dist/cjs/config-xninhj0J.js +0 -201
  1058. package/dist/cjs/hardware-back-button-iUuF_76h.js +0 -121
  1059. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1060. package/dist/cjs/ionic-global-B-cA6LkY.js +0 -151
  1061. package/dist/cjs/keyboard-controller-GXBiBRKS.js +0 -167
  1062. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1063. package/dist/esm/config-DQCONYYp.js +0 -195
  1064. package/dist/esm/hardware-back-button-B93Gru0Y.js +0 -115
  1065. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1066. package/dist/esm/ionic-global-Cp_eT4sZ.js +0 -146
  1067. package/dist/esm/keyboard-controller-BaaVITYt.js +0 -165
  1068. package/dist/esm/validity-DJztqcrH.js +0 -17
  1069. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  1070. package/dist/ionic/p-06c232a4.entry.js +0 -4
  1071. package/dist/ionic/p-0caa922c.entry.js +0 -4
  1072. package/dist/ionic/p-0dc33652.entry.js +0 -4
  1073. package/dist/ionic/p-0fa9c382.entry.js +0 -4
  1074. package/dist/ionic/p-10e833ef.entry.js +0 -4
  1075. package/dist/ionic/p-15c9319c.entry.js +0 -4
  1076. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  1077. package/dist/ionic/p-27d30585.entry.js +0 -4
  1078. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  1079. package/dist/ionic/p-2b204c59.entry.js +0 -4
  1080. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  1081. package/dist/ionic/p-2fa58e80.entry.js +0 -4
  1082. package/dist/ionic/p-3353c229.entry.js +0 -4
  1083. package/dist/ionic/p-34586ead.entry.js +0 -4
  1084. package/dist/ionic/p-37e720da.entry.js +0 -4
  1085. package/dist/ionic/p-390ca786.entry.js +0 -4
  1086. package/dist/ionic/p-3ae5f277.entry.js +0 -4
  1087. package/dist/ionic/p-4654ae1c.entry.js +0 -4
  1088. package/dist/ionic/p-4745f534.entry.js +0 -4
  1089. package/dist/ionic/p-4858af1f.entry.js +0 -4
  1090. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  1091. package/dist/ionic/p-4e92a11f.entry.js +0 -4
  1092. package/dist/ionic/p-5018dfc8.entry.js +0 -4
  1093. package/dist/ionic/p-50e1194a.entry.js +0 -4
  1094. package/dist/ionic/p-5334df12.entry.js +0 -4
  1095. package/dist/ionic/p-5d1da0a2.entry.js +0 -4
  1096. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  1097. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  1098. package/dist/ionic/p-746fa988.entry.js +0 -4
  1099. package/dist/ionic/p-75dc25ba.entry.js +0 -4
  1100. package/dist/ionic/p-7c319341.entry.js +0 -4
  1101. package/dist/ionic/p-829367ed.entry.js +0 -4
  1102. package/dist/ionic/p-84d5ce05.entry.js +0 -4
  1103. package/dist/ionic/p-874b4bd8.entry.js +0 -4
  1104. package/dist/ionic/p-8eb8ee76.entry.js +0 -4
  1105. package/dist/ionic/p-9eeaBrnk.js +0 -4
  1106. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  1107. package/dist/ionic/p-BGqMS-oh.js +0 -4
  1108. package/dist/ionic/p-BUFIpxKM.js +0 -4
  1109. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1110. package/dist/ionic/p-CFlfIb2g.js +0 -4
  1111. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1112. package/dist/ionic/p-CmcFnK-B.js +0 -4
  1113. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  1114. package/dist/ionic/p-Cx3IXROA.js +0 -4
  1115. package/dist/ionic/p-D-3ycHmd.js +0 -4
  1116. package/dist/ionic/p-D4uTWt4-.js +0 -4
  1117. package/dist/ionic/p-DIuEbVLu.js +0 -4
  1118. package/dist/ionic/p-DJztqcrH.js +0 -4
  1119. package/dist/ionic/p-DV3sJJW8.js +0 -4
  1120. package/dist/ionic/p-DiVJyqlX.js +0 -4
  1121. package/dist/ionic/p-DoJvtrbw.js +0 -4
  1122. package/dist/ionic/p-DqN5EA2O.js +0 -4
  1123. package/dist/ionic/p-DzWaWHGc.js +0 -4
  1124. package/dist/ionic/p-KjNvRoEp.js +0 -4
  1125. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  1126. package/dist/ionic/p-SNAkTDfm.js +0 -4
  1127. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1128. package/dist/ionic/p-a3bdcae6.entry.js +0 -4
  1129. package/dist/ionic/p-aaeedb6b.entry.js +0 -4
  1130. package/dist/ionic/p-af55a72f.entry.js +0 -4
  1131. package/dist/ionic/p-b2020591.entry.js +0 -4
  1132. package/dist/ionic/p-b9fadbfe.entry.js +0 -4
  1133. package/dist/ionic/p-biz8zWmJ.js +0 -4
  1134. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  1135. package/dist/ionic/p-c38b648e.entry.js +0 -4
  1136. package/dist/ionic/p-c4d8641b.entry.js +0 -4
  1137. package/dist/ionic/p-c6e49f3f.entry.js +0 -4
  1138. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  1139. package/dist/ionic/p-d1aac015.entry.js +0 -4
  1140. package/dist/ionic/p-d889ff6d.entry.js +0 -4
  1141. package/dist/ionic/p-dfa8d673.entry.js +0 -4
  1142. package/dist/ionic/p-ef4c3bee.entry.js +0 -4
  1143. package/dist/ionic/p-f386f6ae.entry.js +0 -4
  1144. package/dist/ionic/p-mjKAFv89.js +0 -4
  1145. package/dist/ionic/p-tcQvqkiX.js +0 -5
  1146. package/dist/ionic/p-uWtqTrG8.js +0 -4
  1147. package/dist/ionic/p-viFHDgRs.js +0 -4
  1148. package/dist/ionic/p-xWb6fgfq.js +0 -4
  1149. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -3,24 +3,23 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index$3 = require('./index-Ct7gcRif.js');
7
- var index$1 = require('./index-Dqpns5vP.js');
8
- var frameworkDelegate = require('./framework-delegate-BtICZDHr.js');
9
- var helpers = require('./helpers-Cv23MFHM.js');
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');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
11
- var capacitor = require('./capacitor-DmA66EwP.js');
12
- var overlays = require('./overlays-DdtIYQUH.js');
13
- var theme = require('./theme-CeDs6Hcv.js');
14
- var index$4 = require('./index-BERfRao3.js');
15
- var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
16
- var keyboard = require('./keyboard-hHzlEQpk.js');
17
- var animation = require('./animation-BJq0kcy2.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');
18
18
  var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
19
- var index$2 = require('./index-CAvQ7Tka.js');
20
- var index = require('./index-DkNv4J_i.js');
21
- require('./hardware-back-button-iUuF_76h.js');
19
+ var index = require('./index-CAvQ7Tka.js');
20
+ require('./focus-visible-BIj-I3-C.js');
22
21
  require('./gesture-controller-dtqlP_q4.js');
23
- require('./keyboard-UuAS4D_9.js');
22
+ require('./keyboard-Bn0Ppim6.js');
24
23
 
25
24
  var Style;
26
25
  (function (Style) {
@@ -117,33 +116,116 @@ const getBackdropValueForSheet = (x, backdropBreakpoint) => {
117
116
  *
118
117
  */
119
118
  const setCardStatusBarDark = () => {
120
- if (!index.win || index.win.innerWidth >= 768) {
119
+ if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
121
120
  return;
122
121
  }
123
122
  StatusBar.setStyle({ style: Style.Dark });
124
123
  };
125
124
  const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
126
- if (!index.win || index.win.innerWidth >= 768) {
125
+ if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
127
126
  return;
128
127
  }
129
128
  StatusBar.setStyle({ style: defaultStyle });
130
129
  };
131
130
 
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
+ };
132
207
  /**
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.
208
+ * Ionic Modal Enter Animation
141
209
  */
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;
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;
146
227
  };
228
+
147
229
  const handleCanDismiss = async (el, animation) => {
148
230
  /**
149
231
  * If canDismiss is not a function
@@ -274,6 +356,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
274
356
  let isOpen = false;
275
357
  let canDismissBlocksGesture = false;
276
358
  let contentEl = null;
359
+ let scrollEl = null;
277
360
  const canDismissMaxStep = 0.2;
278
361
  let initialScrollY = true;
279
362
  let lastStep = 0;
@@ -296,6 +379,12 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
296
379
  return true;
297
380
  }
298
381
  /**
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
+ *
299
388
  * We cannot assume that the `ion-content`
300
389
  * target will remain consistent between
301
390
  * swipes. For example, when using
@@ -306,7 +395,29 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
306
395
  */
307
396
  contentEl = index$1.findClosestIonContent(target);
308
397
  if (contentEl) {
309
- return canSwipeOnContent(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;
310
421
  }
311
422
  /**
312
423
  * Card should be swipeable on all
@@ -493,7 +604,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
493
604
  };
494
605
  onDragEnd(eventDetail);
495
606
  };
496
- const gesture = index$2.createGesture({
607
+ const gesture = index.createGesture({
497
608
  el,
498
609
  gestureName: 'modalSwipeToClose',
499
610
  gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
@@ -548,63 +659,6 @@ const calculateProgress = (el, deltaY) => {
548
659
  return Math.max(0, Math.min(1, roundedProgress));
549
660
  };
550
661
 
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
-
608
662
  const createEnterAnimation$1 = () => {
609
663
  const backdropAnimation = animation.createAnimation()
610
664
  .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
@@ -995,17 +1049,16 @@ const mdLeaveAnimation = (baseEl, opts) => {
995
1049
  return baseAnimation;
996
1050
  };
997
1051
 
998
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
999
- var _a;
1052
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, usePhysicsBasedGesture, onDragStart, onDragMove, onDragEnd) => {
1000
1053
  // Defaults for the sheet swipe animation
1001
1054
  const defaultBackdrop = [
1002
1055
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
1003
- { offset: 1, opacity: 0.01 },
1056
+ { offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0.01 },
1004
1057
  ];
1005
1058
  const customBackdrop = [
1006
1059
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
1007
- { offset: 1 - backdropBreakpoint, opacity: 0 },
1008
- { offset: 1, opacity: 0 },
1060
+ { offset: 1 - backdropBreakpoint, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
1061
+ { offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
1009
1062
  ];
1010
1063
  const SheetDefaults = {
1011
1064
  WRAPPER_KEYFRAMES: [
@@ -1019,8 +1072,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1019
1072
  ],
1020
1073
  };
1021
1074
  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;
1024
1075
  const height = wrapperEl.clientHeight;
1025
1076
  let currentBreakpoint = initialBreakpoint;
1026
1077
  let offset = 0;
@@ -1181,6 +1232,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1181
1232
  }
1182
1233
  const canStart = (detail) => {
1183
1234
  /**
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
+ *
1184
1238
  * We cannot assume that the `ion-content` target will remain consistent between swipes.
1185
1239
  * For example, when using ion-nav within a modal it is possible to swipe, push a view,
1186
1240
  * and then swipe again. The target content will not be the same between swipes.
@@ -1188,11 +1242,26 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1188
1242
  const contentEl = index$1.findClosestIonContent(detail.event.target);
1189
1243
  currentBreakpoint = getCurrentBreakpoint();
1190
1244
  /**
1191
- * Upwards swipes on the content cannot move the sheet anyway, so this only
1192
- * blocks swiping the sheet down from the content.
1245
+ * If `expandToScroll` is disabled, we should not allow the swipe gesture
1246
+ * to start if the content is not scrolled to the top.
1193
1247
  */
1194
- if (contentEl && (!expandToScroll || currentBreakpoint === 1)) {
1195
- return canSwipeOnContent(contentEl);
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;
1196
1265
  }
1197
1266
  return true;
1198
1267
  };
@@ -1319,7 +1388,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1319
1388
  : step;
1320
1389
  offset = helpers.clamp(0.0001, processedStep, maxStep);
1321
1390
  animation.progressStep(offset);
1322
- const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
1391
+ const snapBreakpoint = usePhysicsBasedGesture
1392
+ ? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
1393
+ : calculatePositionSnapBreakpoint(detail.deltaY);
1323
1394
  const eventDetail = {
1324
1395
  currentY: detail.currentY,
1325
1396
  deltaY: detail.deltaY,
@@ -1330,7 +1401,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1330
1401
  onDragMove(eventDetail);
1331
1402
  };
1332
1403
  const onEnd = (detail) => {
1333
- const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
1404
+ const snapBreakpoint = usePhysicsBasedGesture
1405
+ ? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
1406
+ : calculatePositionSnapBreakpoint(detail.deltaY);
1334
1407
  const eventDetail = {
1335
1408
  currentY: detail.currentY,
1336
1409
  deltaY: detail.deltaY,
@@ -1377,6 +1450,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1377
1450
  */
1378
1451
  const shouldPreventDismiss = canDismiss && breakpoint === 0;
1379
1452
  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)';
1380
1461
  const shouldRemainOpen = snapToBreakpoint !== 0;
1381
1462
  currentBreakpoint = 0;
1382
1463
  /**
@@ -1391,11 +1472,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1391
1472
  backdropAnimation.keyframes([
1392
1473
  {
1393
1474
  offset: 0,
1394
- opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
1475
+ opacity: usePhysicsBasedGesture
1476
+ ? 'var(--backdrop-opacity)'
1477
+ : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
1395
1478
  },
1396
1479
  {
1397
1480
  offset: 1,
1398
- opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1481
+ opacity: usePhysicsBasedGesture
1482
+ ? 'var(--backdrop-opacity)'
1483
+ : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1399
1484
  },
1400
1485
  ]);
1401
1486
  if (contentAnimation) {
@@ -1413,6 +1498,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1413
1498
  }
1414
1499
  animation.progressStep(0);
1415
1500
  }
1501
+ /**
1502
+ * Apply the appropriate easing curve for this snap behavior.
1503
+ */
1504
+ if (usePhysicsBasedGesture) {
1505
+ animation.easing(easing);
1506
+ }
1416
1507
  /**
1417
1508
  * Gesture should remain disabled until the
1418
1509
  * snapping animation completes.
@@ -1425,14 +1516,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1425
1516
  onDismiss();
1426
1517
  }
1427
1518
  /**
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
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
1430
1521
  * be a ~500ms delay while the modal animation completes, causing a
1431
1522
  * noticeable lag. Native iOS allows scrolling as soon as the gesture is
1432
1523
  * released, so we align with that behavior.
1433
1524
  */
1434
1525
  if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
1435
- contentEl.scrollY = initialContentScrollY;
1526
+ contentEl.scrollY = true;
1436
1527
  }
1437
1528
  /**
1438
1529
  * If expandToScroll is disabled and we're animating
@@ -1502,7 +1593,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1502
1593
  * be added every time onEnd runs.
1503
1594
  */
1504
1595
  }, { oneTimeCallback: true })
1505
- .progressEnd(1, 0, animated ? 500 : 0);
1596
+ .progressEnd(1, 0, animated ? duration : 0);
1506
1597
  });
1507
1598
  };
1508
1599
  /**
@@ -1513,7 +1604,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1513
1604
  * @param deltaY The change in Y position since the gesture started.
1514
1605
  * @returns The snap breakpoint value.
1515
1606
  */
1516
- const calculateSnapBreakpoint = (deltaY) => {
1607
+ const calculatePositionSnapBreakpoint = (deltaY) => {
1517
1608
  /**
1518
1609
  * Calculates the real-time vertical position of the modal.
1519
1610
  * We combine the wrapper's current bounding box position with the
@@ -1533,6 +1624,50 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1533
1624
  });
1534
1625
  return snapBreakpoint;
1535
1626
  };
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
+ };
1536
1671
  /**
1537
1672
  * Calculates the progress of the swipe gesture.
1538
1673
  *
@@ -1603,7 +1738,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1603
1738
  */
1604
1739
  return viewportBottom - activeHeight;
1605
1740
  };
1606
- const gesture = index$2.createGesture({
1741
+ const gesture = index.createGesture({
1607
1742
  el: wrapperEl,
1608
1743
  gestureName: 'modalSheet',
1609
1744
  gesturePriority: 40,
@@ -1614,20 +1749,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1614
1749
  onMove,
1615
1750
  onEnd,
1616
1751
  });
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
- };
1627
1752
  return {
1628
1753
  gesture,
1629
1754
  moveSheetToBreakpoint,
1630
- resetContentScroll,
1631
1755
  };
1632
1756
  };
1633
1757
 
@@ -1660,9 +1784,9 @@ let cacheInvalidationScheduled = false;
1660
1784
  * Matches: @media (min-width: 768px) and (min-height: 600px)
1661
1785
  */
1662
1786
  const isCenteredDialogViewport = () => {
1663
- if (!index.win)
1787
+ if (!ionicGlobal.win)
1664
1788
  return false;
1665
- return index.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
1789
+ return ionicGlobal.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
1666
1790
  .matches;
1667
1791
  };
1668
1792
  /**
@@ -1677,7 +1801,7 @@ const getRootSafeAreaTop = () => {
1677
1801
  if (cachedRootSafeAreaTop !== null) {
1678
1802
  return cachedRootSafeAreaTop;
1679
1803
  }
1680
- const doc = index.win === null || index.win === void 0 ? void 0 : index.win.document;
1804
+ const doc = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.document;
1681
1805
  if (!(doc === null || doc === void 0 ? void 0 : doc.body)) {
1682
1806
  return 0;
1683
1807
  }
@@ -1783,8 +1907,8 @@ const getInitialSafeAreaConfig = (context) => {
1783
1907
  const getPositionBasedSafeAreaConfig = (wrapperEl) => {
1784
1908
  var _a, _b;
1785
1909
  const rect = wrapperEl.getBoundingClientRect();
1786
- const vh = (_a = index.win === null || index.win === void 0 ? void 0 : index.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
1787
- const vw = (_b = index.win === null || index.win === void 0 ? void 0 : index.win.innerWidth) !== null && _b !== void 0 ? _b : 0;
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;
1788
1912
  // Only apply safe-area to sides where modal overlaps with screen edge
1789
1913
  return {
1790
1914
  top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
@@ -1817,26 +1941,28 @@ const clearSafeAreaOverrides = (hostEl) => {
1817
1941
  hostEl.style.removeProperty('--ion-safe-area-right');
1818
1942
  };
1819
1943
 
1820
- 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}`;
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)))}`;
1821
1945
 
1822
- 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}`;
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}`;
1823
1949
 
1824
1950
  const Modal = class {
1825
1951
  constructor(hostRef) {
1826
- index$3.registerInstance(this, hostRef);
1827
- this.didPresent = index$3.createEvent(this, "ionModalDidPresent", 7);
1828
- this.willPresent = index$3.createEvent(this, "ionModalWillPresent", 7);
1829
- this.willDismiss = index$3.createEvent(this, "ionModalWillDismiss", 7);
1830
- this.didDismiss = index$3.createEvent(this, "ionModalDidDismiss", 7);
1831
- this.ionBreakpointDidChange = index$3.createEvent(this, "ionBreakpointDidChange", 7);
1832
- this.didPresentShorthand = index$3.createEvent(this, "didPresent", 7);
1833
- this.willPresentShorthand = index$3.createEvent(this, "willPresent", 7);
1834
- this.willDismissShorthand = index$3.createEvent(this, "willDismiss", 7);
1835
- this.didDismissShorthand = index$3.createEvent(this, "didDismiss", 7);
1836
- this.ionMount = index$3.createEvent(this, "ionMount", 7);
1837
- this.ionDragStart = index$3.createEvent(this, "ionDragStart", 7);
1838
- this.ionDragMove = index$3.createEvent(this, "ionDragMove", 7);
1839
- this.ionDragEnd = index$3.createEvent(this, "ionDragEnd", 7);
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);
1840
1966
  this.lockController = lockController.createLockController();
1841
1967
  this.triggerController = overlays.createTriggerController();
1842
1968
  this.coreDelegate = frameworkDelegate.CoreDelegate();
@@ -2129,7 +2255,7 @@ const Modal = class {
2129
2255
  this.currentBreakpoint = this.initialBreakpoint;
2130
2256
  }
2131
2257
  if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
2132
- index$3.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
2258
+ index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
2133
2259
  }
2134
2260
  if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
2135
2261
  overlays.setOverlayId(this.el);
@@ -2229,7 +2355,7 @@ const Modal = class {
2229
2355
  * get the transition incorrect.
2230
2356
  */
2231
2357
  if (helpers.hasLazyBuild(el)) {
2232
- await index$4.deepReady(this.usersElement);
2358
+ await index$3.deepReady(this.usersElement);
2233
2359
  /**
2234
2360
  * If keepContentsMounted="true" then the
2235
2361
  * JS Framework has already mounted the inner
@@ -2240,9 +2366,9 @@ const Modal = class {
2240
2366
  */
2241
2367
  }
2242
2368
  else if (!this.keepContentsMounted) {
2243
- await index$4.waitForMount();
2369
+ await index$3.waitForMount();
2244
2370
  }
2245
- index$3.writeTask(() => this.el.classList.add('show-modal'));
2371
+ index$2.writeTask(() => this.el.classList.add('show-modal'));
2246
2372
  // Recalculate isSheetModal before safe-area setup because framework
2247
2373
  // bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
2248
2374
  this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
@@ -2259,11 +2385,12 @@ const Modal = class {
2259
2385
  this.statusBarStyle = await StatusBar.getStyle();
2260
2386
  setCardStatusBarDark();
2261
2387
  }
2262
- await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
2388
+ await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
2263
2389
  presentingEl: presentingElement,
2264
2390
  currentBreakpoint: this.initialBreakpoint,
2265
2391
  backdropBreakpoint: this.backdropBreakpoint,
2266
2392
  expandToScroll: this.expandToScroll,
2393
+ staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
2267
2394
  });
2268
2395
  // Update safe-area based on actual position after animation
2269
2396
  this.updateSafeAreaOverrides();
@@ -2321,7 +2448,7 @@ const Modal = class {
2321
2448
  // All of the elements needed for the swipe gesture
2322
2449
  // should be in the DOM and referenced by now, except
2323
2450
  // for the presenting el
2324
- const animationBuilder = this.leaveAnimation || index$3.config.get('modalLeave', iosLeaveAnimation);
2451
+ const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
2325
2452
  const ani = (this.animation = animationBuilder(el, {
2326
2453
  presentingEl: this.presentingElement,
2327
2454
  expandToScroll: this.expandToScroll,
@@ -2340,23 +2467,23 @@ const Modal = class {
2340
2467
  if (!wrapperEl || initialBreakpoint === undefined) {
2341
2468
  return;
2342
2469
  }
2343
- const animationBuilder = this.enterAnimation || index$3.config.get('modalEnter', iosEnterAnimation);
2470
+ const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
2344
2471
  const ani = (this.animation = animationBuilder(this.el, {
2345
2472
  presentingEl: this.presentingElement,
2346
2473
  currentBreakpoint: initialBreakpoint,
2347
2474
  backdropBreakpoint,
2348
2475
  expandToScroll: this.expandToScroll,
2476
+ staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
2349
2477
  }));
2350
2478
  ani.progressStart(true, 1);
2351
- 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) => {
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) => {
2352
2480
  if (this.currentBreakpoint !== breakpoint) {
2353
2481
  this.currentBreakpoint = breakpoint;
2354
2482
  this.ionBreakpointDidChange.emit({ breakpoint });
2355
2483
  }
2356
- }, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2484
+ }, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2357
2485
  this.gesture = gesture;
2358
2486
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
2359
- this.resetSheetContentScroll = resetContentScroll;
2360
2487
  this.gesture.enable(true);
2361
2488
  /**
2362
2489
  * When backdrop interaction is allowed, nested router outlets from child routes
@@ -2488,7 +2615,7 @@ const Modal = class {
2488
2615
  * For example, `cancel` or `backdrop`.
2489
2616
  */
2490
2617
  async dismiss(data, role) {
2491
- var _a, _b;
2618
+ var _a;
2492
2619
  if (this.gestureAnimationDismissing && role !== overlays.GESTURE) {
2493
2620
  return false;
2494
2621
  }
@@ -2540,20 +2667,13 @@ const Modal = class {
2540
2667
  if (dismissed) {
2541
2668
  const { delegate } = this.getDelegate();
2542
2669
  await frameworkDelegate.detachComponent(delegate, this.usersElement);
2543
- index$3.writeTask(() => this.el.classList.remove('show-modal'));
2670
+ index$2.writeTask(() => this.el.classList.remove('show-modal'));
2544
2671
  if (this.animation) {
2545
2672
  this.animation.destroy();
2546
2673
  }
2547
2674
  if (this.gesture) {
2548
2675
  this.gesture.destroy();
2549
2676
  }
2550
- /**
2551
- * The sheet gesture turns content scrolling off while the sheet sits below
2552
- * the top breakpoint. Inline modals reuse the same content on the next
2553
- * present, so hand it back before the gesture goes away.
2554
- */
2555
- (_b = this.resetSheetContentScroll) === null || _b === void 0 ? void 0 : _b.call(this);
2556
- this.resetSheetContentScroll = undefined;
2557
2677
  this.cleanupViewTransitionListener();
2558
2678
  this.cleanupParentRemovalObserver();
2559
2679
  this.cleanupSafeAreaOverrides();
@@ -2584,11 +2704,11 @@ const Modal = class {
2584
2704
  */
2585
2705
  async setCurrentBreakpoint(breakpoint) {
2586
2706
  if (!this.isSheetModal) {
2587
- index$3.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
2707
+ index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
2588
2708
  return;
2589
2709
  }
2590
2710
  if (!this.breakpoints.includes(breakpoint)) {
2591
- 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.`);
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.`);
2592
2712
  return;
2593
2713
  }
2594
2714
  const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
@@ -2633,6 +2753,18 @@ const Modal = class {
2633
2753
  await this.setCurrentBreakpoint(nextBreakpoint);
2634
2754
  return true;
2635
2755
  }
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
+ }
2636
2768
  initViewTransitionListener() {
2637
2769
  // Only enable for iOS card modals when no custom animations are provided
2638
2770
  if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
@@ -2966,15 +3098,16 @@ const Modal = class {
2966
3098
  render() {
2967
3099
  const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
2968
3100
  const showHandle = handle !== false && isSheetModal;
2969
- const mode = ionicGlobal.getIonMode(this);
2970
- const isCardModal = presentingElement !== undefined && mode === 'ios';
3101
+ const theme$1 = ionicGlobal.getIonTheme(this);
3102
+ const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
2971
3103
  const isHandleCycle = handleBehavior === 'cycle';
3104
+ const shape = this.getShape();
2972
3105
  const isSheetModalWithHandle = isSheetModal && showHandle;
2973
- return (index$3.h(index$3.Host, Object.assign({ key: '09f09a10d858e976bc2a989f30db925348a7784c', "no-router": true,
3106
+ return (index$2.h(index$2.Host, Object.assign({ key: 'aa0c8c6926534d17df0b76ba0c3bad143f22f577', "no-router": true,
2974
3107
  // Allow the modal to be navigable when the handle is focusable
2975
3108
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
2976
3109
  zIndex: `${20000 + this.overlayIndex}`,
2977
- }, 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: 'b197319bdddf0b979ccacdb63dbceccfd9bf2560', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: 'c848ff6a10e9092cdb10a6f21c9a299a72b17ca9', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: 'e7c8e67807d49098aba63dce69a1bbf9647bbab6',
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',
2978
3111
  /*
2979
3112
  role and aria-modal must be used on the
2980
3113
  same element. They must also be set inside the
@@ -2987,11 +3120,11 @@ const Modal = class {
2987
3120
  without the tabindex focus() would be a no-op and screen readers
2988
3121
  may not properly announce the dialog and its content when it opens.
2989
3122
  */
2990
- 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: '0851cc75ee7367e13d1993a9c4d8b1b4de1d3bf0', class: "modal-handle",
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",
2991
3124
  // Prevents the handle from receiving keyboard focus when it does not cycle
2992
- 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: 'b4d9bc13dc0867e858db8e1c7277bd09b7fce44c', onSlotchange: this.onSlotChange }))));
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 }))));
2993
3126
  }
2994
- get el() { return index$3.getElement(this); }
3127
+ get el() { return index$2.getElement(this); }
2995
3128
  static get watchers() { return {
2996
3129
  "isOpen": [{
2997
3130
  "onIsOpenChange": 0
@@ -3011,6 +3144,7 @@ const LIFECYCLE_MAP = {
3011
3144
  ionModalDidDismiss: 'ionViewDidLeave',
3012
3145
  };
3013
3146
  Modal.style = {
3147
+ ionic: modalIonicCss(),
3014
3148
  ios: modalIosCss(),
3015
3149
  md: modalMdCss()
3016
3150
  };