@ionic/core 8.8.5 → 8.8.6-dev.11777490150.1970e4f2

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 (1096) 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.d.ts +11 -0
  33. package/components/ion-gallery.js +4 -0
  34. package/components/ion-grid.js +1 -1
  35. package/components/ion-header.js +1 -1
  36. package/components/ion-icon.js +1 -1
  37. package/components/ion-img.js +1 -1
  38. package/components/ion-infinite-scroll-content.js +1 -1
  39. package/components/ion-infinite-scroll.js +1 -1
  40. package/components/ion-input-otp.js +1 -1
  41. package/components/ion-input-password-toggle.js +1 -1
  42. package/components/ion-input.js +1 -1
  43. package/components/ion-item-divider.js +1 -1
  44. package/components/ion-item-group.js +1 -1
  45. package/components/ion-item-option.js +1 -1
  46. package/components/ion-item-options.js +1 -1
  47. package/components/ion-item-sliding.js +1 -1
  48. package/components/ion-item.js +1 -1
  49. package/components/ion-label.js +1 -1
  50. package/components/ion-list-header.js +1 -1
  51. package/components/ion-list.js +1 -1
  52. package/components/ion-loading.js +1 -1
  53. package/components/ion-menu-button.js +1 -1
  54. package/components/ion-menu-toggle.js +1 -1
  55. package/components/ion-menu.js +1 -1
  56. package/components/ion-modal.js +1 -1
  57. package/components/ion-nav-link.js +1 -1
  58. package/components/ion-nav.js +1 -1
  59. package/components/ion-note.js +1 -1
  60. package/components/ion-picker-column-option.js +1 -1
  61. package/components/ion-picker-column.js +1 -1
  62. package/components/ion-picker-legacy-column.js +1 -1
  63. package/components/ion-picker-legacy.js +1 -1
  64. package/components/ion-picker.js +1 -1
  65. package/components/ion-popover.js +1 -1
  66. package/components/ion-progress-bar.js +1 -1
  67. package/components/ion-radio-group.js +1 -1
  68. package/components/ion-radio.js +1 -1
  69. package/components/ion-range.js +1 -1
  70. package/components/ion-refresher-content.js +1 -1
  71. package/components/ion-refresher.js +1 -1
  72. package/components/ion-reorder-group.js +1 -1
  73. package/components/ion-reorder.js +1 -1
  74. package/components/ion-ripple-effect.js +1 -1
  75. package/components/ion-route-redirect.js +1 -1
  76. package/components/ion-route.js +1 -1
  77. package/components/ion-router-link.js +1 -1
  78. package/components/ion-router-outlet.js +1 -1
  79. package/components/ion-router.js +1 -1
  80. package/components/ion-row.js +1 -1
  81. package/components/ion-searchbar.js +1 -1
  82. package/components/ion-segment-button.js +1 -1
  83. package/components/ion-segment-content.js +1 -1
  84. package/components/ion-segment-view.js +1 -1
  85. package/components/ion-segment.js +1 -1
  86. package/components/ion-select-modal.js +1 -1
  87. package/components/ion-select-option.js +1 -1
  88. package/components/ion-select-popover.js +1 -1
  89. package/components/ion-select.js +1 -1
  90. package/components/ion-skeleton-text.js +1 -1
  91. package/components/ion-spinner.js +1 -1
  92. package/components/ion-split-pane.js +1 -1
  93. package/components/ion-tab-bar.js +1 -1
  94. package/components/ion-tab-button.js +1 -1
  95. package/components/ion-tab.js +1 -1
  96. package/components/ion-tabs.js +1 -1
  97. package/components/ion-text.js +1 -1
  98. package/components/ion-textarea.js +1 -1
  99. package/components/ion-thumbnail.js +1 -1
  100. package/components/ion-title.js +1 -1
  101. package/components/ion-toast.js +1 -1
  102. package/components/ion-toggle.js +1 -1
  103. package/components/ion-toolbar.js +1 -1
  104. package/components/p-0sa2JgYA.js +4 -0
  105. package/components/p-3Ni1Z654.js +4 -0
  106. package/{dist/ionic/p-D13Eaw-8.js → components/p-9gxM3tAr.js} +1 -1
  107. package/components/p-B2rpt1JV.js +4 -0
  108. package/components/{p-ak_d-z48.js → p-B636tzQ7.js} +1 -1
  109. package/components/p-B6zr9RZN.js +4 -0
  110. package/components/p-B71c6yUH.js +4 -0
  111. package/components/p-B8Oa6a_k.js +4 -0
  112. package/components/p-BCDEEm9n.js +4 -0
  113. package/components/p-BCFZKMI6.js +4 -0
  114. package/components/p-BDndEqui.js +4 -0
  115. package/components/p-BDqjX7Z_.js +4 -0
  116. package/components/p-BErKjY03.js +4 -0
  117. package/components/p-BFCM_1oE.js +4 -0
  118. package/components/p-BFbsici0.js +4 -0
  119. package/components/p-BLCuPAtN.js +4 -0
  120. package/components/{p-cyNmxje6.js → p-BLysWQA1.js} +1 -1
  121. package/components/p-BO4aickU.js +4 -0
  122. package/components/p-BRWWcnBq.js +4 -0
  123. package/components/p-BXcCGjEc.js +4 -0
  124. package/components/p-BYSs-jZz.js +4 -0
  125. package/components/p-BaPtaYEC.js +4 -0
  126. package/components/p-BbQGmZyu.js +4 -0
  127. package/components/p-BcbmT6b3.js +4 -0
  128. package/components/p-BeVlsaLA.js +4 -0
  129. package/components/p-BjW8SOqw.js +4 -0
  130. package/components/p-Bp__mr16.js +4 -0
  131. package/components/p-BqDiJgC_.js +4 -0
  132. package/components/p-BqImG3uk.js +4 -0
  133. package/components/p-BwKpO3Is.js +4 -0
  134. package/components/p-C00Y_WJv.js +4 -0
  135. package/components/p-C0U8YqYW.js +4 -0
  136. package/components/p-C8ktKu9j.js +4 -0
  137. package/components/p-CIoAIKEr.js +4 -0
  138. package/components/p-CKfNwyAb.js +4 -0
  139. package/components/p-CN-WzkJE.js +4 -0
  140. package/components/p-CVBkx7m1.js +4 -0
  141. package/components/p-Cb9imMZh.js +4 -0
  142. package/components/p-Cf9-xP7P.js +4 -0
  143. package/components/{p-Cwv-vmkN.js → p-CjSx8W-k.js} +1 -1
  144. package/components/p-Cmql_g3_.js +4 -0
  145. package/components/p-CoFqDNc5.js +4 -0
  146. package/components/p-CtiqM786.js +4 -0
  147. package/components/p-D1t981Ih.js +4 -0
  148. package/components/p-DAv9P_LE.js +4 -0
  149. package/components/p-DDw-NYxz.js +4 -0
  150. package/components/p-DH_9VCbD.js +4 -0
  151. package/components/p-DTtRWhIZ.js +4 -0
  152. package/components/p-DVcs-2q3.js +4 -0
  153. package/components/p-DXUyXgVL.js +4 -0
  154. package/components/p-DaJxRxSQ.js +4 -0
  155. package/components/p-Dhi5xtNS.js +4 -0
  156. package/components/p-Di5rHO3q.js +4 -0
  157. package/components/p-IMXp2Inn.js +4 -0
  158. package/components/p-TR4ubkPu.js +4 -0
  159. package/components/p-XegQjlzJ.js +4 -0
  160. package/components/p-fIOYmaqA.js +4 -0
  161. package/components/p-lIOqnNXn.js +4 -0
  162. package/{dist/ionic/p-BvFYtOdE.js → components/p-oF-CwZ0b.js} +1 -1
  163. package/components/p-sK-FK9CT.js +4 -0
  164. package/components/p-t98_NeNv.js +4 -0
  165. package/components/p-vCpF32Z7.js +4 -0
  166. package/components/p-vXpMhGrs.js +4 -0
  167. package/components/p-wCDzv5Q8.js +4 -0
  168. package/components/{p-YLXPWgVj.js → p-zWP0sUV_.js} +1 -1
  169. package/css/core.css +1 -1
  170. package/css/core.css.map +1 -1
  171. package/css/display.css +1 -1
  172. package/css/display.css.map +1 -1
  173. package/css/flex-utils.css +1 -1
  174. package/css/flex-utils.css.map +1 -1
  175. package/css/float-elements.css.map +1 -1
  176. package/css/global.bundle.css.map +1 -1
  177. package/css/ionic/bundle.ionic.css +1 -0
  178. package/css/ionic/bundle.ionic.css.map +1 -0
  179. package/css/ionic/core.ionic.css +1 -0
  180. package/css/ionic/core.ionic.css.map +1 -0
  181. package/css/ionic/global.bundle.ionic.css +1 -0
  182. package/css/ionic/global.bundle.ionic.css.map +1 -0
  183. package/css/ionic/ionic-swiper.ionic.css +1 -0
  184. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  185. package/css/ionic/link.ionic.css +1 -0
  186. package/css/ionic/link.ionic.css.map +1 -0
  187. package/css/ionic/structure.ionic.css +1 -0
  188. package/css/ionic/structure.ionic.css.map +1 -0
  189. package/css/ionic/typography.ionic.css +1 -0
  190. package/css/ionic/typography.ionic.css.map +1 -0
  191. package/css/ionic/utils.bundle.ionic.css +1 -0
  192. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  193. package/css/ionic-swiper.css +1 -1
  194. package/css/ionic-swiper.css.map +1 -1
  195. package/css/ionic.bundle.css +1 -1
  196. package/css/ionic.bundle.css.map +1 -1
  197. package/css/normalize.css.map +1 -1
  198. package/css/padding.css.map +1 -1
  199. package/css/palettes/dark.always.css.map +1 -1
  200. package/css/palettes/dark.class.css.map +1 -1
  201. package/css/palettes/dark.system.css.map +1 -1
  202. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  203. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  204. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  205. package/css/palettes/high-contrast.always.css.map +1 -1
  206. package/css/palettes/high-contrast.class.css.map +1 -1
  207. package/css/palettes/high-contrast.system.css.map +1 -1
  208. package/css/structure.css.map +1 -1
  209. package/css/text-alignment.css.map +1 -1
  210. package/css/text-transformation.css.map +1 -1
  211. package/css/typography.css.map +1 -1
  212. package/css/utils.bundle.css +1 -1
  213. package/css/utils.bundle.css.map +1 -1
  214. package/dist/cjs/{animation-Dg4yiuR2.js → animation-DknMeJ3x.js} +3 -3
  215. package/dist/cjs/{app-globals-CLI8xCmk.js → app-globals-DtAeky3x.js} +1 -1
  216. package/dist/cjs/{button-active-FscMI17-.js → button-active-JoIWyYri.js} +2 -2
  217. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-BnRBm_ys.js} +3 -3
  218. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  219. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  220. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  221. package/dist/cjs/config-DWdFbSNK.js +35 -0
  222. package/dist/cjs/{data-BYlBjkMU.js → data-DuOuKG7I.js} +6 -6
  223. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  224. package/dist/cjs/{framework-delegate-CRgp8o_p.js → framework-delegate-Dx9FrqAC.js} +4 -2
  225. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-D3Ay9mmg.js} +1 -1
  226. package/dist/cjs/{helpers-CxTYJdbT.js → helpers-DJYxKN5U.js} +57 -4
  227. package/dist/cjs/{config-BukYi_pW.js → index-BJlwOs11.js} +1 -31
  228. package/dist/cjs/{index-MbaBbWXk.js → index-BJrpF9T3.js} +2 -2
  229. package/dist/cjs/{index-CFUwM5x_.js → index-Cer2Qy4I.js} +15 -15
  230. package/dist/cjs/{index-DqmRDbxg.js → index-CgAbCW6L.js} +2 -0
  231. package/dist/cjs/{index-CqT-2gKy.js → index-CzcLEdQ5.js} +41 -4
  232. package/dist/cjs/{index-YcSftOMz.js → index-DMJjUhXH.js} +9 -8
  233. package/dist/cjs/{index-C845Ti6K.js → index-D_mPAIqF.js} +4 -4
  234. package/dist/cjs/index.cjs.js +16 -16
  235. package/dist/cjs/{input-shims-Dl5cnc_e.js → input-shims-Dn33gFln.js} +18 -17
  236. package/dist/cjs/{input.utils-DmeJ8dmo.js → input.utils-DnVnhWEF.js} +5 -5
  237. package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -29
  238. package/dist/cjs/ion-action-sheet.cjs.entry.js +41 -22
  239. package/dist/cjs/ion-alert.cjs.entry.js +62 -41
  240. package/dist/cjs/ion-app_8.cjs.entry.js +292 -157
  241. package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -13
  242. package/dist/cjs/ion-back-button.cjs.entry.js +31 -22
  243. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
  244. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +54 -18
  245. package/dist/cjs/ion-button_2.cjs.entry.js +59 -22
  246. package/dist/cjs/ion-card_5.cjs.entry.js +55 -33
  247. package/dist/cjs/ion-checkbox.cjs.entry.js +34 -16
  248. package/dist/cjs/ion-chip.cjs.entry.js +50 -9
  249. package/dist/cjs/ion-col_3.cjs.entry.js +56 -57
  250. package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -9
  251. package/dist/cjs/ion-datetime_3.cjs.entry.js +116 -41
  252. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  253. package/dist/cjs/ion-fab_3.cjs.entry.js +44 -28
  254. package/dist/cjs/ion-gallery.cjs.entry.js +330 -0
  255. package/dist/cjs/ion-img.cjs.entry.js +8 -4
  256. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +93 -17
  257. package/dist/cjs/ion-input-otp.cjs.entry.js +74 -9
  258. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +53 -15
  259. package/dist/cjs/ion-input.cjs.entry.js +124 -34
  260. package/dist/cjs/ion-item-option_3.cjs.entry.js +186 -21
  261. package/dist/cjs/ion-item_8.cjs.entry.js +116 -49
  262. package/dist/cjs/ion-loading.cjs.entry.js +22 -19
  263. package/dist/cjs/ion-menu_3.cjs.entry.js +47 -29
  264. package/dist/cjs/ion-modal.cjs.entry.js +262 -138
  265. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
  266. package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
  267. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
  268. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  269. package/dist/cjs/ion-popover.cjs.entry.js +21 -19
  270. package/dist/cjs/ion-progress-bar.cjs.entry.js +27 -9
  271. package/dist/cjs/ion-radio_2.cjs.entry.js +35 -17
  272. package/dist/cjs/ion-range.cjs.entry.js +20 -13
  273. package/dist/cjs/ion-refresher_2.cjs.entry.js +42 -23
  274. package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -14
  275. package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
  276. package/dist/cjs/ion-route_4.cjs.entry.js +10 -9
  277. package/dist/cjs/ion-searchbar.cjs.entry.js +137 -24
  278. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  279. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
  280. package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
  281. package/dist/cjs/ion-select-modal.cjs.entry.js +97 -40
  282. package/dist/cjs/ion-select_3.cjs.entry.js +453 -84
  283. package/dist/cjs/ion-spinner.cjs.entry.js +30 -8
  284. package/dist/cjs/ion-split-pane.cjs.entry.js +13 -9
  285. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +147 -23
  286. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  287. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  288. package/dist/cjs/ion-textarea.cjs.entry.js +137 -23
  289. package/dist/cjs/ion-toast.cjs.entry.js +70 -46
  290. package/dist/cjs/ion-toggle.cjs.entry.js +82 -25
  291. package/dist/cjs/ionic-global-CSEbHD_F.js +519 -0
  292. package/dist/cjs/ionic.cjs.js +4 -4
  293. package/dist/cjs/{ios.transition-trBiC95R.js → ios.transition-UCjoxA3D.js} +7 -5
  294. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Bhav6x-R.js} +4 -3
  295. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Dsczf-iT.js} +1 -1
  296. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-tqGDP9SU.js} +11 -9
  297. package/dist/cjs/list-a-7GSA6K.js +8 -0
  298. package/dist/cjs/loader.cjs.js +4 -4
  299. package/dist/cjs/{md.transition-CUQECuvD.js → md.transition-CNwlchQn.js} +6 -5
  300. package/dist/cjs/{notch-controller-sD-lTpdc.js → notch-controller-CgtkBzy0.js} +4 -4
  301. package/dist/cjs/{overlays-C2jiBSNQ.js → overlays-Hci_7vw_.js} +110 -16
  302. package/dist/cjs/select-option-render-C7klBX2H.js +81 -0
  303. package/dist/cjs/{status-tap-CCJk5VgT.js → status-tap-CTY2dMsZ.js} +4 -3
  304. package/dist/cjs/{swipe-back-BGhTQ1CU.js → swipe-back-jJFi5KCB.js} +3 -2
  305. package/dist/cjs/{theme-CeDs6Hcv.js → theme-IlOsGAz7.js} +25 -1
  306. package/dist/cjs/validity-QmuwEptc.js +51 -0
  307. package/dist/cjs/x-BTF99yFH.js +8 -0
  308. package/dist/collection/collection-manifest.json +7 -0
  309. package/dist/collection/components/accordion/accordion.ionic.css +201 -0
  310. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  311. package/dist/collection/components/accordion/accordion.js +41 -27
  312. package/dist/collection/components/accordion/accordion.md.css +67 -59
  313. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  314. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  315. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  316. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  317. package/dist/collection/components/action-sheet/action-sheet.ionic.css +834 -0
  318. package/dist/collection/components/action-sheet/action-sheet.ios.css +102 -6
  319. package/dist/collection/components/action-sheet/action-sheet.js +32 -13
  320. package/dist/collection/components/action-sheet/action-sheet.md.css +101 -5
  321. package/dist/collection/components/alert/alert.ionic.css +1165 -0
  322. package/dist/collection/components/alert/alert.ios.css +102 -1
  323. package/dist/collection/components/alert/alert.js +51 -30
  324. package/dist/collection/components/alert/alert.md.css +102 -1
  325. package/dist/collection/components/app/app.js +15 -83
  326. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  327. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  328. package/dist/collection/components/avatar/avatar.js +120 -4
  329. package/dist/collection/components/avatar/avatar.md.css +51 -0
  330. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  331. package/dist/collection/components/back-button/back-button.js +27 -19
  332. package/dist/collection/components/back-button/back-button.md.css +60 -48
  333. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  334. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  335. package/dist/collection/components/backdrop/backdrop.js +12 -6
  336. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  337. package/dist/collection/components/badge/badge.ionic.css +275 -0
  338. package/dist/collection/components/badge/badge.ios.css +139 -12
  339. package/dist/collection/components/badge/badge.js +145 -9
  340. package/dist/collection/components/badge/badge.md.css +123 -12
  341. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  342. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  343. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  344. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  345. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  346. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  347. package/dist/collection/components/button/button.ionic.css +646 -0
  348. package/dist/collection/components/button/button.ios.css +154 -46
  349. package/dist/collection/components/button/button.js +63 -27
  350. package/dist/collection/components/button/button.md.css +150 -50
  351. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  352. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  353. package/dist/collection/components/buttons/buttons.js +15 -9
  354. package/dist/collection/components/buttons/buttons.md.css +55 -3
  355. package/dist/collection/components/card/card.ionic.css +144 -0
  356. package/dist/collection/components/card/card.ios.css +65 -14
  357. package/dist/collection/components/card/card.js +41 -10
  358. package/dist/collection/components/card/card.md.css +65 -14
  359. package/dist/collection/components/card-content/card-content.ionic.css +89 -0
  360. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  361. package/dist/collection/components/card-content/card-content.js +12 -10
  362. package/dist/collection/components/card-content/card-content.md.css +20 -35
  363. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  364. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  365. package/dist/collection/components/card-header/card-header.js +13 -10
  366. package/dist/collection/components/card-header/card-header.md.css +27 -15
  367. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  368. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  369. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  370. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  371. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  372. package/dist/collection/components/card-title/card-title.js +11 -8
  373. package/dist/collection/components/card-title/card-title.md.css +73 -0
  374. package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
  375. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  376. package/dist/collection/components/checkbox/checkbox.js +70 -14
  377. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  378. package/dist/collection/components/chip/chip.ionic.css +217 -0
  379. package/dist/collection/components/chip/chip.ios.css +67 -14
  380. package/dist/collection/components/chip/chip.js +108 -8
  381. package/dist/collection/components/chip/chip.md.css +67 -14
  382. package/dist/collection/components/col/col.css +192 -4
  383. package/dist/collection/components/col/col.js +211 -61
  384. package/dist/collection/components/content/content.css +8 -2
  385. package/dist/collection/components/content/content.js +16 -11
  386. package/dist/collection/components/datetime/datetime.ionic.css +703 -0
  387. package/dist/collection/components/datetime/datetime.ios.css +302 -106
  388. package/dist/collection/components/datetime/datetime.js +98 -20
  389. package/dist/collection/components/datetime/datetime.md.css +293 -96
  390. package/dist/collection/components/datetime/utils/data.js +5 -5
  391. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  392. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  393. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  394. package/dist/collection/components/divider/divider.ionic.css +148 -0
  395. package/dist/collection/components/divider/divider.ios.css +87 -0
  396. package/dist/collection/components/divider/divider.js +94 -0
  397. package/dist/collection/components/divider/divider.md.css +87 -0
  398. package/dist/collection/components/fab/fab.css +25 -1
  399. package/dist/collection/components/fab/fab.js +9 -5
  400. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  401. package/dist/collection/components/fab-button/fab-button.js +36 -21
  402. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  403. package/dist/collection/components/fab-list/fab-list.css +12 -0
  404. package/dist/collection/components/fab-list/fab-list.js +9 -5
  405. package/dist/collection/components/footer/footer.ios.css +14 -2
  406. package/dist/collection/components/footer/footer.js +21 -16
  407. package/dist/collection/components/footer/footer.md.css +12 -0
  408. package/dist/collection/components/gallery/gallery-interface.js +1 -0
  409. package/dist/collection/components/gallery/gallery.css +38 -0
  410. package/dist/collection/components/gallery/gallery.js +421 -0
  411. package/dist/collection/components/gallery/test/utils.js +100 -0
  412. package/dist/collection/components/grid/grid.css +12 -0
  413. package/dist/collection/components/grid/grid.js +9 -5
  414. package/dist/collection/components/header/header.ionic.css +97 -0
  415. package/dist/collection/components/header/header.ios.css +25 -10
  416. package/dist/collection/components/header/header.js +50 -19
  417. package/dist/collection/components/header/header.md.css +23 -8
  418. package/dist/collection/components/header/header.utils.js +5 -5
  419. package/dist/collection/components/img/img.js +8 -2
  420. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  421. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  422. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  423. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  424. package/dist/collection/components/input/input.ionic.css +889 -0
  425. package/dist/collection/components/input/input.ios.css +223 -135
  426. package/dist/collection/components/input/input.js +148 -37
  427. package/dist/collection/components/input/input.md.css +193 -207
  428. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  429. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  430. package/dist/collection/components/input-otp/input-otp.js +73 -6
  431. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  432. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  433. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  434. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  435. package/dist/collection/components/item/item.ionic.css +508 -0
  436. package/dist/collection/components/item/item.ios.css +109 -69
  437. package/dist/collection/components/item/item.js +51 -20
  438. package/dist/collection/components/item/item.md.css +120 -68
  439. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  440. package/dist/collection/components/item-divider/item-divider.js +11 -8
  441. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  442. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  443. package/dist/collection/components/item-group/item-group.js +13 -7
  444. package/dist/collection/components/item-group/item-group.md.css +12 -0
  445. package/dist/collection/components/item-option/item-option.ionic.css +278 -0
  446. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  447. package/dist/collection/components/item-option/item-option.js +73 -9
  448. package/dist/collection/components/item-option/item-option.md.css +136 -29
  449. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  450. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  451. package/dist/collection/components/item-options/item-options.js +13 -7
  452. package/dist/collection/components/item-options/item-options.md.css +77 -34
  453. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  454. package/dist/collection/components/item-sliding/item-sliding.js +144 -4
  455. package/dist/collection/components/label/label.ios.css +18 -0
  456. package/dist/collection/components/label/label.js +11 -8
  457. package/dist/collection/components/label/label.md.css +18 -0
  458. package/dist/collection/components/list/list.ionic.css +212 -0
  459. package/dist/collection/components/list/list.ios.css +54 -14
  460. package/dist/collection/components/list/list.js +48 -9
  461. package/dist/collection/components/list/list.md.css +56 -16
  462. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  463. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  464. package/dist/collection/components/list-header/list-header.js +11 -8
  465. package/dist/collection/components/list-header/list-header.md.css +82 -38
  466. package/dist/collection/components/loading/loading.ios.css +13 -1
  467. package/dist/collection/components/loading/loading.js +14 -11
  468. package/dist/collection/components/loading/loading.md.css +13 -1
  469. package/dist/collection/components/menu/menu.ios.css +15 -3
  470. package/dist/collection/components/menu/menu.js +12 -7
  471. package/dist/collection/components/menu/menu.md.css +15 -3
  472. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  473. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  474. package/dist/collection/components/menu-button/menu-button.js +26 -10
  475. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  476. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  477. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  478. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  479. package/dist/collection/components/modal/animations/sheet.js +8 -2
  480. package/dist/collection/components/modal/gestures/sheet.js +76 -10
  481. package/dist/collection/components/modal/modal.ionic.css +247 -0
  482. package/dist/collection/components/modal/modal.ios.css +178 -70
  483. package/dist/collection/components/modal/modal.js +50 -12
  484. package/dist/collection/components/modal/modal.md.css +178 -70
  485. package/dist/collection/components/nav/nav.css +7 -1
  486. package/dist/collection/components/nav/nav.js +11 -5
  487. package/dist/collection/components/nav-link/nav-link.js +5 -1
  488. package/dist/collection/components/note/note.ios.css +12 -0
  489. package/dist/collection/components/note/note.js +11 -8
  490. package/dist/collection/components/note/note.md.css +12 -0
  491. package/dist/collection/components/picker/picker.ios.css +15 -3
  492. package/dist/collection/components/picker/picker.js +8 -5
  493. package/dist/collection/components/picker/picker.md.css +15 -3
  494. package/dist/collection/components/picker-column/picker-column.css +9 -2
  495. package/dist/collection/components/picker-column/picker-column.js +8 -7
  496. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  497. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  498. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  499. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  500. package/dist/collection/components/picker-legacy/picker.js +7 -6
  501. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  502. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  503. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  504. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  505. package/dist/collection/components/popover/popover.ionic.css +290 -0
  506. package/dist/collection/components/popover/popover.ios.css +29 -1
  507. package/dist/collection/components/popover/popover.js +18 -15
  508. package/dist/collection/components/popover/popover.md.css +29 -1
  509. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  510. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  511. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  512. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  513. package/dist/collection/components/radio/radio.ionic.css +422 -0
  514. package/dist/collection/components/radio/radio.ios.css +134 -91
  515. package/dist/collection/components/radio/radio.js +14 -9
  516. package/dist/collection/components/radio/radio.md.css +134 -91
  517. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  518. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  519. package/dist/collection/components/radio-group/radio-group.js +48 -7
  520. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  521. package/dist/collection/components/range/range.ionic.css +567 -0
  522. package/dist/collection/components/range/range.ios.css +128 -85
  523. package/dist/collection/components/range/range.js +16 -10
  524. package/dist/collection/components/range/range.md.css +128 -85
  525. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  526. package/dist/collection/components/refresher/refresher.js +11 -8
  527. package/dist/collection/components/refresher/refresher.md.css +15 -2
  528. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  529. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  530. package/dist/collection/components/reorder/reorder.js +33 -6
  531. package/dist/collection/components/reorder/reorder.md.css +6 -0
  532. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  533. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  534. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  535. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  536. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  537. package/dist/collection/components/route/route.js +4 -0
  538. package/dist/collection/components/router/router.js +4 -0
  539. package/dist/collection/components/router-link/router-link.css +8 -2
  540. package/dist/collection/components/router-link/router-link.js +9 -5
  541. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  542. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  543. package/dist/collection/components/row/row.css +16 -0
  544. package/dist/collection/components/row/row.js +9 -2
  545. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  546. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  547. package/dist/collection/components/searchbar/searchbar.js +180 -33
  548. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  549. package/dist/collection/components/segment/segment.ionic.css +115 -0
  550. package/dist/collection/components/segment/segment.ios.css +45 -2
  551. package/dist/collection/components/segment/segment.js +11 -8
  552. package/dist/collection/components/segment/segment.md.css +45 -2
  553. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  554. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  555. package/dist/collection/components/segment-button/segment-button.js +11 -8
  556. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  557. package/dist/collection/components/segment-content/segment-content.js +1 -1
  558. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  559. package/dist/collection/components/segment-view/segment-view.js +6 -4
  560. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  561. package/dist/collection/components/select/select.ionic.css +810 -0
  562. package/dist/collection/components/select/select.ios.css +348 -176
  563. package/dist/collection/components/select/select.js +434 -66
  564. package/dist/collection/components/select/select.md.css +364 -178
  565. package/dist/collection/components/select-modal/select-modal.ionic.css +154 -0
  566. package/dist/collection/components/select-modal/select-modal.ios.css +95 -0
  567. package/dist/collection/components/select-modal/select-modal.js +109 -32
  568. package/dist/collection/components/select-modal/select-modal.md.css +83 -0
  569. package/dist/collection/components/select-option/select-option.js +32 -2
  570. package/dist/collection/components/select-popover/select-popover.ionic.css +499 -0
  571. package/dist/collection/components/select-popover/select-popover.ios.css +100 -0
  572. package/dist/collection/components/select-popover/select-popover.js +72 -31
  573. package/dist/collection/components/select-popover/select-popover.md.css +100 -0
  574. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  575. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  576. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  577. package/dist/collection/components/spinner/spinner.js +47 -6
  578. package/dist/collection/components/spinner/spinner.native.css +199 -0
  579. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  580. package/dist/collection/components/split-pane/split-pane.js +15 -8
  581. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  582. package/dist/collection/components/tab/tab.js +6 -2
  583. package/dist/collection/components/tab-bar/tab-bar.ionic.css +227 -0
  584. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  585. package/dist/collection/components/tab-bar/tab-bar.js +171 -13
  586. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  587. package/dist/collection/components/tab-button/tab-button.ionic.css +348 -0
  588. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  589. package/dist/collection/components/tab-button/tab-button.js +54 -9
  590. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  591. package/dist/collection/components/tabs/tabs.css +7 -1
  592. package/dist/collection/components/tabs/tabs.js +4 -1
  593. package/dist/collection/components/text/text.css +6 -0
  594. package/dist/collection/components/text/text.js +7 -6
  595. package/dist/collection/components/textarea/textarea.ionic.css +898 -0
  596. package/dist/collection/components/textarea/textarea.ios.css +298 -158
  597. package/dist/collection/components/textarea/textarea.js +162 -24
  598. package/dist/collection/components/textarea/textarea.md.css +312 -159
  599. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  600. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  601. package/dist/collection/components/title/title.ionic.css +127 -0
  602. package/dist/collection/components/title/title.ios.css +32 -4
  603. package/dist/collection/components/title/title.js +13 -7
  604. package/dist/collection/components/title/title.md.css +32 -4
  605. package/dist/collection/components/toast/animations/utils.js +1 -1
  606. package/dist/collection/components/toast/toast.ionic.css +394 -0
  607. package/dist/collection/components/toast/toast.ios.css +84 -45
  608. package/dist/collection/components/toast/toast.js +76 -13
  609. package/dist/collection/components/toast/toast.md.css +84 -45
  610. package/dist/collection/components/toggle/toggle.ionic.css +508 -0
  611. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  612. package/dist/collection/components/toggle/toggle.js +73 -18
  613. package/dist/collection/components/toggle/toggle.md.css +244 -131
  614. package/dist/collection/components/toolbar/test/image.svg +1 -0
  615. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  616. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  617. package/dist/collection/components/toolbar/toolbar.js +218 -13
  618. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  619. package/dist/collection/global/ionic-global.js +241 -13
  620. package/dist/collection/utils/focus-trap.js +13 -2
  621. package/dist/collection/utils/focus-visible.js +22 -0
  622. package/dist/collection/utils/forms/validity.js +31 -0
  623. package/dist/collection/utils/framework-delegate.js +3 -1
  624. package/dist/collection/utils/hardware-back-button.js +15 -0
  625. package/dist/collection/utils/helpers.js +57 -3
  626. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  627. package/dist/collection/utils/media.js +1 -0
  628. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  629. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  630. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  631. package/dist/collection/utils/overlays.js +91 -6
  632. package/dist/collection/utils/select-option-render.js +76 -0
  633. package/dist/collection/utils/test/playwright/drag-element.js +3 -4
  634. package/dist/collection/utils/test/playwright/generator.js +48 -23
  635. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  636. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  637. package/dist/collection/utils/theme.js +25 -1
  638. package/dist/collection/utils/transition/ios.transition.js +1 -0
  639. package/dist/docs.json +8781 -283
  640. package/dist/esm/{animation-CnGMT4ji.js → animation-Cqe2x-Pt.js} +2 -2
  641. package/dist/esm/{app-globals-DhZjtldk.js → app-globals-Dk1rB3aE.js} +1 -1
  642. package/dist/esm/{button-active-BBx21brx.js → button-active-g6ZnZzDZ.js} +2 -2
  643. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-C4lYa1nV.js} +1 -1
  644. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  645. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  646. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  647. package/dist/esm/config-BwKpO3Is.js +31 -0
  648. package/dist/esm/{data-B9iGR5YO.js → data-BNKYavC3.js} +6 -6
  649. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  650. package/dist/esm/{framework-delegate-CyxE1S_P.js → framework-delegate-CjVwn_KZ.js} +4 -2
  651. package/dist/esm/{haptic-DzAMWJuk.js → haptic-_88k1V5U.js} +1 -1
  652. package/dist/esm/{helpers-Tl8jw6S2.js → helpers-Do7zwvM1.js} +58 -5
  653. package/dist/esm/{index-hW6eNZ3o.js → index-BmkLokUL.js} +2 -2
  654. package/dist/esm/{index-BtUdxPjv.js → index-C5t9-ciC.js} +4 -3
  655. package/dist/esm/{index-B-hkiOUh.js → index-CGthURny.js} +4 -4
  656. package/dist/esm/{index-DV3sJJW8.js → index-D2tu5BUg.js} +2 -1
  657. package/dist/esm/{config-TO1rZH52.js → index-D4ugF_sT.js} +2 -29
  658. package/dist/esm/{index-IGIE5vDm.js → index-Omi_TcwW.js} +41 -4
  659. package/dist/esm/{index-B2KwgBLx.js → index-hpH08p5s.js} +11 -11
  660. package/dist/esm/index.js +14 -14
  661. package/dist/esm/{input-shims-AaDhOpKN.js → input-shims-vDjCsx95.js} +7 -6
  662. package/dist/esm/{input.utils-Bxa_DQ7-.js → input.utils-B9Q5xHp6.js} +3 -3
  663. package/dist/esm/ion-accordion_2.entry.js +61 -29
  664. package/dist/esm/ion-action-sheet.entry.js +41 -22
  665. package/dist/esm/ion-alert.entry.js +61 -40
  666. package/dist/esm/ion-app_8.entry.js +292 -157
  667. package/dist/esm/ion-avatar_3.entry.js +125 -13
  668. package/dist/esm/ion-back-button.entry.js +31 -22
  669. package/dist/esm/ion-backdrop.entry.js +10 -7
  670. package/dist/esm/ion-breadcrumb_2.entry.js +54 -18
  671. package/dist/esm/ion-button_2.entry.js +59 -22
  672. package/dist/esm/ion-card_5.entry.js +55 -33
  673. package/dist/esm/ion-checkbox.entry.js +34 -16
  674. package/dist/esm/ion-chip.entry.js +50 -9
  675. package/dist/esm/ion-col_3.entry.js +56 -57
  676. package/dist/esm/ion-datetime-button.entry.js +13 -9
  677. package/dist/esm/ion-datetime_3.entry.js +116 -41
  678. package/dist/esm/ion-divider.entry.js +49 -0
  679. package/dist/esm/ion-fab_3.entry.js +44 -28
  680. package/dist/esm/ion-gallery.entry.js +328 -0
  681. package/dist/esm/ion-img.entry.js +8 -4
  682. package/dist/esm/ion-infinite-scroll_2.entry.js +92 -16
  683. package/dist/esm/ion-input-otp.entry.js +74 -9
  684. package/dist/esm/ion-input-password-toggle.entry.js +53 -15
  685. package/dist/esm/ion-input.entry.js +124 -34
  686. package/dist/esm/ion-item-option_3.entry.js +186 -21
  687. package/dist/esm/ion-item_8.entry.js +116 -49
  688. package/dist/esm/ion-loading.entry.js +21 -18
  689. package/dist/esm/ion-menu_3.entry.js +47 -29
  690. package/dist/esm/ion-modal.entry.js +215 -91
  691. package/dist/esm/ion-nav_2.entry.js +14 -11
  692. package/dist/esm/ion-picker-column-option.entry.js +12 -8
  693. package/dist/esm/ion-picker-column.entry.js +13 -13
  694. package/dist/esm/ion-picker.entry.js +10 -6
  695. package/dist/esm/ion-popover.entry.js +21 -19
  696. package/dist/esm/ion-progress-bar.entry.js +27 -9
  697. package/dist/esm/ion-radio_2.entry.js +35 -17
  698. package/dist/esm/ion-range.entry.js +20 -13
  699. package/dist/esm/ion-refresher_2.entry.js +40 -21
  700. package/dist/esm/ion-reorder_2.entry.js +38 -14
  701. package/dist/esm/ion-ripple-effect.entry.js +15 -7
  702. package/dist/esm/ion-route_4.entry.js +10 -9
  703. package/dist/esm/ion-searchbar.entry.js +137 -24
  704. package/dist/esm/ion-segment-content.entry.js +2 -2
  705. package/dist/esm/ion-segment-view.entry.js +6 -3
  706. package/dist/esm/ion-segment_2.entry.js +23 -16
  707. package/dist/esm/ion-select-modal.entry.js +97 -40
  708. package/dist/esm/ion-select_3.entry.js +453 -84
  709. package/dist/esm/ion-spinner.entry.js +30 -8
  710. package/dist/esm/ion-split-pane.entry.js +13 -9
  711. package/dist/esm/ion-tab-bar_2.entry.js +147 -23
  712. package/dist/esm/ion-tab_2.entry.js +8 -7
  713. package/dist/esm/ion-text.entry.js +7 -7
  714. package/dist/esm/ion-textarea.entry.js +137 -23
  715. package/dist/esm/ion-toast.entry.js +45 -21
  716. package/dist/esm/ion-toggle.entry.js +82 -25
  717. package/dist/esm/ionic-global-CAZb-5i-.js +508 -0
  718. package/dist/esm/ionic.js +5 -5
  719. package/dist/esm/{ios.transition--aMF-pDH.js → ios.transition-CzSncKQg.js} +7 -5
  720. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Cpw6xVLJ.js} +1 -1
  721. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-DJpS2IGK.js} +4 -3
  722. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-CAc33ylR.js} +5 -3
  723. package/dist/esm/list-Dhi5xtNS.js +6 -0
  724. package/dist/esm/loader.js +5 -5
  725. package/dist/esm/{md.transition-BEVbfm8j.js → md.transition-DIsWqYBZ.js} +6 -5
  726. package/dist/esm/{notch-controller-DAcvKU57.js → notch-controller-DiBq57w8.js} +2 -2
  727. package/dist/esm/{overlays-F8GHPo-e.js → overlays-rwDDzEs4.js} +107 -13
  728. package/dist/esm/select-option-render-B2qc5ZP7.js +79 -0
  729. package/dist/esm/{status-tap-BfJqFSLF.js → status-tap-fYFdZg6z.js} +4 -3
  730. package/dist/esm/{swipe-back-BZBFwTQV.js → swipe-back-BzGqTrrq.js} +3 -2
  731. package/dist/esm/{theme-DiVJyqlX.js → theme-DaJxRxSQ.js} +25 -1
  732. package/dist/esm/validity-BjW8SOqw.js +48 -0
  733. package/dist/esm/x-BDqjX7Z_.js +6 -0
  734. package/dist/html.html-data.json +2551 -117
  735. package/dist/ionic/index.esm.js +1 -1
  736. package/dist/ionic/ionic.esm.js +1 -1
  737. package/dist/ionic/p-00c0bd38.entry.js +4 -0
  738. package/dist/ionic/p-05a30032.entry.js +4 -0
  739. package/dist/ionic/p-07d3388f.entry.js +4 -0
  740. package/dist/ionic/p-11nqcMM3.js +4 -0
  741. package/dist/ionic/p-139d02eb.entry.js +4 -0
  742. package/dist/ionic/p-15e3e8f5.entry.js +4 -0
  743. package/dist/ionic/p-1709b0aa.entry.js +4 -0
  744. package/dist/ionic/p-1c2c1869.entry.js +4 -0
  745. package/dist/ionic/p-1c4de46b.entry.js +4 -0
  746. package/dist/ionic/p-1e1c8d61.entry.js +4 -0
  747. package/dist/ionic/p-2311e660.entry.js +4 -0
  748. package/dist/ionic/p-2aa7567e.entry.js +4 -0
  749. package/dist/ionic/p-2ad79c23.entry.js +4 -0
  750. package/dist/ionic/p-2f0073af.entry.js +4 -0
  751. package/dist/ionic/p-37ccbee4.entry.js +4 -0
  752. package/dist/ionic/p-3aba19e2.entry.js +4 -0
  753. package/dist/ionic/p-3f79f594.entry.js +4 -0
  754. package/dist/ionic/p-4079cee3.entry.js +4 -0
  755. package/dist/ionic/p-45825c2c.entry.js +4 -0
  756. package/dist/ionic/p-48026d15.entry.js +4 -0
  757. package/dist/ionic/p-488992b6.entry.js +4 -0
  758. package/dist/ionic/p-4a0260e6.entry.js +4 -0
  759. package/dist/ionic/p-50b61fab.entry.js +4 -0
  760. package/dist/ionic/p-50cd2d57.entry.js +4 -0
  761. package/dist/ionic/p-5274f999.entry.js +4 -0
  762. package/dist/ionic/p-586d4270.entry.js +4 -0
  763. package/dist/ionic/p-68c21b2a.entry.js +4 -0
  764. package/dist/ionic/p-6fbead83.entry.js +4 -0
  765. package/dist/ionic/p-7194f6fa.entry.js +4 -0
  766. package/dist/ionic/p-71b6014c.entry.js +4 -0
  767. package/dist/ionic/p-72491468.entry.js +4 -0
  768. package/dist/ionic/p-7d267dc6.entry.js +4 -0
  769. package/dist/ionic/p-7d5057c4.entry.js +4 -0
  770. package/dist/ionic/p-83c693c4.entry.js +4 -0
  771. package/dist/ionic/p-8537b2fb.entry.js +4 -0
  772. package/dist/ionic/p-8f127a9c.entry.js +4 -0
  773. package/dist/ionic/p-8uDL7fql.js +4 -0
  774. package/dist/ionic/p-9d789053.entry.js +4 -0
  775. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  776. package/dist/ionic/p-BYSs-jZz.js +4 -0
  777. package/dist/ionic/p-BjW8SOqw.js +4 -0
  778. package/{components/p-9VcRUwdB.js → dist/ionic/p-BsfuYVMP.js} +1 -1
  779. package/dist/ionic/p-BwKpO3Is.js +4 -0
  780. package/dist/ionic/p-Bx0bt2Ar.js +4 -0
  781. package/dist/ionic/p-C2mpVKI1.js +4 -0
  782. package/dist/ionic/p-C4uUM9DM.js +4 -0
  783. package/dist/ionic/p-C5zxLmJ_.js +4 -0
  784. package/{components/p-BS1TtEiJ.js → dist/ionic/p-C8IHbcuP.js} +1 -1
  785. package/dist/ionic/p-CBV-BGvD.js +4 -0
  786. package/dist/ionic/p-CDn0uNJA.js +4 -0
  787. package/dist/ionic/p-CFjI63GE.js +4 -0
  788. package/dist/ionic/p-CHE1xWbg.js +4 -0
  789. package/dist/ionic/p-CIk5QtPm.js +4 -0
  790. package/dist/ionic/p-CQKe4n56.js +4 -0
  791. package/dist/ionic/p-CVp2D--1.js +4 -0
  792. package/dist/ionic/p-CWJdc8f_.js +4 -0
  793. package/dist/ionic/p-CXqdKf1K.js +4 -0
  794. package/dist/ionic/p-Cb-0O4h8.js +4 -0
  795. package/dist/ionic/{p-CKvCXMs9.js → p-CbkICFBN.js} +1 -1
  796. package/dist/ionic/p-D1t981Ih.js +4 -0
  797. package/dist/ionic/p-D2tu5BUg.js +4 -0
  798. package/dist/ionic/{p-B8xlpH8p.js → p-DKWXAwlR.js} +1 -1
  799. package/dist/ionic/p-DaJxRxSQ.js +4 -0
  800. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  801. package/dist/ionic/p-DoyDJ2X5.js +4 -0
  802. package/dist/ionic/p-FvDKM4Ax.js +4 -0
  803. package/dist/ionic/p-Omi_TcwW.js +5 -0
  804. package/{components/p-D13Eaw-8.js → dist/ionic/p-SJmaFQ0H.js} +1 -1
  805. package/dist/ionic/p-SOASChNu.js +4 -0
  806. package/dist/ionic/{p-DjriolRs.js → p-ZqkJDyhe.js} +1 -1
  807. package/dist/ionic/p-a9fb086b.entry.js +4 -0
  808. package/dist/ionic/p-acdc21a6.entry.js +4 -0
  809. package/dist/ionic/p-ae667493.entry.js +4 -0
  810. package/dist/ionic/p-b2fe6c1c.entry.js +4 -0
  811. package/dist/ionic/p-b3c9f19c.entry.js +4 -0
  812. package/dist/ionic/p-b653f4c2.entry.js +4 -0
  813. package/dist/ionic/p-bd71a4a7.entry.js +4 -0
  814. package/dist/ionic/p-bdfd1761.entry.js +4 -0
  815. package/dist/ionic/p-bf972309.entry.js +4 -0
  816. package/dist/ionic/p-c10fa162.entry.js +4 -0
  817. package/dist/ionic/p-d4ed5710.entry.js +4 -0
  818. package/dist/ionic/p-d6299c37.entry.js +4 -0
  819. package/dist/ionic/p-d976e777.entry.js +4 -0
  820. package/dist/ionic/p-e18d3fdb.entry.js +4 -0
  821. package/dist/ionic/p-e3abffbe.entry.js +4 -0
  822. package/dist/ionic/p-f02ba305.entry.js +4 -0
  823. package/dist/ionic/p-f85942f8.entry.js +4 -0
  824. package/dist/ionic/p-fIOYmaqA.js +4 -0
  825. package/dist/ionic/p-fad05840.entry.js +4 -0
  826. package/dist/ionic/p-qETiT38a.js +4 -0
  827. package/dist/ionic/p-vXpMhGrs.js +4 -0
  828. package/dist/types/components/accordion/accordion.d.ts +6 -3
  829. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  830. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  831. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  832. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  833. package/dist/types/components/alert/alert.d.ts +3 -2
  834. package/dist/types/components/app/app.d.ts +4 -5
  835. package/dist/types/components/avatar/avatar.d.ts +32 -0
  836. package/dist/types/components/back-button/back-button.d.ts +2 -1
  837. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  838. package/dist/types/components/badge/badge.d.ts +34 -1
  839. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  840. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  841. package/dist/types/components/button/button.d.ts +23 -8
  842. package/dist/types/components/buttons/buttons.d.ts +5 -1
  843. package/dist/types/components/card/card.d.ts +8 -1
  844. package/dist/types/components/card-content/card-content.d.ts +2 -1
  845. package/dist/types/components/card-header/card-header.d.ts +3 -2
  846. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  847. package/dist/types/components/card-title/card-title.d.ts +2 -1
  848. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  849. package/dist/types/components/chip/chip.d.ts +26 -1
  850. package/dist/types/components/col/col.d.ts +52 -5
  851. package/dist/types/components/content/content.d.ts +3 -0
  852. package/dist/types/components/datetime/datetime.d.ts +26 -1
  853. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  854. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  855. package/dist/types/components/divider/divider.d.ts +20 -0
  856. package/dist/types/components/fab/fab.d.ts +4 -0
  857. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  858. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  859. package/dist/types/components/footer/footer.d.ts +4 -3
  860. package/dist/types/components/gallery/gallery-interface.d.ts +9 -0
  861. package/dist/types/components/gallery/gallery.d.ts +125 -0
  862. package/dist/types/components/gallery/test/utils.d.ts +2 -0
  863. package/dist/types/components/grid/grid.d.ts +4 -0
  864. package/dist/types/components/header/header.d.ts +9 -3
  865. package/dist/types/components/header/header.utils.d.ts +3 -3
  866. package/dist/types/components/img/img.d.ts +3 -0
  867. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  868. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  869. package/dist/types/components/input/input.d.ts +31 -5
  870. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  871. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  872. package/dist/types/components/item/item.d.ts +11 -4
  873. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  874. package/dist/types/components/item-group/item-group.d.ts +4 -0
  875. package/dist/types/components/item-option/item-option.d.ts +18 -1
  876. package/dist/types/components/item-options/item-options.d.ts +4 -0
  877. package/dist/types/components/item-sliding/item-sliding.d.ts +32 -1
  878. package/dist/types/components/label/label.d.ts +2 -1
  879. package/dist/types/components/list/list.d.ts +15 -1
  880. package/dist/types/components/list-header/list-header.d.ts +2 -1
  881. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  882. package/dist/types/components/loading/loading.d.ts +3 -2
  883. package/dist/types/components/menu/menu.d.ts +3 -0
  884. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  885. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  886. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  887. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  888. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  889. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  890. package/dist/types/components/modal/modal.d.ts +11 -1
  891. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  892. package/dist/types/components/nav/nav.d.ts +5 -1
  893. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  894. package/dist/types/components/note/note.d.ts +2 -1
  895. package/dist/types/components/picker/picker.d.ts +2 -1
  896. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  897. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  898. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  899. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  900. package/dist/types/components/popover/popover.d.ts +6 -5
  901. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  902. package/dist/types/components/radio/radio.d.ts +2 -1
  903. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  904. package/dist/types/components/range/range.d.ts +2 -1
  905. package/dist/types/components/refresher/refresher.d.ts +2 -1
  906. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  907. package/dist/types/components/reorder/reorder.d.ts +9 -0
  908. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  909. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  910. package/dist/types/components/route/route.d.ts +4 -0
  911. package/dist/types/components/router/router.d.ts +4 -0
  912. package/dist/types/components/router-link/router-link.d.ts +4 -0
  913. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  914. package/dist/types/components/row/row.d.ts +4 -0
  915. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  916. package/dist/types/components/segment/segment.d.ts +2 -1
  917. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  918. package/dist/types/components/select/select-interface.d.ts +23 -0
  919. package/dist/types/components/select/select.d.ts +66 -13
  920. package/dist/types/components/select-modal/select-modal.d.ts +8 -0
  921. package/dist/types/components/select-option/select-option.d.ts +12 -0
  922. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  923. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  924. package/dist/types/components/spinner/spinner.d.ts +15 -0
  925. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  926. package/dist/types/components/tab/tab.d.ts +4 -0
  927. package/dist/types/components/tab-bar/tab-bar.d.ts +37 -2
  928. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  929. package/dist/types/components/tabs/tabs.d.ts +3 -0
  930. package/dist/types/components/text/text.d.ts +2 -1
  931. package/dist/types/components/textarea/textarea.d.ts +53 -4
  932. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  933. package/dist/types/components/title/title.d.ts +4 -0
  934. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  935. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  936. package/dist/types/components/toast/toast.d.ts +19 -2
  937. package/dist/types/components/toggle/toggle.d.ts +15 -1
  938. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  939. package/dist/types/components.d.ts +1793 -206
  940. package/dist/types/global/ionic-global.d.ts +28 -2
  941. package/dist/types/interface.d.ts +3 -0
  942. package/dist/types/utils/config.d.ts +106 -2
  943. package/dist/types/utils/focus-trap.d.ts +1 -1
  944. package/dist/types/utils/focus-visible.d.ts +13 -0
  945. package/dist/types/utils/forms/validity.d.ts +7 -0
  946. package/dist/types/utils/helpers.d.ts +11 -0
  947. package/dist/types/utils/overlays-interface.d.ts +31 -1
  948. package/dist/types/utils/overlays.d.ts +1 -1
  949. package/dist/types/utils/select-option-render.d.ts +22 -0
  950. package/dist/types/utils/test/playwright/drag-element.d.ts +1 -1
  951. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  952. package/dist/types/utils/theme.d.ts +9 -0
  953. package/hydrate/index.js +4682 -1301
  954. package/hydrate/index.mjs +4682 -1301
  955. package/package.json +8 -4
  956. package/components/p-1KVKSLu5.js +0 -4
  957. package/components/p-B6FQ0cKR.js +0 -4
  958. package/components/p-B6HaBl3o.js +0 -4
  959. package/components/p-B8b1Ukl9.js +0 -4
  960. package/components/p-BGHGpkPX.js +0 -4
  961. package/components/p-BJoMtgfR.js +0 -4
  962. package/components/p-BNAG-aVv.js +0 -4
  963. package/components/p-BR3tZJmu.js +0 -4
  964. package/components/p-BSB38Tek.js +0 -4
  965. package/components/p-BTeL5HCK.js +0 -4
  966. package/components/p-BUbsoBOV.js +0 -4
  967. package/components/p-BYDc3hSE.js +0 -4
  968. package/components/p-BagjAGC0.js +0 -4
  969. package/components/p-BegtE7nr.js +0 -4
  970. package/components/p-BgwEQWW6.js +0 -4
  971. package/components/p-BlNv564p.js +0 -4
  972. package/components/p-BmVRXR1y.js +0 -4
  973. package/components/p-BxwWvu-b.js +0 -4
  974. package/components/p-C4jPsTQa.js +0 -4
  975. package/components/p-C59ryAuS.js +0 -4
  976. package/components/p-CBzELu-H.js +0 -4
  977. package/components/p-CDfQnFrd.js +0 -4
  978. package/components/p-CH0NYjKq.js +0 -4
  979. package/components/p-CIGNaXM1.js +0 -4
  980. package/components/p-CO7fmmxt.js +0 -4
  981. package/components/p-CU1SSH8_.js +0 -4
  982. package/components/p-CgfaEEem.js +0 -4
  983. package/components/p-CgqKJg96.js +0 -4
  984. package/components/p-CneGxKsZ.js +0 -4
  985. package/components/p-CoA-aqGF.js +0 -4
  986. package/components/p-Cq8cQ0NL.js +0 -4
  987. package/components/p-Csw8xuz4.js +0 -4
  988. package/components/p-CtWGkNnJ.js +0 -4
  989. package/components/p-Cy5XSfIk.js +0 -4
  990. package/components/p-Cyxa_4PV.js +0 -4
  991. package/components/p-Cz5nLPGT.js +0 -4
  992. package/components/p-D-cP12ZN.js +0 -4
  993. package/components/p-D6NJwNJN.js +0 -4
  994. package/components/p-D6Ynv7Xh.js +0 -4
  995. package/components/p-DHsZWn1l.js +0 -4
  996. package/components/p-DJMZehmW.js +0 -4
  997. package/components/p-DJztqcrH.js +0 -4
  998. package/components/p-DUqnmRFi.js +0 -4
  999. package/components/p-DYdpXONG.js +0 -4
  1000. package/components/p-DgbT0exM.js +0 -4
  1001. package/components/p-DiVJyqlX.js +0 -4
  1002. package/components/p-DvOO1fxp.js +0 -4
  1003. package/components/p-FBcnjE5W.js +0 -4
  1004. package/components/p-SBseW5KJ.js +0 -4
  1005. package/components/p-ZjP4CjeZ.js +0 -4
  1006. package/components/p-fpbh6w3f.js +0 -4
  1007. package/components/p-kvaDs24J.js +0 -4
  1008. package/components/p-vEbVo2hO.js +0 -4
  1009. package/dist/cjs/hardware-back-button-C4rMJ5uI.js +0 -121
  1010. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1011. package/dist/cjs/ionic-global-Bc3kJi1Z.js +0 -151
  1012. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1013. package/dist/esm/hardware-back-button-CTe4XmL7.js +0 -115
  1014. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1015. package/dist/esm/ionic-global-DfbeLwcV.js +0 -146
  1016. package/dist/esm/validity-DJztqcrH.js +0 -17
  1017. package/dist/ionic/p-031b76f7.entry.js +0 -4
  1018. package/dist/ionic/p-045a6a42.entry.js +0 -4
  1019. package/dist/ionic/p-07506134.entry.js +0 -4
  1020. package/dist/ionic/p-078037da.entry.js +0 -4
  1021. package/dist/ionic/p-084c25b2.entry.js +0 -4
  1022. package/dist/ionic/p-0d8b5c38.entry.js +0 -4
  1023. package/dist/ionic/p-16813ce7.entry.js +0 -4
  1024. package/dist/ionic/p-1b02923f.entry.js +0 -4
  1025. package/dist/ionic/p-1b169fb6.entry.js +0 -4
  1026. package/dist/ionic/p-23ec35e4.entry.js +0 -4
  1027. package/dist/ionic/p-23fac490.entry.js +0 -4
  1028. package/dist/ionic/p-28a9e720.entry.js +0 -4
  1029. package/dist/ionic/p-294f4bb5.entry.js +0 -4
  1030. package/dist/ionic/p-2a68388b.entry.js +0 -4
  1031. package/dist/ionic/p-2f5a8140.entry.js +0 -4
  1032. package/dist/ionic/p-2fd110aa.entry.js +0 -4
  1033. package/dist/ionic/p-301c43f8.entry.js +0 -4
  1034. package/dist/ionic/p-370a60ee.entry.js +0 -4
  1035. package/dist/ionic/p-4c67ce4c.entry.js +0 -4
  1036. package/dist/ionic/p-51c11c47.entry.js +0 -4
  1037. package/dist/ionic/p-53f750a5.entry.js +0 -4
  1038. package/dist/ionic/p-6af16209.entry.js +0 -4
  1039. package/dist/ionic/p-6b701daa.entry.js +0 -4
  1040. package/dist/ionic/p-6b97f2a3.entry.js +0 -4
  1041. package/dist/ionic/p-7620be24.entry.js +0 -4
  1042. package/dist/ionic/p-771b27a5.entry.js +0 -4
  1043. package/dist/ionic/p-7ca71c83.entry.js +0 -4
  1044. package/dist/ionic/p-80cac7a2.entry.js +0 -4
  1045. package/dist/ionic/p-87125490.entry.js +0 -4
  1046. package/dist/ionic/p-8fda6a62.entry.js +0 -4
  1047. package/dist/ionic/p-9833cf63.entry.js +0 -4
  1048. package/dist/ionic/p-9cbc6f1f.entry.js +0 -4
  1049. package/dist/ionic/p-9cdbabbb.entry.js +0 -4
  1050. package/dist/ionic/p-9eeaBrnk.js +0 -4
  1051. package/dist/ionic/p-BAt5H1ac.js +0 -4
  1052. package/dist/ionic/p-BW_TRJm8.js +0 -4
  1053. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1054. package/dist/ionic/p-Bum7H1fw.js +0 -4
  1055. package/dist/ionic/p-BxIcPWoV.js +0 -4
  1056. package/dist/ionic/p-C0JvVFMv.js +0 -4
  1057. package/dist/ionic/p-CGmVTdWh.js +0 -4
  1058. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1059. package/dist/ionic/p-CYbRmDdy.js +0 -4
  1060. package/dist/ionic/p-CYvM5g3q.js +0 -4
  1061. package/dist/ionic/p-CmFz1Mjc.js +0 -4
  1062. package/dist/ionic/p-CtA-yJYy.js +0 -4
  1063. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  1064. package/dist/ionic/p-D8HJQ1qq.js +0 -4
  1065. package/dist/ionic/p-DB_iPQC-.js +0 -4
  1066. package/dist/ionic/p-DJztqcrH.js +0 -4
  1067. package/dist/ionic/p-DLbbmF9h.js +0 -4
  1068. package/dist/ionic/p-DTPR1Wpn.js +0 -4
  1069. package/dist/ionic/p-DV3sJJW8.js +0 -4
  1070. package/dist/ionic/p-DiVJyqlX.js +0 -4
  1071. package/dist/ionic/p-DtVZDHlS.js +0 -4
  1072. package/dist/ionic/p-IGIE5vDm.js +0 -5
  1073. package/dist/ionic/p-NFFyoJ4Q.js +0 -4
  1074. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1075. package/dist/ionic/p-a805674e.entry.js +0 -4
  1076. package/dist/ionic/p-a84f2d21.entry.js +0 -4
  1077. package/dist/ionic/p-aa812c4b.entry.js +0 -4
  1078. package/dist/ionic/p-b325a113.entry.js +0 -4
  1079. package/dist/ionic/p-b5ea8cdd.entry.js +0 -4
  1080. package/dist/ionic/p-b6e0ff03.entry.js +0 -4
  1081. package/dist/ionic/p-bcaa827e.entry.js +0 -4
  1082. package/dist/ionic/p-c3cce9d8.entry.js +0 -4
  1083. package/dist/ionic/p-ca31010f.entry.js +0 -4
  1084. package/dist/ionic/p-d4e8b473.entry.js +0 -4
  1085. package/dist/ionic/p-e0287f41.entry.js +0 -4
  1086. package/dist/ionic/p-e663bc5a.entry.js +0 -4
  1087. package/dist/ionic/p-e6cedcd7.entry.js +0 -4
  1088. package/dist/ionic/p-e863ffe8.entry.js +0 -4
  1089. package/dist/ionic/p-f2deaceb.entry.js +0 -4
  1090. package/dist/ionic/p-f5dfb9a3.entry.js +0 -4
  1091. package/dist/ionic/p-f69a5f71.entry.js +0 -4
  1092. package/dist/ionic/p-f8186550.entry.js +0 -4
  1093. package/dist/ionic/p-fdbc90d4.entry.js +0 -4
  1094. package/dist/ionic/p-gbVXD275.js +0 -4
  1095. package/dist/ionic/p-hNN3VvaC.js +0 -4
  1096. /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-CqT-2gKy.js');
7
- var index$2 = require('./index-MbaBbWXk.js');
8
- var frameworkDelegate = require('./framework-delegate-CRgp8o_p.js');
9
- var helpers = require('./helpers-CxTYJdbT.js');
6
+ var index$2 = require('./index-CzcLEdQ5.js');
7
+ var index$1 = require('./index-BJrpF9T3.js');
8
+ var frameworkDelegate = require('./framework-delegate-Dx9FrqAC.js');
9
+ var helpers = require('./helpers-DJYxKN5U.js');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
11
- var capacitor = require('./capacitor-DmA66EwP.js');
12
- var overlays = require('./overlays-C2jiBSNQ.js');
13
- var theme = require('./theme-CeDs6Hcv.js');
14
- var index$4 = require('./index-C845Ti6K.js');
15
- var ionicGlobal = require('./ionic-global-Bc3kJi1Z.js');
16
- var keyboard = require('./keyboard-hHzlEQpk.js');
17
- var animation = require('./animation-Dg4yiuR2.js');
11
+ var capacitor = require('./capacitor-BnRBm_ys.js');
12
+ var overlays = require('./overlays-Hci_7vw_.js');
13
+ var theme = require('./theme-IlOsGAz7.js');
14
+ var index$3 = require('./index-D_mPAIqF.js');
15
+ var ionicGlobal = require('./ionic-global-CSEbHD_F.js');
16
+ var keyboard = require('./keyboard-Bhav6x-R.js');
17
+ var animation = require('./animation-DknMeJ3x.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-C4rMJ5uI.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-Dsczf-iT.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
  }
@@ -356,7 +453,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
356
453
  * happen at the same time as the gesture.
357
454
  */
358
455
  if (deltaY > 0 && contentEl) {
359
- index$2.disableContentScrollY(contentEl);
456
+ index$1.disableContentScrollY(contentEl);
360
457
  }
361
458
  animation.progressStart(true, isOpen ? 1 : 0);
362
459
  onDragStart();
@@ -370,7 +467,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
370
467
  * happen at the same time as the gesture.
371
468
  */
372
469
  if (deltaY > 0 && contentEl) {
373
- index$2.disableContentScrollY(contentEl);
470
+ index$1.disableContentScrollY(contentEl);
374
471
  }
375
472
  /**
376
473
  * If we are swiping on the content
@@ -465,7 +562,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
465
562
  isOpen = shouldComplete;
466
563
  gesture.enable(false);
467
564
  if (contentEl) {
468
- index$2.resetContentScrollY(contentEl, initialScrollY);
565
+ index$1.resetContentScrollY(contentEl, initialScrollY);
469
566
  }
470
567
  animation
471
568
  .onFinish(() => {
@@ -500,7 +597,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
500
597
  };
501
598
  onDragEnd(eventDetail);
502
599
  };
503
- const gesture = index$1.createGesture({
600
+ const gesture = index.createGesture({
504
601
  el,
505
602
  gestureName: 'modalSwipeToClose',
506
603
  gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
@@ -555,63 +652,6 @@ const calculateProgress = (el, deltaY) => {
555
652
  return Math.max(0, Math.min(1, roundedProgress));
556
653
  };
557
654
 
558
- const createSheetEnterAnimation = (opts) => {
559
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
560
- /**
561
- * If the backdropBreakpoint is undefined, then the backdrop
562
- * should always fade in. If the backdropBreakpoint came before the
563
- * current breakpoint, then the backdrop should be fading in.
564
- */
565
- const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
566
- const initialBackdrop = shouldShowBackdrop ? `calc(var(--backdrop-opacity) * ${currentBreakpoint})` : '0';
567
- const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
568
- if (shouldShowBackdrop) {
569
- backdropAnimation
570
- .beforeStyles({
571
- 'pointer-events': 'none',
572
- })
573
- .afterClearStyles(['pointer-events']);
574
- }
575
- const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
576
- { offset: 0, opacity: 1, transform: 'translateY(100%)' },
577
- { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
578
- ]);
579
- /**
580
- * This allows the content to be scrollable at any breakpoint.
581
- */
582
- const contentAnimation = !expandToScroll
583
- ? animation.createAnimation('contentAnimation').keyframes([
584
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
585
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
586
- ])
587
- : undefined;
588
- return { wrapperAnimation, backdropAnimation, contentAnimation };
589
- };
590
- const createSheetLeaveAnimation = (opts) => {
591
- const { currentBreakpoint, backdropBreakpoint } = opts;
592
- /**
593
- * Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
594
- * is defined, so we need to account for that offset by figuring out
595
- * what the current backdrop value should be.
596
- */
597
- const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
598
- const defaultBackdrop = [
599
- { offset: 0, opacity: backdropValue },
600
- { offset: 1, opacity: 0 },
601
- ];
602
- const customBackdrop = [
603
- { offset: 0, opacity: backdropValue },
604
- { offset: backdropBreakpoint, opacity: 0 },
605
- { offset: 1, opacity: 0 },
606
- ];
607
- const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
608
- const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
609
- { offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
610
- { offset: 1, opacity: 1, transform: `translateY(100%)` },
611
- ]);
612
- return { wrapperAnimation, backdropAnimation };
613
- };
614
-
615
655
  const createEnterAnimation$1 = () => {
616
656
  const backdropAnimation = animation.createAnimation()
617
657
  .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
@@ -1002,16 +1042,16 @@ const mdLeaveAnimation = (baseEl, opts) => {
1002
1042
  return baseAnimation;
1003
1043
  };
1004
1044
 
1005
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
1045
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, usePhysicsBasedGesture, onDragStart, onDragMove, onDragEnd) => {
1006
1046
  // Defaults for the sheet swipe animation
1007
1047
  const defaultBackdrop = [
1008
1048
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
1009
- { offset: 1, opacity: 0.01 },
1049
+ { offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0.01 },
1010
1050
  ];
1011
1051
  const customBackdrop = [
1012
1052
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
1013
- { offset: 1 - backdropBreakpoint, opacity: 0 },
1014
- { offset: 1, opacity: 0 },
1053
+ { offset: 1 - backdropBreakpoint, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
1054
+ { offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
1015
1055
  ];
1016
1056
  const SheetDefaults = {
1017
1057
  WRAPPER_KEYFRAMES: [
@@ -1192,14 +1232,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1192
1232
  * For example, when using ion-nav within a modal it is possible to swipe, push a view,
1193
1233
  * and then swipe again. The target content will not be the same between swipes.
1194
1234
  */
1195
- const contentEl = index$2.findClosestIonContent(detail.event.target);
1235
+ const contentEl = index$1.findClosestIonContent(detail.event.target);
1196
1236
  currentBreakpoint = getCurrentBreakpoint();
1197
1237
  /**
1198
1238
  * If `expandToScroll` is disabled, we should not allow the swipe gesture
1199
1239
  * to start if the content is not scrolled to the top.
1200
1240
  */
1201
1241
  if (!expandToScroll && contentEl) {
1202
- const scrollEl = index$2.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1242
+ const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1203
1243
  return scrollEl.scrollTop === 0;
1204
1244
  }
1205
1245
  if (currentBreakpoint === 1 && contentEl) {
@@ -1212,7 +1252,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1212
1252
  * Note 2: Do not use getScrollElement here because we need this to be a synchronous
1213
1253
  * operation, and getScrollElement is asynchronous.
1214
1254
  */
1215
- const scrollEl = index$2.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1255
+ const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1216
1256
  const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
1217
1257
  return !hasRefresherInContent && scrollEl.scrollTop === 0;
1218
1258
  }
@@ -1238,9 +1278,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1238
1278
  * which would impact performance significantly.
1239
1279
  */
1240
1280
  if (!expandToScroll) {
1241
- const targetEl = index$2.findClosestIonContent(detail.event.target);
1281
+ const targetEl = index$1.findClosestIonContent(detail.event.target);
1242
1282
  cachedScrollEl =
1243
- targetEl && index$2.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
1283
+ targetEl && index$1.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
1244
1284
  }
1245
1285
  /**
1246
1286
  * If expandToScroll is disabled, we need to swap
@@ -1334,7 +1374,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1334
1374
  : step;
1335
1375
  offset = helpers.clamp(0.0001, processedStep, maxStep);
1336
1376
  animation.progressStep(offset);
1337
- const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
1377
+ const snapBreakpoint = usePhysicsBasedGesture
1378
+ ? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
1379
+ : calculatePositionSnapBreakpoint(detail.deltaY);
1338
1380
  const eventDetail = {
1339
1381
  currentY: detail.currentY,
1340
1382
  deltaY: detail.deltaY,
@@ -1345,7 +1387,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1345
1387
  onDragMove(eventDetail);
1346
1388
  };
1347
1389
  const onEnd = (detail) => {
1348
- const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
1390
+ const snapBreakpoint = usePhysicsBasedGesture
1391
+ ? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
1392
+ : calculatePositionSnapBreakpoint(detail.deltaY);
1349
1393
  const eventDetail = {
1350
1394
  currentY: detail.currentY,
1351
1395
  deltaY: detail.deltaY,
@@ -1392,6 +1436,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1392
1436
  */
1393
1437
  const shouldPreventDismiss = canDismiss && breakpoint === 0;
1394
1438
  const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
1439
+ /**
1440
+ * Detect snap-back behavior: when the snap target is the same as the current breakpoint,
1441
+ * the user released before crossing the threshold to a new breakpoint.
1442
+ * Apply different timing and easing for snap-back vs. snap-to-new.
1443
+ */
1444
+ const isSnapBack = snapToBreakpoint === currentBreakpoint;
1445
+ const duration = usePhysicsBasedGesture ? (isSnapBack ? 300 : 400) : 500;
1446
+ const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
1395
1447
  const shouldRemainOpen = snapToBreakpoint !== 0;
1396
1448
  currentBreakpoint = 0;
1397
1449
  /**
@@ -1406,11 +1458,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1406
1458
  backdropAnimation.keyframes([
1407
1459
  {
1408
1460
  offset: 0,
1409
- opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
1461
+ opacity: usePhysicsBasedGesture
1462
+ ? 'var(--backdrop-opacity)'
1463
+ : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
1410
1464
  },
1411
1465
  {
1412
1466
  offset: 1,
1413
- opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1467
+ opacity: usePhysicsBasedGesture
1468
+ ? 'var(--backdrop-opacity)'
1469
+ : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1414
1470
  },
1415
1471
  ]);
1416
1472
  if (contentAnimation) {
@@ -1428,6 +1484,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1428
1484
  }
1429
1485
  animation.progressStep(0);
1430
1486
  }
1487
+ /**
1488
+ * Apply the appropriate easing curve for this snap behavior.
1489
+ */
1490
+ if (usePhysicsBasedGesture) {
1491
+ animation.easing(easing);
1492
+ }
1431
1493
  /**
1432
1494
  * Gesture should remain disabled until the
1433
1495
  * snapping animation completes.
@@ -1517,7 +1579,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1517
1579
  * be added every time onEnd runs.
1518
1580
  */
1519
1581
  }, { oneTimeCallback: true })
1520
- .progressEnd(1, 0, animated ? 500 : 0);
1582
+ .progressEnd(1, 0, animated ? duration : 0);
1521
1583
  });
1522
1584
  };
1523
1585
  /**
@@ -1528,7 +1590,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1528
1590
  * @param deltaY The change in Y position since the gesture started.
1529
1591
  * @returns The snap breakpoint value.
1530
1592
  */
1531
- const calculateSnapBreakpoint = (deltaY) => {
1593
+ const calculatePositionSnapBreakpoint = (deltaY) => {
1532
1594
  /**
1533
1595
  * Calculates the real-time vertical position of the modal.
1534
1596
  * We combine the wrapper's current bounding box position with the
@@ -1548,6 +1610,50 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1548
1610
  });
1549
1611
  return snapBreakpoint;
1550
1612
  };
1613
+ /**
1614
+ * Calculates the snap breakpoint using velocity-based logic.
1615
+ * This provides a more intuitive and responsive sheet behavior for the Ionic theme.
1616
+ *
1617
+ * Rules:
1618
+ * 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
1619
+ * 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
1620
+ * 3. If dragged 40% below current snap point without fast upward flick, dismisses
1621
+ * 4. Otherwise, falls back to position-based snap (closest breakpoint)
1622
+ *
1623
+ * @param deltaY The change in Y position since gesture started
1624
+ * @param velocityY The velocity in pixels per millisecond
1625
+ * @param currentY The current Y position of the gesture
1626
+ * @returns The snap breakpoint value
1627
+ */
1628
+ const calculateVelocitySnapBreakpoint = (deltaY, velocityY, currentY) => {
1629
+ // Convert velocity from px/ms to px/s for easier threshold comparison
1630
+ const velocityYPerSecond = velocityY * 1000;
1631
+ // Calculate current progress (0 = fully closed, 1 = fully expanded)
1632
+ const currentProgress = calculateProgress(currentY);
1633
+ // Rule 1: Fast downward flick always dismisses
1634
+ if (velocityYPerSecond > 500) {
1635
+ return minBreakpoint;
1636
+ }
1637
+ // Rule 2: Fast upward flick moves to next breakpoint above
1638
+ if (velocityYPerSecond < -400) {
1639
+ // Find next breakpoint above current position
1640
+ const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
1641
+ // If no breakpoint above, stay at max breakpoint
1642
+ return nextBreakpoint !== null && nextBreakpoint !== void 0 ? nextBreakpoint : maxBreakpoint;
1643
+ }
1644
+ // Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
1645
+ if (minBreakpoint === 0 && currentBreakpoint > 0) {
1646
+ // Calculate how far we've moved below the current snap point
1647
+ const distanceBelowSnap = currentBreakpoint - currentProgress;
1648
+ const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
1649
+ // If dragged more than 40% below and not flicking up, dismiss
1650
+ if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
1651
+ return 0;
1652
+ }
1653
+ }
1654
+ // Rule 4: Fallback to position-based snap (existing logic)
1655
+ return calculatePositionSnapBreakpoint(deltaY);
1656
+ };
1551
1657
  /**
1552
1658
  * Calculates the progress of the swipe gesture.
1553
1659
  *
@@ -1618,7 +1724,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1618
1724
  */
1619
1725
  return viewportBottom - activeHeight;
1620
1726
  };
1621
- const gesture = index$1.createGesture({
1727
+ const gesture = index.createGesture({
1622
1728
  el: wrapperEl,
1623
1729
  gestureName: 'modalSheet',
1624
1730
  gesturePriority: 40,
@@ -1664,9 +1770,9 @@ let cacheInvalidationScheduled = false;
1664
1770
  * Matches: @media (min-width: 768px) and (min-height: 600px)
1665
1771
  */
1666
1772
  const isCenteredDialogViewport = () => {
1667
- if (!index.win)
1773
+ if (!ionicGlobal.win)
1668
1774
  return false;
1669
- return index.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
1775
+ return ionicGlobal.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
1670
1776
  .matches;
1671
1777
  };
1672
1778
  /**
@@ -1681,7 +1787,7 @@ const getRootSafeAreaTop = () => {
1681
1787
  if (cachedRootSafeAreaTop !== null) {
1682
1788
  return cachedRootSafeAreaTop;
1683
1789
  }
1684
- const doc = index.win === null || index.win === void 0 ? void 0 : index.win.document;
1790
+ const doc = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.document;
1685
1791
  if (!(doc === null || doc === void 0 ? void 0 : doc.body)) {
1686
1792
  return 0;
1687
1793
  }
@@ -1787,8 +1893,8 @@ const getInitialSafeAreaConfig = (context) => {
1787
1893
  const getPositionBasedSafeAreaConfig = (wrapperEl) => {
1788
1894
  var _a, _b;
1789
1895
  const rect = wrapperEl.getBoundingClientRect();
1790
- const vh = (_a = index.win === null || index.win === void 0 ? void 0 : index.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
1791
- const vw = (_b = index.win === null || index.win === void 0 ? void 0 : index.win.innerWidth) !== null && _b !== void 0 ? _b : 0;
1896
+ const vh = (_a = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
1897
+ const vw = (_b = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerWidth) !== null && _b !== void 0 ? _b : 0;
1792
1898
  // Only apply safe-area to sides where modal overlaps with screen edge
1793
1899
  return {
1794
1900
  top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
@@ -1821,26 +1927,28 @@ const clearSafeAreaOverrides = (hostEl) => {
1821
1927
  hostEl.style.removeProperty('--ion-safe-area-right');
1822
1928
  };
1823
1929
 
1824
- 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-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}`;
1930
+ 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-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)))}`;
1825
1931
 
1826
- 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-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}`;
1932
+ 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-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}`;
1933
+
1934
+ 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-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}`;
1827
1935
 
1828
1936
  const Modal = class {
1829
1937
  constructor(hostRef) {
1830
- index$3.registerInstance(this, hostRef);
1831
- this.didPresent = index$3.createEvent(this, "ionModalDidPresent", 7);
1832
- this.willPresent = index$3.createEvent(this, "ionModalWillPresent", 7);
1833
- this.willDismiss = index$3.createEvent(this, "ionModalWillDismiss", 7);
1834
- this.didDismiss = index$3.createEvent(this, "ionModalDidDismiss", 7);
1835
- this.ionBreakpointDidChange = index$3.createEvent(this, "ionBreakpointDidChange", 7);
1836
- this.didPresentShorthand = index$3.createEvent(this, "didPresent", 7);
1837
- this.willPresentShorthand = index$3.createEvent(this, "willPresent", 7);
1838
- this.willDismissShorthand = index$3.createEvent(this, "willDismiss", 7);
1839
- this.didDismissShorthand = index$3.createEvent(this, "didDismiss", 7);
1840
- this.ionMount = index$3.createEvent(this, "ionMount", 7);
1841
- this.ionDragStart = index$3.createEvent(this, "ionDragStart", 7);
1842
- this.ionDragMove = index$3.createEvent(this, "ionDragMove", 7);
1843
- this.ionDragEnd = index$3.createEvent(this, "ionDragEnd", 7);
1938
+ index$2.registerInstance(this, hostRef);
1939
+ this.didPresent = index$2.createEvent(this, "ionModalDidPresent", 7);
1940
+ this.willPresent = index$2.createEvent(this, "ionModalWillPresent", 7);
1941
+ this.willDismiss = index$2.createEvent(this, "ionModalWillDismiss", 7);
1942
+ this.didDismiss = index$2.createEvent(this, "ionModalDidDismiss", 7);
1943
+ this.ionBreakpointDidChange = index$2.createEvent(this, "ionBreakpointDidChange", 7);
1944
+ this.didPresentShorthand = index$2.createEvent(this, "didPresent", 7);
1945
+ this.willPresentShorthand = index$2.createEvent(this, "willPresent", 7);
1946
+ this.willDismissShorthand = index$2.createEvent(this, "willDismiss", 7);
1947
+ this.didDismissShorthand = index$2.createEvent(this, "didDismiss", 7);
1948
+ this.ionMount = index$2.createEvent(this, "ionMount", 7);
1949
+ this.ionDragStart = index$2.createEvent(this, "ionDragStart", 7);
1950
+ this.ionDragMove = index$2.createEvent(this, "ionDragMove", 7);
1951
+ this.ionDragEnd = index$2.createEvent(this, "ionDragEnd", 7);
1844
1952
  this.lockController = lockController.createLockController();
1845
1953
  this.triggerController = overlays.createTriggerController();
1846
1954
  this.coreDelegate = frameworkDelegate.CoreDelegate();
@@ -2127,7 +2235,7 @@ const Modal = class {
2127
2235
  this.currentBreakpoint = this.initialBreakpoint;
2128
2236
  }
2129
2237
  if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
2130
- index$3.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
2238
+ index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
2131
2239
  }
2132
2240
  if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
2133
2241
  overlays.setOverlayId(this.el);
@@ -2227,7 +2335,7 @@ const Modal = class {
2227
2335
  * get the transition incorrect.
2228
2336
  */
2229
2337
  if (helpers.hasLazyBuild(el)) {
2230
- await index$4.deepReady(this.usersElement);
2338
+ await index$3.deepReady(this.usersElement);
2231
2339
  /**
2232
2340
  * If keepContentsMounted="true" then the
2233
2341
  * JS Framework has already mounted the inner
@@ -2238,9 +2346,9 @@ const Modal = class {
2238
2346
  */
2239
2347
  }
2240
2348
  else if (!this.keepContentsMounted) {
2241
- await index$4.waitForMount();
2349
+ await index$3.waitForMount();
2242
2350
  }
2243
- index$3.writeTask(() => this.el.classList.add('show-modal'));
2351
+ index$2.writeTask(() => this.el.classList.add('show-modal'));
2244
2352
  // Recalculate isSheetModal before safe-area setup because framework
2245
2353
  // bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
2246
2354
  this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
@@ -2257,11 +2365,12 @@ const Modal = class {
2257
2365
  this.statusBarStyle = await StatusBar.getStyle();
2258
2366
  setCardStatusBarDark();
2259
2367
  }
2260
- await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
2368
+ await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
2261
2369
  presentingEl: presentingElement,
2262
2370
  currentBreakpoint: this.initialBreakpoint,
2263
2371
  backdropBreakpoint: this.backdropBreakpoint,
2264
2372
  expandToScroll: this.expandToScroll,
2373
+ staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
2265
2374
  });
2266
2375
  // Update safe-area based on actual position after animation
2267
2376
  this.updateSafeAreaOverrides();
@@ -2319,14 +2428,14 @@ const Modal = class {
2319
2428
  // All of the elements needed for the swipe gesture
2320
2429
  // should be in the DOM and referenced by now, except
2321
2430
  // for the presenting el
2322
- const animationBuilder = this.leaveAnimation || index$3.config.get('modalLeave', iosLeaveAnimation);
2431
+ const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
2323
2432
  const ani = (this.animation = animationBuilder(el, {
2324
2433
  presentingEl: this.presentingElement,
2325
2434
  expandToScroll: this.expandToScroll,
2326
2435
  }));
2327
- const contentEl = index$2.findIonContent(el);
2436
+ const contentEl = index$1.findIonContent(el);
2328
2437
  if (!contentEl) {
2329
- index$2.printIonContentErrorMsg(el);
2438
+ index$1.printIonContentErrorMsg(el);
2330
2439
  return;
2331
2440
  }
2332
2441
  const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
@@ -2338,12 +2447,13 @@ const Modal = class {
2338
2447
  if (!wrapperEl || initialBreakpoint === undefined) {
2339
2448
  return;
2340
2449
  }
2341
- const animationBuilder = this.enterAnimation || index$3.config.get('modalEnter', iosEnterAnimation);
2450
+ const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
2342
2451
  const ani = (this.animation = animationBuilder(this.el, {
2343
2452
  presentingEl: this.presentingElement,
2344
2453
  currentBreakpoint: initialBreakpoint,
2345
2454
  backdropBreakpoint,
2346
2455
  expandToScroll: this.expandToScroll,
2456
+ staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
2347
2457
  }));
2348
2458
  ani.progressStart(true, 1);
2349
2459
  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) => {
@@ -2351,7 +2461,7 @@ const Modal = class {
2351
2461
  this.currentBreakpoint = breakpoint;
2352
2462
  this.ionBreakpointDidChange.emit({ breakpoint });
2353
2463
  }
2354
- }, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2464
+ }, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2355
2465
  this.gesture = gesture;
2356
2466
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
2357
2467
  this.gesture.enable(true);
@@ -2537,7 +2647,7 @@ const Modal = class {
2537
2647
  if (dismissed) {
2538
2648
  const { delegate } = this.getDelegate();
2539
2649
  await frameworkDelegate.detachComponent(delegate, this.usersElement);
2540
- index$3.writeTask(() => this.el.classList.remove('show-modal'));
2650
+ index$2.writeTask(() => this.el.classList.remove('show-modal'));
2541
2651
  if (this.animation) {
2542
2652
  this.animation.destroy();
2543
2653
  }
@@ -2574,11 +2684,11 @@ const Modal = class {
2574
2684
  */
2575
2685
  async setCurrentBreakpoint(breakpoint) {
2576
2686
  if (!this.isSheetModal) {
2577
- index$3.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
2687
+ index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
2578
2688
  return;
2579
2689
  }
2580
2690
  if (!this.breakpoints.includes(breakpoint)) {
2581
- 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.`);
2691
+ 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.`);
2582
2692
  return;
2583
2693
  }
2584
2694
  const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
@@ -2623,6 +2733,18 @@ const Modal = class {
2623
2733
  await this.setCurrentBreakpoint(nextBreakpoint);
2624
2734
  return true;
2625
2735
  }
2736
+ getShape() {
2737
+ const theme = ionicGlobal.getIonTheme(this);
2738
+ const { shape } = this;
2739
+ // TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
2740
+ if (theme !== 'ionic') {
2741
+ return undefined;
2742
+ }
2743
+ if (shape === undefined) {
2744
+ return 'round';
2745
+ }
2746
+ return shape;
2747
+ }
2626
2748
  initViewTransitionListener() {
2627
2749
  // Only enable for iOS card modals when no custom animations are provided
2628
2750
  if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
@@ -2956,26 +3078,27 @@ const Modal = class {
2956
3078
  render() {
2957
3079
  const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
2958
3080
  const showHandle = handle !== false && isSheetModal;
2959
- const mode = ionicGlobal.getIonMode(this);
2960
- const isCardModal = presentingElement !== undefined && mode === 'ios';
3081
+ const theme$1 = ionicGlobal.getIonTheme(this);
3082
+ const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
2961
3083
  const isHandleCycle = handleBehavior === 'cycle';
3084
+ const shape = this.getShape();
2962
3085
  const isSheetModalWithHandle = isSheetModal && showHandle;
2963
- return (index$3.h(index$3.Host, Object.assign({ key: '4bf38aa67df9a3f977163bba5423960bbafd16de', "no-router": true,
3086
+ return (index$2.h(index$2.Host, Object.assign({ key: '2d3a31da1613386cf90f0d59d6b26c9a5b654d2a', "no-router": true,
2964
3087
  // Allow the modal to be navigable when the handle is focusable
2965
3088
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
2966
3089
  zIndex: `${20000 + this.overlayIndex}`,
2967
- }, 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: '866da40cc5fc8d3e36637098fb3066a5bc9f4e0f', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '5a2a05514ea8592c8feb0465e504aa7c7af17963', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '4d327115306451f57d190b06ab8cbb6191a6f1d7',
3090
+ }, 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: 'baf6be86f7d5053d870a4ad794c1d584985c5ba0', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme$1 === 'ios' && index$2.h("div", { key: 'e3b76699bc31e8dd29b09ed6091d8f9003865e15', class: "modal-shadow" }), index$2.h("div", Object.assign({ key: '3043e51b33a1e394ae731ebc49fd4df7ef71be99',
2968
3091
  /*
2969
3092
  role and aria-modal must be used on the
2970
3093
  same element. They must also be set inside the
2971
3094
  shadow DOM otherwise ion-button will not be highlighted
2972
3095
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
2973
3096
  */
2974
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: 'd1882835cc049232c0d957e3ba1e79676a07d179', class: "modal-handle",
3097
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$2.h("button", { key: '19e71dc84abf18b21be76ec35229c5c5e7410c6e', class: "modal-handle",
2975
3098
  // Prevents the handle from receiving keyboard focus when it does not cycle
2976
- 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: '81dc58b09cf7d7022b04cd170f53113604364d5e', onSlotchange: this.onSlotChange }))));
3099
+ 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$2.h("slot", { key: '9b868070ee1be064e6b385f4783fc428c78d8084', onSlotchange: this.onSlotChange }))));
2977
3100
  }
2978
- get el() { return index$3.getElement(this); }
3101
+ get el() { return index$2.getElement(this); }
2979
3102
  static get watchers() { return {
2980
3103
  "isOpen": [{
2981
3104
  "onIsOpenChange": 0
@@ -2992,6 +3115,7 @@ const LIFECYCLE_MAP = {
2992
3115
  ionModalDidDismiss: 'ionViewDidLeave',
2993
3116
  };
2994
3117
  Modal.style = {
3118
+ ionic: modalIonicCss(),
2995
3119
  ios: modalIosCss(),
2996
3120
  md: modalMdCss()
2997
3121
  };