@ionic/core 8.8.16-dev.11784913436.1a334b43 → 8.8.16-dev.11784914346.10d0804c

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 (1134) 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.d.ts +11 -0
  65. package/components/ion-picker-legacy-column.js +4 -0
  66. package/components/ion-picker-legacy.d.ts +11 -0
  67. package/components/ion-picker-legacy.js +4 -0
  68. package/components/ion-picker.js +1 -1
  69. package/components/ion-popover.js +1 -1
  70. package/components/ion-progress-bar.js +1 -1
  71. package/components/ion-radio-group.js +1 -1
  72. package/components/ion-radio.js +1 -1
  73. package/components/ion-range.js +1 -1
  74. package/components/ion-refresher-content.js +1 -1
  75. package/components/ion-refresher.js +1 -1
  76. package/components/ion-reorder-group.js +1 -1
  77. package/components/ion-reorder.js +1 -1
  78. package/components/ion-ripple-effect.js +1 -1
  79. package/components/ion-route-redirect.js +1 -1
  80. package/components/ion-route.js +1 -1
  81. package/components/ion-router-link.js +1 -1
  82. package/components/ion-router-outlet.js +1 -1
  83. package/components/ion-router.js +1 -1
  84. package/components/ion-row.js +1 -1
  85. package/components/ion-searchbar.js +1 -1
  86. package/components/ion-segment-button.js +1 -1
  87. package/components/ion-segment-content.js +1 -1
  88. package/components/ion-segment-view.js +1 -1
  89. package/components/ion-segment.js +1 -1
  90. package/components/ion-select-modal.js +1 -1
  91. package/components/ion-select-option.js +1 -1
  92. package/components/ion-select-popover.js +1 -1
  93. package/components/ion-select.js +1 -1
  94. package/components/ion-skeleton-text.js +1 -1
  95. package/components/ion-spinner.js +1 -1
  96. package/components/ion-split-pane.js +1 -1
  97. package/components/ion-tab-bar.js +1 -1
  98. package/components/ion-tab-button.js +1 -1
  99. package/components/ion-tab.js +1 -1
  100. package/components/ion-tabs.js +1 -1
  101. package/components/ion-text.js +1 -1
  102. package/components/ion-textarea.js +1 -1
  103. package/components/ion-thumbnail.js +1 -1
  104. package/components/ion-title.js +1 -1
  105. package/components/ion-toast.js +1 -1
  106. package/components/ion-toggle.js +1 -1
  107. package/components/ion-toolbar.js +1 -1
  108. package/components/p-0RwSa3tV.js +4 -0
  109. package/components/p-4u9RNymb.js +4 -0
  110. package/components/p-B8xhFBOE.js +4 -0
  111. package/components/p-BAnNwWMA.js +4 -0
  112. package/components/p-BDqjX7Z_.js +4 -0
  113. package/components/{p-Cf2jSDS8.js → p-BE21dB_a.js} +1 -1
  114. package/components/p-BI03N_8J.js +4 -0
  115. package/components/p-BISCDmUD.js +4 -0
  116. package/components/{p-C4t5ymfq.js → p-BKSylJVh.js} +1 -1
  117. package/components/p-BLlJA2Q9.js +4 -0
  118. package/components/p-BYSs-jZz.js +4 -0
  119. package/components/p-BYZR_5L4.js +4 -0
  120. package/components/p-B_zaqq5F.js +4 -0
  121. package/components/p-BaPtaYEC.js +4 -0
  122. package/components/p-BiG3Zevl.js +4 -0
  123. package/components/p-BjW8SOqw.js +4 -0
  124. package/components/p-BoWc8hp0.js +4 -0
  125. package/components/p-BqRIq3ti.js +4 -0
  126. package/components/p-BskJOMNV.js +4 -0
  127. package/components/p-C4q_m_U_.js +4 -0
  128. package/components/p-C9QYu-sR.js +4 -0
  129. package/components/p-CEbQglhY.js +4 -0
  130. package/components/p-CGwI_XL6.js +4 -0
  131. package/components/p-CIdlZzoM.js +4 -0
  132. package/components/p-CO9VfZyc.js +4 -0
  133. package/components/p-CODBQrPj.js +4 -0
  134. package/components/{p-LMGfIvTf.js → p-CVYFPBs-.js} +1 -1
  135. package/components/p-CWq1hA4y.js +4 -0
  136. package/components/p-CeL9Glto.js +4 -0
  137. package/components/p-Cjx0xPoU.js +4 -0
  138. package/components/p-Cl94E1nn.js +4 -0
  139. package/components/p-Cog60JgJ.js +4 -0
  140. package/components/p-CyGaZ-Qb.js +4 -0
  141. package/components/p-CyWeCU8e.js +4 -0
  142. package/components/p-CzFNvOq3.js +4 -0
  143. package/components/p-Czw29-II.js +4 -0
  144. package/components/p-D0Iqw6OZ.js +4 -0
  145. package/components/p-D1t981Ih.js +4 -0
  146. package/components/p-D4UIY4kz.js +4 -0
  147. package/components/p-D6un2jDV.js +4 -0
  148. package/components/p-D9583Eo8.js +4 -0
  149. package/components/p-DABI8XVx.js +4 -0
  150. package/components/p-DEZQwbtZ.js +4 -0
  151. package/components/p-DEnOtJ3m.js +4 -0
  152. package/components/p-DJw3WM2A.js +4 -0
  153. package/{dist/ionic/p-D13Eaw-8.js → components/p-DP96lPOT.js} +1 -1
  154. package/components/{p-DqLB8yFQ.js → p-DRnK3A-V.js} +1 -1
  155. package/components/p-DS1w_1X1.js +4 -0
  156. package/components/p-DaJxRxSQ.js +4 -0
  157. package/components/p-Daj5LWIm.js +4 -0
  158. package/components/p-DcVqGRkT.js +4 -0
  159. package/components/p-Dg8OSVcP.js +4 -0
  160. package/components/p-Dght1fh7.js +4 -0
  161. package/components/p-Dhi5xtNS.js +4 -0
  162. package/{dist/ionic/p-VAemlbDS.js → components/p-DmVUl5t4.js} +1 -1
  163. package/components/p-Dn77l_LX.js +4 -0
  164. package/components/{p-D5Ubpm7D.js → p-Dqgyr3aJ.js} +1 -1
  165. package/components/{p-jOtMJMv8.js → p-DylrHLJF.js} +1 -1
  166. package/components/{p-cyNmxje6.js → p-Fagxa-Vi.js} +1 -1
  167. package/components/p-GpxJMpJu.js +4 -0
  168. package/components/p-I0lsm6wZ.js +4 -0
  169. package/components/p-TaMIMwf5.js +4 -0
  170. package/components/p-ZWbVyMi6.js +4 -0
  171. package/components/p-_rgGxkzx.js +4 -0
  172. package/components/p-fIOYmaqA.js +4 -0
  173. package/components/p-vXpMhGrs.js +4 -0
  174. package/css/core.css +1 -1
  175. package/css/core.css.map +1 -1
  176. package/css/display.css +1 -1
  177. package/css/display.css.map +1 -1
  178. package/css/flex-utils.css +1 -1
  179. package/css/flex-utils.css.map +1 -1
  180. package/css/float-elements.css.map +1 -1
  181. package/css/global.bundle.css.map +1 -1
  182. package/css/ionic/bundle.ionic.css +1 -0
  183. package/css/ionic/bundle.ionic.css.map +1 -0
  184. package/css/ionic/core.ionic.css +1 -0
  185. package/css/ionic/core.ionic.css.map +1 -0
  186. package/css/ionic/global.bundle.ionic.css +1 -0
  187. package/css/ionic/global.bundle.ionic.css.map +1 -0
  188. package/css/ionic/ionic-swiper.ionic.css +1 -0
  189. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  190. package/css/ionic/link.ionic.css +1 -0
  191. package/css/ionic/link.ionic.css.map +1 -0
  192. package/css/ionic/structure.ionic.css +1 -0
  193. package/css/ionic/structure.ionic.css.map +1 -0
  194. package/css/ionic/typography.ionic.css +1 -0
  195. package/css/ionic/typography.ionic.css.map +1 -0
  196. package/css/ionic/utils.bundle.ionic.css +1 -0
  197. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  198. package/css/ionic-swiper.css +1 -1
  199. package/css/ionic-swiper.css.map +1 -1
  200. package/css/ionic.bundle.css +1 -1
  201. package/css/ionic.bundle.css.map +1 -1
  202. package/css/normalize.css.map +1 -1
  203. package/css/padding.css.map +1 -1
  204. package/css/palettes/dark.always.css.map +1 -1
  205. package/css/palettes/dark.class.css.map +1 -1
  206. package/css/palettes/dark.system.css.map +1 -1
  207. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  208. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  209. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  210. package/css/palettes/high-contrast.always.css.map +1 -1
  211. package/css/palettes/high-contrast.class.css.map +1 -1
  212. package/css/palettes/high-contrast.system.css.map +1 -1
  213. package/css/structure.css.map +1 -1
  214. package/css/text-alignment.css.map +1 -1
  215. package/css/text-transformation.css.map +1 -1
  216. package/css/typography.css.map +1 -1
  217. package/css/utils.bundle.css +1 -1
  218. package/css/utils.bundle.css.map +1 -1
  219. package/dist/cjs/{animation-BJq0kcy2.js → animation-B3xfVcDO.js} +3 -3
  220. package/dist/cjs/{app-globals-7VMuu6PT.js → app-globals-3ZoCVkn-.js} +1 -1
  221. package/dist/cjs/{button-active-0mPOKmV2.js → button-active-3tZKuPbT.js} +2 -2
  222. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CQSg1uCo.js} +3 -3
  223. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  224. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  225. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  226. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  227. package/dist/cjs/{format-PxvGiOik.js → format-BCIkDef_.js} +1 -1
  228. package/dist/cjs/{framework-delegate-BtICZDHr.js → framework-delegate-DC5nq_NN.js} +4 -2
  229. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-eix26ESE.js} +1 -1
  230. package/dist/cjs/{helpers-Cv23MFHM.js → helpers-DiOgV5hw.js} +71 -4
  231. package/dist/cjs/{index-BERfRao3.js → index-BaJ7_YbC.js} +4 -4
  232. package/dist/cjs/{index-Cueg3U4w.js → index-Bj07IRTB.js} +1 -1
  233. package/dist/cjs/{index-CIrkNXqJ.js → index-BxEZd5IE.js} +2 -2
  234. package/dist/cjs/{index-DqmRDbxg.js → index-CgAbCW6L.js} +2 -0
  235. package/dist/cjs/{index-IPWmFzOn.js → index-DYRcC3bw.js} +15 -15
  236. package/dist/cjs/{index-Ct7gcRif.js → index-GZU9YrFc.js} +41 -4
  237. package/dist/cjs/{index-D81eLYUM.js → index-bX3nz2vw.js} +9 -8
  238. package/dist/cjs/index.cjs.js +14 -14
  239. package/dist/cjs/{input-shims-CFLg7uzj.js → input-shims-BSEBw22J.js} +18 -17
  240. package/dist/cjs/{input.utils-DetjmtH2.js → input.utils-D68wgI2Y.js} +5 -5
  241. package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -29
  242. package/dist/cjs/ion-action-sheet.cjs.entry.js +27 -28
  243. package/dist/cjs/ion-alert.cjs.entry.js +32 -34
  244. package/dist/cjs/ion-app_8.cjs.entry.js +462 -212
  245. package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -13
  246. package/dist/cjs/ion-back-button.cjs.entry.js +31 -22
  247. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
  248. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +54 -18
  249. package/dist/cjs/ion-button_2.cjs.entry.js +59 -22
  250. package/dist/cjs/ion-card_5.cjs.entry.js +55 -33
  251. package/dist/cjs/ion-checkbox.cjs.entry.js +37 -17
  252. package/dist/cjs/ion-chip.cjs.entry.js +50 -9
  253. package/dist/cjs/ion-col_3.cjs.entry.js +56 -57
  254. package/dist/cjs/ion-datetime-button.cjs.entry.js +21 -11
  255. package/dist/cjs/{ion-datetime.cjs.entry.js → ion-datetime_3.cjs.entry.js} +760 -41
  256. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  257. package/dist/cjs/ion-fab_3.cjs.entry.js +44 -28
  258. package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
  259. package/dist/cjs/ion-gallery.cjs.entry.js +607 -0
  260. package/dist/cjs/ion-img.cjs.entry.js +8 -6
  261. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +91 -16
  262. package/dist/cjs/ion-input-otp.cjs.entry.js +74 -9
  263. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +53 -15
  264. package/dist/cjs/ion-input.cjs.entry.js +125 -35
  265. package/dist/cjs/ion-item-option_3.cjs.entry.js +467 -52
  266. package/dist/cjs/ion-item_8.cjs.entry.js +121 -50
  267. package/dist/cjs/ion-loading.cjs.entry.js +20 -22
  268. package/dist/cjs/ion-menu_3.cjs.entry.js +47 -29
  269. package/dist/cjs/ion-modal.cjs.entry.js +269 -165
  270. package/dist/cjs/ion-nav_2.cjs.entry.js +128 -12
  271. package/dist/cjs/ion-picker-column-option.cjs.entry.js +19 -9
  272. package/dist/cjs/ion-picker-column.cjs.entry.js +20 -14
  273. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  274. package/dist/cjs/ion-popover.cjs.entry.js +21 -23
  275. package/dist/cjs/ion-progress-bar.cjs.entry.js +27 -9
  276. package/dist/cjs/ion-radio_2.cjs.entry.js +35 -17
  277. package/dist/cjs/ion-range.cjs.entry.js +20 -13
  278. package/dist/cjs/ion-refresher_2.cjs.entry.js +39 -21
  279. package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -14
  280. package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
  281. package/dist/cjs/ion-route_4.cjs.entry.js +13 -26
  282. package/dist/cjs/ion-searchbar.cjs.entry.js +138 -25
  283. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  284. package/dist/cjs/ion-segment-view.cjs.entry.js +13 -3
  285. package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
  286. package/dist/cjs/ion-select-modal.cjs.entry.js +48 -26
  287. package/dist/cjs/ion-select_3.cjs.entry.js +199 -108
  288. package/dist/cjs/ion-spinner.cjs.entry.js +30 -8
  289. package/dist/cjs/ion-split-pane.cjs.entry.js +13 -9
  290. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +150 -28
  291. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  292. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  293. package/dist/cjs/ion-textarea.cjs.entry.js +137 -23
  294. package/dist/cjs/ion-toast.cjs.entry.js +69 -46
  295. package/dist/cjs/ion-toggle.cjs.entry.js +82 -25
  296. package/dist/cjs/ionic-global-QoUqobrQ.js +519 -0
  297. package/dist/cjs/ionic.cjs.js +4 -4
  298. package/dist/cjs/{ios.transition-BOSWOaiK.js → ios.transition-DpFQfFfT.js} +7 -5
  299. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Bn0Ppim6.js} +1 -1
  300. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-faZBQysj.js} +4 -3
  301. package/dist/cjs/list-a-7GSA6K.js +8 -0
  302. package/dist/cjs/loader.cjs.js +4 -4
  303. package/dist/cjs/{md.transition-B8-wBZqt.js → md.transition-ChJcoZUH.js} +6 -5
  304. package/dist/cjs/{notch-controller-18PzRGXd.js → notch-controller-BO0UGB4F.js} +4 -4
  305. package/dist/cjs/{overlay-control-label-D2sdL2O8.js → overlay-control-label-DnRLQR1t.js} +13 -11
  306. package/dist/cjs/{overlays-DJVbo1cW.js → overlays-CFGbPUmE.js} +315 -43
  307. package/dist/cjs/scroll-hide-controller-G9HOmmhN.js +345 -0
  308. package/dist/cjs/{select-option-render-DTF50t5r.js → select-option-render-DqBHEjDn.js} +2 -2
  309. package/dist/cjs/{status-tap-BXX8H8_Y.js → status-tap-x2qDo5QR.js} +4 -3
  310. package/dist/cjs/{swipe-back-C0GCB18x.js → swipe-back-CvZt_4YX.js} +3 -2
  311. package/dist/cjs/{theme-CeDs6Hcv.js → theme-IlOsGAz7.js} +25 -1
  312. package/dist/cjs/validity-QmuwEptc.js +51 -0
  313. package/dist/cjs/x-BTF99yFH.js +8 -0
  314. package/dist/collection/collection-manifest.json +13 -1
  315. package/dist/collection/components/accordion/accordion.ionic.css +201 -0
  316. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  317. package/dist/collection/components/accordion/accordion.js +41 -27
  318. package/dist/collection/components/accordion/accordion.md.css +67 -59
  319. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  320. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  321. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  322. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  323. package/dist/collection/components/action-sheet/action-sheet.ionic.css +491 -0
  324. package/dist/collection/components/action-sheet/action-sheet.ios.css +184 -54
  325. package/dist/collection/components/action-sheet/action-sheet.js +18 -18
  326. package/dist/collection/components/action-sheet/action-sheet.md.css +179 -55
  327. package/dist/collection/components/alert/alert.ionic.css +784 -0
  328. package/dist/collection/components/alert/alert.ios.css +247 -54
  329. package/dist/collection/components/alert/alert.js +22 -23
  330. package/dist/collection/components/alert/alert.md.css +243 -56
  331. package/dist/collection/components/app/app.js +15 -83
  332. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  333. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  334. package/dist/collection/components/avatar/avatar.js +120 -4
  335. package/dist/collection/components/avatar/avatar.md.css +51 -0
  336. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  337. package/dist/collection/components/back-button/back-button.js +27 -19
  338. package/dist/collection/components/back-button/back-button.md.css +60 -48
  339. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  340. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  341. package/dist/collection/components/backdrop/backdrop.js +12 -6
  342. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  343. package/dist/collection/components/badge/badge.ionic.css +275 -0
  344. package/dist/collection/components/badge/badge.ios.css +139 -12
  345. package/dist/collection/components/badge/badge.js +145 -9
  346. package/dist/collection/components/badge/badge.md.css +123 -12
  347. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  348. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  349. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  350. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  351. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  352. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  353. package/dist/collection/components/button/button.ionic.css +646 -0
  354. package/dist/collection/components/button/button.ios.css +154 -46
  355. package/dist/collection/components/button/button.js +63 -27
  356. package/dist/collection/components/button/button.md.css +150 -50
  357. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  358. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  359. package/dist/collection/components/buttons/buttons.js +15 -9
  360. package/dist/collection/components/buttons/buttons.md.css +55 -3
  361. package/dist/collection/components/card/card.ionic.css +144 -0
  362. package/dist/collection/components/card/card.ios.css +65 -14
  363. package/dist/collection/components/card/card.js +41 -10
  364. package/dist/collection/components/card/card.md.css +65 -14
  365. package/dist/collection/components/card-content/card-content.ionic.css +89 -0
  366. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  367. package/dist/collection/components/card-content/card-content.js +12 -10
  368. package/dist/collection/components/card-content/card-content.md.css +20 -35
  369. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  370. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  371. package/dist/collection/components/card-header/card-header.js +13 -10
  372. package/dist/collection/components/card-header/card-header.md.css +27 -15
  373. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  374. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  375. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  376. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  377. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  378. package/dist/collection/components/card-title/card-title.js +11 -8
  379. package/dist/collection/components/card-title/card-title.md.css +73 -0
  380. package/dist/collection/components/checkbox/checkbox.ionic.css +543 -0
  381. package/dist/collection/components/checkbox/checkbox.ios.css +163 -99
  382. package/dist/collection/components/checkbox/checkbox.js +73 -15
  383. package/dist/collection/components/checkbox/checkbox.md.css +164 -100
  384. package/dist/collection/components/chip/chip.ionic.css +217 -0
  385. package/dist/collection/components/chip/chip.ios.css +67 -14
  386. package/dist/collection/components/chip/chip.js +108 -8
  387. package/dist/collection/components/chip/chip.md.css +67 -14
  388. package/dist/collection/components/col/col.css +192 -4
  389. package/dist/collection/components/col/col.js +211 -61
  390. package/dist/collection/components/content/content.css +47 -2
  391. package/dist/collection/components/content/content.js +16 -11
  392. package/dist/collection/components/datetime/datetime.ionic.css +703 -0
  393. package/dist/collection/components/datetime/datetime.ios.css +304 -148
  394. package/dist/collection/components/datetime/datetime.js +112 -28
  395. package/dist/collection/components/datetime/datetime.md.css +294 -138
  396. package/dist/collection/components/datetime/utils/data.js +5 -5
  397. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -5
  398. package/dist/collection/components/datetime-button/datetime-button.js +19 -9
  399. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -5
  400. package/dist/collection/components/divider/divider.ionic.css +148 -0
  401. package/dist/collection/components/divider/divider.ios.css +87 -0
  402. package/dist/collection/components/divider/divider.js +94 -0
  403. package/dist/collection/components/divider/divider.md.css +87 -0
  404. package/dist/collection/components/fab/fab.css +25 -1
  405. package/dist/collection/components/fab/fab.js +9 -5
  406. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  407. package/dist/collection/components/fab-button/fab-button.js +36 -21
  408. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  409. package/dist/collection/components/fab-list/fab-list.css +12 -0
  410. package/dist/collection/components/fab-list/fab-list.js +9 -5
  411. package/dist/collection/components/footer/footer-interface.js +1 -0
  412. package/dist/collection/components/footer/footer.ios.css +33 -6
  413. package/dist/collection/components/footer/footer.js +117 -25
  414. package/dist/collection/components/footer/footer.md.css +40 -0
  415. package/dist/collection/components/gallery/gallery-constants.js +12 -0
  416. package/dist/collection/components/gallery/gallery-interface.js +1 -0
  417. package/dist/collection/components/gallery/gallery.css +15 -0
  418. package/dist/collection/components/gallery/gallery.js +679 -0
  419. package/dist/collection/components/gallery/test/utils.js +100 -0
  420. package/dist/collection/components/gallery-item/gallery-item.css +49 -0
  421. package/dist/collection/components/gallery-item/gallery-item.js +99 -0
  422. package/dist/collection/components/grid/grid.css +12 -0
  423. package/dist/collection/components/grid/grid.js +9 -5
  424. package/dist/collection/components/header/header-interface.js +1 -0
  425. package/dist/collection/components/header/header.ionic.css +250 -0
  426. package/dist/collection/components/header/header.ios.css +178 -133
  427. package/dist/collection/components/header/header.js +181 -39
  428. package/dist/collection/components/header/header.md.css +199 -9
  429. package/dist/collection/components/header/header.utils.js +6 -13
  430. package/dist/collection/components/img/img.js +7 -6
  431. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  432. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  433. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  434. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  435. package/dist/collection/components/input/input.ionic.css +889 -0
  436. package/dist/collection/components/input/input.ios.css +223 -135
  437. package/dist/collection/components/input/input.js +153 -42
  438. package/dist/collection/components/input/input.md.css +193 -207
  439. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  440. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  441. package/dist/collection/components/input-otp/input-otp.js +74 -7
  442. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  443. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  444. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  445. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  446. package/dist/collection/components/item/item.ionic.css +496 -0
  447. package/dist/collection/components/item/item.ios.css +109 -69
  448. package/dist/collection/components/item/item.js +56 -21
  449. package/dist/collection/components/item/item.md.css +120 -68
  450. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  451. package/dist/collection/components/item-divider/item-divider.js +11 -8
  452. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  453. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  454. package/dist/collection/components/item-group/item-group.js +13 -7
  455. package/dist/collection/components/item-group/item-group.md.css +12 -0
  456. package/dist/collection/components/item-option/item-option.ionic.css +278 -0
  457. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  458. package/dist/collection/components/item-option/item-option.js +73 -9
  459. package/dist/collection/components/item-option/item-option.md.css +136 -29
  460. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  461. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  462. package/dist/collection/components/item-options/item-options.js +13 -7
  463. package/dist/collection/components/item-options/item-options.md.css +77 -34
  464. package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
  465. package/dist/collection/components/item-sliding/item-sliding.js +421 -35
  466. package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
  467. package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
  468. package/dist/collection/components/label/label.ios.css +18 -0
  469. package/dist/collection/components/label/label.js +11 -8
  470. package/dist/collection/components/label/label.md.css +18 -0
  471. package/dist/collection/components/list/list.ionic.css +212 -0
  472. package/dist/collection/components/list/list.ios.css +54 -14
  473. package/dist/collection/components/list/list.js +48 -9
  474. package/dist/collection/components/list/list.md.css +56 -16
  475. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  476. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  477. package/dist/collection/components/list-header/list-header.js +11 -8
  478. package/dist/collection/components/list-header/list-header.md.css +82 -38
  479. package/dist/collection/components/loading/loading.ios.css +13 -1
  480. package/dist/collection/components/loading/loading.js +15 -16
  481. package/dist/collection/components/loading/loading.md.css +13 -1
  482. package/dist/collection/components/menu/menu.ios.css +15 -3
  483. package/dist/collection/components/menu/menu.js +12 -7
  484. package/dist/collection/components/menu/menu.md.css +15 -3
  485. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  486. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  487. package/dist/collection/components/menu-button/menu-button.js +26 -10
  488. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  489. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  490. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  491. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  492. package/dist/collection/components/modal/animations/sheet.js +8 -2
  493. package/dist/collection/components/modal/gestures/sheet.js +76 -10
  494. package/dist/collection/components/modal/modal.ionic.css +255 -0
  495. package/dist/collection/components/modal/modal.ios.css +178 -70
  496. package/dist/collection/components/modal/modal.js +60 -42
  497. package/dist/collection/components/modal/modal.md.css +178 -70
  498. package/dist/collection/components/nav/nav.css +7 -1
  499. package/dist/collection/components/nav/nav.js +229 -8
  500. package/dist/collection/components/nav-link/nav-link.js +5 -1
  501. package/dist/collection/components/note/note.ios.css +12 -0
  502. package/dist/collection/components/note/note.js +11 -8
  503. package/dist/collection/components/note/note.md.css +12 -0
  504. package/dist/collection/components/picker/picker.ios.css +15 -3
  505. package/dist/collection/components/picker/picker.js +8 -5
  506. package/dist/collection/components/picker/picker.md.css +15 -3
  507. package/dist/collection/components/picker-column/picker-column.css +9 -5
  508. package/dist/collection/components/picker-column/picker-column.js +16 -8
  509. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  510. package/dist/collection/components/picker-column-option/picker-column-option.js +21 -8
  511. package/dist/collection/components/picker-column-option/picker-column-option.md.css +7 -6
  512. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  513. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  514. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  515. package/dist/collection/components/picker-legacy/picker.ios.css +312 -0
  516. package/dist/collection/components/picker-legacy/picker.js +891 -0
  517. package/dist/collection/components/picker-legacy/picker.md.css +299 -0
  518. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +243 -0
  519. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  520. package/dist/collection/components/picker-legacy-column/picker-column.md.css +234 -0
  521. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  522. package/dist/collection/components/popover/popover.ionic.css +290 -0
  523. package/dist/collection/components/popover/popover.ios.css +15 -2
  524. package/dist/collection/components/popover/popover.js +19 -20
  525. package/dist/collection/components/popover/popover.md.css +15 -2
  526. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  527. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  528. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  529. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  530. package/dist/collection/components/radio/radio.ionic.css +422 -0
  531. package/dist/collection/components/radio/radio.ios.css +134 -91
  532. package/dist/collection/components/radio/radio.js +15 -10
  533. package/dist/collection/components/radio/radio.md.css +134 -91
  534. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  535. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  536. package/dist/collection/components/radio-group/radio-group.js +48 -7
  537. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  538. package/dist/collection/components/range/range.ionic.css +567 -0
  539. package/dist/collection/components/range/range.ios.css +128 -85
  540. package/dist/collection/components/range/range.js +16 -10
  541. package/dist/collection/components/range/range.md.css +128 -85
  542. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  543. package/dist/collection/components/refresher/refresher.js +11 -8
  544. package/dist/collection/components/refresher/refresher.md.css +15 -2
  545. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  546. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  547. package/dist/collection/components/reorder/reorder.js +33 -6
  548. package/dist/collection/components/reorder/reorder.md.css +6 -0
  549. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  550. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  551. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  552. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  553. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  554. package/dist/collection/components/route/route.js +5 -1
  555. package/dist/collection/components/router/router.js +4 -0
  556. package/dist/collection/components/router/utils/dom.js +3 -22
  557. package/dist/collection/components/router-link/router-link.css +8 -2
  558. package/dist/collection/components/router-link/router-link.js +9 -5
  559. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  560. package/dist/collection/components/router-outlet/router-outlet.js +10 -40
  561. package/dist/collection/components/row/row.css +16 -0
  562. package/dist/collection/components/row/row.js +9 -2
  563. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  564. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  565. package/dist/collection/components/searchbar/searchbar.js +185 -38
  566. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  567. package/dist/collection/components/segment/segment.ionic.css +115 -0
  568. package/dist/collection/components/segment/segment.ios.css +45 -2
  569. package/dist/collection/components/segment/segment.js +11 -8
  570. package/dist/collection/components/segment/segment.md.css +45 -2
  571. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  572. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  573. package/dist/collection/components/segment-button/segment-button.js +11 -8
  574. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  575. package/dist/collection/components/segment-content/segment-content.js +1 -1
  576. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  577. package/dist/collection/components/segment-view/segment-view.js +13 -4
  578. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  579. package/dist/collection/components/select/select.ionic.css +810 -0
  580. package/dist/collection/components/select/select.ios.css +316 -177
  581. package/dist/collection/components/select/select.js +232 -110
  582. package/dist/collection/components/select/select.md.css +332 -179
  583. package/dist/collection/components/select-modal/select-modal.ionic.css +254 -0
  584. package/dist/collection/components/select-modal/select-modal.ios.css +293 -45
  585. package/dist/collection/components/select-modal/select-modal.js +58 -15
  586. package/dist/collection/components/select-modal/select-modal.md.css +274 -44
  587. package/dist/collection/components/select-option/select-option.js +8 -4
  588. package/dist/collection/components/select-popover/select-popover.ionic.css +252 -0
  589. package/dist/collection/components/select-popover/select-popover.ios.css +188 -124
  590. package/dist/collection/components/select-popover/select-popover.js +17 -9
  591. package/dist/collection/components/select-popover/select-popover.md.css +228 -47
  592. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  593. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  594. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  595. package/dist/collection/components/spinner/spinner.js +47 -6
  596. package/dist/collection/components/spinner/spinner.native.css +199 -0
  597. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  598. package/dist/collection/components/split-pane/split-pane.js +15 -8
  599. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  600. package/dist/collection/components/tab/tab.js +6 -2
  601. package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
  602. package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
  603. package/dist/collection/components/tab-bar/tab-bar.js +179 -15
  604. package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
  605. package/dist/collection/components/tab-button/tab-button.ionic.css +374 -0
  606. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  607. package/dist/collection/components/tab-button/tab-button.js +54 -9
  608. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  609. package/dist/collection/components/tabs/tabs.css +7 -1
  610. package/dist/collection/components/tabs/tabs.js +4 -1
  611. package/dist/collection/components/text/text.css +6 -0
  612. package/dist/collection/components/text/text.js +7 -6
  613. package/dist/collection/components/textarea/textarea.ionic.css +898 -0
  614. package/dist/collection/components/textarea/textarea.ios.css +298 -158
  615. package/dist/collection/components/textarea/textarea.js +162 -24
  616. package/dist/collection/components/textarea/textarea.md.css +312 -159
  617. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  618. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  619. package/dist/collection/components/title/title.ionic.css +127 -0
  620. package/dist/collection/components/title/title.ios.css +32 -4
  621. package/dist/collection/components/title/title.js +13 -7
  622. package/dist/collection/components/title/title.md.css +39 -4
  623. package/dist/collection/components/toast/animations/utils.js +1 -1
  624. package/dist/collection/components/toast/toast.ionic.css +394 -0
  625. package/dist/collection/components/toast/toast.ios.css +84 -45
  626. package/dist/collection/components/toast/toast.js +76 -13
  627. package/dist/collection/components/toast/toast.md.css +84 -45
  628. package/dist/collection/components/toggle/toggle.ionic.css +508 -0
  629. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  630. package/dist/collection/components/toggle/toggle.js +73 -18
  631. package/dist/collection/components/toggle/toggle.md.css +244 -131
  632. package/dist/collection/components/toolbar/test/image.svg +1 -0
  633. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  634. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  635. package/dist/collection/components/toolbar/toolbar.js +218 -13
  636. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  637. package/dist/collection/global/ionic-global.js +241 -13
  638. package/dist/collection/index.js +1 -1
  639. package/dist/collection/utils/css-value-validation.js +39 -0
  640. package/dist/collection/utils/focus-trap.js +13 -2
  641. package/dist/collection/utils/focus-visible.js +22 -0
  642. package/dist/collection/utils/forms/validity.js +31 -0
  643. package/dist/collection/utils/framework-delegate.js +3 -1
  644. package/dist/collection/utils/hardware-back-button.js +15 -0
  645. package/dist/collection/utils/helpers.js +70 -3
  646. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  647. package/dist/collection/utils/media.js +1 -0
  648. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  649. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  650. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  651. package/dist/collection/utils/overlay-control-label.js +13 -11
  652. package/dist/collection/utils/overlays.js +295 -32
  653. package/dist/collection/utils/platform.js +2 -2
  654. package/dist/collection/utils/scroll-hide-controller.js +178 -0
  655. package/dist/collection/utils/test/playwright/drag-element.js +32 -9
  656. package/dist/collection/utils/test/playwright/generator.js +48 -23
  657. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  658. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  659. package/dist/collection/utils/theme.js +25 -1
  660. package/dist/collection/utils/transition/ios.transition.js +1 -0
  661. package/dist/docs.json +10032 -512
  662. package/dist/esm/{animation-DLJpuoEz.js → animation-B2qdQ_ou.js} +2 -2
  663. package/dist/esm/{app-globals-DNgPBV1i.js → app-globals-DZ-iIjxA.js} +1 -1
  664. package/dist/esm/{button-active-BSpTQmS9.js → button-active-BmajAby6.js} +2 -2
  665. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CtQSWUU0.js} +1 -1
  666. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  667. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  668. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  669. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  670. package/dist/esm/{format-CAmvpAez.js → format-2WlZcMvG.js} +1 -1
  671. package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate-DO2QXccA.js} +4 -2
  672. package/dist/esm/{haptic-DzAMWJuk.js → haptic-DFgKNCce.js} +1 -1
  673. package/dist/esm/{helpers-HEqiOzXb.js → helpers-DfF5_wJc.js} +71 -5
  674. package/dist/esm/{index-B_dQk_WE.js → index-BIUWGRUl.js} +4 -4
  675. package/dist/esm/{index-BRHzoo00.js → index-BjaaZqVY.js} +4 -3
  676. package/dist/esm/{index-tcQvqkiX.js → index-C0EQceqV.js} +41 -4
  677. package/dist/esm/{index-AlrZKoWR.js → index-D2tu5BUg.js} +2 -1
  678. package/dist/esm/{index-0f4UTH6Z.js → index-Di034G4O.js} +11 -11
  679. package/dist/esm/{index-MEDq2S8l.js → index-KxK0gcRp.js} +2 -2
  680. package/dist/esm/{index-DQSkZyOJ.js → index-Mq5pCWmZ.js} +1 -1
  681. package/dist/esm/index.js +13 -14
  682. package/dist/esm/{input-shims-D10mwcw1.js → input-shims-DvNNw70a.js} +7 -6
  683. package/dist/esm/{input.utils-Y6NgW8bw.js → input.utils-_LkBfBWt.js} +3 -3
  684. package/dist/esm/ion-accordion_2.entry.js +61 -29
  685. package/dist/esm/ion-action-sheet.entry.js +27 -28
  686. package/dist/esm/ion-alert.entry.js +32 -34
  687. package/dist/esm/ion-app_8.entry.js +461 -211
  688. package/dist/esm/ion-avatar_3.entry.js +125 -13
  689. package/dist/esm/ion-back-button.entry.js +31 -22
  690. package/dist/esm/ion-backdrop.entry.js +10 -7
  691. package/dist/esm/ion-breadcrumb_2.entry.js +54 -18
  692. package/dist/esm/ion-button_2.entry.js +59 -22
  693. package/dist/esm/ion-card_5.entry.js +55 -33
  694. package/dist/esm/ion-checkbox.entry.js +37 -17
  695. package/dist/esm/ion-chip.entry.js +50 -9
  696. package/dist/esm/ion-col_3.entry.js +56 -57
  697. package/dist/esm/ion-datetime-button.entry.js +21 -11
  698. package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +759 -42
  699. package/dist/esm/ion-divider.entry.js +49 -0
  700. package/dist/esm/ion-fab_3.entry.js +44 -28
  701. package/dist/esm/ion-gallery-item.entry.js +57 -0
  702. package/dist/esm/ion-gallery.entry.js +605 -0
  703. package/dist/esm/ion-img.entry.js +8 -6
  704. package/dist/esm/ion-infinite-scroll_2.entry.js +91 -16
  705. package/dist/esm/ion-input-otp.entry.js +74 -9
  706. package/dist/esm/ion-input-password-toggle.entry.js +53 -15
  707. package/dist/esm/ion-input.entry.js +125 -35
  708. package/dist/esm/ion-item-option_3.entry.js +467 -52
  709. package/dist/esm/ion-item_8.entry.js +121 -50
  710. package/dist/esm/ion-loading.entry.js +20 -22
  711. package/dist/esm/ion-menu_3.entry.js +47 -29
  712. package/dist/esm/ion-modal.entry.js +222 -118
  713. package/dist/esm/ion-nav_2.entry.js +128 -12
  714. package/dist/esm/ion-picker-column-option.entry.js +19 -9
  715. package/dist/esm/ion-picker-column.entry.js +19 -13
  716. package/dist/esm/ion-picker.entry.js +10 -6
  717. package/dist/esm/ion-popover.entry.js +21 -23
  718. package/dist/esm/ion-progress-bar.entry.js +27 -9
  719. package/dist/esm/ion-radio_2.entry.js +35 -17
  720. package/dist/esm/ion-range.entry.js +20 -13
  721. package/dist/esm/ion-refresher_2.entry.js +39 -21
  722. package/dist/esm/ion-reorder_2.entry.js +38 -14
  723. package/dist/esm/ion-ripple-effect.entry.js +15 -7
  724. package/dist/esm/ion-route_4.entry.js +13 -26
  725. package/dist/esm/ion-searchbar.entry.js +138 -25
  726. package/dist/esm/ion-segment-content.entry.js +2 -2
  727. package/dist/esm/ion-segment-view.entry.js +13 -3
  728. package/dist/esm/ion-segment_2.entry.js +23 -16
  729. package/dist/esm/ion-select-modal.entry.js +48 -26
  730. package/dist/esm/ion-select_3.entry.js +200 -109
  731. package/dist/esm/ion-spinner.entry.js +30 -8
  732. package/dist/esm/ion-split-pane.entry.js +13 -9
  733. package/dist/esm/ion-tab-bar_2.entry.js +149 -27
  734. package/dist/esm/ion-tab_2.entry.js +8 -7
  735. package/dist/esm/ion-text.entry.js +7 -7
  736. package/dist/esm/ion-textarea.entry.js +137 -23
  737. package/dist/esm/ion-toast.entry.js +44 -21
  738. package/dist/esm/ion-toggle.entry.js +82 -25
  739. package/dist/esm/ionic-global-BpkTponr.js +508 -0
  740. package/dist/esm/ionic.js +5 -5
  741. package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-CgScDbsb.js} +7 -5
  742. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-CyyguLDw.js} +1 -1
  743. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-WJix-wcz.js} +4 -3
  744. package/dist/esm/list-Dhi5xtNS.js +6 -0
  745. package/dist/esm/loader.js +5 -5
  746. package/dist/esm/{md.transition-D0msQmzI.js → md.transition-DThqYazt.js} +6 -5
  747. package/dist/esm/{notch-controller-DKDjU_O7.js → notch-controller-MTblRxjD.js} +2 -2
  748. package/dist/esm/{overlay-control-label-BSQPZ79H.js → overlay-control-label-CODBQrPj.js} +13 -11
  749. package/dist/esm/{overlays-Cx65ihix.js → overlays-tv6nLsmk.js} +312 -40
  750. package/dist/esm/scroll-hide-controller-CUNW7EpD.js +342 -0
  751. package/dist/esm/{select-option-render-B8nWZRnd.js → select-option-render-BlKZ2H83.js} +2 -2
  752. package/dist/esm/{status-tap-Kan2W7sh.js → status-tap-CoPI1M2q.js} +4 -3
  753. package/dist/esm/{swipe-back-DQ1q5MgD.js → swipe-back-qmvTRnSq.js} +3 -2
  754. package/dist/esm/{theme-DiVJyqlX.js → theme-DaJxRxSQ.js} +25 -1
  755. package/dist/esm/validity-BjW8SOqw.js +48 -0
  756. package/dist/esm/x-BDqjX7Z_.js +6 -0
  757. package/dist/html.html-data.json +2690 -123
  758. package/dist/ionic/index.esm.js +1 -1
  759. package/dist/ionic/ionic.esm.js +1 -1
  760. package/dist/ionic/{p-BDtODLZ4.js → p--sroV-k-.js} +1 -1
  761. package/dist/ionic/p-05ce9821.entry.js +4 -0
  762. package/dist/ionic/p-07bd8446.entry.js +4 -0
  763. package/dist/ionic/p-085b8cdf.entry.js +4 -0
  764. package/dist/ionic/p-0ef6bfc4.entry.js +4 -0
  765. package/dist/ionic/p-103e1d9f.entry.js +4 -0
  766. package/dist/ionic/p-18bc4f2d.entry.js +4 -0
  767. package/dist/ionic/p-1b6e3914.entry.js +4 -0
  768. package/dist/ionic/p-248265c2.entry.js +4 -0
  769. package/dist/ionic/p-25b51635.entry.js +4 -0
  770. package/dist/ionic/p-2740db6e.entry.js +4 -0
  771. package/dist/ionic/p-274a829d.entry.js +4 -0
  772. package/dist/ionic/p-2a1abbb1.entry.js +4 -0
  773. package/dist/ionic/p-3b4c5cb5.entry.js +4 -0
  774. package/dist/ionic/p-3bc5b5e9.entry.js +4 -0
  775. package/dist/ionic/p-3cfb4ff2.entry.js +4 -0
  776. package/dist/ionic/p-41afaf15.entry.js +4 -0
  777. package/dist/ionic/p-43b00c5b.entry.js +4 -0
  778. package/dist/ionic/p-507dbb1c.entry.js +4 -0
  779. package/dist/ionic/p-56224b93.entry.js +4 -0
  780. package/dist/ionic/p-5732396e.entry.js +4 -0
  781. package/dist/ionic/p-58d8877d.entry.js +4 -0
  782. package/dist/ionic/p-5d079dc1.entry.js +4 -0
  783. package/dist/ionic/p-5e9665dd.entry.js +4 -0
  784. package/dist/ionic/p-5fee5cc1.entry.js +4 -0
  785. package/dist/ionic/p-602cf876.entry.js +4 -0
  786. package/dist/ionic/p-64734604.entry.js +4 -0
  787. package/dist/ionic/p-678ee14a.entry.js +4 -0
  788. package/dist/ionic/p-68ea8ed1.entry.js +4 -0
  789. package/dist/ionic/p-69feeff9.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-C0eMdTCW.js → p-7k7Q1A38.js} +1 -1
  793. package/dist/ionic/p-83acfa2d.entry.js +4 -0
  794. package/dist/ionic/p-849b1759.entry.js +4 -0
  795. package/dist/ionic/p-86f040e0.entry.js +4 -0
  796. package/dist/ionic/p-89fedfda.entry.js +4 -0
  797. package/dist/ionic/p-8cb23f27.entry.js +4 -0
  798. package/dist/ionic/p-8d5fd199.entry.js +4 -0
  799. package/dist/ionic/p-BDSH5ckF.js +4 -0
  800. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  801. package/dist/ionic/p-BFy_BK46.js +4 -0
  802. package/dist/ionic/p-BYSs-jZz.js +4 -0
  803. package/dist/ionic/p-BjW8SOqw.js +4 -0
  804. package/{components/p-CtukzcyX.js → dist/ionic/p-BlZo7Gy-.js} +1 -1
  805. package/dist/ionic/p-Bq8S4vhI.js +4 -0
  806. package/dist/ionic/p-C0EQceqV.js +5 -0
  807. package/dist/ionic/p-C1I_d964.js +4 -0
  808. package/dist/ionic/p-CB91Gr9M.js +4 -0
  809. package/dist/ionic/p-CEkwLb3L.js +4 -0
  810. package/dist/ionic/p-CJsJQPQD.js +4 -0
  811. package/dist/ionic/p-CODBQrPj.js +4 -0
  812. package/dist/ionic/p-Ch7MBNn_.js +4 -0
  813. package/{components/p-BT_5jSqG.js → dist/ionic/p-Cm20lBQw.js} +1 -1
  814. package/dist/ionic/p-CnAWnbNK.js +4 -0
  815. package/dist/ionic/p-D1t981Ih.js +4 -0
  816. package/dist/ionic/p-D2tu5BUg.js +4 -0
  817. package/dist/ionic/p-D4MT1z4_.js +4 -0
  818. package/dist/ionic/p-D4veLKCq.js +4 -0
  819. package/dist/ionic/p-DF7ubVci.js +4 -0
  820. package/dist/ionic/p-DMaSfupH.js +4 -0
  821. package/{components/p-D13Eaw-8.js → dist/ionic/p-DQDmksdT.js} +1 -1
  822. package/dist/ionic/p-DTsDGZPd.js +4 -0
  823. package/dist/ionic/p-DaJxRxSQ.js +4 -0
  824. package/dist/ionic/p-DdCaKRle.js +4 -0
  825. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  826. package/dist/ionic/p-Dy243NXW.js +4 -0
  827. package/dist/ionic/{p-CKvCXMs9.js → p-OkgYzj-7.js} +1 -1
  828. package/dist/ionic/p-YIsE5bNG.js +4 -0
  829. package/dist/ionic/p-b97778f5.entry.js +4 -0
  830. package/dist/ionic/p-be9db7e8.entry.js +4 -0
  831. package/dist/ionic/p-c04429f2.entry.js +4 -0
  832. package/dist/ionic/p-c25a2a9b.entry.js +4 -0
  833. package/dist/ionic/p-c76d57fb.entry.js +4 -0
  834. package/dist/ionic/p-ca3a07b5.entry.js +4 -0
  835. package/dist/ionic/p-ced3cda1.entry.js +4 -0
  836. package/dist/ionic/p-cf22e991.entry.js +4 -0
  837. package/dist/ionic/p-d0c1d21d.entry.js +4 -0
  838. package/dist/ionic/p-d0d42da6.entry.js +4 -0
  839. package/dist/ionic/p-d272ff4f.entry.js +4 -0
  840. package/dist/ionic/p-d33dfc12.entry.js +4 -0
  841. package/dist/ionic/p-d34bfb61.entry.js +4 -0
  842. package/dist/ionic/p-ddde8df3.entry.js +4 -0
  843. package/dist/ionic/p-df642ef5.entry.js +4 -0
  844. package/dist/ionic/p-e04d63e1.entry.js +4 -0
  845. package/dist/ionic/p-f8001f8f.entry.js +4 -0
  846. package/dist/ionic/p-fIOYmaqA.js +4 -0
  847. package/dist/ionic/p-fc6d26ff.entry.js +4 -0
  848. package/dist/ionic/p-im8OkZlj.js +4 -0
  849. package/dist/ionic/p-lMb_45ax.js +4 -0
  850. package/dist/ionic/{p-Wk5HzclC.js → p-oUgyLDGL.js} +1 -1
  851. package/dist/ionic/p-vXpMhGrs.js +4 -0
  852. package/dist/types/components/accordion/accordion.d.ts +6 -3
  853. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  854. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  855. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  856. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  857. package/dist/types/components/alert/alert.d.ts +3 -2
  858. package/dist/types/components/app/app.d.ts +4 -5
  859. package/dist/types/components/avatar/avatar.d.ts +32 -0
  860. package/dist/types/components/back-button/back-button.d.ts +2 -1
  861. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  862. package/dist/types/components/badge/badge.d.ts +34 -1
  863. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  864. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  865. package/dist/types/components/button/button.d.ts +23 -8
  866. package/dist/types/components/buttons/buttons.d.ts +5 -1
  867. package/dist/types/components/card/card.d.ts +8 -1
  868. package/dist/types/components/card-content/card-content.d.ts +2 -1
  869. package/dist/types/components/card-header/card-header.d.ts +3 -2
  870. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  871. package/dist/types/components/card-title/card-title.d.ts +2 -1
  872. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  873. package/dist/types/components/chip/chip.d.ts +26 -1
  874. package/dist/types/components/col/col.d.ts +52 -5
  875. package/dist/types/components/content/content.d.ts +3 -0
  876. package/dist/types/components/datetime/datetime.d.ts +26 -1
  877. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  878. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  879. package/dist/types/components/divider/divider.d.ts +20 -0
  880. package/dist/types/components/fab/fab.d.ts +4 -0
  881. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  882. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  883. package/dist/types/components/footer/footer-interface.d.ts +1 -0
  884. package/dist/types/components/footer/footer.d.ts +20 -3
  885. package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
  886. package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
  887. package/dist/types/components/gallery/gallery.d.ts +218 -0
  888. package/dist/types/components/gallery/test/utils.d.ts +3 -0
  889. package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
  890. package/dist/types/components/grid/grid.d.ts +4 -0
  891. package/dist/types/components/header/header-interface.d.ts +1 -0
  892. package/dist/types/components/header/header.d.ts +26 -3
  893. package/dist/types/components/header/header.utils.d.ts +4 -5
  894. package/dist/types/components/img/img.d.ts +2 -1
  895. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  896. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  897. package/dist/types/components/input/input.d.ts +32 -6
  898. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  899. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  900. package/dist/types/components/item/item.d.ts +11 -4
  901. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  902. package/dist/types/components/item-group/item-group.d.ts +4 -0
  903. package/dist/types/components/item-option/item-option.d.ts +18 -1
  904. package/dist/types/components/item-options/item-options.d.ts +4 -0
  905. package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
  906. package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
  907. package/dist/types/components/label/label.d.ts +2 -1
  908. package/dist/types/components/list/list.d.ts +15 -1
  909. package/dist/types/components/list-header/list-header.d.ts +2 -1
  910. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  911. package/dist/types/components/loading/loading.d.ts +3 -2
  912. package/dist/types/components/menu/menu.d.ts +3 -0
  913. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  914. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  915. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  916. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  917. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  918. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  919. package/dist/types/components/modal/modal.d.ts +15 -12
  920. package/dist/types/components/nav/nav-interface.d.ts +10 -1
  921. package/dist/types/components/nav/nav.d.ts +27 -3
  922. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  923. package/dist/types/components/note/note.d.ts +2 -1
  924. package/dist/types/components/picker/picker.d.ts +2 -1
  925. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  926. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  927. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  928. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  929. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  930. package/dist/types/components/picker-legacy/picker.d.ts +159 -0
  931. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  932. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  933. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  934. package/dist/types/components/popover/popover.d.ts +6 -5
  935. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  936. package/dist/types/components/radio/radio.d.ts +2 -1
  937. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  938. package/dist/types/components/range/range.d.ts +2 -1
  939. package/dist/types/components/refresher/refresher.d.ts +2 -1
  940. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  941. package/dist/types/components/reorder/reorder.d.ts +9 -0
  942. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  943. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  944. package/dist/types/components/route/route.d.ts +5 -1
  945. package/dist/types/components/router/router.d.ts +4 -0
  946. package/dist/types/components/router-link/router-link.d.ts +4 -0
  947. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -8
  948. package/dist/types/components/row/row.d.ts +4 -0
  949. package/dist/types/components/searchbar/searchbar.d.ts +52 -10
  950. package/dist/types/components/segment/segment.d.ts +2 -1
  951. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  952. package/dist/types/components/select/select.d.ts +49 -14
  953. package/dist/types/components/select-modal/select-modal.d.ts +8 -0
  954. package/dist/types/components/select-option/select-option.d.ts +7 -4
  955. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  956. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  957. package/dist/types/components/spinner/spinner.d.ts +15 -0
  958. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  959. package/dist/types/components/tab/tab.d.ts +4 -0
  960. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
  961. package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
  962. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  963. package/dist/types/components/tabs/tabs.d.ts +3 -0
  964. package/dist/types/components/text/text.d.ts +2 -1
  965. package/dist/types/components/textarea/textarea.d.ts +53 -4
  966. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  967. package/dist/types/components/title/title.d.ts +4 -0
  968. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  969. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  970. package/dist/types/components/toast/toast.d.ts +19 -2
  971. package/dist/types/components/toggle/toggle.d.ts +15 -1
  972. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  973. package/dist/types/components.d.ts +2171 -263
  974. package/dist/types/global/ionic-global.d.ts +28 -2
  975. package/dist/types/index.d.ts +1 -1
  976. package/dist/types/interface.d.ts +4 -0
  977. package/dist/types/utils/config.d.ts +114 -2
  978. package/dist/types/utils/css-value-validation.d.ts +21 -0
  979. package/dist/types/utils/focus-trap.d.ts +1 -1
  980. package/dist/types/utils/focus-visible.d.ts +13 -0
  981. package/dist/types/utils/forms/validity.d.ts +7 -0
  982. package/dist/types/utils/helpers.d.ts +22 -0
  983. package/dist/types/utils/overlay-control-label.d.ts +11 -9
  984. package/dist/types/utils/overlays-interface.d.ts +31 -1
  985. package/dist/types/utils/overlays.d.ts +10 -12
  986. package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
  987. package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
  988. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  989. package/dist/types/utils/theme.d.ts +9 -0
  990. package/hydrate/index.js +6183 -1369
  991. package/hydrate/index.mjs +6183 -1369
  992. package/package.json +12 -40
  993. package/components/p-8cRBED2y.js +0 -4
  994. package/components/p-B--DzMaF.js +0 -4
  995. package/components/p-B5Ia5kbJ.js +0 -4
  996. package/components/p-B9A9IVnF.js +0 -4
  997. package/components/p-BRF87FDL.js +0 -4
  998. package/components/p-BSQPZ79H.js +0 -4
  999. package/components/p-BTPfOxsU.js +0 -4
  1000. package/components/p-Baq1XyAy.js +0 -4
  1001. package/components/p-BmVRXR1y.js +0 -4
  1002. package/components/p-BnTB62Lu.js +0 -4
  1003. package/components/p-Bz0dSlXZ.js +0 -4
  1004. package/components/p-C1aScSTo.js +0 -4
  1005. package/components/p-CHdYfvVx.js +0 -4
  1006. package/components/p-CHqRYvYm.js +0 -4
  1007. package/components/p-CIGNaXM1.js +0 -4
  1008. package/components/p-CLw68uAe.js +0 -4
  1009. package/components/p-CO7fmmxt.js +0 -4
  1010. package/components/p-CPa2WmW7.js +0 -4
  1011. package/components/p-CXuUa8q_.js +0 -4
  1012. package/components/p-CYdwJYjZ.js +0 -4
  1013. package/components/p-CYhGN6l4.js +0 -4
  1014. package/components/p-C_xFdyXe.js +0 -4
  1015. package/components/p-CbJDPICP.js +0 -4
  1016. package/components/p-Ciz1-FuE.js +0 -4
  1017. package/components/p-CmR5uXej.js +0 -4
  1018. package/components/p-CmZ8uO0W.js +0 -4
  1019. package/components/p-CtQ-1ZRt.js +0 -4
  1020. package/components/p-CtWGkNnJ.js +0 -4
  1021. package/components/p-CwcD5kE9.js +0 -4
  1022. package/components/p-CyFtf1Mm.js +0 -4
  1023. package/components/p-CzuRCorP.js +0 -4
  1024. package/components/p-D-lHU3L1.js +0 -4
  1025. package/components/p-D1-tlI3U.js +0 -4
  1026. package/components/p-D355UF9s.js +0 -4
  1027. package/components/p-D6Ynv7Xh.js +0 -4
  1028. package/components/p-D7bSXQD3.js +0 -4
  1029. package/components/p-DEI720fP.js +0 -4
  1030. package/components/p-DIE4pXMl.js +0 -4
  1031. package/components/p-DJztqcrH.js +0 -4
  1032. package/components/p-DK0D_QD_.js +0 -4
  1033. package/components/p-DNQI6d-L.js +0 -4
  1034. package/components/p-DfjhtfFw.js +0 -4
  1035. package/components/p-Dg1a5T1q.js +0 -4
  1036. package/components/p-DiVJyqlX.js +0 -4
  1037. package/components/p-DnL1c9_X.js +0 -4
  1038. package/components/p-Ds1Brlka.js +0 -4
  1039. package/components/p-Dy5czMtc.js +0 -4
  1040. package/components/p-Sh0ICmPV.js +0 -4
  1041. package/components/p-XX59Wsi5.js +0 -4
  1042. package/components/p-ZjP4CjeZ.js +0 -4
  1043. package/components/p-ijF0iCrA.js +0 -4
  1044. package/dist/cjs/hardware-back-button-iUuF_76h.js +0 -121
  1045. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1046. package/dist/cjs/ionic-global-CbxQmwkf.js +0 -151
  1047. package/dist/cjs/keyboard-controller-GXBiBRKS.js +0 -167
  1048. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1049. package/dist/esm/hardware-back-button-B93Gru0Y.js +0 -115
  1050. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1051. package/dist/esm/ionic-global-pMW1XhFZ.js +0 -146
  1052. package/dist/esm/keyboard-controller-BaaVITYt.js +0 -165
  1053. package/dist/esm/validity-DJztqcrH.js +0 -17
  1054. package/dist/ionic/p-06cef0c6.entry.js +0 -4
  1055. package/dist/ionic/p-086cf9d8.entry.js +0 -4
  1056. package/dist/ionic/p-0be097d7.entry.js +0 -4
  1057. package/dist/ionic/p-0e7de053.entry.js +0 -4
  1058. package/dist/ionic/p-2ad3a055.entry.js +0 -4
  1059. package/dist/ionic/p-2b3a2a38.entry.js +0 -4
  1060. package/dist/ionic/p-306b2e91.entry.js +0 -4
  1061. package/dist/ionic/p-341032b3.entry.js +0 -4
  1062. package/dist/ionic/p-34c8f2dc.entry.js +0 -4
  1063. package/dist/ionic/p-3558c8d2.entry.js +0 -4
  1064. package/dist/ionic/p-3ce3a59d.entry.js +0 -4
  1065. package/dist/ionic/p-408afa6d.entry.js +0 -4
  1066. package/dist/ionic/p-426130ad.entry.js +0 -4
  1067. package/dist/ionic/p-4d03a05d.entry.js +0 -4
  1068. package/dist/ionic/p-4e92a11f.entry.js +0 -4
  1069. package/dist/ionic/p-5599e1e1.entry.js +0 -4
  1070. package/dist/ionic/p-567b25e9.entry.js +0 -4
  1071. package/dist/ionic/p-570a212e.entry.js +0 -4
  1072. package/dist/ionic/p-656e8181.entry.js +0 -4
  1073. package/dist/ionic/p-694aa5fc.entry.js +0 -4
  1074. package/dist/ionic/p-73d06afe.entry.js +0 -4
  1075. package/dist/ionic/p-79b2abe6.entry.js +0 -4
  1076. package/dist/ionic/p-7cb5cf53.entry.js +0 -4
  1077. package/dist/ionic/p-80b44b3c.entry.js +0 -4
  1078. package/dist/ionic/p-89c9c057.entry.js +0 -4
  1079. package/dist/ionic/p-8c4bdd70.entry.js +0 -4
  1080. package/dist/ionic/p-8c898f59.entry.js +0 -4
  1081. package/dist/ionic/p-8cde6208.entry.js +0 -4
  1082. package/dist/ionic/p-8d6cca7b.entry.js +0 -4
  1083. package/dist/ionic/p-9366f06d.entry.js +0 -4
  1084. package/dist/ionic/p-9a29ba8c.entry.js +0 -4
  1085. package/dist/ionic/p-9eeaBrnk.js +0 -4
  1086. package/dist/ionic/p-AlrZKoWR.js +0 -4
  1087. package/dist/ionic/p-BGqMS-oh.js +0 -4
  1088. package/dist/ionic/p-BSQPZ79H.js +0 -4
  1089. package/dist/ionic/p-BUFIpxKM.js +0 -4
  1090. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1091. package/dist/ionic/p-CFlfIb2g.js +0 -4
  1092. package/dist/ionic/p-CGqbOURp.js +0 -4
  1093. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1094. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  1095. package/dist/ionic/p-Cx3IXROA.js +0 -4
  1096. package/dist/ionic/p-D4uTWt4-.js +0 -4
  1097. package/dist/ionic/p-D9iu80E_.js +0 -4
  1098. package/dist/ionic/p-DC3RagnA.js +0 -4
  1099. package/dist/ionic/p-DCOvXkOm.js +0 -4
  1100. package/dist/ionic/p-DIuEbVLu.js +0 -4
  1101. package/dist/ionic/p-DJztqcrH.js +0 -4
  1102. package/dist/ionic/p-DSG2s2Eb.js +0 -4
  1103. package/dist/ionic/p-DeSfrUWZ.js +0 -4
  1104. package/dist/ionic/p-Dfbt-q2k.js +0 -4
  1105. package/dist/ionic/p-DiVJyqlX.js +0 -4
  1106. package/dist/ionic/p-DoJvtrbw.js +0 -4
  1107. package/dist/ionic/p-DzTgLDb_.js +0 -4
  1108. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1109. package/dist/ionic/p-a1448991.entry.js +0 -4
  1110. package/dist/ionic/p-a256aeb6.entry.js +0 -4
  1111. package/dist/ionic/p-aeff523a.entry.js +0 -4
  1112. package/dist/ionic/p-b2f15bd0.entry.js +0 -4
  1113. package/dist/ionic/p-b7737b44.entry.js +0 -4
  1114. package/dist/ionic/p-ba99d16b.entry.js +0 -4
  1115. package/dist/ionic/p-cdfe2531.entry.js +0 -4
  1116. package/dist/ionic/p-cf1fb54f.entry.js +0 -4
  1117. package/dist/ionic/p-d183a4ba.entry.js +0 -4
  1118. package/dist/ionic/p-d3089de6.entry.js +0 -4
  1119. package/dist/ionic/p-d57560ff.entry.js +0 -4
  1120. package/dist/ionic/p-d6d91a44.entry.js +0 -4
  1121. package/dist/ionic/p-dd992df7.entry.js +0 -4
  1122. package/dist/ionic/p-e2756327.entry.js +0 -4
  1123. package/dist/ionic/p-e3842b54.entry.js +0 -4
  1124. package/dist/ionic/p-e56b1836.entry.js +0 -4
  1125. package/dist/ionic/p-f09f9642.entry.js +0 -4
  1126. package/dist/ionic/p-f5b104d9.entry.js +0 -4
  1127. package/dist/ionic/p-f5b1f739.entry.js +0 -4
  1128. package/dist/ionic/p-f88310b9.entry.js +0 -4
  1129. package/dist/ionic/p-fd4e56cd.entry.js +0 -4
  1130. package/dist/ionic/p-mjKAFv89.js +0 -4
  1131. package/dist/ionic/p-tcQvqkiX.js +0 -5
  1132. package/dist/ionic/p-viFHDgRs.js +0 -4
  1133. package/dist/ionic/p-xWb6fgfq.js +0 -4
  1134. /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$2 = require('./index-CIrkNXqJ.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-DJVbo1cW.js');
13
- var theme = require('./theme-CeDs6Hcv.js');
14
- var index$4 = require('./index-BERfRao3.js');
15
- var ionicGlobal = require('./ionic-global-CbxQmwkf.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$1 = 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,18 +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
+ };
207
+ /**
208
+ * Ionic Modal Enter Animation
209
+ */
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;
227
+ };
228
+
132
229
  const handleCanDismiss = async (el, animation) => {
133
230
  /**
134
231
  * If canDismiss is not a function
@@ -264,7 +361,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
264
361
  let initialScrollY = true;
265
362
  let lastStep = 0;
266
363
  const getScrollY = () => {
267
- if (contentEl && index$2.isIonContent(contentEl)) {
364
+ if (contentEl && index$1.isIonContent(contentEl)) {
268
365
  return contentEl.scrollY;
269
366
  /**
270
367
  * Custom scroll containers are intended to be
@@ -296,7 +393,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
296
393
  * swipe again. The target content will not
297
394
  * be the same between swipes.
298
395
  */
299
- contentEl = index$2.findClosestIonContent(target);
396
+ contentEl = index$1.findClosestIonContent(target);
300
397
  if (contentEl) {
301
398
  /**
302
399
  * The card should never swipe to close
@@ -312,7 +409,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
312
409
  * operation, and getScrollElement is
313
410
  * asynchronous.
314
411
  */
315
- if (index$2.isIonContent(contentEl)) {
412
+ if (index$1.isIonContent(contentEl)) {
316
413
  const root = helpers.getElementRoot(contentEl);
317
414
  scrollEl = root.querySelector('.inner-scroll');
318
415
  }
@@ -363,7 +460,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
363
460
  * happen at the same time as the gesture.
364
461
  */
365
462
  if (deltaY > 0 && contentEl) {
366
- index$2.disableContentScrollY(contentEl);
463
+ index$1.disableContentScrollY(contentEl);
367
464
  }
368
465
  animation.progressStart(true, isOpen ? 1 : 0);
369
466
  onDragStart();
@@ -377,7 +474,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
377
474
  * happen at the same time as the gesture.
378
475
  */
379
476
  if (deltaY > 0 && contentEl) {
380
- index$2.disableContentScrollY(contentEl);
477
+ index$1.disableContentScrollY(contentEl);
381
478
  }
382
479
  /**
383
480
  * If we are swiping on the content
@@ -472,7 +569,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
472
569
  isOpen = shouldComplete;
473
570
  gesture.enable(false);
474
571
  if (contentEl) {
475
- index$2.resetContentScrollY(contentEl, initialScrollY);
572
+ index$1.resetContentScrollY(contentEl, initialScrollY);
476
573
  }
477
574
  animation
478
575
  .onFinish(() => {
@@ -507,7 +604,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
507
604
  };
508
605
  onDragEnd(eventDetail);
509
606
  };
510
- const gesture = index$1.createGesture({
607
+ const gesture = index.createGesture({
511
608
  el,
512
609
  gestureName: 'modalSwipeToClose',
513
610
  gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
@@ -562,63 +659,6 @@ const calculateProgress = (el, deltaY) => {
562
659
  return Math.max(0, Math.min(1, roundedProgress));
563
660
  };
564
661
 
565
- const createSheetEnterAnimation = (opts) => {
566
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
567
- /**
568
- * If the backdropBreakpoint is undefined, then the backdrop
569
- * should always fade in. If the backdropBreakpoint came before the
570
- * current breakpoint, then the backdrop should be fading in.
571
- */
572
- const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
573
- const initialBackdrop = shouldShowBackdrop ? `calc(var(--backdrop-opacity) * ${currentBreakpoint})` : '0';
574
- const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
575
- if (shouldShowBackdrop) {
576
- backdropAnimation
577
- .beforeStyles({
578
- 'pointer-events': 'none',
579
- })
580
- .afterClearStyles(['pointer-events']);
581
- }
582
- const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
583
- { offset: 0, opacity: 1, transform: 'translateY(100%)' },
584
- { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
585
- ]);
586
- /**
587
- * This allows the content to be scrollable at any breakpoint.
588
- */
589
- const contentAnimation = !expandToScroll
590
- ? animation.createAnimation('contentAnimation').keyframes([
591
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
592
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
593
- ])
594
- : undefined;
595
- return { wrapperAnimation, backdropAnimation, contentAnimation };
596
- };
597
- const createSheetLeaveAnimation = (opts) => {
598
- const { currentBreakpoint, backdropBreakpoint } = opts;
599
- /**
600
- * Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
601
- * is defined, so we need to account for that offset by figuring out
602
- * what the current backdrop value should be.
603
- */
604
- const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
605
- const defaultBackdrop = [
606
- { offset: 0, opacity: backdropValue },
607
- { offset: 1, opacity: 0 },
608
- ];
609
- const customBackdrop = [
610
- { offset: 0, opacity: backdropValue },
611
- { offset: backdropBreakpoint, opacity: 0 },
612
- { offset: 1, opacity: 0 },
613
- ];
614
- const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
615
- const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
616
- { offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
617
- { offset: 1, opacity: 1, transform: `translateY(100%)` },
618
- ]);
619
- return { wrapperAnimation, backdropAnimation };
620
- };
621
-
622
662
  const createEnterAnimation$1 = () => {
623
663
  const backdropAnimation = animation.createAnimation()
624
664
  .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
@@ -1009,16 +1049,16 @@ const mdLeaveAnimation = (baseEl, opts) => {
1009
1049
  return baseAnimation;
1010
1050
  };
1011
1051
 
1012
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
1052
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, usePhysicsBasedGesture, onDragStart, onDragMove, onDragEnd) => {
1013
1053
  // Defaults for the sheet swipe animation
1014
1054
  const defaultBackdrop = [
1015
1055
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
1016
- { offset: 1, opacity: 0.01 },
1056
+ { offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0.01 },
1017
1057
  ];
1018
1058
  const customBackdrop = [
1019
1059
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
1020
- { offset: 1 - backdropBreakpoint, opacity: 0 },
1021
- { offset: 1, opacity: 0 },
1060
+ { offset: 1 - backdropBreakpoint, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
1061
+ { offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
1022
1062
  ];
1023
1063
  const SheetDefaults = {
1024
1064
  WRAPPER_KEYFRAMES: [
@@ -1199,14 +1239,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1199
1239
  * For example, when using ion-nav within a modal it is possible to swipe, push a view,
1200
1240
  * and then swipe again. The target content will not be the same between swipes.
1201
1241
  */
1202
- const contentEl = index$2.findClosestIonContent(detail.event.target);
1242
+ const contentEl = index$1.findClosestIonContent(detail.event.target);
1203
1243
  currentBreakpoint = getCurrentBreakpoint();
1204
1244
  /**
1205
1245
  * If `expandToScroll` is disabled, we should not allow the swipe gesture
1206
1246
  * to start if the content is not scrolled to the top.
1207
1247
  */
1208
1248
  if (!expandToScroll && contentEl) {
1209
- const scrollEl = index$2.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1249
+ const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1210
1250
  return scrollEl.scrollTop === 0;
1211
1251
  }
1212
1252
  if (currentBreakpoint === 1 && contentEl) {
@@ -1219,7 +1259,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1219
1259
  * Note 2: Do not use getScrollElement here because we need this to be a synchronous
1220
1260
  * operation, and getScrollElement is asynchronous.
1221
1261
  */
1222
- const scrollEl = index$2.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1262
+ const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1223
1263
  const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
1224
1264
  return !hasRefresherInContent && scrollEl.scrollTop === 0;
1225
1265
  }
@@ -1252,9 +1292,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1252
1292
  * which would impact performance significantly.
1253
1293
  */
1254
1294
  if (!expandToScroll) {
1255
- const targetEl = index$2.findClosestIonContent(detail.event.target);
1295
+ const targetEl = index$1.findClosestIonContent(detail.event.target);
1256
1296
  cachedScrollEl =
1257
- targetEl && index$2.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
1297
+ targetEl && index$1.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
1258
1298
  }
1259
1299
  /**
1260
1300
  * If expandToScroll is disabled, we need to swap
@@ -1348,7 +1388,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1348
1388
  : step;
1349
1389
  offset = helpers.clamp(0.0001, processedStep, maxStep);
1350
1390
  animation.progressStep(offset);
1351
- const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
1391
+ const snapBreakpoint = usePhysicsBasedGesture
1392
+ ? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
1393
+ : calculatePositionSnapBreakpoint(detail.deltaY);
1352
1394
  const eventDetail = {
1353
1395
  currentY: detail.currentY,
1354
1396
  deltaY: detail.deltaY,
@@ -1359,7 +1401,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1359
1401
  onDragMove(eventDetail);
1360
1402
  };
1361
1403
  const onEnd = (detail) => {
1362
- const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
1404
+ const snapBreakpoint = usePhysicsBasedGesture
1405
+ ? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
1406
+ : calculatePositionSnapBreakpoint(detail.deltaY);
1363
1407
  const eventDetail = {
1364
1408
  currentY: detail.currentY,
1365
1409
  deltaY: detail.deltaY,
@@ -1406,6 +1450,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1406
1450
  */
1407
1451
  const shouldPreventDismiss = canDismiss && breakpoint === 0;
1408
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)';
1409
1461
  const shouldRemainOpen = snapToBreakpoint !== 0;
1410
1462
  currentBreakpoint = 0;
1411
1463
  /**
@@ -1420,11 +1472,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1420
1472
  backdropAnimation.keyframes([
1421
1473
  {
1422
1474
  offset: 0,
1423
- 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)})`,
1424
1478
  },
1425
1479
  {
1426
1480
  offset: 1,
1427
- opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1481
+ opacity: usePhysicsBasedGesture
1482
+ ? 'var(--backdrop-opacity)'
1483
+ : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1428
1484
  },
1429
1485
  ]);
1430
1486
  if (contentAnimation) {
@@ -1442,6 +1498,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1442
1498
  }
1443
1499
  animation.progressStep(0);
1444
1500
  }
1501
+ /**
1502
+ * Apply the appropriate easing curve for this snap behavior.
1503
+ */
1504
+ if (usePhysicsBasedGesture) {
1505
+ animation.easing(easing);
1506
+ }
1445
1507
  /**
1446
1508
  * Gesture should remain disabled until the
1447
1509
  * snapping animation completes.
@@ -1531,7 +1593,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1531
1593
  * be added every time onEnd runs.
1532
1594
  */
1533
1595
  }, { oneTimeCallback: true })
1534
- .progressEnd(1, 0, animated ? 500 : 0);
1596
+ .progressEnd(1, 0, animated ? duration : 0);
1535
1597
  });
1536
1598
  };
1537
1599
  /**
@@ -1542,7 +1604,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1542
1604
  * @param deltaY The change in Y position since the gesture started.
1543
1605
  * @returns The snap breakpoint value.
1544
1606
  */
1545
- const calculateSnapBreakpoint = (deltaY) => {
1607
+ const calculatePositionSnapBreakpoint = (deltaY) => {
1546
1608
  /**
1547
1609
  * Calculates the real-time vertical position of the modal.
1548
1610
  * We combine the wrapper's current bounding box position with the
@@ -1562,6 +1624,50 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1562
1624
  });
1563
1625
  return snapBreakpoint;
1564
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
+ };
1565
1671
  /**
1566
1672
  * Calculates the progress of the swipe gesture.
1567
1673
  *
@@ -1632,7 +1738,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1632
1738
  */
1633
1739
  return viewportBottom - activeHeight;
1634
1740
  };
1635
- const gesture = index$1.createGesture({
1741
+ const gesture = index.createGesture({
1636
1742
  el: wrapperEl,
1637
1743
  gestureName: 'modalSheet',
1638
1744
  gesturePriority: 40,
@@ -1678,9 +1784,9 @@ let cacheInvalidationScheduled = false;
1678
1784
  * Matches: @media (min-width: 768px) and (min-height: 600px)
1679
1785
  */
1680
1786
  const isCenteredDialogViewport = () => {
1681
- if (!index.win)
1787
+ if (!ionicGlobal.win)
1682
1788
  return false;
1683
- 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)`)
1684
1790
  .matches;
1685
1791
  };
1686
1792
  /**
@@ -1695,7 +1801,7 @@ const getRootSafeAreaTop = () => {
1695
1801
  if (cachedRootSafeAreaTop !== null) {
1696
1802
  return cachedRootSafeAreaTop;
1697
1803
  }
1698
- 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;
1699
1805
  if (!(doc === null || doc === void 0 ? void 0 : doc.body)) {
1700
1806
  return 0;
1701
1807
  }
@@ -1801,8 +1907,8 @@ const getInitialSafeAreaConfig = (context) => {
1801
1907
  const getPositionBasedSafeAreaConfig = (wrapperEl) => {
1802
1908
  var _a, _b;
1803
1909
  const rect = wrapperEl.getBoundingClientRect();
1804
- const vh = (_a = index.win === null || index.win === void 0 ? void 0 : index.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
1805
- 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;
1806
1912
  // Only apply safe-area to sides where modal overlaps with screen edge
1807
1913
  return {
1808
1914
  top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
@@ -1835,26 +1941,28 @@ const clearSafeAreaOverrides = (hostEl) => {
1835
1941
  hostEl.style.removeProperty('--ion-safe-area-right');
1836
1942
  };
1837
1943
 
1838
- 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)))}`;
1945
+
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}`;
1839
1947
 
1840
- 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}`;
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}`;
1841
1949
 
1842
1950
  const Modal = class {
1843
1951
  constructor(hostRef) {
1844
- index$3.registerInstance(this, hostRef);
1845
- this.didPresent = index$3.createEvent(this, "ionModalDidPresent", 7);
1846
- this.willPresent = index$3.createEvent(this, "ionModalWillPresent", 7);
1847
- this.willDismiss = index$3.createEvent(this, "ionModalWillDismiss", 7);
1848
- this.didDismiss = index$3.createEvent(this, "ionModalDidDismiss", 7);
1849
- this.ionBreakpointDidChange = index$3.createEvent(this, "ionBreakpointDidChange", 7);
1850
- this.didPresentShorthand = index$3.createEvent(this, "didPresent", 7);
1851
- this.willPresentShorthand = index$3.createEvent(this, "willPresent", 7);
1852
- this.willDismissShorthand = index$3.createEvent(this, "willDismiss", 7);
1853
- this.didDismissShorthand = index$3.createEvent(this, "didDismiss", 7);
1854
- this.ionMount = index$3.createEvent(this, "ionMount", 7);
1855
- this.ionDragStart = index$3.createEvent(this, "ionDragStart", 7);
1856
- this.ionDragMove = index$3.createEvent(this, "ionDragMove", 7);
1857
- 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);
1858
1966
  this.lockController = lockController.createLockController();
1859
1967
  this.triggerController = overlays.createTriggerController();
1860
1968
  this.coreDelegate = frameworkDelegate.CoreDelegate();
@@ -1897,20 +2005,13 @@ const Modal = class {
1897
2005
  /**
1898
2006
  * The interaction behavior for the sheet modal when the handle is pressed.
1899
2007
  *
1900
- * Handle behavior is unavailable when the `handle` property is set to
1901
- * `false` or when the `breakpoints` property is not set (using a
1902
- * fullscreen or card modal).
2008
+ * Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
2009
+ * Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
1903
2010
  *
1904
- * Set to `"cycle"` to make the handle focusable and let the sheet modal
1905
- * cycle between available breakpoints when pressed. This keeps the sheet
1906
- * operable with assistive technology.
1907
- *
1908
- * Set to `"none"` to make the handle purely decorative when pressed and
1909
- * removed from the tab order.
1910
- *
1911
- * Defaults to `"cycle"`.
2011
+ * Handle behavior is unavailable when the `handle` property is set to `false` or
2012
+ * when the `breakpoints` property is not set (using a fullscreen or card modal).
1912
2013
  */
1913
- this.handleBehavior = 'cycle';
2014
+ this.handleBehavior = 'none';
1914
2015
  /**
1915
2016
  * If `true`, the modal will be dismissed when the backdrop is clicked.
1916
2017
  */
@@ -2018,18 +2119,9 @@ const Modal = class {
2018
2119
  * if it exists and is focusable, otherwise let the focus trap handle it.
2019
2120
  */
2020
2121
  this.onModalFocus = (ev) => {
2021
- var _a;
2022
2122
  const { dragHandleEl, el } = this;
2023
- /**
2024
- * Focus events from inside the shadow DOM are retargeted to the host, so
2025
- * `ev.target === el` is also true when a shadow child (e.g. the dialog
2026
- * wrapper that present() focuses for screen readers) receives focus. Use
2027
- * the shadow root's activeElement to tell the two apart: it is `null` only
2028
- * when the host itself was focused directly (e.g. tabbing into the modal).
2029
- * Only then do we redirect to the handle, so the wrapper focus set on
2030
- * present() is left intact.
2031
- */
2032
- if (ev.target === el && ((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) == null && dragHandleEl && dragHandleEl.tabIndex !== -1) {
2123
+ // Only handle focus if the modal itself was focused (not a child element)
2124
+ if (ev.target === el && dragHandleEl && dragHandleEl.tabIndex !== -1) {
2033
2125
  dragHandleEl.focus();
2034
2126
  }
2035
2127
  };
@@ -2111,10 +2203,6 @@ const Modal = class {
2111
2203
  // Also called in dismiss() — intentional dual cleanup covers both
2112
2204
  // dismiss-then-remove and direct DOM removal without dismiss.
2113
2205
  this.cleanupSafeAreaOverrides();
2114
- // Clean up aria-hidden if removed without dismiss() being called
2115
- if (this.presented) {
2116
- overlays.cleanupRootFocusTrapAccessibility();
2117
- }
2118
2206
  }
2119
2207
  componentWillLoad() {
2120
2208
  var _a;
@@ -2161,7 +2249,7 @@ const Modal = class {
2161
2249
  this.currentBreakpoint = this.initialBreakpoint;
2162
2250
  }
2163
2251
  if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
2164
- index$3.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
2252
+ index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
2165
2253
  }
2166
2254
  if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
2167
2255
  overlays.setOverlayId(this.el);
@@ -2261,7 +2349,7 @@ const Modal = class {
2261
2349
  * get the transition incorrect.
2262
2350
  */
2263
2351
  if (helpers.hasLazyBuild(el)) {
2264
- await index$4.deepReady(this.usersElement);
2352
+ await index$3.deepReady(this.usersElement);
2265
2353
  /**
2266
2354
  * If keepContentsMounted="true" then the
2267
2355
  * JS Framework has already mounted the inner
@@ -2272,9 +2360,9 @@ const Modal = class {
2272
2360
  */
2273
2361
  }
2274
2362
  else if (!this.keepContentsMounted) {
2275
- await index$4.waitForMount();
2363
+ await index$3.waitForMount();
2276
2364
  }
2277
- index$3.writeTask(() => this.el.classList.add('show-modal'));
2365
+ index$2.writeTask(() => this.el.classList.add('show-modal'));
2278
2366
  // Recalculate isSheetModal before safe-area setup because framework
2279
2367
  // bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
2280
2368
  this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
@@ -2291,11 +2379,12 @@ const Modal = class {
2291
2379
  this.statusBarStyle = await StatusBar.getStyle();
2292
2380
  setCardStatusBarDark();
2293
2381
  }
2294
- await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
2382
+ await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
2295
2383
  presentingEl: presentingElement,
2296
2384
  currentBreakpoint: this.initialBreakpoint,
2297
2385
  backdropBreakpoint: this.backdropBreakpoint,
2298
2386
  expandToScroll: this.expandToScroll,
2387
+ staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
2299
2388
  });
2300
2389
  // Update safe-area based on actual position after animation
2301
2390
  this.updateSafeAreaOverrides();
@@ -2353,14 +2442,14 @@ const Modal = class {
2353
2442
  // All of the elements needed for the swipe gesture
2354
2443
  // should be in the DOM and referenced by now, except
2355
2444
  // for the presenting el
2356
- const animationBuilder = this.leaveAnimation || index$3.config.get('modalLeave', iosLeaveAnimation);
2445
+ const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
2357
2446
  const ani = (this.animation = animationBuilder(el, {
2358
2447
  presentingEl: this.presentingElement,
2359
2448
  expandToScroll: this.expandToScroll,
2360
2449
  }));
2361
- const contentEl = index$2.findIonContent(el);
2450
+ const contentEl = index$1.findIonContent(el);
2362
2451
  if (!contentEl) {
2363
- index$2.printIonContentErrorMsg(el);
2452
+ index$1.printIonContentErrorMsg(el);
2364
2453
  return;
2365
2454
  }
2366
2455
  const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
@@ -2372,12 +2461,13 @@ const Modal = class {
2372
2461
  if (!wrapperEl || initialBreakpoint === undefined) {
2373
2462
  return;
2374
2463
  }
2375
- const animationBuilder = this.enterAnimation || index$3.config.get('modalEnter', iosEnterAnimation);
2464
+ const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
2376
2465
  const ani = (this.animation = animationBuilder(this.el, {
2377
2466
  presentingEl: this.presentingElement,
2378
2467
  currentBreakpoint: initialBreakpoint,
2379
2468
  backdropBreakpoint,
2380
2469
  expandToScroll: this.expandToScroll,
2470
+ staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
2381
2471
  }));
2382
2472
  ani.progressStart(true, 1);
2383
2473
  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) => {
@@ -2385,7 +2475,7 @@ const Modal = class {
2385
2475
  this.currentBreakpoint = breakpoint;
2386
2476
  this.ionBreakpointDidChange.emit({ breakpoint });
2387
2477
  }
2388
- }, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2478
+ }, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2389
2479
  this.gesture = gesture;
2390
2480
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
2391
2481
  this.gesture.enable(true);
@@ -2571,7 +2661,7 @@ const Modal = class {
2571
2661
  if (dismissed) {
2572
2662
  const { delegate } = this.getDelegate();
2573
2663
  await frameworkDelegate.detachComponent(delegate, this.usersElement);
2574
- index$3.writeTask(() => this.el.classList.remove('show-modal'));
2664
+ index$2.writeTask(() => this.el.classList.remove('show-modal'));
2575
2665
  if (this.animation) {
2576
2666
  this.animation.destroy();
2577
2667
  }
@@ -2608,11 +2698,11 @@ const Modal = class {
2608
2698
  */
2609
2699
  async setCurrentBreakpoint(breakpoint) {
2610
2700
  if (!this.isSheetModal) {
2611
- index$3.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
2701
+ index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
2612
2702
  return;
2613
2703
  }
2614
2704
  if (!this.breakpoints.includes(breakpoint)) {
2615
- 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.`);
2705
+ 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.`);
2616
2706
  return;
2617
2707
  }
2618
2708
  const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
@@ -2657,6 +2747,18 @@ const Modal = class {
2657
2747
  await this.setCurrentBreakpoint(nextBreakpoint);
2658
2748
  return true;
2659
2749
  }
2750
+ getShape() {
2751
+ const theme = ionicGlobal.getIonTheme(this);
2752
+ const { shape } = this;
2753
+ // TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
2754
+ if (theme !== 'ionic') {
2755
+ return undefined;
2756
+ }
2757
+ if (shape === undefined) {
2758
+ return 'round';
2759
+ }
2760
+ return shape;
2761
+ }
2660
2762
  initViewTransitionListener() {
2661
2763
  // Only enable for iOS card modals when no custom animations are provided
2662
2764
  if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
@@ -2990,15 +3092,16 @@ const Modal = class {
2990
3092
  render() {
2991
3093
  const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
2992
3094
  const showHandle = handle !== false && isSheetModal;
2993
- const mode = ionicGlobal.getIonMode(this);
2994
- const isCardModal = presentingElement !== undefined && mode === 'ios';
3095
+ const theme$1 = ionicGlobal.getIonTheme(this);
3096
+ const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
2995
3097
  const isHandleCycle = handleBehavior === 'cycle';
3098
+ const shape = this.getShape();
2996
3099
  const isSheetModalWithHandle = isSheetModal && showHandle;
2997
- return (index$3.h(index$3.Host, Object.assign({ key: 'bebb9c8e49837531a2d60c96cf6b5e995ac90ffa', "no-router": true,
3100
+ return (index$2.h(index$2.Host, Object.assign({ key: '942426c1823a35d3862650f04bccba188ba06f20', "no-router": true,
2998
3101
  // Allow the modal to be navigable when the handle is focusable
2999
3102
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
3000
3103
  zIndex: `${20000 + this.overlayIndex}`,
3001
- }, 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: 'd4d220f3e9901a67e6368a982ec487cc55c3c5b4', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '159457105fd445b3755e19a3f207ac2bbc00cb05', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: 'a6659898a35f26aa5576186f9e58365b53f55c3b',
3104
+ }, 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: 'fb572cbba4efc0f06dad9caa6a8d62a2cb354244', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme$1 === 'ios' && index$2.h("div", { key: '43f414dab4d290afbb936350e41ce14fdf18d22f', class: "modal-shadow" }), index$2.h("div", Object.assign({ key: '020e40f58d73119fc96dd341830d20a61b1f336a',
3002
3105
  /*
3003
3106
  role and aria-modal must be used on the
3004
3107
  same element. They must also be set inside the
@@ -3011,11 +3114,11 @@ const Modal = class {
3011
3114
  without the tabindex focus() would be a no-op and screen readers
3012
3115
  may not properly announce the dialog and its content when it opens.
3013
3116
  */
3014
- 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: 'd1ec5c16efb4ebff3a876d4b8d3fedb3d3879ac6', class: "modal-handle",
3117
+ 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: '7f7fef1fb41f6fdd68080ce46ae938fa08757c34', class: "modal-handle",
3015
3118
  // Prevents the handle from receiving keyboard focus when it does not cycle
3016
- 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: '60043d897c085b0d21cc3870990634b6179b7769', onSlotchange: this.onSlotChange }))));
3119
+ 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: 'e6e1fe6fa25a6dc2f2c2c0f7a33f24a6d603c875', onSlotchange: this.onSlotChange }))));
3017
3120
  }
3018
- get el() { return index$3.getElement(this); }
3121
+ get el() { return index$2.getElement(this); }
3019
3122
  static get watchers() { return {
3020
3123
  "isOpen": [{
3021
3124
  "onIsOpenChange": 0
@@ -3035,6 +3138,7 @@ const LIFECYCLE_MAP = {
3035
3138
  ionModalDidDismiss: 'ionViewDidLeave',
3036
3139
  };
3037
3140
  Modal.style = {
3141
+ ionic: modalIonicCss(),
3038
3142
  ios: modalIosCss(),
3039
3143
  md: modalMdCss()
3040
3144
  };