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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1149) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-divider.d.ts +11 -0
  27. package/components/ion-divider.js +4 -0
  28. package/components/ion-fab-button.js +1 -1
  29. package/components/ion-fab-list.js +1 -1
  30. package/components/ion-fab.js +1 -1
  31. package/components/ion-footer.js +1 -1
  32. package/components/ion-gallery-item.d.ts +11 -0
  33. package/components/ion-gallery-item.js +4 -0
  34. package/components/ion-gallery.d.ts +11 -0
  35. package/components/ion-gallery.js +4 -0
  36. package/components/ion-grid.js +1 -1
  37. package/components/ion-header.js +1 -1
  38. package/components/ion-icon.js +1 -1
  39. package/components/ion-img.js +1 -1
  40. package/components/ion-infinite-scroll-content.js +1 -1
  41. package/components/ion-infinite-scroll.js +1 -1
  42. package/components/ion-input-otp.js +1 -1
  43. package/components/ion-input-password-toggle.js +1 -1
  44. package/components/ion-input.js +1 -1
  45. package/components/ion-item-divider.js +1 -1
  46. package/components/ion-item-group.js +1 -1
  47. package/components/ion-item-option.js +1 -1
  48. package/components/ion-item-options.js +1 -1
  49. package/components/ion-item-sliding.js +1 -1
  50. package/components/ion-item.js +1 -1
  51. package/components/ion-label.js +1 -1
  52. package/components/ion-list-header.js +1 -1
  53. package/components/ion-list.js +1 -1
  54. package/components/ion-loading.js +1 -1
  55. package/components/ion-menu-button.js +1 -1
  56. package/components/ion-menu-toggle.js +1 -1
  57. package/components/ion-menu.js +1 -1
  58. package/components/ion-modal.js +1 -1
  59. package/components/ion-nav-link.js +1 -1
  60. package/components/ion-nav.js +1 -1
  61. package/components/ion-note.js +1 -1
  62. package/components/ion-picker-column-option.js +1 -1
  63. package/components/ion-picker-column.js +1 -1
  64. package/components/ion-picker-legacy-column.js +1 -1
  65. package/components/ion-picker-legacy.js +1 -1
  66. package/components/ion-picker.js +1 -1
  67. package/components/ion-popover.js +1 -1
  68. package/components/ion-progress-bar.js +1 -1
  69. package/components/ion-radio-group.js +1 -1
  70. package/components/ion-radio.js +1 -1
  71. package/components/ion-range.js +1 -1
  72. package/components/ion-refresher-content.js +1 -1
  73. package/components/ion-refresher.js +1 -1
  74. package/components/ion-reorder-group.js +1 -1
  75. package/components/ion-reorder.js +1 -1
  76. package/components/ion-ripple-effect.js +1 -1
  77. package/components/ion-route-redirect.js +1 -1
  78. package/components/ion-route.js +1 -1
  79. package/components/ion-router-link.js +1 -1
  80. package/components/ion-router-outlet.js +1 -1
  81. package/components/ion-router.js +1 -1
  82. package/components/ion-row.js +1 -1
  83. package/components/ion-searchbar.js +1 -1
  84. package/components/ion-segment-button.js +1 -1
  85. package/components/ion-segment-content.js +1 -1
  86. package/components/ion-segment-view.js +1 -1
  87. package/components/ion-segment.js +1 -1
  88. package/components/ion-select-modal.js +1 -1
  89. package/components/ion-select-option.js +1 -1
  90. package/components/ion-select-popover.js +1 -1
  91. package/components/ion-select.js +1 -1
  92. package/components/ion-skeleton-text.js +1 -1
  93. package/components/ion-spinner.js +1 -1
  94. package/components/ion-split-pane.js +1 -1
  95. package/components/ion-tab-bar.js +1 -1
  96. package/components/ion-tab-button.js +1 -1
  97. package/components/ion-tab.js +1 -1
  98. package/components/ion-tabs.js +1 -1
  99. package/components/ion-text.js +1 -1
  100. package/components/ion-textarea.js +1 -1
  101. package/components/ion-thumbnail.js +1 -1
  102. package/components/ion-title.js +1 -1
  103. package/components/ion-toast.js +1 -1
  104. package/components/ion-toggle.js +1 -1
  105. package/components/ion-toolbar.js +1 -1
  106. package/components/p-3VXQGlP7.js +4 -0
  107. package/components/{p-BkKAANMJ.js → p-B2SvA6NE.js} +1 -1
  108. package/components/p-B5krYTuW.js +4 -0
  109. package/components/p-B6a9IJZ0.js +4 -0
  110. package/components/p-BArGQkuV.js +4 -0
  111. package/components/p-BDqjX7Z_.js +4 -0
  112. package/components/{p-Cf2jSDS8.js → p-BE21dB_a.js} +1 -1
  113. package/components/p-BG-Q139o.js +4 -0
  114. package/components/{p-cyNmxje6.js → p-BPxMDyfV.js} +1 -1
  115. package/components/p-BT8fsdEQ.js +4 -0
  116. package/components/p-BWH3I3Dl.js +4 -0
  117. package/components/p-BYSs-jZz.js +4 -0
  118. package/components/{p-DqLB8yFQ.js → p-BZwQa9ey.js} +1 -1
  119. package/components/{p-C_hpsif8.js → p-B_jBop0E.js} +1 -1
  120. package/components/p-BbVhJs-a.js +4 -0
  121. package/components/p-Bc6odfwr.js +4 -0
  122. package/components/p-BjW8SOqw.js +4 -0
  123. package/components/p-BkWXBpOv.js +4 -0
  124. package/components/p-Bt9GDUv-.js +4 -0
  125. package/components/p-BvNVjXg4.js +4 -0
  126. package/components/p-BwKpO3Is.js +4 -0
  127. package/components/p-BwlU9cX_.js +4 -0
  128. package/components/{p-Osve4qkc.js → p-Bz4JFPmj.js} +1 -1
  129. package/components/p-CBxy8OYq.js +4 -0
  130. package/components/p-CGdeq57o.js +4 -0
  131. package/components/p-CHPdgLHZ.js +4 -0
  132. package/components/p-CMZlqiT7.js +4 -0
  133. package/components/p-CMzkbes2.js +4 -0
  134. package/components/p-CODBQrPj.js +4 -0
  135. package/components/p-COPA4jD9.js +4 -0
  136. package/components/p-CPnW-OVE.js +4 -0
  137. package/components/p-CRmBpp1v.js +4 -0
  138. package/components/p-CT3P-wjL.js +4 -0
  139. package/components/p-CVYFPBs-.js +4 -0
  140. package/components/p-CVqhQif1.js +4 -0
  141. package/components/p-Cc3oC60a.js +4 -0
  142. package/components/p-CjY4Hs1X.js +4 -0
  143. package/components/p-CrYjk-l3.js +4 -0
  144. package/components/p-CsUcWJuB.js +4 -0
  145. package/components/p-D0Iqw6OZ.js +4 -0
  146. package/{dist/ionic/p-D13Eaw-8.js → components/p-D0fnq0lf.js} +1 -1
  147. package/components/p-D1kNlmYt.js +4 -0
  148. package/components/p-D1t981Ih.js +4 -0
  149. package/components/p-D9C5yWpF.js +4 -0
  150. package/components/p-DDNG-IsR.js +4 -0
  151. package/components/p-DJSp7Si8.js +4 -0
  152. package/components/p-DL5wyRub.js +4 -0
  153. package/components/{p-ChIZKXUu.js → p-DWoO0801.js} +1 -1
  154. package/components/p-DXKZXLjV.js +4 -0
  155. package/components/p-DaJxRxSQ.js +4 -0
  156. package/components/p-Dhi5xtNS.js +4 -0
  157. package/components/p-Do8qRv6r.js +4 -0
  158. package/components/p-Dt--PjSF.js +4 -0
  159. package/components/p-DylrHLJF.js +4 -0
  160. package/components/p-FCT_QxQG.js +4 -0
  161. package/components/p-OCde3AhO.js +4 -0
  162. package/components/p-OPFCgx0m.js +4 -0
  163. package/{dist/ionic/p-VAemlbDS.js → components/p-PCVpe9Tq.js} +1 -1
  164. package/components/p-Rkm2AOZ2.js +4 -0
  165. package/components/p-WSZErkoI.js +4 -0
  166. package/components/p-bHSMZulH.js +4 -0
  167. package/components/p-fIOYmaqA.js +4 -0
  168. package/components/p-hNcst9K9.js +4 -0
  169. package/components/p-hW_3y-wm.js +4 -0
  170. package/components/p-nLMDgmzd.js +4 -0
  171. package/components/p-oI96rnOD.js +4 -0
  172. package/components/p-r_CFQBc1.js +4 -0
  173. package/components/p-vXpMhGrs.js +4 -0
  174. package/components/p-zBZRdRDd.js +4 -0
  175. package/css/core.css +1 -1
  176. package/css/core.css.map +1 -1
  177. package/css/display.css +1 -1
  178. package/css/display.css.map +1 -1
  179. package/css/flex-utils.css +1 -1
  180. package/css/flex-utils.css.map +1 -1
  181. package/css/float-elements.css.map +1 -1
  182. package/css/global.bundle.css.map +1 -1
  183. package/css/ionic/bundle.ionic.css +1 -0
  184. package/css/ionic/bundle.ionic.css.map +1 -0
  185. package/css/ionic/core.ionic.css +1 -0
  186. package/css/ionic/core.ionic.css.map +1 -0
  187. package/css/ionic/global.bundle.ionic.css +1 -0
  188. package/css/ionic/global.bundle.ionic.css.map +1 -0
  189. package/css/ionic/ionic-swiper.ionic.css +1 -0
  190. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  191. package/css/ionic/link.ionic.css +1 -0
  192. package/css/ionic/link.ionic.css.map +1 -0
  193. package/css/ionic/structure.ionic.css +1 -0
  194. package/css/ionic/structure.ionic.css.map +1 -0
  195. package/css/ionic/typography.ionic.css +1 -0
  196. package/css/ionic/typography.ionic.css.map +1 -0
  197. package/css/ionic/utils.bundle.ionic.css +1 -0
  198. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  199. package/css/ionic-swiper.css +1 -1
  200. package/css/ionic-swiper.css.map +1 -1
  201. package/css/ionic.bundle.css +1 -1
  202. package/css/ionic.bundle.css.map +1 -1
  203. package/css/normalize.css.map +1 -1
  204. package/css/padding.css.map +1 -1
  205. package/css/palettes/dark.always.css.map +1 -1
  206. package/css/palettes/dark.class.css.map +1 -1
  207. package/css/palettes/dark.system.css.map +1 -1
  208. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  209. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  210. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  211. package/css/palettes/high-contrast.always.css.map +1 -1
  212. package/css/palettes/high-contrast.class.css.map +1 -1
  213. package/css/palettes/high-contrast.system.css.map +1 -1
  214. package/css/structure.css.map +1 -1
  215. package/css/text-alignment.css.map +1 -1
  216. package/css/text-transformation.css.map +1 -1
  217. package/css/typography.css.map +1 -1
  218. package/css/utils.bundle.css +1 -1
  219. package/css/utils.bundle.css.map +1 -1
  220. package/dist/cjs/{animation-BJq0kcy2.js → animation-B3xfVcDO.js} +3 -3
  221. package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-3ZoCVkn-.js} +1 -1
  222. package/dist/cjs/{button-active-0mPOKmV2.js → button-active-3tZKuPbT.js} +2 -2
  223. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CQSg1uCo.js} +3 -3
  224. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  225. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  226. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  227. package/dist/cjs/clear-button-press-controller-DGX8X5js.js +45 -0
  228. package/dist/cjs/config-DWdFbSNK.js +35 -0
  229. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  230. package/dist/cjs/{format-PxvGiOik.js → format-BCIkDef_.js} +1 -1
  231. package/dist/cjs/{framework-delegate-BtICZDHr.js → framework-delegate-DC5nq_NN.js} +4 -2
  232. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-eix26ESE.js} +1 -1
  233. package/dist/cjs/{helpers-Cv23MFHM.js → helpers-DiOgV5hw.js} +71 -4
  234. package/dist/cjs/{index-BERfRao3.js → index-BaJ7_YbC.js} +4 -4
  235. package/dist/cjs/index-Bj07IRTB.js +429 -0
  236. package/dist/cjs/{index-Dqpns5vP.js → index-BxEZd5IE.js} +2 -34
  237. package/dist/cjs/{index-DqmRDbxg.js → index-CxDnX7hd.js} +3 -1
  238. package/dist/cjs/{index-aC4x3Fk3.js → index-DYRcC3bw.js} +15 -15
  239. package/dist/cjs/{index-Ct7gcRif.js → index-GZU9YrFc.js} +41 -4
  240. package/dist/cjs/{index-D81eLYUM.js → index-bX3nz2vw.js} +9 -8
  241. package/dist/cjs/index.cjs.js +16 -16
  242. package/dist/cjs/{input-shims-DpA1zUN9.js → input-shims-BSEBw22J.js} +18 -17
  243. package/dist/cjs/{input.utils-DetjmtH2.js → input.utils-D68wgI2Y.js} +5 -5
  244. package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -29
  245. package/dist/cjs/ion-action-sheet.cjs.entry.js +41 -22
  246. package/dist/cjs/ion-alert.cjs.entry.js +78 -41
  247. package/dist/cjs/ion-app_8.cjs.entry.js +458 -194
  248. package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -13
  249. package/dist/cjs/ion-back-button.cjs.entry.js +31 -22
  250. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
  251. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +54 -18
  252. package/dist/cjs/ion-button_2.cjs.entry.js +61 -24
  253. package/dist/cjs/ion-card_5.cjs.entry.js +55 -33
  254. package/dist/cjs/ion-checkbox.cjs.entry.js +34 -17
  255. package/dist/cjs/ion-chip.cjs.entry.js +50 -9
  256. package/dist/cjs/ion-col_3.cjs.entry.js +56 -57
  257. package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -9
  258. package/dist/cjs/ion-datetime_3.cjs.entry.js +121 -46
  259. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  260. package/dist/cjs/ion-fab_3.cjs.entry.js +44 -28
  261. package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
  262. package/dist/cjs/ion-gallery.cjs.entry.js +607 -0
  263. package/dist/cjs/ion-img.cjs.entry.js +8 -4
  264. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +93 -17
  265. package/dist/cjs/ion-input-otp.cjs.entry.js +74 -9
  266. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +53 -15
  267. package/dist/cjs/ion-input.cjs.entry.js +132 -40
  268. package/dist/cjs/ion-item-option_3.cjs.entry.js +467 -52
  269. package/dist/cjs/ion-item_8.cjs.entry.js +121 -50
  270. package/dist/cjs/ion-loading.cjs.entry.js +22 -19
  271. package/dist/cjs/ion-menu_3.cjs.entry.js +47 -29
  272. package/dist/cjs/ion-modal.cjs.entry.js +303 -169
  273. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
  274. package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
  275. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
  276. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  277. package/dist/cjs/ion-popover.cjs.entry.js +21 -19
  278. package/dist/cjs/ion-progress-bar.cjs.entry.js +27 -9
  279. package/dist/cjs/ion-radio_2.cjs.entry.js +36 -18
  280. package/dist/cjs/ion-range.cjs.entry.js +20 -13
  281. package/dist/cjs/ion-refresher_2.cjs.entry.js +43 -24
  282. package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -14
  283. package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
  284. package/dist/cjs/ion-route_4.cjs.entry.js +11 -10
  285. package/dist/cjs/ion-searchbar.cjs.entry.js +146 -32
  286. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  287. package/dist/cjs/ion-segment-view.cjs.entry.js +13 -3
  288. package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
  289. package/dist/cjs/ion-select-modal.cjs.entry.js +114 -38
  290. package/dist/cjs/ion-select_3.cjs.entry.js +557 -108
  291. package/dist/cjs/ion-spinner.cjs.entry.js +30 -8
  292. package/dist/cjs/ion-split-pane.cjs.entry.js +13 -9
  293. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +150 -28
  294. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  295. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  296. package/dist/cjs/ion-textarea.cjs.entry.js +137 -23
  297. package/dist/cjs/ion-toast.cjs.entry.js +70 -46
  298. package/dist/cjs/ion-toggle.cjs.entry.js +82 -26
  299. package/dist/cjs/ionic-global-QoUqobrQ.js +519 -0
  300. package/dist/cjs/ionic.cjs.js +4 -4
  301. package/dist/cjs/{ios.transition-BOSWOaiK.js → ios.transition-DpFQfFfT.js} +7 -5
  302. package/dist/cjs/{item-multiple-inputs-D-gyg57c.js → item-multiple-inputs-BG9f5_eV.js} +1 -1
  303. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Bn0Ppim6.js} +1 -1
  304. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-faZBQysj.js} +4 -3
  305. package/dist/cjs/list-a-7GSA6K.js +8 -0
  306. package/dist/cjs/loader.cjs.js +4 -4
  307. package/dist/cjs/{md.transition-B8-wBZqt.js → md.transition-ChJcoZUH.js} +6 -5
  308. package/dist/cjs/{notch-controller-18PzRGXd.js → notch-controller-BO0UGB4F.js} +4 -4
  309. package/dist/cjs/overlay-control-label-DnRLQR1t.js +52 -0
  310. package/dist/cjs/{overlays-DdtIYQUH.js → overlays-CFGbPUmE.js} +309 -18
  311. package/dist/cjs/scroll-hide-controller-G9HOmmhN.js +345 -0
  312. package/dist/cjs/select-option-render-DqBHEjDn.js +124 -0
  313. package/dist/cjs/{status-tap-N1kaBbuk.js → status-tap-x2qDo5QR.js} +4 -3
  314. package/dist/cjs/{swipe-back-C0GCB18x.js → swipe-back-CvZt_4YX.js} +3 -2
  315. package/dist/cjs/{theme-CeDs6Hcv.js → theme-IlOsGAz7.js} +25 -1
  316. package/dist/cjs/validity-QmuwEptc.js +51 -0
  317. package/dist/cjs/x-BTF99yFH.js +8 -0
  318. package/dist/collection/collection-manifest.json +9 -1
  319. package/dist/collection/components/accordion/accordion.ionic.css +201 -0
  320. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  321. package/dist/collection/components/accordion/accordion.js +41 -27
  322. package/dist/collection/components/accordion/accordion.md.css +67 -59
  323. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  324. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  325. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  326. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  327. package/dist/collection/components/action-sheet/action-sheet.ionic.css +494 -0
  328. package/dist/collection/components/action-sheet/action-sheet.ios.css +367 -11
  329. package/dist/collection/components/action-sheet/action-sheet.js +32 -13
  330. package/dist/collection/components/action-sheet/action-sheet.md.css +306 -10
  331. package/dist/collection/components/alert/alert.ionic.css +787 -0
  332. package/dist/collection/components/alert/alert.ios.css +481 -19
  333. package/dist/collection/components/alert/alert.js +67 -30
  334. package/dist/collection/components/alert/alert.md.css +464 -29
  335. package/dist/collection/components/app/app.js +15 -83
  336. package/dist/collection/components/avatar/avatar.ionic.css +385 -0
  337. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  338. package/dist/collection/components/avatar/avatar.js +120 -4
  339. package/dist/collection/components/avatar/avatar.md.css +51 -0
  340. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  341. package/dist/collection/components/back-button/back-button.js +27 -19
  342. package/dist/collection/components/back-button/back-button.md.css +60 -48
  343. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  344. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  345. package/dist/collection/components/backdrop/backdrop.js +12 -6
  346. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  347. package/dist/collection/components/badge/badge.ionic.css +272 -0
  348. package/dist/collection/components/badge/badge.ios.css +137 -12
  349. package/dist/collection/components/badge/badge.js +145 -9
  350. package/dist/collection/components/badge/badge.md.css +122 -12
  351. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  352. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  353. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  354. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  355. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  356. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  357. package/dist/collection/components/button/button.ionic.css +644 -0
  358. package/dist/collection/components/button/button.ios.css +154 -46
  359. package/dist/collection/components/button/button.js +63 -27
  360. package/dist/collection/components/button/button.md.css +150 -50
  361. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  362. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  363. package/dist/collection/components/buttons/buttons.js +15 -9
  364. package/dist/collection/components/buttons/buttons.md.css +55 -3
  365. package/dist/collection/components/card/card.ionic.css +144 -0
  366. package/dist/collection/components/card/card.ios.css +65 -14
  367. package/dist/collection/components/card/card.js +41 -10
  368. package/dist/collection/components/card/card.md.css +65 -14
  369. package/dist/collection/components/card-content/card-content.ionic.css +89 -0
  370. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  371. package/dist/collection/components/card-content/card-content.js +12 -10
  372. package/dist/collection/components/card-content/card-content.md.css +20 -35
  373. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  374. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  375. package/dist/collection/components/card-header/card-header.js +13 -10
  376. package/dist/collection/components/card-header/card-header.md.css +27 -15
  377. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  378. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  379. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  380. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  381. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  382. package/dist/collection/components/card-title/card-title.js +11 -8
  383. package/dist/collection/components/card-title/card-title.md.css +73 -0
  384. package/dist/collection/components/checkbox/checkbox.ionic.css +543 -0
  385. package/dist/collection/components/checkbox/checkbox.ios.css +242 -117
  386. package/dist/collection/components/checkbox/checkbox.js +69 -14
  387. package/dist/collection/components/checkbox/checkbox.md.css +243 -118
  388. package/dist/collection/components/chip/chip.ionic.css +217 -0
  389. package/dist/collection/components/chip/chip.ios.css +67 -14
  390. package/dist/collection/components/chip/chip.js +108 -8
  391. package/dist/collection/components/chip/chip.md.css +67 -14
  392. package/dist/collection/components/col/col.css +192 -4
  393. package/dist/collection/components/col/col.js +211 -61
  394. package/dist/collection/components/content/content.css +47 -2
  395. package/dist/collection/components/content/content.js +16 -11
  396. package/dist/collection/components/datetime/datetime.ionic.css +703 -0
  397. package/dist/collection/components/datetime/datetime.ios.css +302 -106
  398. package/dist/collection/components/datetime/datetime.js +97 -20
  399. package/dist/collection/components/datetime/datetime.md.css +293 -96
  400. package/dist/collection/components/datetime/utils/data.js +5 -5
  401. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  402. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  403. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  404. package/dist/collection/components/divider/divider.ionic.css +148 -0
  405. package/dist/collection/components/divider/divider.ios.css +87 -0
  406. package/dist/collection/components/divider/divider.js +94 -0
  407. package/dist/collection/components/divider/divider.md.css +87 -0
  408. package/dist/collection/components/fab/fab.css +25 -1
  409. package/dist/collection/components/fab/fab.js +9 -5
  410. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  411. package/dist/collection/components/fab-button/fab-button.js +36 -21
  412. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  413. package/dist/collection/components/fab-list/fab-list.css +12 -0
  414. package/dist/collection/components/fab-list/fab-list.js +9 -5
  415. package/dist/collection/components/footer/footer-interface.js +1 -0
  416. package/dist/collection/components/footer/footer.ios.css +33 -6
  417. package/dist/collection/components/footer/footer.js +117 -25
  418. package/dist/collection/components/footer/footer.md.css +40 -0
  419. package/dist/collection/components/gallery/gallery-constants.js +12 -0
  420. package/dist/collection/components/gallery/gallery-interface.js +1 -0
  421. package/dist/collection/components/gallery/gallery.css +15 -0
  422. package/dist/collection/components/gallery/gallery.js +679 -0
  423. package/dist/collection/components/gallery/test/utils.js +100 -0
  424. package/dist/collection/components/gallery-item/gallery-item.css +49 -0
  425. package/dist/collection/components/gallery-item/gallery-item.js +99 -0
  426. package/dist/collection/components/grid/grid.css +12 -0
  427. package/dist/collection/components/grid/grid.js +9 -5
  428. package/dist/collection/components/header/header-interface.js +1 -0
  429. package/dist/collection/components/header/header.ionic.css +250 -0
  430. package/dist/collection/components/header/header.ios.css +178 -133
  431. package/dist/collection/components/header/header.js +181 -39
  432. package/dist/collection/components/header/header.md.css +199 -9
  433. package/dist/collection/components/header/header.utils.js +6 -13
  434. package/dist/collection/components/img/img.js +8 -2
  435. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  436. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  437. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  438. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  439. package/dist/collection/components/input/input.ionic.css +891 -0
  440. package/dist/collection/components/input/input.ios.css +224 -137
  441. package/dist/collection/components/input/input.js +158 -45
  442. package/dist/collection/components/input/input.md.css +194 -209
  443. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  444. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  445. package/dist/collection/components/input-otp/input-otp.js +74 -7
  446. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  447. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  448. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  449. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  450. package/dist/collection/components/item/item.ionic.css +496 -0
  451. package/dist/collection/components/item/item.ios.css +120 -80
  452. package/dist/collection/components/item/item.js +56 -21
  453. package/dist/collection/components/item/item.md.css +131 -79
  454. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  455. package/dist/collection/components/item-divider/item-divider.js +11 -8
  456. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  457. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  458. package/dist/collection/components/item-group/item-group.js +13 -7
  459. package/dist/collection/components/item-group/item-group.md.css +12 -0
  460. package/dist/collection/components/item-option/item-option.ionic.css +277 -0
  461. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  462. package/dist/collection/components/item-option/item-option.js +73 -9
  463. package/dist/collection/components/item-option/item-option.md.css +136 -29
  464. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  465. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  466. package/dist/collection/components/item-options/item-options.js +13 -7
  467. package/dist/collection/components/item-options/item-options.md.css +77 -34
  468. package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
  469. package/dist/collection/components/item-sliding/item-sliding.js +421 -35
  470. package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
  471. package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
  472. package/dist/collection/components/label/label.ios.css +18 -0
  473. package/dist/collection/components/label/label.js +11 -8
  474. package/dist/collection/components/label/label.md.css +18 -0
  475. package/dist/collection/components/list/list.ionic.css +212 -0
  476. package/dist/collection/components/list/list.ios.css +54 -14
  477. package/dist/collection/components/list/list.js +48 -9
  478. package/dist/collection/components/list/list.md.css +56 -16
  479. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  480. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  481. package/dist/collection/components/list-header/list-header.js +11 -8
  482. package/dist/collection/components/list-header/list-header.md.css +82 -38
  483. package/dist/collection/components/loading/loading.ios.css +13 -1
  484. package/dist/collection/components/loading/loading.js +14 -11
  485. package/dist/collection/components/loading/loading.md.css +13 -1
  486. package/dist/collection/components/menu/menu.ios.css +15 -3
  487. package/dist/collection/components/menu/menu.js +12 -7
  488. package/dist/collection/components/menu/menu.md.css +15 -3
  489. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  490. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  491. package/dist/collection/components/menu-button/menu-button.js +26 -10
  492. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  493. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  494. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  495. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  496. package/dist/collection/components/modal/animations/sheet.js +8 -2
  497. package/dist/collection/components/modal/gestures/sheet.js +102 -32
  498. package/dist/collection/components/modal/gestures/swipe-to-close.js +32 -3
  499. package/dist/collection/components/modal/gestures/utils.js +0 -17
  500. package/dist/collection/components/modal/modal.ionic.css +255 -0
  501. package/dist/collection/components/modal/modal.ios.css +178 -70
  502. package/dist/collection/components/modal/modal.js +52 -22
  503. package/dist/collection/components/modal/modal.md.css +178 -70
  504. package/dist/collection/components/nav/nav.css +7 -1
  505. package/dist/collection/components/nav/nav.js +11 -5
  506. package/dist/collection/components/nav-link/nav-link.js +5 -1
  507. package/dist/collection/components/note/note.ios.css +12 -0
  508. package/dist/collection/components/note/note.js +11 -8
  509. package/dist/collection/components/note/note.md.css +12 -0
  510. package/dist/collection/components/picker/picker.ios.css +15 -3
  511. package/dist/collection/components/picker/picker.js +8 -5
  512. package/dist/collection/components/picker/picker.md.css +15 -3
  513. package/dist/collection/components/picker-column/picker-column.css +9 -2
  514. package/dist/collection/components/picker-column/picker-column.js +8 -7
  515. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  516. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  517. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  518. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  519. package/dist/collection/components/picker-legacy/picker.js +7 -6
  520. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  521. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  522. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  523. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  524. package/dist/collection/components/popover/popover.ionic.css +290 -0
  525. package/dist/collection/components/popover/popover.ios.css +29 -1
  526. package/dist/collection/components/popover/popover.js +18 -15
  527. package/dist/collection/components/popover/popover.md.css +29 -1
  528. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  529. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  530. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  531. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  532. package/dist/collection/components/radio/radio.ionic.css +422 -0
  533. package/dist/collection/components/radio/radio.ios.css +207 -102
  534. package/dist/collection/components/radio/radio.js +14 -9
  535. package/dist/collection/components/radio/radio.md.css +207 -102
  536. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  537. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  538. package/dist/collection/components/radio-group/radio-group.js +48 -7
  539. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  540. package/dist/collection/components/range/range.ionic.css +567 -0
  541. package/dist/collection/components/range/range.ios.css +128 -85
  542. package/dist/collection/components/range/range.js +16 -10
  543. package/dist/collection/components/range/range.md.css +128 -85
  544. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  545. package/dist/collection/components/refresher/refresher.js +13 -10
  546. package/dist/collection/components/refresher/refresher.md.css +15 -2
  547. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  548. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  549. package/dist/collection/components/reorder/reorder.js +33 -6
  550. package/dist/collection/components/reorder/reorder.md.css +6 -0
  551. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  552. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  553. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  554. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  555. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  556. package/dist/collection/components/route/route.js +4 -0
  557. package/dist/collection/components/router/router.js +4 -0
  558. package/dist/collection/components/router-link/router-link.css +8 -2
  559. package/dist/collection/components/router-link/router-link.js +9 -5
  560. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  561. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  562. package/dist/collection/components/row/row.css +16 -0
  563. package/dist/collection/components/row/row.js +9 -2
  564. package/dist/collection/components/searchbar/searchbar.ionic.css +622 -0
  565. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  566. package/dist/collection/components/searchbar/searchbar.js +191 -42
  567. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  568. package/dist/collection/components/segment/segment.ionic.css +115 -0
  569. package/dist/collection/components/segment/segment.ios.css +45 -2
  570. package/dist/collection/components/segment/segment.js +11 -8
  571. package/dist/collection/components/segment/segment.md.css +45 -2
  572. package/dist/collection/components/segment-button/segment-button.ionic.css +352 -0
  573. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  574. package/dist/collection/components/segment-button/segment-button.js +11 -8
  575. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  576. package/dist/collection/components/segment-content/segment-content.js +1 -1
  577. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  578. package/dist/collection/components/segment-view/segment-view.js +13 -4
  579. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  580. package/dist/collection/components/select/select.ionic.css +809 -0
  581. package/dist/collection/components/select/select.ios.css +348 -176
  582. package/dist/collection/components/select/select.js +521 -92
  583. package/dist/collection/components/select/select.md.css +364 -178
  584. package/dist/collection/components/select-modal/select-modal.ionic.css +257 -0
  585. package/dist/collection/components/select-modal/select-modal.ios.css +466 -0
  586. package/dist/collection/components/select-modal/select-modal.js +126 -30
  587. package/dist/collection/components/select-modal/select-modal.md.css +394 -0
  588. package/dist/collection/components/select-option/select-option.js +72 -4
  589. package/dist/collection/components/select-popover/select-popover.ionic.css +255 -0
  590. package/dist/collection/components/select-popover/select-popover.ios.css +302 -20
  591. package/dist/collection/components/select-popover/select-popover.js +89 -29
  592. package/dist/collection/components/select-popover/select-popover.md.css +345 -0
  593. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  594. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  595. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  596. package/dist/collection/components/spinner/spinner.js +47 -6
  597. package/dist/collection/components/spinner/spinner.native.css +199 -0
  598. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  599. package/dist/collection/components/split-pane/split-pane.js +15 -8
  600. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  601. package/dist/collection/components/tab/tab.js +6 -2
  602. package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
  603. package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
  604. package/dist/collection/components/tab-bar/tab-bar.js +179 -15
  605. package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
  606. package/dist/collection/components/tab-button/tab-button.ionic.css +373 -0
  607. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  608. package/dist/collection/components/tab-button/tab-button.js +54 -9
  609. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  610. package/dist/collection/components/tabs/tabs.css +7 -1
  611. package/dist/collection/components/tabs/tabs.js +4 -1
  612. package/dist/collection/components/text/text.css +6 -0
  613. package/dist/collection/components/text/text.js +7 -6
  614. package/dist/collection/components/textarea/textarea.ionic.css +898 -0
  615. package/dist/collection/components/textarea/textarea.ios.css +298 -158
  616. package/dist/collection/components/textarea/textarea.js +162 -24
  617. package/dist/collection/components/textarea/textarea.md.css +312 -159
  618. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  619. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  620. package/dist/collection/components/title/title.ionic.css +127 -0
  621. package/dist/collection/components/title/title.ios.css +32 -4
  622. package/dist/collection/components/title/title.js +13 -7
  623. package/dist/collection/components/title/title.md.css +39 -4
  624. package/dist/collection/components/toast/animations/utils.js +1 -1
  625. package/dist/collection/components/toast/toast.ionic.css +394 -0
  626. package/dist/collection/components/toast/toast.ios.css +84 -45
  627. package/dist/collection/components/toast/toast.js +76 -13
  628. package/dist/collection/components/toast/toast.md.css +84 -45
  629. package/dist/collection/components/toggle/toggle.ionic.css +512 -0
  630. package/dist/collection/components/toggle/toggle.ios.css +247 -127
  631. package/dist/collection/components/toggle/toggle.js +72 -18
  632. package/dist/collection/components/toggle/toggle.md.css +245 -127
  633. package/dist/collection/components/toolbar/test/image.svg +1 -0
  634. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  635. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  636. package/dist/collection/components/toolbar/toolbar.js +218 -13
  637. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  638. package/dist/collection/global/ionic-global.js +241 -13
  639. package/dist/collection/utils/content/index.js +0 -30
  640. package/dist/collection/utils/css-value-validation.js +39 -0
  641. package/dist/collection/utils/focus-trap.js +13 -2
  642. package/dist/collection/utils/focus-visible.js +22 -0
  643. package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
  644. package/dist/collection/utils/forms/index.js +1 -0
  645. package/dist/collection/utils/forms/validity.js +31 -0
  646. package/dist/collection/utils/framework-delegate.js +3 -1
  647. package/dist/collection/utils/hardware-back-button.js +15 -0
  648. package/dist/collection/utils/helpers.js +70 -3
  649. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  650. package/dist/collection/utils/media.js +1 -0
  651. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  652. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  653. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  654. package/dist/collection/utils/overlay-control-label.js +47 -0
  655. package/dist/collection/utils/overlays.js +290 -8
  656. package/dist/collection/utils/sanitization/index.js +274 -18
  657. package/dist/collection/utils/scroll-hide-controller.js +178 -0
  658. package/dist/collection/utils/select-option-render.js +119 -0
  659. package/dist/collection/utils/test/playwright/drag-element.js +32 -9
  660. package/dist/collection/utils/test/playwright/generator.js +48 -23
  661. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  662. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  663. package/dist/collection/utils/theme.js +25 -1
  664. package/dist/collection/utils/transition/ios.transition.js +1 -0
  665. package/dist/docs.json +9090 -286
  666. package/dist/esm/{animation-DLJpuoEz.js → animation-B2qdQ_ou.js} +2 -2
  667. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-DZ-iIjxA.js} +1 -1
  668. package/dist/esm/{button-active-BSpTQmS9.js → button-active-BmajAby6.js} +2 -2
  669. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CtQSWUU0.js} +1 -1
  670. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  671. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  672. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  673. package/dist/esm/clear-button-press-controller-C7AAVMKK.js +43 -0
  674. package/dist/esm/config-BwKpO3Is.js +31 -0
  675. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  676. package/dist/esm/{format-CAmvpAez.js → format-2WlZcMvG.js} +1 -1
  677. package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate-DO2QXccA.js} +4 -2
  678. package/dist/esm/{haptic-DzAMWJuk.js → haptic-DFgKNCce.js} +1 -1
  679. package/dist/esm/{helpers-HEqiOzXb.js → helpers-DfF5_wJc.js} +71 -5
  680. package/dist/esm/{index-DV3sJJW8.js → index-B4Kq2YNk.js} +3 -2
  681. package/dist/esm/{index-B_dQk_WE.js → index-BIUWGRUl.js} +4 -4
  682. package/dist/esm/{index-BRHzoo00.js → index-BjaaZqVY.js} +4 -3
  683. package/dist/esm/{index-tcQvqkiX.js → index-C0EQceqV.js} +41 -4
  684. package/dist/esm/{index-Q6UPU0Ay.js → index-Di034G4O.js} +11 -11
  685. package/dist/esm/{index-Dw-wN0Ja.js → index-KxK0gcRp.js} +3 -33
  686. package/dist/esm/index-Mq5pCWmZ.js +424 -0
  687. package/dist/esm/index.js +14 -14
  688. package/dist/esm/{input-shims-LXhI7LEx.js → input-shims-DvNNw70a.js} +7 -6
  689. package/dist/esm/{input.utils-Y6NgW8bw.js → input.utils-_LkBfBWt.js} +3 -3
  690. package/dist/esm/ion-accordion_2.entry.js +61 -29
  691. package/dist/esm/ion-action-sheet.entry.js +41 -22
  692. package/dist/esm/ion-alert.entry.js +77 -40
  693. package/dist/esm/ion-app_8.entry.js +457 -193
  694. package/dist/esm/ion-avatar_3.entry.js +125 -13
  695. package/dist/esm/ion-back-button.entry.js +31 -22
  696. package/dist/esm/ion-backdrop.entry.js +10 -7
  697. package/dist/esm/ion-breadcrumb_2.entry.js +54 -18
  698. package/dist/esm/ion-button_2.entry.js +61 -24
  699. package/dist/esm/ion-card_5.entry.js +55 -33
  700. package/dist/esm/ion-checkbox.entry.js +34 -17
  701. package/dist/esm/ion-chip.entry.js +50 -9
  702. package/dist/esm/ion-col_3.entry.js +56 -57
  703. package/dist/esm/ion-datetime-button.entry.js +13 -9
  704. package/dist/esm/ion-datetime_3.entry.js +121 -46
  705. package/dist/esm/ion-divider.entry.js +49 -0
  706. package/dist/esm/ion-fab_3.entry.js +44 -28
  707. package/dist/esm/ion-gallery-item.entry.js +57 -0
  708. package/dist/esm/ion-gallery.entry.js +605 -0
  709. package/dist/esm/ion-img.entry.js +8 -4
  710. package/dist/esm/ion-infinite-scroll_2.entry.js +92 -16
  711. package/dist/esm/ion-input-otp.entry.js +74 -9
  712. package/dist/esm/ion-input-password-toggle.entry.js +53 -15
  713. package/dist/esm/ion-input.entry.js +132 -40
  714. package/dist/esm/ion-item-option_3.entry.js +467 -52
  715. package/dist/esm/ion-item_8.entry.js +121 -50
  716. package/dist/esm/ion-loading.entry.js +21 -18
  717. package/dist/esm/ion-menu_3.entry.js +47 -29
  718. package/dist/esm/ion-modal.entry.js +269 -135
  719. package/dist/esm/ion-nav_2.entry.js +14 -11
  720. package/dist/esm/ion-picker-column-option.entry.js +12 -8
  721. package/dist/esm/ion-picker-column.entry.js +13 -13
  722. package/dist/esm/ion-picker.entry.js +10 -6
  723. package/dist/esm/ion-popover.entry.js +21 -19
  724. package/dist/esm/ion-progress-bar.entry.js +27 -9
  725. package/dist/esm/ion-radio_2.entry.js +36 -18
  726. package/dist/esm/ion-range.entry.js +20 -13
  727. package/dist/esm/ion-refresher_2.entry.js +41 -22
  728. package/dist/esm/ion-reorder_2.entry.js +38 -14
  729. package/dist/esm/ion-ripple-effect.entry.js +15 -7
  730. package/dist/esm/ion-route_4.entry.js +11 -10
  731. package/dist/esm/ion-searchbar.entry.js +146 -32
  732. package/dist/esm/ion-segment-content.entry.js +2 -2
  733. package/dist/esm/ion-segment-view.entry.js +13 -3
  734. package/dist/esm/ion-segment_2.entry.js +23 -16
  735. package/dist/esm/ion-select-modal.entry.js +114 -38
  736. package/dist/esm/ion-select_3.entry.js +557 -108
  737. package/dist/esm/ion-spinner.entry.js +30 -8
  738. package/dist/esm/ion-split-pane.entry.js +13 -9
  739. package/dist/esm/ion-tab-bar_2.entry.js +149 -27
  740. package/dist/esm/ion-tab_2.entry.js +8 -7
  741. package/dist/esm/ion-text.entry.js +7 -7
  742. package/dist/esm/ion-textarea.entry.js +137 -23
  743. package/dist/esm/ion-toast.entry.js +45 -21
  744. package/dist/esm/ion-toggle.entry.js +82 -26
  745. package/dist/esm/ionic-global-BpkTponr.js +508 -0
  746. package/dist/esm/ionic.js +5 -5
  747. package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-CgScDbsb.js} +7 -5
  748. package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-C6onMFOo.js} +1 -1
  749. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-CyyguLDw.js} +1 -1
  750. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-WJix-wcz.js} +4 -3
  751. package/dist/esm/list-Dhi5xtNS.js +6 -0
  752. package/dist/esm/loader.js +5 -5
  753. package/dist/esm/{md.transition-D0msQmzI.js → md.transition-DThqYazt.js} +6 -5
  754. package/dist/esm/{notch-controller-DKDjU_O7.js → notch-controller-MTblRxjD.js} +2 -2
  755. package/dist/esm/overlay-control-label-CODBQrPj.js +49 -0
  756. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-tv6nLsmk.js} +306 -15
  757. package/dist/esm/scroll-hide-controller-CUNW7EpD.js +342 -0
  758. package/dist/esm/select-option-render-BlKZ2H83.js +122 -0
  759. package/dist/esm/{status-tap-vO-6s4Yp.js → status-tap-CoPI1M2q.js} +4 -3
  760. package/dist/esm/{swipe-back-DQ1q5MgD.js → swipe-back-qmvTRnSq.js} +3 -2
  761. package/dist/esm/{theme-DiVJyqlX.js → theme-DaJxRxSQ.js} +25 -1
  762. package/dist/esm/validity-BjW8SOqw.js +48 -0
  763. package/dist/esm/x-BDqjX7Z_.js +6 -0
  764. package/dist/html.html-data.json +2707 -168
  765. package/dist/ionic/index.esm.js +1 -1
  766. package/dist/ionic/ionic.esm.js +1 -1
  767. package/dist/ionic/p--sroV-k-.js +4 -0
  768. package/dist/ionic/p-05ce9821.entry.js +4 -0
  769. package/dist/ionic/p-085b8cdf.entry.js +4 -0
  770. package/dist/ionic/p-0ef6bfc4.entry.js +4 -0
  771. package/dist/ionic/p-18b7771e.entry.js +4 -0
  772. package/dist/ionic/p-19f34fe5.entry.js +4 -0
  773. package/dist/ionic/p-1b6e3914.entry.js +4 -0
  774. package/dist/ionic/p-2740db6e.entry.js +4 -0
  775. package/dist/ionic/p-2a1abbb1.entry.js +4 -0
  776. package/dist/ionic/p-2d9c681b.entry.js +4 -0
  777. package/dist/ionic/p-2fba8f15.entry.js +4 -0
  778. package/dist/ionic/p-3886bfbe.entry.js +4 -0
  779. package/dist/ionic/p-3ab9c35a.entry.js +4 -0
  780. package/dist/ionic/p-3b4c5cb5.entry.js +4 -0
  781. package/dist/ionic/p-3cfb4ff2.entry.js +4 -0
  782. package/dist/ionic/p-41afaf15.entry.js +4 -0
  783. package/dist/ionic/p-47b9dac0.entry.js +4 -0
  784. package/dist/ionic/p-54419365.entry.js +4 -0
  785. package/dist/ionic/p-54b7972e.entry.js +4 -0
  786. package/dist/ionic/p-602cf876.entry.js +4 -0
  787. package/dist/ionic/p-678ee14a.entry.js +4 -0
  788. package/dist/ionic/p-679c1448.entry.js +4 -0
  789. package/dist/ionic/p-68ea8ed1.entry.js +4 -0
  790. package/dist/ionic/p-6e1ec775.entry.js +4 -0
  791. package/dist/ionic/p-745d6b2b.entry.js +4 -0
  792. package/dist/ionic/p-77254b78.entry.js +4 -0
  793. package/dist/ionic/{p-C0eMdTCW.js → p-7k7Q1A38.js} +1 -1
  794. package/dist/ionic/p-898691b3.entry.js +4 -0
  795. package/dist/ionic/p-89fedfda.entry.js +4 -0
  796. package/dist/ionic/p-8cf82b85.entry.js +4 -0
  797. package/dist/ionic/p-8d5fd199.entry.js +4 -0
  798. package/dist/ionic/p-9087119f.entry.js +4 -0
  799. package/dist/ionic/p-9c508a22.entry.js +4 -0
  800. package/dist/ionic/p-B4Kq2YNk.js +4 -0
  801. package/dist/ionic/p-BDSH5ckF.js +4 -0
  802. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  803. package/dist/ionic/p-BFy_BK46.js +4 -0
  804. package/dist/ionic/p-BYSs-jZz.js +4 -0
  805. package/dist/ionic/p-BjW8SOqw.js +4 -0
  806. package/dist/ionic/p-BlZo7Gy-.js +4 -0
  807. package/dist/ionic/p-Bq8S4vhI.js +4 -0
  808. package/dist/ionic/p-Btc4flkw.js +4 -0
  809. package/dist/ionic/p-BwKpO3Is.js +4 -0
  810. package/dist/ionic/p-C0EQceqV.js +5 -0
  811. package/dist/ionic/p-C1I_d964.js +4 -0
  812. package/dist/ionic/p-CB91Gr9M.js +4 -0
  813. package/dist/ionic/p-CEkwLb3L.js +4 -0
  814. package/dist/ionic/p-CJsJQPQD.js +4 -0
  815. package/dist/ionic/p-CODBQrPj.js +4 -0
  816. package/dist/ionic/p-Ch7MBNn_.js +4 -0
  817. package/dist/ionic/p-Cipl19Qe.js +4 -0
  818. package/dist/ionic/{p-DC3RagnA.js → p-Cm20lBQw.js} +1 -1
  819. package/dist/ionic/p-CnAWnbNK.js +4 -0
  820. package/dist/ionic/p-D1t981Ih.js +4 -0
  821. package/dist/ionic/p-D4MT1z4_.js +4 -0
  822. package/dist/ionic/p-D4veLKCq.js +4 -0
  823. package/dist/ionic/p-DF7ubVci.js +4 -0
  824. package/dist/ionic/p-DMaSfupH.js +4 -0
  825. package/{components/p-D13Eaw-8.js → dist/ionic/p-DQDmksdT.js} +1 -1
  826. package/dist/ionic/p-DTsDGZPd.js +4 -0
  827. package/dist/ionic/p-DaJxRxSQ.js +4 -0
  828. package/dist/ionic/p-DdCaKRle.js +4 -0
  829. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  830. package/dist/ionic/p-Dy243NXW.js +4 -0
  831. package/dist/ionic/{p-CKvCXMs9.js → p-OkgYzj-7.js} +1 -1
  832. package/dist/ionic/p-YIsE5bNG.js +4 -0
  833. package/dist/ionic/p-a4af8e39.entry.js +4 -0
  834. package/dist/ionic/p-b2368a93.entry.js +4 -0
  835. package/dist/ionic/p-b275f17e.entry.js +4 -0
  836. package/dist/ionic/p-c5635175.entry.js +4 -0
  837. package/dist/ionic/p-c76d57fb.entry.js +4 -0
  838. package/dist/ionic/p-ca3a07b5.entry.js +4 -0
  839. package/dist/ionic/p-ced3cda1.entry.js +4 -0
  840. package/dist/ionic/p-cf22e991.entry.js +4 -0
  841. package/dist/ionic/p-d0c1d21d.entry.js +4 -0
  842. package/dist/ionic/p-d0d42da6.entry.js +4 -0
  843. package/dist/ionic/p-d33dfc12.entry.js +4 -0
  844. package/dist/ionic/p-d34bfb61.entry.js +4 -0
  845. package/dist/ionic/p-dbc08f67.entry.js +4 -0
  846. package/dist/ionic/p-dc8e0b91.entry.js +4 -0
  847. package/dist/ionic/p-df642ef5.entry.js +4 -0
  848. package/dist/ionic/p-e04d63e1.entry.js +4 -0
  849. package/dist/ionic/p-e3615478.entry.js +4 -0
  850. package/dist/ionic/p-f1810d29.entry.js +4 -0
  851. package/dist/ionic/p-f1a8aead.entry.js +4 -0
  852. package/dist/ionic/p-f69af9d3.entry.js +4 -0
  853. package/dist/ionic/p-f760f90e.entry.js +4 -0
  854. package/dist/ionic/p-f8001f8f.entry.js +4 -0
  855. package/dist/ionic/p-f8b63ebb.entry.js +4 -0
  856. package/dist/ionic/p-fIOYmaqA.js +4 -0
  857. package/dist/ionic/p-fc6d26ff.entry.js +4 -0
  858. package/dist/ionic/p-im8OkZlj.js +4 -0
  859. package/dist/ionic/p-lMb_45ax.js +4 -0
  860. package/dist/ionic/p-oUgyLDGL.js +4 -0
  861. package/dist/ionic/p-vXpMhGrs.js +4 -0
  862. package/dist/types/components/accordion/accordion.d.ts +6 -3
  863. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  864. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  865. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  866. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  867. package/dist/types/components/alert/alert.d.ts +3 -2
  868. package/dist/types/components/app/app.d.ts +4 -5
  869. package/dist/types/components/avatar/avatar.d.ts +32 -0
  870. package/dist/types/components/back-button/back-button.d.ts +2 -1
  871. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  872. package/dist/types/components/badge/badge.d.ts +34 -1
  873. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  874. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  875. package/dist/types/components/button/button.d.ts +23 -8
  876. package/dist/types/components/buttons/buttons.d.ts +5 -1
  877. package/dist/types/components/card/card.d.ts +8 -1
  878. package/dist/types/components/card-content/card-content.d.ts +2 -1
  879. package/dist/types/components/card-header/card-header.d.ts +3 -2
  880. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  881. package/dist/types/components/card-title/card-title.d.ts +2 -1
  882. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  883. package/dist/types/components/chip/chip.d.ts +26 -1
  884. package/dist/types/components/col/col.d.ts +52 -5
  885. package/dist/types/components/content/content.d.ts +3 -0
  886. package/dist/types/components/datetime/datetime.d.ts +26 -1
  887. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  888. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  889. package/dist/types/components/divider/divider.d.ts +20 -0
  890. package/dist/types/components/fab/fab.d.ts +4 -0
  891. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  892. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  893. package/dist/types/components/footer/footer-interface.d.ts +1 -0
  894. package/dist/types/components/footer/footer.d.ts +20 -3
  895. package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
  896. package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
  897. package/dist/types/components/gallery/gallery.d.ts +218 -0
  898. package/dist/types/components/gallery/test/utils.d.ts +3 -0
  899. package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
  900. package/dist/types/components/grid/grid.d.ts +4 -0
  901. package/dist/types/components/header/header-interface.d.ts +1 -0
  902. package/dist/types/components/header/header.d.ts +26 -3
  903. package/dist/types/components/header/header.utils.d.ts +4 -5
  904. package/dist/types/components/img/img.d.ts +3 -0
  905. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  906. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  907. package/dist/types/components/input/input.d.ts +34 -5
  908. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  909. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  910. package/dist/types/components/item/item.d.ts +11 -4
  911. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  912. package/dist/types/components/item-group/item-group.d.ts +4 -0
  913. package/dist/types/components/item-option/item-option.d.ts +18 -1
  914. package/dist/types/components/item-options/item-options.d.ts +4 -0
  915. package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
  916. package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
  917. package/dist/types/components/label/label.d.ts +2 -1
  918. package/dist/types/components/list/list.d.ts +15 -1
  919. package/dist/types/components/list-header/list-header.d.ts +2 -1
  920. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  921. package/dist/types/components/loading/loading.d.ts +3 -2
  922. package/dist/types/components/menu/menu.d.ts +3 -0
  923. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  924. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  925. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  926. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  927. package/dist/types/components/modal/gestures/sheet.d.ts +1 -2
  928. package/dist/types/components/modal/gestures/utils.d.ts +0 -11
  929. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  930. package/dist/types/components/modal/modal.d.ts +11 -2
  931. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  932. package/dist/types/components/nav/nav.d.ts +5 -1
  933. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  934. package/dist/types/components/note/note.d.ts +2 -1
  935. package/dist/types/components/picker/picker.d.ts +2 -1
  936. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  937. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  938. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  939. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  940. package/dist/types/components/popover/popover.d.ts +6 -5
  941. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  942. package/dist/types/components/radio/radio.d.ts +2 -1
  943. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  944. package/dist/types/components/range/range.d.ts +2 -1
  945. package/dist/types/components/refresher/refresher.d.ts +2 -1
  946. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  947. package/dist/types/components/reorder/reorder.d.ts +9 -0
  948. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  949. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  950. package/dist/types/components/route/route.d.ts +4 -0
  951. package/dist/types/components/router/router.d.ts +4 -0
  952. package/dist/types/components/router-link/router-link.d.ts +4 -0
  953. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  954. package/dist/types/components/row/row.d.ts +4 -0
  955. package/dist/types/components/searchbar/searchbar.d.ts +56 -10
  956. package/dist/types/components/segment/segment.d.ts +2 -1
  957. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  958. package/dist/types/components/select/select-interface.d.ts +31 -0
  959. package/dist/types/components/select/select.d.ts +66 -13
  960. package/dist/types/components/select-modal/select-modal.d.ts +8 -0
  961. package/dist/types/components/select-option/select-option.d.ts +45 -1
  962. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  963. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  964. package/dist/types/components/spinner/spinner.d.ts +15 -0
  965. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  966. package/dist/types/components/tab/tab.d.ts +4 -0
  967. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
  968. package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
  969. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  970. package/dist/types/components/tabs/tabs.d.ts +3 -0
  971. package/dist/types/components/text/text.d.ts +2 -1
  972. package/dist/types/components/textarea/textarea.d.ts +53 -4
  973. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  974. package/dist/types/components/title/title.d.ts +4 -0
  975. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  976. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  977. package/dist/types/components/toast/toast.d.ts +19 -2
  978. package/dist/types/components/toggle/toggle.d.ts +15 -1
  979. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  980. package/dist/types/components.d.ts +1881 -210
  981. package/dist/types/global/ionic-global.d.ts +28 -2
  982. package/dist/types/interface.d.ts +3 -0
  983. package/dist/types/utils/config.d.ts +106 -2
  984. package/dist/types/utils/content/index.d.ts +0 -12
  985. package/dist/types/utils/css-value-validation.d.ts +21 -0
  986. package/dist/types/utils/focus-trap.d.ts +1 -1
  987. package/dist/types/utils/focus-visible.d.ts +13 -0
  988. package/dist/types/utils/forms/clear-button-press-controller.d.ts +20 -0
  989. package/dist/types/utils/forms/index.d.ts +1 -0
  990. package/dist/types/utils/forms/validity.d.ts +7 -0
  991. package/dist/types/utils/helpers.d.ts +22 -0
  992. package/dist/types/utils/overlay-control-label.d.ts +34 -0
  993. package/dist/types/utils/overlays-interface.d.ts +31 -1
  994. package/dist/types/utils/overlays.d.ts +1 -1
  995. package/dist/types/utils/sanitization/index.d.ts +58 -2
  996. package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
  997. package/dist/types/utils/select-option-render.d.ts +53 -0
  998. package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
  999. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1000. package/dist/types/utils/theme.d.ts +9 -0
  1001. package/hydrate/index.js +6457 -1481
  1002. package/hydrate/index.mjs +6457 -1481
  1003. package/package.json +9 -5
  1004. package/components/p--JUspHvy.js +0 -4
  1005. package/components/p-A3O24YmY.js +0 -4
  1006. package/components/p-ABkNVeU9.js +0 -4
  1007. package/components/p-B-JJgYSG.js +0 -4
  1008. package/components/p-B9jFTlwE.js +0 -4
  1009. package/components/p-BLmJ0zRm.js +0 -4
  1010. package/components/p-BMI53wYL.js +0 -4
  1011. package/components/p-BMaKgJFV.js +0 -4
  1012. package/components/p-BSEgsdFI.js +0 -4
  1013. package/components/p-BlIAuGv2.js +0 -4
  1014. package/components/p-BmVRXR1y.js +0 -4
  1015. package/components/p-Bnsn6KaP.js +0 -4
  1016. package/components/p-BsBCoGa-.js +0 -4
  1017. package/components/p-BvmB20aD.js +0 -4
  1018. package/components/p-Bz0dSlXZ.js +0 -4
  1019. package/components/p-CHqRYvYm.js +0 -4
  1020. package/components/p-CIGNaXM1.js +0 -4
  1021. package/components/p-CO7fmmxt.js +0 -4
  1022. package/components/p-CQGnMY3n.js +0 -4
  1023. package/components/p-CSZf8_j0.js +0 -4
  1024. package/components/p-C_xFdyXe.js +0 -4
  1025. package/components/p-Cfx4M1Bn.js +0 -4
  1026. package/components/p-CkMSOsFF.js +0 -4
  1027. package/components/p-CmR5uXej.js +0 -4
  1028. package/components/p-Cp4GRDqq.js +0 -4
  1029. package/components/p-CsNJ1ULL.js +0 -4
  1030. package/components/p-CtWGkNnJ.js +0 -4
  1031. package/components/p-CzCbeKys.js +0 -4
  1032. package/components/p-D-aHdMxW.js +0 -4
  1033. package/components/p-D0d8qTwj.js +0 -4
  1034. package/components/p-D3xo7hqU.js +0 -4
  1035. package/components/p-D6Ynv7Xh.js +0 -4
  1036. package/components/p-D7uN07a3.js +0 -4
  1037. package/components/p-DCnGU1fF.js +0 -4
  1038. package/components/p-DGvrK8dD.js +0 -4
  1039. package/components/p-DJztqcrH.js +0 -4
  1040. package/components/p-DOFCbuQR.js +0 -4
  1041. package/components/p-DV5mPYQS.js +0 -4
  1042. package/components/p-DWkAgceV.js +0 -4
  1043. package/components/p-DiVJyqlX.js +0 -4
  1044. package/components/p-DqZAXv2t.js +0 -4
  1045. package/components/p-R8zmRi4c.js +0 -4
  1046. package/components/p-SLS1rDZM.js +0 -4
  1047. package/components/p-ZjP4CjeZ.js +0 -4
  1048. package/components/p-aJ6PBUvj.js +0 -4
  1049. package/components/p-gAg0kXZp.js +0 -4
  1050. package/components/p-j5IxBIan.js +0 -4
  1051. package/components/p-k_E4tX5Z.js +0 -4
  1052. package/components/p-oD4kcBRX.js +0 -4
  1053. package/components/p-rCa2eL0j.js +0 -4
  1054. package/components/p-scxfI1Dd.js +0 -4
  1055. package/components/p-vRBNsYbs.js +0 -4
  1056. package/components/p-yzCsOZE2.js +0 -4
  1057. package/dist/cjs/config-xninhj0J.js +0 -201
  1058. package/dist/cjs/hardware-back-button-iUuF_76h.js +0 -121
  1059. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1060. package/dist/cjs/ionic-global-B-cA6LkY.js +0 -151
  1061. package/dist/cjs/keyboard-controller-GXBiBRKS.js +0 -167
  1062. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1063. package/dist/esm/config-DQCONYYp.js +0 -195
  1064. package/dist/esm/hardware-back-button-B93Gru0Y.js +0 -115
  1065. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1066. package/dist/esm/ionic-global-Cp_eT4sZ.js +0 -146
  1067. package/dist/esm/keyboard-controller-BaaVITYt.js +0 -165
  1068. package/dist/esm/validity-DJztqcrH.js +0 -17
  1069. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  1070. package/dist/ionic/p-06c232a4.entry.js +0 -4
  1071. package/dist/ionic/p-0caa922c.entry.js +0 -4
  1072. package/dist/ionic/p-0dc33652.entry.js +0 -4
  1073. package/dist/ionic/p-0fa9c382.entry.js +0 -4
  1074. package/dist/ionic/p-10e833ef.entry.js +0 -4
  1075. package/dist/ionic/p-15c9319c.entry.js +0 -4
  1076. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  1077. package/dist/ionic/p-27d30585.entry.js +0 -4
  1078. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  1079. package/dist/ionic/p-2b204c59.entry.js +0 -4
  1080. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  1081. package/dist/ionic/p-2fa58e80.entry.js +0 -4
  1082. package/dist/ionic/p-3353c229.entry.js +0 -4
  1083. package/dist/ionic/p-34586ead.entry.js +0 -4
  1084. package/dist/ionic/p-37e720da.entry.js +0 -4
  1085. package/dist/ionic/p-390ca786.entry.js +0 -4
  1086. package/dist/ionic/p-3ae5f277.entry.js +0 -4
  1087. package/dist/ionic/p-4654ae1c.entry.js +0 -4
  1088. package/dist/ionic/p-4745f534.entry.js +0 -4
  1089. package/dist/ionic/p-4858af1f.entry.js +0 -4
  1090. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  1091. package/dist/ionic/p-4e92a11f.entry.js +0 -4
  1092. package/dist/ionic/p-5018dfc8.entry.js +0 -4
  1093. package/dist/ionic/p-50e1194a.entry.js +0 -4
  1094. package/dist/ionic/p-5334df12.entry.js +0 -4
  1095. package/dist/ionic/p-5d1da0a2.entry.js +0 -4
  1096. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  1097. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  1098. package/dist/ionic/p-746fa988.entry.js +0 -4
  1099. package/dist/ionic/p-75dc25ba.entry.js +0 -4
  1100. package/dist/ionic/p-7c319341.entry.js +0 -4
  1101. package/dist/ionic/p-829367ed.entry.js +0 -4
  1102. package/dist/ionic/p-84d5ce05.entry.js +0 -4
  1103. package/dist/ionic/p-874b4bd8.entry.js +0 -4
  1104. package/dist/ionic/p-8eb8ee76.entry.js +0 -4
  1105. package/dist/ionic/p-9eeaBrnk.js +0 -4
  1106. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  1107. package/dist/ionic/p-BGqMS-oh.js +0 -4
  1108. package/dist/ionic/p-BUFIpxKM.js +0 -4
  1109. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1110. package/dist/ionic/p-CFlfIb2g.js +0 -4
  1111. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1112. package/dist/ionic/p-CmcFnK-B.js +0 -4
  1113. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  1114. package/dist/ionic/p-Cx3IXROA.js +0 -4
  1115. package/dist/ionic/p-D-3ycHmd.js +0 -4
  1116. package/dist/ionic/p-D4uTWt4-.js +0 -4
  1117. package/dist/ionic/p-DIuEbVLu.js +0 -4
  1118. package/dist/ionic/p-DJztqcrH.js +0 -4
  1119. package/dist/ionic/p-DV3sJJW8.js +0 -4
  1120. package/dist/ionic/p-DiVJyqlX.js +0 -4
  1121. package/dist/ionic/p-DoJvtrbw.js +0 -4
  1122. package/dist/ionic/p-DqN5EA2O.js +0 -4
  1123. package/dist/ionic/p-DzWaWHGc.js +0 -4
  1124. package/dist/ionic/p-KjNvRoEp.js +0 -4
  1125. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  1126. package/dist/ionic/p-SNAkTDfm.js +0 -4
  1127. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1128. package/dist/ionic/p-a3bdcae6.entry.js +0 -4
  1129. package/dist/ionic/p-aaeedb6b.entry.js +0 -4
  1130. package/dist/ionic/p-af55a72f.entry.js +0 -4
  1131. package/dist/ionic/p-b2020591.entry.js +0 -4
  1132. package/dist/ionic/p-b9fadbfe.entry.js +0 -4
  1133. package/dist/ionic/p-biz8zWmJ.js +0 -4
  1134. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  1135. package/dist/ionic/p-c38b648e.entry.js +0 -4
  1136. package/dist/ionic/p-c4d8641b.entry.js +0 -4
  1137. package/dist/ionic/p-c6e49f3f.entry.js +0 -4
  1138. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  1139. package/dist/ionic/p-d1aac015.entry.js +0 -4
  1140. package/dist/ionic/p-d889ff6d.entry.js +0 -4
  1141. package/dist/ionic/p-dfa8d673.entry.js +0 -4
  1142. package/dist/ionic/p-ef4c3bee.entry.js +0 -4
  1143. package/dist/ionic/p-f386f6ae.entry.js +0 -4
  1144. package/dist/ionic/p-mjKAFv89.js +0 -4
  1145. package/dist/ionic/p-tcQvqkiX.js +0 -5
  1146. package/dist/ionic/p-uWtqTrG8.js +0 -4
  1147. package/dist/ionic/p-viFHDgRs.js +0 -4
  1148. package/dist/ionic/p-xWb6fgfq.js +0 -4
  1149. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -53,6 +59,12 @@
53
59
  * }
54
60
  * }
55
61
  */
62
+ /**
63
+ * Convert a pixels given value into rem
64
+ *
65
+ * @param pixels - Value in pixels to be converted (i.e. px)
66
+ * @param context (optional) - Baseline value
67
+ */
56
68
  /**
57
69
  * Convert a font size to a dynamic font size.
58
70
  * Fonts that participate in Dynamic Type should use
@@ -108,6 +120,28 @@
108
120
  * }
109
121
  * }
110
122
  */
123
+ /**
124
+ * A heuristic that applies CSS to tablet
125
+ * viewports.
126
+ *
127
+ * Usage:
128
+ * @include tablet-viewport() {
129
+ * :host {
130
+ * background-color: green;
131
+ * }
132
+ * }
133
+ */
134
+ /**
135
+ * A heuristic that applies CSS to mobile
136
+ * viewports (i.e. phones, not tablets).
137
+ *
138
+ * Usage:
139
+ * @include mobile-viewport() {
140
+ * :host {
141
+ * background-color: blue;
142
+ * }
143
+ * }
144
+ */
111
145
  :host {
112
146
  /**
113
147
  * @prop --border-radius: Border radius of the menu button
@@ -143,18 +177,18 @@
143
177
 
144
178
  .button-native {
145
179
  border-radius: var(--border-radius);
180
+ color: inherit;
146
181
  font-family: inherit;
147
182
  font-size: inherit;
148
183
  font-style: inherit;
149
184
  font-weight: inherit;
150
185
  letter-spacing: inherit;
186
+ text-align: inherit;
151
187
  text-decoration: inherit;
152
188
  text-indent: inherit;
153
189
  text-overflow: inherit;
154
190
  text-transform: inherit;
155
- text-align: inherit;
156
191
  white-space: inherit;
157
- color: inherit;
158
192
  margin-left: 0;
159
193
  margin-right: 0;
160
194
  margin-top: 0;
@@ -216,12 +250,6 @@ ion-icon {
216
250
  display: none;
217
251
  }
218
252
 
219
- :host(.menu-button-disabled) {
220
- cursor: default;
221
- opacity: 0.5;
222
- pointer-events: none;
223
- }
224
-
225
253
  :host(.ion-focused) .button-native {
226
254
  color: var(--color-focused);
227
255
  }
@@ -231,8 +259,8 @@ ion-icon {
231
259
  }
232
260
 
233
261
  .button-native::after {
234
- left: 0;
235
262
  right: 0;
263
+ left: 0;
236
264
  top: 0;
237
265
  bottom: 0;
238
266
  position: absolute;
@@ -249,19 +277,25 @@ ion-icon {
249
277
  opacity: var(--background-hover-opacity, 0);
250
278
  }
251
279
  }
252
- :host(.ion-color) .button-native {
253
- color: var(--ion-color-base);
254
- }
255
-
256
280
  :host(.in-toolbar:not(.in-toolbar-color)) {
257
281
  color: var(--ion-toolbar-color, var(--color));
258
282
  }
259
283
 
284
+ :host(.menu-button-disabled) {
285
+ cursor: default;
286
+ opacity: 0.5;
287
+ pointer-events: none;
288
+ }
289
+
290
+ :host(.ion-color) .button-native {
291
+ color: var(--ion-color-base);
292
+ }
293
+
260
294
  :host {
261
295
  --background-focused: currentColor;
262
- --background-focused-opacity: .12;
296
+ --background-focused-opacity: 0.12;
263
297
  --background-hover: currentColor;
264
- --background-hover-opacity: .04;
298
+ --background-hover-opacity: 0.04;
265
299
  --border-radius: 50%;
266
300
  --color: initial;
267
301
  --padding-start: 8px;
@@ -3,9 +3,12 @@
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { menuController } from "../../utils/menu-controller/index";
6
- import { getIonMode } from "../../global/ionic-global";
6
+ import { getIonTheme } from "../../global/ionic-global";
7
7
  import { updateVisibility } from "./menu-toggle-util";
8
8
  /**
9
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
10
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
11
+ *
9
12
  * @slot - Content is placed inside the toggle to act as the click target.
10
13
  */
11
14
  export class MenuToggle {
@@ -29,12 +32,12 @@ export class MenuToggle {
29
32
  this.visible = await updateVisibility(this.menu);
30
33
  }
31
34
  render() {
32
- const mode = getIonMode(this);
35
+ const theme = getIonTheme(this);
33
36
  const hidden = this.autoHide && !this.visible;
34
- return (h(Host, { key: '55135952f3a42cb5d21916dfb7b169d894b381e3', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
35
- [mode]: true,
37
+ return (h(Host, { key: '9ef631d9ae370a8740e691d281863203bfdddc38', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
38
+ [theme]: true,
36
39
  'menu-toggle-hidden': hidden,
37
- } }, h("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
40
+ } }, h("slot", { key: 'f8d9dfc562ed625ae47ec771ef6b2ea04bc463f4' })));
38
41
  }
39
42
  static get is() { return "ion-menu-toggle"; }
40
43
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,40 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { createAnimation } from "../../../utils/animation/animation";
5
+ import { getElementRoot } from "../../../utils/helpers";
6
+ import { createSheetEnterAnimation } from "./sheet";
7
+ const createEnterAnimation = () => {
8
+ const backdropAnimation = createAnimation()
9
+ .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
10
+ .beforeStyles({
11
+ 'pointer-events': 'none',
12
+ })
13
+ .afterClearStyles(['pointer-events']);
14
+ const wrapperAnimation = createAnimation().keyframes([
15
+ { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
16
+ { offset: 1, opacity: 1, transform: `translateY(0px)` },
17
+ ]);
18
+ return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
19
+ };
20
+ /**
21
+ * Ionic Modal Enter Animation
22
+ */
23
+ export const ionicEnterAnimation = (baseEl, opts) => {
24
+ const { currentBreakpoint, expandToScroll } = opts;
25
+ const root = getElementRoot(baseEl);
26
+ const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
27
+ backdropAnimation.addElement(root.querySelector('ion-backdrop'));
28
+ wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
29
+ // The content animation is only added if scrolling is enabled for
30
+ // all the breakpoints.
31
+ !expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
32
+ backdropAnimation.duration(300).easing('ease-out');
33
+ wrapperAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
34
+ contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
35
+ const baseAnimation = createAnimation().addElement(baseEl).addAnimation([backdropAnimation, wrapperAnimation]);
36
+ if (contentAnimation) {
37
+ baseAnimation.addAnimation(contentAnimation);
38
+ }
39
+ return baseAnimation;
40
+ };
@@ -0,0 +1,28 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { createAnimation } from "../../../utils/animation/animation";
5
+ import { getElementRoot } from "../../../utils/helpers";
6
+ import { createSheetLeaveAnimation } from "./sheet";
7
+ const createLeaveAnimation = () => {
8
+ const backdropAnimation = createAnimation().fromTo('opacity', 'var(--backdrop-opacity)', 0);
9
+ const wrapperAnimation = createAnimation().keyframes([
10
+ { offset: 0, opacity: 0.99, transform: `translateY(0px)` },
11
+ { offset: 1, opacity: 0, transform: 'translateY(40px)' },
12
+ ]);
13
+ return { backdropAnimation, wrapperAnimation };
14
+ };
15
+ /**
16
+ * Md Modal Leave Animation
17
+ */
18
+ export const ionicLeaveAnimation = (baseEl, opts) => {
19
+ const { currentBreakpoint } = opts;
20
+ const root = getElementRoot(baseEl);
21
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
22
+ backdropAnimation.addElement(root.querySelector('ion-backdrop'));
23
+ wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
24
+ backdropAnimation.duration(250).easing('ease-in');
25
+ wrapperAnimation.duration(400).easing('cubic-bezier(0.4, 0, 1, 1)');
26
+ const baseAnimation = createAnimation().addElement(baseEl).addAnimation([backdropAnimation, wrapperAnimation]);
27
+ return baseAnimation;
28
+ };
@@ -4,14 +4,20 @@
4
4
  import { createAnimation } from "../../../utils/animation/animation";
5
5
  import { getBackdropValueForSheet } from "../utils";
6
6
  export const createSheetEnterAnimation = (opts) => {
7
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
7
+ const { currentBreakpoint, backdropBreakpoint, expandToScroll, staticBackdropOpacity } = opts;
8
8
  /**
9
9
  * If the backdropBreakpoint is undefined, then the backdrop
10
10
  * should always fade in. If the backdropBreakpoint came before the
11
11
  * current breakpoint, then the backdrop should be fading in.
12
12
  */
13
13
  const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
14
- const initialBackdrop = shouldShowBackdrop ? `calc(var(--backdrop-opacity) * ${currentBreakpoint})` : '0';
14
+ let initialBackdrop = '0';
15
+ if (staticBackdropOpacity) {
16
+ initialBackdrop = 'calc(var(--backdrop-opacity)';
17
+ }
18
+ else if (shouldShowBackdrop) {
19
+ initialBackdrop = `calc(var(--backdrop-opacity) * ${currentBreakpoint})`;
20
+ }
15
21
  const backdropAnimation = createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
16
22
  if (shouldShowBackdrop) {
17
23
  backdropAnimation
@@ -6,18 +6,17 @@ import { createGesture } from "../../../utils/gesture/index";
6
6
  import { clamp, getElementRoot, raf } from "../../../utils/helpers";
7
7
  import { FOCUS_TRAP_DISABLE_CLASS } from "../../../utils/overlays";
8
8
  import { getBackdropValueForSheet } from "../utils";
9
- import { calculateSpringStep, canSwipeOnContent, handleCanDismiss } from "./utils";
10
- export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
11
- var _a;
9
+ import { calculateSpringStep, handleCanDismiss } from "./utils";
10
+ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, usePhysicsBasedGesture, onDragStart, onDragMove, onDragEnd) => {
12
11
  // Defaults for the sheet swipe animation
13
12
  const defaultBackdrop = [
14
13
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
15
- { offset: 1, opacity: 0.01 },
14
+ { offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0.01 },
16
15
  ];
17
16
  const customBackdrop = [
18
17
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
19
- { offset: 1 - backdropBreakpoint, opacity: 0 },
20
- { offset: 1, opacity: 0 },
18
+ { offset: 1 - backdropBreakpoint, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
19
+ { offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
21
20
  ];
22
21
  const SheetDefaults = {
23
22
  WRAPPER_KEYFRAMES: [
@@ -31,8 +30,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
31
30
  ],
32
31
  };
33
32
  const contentEl = baseEl.querySelector('ion-content');
34
- // Cache the initial value so the gesture restores it instead of forcing scrolling on.
35
- const initialContentScrollY = (_a = contentEl === null || contentEl === void 0 ? void 0 : contentEl.scrollY) !== null && _a !== void 0 ? _a : true;
36
33
  const height = wrapperEl.clientHeight;
37
34
  let currentBreakpoint = initialBreakpoint;
38
35
  let offset = 0;
@@ -193,6 +190,9 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
193
190
  }
194
191
  const canStart = (detail) => {
195
192
  /**
193
+ * If we are swiping on the content, swiping should only be possible if the content
194
+ * is scrolled all the way to the top so that we do not interfere with scrolling.
195
+ *
196
196
  * We cannot assume that the `ion-content` target will remain consistent between swipes.
197
197
  * For example, when using ion-nav within a modal it is possible to swipe, push a view,
198
198
  * and then swipe again. The target content will not be the same between swipes.
@@ -200,11 +200,26 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
200
200
  const contentEl = findClosestIonContent(detail.event.target);
201
201
  currentBreakpoint = getCurrentBreakpoint();
202
202
  /**
203
- * Upwards swipes on the content cannot move the sheet anyway, so this only
204
- * blocks swiping the sheet down from the content.
203
+ * If `expandToScroll` is disabled, we should not allow the swipe gesture
204
+ * to start if the content is not scrolled to the top.
205
205
  */
206
- if (contentEl && (!expandToScroll || currentBreakpoint === 1)) {
207
- return canSwipeOnContent(contentEl);
206
+ if (!expandToScroll && contentEl) {
207
+ const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
208
+ return scrollEl.scrollTop === 0;
209
+ }
210
+ if (currentBreakpoint === 1 && contentEl) {
211
+ /**
212
+ * The modal should never swipe to close on the content with a refresher.
213
+ * Note 1: We cannot solve this by making this gesture have a higher priority than
214
+ * the refresher gesture as the iOS native refresh gesture uses a scroll listener in
215
+ * addition to a gesture.
216
+ *
217
+ * Note 2: Do not use getScrollElement here because we need this to be a synchronous
218
+ * operation, and getScrollElement is asynchronous.
219
+ */
220
+ const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
221
+ const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
222
+ return !hasRefresherInContent && scrollEl.scrollTop === 0;
208
223
  }
209
224
  return true;
210
225
  };
@@ -331,7 +346,9 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
331
346
  : step;
332
347
  offset = clamp(0.0001, processedStep, maxStep);
333
348
  animation.progressStep(offset);
334
- const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
349
+ const snapBreakpoint = usePhysicsBasedGesture
350
+ ? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
351
+ : calculatePositionSnapBreakpoint(detail.deltaY);
335
352
  const eventDetail = {
336
353
  currentY: detail.currentY,
337
354
  deltaY: detail.deltaY,
@@ -342,7 +359,9 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
342
359
  onDragMove(eventDetail);
343
360
  };
344
361
  const onEnd = (detail) => {
345
- const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
362
+ const snapBreakpoint = usePhysicsBasedGesture
363
+ ? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
364
+ : calculatePositionSnapBreakpoint(detail.deltaY);
346
365
  const eventDetail = {
347
366
  currentY: detail.currentY,
348
367
  deltaY: detail.deltaY,
@@ -389,6 +408,14 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
389
408
  */
390
409
  const shouldPreventDismiss = canDismiss && breakpoint === 0;
391
410
  const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
411
+ /**
412
+ * Detect snap-back behavior: when the snap target is the same as the current breakpoint,
413
+ * the user released before crossing the threshold to a new breakpoint.
414
+ * Apply different timing and easing for snap-back vs. snap-to-new.
415
+ */
416
+ const isSnapBack = snapToBreakpoint === currentBreakpoint;
417
+ const duration = usePhysicsBasedGesture ? (isSnapBack ? 300 : 400) : 500;
418
+ const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
392
419
  const shouldRemainOpen = snapToBreakpoint !== 0;
393
420
  currentBreakpoint = 0;
394
421
  /**
@@ -403,11 +430,15 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
403
430
  backdropAnimation.keyframes([
404
431
  {
405
432
  offset: 0,
406
- opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
433
+ opacity: usePhysicsBasedGesture
434
+ ? 'var(--backdrop-opacity)'
435
+ : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
407
436
  },
408
437
  {
409
438
  offset: 1,
410
- opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
439
+ opacity: usePhysicsBasedGesture
440
+ ? 'var(--backdrop-opacity)'
441
+ : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
411
442
  },
412
443
  ]);
413
444
  if (contentAnimation) {
@@ -425,6 +456,12 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
425
456
  }
426
457
  animation.progressStep(0);
427
458
  }
459
+ /**
460
+ * Apply the appropriate easing curve for this snap behavior.
461
+ */
462
+ if (usePhysicsBasedGesture) {
463
+ animation.easing(easing);
464
+ }
428
465
  /**
429
466
  * Gesture should remain disabled until the
430
467
  * snapping animation completes.
@@ -437,14 +474,14 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
437
474
  onDismiss();
438
475
  }
439
476
  /**
440
- * Restores the content's scroll setting immediately if the sheet is about to
441
- * fully expand or if it allows scrolling at any breakpoint. Without this, there would
477
+ * Enables scrolling immediately if the sheet is about to fully expand
478
+ * or if it allows scrolling at any breakpoint. Without this, there would
442
479
  * be a ~500ms delay while the modal animation completes, causing a
443
480
  * noticeable lag. Native iOS allows scrolling as soon as the gesture is
444
481
  * released, so we align with that behavior.
445
482
  */
446
483
  if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
447
- contentEl.scrollY = initialContentScrollY;
484
+ contentEl.scrollY = true;
448
485
  }
449
486
  /**
450
487
  * If expandToScroll is disabled and we're animating
@@ -514,7 +551,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
514
551
  * be added every time onEnd runs.
515
552
  */
516
553
  }, { oneTimeCallback: true })
517
- .progressEnd(1, 0, animated ? 500 : 0);
554
+ .progressEnd(1, 0, animated ? duration : 0);
518
555
  });
519
556
  };
520
557
  /**
@@ -525,7 +562,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
525
562
  * @param deltaY The change in Y position since the gesture started.
526
563
  * @returns The snap breakpoint value.
527
564
  */
528
- const calculateSnapBreakpoint = (deltaY) => {
565
+ const calculatePositionSnapBreakpoint = (deltaY) => {
529
566
  /**
530
567
  * Calculates the real-time vertical position of the modal.
531
568
  * We combine the wrapper's current bounding box position with the
@@ -545,6 +582,50 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
545
582
  });
546
583
  return snapBreakpoint;
547
584
  };
585
+ /**
586
+ * Calculates the snap breakpoint using velocity-based logic.
587
+ * This provides a more intuitive and responsive sheet behavior for the Ionic theme.
588
+ *
589
+ * Rules:
590
+ * 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
591
+ * 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
592
+ * 3. If dragged 40% below current snap point without fast upward flick, dismisses
593
+ * 4. Otherwise, falls back to position-based snap (closest breakpoint)
594
+ *
595
+ * @param deltaY The change in Y position since gesture started
596
+ * @param velocityY The velocity in pixels per millisecond
597
+ * @param currentY The current Y position of the gesture
598
+ * @returns The snap breakpoint value
599
+ */
600
+ const calculateVelocitySnapBreakpoint = (deltaY, velocityY, currentY) => {
601
+ // Convert velocity from px/ms to px/s for easier threshold comparison
602
+ const velocityYPerSecond = velocityY * 1000;
603
+ // Calculate current progress (0 = fully closed, 1 = fully expanded)
604
+ const currentProgress = calculateProgress(currentY);
605
+ // Rule 1: Fast downward flick always dismisses
606
+ if (velocityYPerSecond > 500) {
607
+ return minBreakpoint;
608
+ }
609
+ // Rule 2: Fast upward flick moves to next breakpoint above
610
+ if (velocityYPerSecond < -400) {
611
+ // Find next breakpoint above current position
612
+ const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
613
+ // If no breakpoint above, stay at max breakpoint
614
+ return nextBreakpoint !== null && nextBreakpoint !== void 0 ? nextBreakpoint : maxBreakpoint;
615
+ }
616
+ // Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
617
+ if (minBreakpoint === 0 && currentBreakpoint > 0) {
618
+ // Calculate how far we've moved below the current snap point
619
+ const distanceBelowSnap = currentBreakpoint - currentProgress;
620
+ const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
621
+ // If dragged more than 40% below and not flicking up, dismiss
622
+ if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
623
+ return 0;
624
+ }
625
+ }
626
+ // Rule 4: Fallback to position-based snap (existing logic)
627
+ return calculatePositionSnapBreakpoint(deltaY);
628
+ };
548
629
  /**
549
630
  * Calculates the progress of the swipe gesture.
550
631
  *
@@ -626,19 +707,8 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
626
707
  onMove,
627
708
  onEnd,
628
709
  });
629
- /**
630
- * Puts the content back the way the app declared it. A sheet can dismiss
631
- * without going through moveSheetToBreakpoint, and an inline modal reuses
632
- * the same element on the next present.
633
- */
634
- const resetContentScroll = () => {
635
- if (contentEl) {
636
- contentEl.scrollY = initialContentScrollY;
637
- }
638
- };
639
710
  return {
640
711
  gesture,
641
712
  moveSheetToBreakpoint,
642
- resetContentScroll,
643
713
  };
644
714
  };
@@ -4,10 +4,10 @@
4
4
  import { getTimeGivenProgression } from "../../../utils/animation/cubic-bezier";
5
5
  import { isIonContent, findClosestIonContent, disableContentScrollY, resetContentScrollY } from "../../../utils/content/index";
6
6
  import { createGesture } from "../../../utils/gesture/index";
7
- import { clamp } from "../../../utils/helpers";
7
+ import { clamp, getElementRoot } from "../../../utils/helpers";
8
8
  import { OVERLAY_GESTURE_PRIORITY } from "../../../utils/overlays";
9
9
  import { setCardStatusBarDark, setCardStatusBarDefault } from "../utils";
10
- import { calculateSpringStep, canSwipeOnContent, handleCanDismiss } from "./utils";
10
+ import { calculateSpringStep, handleCanDismiss } from "./utils";
11
11
  // Defaults for the card swipe animation
12
12
  export const SwipeToCloseDefaults = {
13
13
  MIN_PRESENTING_SCALE: 0.915,
@@ -22,6 +22,7 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
22
22
  let isOpen = false;
23
23
  let canDismissBlocksGesture = false;
24
24
  let contentEl = null;
25
+ let scrollEl = null;
25
26
  const canDismissMaxStep = 0.2;
26
27
  let initialScrollY = true;
27
28
  let lastStep = 0;
@@ -44,6 +45,12 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
44
45
  return true;
45
46
  }
46
47
  /**
48
+ * If we are swiping on the content,
49
+ * swiping should only be possible if
50
+ * the content is scrolled all the way
51
+ * to the top so that we do not interfere
52
+ * with scrolling.
53
+ *
47
54
  * We cannot assume that the `ion-content`
48
55
  * target will remain consistent between
49
56
  * swipes. For example, when using
@@ -54,7 +61,29 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
54
61
  */
55
62
  contentEl = findClosestIonContent(target);
56
63
  if (contentEl) {
57
- return canSwipeOnContent(contentEl);
64
+ /**
65
+ * The card should never swipe to close
66
+ * on the content with a refresher.
67
+ * Note: We cannot solve this by making the
68
+ * swipeToClose gesture have a higher priority
69
+ * than the refresher gesture as the iOS native
70
+ * refresh gesture uses a scroll listener in
71
+ * addition to a gesture.
72
+ *
73
+ * Note: Do not use getScrollElement here
74
+ * because we need this to be a synchronous
75
+ * operation, and getScrollElement is
76
+ * asynchronous.
77
+ */
78
+ if (isIonContent(contentEl)) {
79
+ const root = getElementRoot(contentEl);
80
+ scrollEl = root.querySelector('.inner-scroll');
81
+ }
82
+ else {
83
+ scrollEl = contentEl;
84
+ }
85
+ const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
86
+ return !hasRefresherInContent && scrollEl.scrollTop === 0;
58
87
  }
59
88
  /**
60
89
  * Card should be swipeable on all
@@ -1,24 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { findRefresherInContent, isIonContent } from "../../../utils/content/index";
5
- import { getElementRoot } from "../../../utils/helpers";
6
4
  import { GESTURE } from "../../../utils/overlays";
7
- /**
8
- * Swiping is only possible when the content is scrolled to the top, so that we
9
- * do not interfere with scrolling, and never on content with a refresher.
10
- *
11
- * Note: We cannot solve the refresher case with gesture priority as the iOS
12
- * native refresh gesture uses a scroll listener in addition to a gesture.
13
- *
14
- * Note: Do not use `getScrollElement` here because we need this to be a
15
- * synchronous operation, and `getScrollElement` is asynchronous.
16
- */
17
- export const canSwipeOnContent = (contentEl) => {
18
- const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
19
- const hasRefresherInContent = !!findRefresherInContent(contentEl);
20
- return !hasRefresherInContent && scrollEl.scrollTop === 0;
21
- };
22
5
  export const handleCanDismiss = async (el, animation) => {
23
6
  /**
24
7
  * If canDismiss is not a function