@ionic/core 8.8.4-dev.11777318673.18d001f6 → 8.8.4-dev.11777393099.1a6ea277

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 (1085) 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-grid.js +1 -1
  33. package/components/ion-header.js +1 -1
  34. package/components/ion-icon.js +1 -1
  35. package/components/ion-img.js +1 -1
  36. package/components/ion-infinite-scroll-content.js +1 -1
  37. package/components/ion-infinite-scroll.js +1 -1
  38. package/components/ion-input-otp.js +1 -1
  39. package/components/ion-input-password-toggle.js +1 -1
  40. package/components/ion-input.js +1 -1
  41. package/components/ion-item-divider.js +1 -1
  42. package/components/ion-item-group.js +1 -1
  43. package/components/ion-item-option.js +1 -1
  44. package/components/ion-item-options.js +1 -1
  45. package/components/ion-item-sliding.js +1 -1
  46. package/components/ion-item.js +1 -1
  47. package/components/ion-label.js +1 -1
  48. package/components/ion-list-header.js +1 -1
  49. package/components/ion-list.js +1 -1
  50. package/components/ion-loading.js +1 -1
  51. package/components/ion-menu-button.js +1 -1
  52. package/components/ion-menu-toggle.js +1 -1
  53. package/components/ion-menu.js +1 -1
  54. package/components/ion-modal.js +1 -1
  55. package/components/ion-nav-link.js +1 -1
  56. package/components/ion-nav.js +1 -1
  57. package/components/ion-note.js +1 -1
  58. package/components/ion-picker-column-option.js +1 -1
  59. package/components/ion-picker-column.js +1 -1
  60. package/components/ion-picker-legacy-column.d.ts +11 -0
  61. package/components/ion-picker-legacy-column.js +4 -0
  62. package/components/ion-picker-legacy.d.ts +11 -0
  63. package/components/ion-picker-legacy.js +4 -0
  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-ak_d-z48.js → p-B636tzQ7.js} +1 -1
  108. package/components/p-BAJR2rtd.js +4 -0
  109. package/components/p-BCDEEm9n.js +4 -0
  110. package/components/p-BDndEqui.js +4 -0
  111. package/components/p-BDqjX7Z_.js +4 -0
  112. package/components/p-BErKjY03.js +4 -0
  113. package/components/p-BFCM_1oE.js +4 -0
  114. package/components/{p-cyNmxje6.js → p-BLysWQA1.js} +1 -1
  115. package/components/p-BO4aickU.js +4 -0
  116. package/components/p-BU8N7ZrK.js +4 -0
  117. package/components/p-BYSs-jZz.js +4 -0
  118. package/components/p-BaPtaYEC.js +4 -0
  119. package/components/p-BcbmT6b3.js +4 -0
  120. package/components/p-BeVlsaLA.js +4 -0
  121. package/components/p-BfHB6wX_.js +4 -0
  122. package/components/p-BhfW3d9j.js +4 -0
  123. package/components/p-BjW8SOqw.js +4 -0
  124. package/components/p-Bp__mr16.js +4 -0
  125. package/components/p-BqDiJgC_.js +4 -0
  126. package/components/p-Br3pqTOz.js +4 -0
  127. package/components/p-BtAlyZ0b.js +4 -0
  128. package/components/p-C-_EGKki.js +4 -0
  129. package/components/p-C00Y_WJv.js +4 -0
  130. package/components/p-C2cZvGcF.js +4 -0
  131. package/components/{p-BUbsoBOV.js → p-CHgKFg32.js} +1 -1
  132. package/components/p-CKfNwyAb.js +4 -0
  133. package/components/p-CVBkx7m1.js +4 -0
  134. package/components/p-Cb9imMZh.js +4 -0
  135. package/components/p-CdYTq34D.js +4 -0
  136. package/components/p-CeYwuysM.js +4 -0
  137. package/components/p-Cf9-xP7P.js +4 -0
  138. package/components/{p-Cwv-vmkN.js → p-CjSx8W-k.js} +1 -1
  139. package/components/p-CnwZE7CW.js +4 -0
  140. package/components/p-CoarhFWH.js +4 -0
  141. package/components/p-CtiqM786.js +4 -0
  142. package/components/p-D1bKIW7n.js +4 -0
  143. package/components/p-D1t981Ih.js +4 -0
  144. package/components/p-D5lMX0xt.js +4 -0
  145. package/components/p-D8NAdIPC.js +4 -0
  146. package/components/p-DAeMHNER.js +4 -0
  147. package/components/p-DDw-NYxz.js +4 -0
  148. package/components/p-DVcs-2q3.js +4 -0
  149. package/components/p-DWhesBL8.js +4 -0
  150. package/components/p-DaJxRxSQ.js +4 -0
  151. package/components/p-DbmwH3zj.js +4 -0
  152. package/components/p-Dhi5xtNS.js +4 -0
  153. package/components/p-DlHXJAF8.js +4 -0
  154. package/components/p-DrhTPUzN.js +4 -0
  155. package/components/p-GnGGIfCd.js +4 -0
  156. package/components/p-XegQjlzJ.js +4 -0
  157. package/components/p-fIOYmaqA.js +4 -0
  158. package/components/p-lIOqnNXn.js +4 -0
  159. package/{dist/ionic/p-BvFYtOdE.js → components/p-oF-CwZ0b.js} +1 -1
  160. package/components/p-qx-oKGQ-.js +4 -0
  161. package/components/p-sK-FK9CT.js +4 -0
  162. package/components/p-t98_NeNv.js +4 -0
  163. package/components/p-vCpF32Z7.js +4 -0
  164. package/components/p-vXpMhGrs.js +4 -0
  165. package/components/p-wCDzv5Q8.js +4 -0
  166. package/components/{p-YLXPWgVj.js → p-zWP0sUV_.js} +1 -1
  167. package/css/core.css +1 -1
  168. package/css/core.css.map +1 -1
  169. package/css/display.css +1 -1
  170. package/css/display.css.map +1 -1
  171. package/css/flex-utils.css +1 -1
  172. package/css/flex-utils.css.map +1 -1
  173. package/css/float-elements.css.map +1 -1
  174. package/css/global.bundle.css.map +1 -1
  175. package/css/ionic/bundle.ionic.css +1 -0
  176. package/css/ionic/bundle.ionic.css.map +1 -0
  177. package/css/ionic/core.ionic.css +1 -0
  178. package/css/ionic/core.ionic.css.map +1 -0
  179. package/css/ionic/global.bundle.ionic.css +1 -0
  180. package/css/ionic/global.bundle.ionic.css.map +1 -0
  181. package/css/ionic/ionic-swiper.ionic.css +1 -0
  182. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  183. package/css/ionic/link.ionic.css +1 -0
  184. package/css/ionic/link.ionic.css.map +1 -0
  185. package/css/ionic/structure.ionic.css +1 -0
  186. package/css/ionic/structure.ionic.css.map +1 -0
  187. package/css/ionic/typography.ionic.css +1 -0
  188. package/css/ionic/typography.ionic.css.map +1 -0
  189. package/css/ionic/utils.bundle.ionic.css +1 -0
  190. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  191. package/css/ionic-swiper.css +1 -1
  192. package/css/ionic-swiper.css.map +1 -1
  193. package/css/ionic.bundle.css +1 -1
  194. package/css/ionic.bundle.css.map +1 -1
  195. package/css/normalize.css.map +1 -1
  196. package/css/padding.css.map +1 -1
  197. package/css/palettes/dark.always.css +1 -1
  198. package/css/palettes/dark.always.css.map +1 -1
  199. package/css/palettes/dark.class.css +1 -1
  200. package/css/palettes/dark.class.css.map +1 -1
  201. package/css/palettes/dark.system.css +1 -1
  202. package/css/palettes/dark.system.css.map +1 -1
  203. package/css/palettes/high-contrast-dark.always.css +1 -1
  204. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  205. package/css/palettes/high-contrast-dark.class.css +1 -1
  206. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  207. package/css/palettes/high-contrast-dark.system.css +1 -1
  208. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  209. package/css/palettes/high-contrast.always.css.map +1 -1
  210. package/css/palettes/high-contrast.class.css.map +1 -1
  211. package/css/palettes/high-contrast.system.css.map +1 -1
  212. package/css/structure.css.map +1 -1
  213. package/css/text-alignment.css.map +1 -1
  214. package/css/text-transformation.css.map +1 -1
  215. package/css/typography.css.map +1 -1
  216. package/css/utils.bundle.css +1 -1
  217. package/css/utils.bundle.css.map +1 -1
  218. package/dist/cjs/{animation-Dg4yiuR2.js → animation-DknMeJ3x.js} +3 -3
  219. package/dist/cjs/{app-globals-CLI8xCmk.js → app-globals-DtAeky3x.js} +1 -1
  220. package/dist/cjs/{button-active-FscMI17-.js → button-active-JoIWyYri.js} +2 -2
  221. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-BnRBm_ys.js} +3 -3
  222. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  223. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  224. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  225. package/dist/cjs/{config-BukYi_pW.js → config-B0utyWaD.js} +1 -1
  226. package/dist/cjs/{data-BYlBjkMU.js → data-DuOuKG7I.js} +6 -6
  227. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  228. package/dist/cjs/{framework-delegate-CRgp8o_p.js → framework-delegate-Dx9FrqAC.js} +4 -2
  229. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-D3Ay9mmg.js} +1 -1
  230. package/dist/cjs/{helpers-CxTYJdbT.js → helpers-DJYxKN5U.js} +57 -4
  231. package/dist/cjs/{index-MbaBbWXk.js → index-BJrpF9T3.js} +2 -2
  232. package/dist/cjs/{index-CFUwM5x_.js → index-Cer2Qy4I.js} +15 -15
  233. package/dist/cjs/{index-DqmRDbxg.js → index-CgAbCW6L.js} +2 -0
  234. package/dist/cjs/{index-CqT-2gKy.js → index-CzcLEdQ5.js} +41 -4
  235. package/dist/cjs/{index-YcSftOMz.js → index-DMJjUhXH.js} +9 -8
  236. package/dist/cjs/{index-C845Ti6K.js → index-D_mPAIqF.js} +4 -4
  237. package/dist/cjs/index.cjs.js +14 -14
  238. package/dist/cjs/{input-shims-Dl5cnc_e.js → input-shims-Dn33gFln.js} +18 -17
  239. package/dist/cjs/{input.utils-DmeJ8dmo.js → input.utils-DnVnhWEF.js} +5 -5
  240. package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -29
  241. package/dist/cjs/ion-action-sheet.cjs.entry.js +25 -26
  242. package/dist/cjs/ion-alert.cjs.entry.js +25 -27
  243. package/dist/cjs/ion-app_8.cjs.entry.js +296 -175
  244. package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -13
  245. package/dist/cjs/ion-back-button.cjs.entry.js +31 -22
  246. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
  247. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +54 -18
  248. package/dist/cjs/ion-button_2.cjs.entry.js +59 -22
  249. package/dist/cjs/ion-card_5.cjs.entry.js +55 -33
  250. package/dist/cjs/ion-checkbox.cjs.entry.js +34 -16
  251. package/dist/cjs/ion-chip.cjs.entry.js +50 -9
  252. package/dist/cjs/ion-col_3.cjs.entry.js +54 -57
  253. package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -9
  254. package/dist/cjs/{ion-datetime.cjs.entry.js → ion-datetime_3.cjs.entry.js} +755 -32
  255. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  256. package/dist/cjs/ion-fab_3.cjs.entry.js +44 -28
  257. package/dist/cjs/ion-img.cjs.entry.js +8 -4
  258. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +91 -16
  259. package/dist/cjs/ion-input-otp.cjs.entry.js +74 -9
  260. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +53 -15
  261. package/dist/cjs/ion-input.cjs.entry.js +124 -34
  262. package/dist/cjs/ion-item-option_3.cjs.entry.js +401 -31
  263. package/dist/cjs/ion-item_8.cjs.entry.js +116 -49
  264. package/dist/cjs/ion-loading.cjs.entry.js +20 -22
  265. package/dist/cjs/ion-menu_3.cjs.entry.js +47 -29
  266. package/dist/cjs/ion-modal.cjs.entry.js +262 -142
  267. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
  268. package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
  269. package/dist/cjs/ion-picker-column.cjs.entry.js +15 -15
  270. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  271. package/dist/cjs/ion-popover.cjs.entry.js +21 -23
  272. package/dist/cjs/ion-progress-bar.cjs.entry.js +27 -9
  273. package/dist/cjs/ion-radio_2.cjs.entry.js +35 -17
  274. package/dist/cjs/ion-range.cjs.entry.js +20 -13
  275. package/dist/cjs/ion-refresher_2.cjs.entry.js +39 -21
  276. package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -14
  277. package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
  278. package/dist/cjs/ion-route_4.cjs.entry.js +10 -9
  279. package/dist/cjs/ion-searchbar.cjs.entry.js +137 -24
  280. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  281. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
  282. package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
  283. package/dist/cjs/ion-select-modal.cjs.entry.js +34 -11
  284. package/dist/cjs/ion-select_3.cjs.entry.js +142 -42
  285. package/dist/cjs/ion-spinner.cjs.entry.js +30 -8
  286. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -9
  287. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +147 -23
  288. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  289. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  290. package/dist/cjs/ion-textarea.cjs.entry.js +137 -23
  291. package/dist/cjs/ion-toast.cjs.entry.js +69 -46
  292. package/dist/cjs/ion-toggle.cjs.entry.js +82 -25
  293. package/dist/cjs/ionic-global-CSEbHD_F.js +519 -0
  294. package/dist/cjs/ionic.cjs.js +4 -4
  295. package/dist/cjs/{ios.transition-trBiC95R.js → ios.transition-UCjoxA3D.js} +7 -5
  296. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Bhav6x-R.js} +4 -3
  297. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Dsczf-iT.js} +1 -1
  298. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-tqGDP9SU.js} +11 -9
  299. package/dist/cjs/list-a-7GSA6K.js +8 -0
  300. package/dist/cjs/loader.cjs.js +4 -4
  301. package/dist/cjs/{md.transition-CUQECuvD.js → md.transition-CNwlchQn.js} +6 -5
  302. package/dist/cjs/{notch-controller-sD-lTpdc.js → notch-controller-CgtkBzy0.js} +4 -4
  303. package/dist/cjs/{overlays-DIfHxkst.js → overlays-Hci_7vw_.js} +117 -42
  304. package/dist/cjs/{status-tap-CCJk5VgT.js → status-tap-CTY2dMsZ.js} +4 -3
  305. package/dist/cjs/{swipe-back-BGhTQ1CU.js → swipe-back-jJFi5KCB.js} +3 -2
  306. package/dist/cjs/{theme-CeDs6Hcv.js → theme-IlOsGAz7.js} +25 -1
  307. package/dist/cjs/validity-QmuwEptc.js +51 -0
  308. package/dist/cjs/x-BTF99yFH.js +8 -0
  309. package/dist/collection/collection-manifest.json +10 -5
  310. package/dist/collection/components/accordion/accordion.ionic.css +201 -0
  311. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  312. package/dist/collection/components/accordion/accordion.js +41 -27
  313. package/dist/collection/components/accordion/accordion.md.css +67 -59
  314. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  315. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  316. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  317. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  318. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  319. package/dist/collection/components/action-sheet/action-sheet.js +18 -18
  320. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  321. package/dist/collection/components/alert/alert.ios.css +19 -1
  322. package/dist/collection/components/alert/alert.js +17 -18
  323. package/dist/collection/components/alert/alert.md.css +19 -1
  324. package/dist/collection/components/app/app.js +15 -83
  325. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  326. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  327. package/dist/collection/components/avatar/avatar.js +120 -4
  328. package/dist/collection/components/avatar/avatar.md.css +51 -0
  329. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  330. package/dist/collection/components/back-button/back-button.js +27 -19
  331. package/dist/collection/components/back-button/back-button.md.css +60 -48
  332. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  333. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  334. package/dist/collection/components/backdrop/backdrop.js +12 -6
  335. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  336. package/dist/collection/components/badge/badge.ionic.css +275 -0
  337. package/dist/collection/components/badge/badge.ios.css +139 -12
  338. package/dist/collection/components/badge/badge.js +145 -9
  339. package/dist/collection/components/badge/badge.md.css +123 -12
  340. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  341. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  342. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  343. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  344. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  345. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  346. package/dist/collection/components/button/button.ionic.css +646 -0
  347. package/dist/collection/components/button/button.ios.css +154 -46
  348. package/dist/collection/components/button/button.js +63 -27
  349. package/dist/collection/components/button/button.md.css +150 -50
  350. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  351. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  352. package/dist/collection/components/buttons/buttons.js +15 -9
  353. package/dist/collection/components/buttons/buttons.md.css +55 -3
  354. package/dist/collection/components/card/card.ionic.css +144 -0
  355. package/dist/collection/components/card/card.ios.css +65 -14
  356. package/dist/collection/components/card/card.js +41 -10
  357. package/dist/collection/components/card/card.md.css +65 -14
  358. package/dist/collection/components/card-content/card-content.ionic.css +89 -0
  359. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  360. package/dist/collection/components/card-content/card-content.js +12 -10
  361. package/dist/collection/components/card-content/card-content.md.css +20 -35
  362. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  363. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  364. package/dist/collection/components/card-header/card-header.js +13 -10
  365. package/dist/collection/components/card-header/card-header.md.css +27 -15
  366. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  367. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  368. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  369. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  370. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  371. package/dist/collection/components/card-title/card-title.js +11 -8
  372. package/dist/collection/components/card-title/card-title.md.css +73 -0
  373. package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
  374. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  375. package/dist/collection/components/checkbox/checkbox.js +70 -14
  376. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  377. package/dist/collection/components/chip/chip.ionic.css +217 -0
  378. package/dist/collection/components/chip/chip.ios.css +67 -14
  379. package/dist/collection/components/chip/chip.js +108 -8
  380. package/dist/collection/components/chip/chip.md.css +67 -14
  381. package/dist/collection/components/col/col.css +192 -4
  382. package/dist/collection/components/col/col.js +210 -61
  383. package/dist/collection/components/content/content.css +8 -2
  384. package/dist/collection/components/content/content.js +16 -11
  385. package/dist/collection/components/datetime/datetime.ionic.css +703 -0
  386. package/dist/collection/components/datetime/datetime.ios.css +302 -106
  387. package/dist/collection/components/datetime/datetime.js +111 -23
  388. package/dist/collection/components/datetime/datetime.md.css +293 -96
  389. package/dist/collection/components/datetime/utils/data.js +5 -5
  390. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  391. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  392. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  393. package/dist/collection/components/divider/divider.ionic.css +148 -0
  394. package/dist/collection/components/divider/divider.ios.css +87 -0
  395. package/dist/collection/components/divider/divider.js +94 -0
  396. package/dist/collection/components/divider/divider.md.css +87 -0
  397. package/dist/collection/components/fab/fab.css +25 -1
  398. package/dist/collection/components/fab/fab.js +9 -5
  399. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  400. package/dist/collection/components/fab-button/fab-button.js +36 -21
  401. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  402. package/dist/collection/components/fab-list/fab-list.css +12 -0
  403. package/dist/collection/components/fab-list/fab-list.js +9 -5
  404. package/dist/collection/components/footer/footer.ios.css +14 -2
  405. package/dist/collection/components/footer/footer.js +21 -16
  406. package/dist/collection/components/footer/footer.md.css +12 -0
  407. package/dist/collection/components/grid/grid.css +12 -0
  408. package/dist/collection/components/grid/grid.js +9 -5
  409. package/dist/collection/components/header/header.ionic.css +97 -0
  410. package/dist/collection/components/header/header.ios.css +25 -10
  411. package/dist/collection/components/header/header.js +50 -19
  412. package/dist/collection/components/header/header.md.css +23 -8
  413. package/dist/collection/components/header/header.utils.js +5 -5
  414. package/dist/collection/components/img/img.js +8 -2
  415. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  416. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  417. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  418. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  419. package/dist/collection/components/input/input.ionic.css +889 -0
  420. package/dist/collection/components/input/input.ios.css +223 -135
  421. package/dist/collection/components/input/input.js +148 -37
  422. package/dist/collection/components/input/input.md.css +193 -207
  423. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  424. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  425. package/dist/collection/components/input-otp/input-otp.js +73 -6
  426. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  427. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  428. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  429. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  430. package/dist/collection/components/item/item.ionic.css +508 -0
  431. package/dist/collection/components/item/item.ios.css +109 -69
  432. package/dist/collection/components/item/item.js +51 -20
  433. package/dist/collection/components/item/item.md.css +120 -68
  434. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  435. package/dist/collection/components/item-divider/item-divider.js +11 -8
  436. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  437. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  438. package/dist/collection/components/item-group/item-group.js +13 -7
  439. package/dist/collection/components/item-group/item-group.md.css +12 -0
  440. package/dist/collection/components/item-option/item-option.ionic.css +274 -0
  441. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  442. package/dist/collection/components/item-option/item-option.js +73 -9
  443. package/dist/collection/components/item-option/item-option.md.css +136 -29
  444. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  445. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  446. package/dist/collection/components/item-options/item-options.js +13 -7
  447. package/dist/collection/components/item-options/item-options.md.css +77 -34
  448. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  449. package/dist/collection/components/item-sliding/item-sliding.js +355 -14
  450. package/dist/collection/components/label/label.ios.css +18 -0
  451. package/dist/collection/components/label/label.js +11 -8
  452. package/dist/collection/components/label/label.md.css +18 -0
  453. package/dist/collection/components/list/list.ionic.css +212 -0
  454. package/dist/collection/components/list/list.ios.css +54 -14
  455. package/dist/collection/components/list/list.js +48 -9
  456. package/dist/collection/components/list/list.md.css +56 -16
  457. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  458. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  459. package/dist/collection/components/list-header/list-header.js +11 -8
  460. package/dist/collection/components/list-header/list-header.md.css +82 -38
  461. package/dist/collection/components/loading/loading.ios.css +13 -1
  462. package/dist/collection/components/loading/loading.js +15 -16
  463. package/dist/collection/components/loading/loading.md.css +13 -1
  464. package/dist/collection/components/menu/menu.ios.css +15 -3
  465. package/dist/collection/components/menu/menu.js +12 -7
  466. package/dist/collection/components/menu/menu.md.css +15 -3
  467. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  468. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  469. package/dist/collection/components/menu-button/menu-button.js +26 -10
  470. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  471. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  472. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  473. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  474. package/dist/collection/components/modal/animations/sheet.js +8 -2
  475. package/dist/collection/components/modal/gestures/sheet.js +76 -10
  476. package/dist/collection/components/modal/modal.ionic.css +247 -0
  477. package/dist/collection/components/modal/modal.ios.css +178 -70
  478. package/dist/collection/components/modal/modal.js +51 -17
  479. package/dist/collection/components/modal/modal.md.css +178 -70
  480. package/dist/collection/components/nav/nav.css +7 -1
  481. package/dist/collection/components/nav/nav.js +11 -5
  482. package/dist/collection/components/nav-link/nav-link.js +5 -1
  483. package/dist/collection/components/note/note.ios.css +12 -0
  484. package/dist/collection/components/note/note.js +11 -8
  485. package/dist/collection/components/note/note.md.css +12 -0
  486. package/dist/collection/components/picker/picker.ios.css +15 -3
  487. package/dist/collection/components/picker/picker.js +8 -5
  488. package/dist/collection/components/picker/picker.md.css +15 -3
  489. package/dist/collection/components/picker-column/picker-column.css +9 -2
  490. package/dist/collection/components/picker-column/picker-column.js +10 -9
  491. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  492. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  493. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  494. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  495. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  496. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  497. package/dist/collection/components/picker-legacy/picker.ios.css +312 -0
  498. package/dist/collection/components/picker-legacy/picker.js +891 -0
  499. package/dist/collection/components/picker-legacy/picker.md.css +299 -0
  500. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +243 -0
  501. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  502. package/dist/collection/components/picker-legacy-column/picker-column.md.css +234 -0
  503. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  504. package/dist/collection/components/popover/popover.ionic.css +274 -0
  505. package/dist/collection/components/popover/popover.ios.css +13 -1
  506. package/dist/collection/components/popover/popover.js +19 -20
  507. package/dist/collection/components/popover/popover.md.css +13 -1
  508. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  509. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  510. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  511. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  512. package/dist/collection/components/radio/radio.ionic.css +422 -0
  513. package/dist/collection/components/radio/radio.ios.css +134 -91
  514. package/dist/collection/components/radio/radio.js +15 -10
  515. package/dist/collection/components/radio/radio.md.css +134 -91
  516. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  517. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  518. package/dist/collection/components/radio-group/radio-group.js +48 -7
  519. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  520. package/dist/collection/components/range/range.ionic.css +567 -0
  521. package/dist/collection/components/range/range.ios.css +128 -85
  522. package/dist/collection/components/range/range.js +16 -10
  523. package/dist/collection/components/range/range.md.css +128 -85
  524. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  525. package/dist/collection/components/refresher/refresher.js +11 -8
  526. package/dist/collection/components/refresher/refresher.md.css +15 -2
  527. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  528. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  529. package/dist/collection/components/reorder/reorder.js +33 -6
  530. package/dist/collection/components/reorder/reorder.md.css +6 -0
  531. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  532. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  533. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  534. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  535. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  536. package/dist/collection/components/route/route.js +4 -0
  537. package/dist/collection/components/router/router.js +4 -0
  538. package/dist/collection/components/router-link/router-link.css +8 -2
  539. package/dist/collection/components/router-link/router-link.js +9 -5
  540. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  541. package/dist/collection/components/router-outlet/router-outlet.js +10 -40
  542. package/dist/collection/components/row/row.css +16 -0
  543. package/dist/collection/components/row/row.js +9 -2
  544. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  545. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  546. package/dist/collection/components/searchbar/searchbar.js +180 -33
  547. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  548. package/dist/collection/components/segment/segment.ionic.css +115 -0
  549. package/dist/collection/components/segment/segment.ios.css +45 -2
  550. package/dist/collection/components/segment/segment.js +11 -8
  551. package/dist/collection/components/segment/segment.md.css +45 -2
  552. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  553. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  554. package/dist/collection/components/segment-button/segment-button.js +11 -8
  555. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  556. package/dist/collection/components/segment-content/segment-content.js +1 -1
  557. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  558. package/dist/collection/components/segment-view/segment-view.js +6 -4
  559. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  560. package/dist/collection/components/select/select.ionic.css +777 -0
  561. package/dist/collection/components/select/select.ios.css +315 -176
  562. package/dist/collection/components/select/select.js +185 -53
  563. package/dist/collection/components/select/select.md.css +331 -178
  564. package/dist/collection/components/select-modal/select-modal.ionic.css +130 -0
  565. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  566. package/dist/collection/components/select-modal/select-modal.js +49 -5
  567. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  568. package/dist/collection/components/select-option/select-option.js +9 -2
  569. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  570. package/dist/collection/components/select-popover/select-popover.js +12 -4
  571. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  572. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  573. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  574. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  575. package/dist/collection/components/spinner/spinner.js +47 -6
  576. package/dist/collection/components/spinner/spinner.native.css +199 -0
  577. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  578. package/dist/collection/components/split-pane/split-pane.js +14 -8
  579. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  580. package/dist/collection/components/tab/tab.js +6 -2
  581. package/dist/collection/components/tab-bar/tab-bar.ionic.css +227 -0
  582. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  583. package/dist/collection/components/tab-bar/tab-bar.js +171 -13
  584. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  585. package/dist/collection/components/tab-button/tab-button.ionic.css +348 -0
  586. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  587. package/dist/collection/components/tab-button/tab-button.js +54 -9
  588. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  589. package/dist/collection/components/tabs/tabs.css +7 -1
  590. package/dist/collection/components/tabs/tabs.js +4 -1
  591. package/dist/collection/components/text/text.css +6 -0
  592. package/dist/collection/components/text/text.js +7 -6
  593. package/dist/collection/components/textarea/textarea.ionic.css +898 -0
  594. package/dist/collection/components/textarea/textarea.ios.css +298 -158
  595. package/dist/collection/components/textarea/textarea.js +162 -24
  596. package/dist/collection/components/textarea/textarea.md.css +312 -159
  597. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  598. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  599. package/dist/collection/components/title/title.ionic.css +127 -0
  600. package/dist/collection/components/title/title.ios.css +32 -4
  601. package/dist/collection/components/title/title.js +13 -7
  602. package/dist/collection/components/title/title.md.css +32 -4
  603. package/dist/collection/components/toast/animations/utils.js +1 -1
  604. package/dist/collection/components/toast/toast.ionic.css +394 -0
  605. package/dist/collection/components/toast/toast.ios.css +84 -45
  606. package/dist/collection/components/toast/toast.js +76 -13
  607. package/dist/collection/components/toast/toast.md.css +84 -45
  608. package/dist/collection/components/toggle/toggle.ionic.css +508 -0
  609. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  610. package/dist/collection/components/toggle/toggle.js +73 -18
  611. package/dist/collection/components/toggle/toggle.md.css +244 -131
  612. package/dist/collection/components/toolbar/test/image.svg +1 -0
  613. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  614. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  615. package/dist/collection/components/toolbar/toolbar.js +218 -13
  616. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  617. package/dist/collection/global/ionic-global.js +241 -13
  618. package/dist/collection/index.js +1 -1
  619. package/dist/collection/utils/focus-trap.js +13 -2
  620. package/dist/collection/utils/focus-visible.js +22 -0
  621. package/dist/collection/utils/forms/validity.js +31 -0
  622. package/dist/collection/utils/framework-delegate.js +3 -1
  623. package/dist/collection/utils/hardware-back-button.js +15 -0
  624. package/dist/collection/utils/helpers.js +57 -3
  625. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  626. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  627. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  628. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  629. package/dist/collection/utils/overlays.js +97 -31
  630. package/dist/collection/utils/test/playwright/drag-element.js +3 -4
  631. package/dist/collection/utils/test/playwright/generator.js +48 -23
  632. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  633. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  634. package/dist/collection/utils/theme.js +25 -1
  635. package/dist/collection/utils/transition/ios.transition.js +1 -0
  636. package/dist/docs.json +9698 -675
  637. package/dist/esm/{animation-CnGMT4ji.js → animation-Cqe2x-Pt.js} +2 -2
  638. package/dist/esm/{app-globals-DhZjtldk.js → app-globals-Dk1rB3aE.js} +1 -1
  639. package/dist/esm/{button-active-BBx21brx.js → button-active-g6ZnZzDZ.js} +2 -2
  640. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-C4lYa1nV.js} +1 -1
  641. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  642. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  643. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  644. package/dist/esm/{config-TO1rZH52.js → config-BvDxfLa-.js} +1 -1
  645. package/dist/esm/{data-B9iGR5YO.js → data-BNKYavC3.js} +6 -6
  646. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  647. package/dist/esm/{framework-delegate-CyxE1S_P.js → framework-delegate-CjVwn_KZ.js} +4 -2
  648. package/dist/esm/{haptic-DzAMWJuk.js → haptic-_88k1V5U.js} +1 -1
  649. package/dist/esm/{helpers-Tl8jw6S2.js → helpers-Do7zwvM1.js} +58 -5
  650. package/dist/esm/{index-hW6eNZ3o.js → index-BmkLokUL.js} +2 -2
  651. package/dist/esm/{index-BtUdxPjv.js → index-C5t9-ciC.js} +4 -3
  652. package/dist/esm/{index-B-hkiOUh.js → index-CGthURny.js} +4 -4
  653. package/dist/esm/{index-AlrZKoWR.js → index-D2tu5BUg.js} +2 -1
  654. package/dist/esm/{index-IGIE5vDm.js → index-Omi_TcwW.js} +41 -4
  655. package/dist/esm/{index-B2KwgBLx.js → index-hpH08p5s.js} +11 -11
  656. package/dist/esm/index.js +13 -14
  657. package/dist/esm/{input-shims-AaDhOpKN.js → input-shims-vDjCsx95.js} +7 -6
  658. package/dist/esm/{input.utils-Bxa_DQ7-.js → input.utils-B9Q5xHp6.js} +3 -3
  659. package/dist/esm/ion-accordion_2.entry.js +61 -29
  660. package/dist/esm/ion-action-sheet.entry.js +25 -26
  661. package/dist/esm/ion-alert.entry.js +25 -27
  662. package/dist/esm/ion-app_8.entry.js +296 -175
  663. package/dist/esm/ion-avatar_3.entry.js +125 -13
  664. package/dist/esm/ion-back-button.entry.js +31 -22
  665. package/dist/esm/ion-backdrop.entry.js +10 -7
  666. package/dist/esm/ion-breadcrumb_2.entry.js +54 -18
  667. package/dist/esm/ion-button_2.entry.js +59 -22
  668. package/dist/esm/ion-card_5.entry.js +55 -33
  669. package/dist/esm/ion-checkbox.entry.js +34 -16
  670. package/dist/esm/ion-chip.entry.js +50 -9
  671. package/dist/esm/ion-col_3.entry.js +54 -57
  672. package/dist/esm/ion-datetime-button.entry.js +13 -9
  673. package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +754 -33
  674. package/dist/esm/ion-divider.entry.js +49 -0
  675. package/dist/esm/ion-fab_3.entry.js +44 -28
  676. package/dist/esm/ion-img.entry.js +8 -4
  677. package/dist/esm/ion-infinite-scroll_2.entry.js +91 -16
  678. package/dist/esm/ion-input-otp.entry.js +74 -9
  679. package/dist/esm/ion-input-password-toggle.entry.js +53 -15
  680. package/dist/esm/ion-input.entry.js +124 -34
  681. package/dist/esm/ion-item-option_3.entry.js +401 -31
  682. package/dist/esm/ion-item_8.entry.js +116 -49
  683. package/dist/esm/ion-loading.entry.js +20 -22
  684. package/dist/esm/ion-menu_3.entry.js +47 -29
  685. package/dist/esm/ion-modal.entry.js +215 -95
  686. package/dist/esm/ion-nav_2.entry.js +14 -11
  687. package/dist/esm/ion-picker-column-option.entry.js +12 -8
  688. package/dist/esm/ion-picker-column.entry.js +14 -14
  689. package/dist/esm/ion-picker.entry.js +10 -6
  690. package/dist/esm/ion-popover.entry.js +21 -23
  691. package/dist/esm/ion-progress-bar.entry.js +27 -9
  692. package/dist/esm/ion-radio_2.entry.js +35 -17
  693. package/dist/esm/ion-range.entry.js +20 -13
  694. package/dist/esm/ion-refresher_2.entry.js +39 -21
  695. package/dist/esm/ion-reorder_2.entry.js +38 -14
  696. package/dist/esm/ion-ripple-effect.entry.js +15 -7
  697. package/dist/esm/ion-route_4.entry.js +10 -9
  698. package/dist/esm/ion-searchbar.entry.js +137 -24
  699. package/dist/esm/ion-segment-content.entry.js +2 -2
  700. package/dist/esm/ion-segment-view.entry.js +6 -3
  701. package/dist/esm/ion-segment_2.entry.js +23 -16
  702. package/dist/esm/ion-select-modal.entry.js +34 -11
  703. package/dist/esm/ion-select_3.entry.js +142 -42
  704. package/dist/esm/ion-spinner.entry.js +30 -8
  705. package/dist/esm/ion-split-pane.entry.js +12 -9
  706. package/dist/esm/ion-tab-bar_2.entry.js +147 -23
  707. package/dist/esm/ion-tab_2.entry.js +8 -7
  708. package/dist/esm/ion-text.entry.js +7 -7
  709. package/dist/esm/ion-textarea.entry.js +137 -23
  710. package/dist/esm/ion-toast.entry.js +44 -21
  711. package/dist/esm/ion-toggle.entry.js +82 -25
  712. package/dist/esm/ionic-global-CAZb-5i-.js +508 -0
  713. package/dist/esm/ionic.js +5 -5
  714. package/dist/esm/{ios.transition--aMF-pDH.js → ios.transition-CzSncKQg.js} +7 -5
  715. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Cpw6xVLJ.js} +1 -1
  716. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-DJpS2IGK.js} +4 -3
  717. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-CAc33ylR.js} +5 -3
  718. package/dist/esm/list-Dhi5xtNS.js +6 -0
  719. package/dist/esm/loader.js +5 -5
  720. package/dist/esm/{md.transition-BEVbfm8j.js → md.transition-DIsWqYBZ.js} +6 -5
  721. package/dist/esm/{notch-controller-DAcvKU57.js → notch-controller-DiBq57w8.js} +2 -2
  722. package/dist/esm/{overlays-BDGzTP3L.js → overlays-rwDDzEs4.js} +114 -39
  723. package/dist/esm/{status-tap-BfJqFSLF.js → status-tap-fYFdZg6z.js} +4 -3
  724. package/dist/esm/{swipe-back-BZBFwTQV.js → swipe-back-BzGqTrrq.js} +3 -2
  725. package/dist/esm/{theme-DiVJyqlX.js → theme-DaJxRxSQ.js} +25 -1
  726. package/dist/esm/validity-BjW8SOqw.js +48 -0
  727. package/dist/esm/x-BDqjX7Z_.js +6 -0
  728. package/dist/html.html-data.json +2544 -129
  729. package/dist/ionic/index.esm.js +1 -1
  730. package/dist/ionic/ionic.esm.js +1 -1
  731. package/dist/ionic/p-07d3388f.entry.js +4 -0
  732. package/dist/ionic/p-092e92b0.entry.js +4 -0
  733. package/dist/ionic/p-09338ca0.entry.js +4 -0
  734. package/dist/ionic/p-11nqcMM3.js +4 -0
  735. package/dist/ionic/p-139d02eb.entry.js +4 -0
  736. package/dist/ionic/p-1855fcb6.entry.js +4 -0
  737. package/dist/ionic/p-228b6a9c.entry.js +4 -0
  738. package/dist/ionic/p-2311e660.entry.js +4 -0
  739. package/dist/ionic/p-2aa44c65.entry.js +4 -0
  740. package/dist/ionic/p-2bf931ae.entry.js +4 -0
  741. package/dist/ionic/p-2effd05d.entry.js +4 -0
  742. package/dist/ionic/p-3093958a.entry.js +4 -0
  743. package/dist/ionic/p-37ccbee4.entry.js +4 -0
  744. package/dist/ionic/p-3aba19e2.entry.js +4 -0
  745. package/dist/ionic/p-3bf01c2c.entry.js +4 -0
  746. package/dist/ionic/p-4091ad21.entry.js +4 -0
  747. package/dist/ionic/p-41914dc2.entry.js +4 -0
  748. package/dist/ionic/p-45825c2c.entry.js +4 -0
  749. package/dist/ionic/p-4610e447.entry.js +4 -0
  750. package/dist/ionic/p-488992b6.entry.js +4 -0
  751. package/dist/ionic/p-49c92227.entry.js +4 -0
  752. package/dist/ionic/p-4c864eb2.entry.js +4 -0
  753. package/dist/ionic/p-4ce731be.entry.js +4 -0
  754. package/dist/ionic/p-4e46439d.entry.js +4 -0
  755. package/dist/ionic/p-50d90690.entry.js +4 -0
  756. package/dist/ionic/p-5239fc93.entry.js +4 -0
  757. package/dist/ionic/p-575d972f.entry.js +4 -0
  758. package/dist/ionic/p-5ac21be2.entry.js +4 -0
  759. package/dist/ionic/p-5b7eaf60.entry.js +4 -0
  760. package/dist/ionic/p-64341e32.entry.js +4 -0
  761. package/dist/ionic/p-68c21b2a.entry.js +4 -0
  762. package/dist/ionic/p-6c8c37c2.entry.js +4 -0
  763. package/dist/ionic/p-6fbead83.entry.js +4 -0
  764. package/dist/ionic/p-7194f6fa.entry.js +4 -0
  765. package/dist/ionic/p-76d0e7ef.entry.js +4 -0
  766. package/dist/ionic/p-7959826e.entry.js +4 -0
  767. package/dist/ionic/p-79ae0425.entry.js +4 -0
  768. package/dist/ionic/p-7d267dc6.entry.js +4 -0
  769. package/dist/ionic/p-7fd3311f.entry.js +4 -0
  770. package/dist/ionic/p-8516eb69.entry.js +4 -0
  771. package/dist/ionic/p-8uDL7fql.js +4 -0
  772. package/dist/ionic/p-91e242e4.entry.js +4 -0
  773. package/dist/ionic/p-98c34fd7.entry.js +4 -0
  774. package/dist/ionic/p-9b9b1450.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-Bx0bt2Ar.js +4 -0
  780. package/dist/ionic/p-C2mpVKI1.js +4 -0
  781. package/dist/ionic/p-C4uUM9DM.js +4 -0
  782. package/dist/ionic/p-C5zxLmJ_.js +4 -0
  783. package/{components/p-BS1TtEiJ.js → dist/ionic/p-C8IHbcuP.js} +1 -1
  784. package/dist/ionic/p-CBV-BGvD.js +4 -0
  785. package/dist/ionic/p-CDn0uNJA.js +4 -0
  786. package/dist/ionic/p-CHE1xWbg.js +4 -0
  787. package/dist/ionic/p-CIk5QtPm.js +4 -0
  788. package/dist/ionic/p-CQKe4n56.js +4 -0
  789. package/dist/ionic/p-CVp2D--1.js +4 -0
  790. package/dist/ionic/p-CXqdKf1K.js +4 -0
  791. package/dist/ionic/p-Cb-0O4h8.js +4 -0
  792. package/dist/ionic/{p-CKvCXMs9.js → p-CbkICFBN.js} +1 -1
  793. package/dist/ionic/p-D1t981Ih.js +4 -0
  794. package/dist/ionic/p-D2tu5BUg.js +4 -0
  795. package/dist/ionic/{p-B8xlpH8p.js → p-DKWXAwlR.js} +1 -1
  796. package/dist/ionic/p-DaJxRxSQ.js +4 -0
  797. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  798. package/dist/ionic/p-DoyDJ2X5.js +4 -0
  799. package/dist/ionic/p-FvDKM4Ax.js +4 -0
  800. package/dist/ionic/p-Omi_TcwW.js +5 -0
  801. package/{components/p-D13Eaw-8.js → dist/ionic/p-SJmaFQ0H.js} +1 -1
  802. package/dist/ionic/p-SOASChNu.js +4 -0
  803. package/dist/ionic/{p-DjriolRs.js → p-ZqkJDyhe.js} +1 -1
  804. package/dist/ionic/p-a53a3ecc.entry.js +4 -0
  805. package/dist/ionic/p-acdc21a6.entry.js +4 -0
  806. package/dist/ionic/p-b00bbeb7.entry.js +4 -0
  807. package/dist/ionic/p-b8b20b7e.entry.js +4 -0
  808. package/dist/ionic/p-bc5713f7.entry.js +4 -0
  809. package/dist/ionic/p-caa1ce72.entry.js +4 -0
  810. package/dist/ionic/p-d954cd19.entry.js +4 -0
  811. package/dist/ionic/p-e45be51f.entry.js +4 -0
  812. package/dist/ionic/p-edb0b0c8.entry.js +4 -0
  813. package/dist/ionic/p-f061fcb7.entry.js +4 -0
  814. package/dist/ionic/p-f740c359.entry.js +4 -0
  815. package/dist/ionic/p-fIOYmaqA.js +4 -0
  816. package/dist/ionic/p-qETiT38a.js +4 -0
  817. package/dist/ionic/{p-gbVXD275.js → p-qYp06FUk.js} +1 -1
  818. package/dist/ionic/p-vXpMhGrs.js +4 -0
  819. package/dist/types/components/accordion/accordion.d.ts +6 -3
  820. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  821. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  822. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  823. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  824. package/dist/types/components/alert/alert.d.ts +3 -2
  825. package/dist/types/components/app/app.d.ts +4 -5
  826. package/dist/types/components/avatar/avatar.d.ts +32 -0
  827. package/dist/types/components/back-button/back-button.d.ts +2 -1
  828. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  829. package/dist/types/components/badge/badge.d.ts +34 -1
  830. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  831. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  832. package/dist/types/components/button/button.d.ts +23 -8
  833. package/dist/types/components/buttons/buttons.d.ts +5 -1
  834. package/dist/types/components/card/card.d.ts +8 -1
  835. package/dist/types/components/card-content/card-content.d.ts +2 -1
  836. package/dist/types/components/card-header/card-header.d.ts +3 -2
  837. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  838. package/dist/types/components/card-title/card-title.d.ts +2 -1
  839. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  840. package/dist/types/components/chip/chip.d.ts +26 -1
  841. package/dist/types/components/col/col.d.ts +52 -5
  842. package/dist/types/components/content/content.d.ts +3 -0
  843. package/dist/types/components/datetime/datetime.d.ts +27 -1
  844. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  845. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  846. package/dist/types/components/divider/divider.d.ts +20 -0
  847. package/dist/types/components/fab/fab.d.ts +4 -0
  848. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  849. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  850. package/dist/types/components/footer/footer.d.ts +4 -3
  851. package/dist/types/components/grid/grid.d.ts +4 -0
  852. package/dist/types/components/header/header.d.ts +9 -3
  853. package/dist/types/components/header/header.utils.d.ts +3 -3
  854. package/dist/types/components/img/img.d.ts +3 -0
  855. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  856. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  857. package/dist/types/components/input/input.d.ts +31 -5
  858. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  859. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  860. package/dist/types/components/item/item.d.ts +11 -4
  861. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  862. package/dist/types/components/item-group/item-group.d.ts +4 -0
  863. package/dist/types/components/item-option/item-option.d.ts +18 -1
  864. package/dist/types/components/item-options/item-options.d.ts +4 -0
  865. package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
  866. package/dist/types/components/label/label.d.ts +2 -1
  867. package/dist/types/components/list/list.d.ts +15 -1
  868. package/dist/types/components/list-header/list-header.d.ts +2 -1
  869. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  870. package/dist/types/components/loading/loading.d.ts +3 -2
  871. package/dist/types/components/menu/menu.d.ts +3 -0
  872. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  873. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  874. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  875. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  876. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  877. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  878. package/dist/types/components/modal/modal.d.ts +11 -1
  879. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  880. package/dist/types/components/nav/nav.d.ts +5 -1
  881. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  882. package/dist/types/components/note/note.d.ts +2 -1
  883. package/dist/types/components/picker/picker.d.ts +2 -1
  884. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  885. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  886. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  887. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  888. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  889. package/dist/types/components/picker-legacy/picker.d.ts +159 -0
  890. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  891. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  892. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  893. package/dist/types/components/popover/popover.d.ts +6 -5
  894. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  895. package/dist/types/components/radio/radio.d.ts +2 -1
  896. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  897. package/dist/types/components/range/range.d.ts +2 -1
  898. package/dist/types/components/refresher/refresher.d.ts +2 -1
  899. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  900. package/dist/types/components/reorder/reorder.d.ts +9 -0
  901. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  902. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  903. package/dist/types/components/route/route.d.ts +4 -0
  904. package/dist/types/components/router/router.d.ts +4 -0
  905. package/dist/types/components/router-link/router-link.d.ts +4 -0
  906. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -8
  907. package/dist/types/components/row/row.d.ts +4 -0
  908. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  909. package/dist/types/components/segment/segment.d.ts +2 -1
  910. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  911. package/dist/types/components/select/select.d.ts +49 -13
  912. package/dist/types/components/select-modal/select-modal.d.ts +8 -0
  913. package/dist/types/components/select-option/select-option.d.ts +4 -0
  914. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  915. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  916. package/dist/types/components/spinner/spinner.d.ts +15 -0
  917. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  918. package/dist/types/components/tab/tab.d.ts +4 -0
  919. package/dist/types/components/tab-bar/tab-bar.d.ts +37 -2
  920. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  921. package/dist/types/components/tabs/tabs.d.ts +3 -0
  922. package/dist/types/components/text/text.d.ts +2 -1
  923. package/dist/types/components/textarea/textarea.d.ts +53 -4
  924. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  925. package/dist/types/components/title/title.d.ts +4 -0
  926. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  927. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  928. package/dist/types/components/toast/toast.d.ts +19 -2
  929. package/dist/types/components/toggle/toggle.d.ts +15 -1
  930. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  931. package/dist/types/components.d.ts +2031 -256
  932. package/dist/types/global/ionic-global.d.ts +28 -2
  933. package/dist/types/index.d.ts +1 -1
  934. package/dist/types/interface.d.ts +4 -0
  935. package/dist/types/utils/config.d.ts +114 -2
  936. package/dist/types/utils/focus-trap.d.ts +1 -1
  937. package/dist/types/utils/focus-visible.d.ts +13 -0
  938. package/dist/types/utils/forms/validity.d.ts +7 -0
  939. package/dist/types/utils/helpers.d.ts +11 -0
  940. package/dist/types/utils/overlays-interface.d.ts +31 -1
  941. package/dist/types/utils/overlays.d.ts +10 -12
  942. package/dist/types/utils/test/playwright/drag-element.d.ts +1 -1
  943. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  944. package/dist/types/utils/theme.d.ts +9 -0
  945. package/hydrate/index.js +4627 -1156
  946. package/hydrate/index.mjs +4627 -1156
  947. package/package.json +9 -5
  948. package/components/p-ApmKVjaE.js +0 -4
  949. package/components/p-B6FQ0cKR.js +0 -4
  950. package/components/p-B6HaBl3o.js +0 -4
  951. package/components/p-B8b1Ukl9.js +0 -4
  952. package/components/p-BHlzkIpO.js +0 -4
  953. package/components/p-BJoMtgfR.js +0 -4
  954. package/components/p-BNAG-aVv.js +0 -4
  955. package/components/p-BR3tZJmu.js +0 -4
  956. package/components/p-BYDc3hSE.js +0 -4
  957. package/components/p-BagjAGC0.js +0 -4
  958. package/components/p-BeL7B3Bb.js +0 -4
  959. package/components/p-Bg7NsGS9.js +0 -4
  960. package/components/p-BgwEQWW6.js +0 -4
  961. package/components/p-Bk2zuNWT.js +0 -4
  962. package/components/p-BmVRXR1y.js +0 -4
  963. package/components/p-BxwWvu-b.js +0 -4
  964. package/components/p-C4jPsTQa.js +0 -4
  965. package/components/p-C59ryAuS.js +0 -4
  966. package/components/p-C7AoMl7c.js +0 -4
  967. package/components/p-CBzELu-H.js +0 -4
  968. package/components/p-CDXBV7oG.js +0 -4
  969. package/components/p-CDfQnFrd.js +0 -4
  970. package/components/p-CIGNaXM1.js +0 -4
  971. package/components/p-CO7fmmxt.js +0 -4
  972. package/components/p-CU1SSH8_.js +0 -4
  973. package/components/p-CWpbvhwY.js +0 -4
  974. package/components/p-CeGEptO5.js +0 -4
  975. package/components/p-CgqKJg96.js +0 -4
  976. package/components/p-CneGxKsZ.js +0 -4
  977. package/components/p-CoA-aqGF.js +0 -4
  978. package/components/p-ConfEMkh.js +0 -4
  979. package/components/p-Csw8xuz4.js +0 -4
  980. package/components/p-CtWGkNnJ.js +0 -4
  981. package/components/p-Cy5XSfIk.js +0 -4
  982. package/components/p-Cz5nLPGT.js +0 -4
  983. package/components/p-D6NJwNJN.js +0 -4
  984. package/components/p-D6Ynv7Xh.js +0 -4
  985. package/components/p-DJztqcrH.js +0 -4
  986. package/components/p-DL2W2mt3.js +0 -4
  987. package/components/p-DPdqO7R6.js +0 -4
  988. package/components/p-DYdpXONG.js +0 -4
  989. package/components/p-DbISMmiI.js +0 -4
  990. package/components/p-DgbT0exM.js +0 -4
  991. package/components/p-DiVJyqlX.js +0 -4
  992. package/components/p-DoeApPDj.js +0 -4
  993. package/components/p-DrIm1s9R.js +0 -4
  994. package/components/p-DxXmSp9Y.js +0 -4
  995. package/components/p-ZjP4CjeZ.js +0 -4
  996. package/components/p-cvHphHJA.js +0 -4
  997. package/components/p-nPoOPlPt.js +0 -4
  998. package/components/p-vEbVo2hO.js +0 -4
  999. package/dist/cjs/hardware-back-button-C4rMJ5uI.js +0 -121
  1000. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1001. package/dist/cjs/ionic-global-Bc3kJi1Z.js +0 -151
  1002. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1003. package/dist/esm/hardware-back-button-CTe4XmL7.js +0 -115
  1004. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1005. package/dist/esm/ionic-global-DfbeLwcV.js +0 -146
  1006. package/dist/esm/validity-DJztqcrH.js +0 -17
  1007. package/dist/ionic/p-04535ede.entry.js +0 -4
  1008. package/dist/ionic/p-045a6a42.entry.js +0 -4
  1009. package/dist/ionic/p-18b5d5ff.entry.js +0 -4
  1010. package/dist/ionic/p-19adf785.entry.js +0 -4
  1011. package/dist/ionic/p-1d2163ad.entry.js +0 -4
  1012. package/dist/ionic/p-30f5ad9e.entry.js +0 -4
  1013. package/dist/ionic/p-34b3a309.entry.js +0 -4
  1014. package/dist/ionic/p-370a60ee.entry.js +0 -4
  1015. package/dist/ionic/p-3b58996c.entry.js +0 -4
  1016. package/dist/ionic/p-460fbe5b.entry.js +0 -4
  1017. package/dist/ionic/p-4c8d8c55.entry.js +0 -4
  1018. package/dist/ionic/p-4ea520a4.entry.js +0 -4
  1019. package/dist/ionic/p-4ed63122.entry.js +0 -4
  1020. package/dist/ionic/p-4f3a8ccf.entry.js +0 -4
  1021. package/dist/ionic/p-528d4c1d.entry.js +0 -4
  1022. package/dist/ionic/p-5430ae94.entry.js +0 -4
  1023. package/dist/ionic/p-66494f9b.entry.js +0 -4
  1024. package/dist/ionic/p-6af16209.entry.js +0 -4
  1025. package/dist/ionic/p-6b97f2a3.entry.js +0 -4
  1026. package/dist/ionic/p-6da572e7.entry.js +0 -4
  1027. package/dist/ionic/p-6e99ae8d.entry.js +0 -4
  1028. package/dist/ionic/p-7f269aff.entry.js +0 -4
  1029. package/dist/ionic/p-7f9db51b.entry.js +0 -4
  1030. package/dist/ionic/p-87125490.entry.js +0 -4
  1031. package/dist/ionic/p-898f9d11.entry.js +0 -4
  1032. package/dist/ionic/p-8a3a936b.entry.js +0 -4
  1033. package/dist/ionic/p-9833cf63.entry.js +0 -4
  1034. package/dist/ionic/p-9eeaBrnk.js +0 -4
  1035. package/dist/ionic/p-9fae83d8.entry.js +0 -4
  1036. package/dist/ionic/p-AlrZKoWR.js +0 -4
  1037. package/dist/ionic/p-BAt5H1ac.js +0 -4
  1038. package/dist/ionic/p-BW_TRJm8.js +0 -4
  1039. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1040. package/dist/ionic/p-Bum7H1fw.js +0 -4
  1041. package/dist/ionic/p-BxIcPWoV.js +0 -4
  1042. package/dist/ionic/p-C0JvVFMv.js +0 -4
  1043. package/dist/ionic/p-CGmVTdWh.js +0 -4
  1044. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1045. package/dist/ionic/p-CYbRmDdy.js +0 -4
  1046. package/dist/ionic/p-CYvM5g3q.js +0 -4
  1047. package/dist/ionic/p-CmFz1Mjc.js +0 -4
  1048. package/dist/ionic/p-Csx_Ej2k.js +0 -4
  1049. package/dist/ionic/p-CtA-yJYy.js +0 -4
  1050. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  1051. package/dist/ionic/p-D8HJQ1qq.js +0 -4
  1052. package/dist/ionic/p-DB_iPQC-.js +0 -4
  1053. package/dist/ionic/p-DJztqcrH.js +0 -4
  1054. package/dist/ionic/p-DLbbmF9h.js +0 -4
  1055. package/dist/ionic/p-DiVJyqlX.js +0 -4
  1056. package/dist/ionic/p-DtVZDHlS.js +0 -4
  1057. package/dist/ionic/p-IGIE5vDm.js +0 -5
  1058. package/dist/ionic/p-NFFyoJ4Q.js +0 -4
  1059. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1060. package/dist/ionic/p-a39db980.entry.js +0 -4
  1061. package/dist/ionic/p-a805674e.entry.js +0 -4
  1062. package/dist/ionic/p-abca709f.entry.js +0 -4
  1063. package/dist/ionic/p-b553828c.entry.js +0 -4
  1064. package/dist/ionic/p-b5e3e1f7.entry.js +0 -4
  1065. package/dist/ionic/p-b6e0ff03.entry.js +0 -4
  1066. package/dist/ionic/p-b6f16f18.entry.js +0 -4
  1067. package/dist/ionic/p-c4c39b36.entry.js +0 -4
  1068. package/dist/ionic/p-c744307d.entry.js +0 -4
  1069. package/dist/ionic/p-c8f15bd8.entry.js +0 -4
  1070. package/dist/ionic/p-ca31010f.entry.js +0 -4
  1071. package/dist/ionic/p-cce0cd26.entry.js +0 -4
  1072. package/dist/ionic/p-cdd9bb6c.entry.js +0 -4
  1073. package/dist/ionic/p-d92ba088.entry.js +0 -4
  1074. package/dist/ionic/p-dc198c3a.entry.js +0 -4
  1075. package/dist/ionic/p-dead316d.entry.js +0 -4
  1076. package/dist/ionic/p-e663bc5a.entry.js +0 -4
  1077. package/dist/ionic/p-e6cedcd7.entry.js +0 -4
  1078. package/dist/ionic/p-e9dd191b.entry.js +0 -4
  1079. package/dist/ionic/p-ede28b71.entry.js +0 -4
  1080. package/dist/ionic/p-f17d05e3.entry.js +0 -4
  1081. package/dist/ionic/p-f5dfb9a3.entry.js +0 -4
  1082. package/dist/ionic/p-f7762013.entry.js +0 -4
  1083. package/dist/ionic/p-fed27c64.entry.js +0 -4
  1084. package/dist/ionic/p-hNN3VvaC.js +0 -4
  1085. /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-DIfHxkst.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,
@@ -1658,9 +1764,9 @@ let cacheInvalidationScheduled = false;
1658
1764
  * Matches: @media (min-width: 768px) and (min-height: 600px)
1659
1765
  */
1660
1766
  const isCenteredDialogViewport = () => {
1661
- if (!index.win)
1767
+ if (!ionicGlobal.win)
1662
1768
  return false;
1663
- return index.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
1769
+ return ionicGlobal.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
1664
1770
  .matches;
1665
1771
  };
1666
1772
  /**
@@ -1675,7 +1781,7 @@ const getRootSafeAreaTop = () => {
1675
1781
  if (cachedRootSafeAreaTop !== null) {
1676
1782
  return cachedRootSafeAreaTop;
1677
1783
  }
1678
- const doc = index.win === null || index.win === void 0 ? void 0 : index.win.document;
1784
+ const doc = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.document;
1679
1785
  if (!(doc === null || doc === void 0 ? void 0 : doc.body)) {
1680
1786
  return 0;
1681
1787
  }
@@ -1762,8 +1868,8 @@ const getInitialSafeAreaConfig = (context) => {
1762
1868
  const getPositionBasedSafeAreaConfig = (wrapperEl) => {
1763
1869
  var _a, _b;
1764
1870
  const rect = wrapperEl.getBoundingClientRect();
1765
- const vh = (_a = index.win === null || index.win === void 0 ? void 0 : index.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
1766
- const vw = (_b = index.win === null || index.win === void 0 ? void 0 : index.win.innerWidth) !== null && _b !== void 0 ? _b : 0;
1871
+ const vh = (_a = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
1872
+ const vw = (_b = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerWidth) !== null && _b !== void 0 ? _b : 0;
1767
1873
  // Only apply safe-area to sides where modal overlaps with screen edge
1768
1874
  return {
1769
1875
  top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
@@ -1796,26 +1902,28 @@ const clearSafeAreaOverrides = (hostEl) => {
1796
1902
  hostEl.style.removeProperty('--ion-safe-area-right');
1797
1903
  };
1798
1904
 
1799
- 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}`;
1905
+ 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)))}`;
1906
+
1907
+ 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}`;
1800
1908
 
1801
- 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}`;
1909
+ 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}`;
1802
1910
 
1803
1911
  const Modal = class {
1804
1912
  constructor(hostRef) {
1805
- index$3.registerInstance(this, hostRef);
1806
- this.didPresent = index$3.createEvent(this, "ionModalDidPresent", 7);
1807
- this.willPresent = index$3.createEvent(this, "ionModalWillPresent", 7);
1808
- this.willDismiss = index$3.createEvent(this, "ionModalWillDismiss", 7);
1809
- this.didDismiss = index$3.createEvent(this, "ionModalDidDismiss", 7);
1810
- this.ionBreakpointDidChange = index$3.createEvent(this, "ionBreakpointDidChange", 7);
1811
- this.didPresentShorthand = index$3.createEvent(this, "didPresent", 7);
1812
- this.willPresentShorthand = index$3.createEvent(this, "willPresent", 7);
1813
- this.willDismissShorthand = index$3.createEvent(this, "willDismiss", 7);
1814
- this.didDismissShorthand = index$3.createEvent(this, "didDismiss", 7);
1815
- this.ionMount = index$3.createEvent(this, "ionMount", 7);
1816
- this.ionDragStart = index$3.createEvent(this, "ionDragStart", 7);
1817
- this.ionDragMove = index$3.createEvent(this, "ionDragMove", 7);
1818
- this.ionDragEnd = index$3.createEvent(this, "ionDragEnd", 7);
1913
+ index$2.registerInstance(this, hostRef);
1914
+ this.didPresent = index$2.createEvent(this, "ionModalDidPresent", 7);
1915
+ this.willPresent = index$2.createEvent(this, "ionModalWillPresent", 7);
1916
+ this.willDismiss = index$2.createEvent(this, "ionModalWillDismiss", 7);
1917
+ this.didDismiss = index$2.createEvent(this, "ionModalDidDismiss", 7);
1918
+ this.ionBreakpointDidChange = index$2.createEvent(this, "ionBreakpointDidChange", 7);
1919
+ this.didPresentShorthand = index$2.createEvent(this, "didPresent", 7);
1920
+ this.willPresentShorthand = index$2.createEvent(this, "willPresent", 7);
1921
+ this.willDismissShorthand = index$2.createEvent(this, "willDismiss", 7);
1922
+ this.didDismissShorthand = index$2.createEvent(this, "didDismiss", 7);
1923
+ this.ionMount = index$2.createEvent(this, "ionMount", 7);
1924
+ this.ionDragStart = index$2.createEvent(this, "ionDragStart", 7);
1925
+ this.ionDragMove = index$2.createEvent(this, "ionDragMove", 7);
1926
+ this.ionDragEnd = index$2.createEvent(this, "ionDragEnd", 7);
1819
1927
  this.lockController = lockController.createLockController();
1820
1928
  this.triggerController = overlays.createTriggerController();
1821
1929
  this.coreDelegate = frameworkDelegate.CoreDelegate();
@@ -2058,10 +2166,6 @@ const Modal = class {
2058
2166
  // Also called in dismiss() — intentional dual cleanup covers both
2059
2167
  // dismiss-then-remove and direct DOM removal without dismiss.
2060
2168
  this.cleanupSafeAreaOverrides();
2061
- // Clean up aria-hidden if removed without dismiss() being called
2062
- if (this.presented) {
2063
- overlays.cleanupRootFocusTrapAccessibility();
2064
- }
2065
2169
  }
2066
2170
  componentWillLoad() {
2067
2171
  var _a;
@@ -2108,7 +2212,7 @@ const Modal = class {
2108
2212
  this.currentBreakpoint = this.initialBreakpoint;
2109
2213
  }
2110
2214
  if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
2111
- index$3.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
2215
+ index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
2112
2216
  }
2113
2217
  if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
2114
2218
  overlays.setOverlayId(this.el);
@@ -2208,7 +2312,7 @@ const Modal = class {
2208
2312
  * get the transition incorrect.
2209
2313
  */
2210
2314
  if (helpers.hasLazyBuild(el)) {
2211
- await index$4.deepReady(this.usersElement);
2315
+ await index$3.deepReady(this.usersElement);
2212
2316
  /**
2213
2317
  * If keepContentsMounted="true" then the
2214
2318
  * JS Framework has already mounted the inner
@@ -2219,9 +2323,9 @@ const Modal = class {
2219
2323
  */
2220
2324
  }
2221
2325
  else if (!this.keepContentsMounted) {
2222
- await index$4.waitForMount();
2326
+ await index$3.waitForMount();
2223
2327
  }
2224
- index$3.writeTask(() => this.el.classList.add('show-modal'));
2328
+ index$2.writeTask(() => this.el.classList.add('show-modal'));
2225
2329
  // Recalculate isSheetModal before safe-area setup because framework
2226
2330
  // bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
2227
2331
  this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
@@ -2238,11 +2342,12 @@ const Modal = class {
2238
2342
  this.statusBarStyle = await StatusBar.getStyle();
2239
2343
  setCardStatusBarDark();
2240
2344
  }
2241
- await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
2345
+ await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
2242
2346
  presentingEl: presentingElement,
2243
2347
  currentBreakpoint: this.initialBreakpoint,
2244
2348
  backdropBreakpoint: this.backdropBreakpoint,
2245
2349
  expandToScroll: this.expandToScroll,
2350
+ staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
2246
2351
  });
2247
2352
  // Update safe-area based on actual position after animation
2248
2353
  this.updateSafeAreaOverrides();
@@ -2300,14 +2405,14 @@ const Modal = class {
2300
2405
  // All of the elements needed for the swipe gesture
2301
2406
  // should be in the DOM and referenced by now, except
2302
2407
  // for the presenting el
2303
- const animationBuilder = this.leaveAnimation || index$3.config.get('modalLeave', iosLeaveAnimation);
2408
+ const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
2304
2409
  const ani = (this.animation = animationBuilder(el, {
2305
2410
  presentingEl: this.presentingElement,
2306
2411
  expandToScroll: this.expandToScroll,
2307
2412
  }));
2308
- const contentEl = index$2.findIonContent(el);
2413
+ const contentEl = index$1.findIonContent(el);
2309
2414
  if (!contentEl) {
2310
- index$2.printIonContentErrorMsg(el);
2415
+ index$1.printIonContentErrorMsg(el);
2311
2416
  return;
2312
2417
  }
2313
2418
  const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
@@ -2319,12 +2424,13 @@ const Modal = class {
2319
2424
  if (!wrapperEl || initialBreakpoint === undefined) {
2320
2425
  return;
2321
2426
  }
2322
- const animationBuilder = this.enterAnimation || index$3.config.get('modalEnter', iosEnterAnimation);
2427
+ const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
2323
2428
  const ani = (this.animation = animationBuilder(this.el, {
2324
2429
  presentingEl: this.presentingElement,
2325
2430
  currentBreakpoint: initialBreakpoint,
2326
2431
  backdropBreakpoint,
2327
2432
  expandToScroll: this.expandToScroll,
2433
+ staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
2328
2434
  }));
2329
2435
  ani.progressStart(true, 1);
2330
2436
  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) => {
@@ -2332,7 +2438,7 @@ const Modal = class {
2332
2438
  this.currentBreakpoint = breakpoint;
2333
2439
  this.ionBreakpointDidChange.emit({ breakpoint });
2334
2440
  }
2335
- }, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2441
+ }, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2336
2442
  this.gesture = gesture;
2337
2443
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
2338
2444
  this.gesture.enable(true);
@@ -2518,7 +2624,7 @@ const Modal = class {
2518
2624
  if (dismissed) {
2519
2625
  const { delegate } = this.getDelegate();
2520
2626
  await frameworkDelegate.detachComponent(delegate, this.usersElement);
2521
- index$3.writeTask(() => this.el.classList.remove('show-modal'));
2627
+ index$2.writeTask(() => this.el.classList.remove('show-modal'));
2522
2628
  if (this.animation) {
2523
2629
  this.animation.destroy();
2524
2630
  }
@@ -2555,11 +2661,11 @@ const Modal = class {
2555
2661
  */
2556
2662
  async setCurrentBreakpoint(breakpoint) {
2557
2663
  if (!this.isSheetModal) {
2558
- index$3.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
2664
+ index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
2559
2665
  return;
2560
2666
  }
2561
2667
  if (!this.breakpoints.includes(breakpoint)) {
2562
- 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.`);
2668
+ 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.`);
2563
2669
  return;
2564
2670
  }
2565
2671
  const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
@@ -2604,6 +2710,18 @@ const Modal = class {
2604
2710
  await this.setCurrentBreakpoint(nextBreakpoint);
2605
2711
  return true;
2606
2712
  }
2713
+ getShape() {
2714
+ const theme = ionicGlobal.getIonTheme(this);
2715
+ const { shape } = this;
2716
+ // TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
2717
+ if (theme !== 'ionic') {
2718
+ return undefined;
2719
+ }
2720
+ if (shape === undefined) {
2721
+ return 'round';
2722
+ }
2723
+ return shape;
2724
+ }
2607
2725
  initViewTransitionListener() {
2608
2726
  // Only enable for iOS card modals when no custom animations are provided
2609
2727
  if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
@@ -2906,26 +3024,27 @@ const Modal = class {
2906
3024
  render() {
2907
3025
  const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
2908
3026
  const showHandle = handle !== false && isSheetModal;
2909
- const mode = ionicGlobal.getIonMode(this);
2910
- const isCardModal = presentingElement !== undefined && mode === 'ios';
3027
+ const theme$1 = ionicGlobal.getIonTheme(this);
3028
+ const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
2911
3029
  const isHandleCycle = handleBehavior === 'cycle';
3030
+ const shape = this.getShape();
2912
3031
  const isSheetModalWithHandle = isSheetModal && showHandle;
2913
- return (index$3.h(index$3.Host, Object.assign({ key: 'e6df0917ac03a8d6bf67cc9bebf075d2b804ba22', "no-router": true,
3032
+ return (index$2.h(index$2.Host, Object.assign({ key: '3011c8f49c1ccb6c20c01db35b59fe4f6e22ec01', "no-router": true,
2914
3033
  // Allow the modal to be navigable when the handle is focusable
2915
3034
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
2916
3035
  zIndex: `${20000 + this.overlayIndex}`,
2917
- }, 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: '710ed1cbb6ae9c1a1fa7ae774fd44aa3bbee8381', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: 'c9051fcd099e9b73e17f015dea6e16fbd73e4df4', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '21e42d40099a569d95a4e04aa6d314c7d45c6192',
3036
+ }, 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: 'ab99fb4ff1b335b06d5676890012dfe3cd1a1a01', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme$1 === 'ios' && index$2.h("div", { key: '95d4c79c4455c6a5ae6d581fa9dfaabdbee8c567', class: "modal-shadow" }), index$2.h("div", Object.assign({ key: '2d7d2406cdb986c69ef52708d33eca67d8a877f8',
2918
3037
  /*
2919
3038
  role and aria-modal must be used on the
2920
3039
  same element. They must also be set inside the
2921
3040
  shadow DOM otherwise ion-button will not be highlighted
2922
3041
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
2923
3042
  */
2924
- 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: 'b48a6c32c9a7ebe5e070e8d9f3510d55d4bd1f9f', class: "modal-handle",
3043
+ 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: 'ccec8bfc314763bd6dd868b69fbfdc085f5957c9', class: "modal-handle",
2925
3044
  // Prevents the handle from receiving keyboard focus when it does not cycle
2926
- 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: '2a20160f66629c14e3414bbe01e5ee89101d02be', onSlotchange: this.onSlotChange }))));
3045
+ 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: '38469e3447b46983783627d697e12cadcef614fa', onSlotchange: this.onSlotChange }))));
2927
3046
  }
2928
- get el() { return index$3.getElement(this); }
3047
+ get el() { return index$2.getElement(this); }
2929
3048
  static get watchers() { return {
2930
3049
  "isOpen": [{
2931
3050
  "onIsOpenChange": 0
@@ -2942,6 +3061,7 @@ const LIFECYCLE_MAP = {
2942
3061
  ionModalDidDismiss: 'ionViewDidLeave',
2943
3062
  };
2944
3063
  Modal.style = {
3064
+ ionic: modalIonicCss(),
2945
3065
  ios: modalIosCss(),
2946
3066
  md: modalMdCss()
2947
3067
  };