@ionic/core 8.8.18-dev.11786399582.1d58c37d → 8.8.18-dev.11786487682.1e6f798f

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