@ionic/core 8.7.16-dev.11767106094.1edd9cde → 8.7.16-dev.11767205737.13557925

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 (941) hide show
  1. package/components/action-sheet.js +11 -15
  2. package/components/alert.js +11 -14
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +6 -9
  5. package/components/button.js +10 -41
  6. package/components/buttons.js +8 -11
  7. package/components/capacitor.js +1 -1
  8. package/components/checkbox.js +12 -31
  9. package/components/content.js +12 -14
  10. package/components/data.js +5 -5
  11. package/components/focus-visible.js +1 -23
  12. package/components/framework-delegate.js +1 -3
  13. package/components/hardware-back-button.js +115 -0
  14. package/components/header.js +22 -34
  15. package/components/helpers.js +3 -42
  16. package/components/index5.js +8 -8
  17. package/components/index6.js +1 -1
  18. package/components/index7.js +150 -111
  19. package/components/index8.js +111 -150
  20. package/components/index9.js +7 -0
  21. package/components/input-shims.js +2 -2
  22. package/components/input.utils.js +1 -1
  23. package/components/ion-accordion-group.js +5 -23
  24. package/components/ion-accordion.js +21 -32
  25. package/components/ion-app.js +77 -12
  26. package/components/ion-avatar.js +5 -58
  27. package/components/ion-back-button.js +19 -27
  28. package/components/ion-badge.js +9 -73
  29. package/components/ion-breadcrumb.js +10 -43
  30. package/components/ion-breadcrumbs.js +5 -8
  31. package/components/ion-card-content.js +7 -10
  32. package/components/ion-card-header.js +6 -9
  33. package/components/ion-card-subtitle.js +5 -8
  34. package/components/ion-card-title.js +5 -8
  35. package/components/ion-card.js +9 -21
  36. package/components/ion-chip.js +8 -53
  37. package/components/ion-col.js +50 -51
  38. package/components/ion-datetime-button.js +5 -8
  39. package/components/ion-datetime.js +21 -98
  40. package/components/ion-fab-button.js +15 -31
  41. package/components/ion-fab-list.js +5 -5
  42. package/components/ion-fab.js +6 -6
  43. package/components/ion-footer.js +13 -18
  44. package/components/ion-grid.js +5 -5
  45. package/components/ion-img.js +2 -5
  46. package/components/ion-infinite-scroll-content.js +8 -11
  47. package/components/ion-infinite-scroll.js +6 -78
  48. package/components/ion-input-otp.js +6 -9
  49. package/components/ion-input-password-toggle.js +13 -51
  50. package/components/ion-input.js +28 -120
  51. package/components/ion-item-divider.js +5 -8
  52. package/components/ion-item-group.js +5 -8
  53. package/components/ion-item-option.js +9 -36
  54. package/components/ion-item-options.js +7 -10
  55. package/components/ion-item-sliding.js +5 -5
  56. package/components/ion-loading.js +9 -12
  57. package/components/ion-menu-button.js +10 -26
  58. package/components/ion-menu-toggle.js +5 -5
  59. package/components/ion-menu.js +8 -10
  60. package/components/ion-nav-link.js +1 -1
  61. package/components/ion-nav.js +5 -7
  62. package/components/ion-note.js +5 -8
  63. package/components/ion-picker-legacy.js +7 -7
  64. package/components/ion-progress-bar.js +7 -25
  65. package/components/ion-range.js +9 -12
  66. package/components/ion-refresher-content.js +8 -23
  67. package/components/ion-refresher.js +7 -10
  68. package/components/ion-reorder-group.js +5 -5
  69. package/components/ion-reorder.js +5 -30
  70. package/components/ion-router-link.js +6 -6
  71. package/components/ion-router-outlet.js +4 -4
  72. package/components/ion-row.js +3 -6
  73. package/components/ion-searchbar.js +23 -137
  74. package/components/ion-segment-button.js +7 -10
  75. package/components/ion-segment-content.js +1 -1
  76. package/components/ion-segment-view.js +2 -5
  77. package/components/ion-segment.js +7 -10
  78. package/components/ion-select-option.js +2 -5
  79. package/components/ion-select.js +33 -117
  80. package/components/ion-skeleton-text.js +5 -5
  81. package/components/ion-split-pane.js +8 -11
  82. package/components/ion-tab-bar.js +9 -39
  83. package/components/ion-tab-button.js +8 -35
  84. package/components/ion-tab.js +2 -2
  85. package/components/ion-tabs.js +2 -2
  86. package/components/ion-text.js +5 -5
  87. package/components/ion-textarea.js +11 -52
  88. package/components/ion-thumbnail.js +2 -5
  89. package/components/ion-toast.js +12 -37
  90. package/components/ion-toggle.js +17 -74
  91. package/components/ionic-global.js +15 -364
  92. package/components/ios.transition.js +0 -1
  93. package/components/item.js +15 -47
  94. package/components/keyboard-controller.js +2 -4
  95. package/components/label.js +5 -8
  96. package/components/list-header.js +7 -10
  97. package/components/list.js +6 -27
  98. package/components/modal.js +133 -51
  99. package/components/notch-controller.js +1 -1
  100. package/components/overlays.js +4 -3
  101. package/components/picker-column-option.js +5 -8
  102. package/components/picker-column.js +8 -7
  103. package/components/picker-column2.js +4 -4
  104. package/components/picker.js +4 -7
  105. package/components/popover.js +69 -22
  106. package/components/radio-group.js +7 -15
  107. package/components/radio.js +8 -11
  108. package/components/ripple-effect.js +7 -15
  109. package/components/select-modal.js +5 -12
  110. package/components/select-popover.js +2 -8
  111. package/components/spinner.js +8 -31
  112. package/components/status-tap.js +1 -1
  113. package/components/title.js +7 -10
  114. package/components/toolbar.js +9 -153
  115. package/css/core.css +1 -1
  116. package/css/core.css.map +1 -1
  117. package/css/display.css +1 -1
  118. package/css/display.css.map +1 -1
  119. package/css/flex-utils.css +1 -1
  120. package/css/flex-utils.css.map +1 -1
  121. package/css/float-elements.css.map +1 -1
  122. package/css/global.bundle.css.map +1 -1
  123. package/css/ionic-swiper.css +1 -1
  124. package/css/ionic-swiper.css.map +1 -1
  125. package/css/ionic.bundle.css +1 -1
  126. package/css/ionic.bundle.css.map +1 -1
  127. package/css/normalize.css.map +1 -1
  128. package/css/padding.css.map +1 -1
  129. package/css/palettes/dark.always.css.map +1 -1
  130. package/css/palettes/dark.class.css.map +1 -1
  131. package/css/palettes/dark.system.css.map +1 -1
  132. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  133. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  134. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  135. package/css/palettes/high-contrast.always.css.map +1 -1
  136. package/css/palettes/high-contrast.class.css.map +1 -1
  137. package/css/palettes/high-contrast.system.css.map +1 -1
  138. package/css/structure.css.map +1 -1
  139. package/css/text-alignment.css.map +1 -1
  140. package/css/text-transformation.css.map +1 -1
  141. package/css/typography.css.map +1 -1
  142. package/css/utils.bundle.css +1 -1
  143. package/css/utils.bundle.css.map +1 -1
  144. package/dist/cjs/{animation-CD5nuON9.js → animation-Bt3H9L1C.js} +2 -2
  145. package/dist/cjs/{app-globals-CoW5jvJu.js → app-globals-Ciccnk9_.js} +1 -1
  146. package/dist/cjs/{button-active-Dxyabn6T.js → button-active-CMc8cD90.js} +1 -1
  147. package/dist/cjs/{capacitor-C8raJ_tU.js → capacitor-DmA66EwP.js} +3 -3
  148. package/dist/cjs/{data-MoL8Ckx5.js → data-JwZKaIQB.js} +5 -5
  149. package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
  150. package/dist/cjs/{framework-delegate-Bwdk9vFS.js → framework-delegate-DMJRBuDi.js} +2 -4
  151. package/dist/cjs/{haptic-BU6_qLwg.js → haptic-ClPPQ_PS.js} +1 -1
  152. package/dist/cjs/hardware-back-button-VCK4V3mG.js +121 -0
  153. package/dist/cjs/{helpers-DnouLczu.js → helpers-DrTqNghc.js} +2 -41
  154. package/dist/cjs/{index-JtyffOXl.js → index-094mMFB-.js} +3 -3
  155. package/dist/cjs/{index-CADY2xEW.js → index-C534ULug.js} +7 -8
  156. package/dist/cjs/{index-DUoP_H1L.js → index-CO6eryBo.js} +1 -1
  157. package/dist/cjs/index-DkNv4J_i.js +10 -0
  158. package/dist/cjs/{index-C4_FN9N0.js → index-DrMUZJj6.js} +15 -15
  159. package/dist/cjs/index.cjs.js +11 -10
  160. package/dist/cjs/{input-shims-C-YCyXjg.js → input-shims-CW0KUFTQ.js} +16 -17
  161. package/dist/cjs/{input.utils-C3-BwdV0.js → input.utils-B_QROI2g.js} +5 -5
  162. package/dist/cjs/ion-accordion_2.cjs.entry.js +26 -55
  163. package/dist/cjs/ion-action-sheet.cjs.entry.js +20 -23
  164. package/dist/cjs/ion-alert.cjs.entry.js +20 -22
  165. package/dist/cjs/ion-app_8.cjs.entry.js +150 -249
  166. package/dist/cjs/ion-avatar_3.cjs.entry.js +11 -123
  167. package/dist/cjs/ion-back-button.cjs.entry.js +19 -28
  168. package/dist/cjs/ion-backdrop.cjs.entry.js +6 -9
  169. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +15 -51
  170. package/dist/cjs/ion-button_2.cjs.entry.js +11 -43
  171. package/dist/cjs/ion-card_5.cjs.entry.js +29 -53
  172. package/dist/cjs/ion-checkbox.cjs.entry.js +13 -31
  173. package/dist/cjs/ion-chip.cjs.entry.js +7 -48
  174. package/dist/cjs/ion-col_3.cjs.entry.js +56 -53
  175. package/dist/cjs/ion-datetime-button.cjs.entry.js +7 -11
  176. package/dist/cjs/ion-datetime_3.cjs.entry.js +38 -113
  177. package/dist/cjs/ion-fab_3.cjs.entry.js +25 -41
  178. package/dist/cjs/ion-img.cjs.entry.js +3 -7
  179. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +14 -89
  180. package/dist/cjs/ion-input-otp.cjs.entry.js +7 -11
  181. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +12 -50
  182. package/dist/cjs/ion-input.cjs.entry.js +30 -120
  183. package/dist/cjs/ion-item-option_3.cjs.entry.js +19 -48
  184. package/dist/cjs/ion-item_8.cjs.entry.js +46 -113
  185. package/dist/cjs/ion-loading.cjs.entry.js +15 -17
  186. package/dist/cjs/ion-menu_3.cjs.entry.js +26 -44
  187. package/dist/cjs/ion-modal.cjs.entry.js +182 -99
  188. package/dist/cjs/ion-nav_2.cjs.entry.js +10 -13
  189. package/dist/cjs/ion-picker-column-option.cjs.entry.js +6 -10
  190. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
  191. package/dist/cjs/ion-picker.cjs.entry.js +5 -9
  192. package/dist/cjs/ion-popover.cjs.entry.js +76 -28
  193. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -25
  194. package/dist/cjs/ion-radio_2.cjs.entry.js +14 -24
  195. package/dist/cjs/ion-range.cjs.entry.js +10 -14
  196. package/dist/cjs/ion-refresher_2.cjs.entry.js +18 -36
  197. package/dist/cjs/ion-reorder_2.cjs.entry.js +12 -36
  198. package/dist/cjs/ion-ripple-effect.cjs.entry.js +6 -14
  199. package/dist/cjs/ion-route_4.cjs.entry.js +7 -8
  200. package/dist/cjs/ion-searchbar.cjs.entry.js +21 -134
  201. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  202. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -5
  203. package/dist/cjs/ion-segment_2.cjs.entry.js +14 -21
  204. package/dist/cjs/ion-select-modal.cjs.entry.js +9 -15
  205. package/dist/cjs/ion-select_3.cjs.entry.js +38 -129
  206. package/dist/cjs/ion-spinner.cjs.entry.js +6 -28
  207. package/dist/cjs/ion-split-pane.cjs.entry.js +8 -11
  208. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +21 -75
  209. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -7
  210. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  211. package/dist/cjs/ion-textarea.cjs.entry.js +15 -55
  212. package/dist/cjs/ion-toast.cjs.entry.js +43 -66
  213. package/dist/cjs/ion-toggle.cjs.entry.js +21 -78
  214. package/dist/cjs/ionic-global-HMVqOFGO.js +151 -0
  215. package/dist/cjs/ionic.cjs.js +3 -3
  216. package/dist/cjs/{ios.transition-Dt4GT8w5.js → ios.transition-BOt_uW73.js} +4 -6
  217. package/dist/cjs/{keyboard-BlrG3xPK.js → keyboard-UuAS4D_9.js} +1 -1
  218. package/dist/cjs/{keyboard-controller-O8n0dTQz.js → keyboard-controller-GXBiBRKS.js} +9 -11
  219. package/dist/cjs/{keyboard-B8HJHbg3.js → keyboard-hHzlEQpk.js} +3 -4
  220. package/dist/cjs/loader.cjs.js +3 -3
  221. package/dist/cjs/{md.transition-BolcQzNP.js → md.transition-Dt968VXB.js} +4 -5
  222. package/dist/cjs/{notch-controller-BE80VRju.js → notch-controller-Bzqhjm4f.js} +4 -4
  223. package/dist/cjs/{overlays-CRSQCKrz.js → overlays-B2b-TTbl.js} +9 -8
  224. package/dist/cjs/{status-tap-e-hyosXV.js → status-tap-g0sWWkXk.js} +2 -3
  225. package/dist/cjs/{swipe-back-CR060nOX.js → swipe-back-BIayeNOD.js} +1 -2
  226. package/dist/collection/collection-manifest.json +0 -1
  227. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  228. package/dist/collection/components/accordion/accordion.js +26 -36
  229. package/dist/collection/components/accordion/accordion.md.css +59 -67
  230. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  231. package/dist/collection/components/accordion-group/accordion-group.js +8 -44
  232. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  233. package/dist/collection/components/action-sheet/action-sheet.ios.css +6 -18
  234. package/dist/collection/components/action-sheet/action-sheet.js +13 -17
  235. package/dist/collection/components/action-sheet/action-sheet.md.css +5 -17
  236. package/dist/collection/components/alert/alert.ios.css +1 -19
  237. package/dist/collection/components/alert/alert.js +13 -16
  238. package/dist/collection/components/alert/alert.md.css +1 -19
  239. package/dist/collection/components/app/app.js +78 -15
  240. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  241. package/dist/collection/components/avatar/avatar.js +4 -120
  242. package/dist/collection/components/avatar/avatar.md.css +0 -51
  243. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  244. package/dist/collection/components/back-button/back-button.js +19 -27
  245. package/dist/collection/components/back-button/back-button.md.css +48 -60
  246. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  247. package/dist/collection/components/backdrop/backdrop.js +6 -12
  248. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  249. package/dist/collection/components/badge/badge.ios.css +12 -139
  250. package/dist/collection/components/badge/badge.js +9 -145
  251. package/dist/collection/components/badge/badge.md.css +12 -123
  252. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  253. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
  254. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  255. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  256. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  257. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  258. package/dist/collection/components/button/button.ios.css +46 -135
  259. package/dist/collection/components/button/button.js +17 -48
  260. package/dist/collection/components/button/button.md.css +50 -126
  261. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  262. package/dist/collection/components/buttons/buttons.js +9 -15
  263. package/dist/collection/components/buttons/buttons.md.css +3 -55
  264. package/dist/collection/components/card/card.ios.css +14 -65
  265. package/dist/collection/components/card/card.js +10 -41
  266. package/dist/collection/components/card/card.md.css +14 -65
  267. package/dist/collection/components/card-content/card-content.ios.css +1 -16
  268. package/dist/collection/components/card-content/card-content.js +8 -11
  269. package/dist/collection/components/card-content/card-content.md.css +1 -16
  270. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  271. package/dist/collection/components/card-header/card-header.js +10 -13
  272. package/dist/collection/components/card-header/card-header.md.css +15 -27
  273. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  274. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  275. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  276. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  277. package/dist/collection/components/card-title/card-title.js +8 -11
  278. package/dist/collection/components/card-title/card-title.md.css +0 -73
  279. package/dist/collection/components/checkbox/checkbox.ios.css +101 -161
  280. package/dist/collection/components/checkbox/checkbox.js +14 -70
  281. package/dist/collection/components/checkbox/checkbox.md.css +102 -162
  282. package/dist/collection/components/chip/chip.ios.css +14 -67
  283. package/dist/collection/components/chip/chip.js +8 -108
  284. package/dist/collection/components/chip/chip.md.css +14 -67
  285. package/dist/collection/components/col/col.css +4 -192
  286. package/dist/collection/components/col/col.js +61 -210
  287. package/dist/collection/components/content/content.css +2 -8
  288. package/dist/collection/components/content/content.js +11 -16
  289. package/dist/collection/components/datetime/datetime.ios.css +96 -258
  290. package/dist/collection/components/datetime/datetime.js +20 -98
  291. package/dist/collection/components/datetime/datetime.md.css +96 -258
  292. package/dist/collection/components/datetime/utils/data.js +5 -5
  293. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  294. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  295. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  296. package/dist/collection/components/fab/fab.css +1 -25
  297. package/dist/collection/components/fab/fab.js +5 -9
  298. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  299. package/dist/collection/components/fab-button/fab-button.js +21 -36
  300. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  301. package/dist/collection/components/fab-list/fab-list.css +0 -12
  302. package/dist/collection/components/fab-list/fab-list.js +5 -9
  303. package/dist/collection/components/footer/footer.ios.css +2 -14
  304. package/dist/collection/components/footer/footer.js +16 -21
  305. package/dist/collection/components/footer/footer.md.css +0 -12
  306. package/dist/collection/components/grid/grid.css +0 -12
  307. package/dist/collection/components/grid/grid.js +5 -9
  308. package/dist/collection/components/header/header.ios.css +10 -25
  309. package/dist/collection/components/header/header.js +19 -50
  310. package/dist/collection/components/header/header.md.css +8 -23
  311. package/dist/collection/components/header/header.utils.js +5 -5
  312. package/dist/collection/components/img/img.js +2 -8
  313. package/dist/collection/components/infinite-scroll/infinite-scroll.js +5 -100
  314. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  315. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  316. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  317. package/dist/collection/components/input/input.ios.css +140 -223
  318. package/dist/collection/components/input/input.js +38 -149
  319. package/dist/collection/components/input/input.md.css +212 -193
  320. package/dist/collection/components/input-otp/input-otp.ios.css +60 -102
  321. package/dist/collection/components/input-otp/input-otp.js +5 -7
  322. package/dist/collection/components/input-otp/input-otp.md.css +60 -102
  323. package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
  324. package/dist/collection/components/item/item.ios.css +69 -109
  325. package/dist/collection/components/item/item.js +20 -51
  326. package/dist/collection/components/item/item.md.css +68 -120
  327. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  328. package/dist/collection/components/item-divider/item-divider.js +8 -11
  329. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  330. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  331. package/dist/collection/components/item-group/item-group.js +7 -13
  332. package/dist/collection/components/item-group/item-group.md.css +0 -12
  333. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  334. package/dist/collection/components/item-option/item-option.js +9 -73
  335. package/dist/collection/components/item-option/item-option.md.css +29 -136
  336. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  337. package/dist/collection/components/item-options/item-options.js +7 -13
  338. package/dist/collection/components/item-options/item-options.md.css +34 -77
  339. package/dist/collection/components/item-sliding/item-sliding.css +0 -6
  340. package/dist/collection/components/item-sliding/item-sliding.js +4 -8
  341. package/dist/collection/components/label/label.ios.css +0 -18
  342. package/dist/collection/components/label/label.js +8 -11
  343. package/dist/collection/components/label/label.md.css +0 -18
  344. package/dist/collection/components/list/list.ios.css +14 -54
  345. package/dist/collection/components/list/list.js +9 -48
  346. package/dist/collection/components/list/list.md.css +16 -56
  347. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  348. package/dist/collection/components/list-header/list-header.js +8 -11
  349. package/dist/collection/components/list-header/list-header.md.css +38 -82
  350. package/dist/collection/components/loading/loading.ios.css +1 -13
  351. package/dist/collection/components/loading/loading.js +11 -14
  352. package/dist/collection/components/loading/loading.md.css +1 -13
  353. package/dist/collection/components/menu/menu.ios.css +3 -15
  354. package/dist/collection/components/menu/menu.js +7 -12
  355. package/dist/collection/components/menu/menu.md.css +3 -15
  356. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  357. package/dist/collection/components/menu-button/menu-button.js +10 -26
  358. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  359. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  360. package/dist/collection/components/modal/animations/sheet.js +2 -8
  361. package/dist/collection/components/modal/gestures/sheet.js +8 -10
  362. package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -1
  363. package/dist/collection/components/modal/modal.ios.css +70 -178
  364. package/dist/collection/components/modal/modal.js +119 -50
  365. package/dist/collection/components/modal/modal.md.css +70 -178
  366. package/dist/collection/components/nav/nav.css +1 -7
  367. package/dist/collection/components/nav/nav.js +5 -11
  368. package/dist/collection/components/nav-link/nav-link.js +1 -5
  369. package/dist/collection/components/note/note.ios.css +0 -12
  370. package/dist/collection/components/note/note.js +8 -11
  371. package/dist/collection/components/note/note.md.css +0 -12
  372. package/dist/collection/components/picker/picker.ios.css +3 -15
  373. package/dist/collection/components/picker/picker.js +5 -8
  374. package/dist/collection/components/picker/picker.md.css +3 -15
  375. package/dist/collection/components/picker-column/picker-column.css +2 -9
  376. package/dist/collection/components/picker-column/picker-column.js +7 -8
  377. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  378. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  379. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  380. package/dist/collection/components/picker-legacy/picker.ios.css +1 -13
  381. package/dist/collection/components/picker-legacy/picker.js +6 -7
  382. package/dist/collection/components/picker-legacy/picker.md.css +1 -13
  383. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
  384. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  385. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
  386. package/dist/collection/components/popover/animations/ios.enter.js +21 -5
  387. package/dist/collection/components/popover/animations/md.enter.js +20 -4
  388. package/dist/collection/components/popover/popover.ios.css +1 -13
  389. package/dist/collection/components/popover/popover.js +14 -17
  390. package/dist/collection/components/popover/popover.md.css +1 -13
  391. package/dist/collection/components/popover/utils.js +19 -1
  392. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  393. package/dist/collection/components/progress-bar/progress-bar.js +7 -43
  394. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  395. package/dist/collection/components/radio/radio.ios.css +91 -134
  396. package/dist/collection/components/radio/radio.js +9 -12
  397. package/dist/collection/components/radio/radio.md.css +91 -134
  398. package/dist/collection/components/radio-group/radio-group.ios.css +23 -43
  399. package/dist/collection/components/radio-group/radio-group.js +6 -21
  400. package/dist/collection/components/radio-group/radio-group.md.css +23 -43
  401. package/dist/collection/components/range/range.ios.css +85 -128
  402. package/dist/collection/components/range/range.js +9 -12
  403. package/dist/collection/components/range/range.md.css +85 -128
  404. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  405. package/dist/collection/components/refresher/refresher.js +8 -11
  406. package/dist/collection/components/refresher/refresher.md.css +2 -15
  407. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  408. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  409. package/dist/collection/components/reorder/reorder.js +6 -33
  410. package/dist/collection/components/reorder/reorder.md.css +0 -6
  411. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  412. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  413. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  414. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  415. package/dist/collection/components/route/route.js +0 -4
  416. package/dist/collection/components/router/router.js +0 -4
  417. package/dist/collection/components/router-link/router-link.css +2 -8
  418. package/dist/collection/components/router-link/router-link.js +5 -9
  419. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  420. package/dist/collection/components/router-outlet/router-outlet.js +3 -6
  421. package/dist/collection/components/row/row.css +0 -16
  422. package/dist/collection/components/row/row.js +2 -9
  423. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  424. package/dist/collection/components/searchbar/searchbar.js +34 -181
  425. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  426. package/dist/collection/components/segment/segment.ios.css +2 -45
  427. package/dist/collection/components/segment/segment.js +8 -11
  428. package/dist/collection/components/segment/segment.md.css +2 -45
  429. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  430. package/dist/collection/components/segment-button/segment-button.js +8 -11
  431. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  432. package/dist/collection/components/segment-content/segment-content.js +1 -1
  433. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  434. package/dist/collection/components/segment-view/segment-view.js +4 -6
  435. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  436. package/dist/collection/components/select/select.ios.css +176 -315
  437. package/dist/collection/components/select/select.js +53 -156
  438. package/dist/collection/components/select/select.md.css +178 -331
  439. package/dist/collection/components/select-modal/select-modal.ios.css +0 -18
  440. package/dist/collection/components/select-modal/select-modal.js +4 -11
  441. package/dist/collection/components/select-modal/select-modal.md.css +3 -7
  442. package/dist/collection/components/select-option/select-option.js +2 -9
  443. package/dist/collection/components/select-popover/select-popover.ios.css +0 -18
  444. package/dist/collection/components/select-popover/select-popover.js +4 -12
  445. package/dist/collection/components/select-popover/select-popover.md.css +0 -18
  446. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  447. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  448. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -77
  449. package/dist/collection/components/spinner/spinner.js +6 -47
  450. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  451. package/dist/collection/components/split-pane/split-pane.js +8 -14
  452. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  453. package/dist/collection/components/tab/tab.js +2 -6
  454. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  455. package/dist/collection/components/tab-bar/tab-bar.js +11 -78
  456. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  457. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  458. package/dist/collection/components/tab-button/tab-button.js +9 -54
  459. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  460. package/dist/collection/components/tabs/tabs.css +1 -7
  461. package/dist/collection/components/tabs/tabs.js +1 -4
  462. package/dist/collection/components/text/text.css +0 -6
  463. package/dist/collection/components/text/text.js +6 -7
  464. package/dist/collection/components/textarea/textarea.ios.css +139 -275
  465. package/dist/collection/components/textarea/textarea.js +16 -76
  466. package/dist/collection/components/textarea/textarea.md.css +140 -288
  467. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  468. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  469. package/dist/collection/components/title/title.ios.css +4 -32
  470. package/dist/collection/components/title/title.js +7 -13
  471. package/dist/collection/components/title/title.md.css +4 -32
  472. package/dist/collection/components/toast/animations/utils.js +1 -1
  473. package/dist/collection/components/toast/toast.ios.css +45 -84
  474. package/dist/collection/components/toast/toast.js +12 -75
  475. package/dist/collection/components/toast/toast.md.css +45 -84
  476. package/dist/collection/components/toggle/toggle.ios.css +131 -247
  477. package/dist/collection/components/toggle/toggle.js +18 -73
  478. package/dist/collection/components/toggle/toggle.md.css +131 -244
  479. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  480. package/dist/collection/components/toolbar/toolbar.js +13 -157
  481. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  482. package/dist/collection/global/ionic-global.js +13 -228
  483. package/dist/collection/utils/focus-visible.js +0 -22
  484. package/dist/collection/utils/framework-delegate.js +1 -3
  485. package/dist/collection/utils/hardware-back-button.js +0 -15
  486. package/dist/collection/utils/helpers.js +2 -42
  487. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  488. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  489. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  490. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  491. package/dist/collection/utils/overlays.js +1 -2
  492. package/dist/collection/utils/test/playwright/generator.js +23 -48
  493. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  494. package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -26
  495. package/dist/collection/utils/transition/ios.transition.js +0 -1
  496. package/dist/docs.json +374 -8195
  497. package/dist/esm/{animation-BNuoDl-O.js → animation-Dt8bGnA-.js} +1 -1
  498. package/dist/esm/{app-globals-tX0s9Zd7.js → app-globals-BDSf8fOA.js} +1 -1
  499. package/dist/esm/{button-active-BF6GZ_yH.js → button-active-L570Swow.js} +1 -1
  500. package/dist/esm/{capacitor-pzVAlnC0.js → capacitor-CFERIeaU.js} +1 -1
  501. package/dist/esm/{data-DFCY8gnk.js → data-DCORV9FH.js} +5 -5
  502. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  503. package/dist/esm/{framework-delegate-D2mUP0WI.js → framework-delegate-BYawdMXj.js} +2 -4
  504. package/dist/esm/{haptic-bBvyATla.js → haptic-DzAMWJuk.js} +1 -1
  505. package/dist/esm/hardware-back-button-CPLxO-Ev.js +115 -0
  506. package/dist/esm/{helpers-Bsml3FcE.js → helpers-DEn3pfjm.js} +3 -42
  507. package/dist/esm/{index-BpFi2B8W.js → index-Bs3kT4bc.js} +1 -1
  508. package/dist/esm/{index-BQI9hSZP.js → index-CvDIirVx.js} +10 -10
  509. package/dist/esm/{index-COG0_eom.js → index-DV3sJJW8.js} +1 -1
  510. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  511. package/dist/esm/{index-Bnw-zNoN.js → index-ceb5RaMT.js} +2 -3
  512. package/dist/esm/{index-M3l-IyxQ.js → index-r2D9DEro.js} +3 -3
  513. package/dist/esm/index.js +11 -10
  514. package/dist/esm/{input-shims-ACbgRt10.js → input-shims-DyOpfTg6.js} +5 -6
  515. package/dist/esm/{input.utils-loPnHH5H.js → input.utils-DrvTa8gz.js} +2 -2
  516. package/dist/esm/ion-accordion_2.entry.js +27 -56
  517. package/dist/esm/ion-action-sheet.entry.js +20 -23
  518. package/dist/esm/ion-alert.entry.js +20 -22
  519. package/dist/esm/ion-app_8.entry.js +151 -250
  520. package/dist/esm/ion-avatar_3.entry.js +13 -125
  521. package/dist/esm/ion-back-button.entry.js +20 -29
  522. package/dist/esm/ion-backdrop.entry.js +6 -9
  523. package/dist/esm/ion-breadcrumb_2.entry.js +17 -53
  524. package/dist/esm/ion-button_2.entry.js +11 -43
  525. package/dist/esm/ion-card_5.entry.js +29 -53
  526. package/dist/esm/ion-checkbox.entry.js +13 -31
  527. package/dist/esm/ion-chip.entry.js +8 -49
  528. package/dist/esm/ion-col_3.entry.js +57 -54
  529. package/dist/esm/ion-datetime-button.entry.js +7 -11
  530. package/dist/esm/ion-datetime_3.entry.js +40 -115
  531. package/dist/esm/ion-fab_3.entry.js +27 -43
  532. package/dist/esm/ion-img.entry.js +3 -7
  533. package/dist/esm/ion-infinite-scroll_2.entry.js +14 -89
  534. package/dist/esm/ion-input-otp.entry.js +7 -11
  535. package/dist/esm/ion-input-password-toggle.entry.js +14 -52
  536. package/dist/esm/ion-input.entry.js +32 -122
  537. package/dist/esm/ion-item-option_3.entry.js +19 -48
  538. package/dist/esm/ion-item_8.entry.js +48 -115
  539. package/dist/esm/ion-loading.entry.js +15 -17
  540. package/dist/esm/ion-menu_3.entry.js +27 -45
  541. package/dist/esm/ion-modal.entry.js +142 -59
  542. package/dist/esm/ion-nav_2.entry.js +10 -13
  543. package/dist/esm/ion-picker-column-option.entry.js +6 -10
  544. package/dist/esm/ion-picker-column.entry.js +11 -11
  545. package/dist/esm/ion-picker.entry.js +5 -9
  546. package/dist/esm/ion-popover.entry.js +76 -28
  547. package/dist/esm/ion-progress-bar.entry.js +7 -25
  548. package/dist/esm/ion-radio_2.entry.js +14 -24
  549. package/dist/esm/ion-range.entry.js +10 -14
  550. package/dist/esm/ion-refresher_2.entry.js +19 -37
  551. package/dist/esm/ion-reorder_2.entry.js +14 -38
  552. package/dist/esm/ion-ripple-effect.entry.js +6 -14
  553. package/dist/esm/ion-route_4.entry.js +7 -8
  554. package/dist/esm/ion-searchbar.entry.js +24 -137
  555. package/dist/esm/ion-segment-content.entry.js +1 -1
  556. package/dist/esm/ion-segment-view.entry.js +2 -5
  557. package/dist/esm/ion-segment_2.entry.js +14 -21
  558. package/dist/esm/ion-select-modal.entry.js +10 -16
  559. package/dist/esm/ion-select_3.entry.js +40 -131
  560. package/dist/esm/ion-spinner.entry.js +6 -28
  561. package/dist/esm/ion-split-pane.entry.js +8 -11
  562. package/dist/esm/ion-tab-bar_2.entry.js +21 -75
  563. package/dist/esm/ion-tab_2.entry.js +6 -7
  564. package/dist/esm/ion-text.entry.js +5 -5
  565. package/dist/esm/ion-textarea.entry.js +15 -55
  566. package/dist/esm/ion-toast.entry.js +17 -40
  567. package/dist/esm/ion-toggle.entry.js +22 -79
  568. package/dist/esm/ionic-global-CDrldh-5.js +146 -0
  569. package/dist/esm/ionic.js +3 -3
  570. package/dist/esm/{ios.transition-uJxJFbq8.js → ios.transition-BDzw0_Hm.js} +4 -6
  571. package/dist/esm/{keyboard-CU1vRv-b.js → keyboard-CUw4ekVy.js} +1 -1
  572. package/dist/esm/{keyboard-controller-Dplyc4OV.js → keyboard-controller-BaaVITYt.js} +3 -5
  573. package/dist/esm/{keyboard-B-HHSSYU.js → keyboard-ywgs5efA.js} +3 -4
  574. package/dist/esm/loader.js +3 -3
  575. package/dist/esm/{md.transition-Dp4NTeSh.js → md.transition-BzDYi3qq.js} +4 -5
  576. package/dist/esm/{notch-controller-BvFDmO69.js → notch-controller-BwelN_JM.js} +2 -2
  577. package/dist/esm/{overlays-B037a9Tz.js → overlays-D5YkFThA.js} +6 -5
  578. package/dist/esm/{status-tap-DXVlluKS.js → status-tap-5DQ7Fc4V.js} +2 -3
  579. package/dist/esm/{swipe-back-DNhAt9fY.js → swipe-back-BKw2CAHc.js} +1 -2
  580. package/dist/html.html-data.json +214 -2520
  581. package/dist/ionic/index.esm.js +1 -1
  582. package/dist/ionic/ionic.esm.js +1 -1
  583. package/dist/ionic/p-020af078.entry.js +4 -0
  584. package/dist/ionic/p-02d76786.entry.js +4 -0
  585. package/dist/ionic/p-074839fc.entry.js +4 -0
  586. package/dist/ionic/p-0dfa5a37.entry.js +4 -0
  587. package/dist/ionic/p-11518b31.entry.js +4 -0
  588. package/dist/ionic/p-11aa58d6.entry.js +4 -0
  589. package/dist/ionic/p-1647c46c.entry.js +4 -0
  590. package/dist/ionic/p-2a939845.entry.js +4 -0
  591. package/dist/ionic/p-301ad219.entry.js +4 -0
  592. package/dist/ionic/p-316c0420.entry.js +4 -0
  593. package/dist/ionic/p-31f7095f.entry.js +4 -0
  594. package/dist/ionic/p-34642fa1.entry.js +4 -0
  595. package/dist/ionic/p-35696017.entry.js +4 -0
  596. package/dist/ionic/p-370e4237.entry.js +4 -0
  597. package/dist/ionic/p-3a6caca9.entry.js +4 -0
  598. package/dist/ionic/p-40c261a3.entry.js +4 -0
  599. package/dist/ionic/p-46d74291.entry.js +4 -0
  600. package/dist/ionic/p-481858c3.entry.js +4 -0
  601. package/dist/ionic/p-49d06882.entry.js +4 -0
  602. package/dist/ionic/p-4e41ea20.entry.js +4 -0
  603. package/dist/ionic/p-51a60e0f.entry.js +4 -0
  604. package/dist/ionic/p-582824c5.entry.js +4 -0
  605. package/dist/ionic/p-6241ce47.entry.js +4 -0
  606. package/dist/ionic/p-639dd543.entry.js +4 -0
  607. package/dist/ionic/p-6444c606.entry.js +4 -0
  608. package/dist/ionic/p-675b1a31.entry.js +4 -0
  609. package/dist/ionic/p-6d070558.entry.js +4 -0
  610. package/dist/ionic/p-7268efa5.entry.js +4 -0
  611. package/dist/ionic/p-72c38b88.entry.js +4 -0
  612. package/dist/ionic/p-732b2fd6.entry.js +4 -0
  613. package/dist/ionic/p-79bd78f9.entry.js +4 -0
  614. package/dist/ionic/p-7babec72.entry.js +4 -0
  615. package/dist/ionic/p-86f53961.entry.js +4 -0
  616. package/dist/ionic/p-94de5cfa.entry.js +4 -0
  617. package/dist/ionic/p-9575b654.entry.js +4 -0
  618. package/dist/ionic/p-9eeaBrnk.js +4 -0
  619. package/dist/ionic/p-B0q1YL7N.js +4 -0
  620. package/dist/ionic/p-BFvmZNyx.js +4 -0
  621. package/dist/ionic/p-BKc55Xev.js +4 -0
  622. package/dist/ionic/p-BOVrCkpJ.js +4 -0
  623. package/dist/ionic/p-BYEqWnSg.js +4 -0
  624. package/dist/ionic/p-BmVRXR1y.js +4 -0
  625. package/dist/ionic/p-Bmgaetn_.js +4 -0
  626. package/dist/ionic/p-C7hRNDhM.js +4 -0
  627. package/dist/ionic/p-CIGNaXM1.js +4 -0
  628. package/dist/ionic/{p-D-BelbiX.js → p-CJxh_yLS.js} +1 -1
  629. package/dist/ionic/{p-Cq83JWMg.js → p-CKvCXMs9.js} +1 -1
  630. package/dist/ionic/p-CTfR9YZG.js +4 -0
  631. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  632. package/dist/ionic/{p-B3uz75uZ.js → p-CwgG81ZD.js} +1 -1
  633. package/dist/ionic/p-D-eFFUkA.js +4 -0
  634. package/dist/ionic/{p-HpOiAvpC.js → p-D0dMcSkw.js} +1 -1
  635. package/dist/ionic/{p-B-D7Cfki.js → p-D13Eaw-8.js} +1 -1
  636. package/dist/ionic/{p-C8r4dtYR.js → p-DCv9sLH2.js} +1 -1
  637. package/dist/ionic/p-DDb5r57F.js +4 -0
  638. package/dist/ionic/p-DNcfiJwE.js +4 -0
  639. package/dist/ionic/{p-q1ZSn0l7.js → p-DUt5fQmA.js} +1 -1
  640. package/dist/ionic/{p-COG0_eom.js → p-DV3sJJW8.js} +1 -1
  641. package/dist/ionic/p-DZRJwG4S.js +4 -0
  642. package/dist/ionic/{p-CtUK3cKk.js → p-Dc45iWE4.js} +1 -1
  643. package/dist/ionic/p-DdR6rpbR.js +4 -0
  644. package/dist/ionic/p-QHYY4sjU.js +4 -0
  645. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  646. package/dist/ionic/p-a127bee2.entry.js +4 -0
  647. package/dist/ionic/p-ac4eb91d.entry.js +4 -0
  648. package/dist/ionic/p-b0a7585c.entry.js +4 -0
  649. package/dist/ionic/p-b3d44509.entry.js +4 -0
  650. package/dist/ionic/p-c19af093.entry.js +4 -0
  651. package/dist/ionic/p-c19f63d0.entry.js +4 -0
  652. package/dist/ionic/p-cc45bcbc.entry.js +4 -0
  653. package/dist/ionic/p-d0a2a1ab.entry.js +4 -0
  654. package/dist/ionic/p-d126e8d3.entry.js +4 -0
  655. package/dist/ionic/p-d1f54e28.entry.js +4 -0
  656. package/dist/ionic/p-d3014190.entry.js +4 -0
  657. package/dist/ionic/p-da7d04cc.entry.js +4 -0
  658. package/dist/ionic/p-db82892c.entry.js +4 -0
  659. package/dist/ionic/p-dbbe606a.entry.js +4 -0
  660. package/dist/ionic/p-dd1aef77.entry.js +4 -0
  661. package/dist/ionic/p-eb024a5b.entry.js +4 -0
  662. package/dist/ionic/p-f8f22cc0.entry.js +4 -0
  663. package/dist/types/components/accordion/accordion.d.ts +3 -5
  664. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  665. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  666. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  667. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  668. package/dist/types/components/alert/alert.d.ts +2 -3
  669. package/dist/types/components/app/app.d.ts +2 -4
  670. package/dist/types/components/avatar/avatar.d.ts +0 -32
  671. package/dist/types/components/back-button/back-button.d.ts +1 -2
  672. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  673. package/dist/types/components/badge/badge.d.ts +1 -34
  674. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  675. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  676. package/dist/types/components/button/button.d.ts +6 -19
  677. package/dist/types/components/buttons/buttons.d.ts +1 -5
  678. package/dist/types/components/card/card.d.ts +1 -8
  679. package/dist/types/components/card-content/card-content.d.ts +1 -2
  680. package/dist/types/components/card-header/card-header.d.ts +2 -3
  681. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  682. package/dist/types/components/card-title/card-title.d.ts +1 -2
  683. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  684. package/dist/types/components/chip/chip.d.ts +1 -26
  685. package/dist/types/components/col/col.d.ts +5 -52
  686. package/dist/types/components/content/content.d.ts +0 -3
  687. package/dist/types/components/datetime/datetime.d.ts +1 -26
  688. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  689. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  690. package/dist/types/components/fab/fab.d.ts +0 -4
  691. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  692. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  693. package/dist/types/components/footer/footer.d.ts +3 -4
  694. package/dist/types/components/grid/grid.d.ts +0 -4
  695. package/dist/types/components/header/header.d.ts +3 -9
  696. package/dist/types/components/header/header.utils.d.ts +3 -3
  697. package/dist/types/components/img/img.d.ts +0 -3
  698. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  699. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  700. package/dist/types/components/input/input.d.ts +5 -31
  701. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  702. package/dist/types/components/item/item.d.ts +4 -11
  703. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  704. package/dist/types/components/item-group/item-group.d.ts +0 -4
  705. package/dist/types/components/item-option/item-option.d.ts +1 -18
  706. package/dist/types/components/item-options/item-options.d.ts +0 -4
  707. package/dist/types/components/item-sliding/item-sliding.d.ts +0 -4
  708. package/dist/types/components/label/label.d.ts +1 -2
  709. package/dist/types/components/list/list.d.ts +1 -15
  710. package/dist/types/components/list-header/list-header.d.ts +1 -2
  711. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  712. package/dist/types/components/loading/loading.d.ts +2 -3
  713. package/dist/types/components/menu/menu.d.ts +0 -3
  714. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  715. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  716. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  717. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +1 -1
  718. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  719. package/dist/types/components/modal/modal.d.ts +25 -11
  720. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  721. package/dist/types/components/nav/nav.d.ts +1 -5
  722. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  723. package/dist/types/components/note/note.d.ts +1 -2
  724. package/dist/types/components/picker/picker.d.ts +1 -2
  725. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  726. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  727. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  728. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  729. package/dist/types/components/popover/popover.d.ts +5 -6
  730. package/dist/types/components/popover/utils.d.ts +2 -0
  731. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  732. package/dist/types/components/radio/radio.d.ts +1 -2
  733. package/dist/types/components/radio-group/radio-group.d.ts +0 -8
  734. package/dist/types/components/range/range.d.ts +1 -2
  735. package/dist/types/components/refresher/refresher.d.ts +1 -2
  736. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  737. package/dist/types/components/reorder/reorder.d.ts +0 -9
  738. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  739. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  740. package/dist/types/components/route/route.d.ts +0 -4
  741. package/dist/types/components/router/router.d.ts +0 -4
  742. package/dist/types/components/router-link/router-link.d.ts +0 -4
  743. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  744. package/dist/types/components/row/row.d.ts +0 -4
  745. package/dist/types/components/searchbar/searchbar.d.ts +9 -51
  746. package/dist/types/components/segment/segment.d.ts +1 -2
  747. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  748. package/dist/types/components/select/select.d.ts +13 -41
  749. package/dist/types/components/select-modal/select-modal.d.ts +0 -1
  750. package/dist/types/components/select-option/select-option.d.ts +0 -4
  751. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  752. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  753. package/dist/types/components/spinner/spinner.d.ts +0 -15
  754. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  755. package/dist/types/components/tab/tab.d.ts +0 -4
  756. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -22
  757. package/dist/types/components/tab-button/tab-button.d.ts +1 -12
  758. package/dist/types/components/tabs/tabs.d.ts +0 -3
  759. package/dist/types/components/text/text.d.ts +1 -2
  760. package/dist/types/components/textarea/textarea.d.ts +4 -17
  761. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  762. package/dist/types/components/title/title.d.ts +0 -4
  763. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  764. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  765. package/dist/types/components/toast/toast.d.ts +2 -19
  766. package/dist/types/components/toggle/toggle.d.ts +1 -15
  767. package/dist/types/components/toolbar/toolbar.d.ts +3 -20
  768. package/dist/types/components.d.ts +196 -1593
  769. package/dist/types/global/ionic-global.d.ts +2 -27
  770. package/dist/types/interface.d.ts +0 -3
  771. package/dist/types/utils/config.d.ts +2 -106
  772. package/dist/types/utils/focus-visible.d.ts +0 -13
  773. package/dist/types/utils/helpers.d.ts +0 -11
  774. package/dist/types/utils/overlays-interface.d.ts +1 -31
  775. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  776. package/hydrate/index.js +1121 -2890
  777. package/hydrate/index.mjs +1121 -2890
  778. package/package.json +4 -8
  779. package/components/caret-down.js +0 -6
  780. package/components/caret-left.js +0 -6
  781. package/components/caret-right.js +0 -6
  782. package/components/ion-divider.d.ts +0 -11
  783. package/components/ion-divider.js +0 -72
  784. package/components/list2.js +0 -6
  785. package/components/x.js +0 -6
  786. package/css/ionic/bundle.ionic.css +0 -1
  787. package/css/ionic/bundle.ionic.css.map +0 -1
  788. package/css/ionic/core.ionic.css +0 -1
  789. package/css/ionic/core.ionic.css.map +0 -1
  790. package/css/ionic/global.bundle.ionic.css +0 -1
  791. package/css/ionic/global.bundle.ionic.css.map +0 -1
  792. package/css/ionic/ionic-swiper.ionic.css +0 -1
  793. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  794. package/css/ionic/link.ionic.css +0 -1
  795. package/css/ionic/link.ionic.css.map +0 -1
  796. package/css/ionic/structure.ionic.css +0 -1
  797. package/css/ionic/structure.ionic.css.map +0 -1
  798. package/css/ionic/typography.ionic.css +0 -1
  799. package/css/ionic/typography.ionic.css.map +0 -1
  800. package/css/ionic/utils.bundle.ionic.css +0 -1
  801. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  802. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  803. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  804. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  805. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  806. package/dist/cjs/ionic-global-DpRwOXLK.js +0 -506
  807. package/dist/cjs/list-a-7GSA6K.js +0 -8
  808. package/dist/cjs/x-BTF99yFH.js +0 -8
  809. package/dist/collection/components/accordion/accordion.ionic.css +0 -196
  810. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  811. package/dist/collection/components/avatar/avatar.ionic.css +0 -391
  812. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  813. package/dist/collection/components/badge/badge.ionic.css +0 -275
  814. package/dist/collection/components/button/button.ionic.css +0 -636
  815. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  816. package/dist/collection/components/card/card.ionic.css +0 -144
  817. package/dist/collection/components/card-content/card-content.ionic.css +0 -92
  818. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  819. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  820. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -539
  821. package/dist/collection/components/chip/chip.ionic.css +0 -215
  822. package/dist/collection/components/datetime/datetime.ionic.css +0 -711
  823. package/dist/collection/components/divider/divider.ionic.css +0 -148
  824. package/dist/collection/components/divider/divider.ios.css +0 -87
  825. package/dist/collection/components/divider/divider.js +0 -94
  826. package/dist/collection/components/divider/divider.md.css +0 -87
  827. package/dist/collection/components/header/header.ionic.css +0 -97
  828. package/dist/collection/components/input/input.ionic.css +0 -885
  829. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -369
  830. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  831. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  832. package/dist/collection/components/item/item.ionic.css +0 -508
  833. package/dist/collection/components/item-option/item-option.ionic.css +0 -278
  834. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  835. package/dist/collection/components/list/list.ionic.css +0 -212
  836. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  837. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  838. package/dist/collection/components/modal/modal.ionic.css +0 -247
  839. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  840. package/dist/collection/components/radio/radio.ionic.css +0 -422
  841. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
  842. package/dist/collection/components/range/range.ionic.css +0 -563
  843. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  844. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -626
  845. package/dist/collection/components/segment/segment.ionic.css +0 -115
  846. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -351
  847. package/dist/collection/components/select/select.ionic.css +0 -777
  848. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -130
  849. package/dist/collection/components/spinner/spinner.native.css +0 -198
  850. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -201
  851. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -337
  852. package/dist/collection/components/textarea/textarea.ionic.css +0 -885
  853. package/dist/collection/components/title/title.ionic.css +0 -127
  854. package/dist/collection/components/toast/toast.ionic.css +0 -394
  855. package/dist/collection/components/toggle/toggle.ionic.css +0 -508
  856. package/dist/collection/components/toolbar/test/image.svg +0 -1
  857. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -241
  858. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  859. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  860. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  861. package/dist/esm/ion-divider.entry.js +0 -49
  862. package/dist/esm/ionic-global-2lDD9k7y.js +0 -495
  863. package/dist/esm/list-Dhi5xtNS.js +0 -6
  864. package/dist/esm/x-BDqjX7Z_.js +0 -6
  865. package/dist/ionic/p-01577340.entry.js +0 -4
  866. package/dist/ionic/p-04b1d37a.entry.js +0 -4
  867. package/dist/ionic/p-04e0ff62.entry.js +0 -4
  868. package/dist/ionic/p-0607ce8e.entry.js +0 -4
  869. package/dist/ionic/p-0744265c.entry.js +0 -4
  870. package/dist/ionic/p-0ac7c560.entry.js +0 -4
  871. package/dist/ionic/p-0c41c8a8.entry.js +0 -4
  872. package/dist/ionic/p-0eecce18.entry.js +0 -4
  873. package/dist/ionic/p-0f124806.entry.js +0 -4
  874. package/dist/ionic/p-19b2060d.entry.js +0 -4
  875. package/dist/ionic/p-27dbb44c.entry.js +0 -4
  876. package/dist/ionic/p-28a9d991.entry.js +0 -4
  877. package/dist/ionic/p-2dc676b2.entry.js +0 -4
  878. package/dist/ionic/p-381eb2a4.entry.js +0 -4
  879. package/dist/ionic/p-412d5d9e.entry.js +0 -4
  880. package/dist/ionic/p-42149296.entry.js +0 -4
  881. package/dist/ionic/p-472b2ca3.entry.js +0 -4
  882. package/dist/ionic/p-5543b7b8.entry.js +0 -4
  883. package/dist/ionic/p-57a2d30b.entry.js +0 -4
  884. package/dist/ionic/p-59a79bd9.entry.js +0 -4
  885. package/dist/ionic/p-5daa0980.entry.js +0 -4
  886. package/dist/ionic/p-5f9d9c14.entry.js +0 -4
  887. package/dist/ionic/p-60549f06.entry.js +0 -4
  888. package/dist/ionic/p-616dd053.entry.js +0 -4
  889. package/dist/ionic/p-63a2b52a.entry.js +0 -4
  890. package/dist/ionic/p-68c064ce.entry.js +0 -4
  891. package/dist/ionic/p-6bb99f41.entry.js +0 -4
  892. package/dist/ionic/p-742fed9f.entry.js +0 -4
  893. package/dist/ionic/p-7fe3ea65.entry.js +0 -4
  894. package/dist/ionic/p-826267d6.entry.js +0 -4
  895. package/dist/ionic/p-8681a2a7.entry.js +0 -4
  896. package/dist/ionic/p-8ee09d4e.entry.js +0 -4
  897. package/dist/ionic/p-8f541b05.entry.js +0 -4
  898. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  899. package/dist/ionic/p-BYSs-jZz.js +0 -4
  900. package/dist/ionic/p-BiTKUjko.js +0 -4
  901. package/dist/ionic/p-ByhhQryg.js +0 -4
  902. package/dist/ionic/p-CK1xn1Nt.js +0 -4
  903. package/dist/ionic/p-COLHV2ym.js +0 -4
  904. package/dist/ionic/p-C_97se21.js +0 -4
  905. package/dist/ionic/p-CvRDI-Iz.js +0 -4
  906. package/dist/ionic/p-D1t981Ih.js +0 -4
  907. package/dist/ionic/p-DHeUgOSJ.js +0 -4
  908. package/dist/ionic/p-DM-v_NNE.js +0 -4
  909. package/dist/ionic/p-DeEDqH91.js +0 -4
  910. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  911. package/dist/ionic/p-DoGrslUl.js +0 -4
  912. package/dist/ionic/p-Dq8ap6AD.js +0 -4
  913. package/dist/ionic/p-DyaKZbAH.js +0 -4
  914. package/dist/ionic/p-UafGZQ8e.js +0 -4
  915. package/dist/ionic/p-a35678f4.entry.js +0 -4
  916. package/dist/ionic/p-a6a37a34.entry.js +0 -4
  917. package/dist/ionic/p-a89211bd.entry.js +0 -4
  918. package/dist/ionic/p-add1a5d8.entry.js +0 -4
  919. package/dist/ionic/p-af1f624e.entry.js +0 -4
  920. package/dist/ionic/p-b475ec18.entry.js +0 -4
  921. package/dist/ionic/p-bd295ca7.entry.js +0 -4
  922. package/dist/ionic/p-be82dc77.entry.js +0 -4
  923. package/dist/ionic/p-c082f853.entry.js +0 -4
  924. package/dist/ionic/p-c19b5c8c.entry.js +0 -4
  925. package/dist/ionic/p-cdbfbff6.entry.js +0 -4
  926. package/dist/ionic/p-d3f64c58.entry.js +0 -4
  927. package/dist/ionic/p-d9c9592a.entry.js +0 -4
  928. package/dist/ionic/p-da0a2ca6.entry.js +0 -4
  929. package/dist/ionic/p-da49c0fe.entry.js +0 -4
  930. package/dist/ionic/p-dacd8666.entry.js +0 -4
  931. package/dist/ionic/p-e1d84521.entry.js +0 -4
  932. package/dist/ionic/p-ecba552f.entry.js +0 -4
  933. package/dist/ionic/p-ecf8e713.entry.js +0 -4
  934. package/dist/ionic/p-f667945d.entry.js +0 -4
  935. package/dist/ionic/p-fIOYmaqA.js +0 -4
  936. package/dist/ionic/p-nP9c7bo5.js +0 -4
  937. package/dist/ionic/p-of4jy1ch.js +0 -4
  938. package/dist/ionic/p-qZR4N8Lu.js +0 -4
  939. package/dist/ionic/p-vXpMhGrs.js +0 -4
  940. package/dist/types/components/divider/divider.d.ts +0 -20
  941. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
1
34
  /**
2
35
  * A heuristic that applies CSS to tablet
3
36
  * viewports.
@@ -46,12 +79,15 @@
46
79
  --min-height: auto;
47
80
  --max-height: auto;
48
81
  --overflow: hidden;
82
+ --border-radius: 0;
49
83
  --border-width: 0;
50
84
  --border-style: none;
51
85
  --border-color: transparent;
86
+ --background: var(--ion-background-color, #fff);
52
87
  --box-shadow: none;
53
- right: 0;
88
+ --backdrop-opacity: 0;
54
89
  left: 0;
90
+ right: 0;
55
91
  top: 0;
56
92
  bottom: 0;
57
93
  display: flex;
@@ -59,6 +95,7 @@
59
95
  align-items: center;
60
96
  justify-content: center;
61
97
  outline: none;
98
+ color: var(--ion-text-color, #000);
62
99
  contain: strict;
63
100
  }
64
101
 
@@ -94,177 +131,10 @@ ion-backdrop {
94
131
  background: transparent;
95
132
  }
96
133
 
97
- .modal-handle {
98
- -webkit-margin-start: auto;
99
- margin-inline-start: auto;
100
- -webkit-margin-end: auto;
101
- margin-inline-end: auto;
102
- position: absolute;
103
- /**
104
- * This allows the handle to appear
105
- * on top of user content in WebKit.
106
- */
107
- transform: translateZ(0);
108
- border: 0;
109
- cursor: pointer;
110
- z-index: 11;
111
- }
112
-
113
- .modal-handle::before {
114
- position: absolute;
115
- transform: translate(-50%, -50%);
116
- content: "";
117
- }
118
-
119
- :host(.modal-sheet) .modal-wrapper,
120
- :host(.modal-sheet) .modal-shadow {
121
- position: absolute;
122
- bottom: 0;
123
- }
124
-
125
- :host(.modal-sheet.modal-no-expand-scroll) ion-footer {
126
- position: absolute;
127
- bottom: 0;
128
- width: var(--width);
129
- }
130
-
131
- /**
132
- * Convert a pixels given value into rem
133
- *
134
- * @param pixels - Value in pixels to be converted (i.e. px)
135
- * @param context (optional) - Baseline value
136
- */
137
- /**
138
- * Convert a font size to a dynamic font size.
139
- * Fonts that participate in Dynamic Type should use
140
- * dynamic font sizes.
141
- * @param size - The initial font size including the unit (i.e. px or pt)
142
- * @param unit (optional) - The unit to convert to. Use this if you want to
143
- * convert to a unit other than $baselineUnit.
144
- */
145
- /**
146
- * Convert a font size to a dynamic font size but impose
147
- * a maximum font size.
148
- * @param size - The initial font size including the unit (i.e. px or pt)
149
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
150
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
151
- * convert to a unit other than $baselineUnit.
152
- */
153
- /**
154
- * Convert a font size to a dynamic font size but impose
155
- * a minimum font size.
156
- * @param size - The initial font size including the unit (i.e. px or pt)
157
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
158
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
159
- * convert to a unit other than $baselineUnit.
160
- */
161
- /**
162
- * Convert a font size to a dynamic font size but impose
163
- * maximum and minimum font sizes.
164
- * @param size - The initial font size including the unit (i.e. px or pt)
165
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
166
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
167
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
168
- * convert to a unit other than $baselineUnit.
169
- */
170
- /**
171
- * A heuristic that applies CSS to tablet
172
- * viewports.
173
- *
174
- * Usage:
175
- * @include tablet-viewport() {
176
- * :host {
177
- * background-color: green;
178
- * }
179
- * }
180
- */
181
- /**
182
- * A heuristic that applies CSS to mobile
183
- * viewports (i.e. phones, not tablets).
184
- *
185
- * Usage:
186
- * @include mobile-viewport() {
187
- * :host {
188
- * background-color: blue;
189
- * }
190
- * }
191
- */
192
- /**
193
- * Convert a pixels given value into rem
194
- *
195
- * @param pixels - Value in pixels to be converted (i.e. px)
196
- * @param context (optional) - Baseline value
197
- */
198
- /**
199
- * Convert a font size to a dynamic font size.
200
- * Fonts that participate in Dynamic Type should use
201
- * dynamic font sizes.
202
- * @param size - The initial font size including the unit (i.e. px or pt)
203
- * @param unit (optional) - The unit to convert to. Use this if you want to
204
- * convert to a unit other than $baselineUnit.
205
- */
206
- /**
207
- * Convert a font size to a dynamic font size but impose
208
- * a maximum font size.
209
- * @param size - The initial font size including the unit (i.e. px or pt)
210
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
211
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
212
- * convert to a unit other than $baselineUnit.
213
- */
214
- /**
215
- * Convert a font size to a dynamic font size but impose
216
- * a minimum font size.
217
- * @param size - The initial font size including the unit (i.e. px or pt)
218
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
219
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
220
- * convert to a unit other than $baselineUnit.
221
- */
222
- /**
223
- * Convert a font size to a dynamic font size but impose
224
- * maximum and minimum font sizes.
225
- * @param size - The initial font size including the unit (i.e. px or pt)
226
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
227
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
228
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
229
- * convert to a unit other than $baselineUnit.
230
- */
231
- /**
232
- * A heuristic that applies CSS to tablet
233
- * viewports.
234
- *
235
- * Usage:
236
- * @include tablet-viewport() {
237
- * :host {
238
- * background-color: green;
239
- * }
240
- * }
241
- */
242
- /**
243
- * A heuristic that applies CSS to mobile
244
- * viewports (i.e. phones, not tablets).
245
- *
246
- * Usage:
247
- * @include mobile-viewport() {
248
- * :host {
249
- * background-color: blue;
250
- * }
251
- * }
252
- */
253
- :host {
254
- --background: var(--ion-background-color, #fff);
255
- --border-radius: 0;
256
- --backdrop-opacity: 0;
257
- color: var(--ion-text-color, #000);
258
- }
259
-
260
134
  @media only screen and (min-width: 768px) and (min-height: 600px) {
261
135
  :host {
262
136
  --width: 600px;
263
137
  --height: 500px;
264
- --ion-safe-area-top: 0px;
265
- --ion-safe-area-bottom: 0px;
266
- --ion-safe-area-right: 0px;
267
- --ion-safe-area-left: 0px;
268
138
  }
269
139
  }
270
140
  @media only screen and (min-width: 768px) and (min-height: 768px) {
@@ -274,27 +144,43 @@ ion-backdrop {
274
144
  }
275
145
  }
276
146
  .modal-handle {
277
- right: 0px;
278
147
  left: 0px;
148
+ right: 0px;
279
149
  top: 5px;
280
150
  border-radius: 8px;
151
+ -webkit-margin-start: auto;
152
+ margin-inline-start: auto;
153
+ -webkit-margin-end: auto;
154
+ margin-inline-end: auto;
155
+ position: absolute;
281
156
  width: 36px;
282
157
  height: 5px;
158
+ /**
159
+ * This allows the handle to appear
160
+ * on top of user content in WebKit.
161
+ */
162
+ transform: translateZ(0);
163
+ border: 0;
283
164
  background: var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));
165
+ cursor: pointer;
166
+ z-index: 11;
284
167
  }
285
168
  .modal-handle::before {
286
169
  /**
287
- * Adds a 4px tap area to the perimeter
288
- * of the handle.
289
- */
170
+ * Adds a 4px tap area to the perimeter
171
+ * of the handle.
172
+ */
290
173
  -webkit-padding-start: 4px;
291
174
  padding-inline-start: 4px;
292
175
  -webkit-padding-end: 4px;
293
176
  padding-inline-end: 4px;
294
177
  padding-top: 4px;
295
178
  padding-bottom: 4px;
179
+ position: absolute;
296
180
  width: 36px;
297
181
  height: 5px;
182
+ transform: translate(-50%, -50%);
183
+ content: "";
298
184
  }
299
185
 
300
186
  /**
@@ -305,12 +191,18 @@ ion-backdrop {
305
191
  --height: calc(100% - (var(--ion-safe-area-top) + 10px));
306
192
  }
307
193
 
308
- /**
309
- * Convert a pixels given value into rem
310
- *
311
- * @param pixels - Value in pixels to be converted (i.e. px)
312
- * @param context (optional) - Baseline value
313
- */
194
+ :host(.modal-sheet) .modal-wrapper,
195
+ :host(.modal-sheet) .modal-shadow {
196
+ position: absolute;
197
+ bottom: 0;
198
+ }
199
+
200
+ :host(.modal-sheet.modal-no-expand-scroll) ion-footer {
201
+ position: absolute;
202
+ bottom: 0;
203
+ width: var(--width);
204
+ }
205
+
314
206
  /**
315
207
  * Convert a font size to a dynamic font size.
316
208
  * Fonts that participate in Dynamic Type should use
@@ -12,7 +12,7 @@ import { GESTURE, BACKDROP, dismiss, eventMethod, prepareOverlay, present, creat
12
12
  import { getClassMap } from "../../utils/theme";
13
13
  import { deepReady, waitForMount } from "../../utils/transition/index";
14
14
  import { config } from "../../global/config";
15
- import { getIonMode, getIonTheme } from "../../global/ionic-global";
15
+ import { getIonMode } from "../../global/ionic-global";
16
16
  import { KEYBOARD_DID_OPEN } from "../../utils/keyboard/keyboard";
17
17
  import { iosEnterAnimation } from "./animations/ios.enter";
18
18
  import { iosLeaveAnimation } from "./animations/ios.leave";
@@ -24,8 +24,7 @@ import { createSwipeToCloseGesture, SwipeToCloseDefaults } from "./gestures/swip
24
24
  import { setCardStatusBarDark, setCardStatusBarDefault } from "./utils";
25
25
  // TODO(FW-2832): types
26
26
  /**
27
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
28
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
27
+ * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
29
28
  *
30
29
  * @slot - Content is placed inside of the `.modal-content` element.
31
30
  *
@@ -43,6 +42,8 @@ export class Modal {
43
42
  this.inline = false;
44
43
  // Whether or not modal is being dismissed via gesture
45
44
  this.gestureAnimationDismissing = false;
45
+ // Whether to skip coordinate-based safe-area detection (for fullscreen phone modals)
46
+ this.skipSafeAreaCoordinateDetection = false;
46
47
  this.presented = false;
47
48
  /** @internal */
48
49
  this.hasController = false;
@@ -233,7 +234,9 @@ export class Modal {
233
234
  }
234
235
  }
235
236
  onWindowResize() {
236
- // Only handle resize for iOS card modals when no custom animations are provided
237
+ // Update safe-area overrides for all modal types on resize
238
+ this.updateSafeAreaOverrides();
239
+ // Only handle view transition for iOS card modals when no custom animations are provided
237
240
  if (getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
238
241
  return;
239
242
  }
@@ -415,6 +418,8 @@ export class Modal {
415
418
  else if (!this.keepContentsMounted) {
416
419
  await waitForMount();
417
420
  }
421
+ // Predict safe-area needs based on modal configuration to avoid visual snap
422
+ this.setInitialSafeAreaOverrides(presentingElement);
418
423
  writeTask(() => this.el.classList.add('show-modal'));
419
424
  const hasCardModal = presentingElement !== undefined;
420
425
  /**
@@ -432,7 +437,6 @@ export class Modal {
432
437
  currentBreakpoint: this.initialBreakpoint,
433
438
  backdropBreakpoint: this.backdropBreakpoint,
434
439
  expandToScroll: this.expandToScroll,
435
- staticBackdropOpacity: getIonTheme(this) === 'ionic',
436
440
  });
437
441
  /* tslint:disable-next-line */
438
442
  if (typeof window !== 'undefined') {
@@ -477,6 +481,8 @@ export class Modal {
477
481
  else if (hasCardModal) {
478
482
  this.initSwipeToClose();
479
483
  }
484
+ // Now that animation is complete, update safe-area based on actual position
485
+ this.updateSafeAreaOverrides();
480
486
  // Initialize view transition listener for iOS card modals
481
487
  this.initViewTransitionListener();
482
488
  // Initialize parent removal observer
@@ -528,7 +534,7 @@ export class Modal {
528
534
  await this.dismiss(undefined, GESTURE);
529
535
  this.gestureAnimationDismissing = false;
530
536
  });
531
- });
537
+ }, () => this.updateSafeAreaOverrides());
532
538
  this.gesture.enable(true);
533
539
  }
534
540
  initSheetGesture() {
@@ -542,7 +548,6 @@ export class Modal {
542
548
  currentBreakpoint: initialBreakpoint,
543
549
  backdropBreakpoint,
544
550
  expandToScroll: this.expandToScroll,
545
- staticBackdropOpacity: getIonTheme(this) === 'ionic',
546
551
  }));
547
552
  ani.progressStart(true, 1);
548
553
  const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
@@ -550,7 +555,8 @@ export class Modal {
550
555
  this.currentBreakpoint = breakpoint;
551
556
  this.ionBreakpointDidChange.emit({ breakpoint });
552
557
  }
553
- }, getIonTheme(this) === 'ionic');
558
+ this.updateSafeAreaOverrides();
559
+ }, () => this.updateSafeAreaOverrides());
554
560
  this.gesture = gesture;
555
561
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
556
562
  this.gesture.enable(true);
@@ -628,6 +634,97 @@ export class Modal {
628
634
  // Clear the cached reference
629
635
  this.cachedPageParent = undefined;
630
636
  }
637
+ /**
638
+ * Sets initial safe-area overrides based on modal configuration before
639
+ * the modal becomes visible. This predicts whether the modal will touch
640
+ * screen edges to avoid a visual snap after animation completes.
641
+ */
642
+ setInitialSafeAreaOverrides(presentingElement) {
643
+ const style = this.el.style;
644
+ const isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
645
+ const isCardModal = presentingElement !== undefined;
646
+ const isTablet = window.innerWidth >= 768;
647
+ // Sheet modals always touch bottom edge, never top/left/right
648
+ if (isSheetModal) {
649
+ style.setProperty('--ion-safe-area-top', '0px');
650
+ style.setProperty('--ion-safe-area-left', '0px');
651
+ style.setProperty('--ion-safe-area-right', '0px');
652
+ return;
653
+ }
654
+ // Card modals are inset from all edges
655
+ if (isCardModal) {
656
+ this.zeroAllSafeAreas();
657
+ return;
658
+ }
659
+ // Phone-sized fullscreen modals inherit safe areas and use wrapper padding
660
+ if (!isTablet) {
661
+ this.applyFullscreenSafeArea();
662
+ return;
663
+ }
664
+ // Check if tablet modal is fullscreen via CSS custom properties
665
+ const computedStyle = getComputedStyle(this.el);
666
+ const width = computedStyle.getPropertyValue('--width').trim();
667
+ const height = computedStyle.getPropertyValue('--height').trim();
668
+ const isFullscreen = width === '100%' && height === '100%';
669
+ if (isFullscreen) {
670
+ this.applyFullscreenSafeArea();
671
+ }
672
+ else {
673
+ // Centered dialog doesn't touch edges
674
+ this.zeroAllSafeAreas();
675
+ }
676
+ }
677
+ /**
678
+ * Applies safe-area handling for fullscreen modals.
679
+ * Adds wrapper padding when no footer is present to prevent
680
+ * content from overlapping system navigation areas.
681
+ */
682
+ applyFullscreenSafeArea() {
683
+ this.skipSafeAreaCoordinateDetection = true;
684
+ const hasFooter = this.el.querySelector('ion-footer') !== null;
685
+ if (!hasFooter && this.wrapperEl) {
686
+ this.wrapperEl.style.setProperty('padding-bottom', 'var(--ion-safe-area-bottom, 0px)');
687
+ this.wrapperEl.style.setProperty('box-sizing', 'border-box');
688
+ }
689
+ }
690
+ /**
691
+ * Sets all safe-area CSS variables to 0px for modals that
692
+ * don't touch screen edges.
693
+ */
694
+ zeroAllSafeAreas() {
695
+ const style = this.el.style;
696
+ style.setProperty('--ion-safe-area-top', '0px');
697
+ style.setProperty('--ion-safe-area-bottom', '0px');
698
+ style.setProperty('--ion-safe-area-left', '0px');
699
+ style.setProperty('--ion-safe-area-right', '0px');
700
+ }
701
+ /**
702
+ * Updates safe-area CSS variable overrides based on whether the modal
703
+ * is touching each edge of the viewport. Called after animation
704
+ * and during gestures to handle dynamic position changes.
705
+ */
706
+ updateSafeAreaOverrides() {
707
+ if (this.skipSafeAreaCoordinateDetection) {
708
+ return;
709
+ }
710
+ const wrapper = this.wrapperEl;
711
+ if (!wrapper) {
712
+ return;
713
+ }
714
+ const rect = wrapper.getBoundingClientRect();
715
+ const threshold = 2;
716
+ const touchingTop = rect.top <= threshold;
717
+ const touchingBottom = rect.bottom >= window.innerHeight - threshold;
718
+ const touchingLeft = rect.left <= threshold;
719
+ const touchingRight = rect.right >= window.innerWidth - threshold;
720
+ const style = this.el.style;
721
+ touchingTop ? style.removeProperty('--ion-safe-area-top') : style.setProperty('--ion-safe-area-top', '0px');
722
+ touchingBottom
723
+ ? style.removeProperty('--ion-safe-area-bottom')
724
+ : style.setProperty('--ion-safe-area-bottom', '0px');
725
+ touchingLeft ? style.removeProperty('--ion-safe-area-left') : style.setProperty('--ion-safe-area-left', '0px');
726
+ touchingRight ? style.removeProperty('--ion-safe-area-right') : style.setProperty('--ion-safe-area-right', '0px');
727
+ }
631
728
  sheetOnDismiss() {
632
729
  /**
633
730
  * While the gesture animation is finishing
@@ -720,6 +817,8 @@ export class Modal {
720
817
  }
721
818
  this.currentBreakpoint = undefined;
722
819
  this.animation = undefined;
820
+ // Reset safe-area detection flag for potential re-presentation
821
+ this.skipSafeAreaCoordinateDetection = false;
723
822
  unlock();
724
823
  return dismissed;
725
824
  }
@@ -792,18 +891,6 @@ export class Modal {
792
891
  await this.setCurrentBreakpoint(nextBreakpoint);
793
892
  return true;
794
893
  }
795
- getShape() {
796
- const theme = getIonTheme(this);
797
- const { shape } = this;
798
- // TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
799
- if (theme !== 'ionic') {
800
- return undefined;
801
- }
802
- if (shape === undefined) {
803
- return 'round';
804
- }
805
- return shape;
806
- }
807
894
  initViewTransitionListener() {
808
895
  // Only enable for iOS card modals when no custom animations are provided
809
896
  if (getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
@@ -813,6 +900,10 @@ export class Modal {
813
900
  this.currentViewIsPortrait = window.innerWidth < 768;
814
901
  }
815
902
  handleViewTransition() {
903
+ // Only run view transitions when the modal is presented
904
+ if (!this.presented) {
905
+ return;
906
+ }
816
907
  const isPortrait = window.innerWidth < 768;
817
908
  // Only transition if view state actually changed
818
909
  if (this.currentViewIsPortrait === isPortrait) {
@@ -981,40 +1072,37 @@ export class Modal {
981
1072
  render() {
982
1073
  const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
983
1074
  const showHandle = handle !== false && isSheetModal;
984
- const theme = getIonTheme(this);
985
- const isCardModal = presentingElement !== undefined && theme === 'ios';
1075
+ const mode = getIonMode(this);
1076
+ const isCardModal = presentingElement !== undefined && mode === 'ios';
986
1077
  const isHandleCycle = handleBehavior === 'cycle';
987
- const shape = this.getShape();
988
1078
  const isSheetModalWithHandle = isSheetModal && showHandle;
989
- return (h(Host, Object.assign({ key: '547adca39bb8f0070f2e2c17d39300eab5d66202', "no-router": true,
1079
+ return (h(Host, Object.assign({ key: 'b93c9d20985ca4800b34c0165957b12b0a9d6789', "no-router": true,
990
1080
  // Allow the modal to be navigable when the handle is focusable
991
1081
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
992
1082
  zIndex: `${20000 + this.overlayIndex}`,
993
- }, class: Object.assign({ [theme]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: 'b15340363a5399cdbd015f3ba6a07ca9a057af3a', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme === 'ios' && h("div", { key: 'd13cb2c5efe07b13e7f4a0ea358c8003944779a7', class: "modal-shadow" }), h("div", Object.assign({ key: 'd6f252655e0c11b7a76917781ad038d3eca4f1f6',
1083
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '732b9355b3c0b051d19e1e0cedd7c49e3ad6fdda', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '874dcbb38da5a9feecafc5d3d1cb9f140f7fe48c', class: "modal-shadow" }), h("div", Object.assign({ key: '0d0c28581d49aeb0f764387a76ad54f68c35a6d5',
994
1084
  /*
995
1085
  role and aria-modal must be used on the
996
1086
  same element. They must also be set inside the
997
1087
  shadow DOM otherwise ion-button will not be highlighted
998
1088
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
999
1089
  */
1000
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '8ea59f134f0a949f27c5413a406771a5fe7d1d13', class: "modal-handle",
1090
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'a27a7ecc9857b4dc2f8a6f64bb01487ac578f5aa', class: "modal-handle",
1001
1091
  // Prevents the handle from receiving keyboard focus when it does not cycle
1002
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: 'c609a98d061e83c610c892aca9792e6784dbc02c', onSlotchange: this.onSlotChange }))));
1092
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '2ca0a826798dbc5cfe06e94b6a2d0ef375d018bc', onSlotchange: this.onSlotChange }))));
1003
1093
  }
1004
1094
  static get is() { return "ion-modal"; }
1005
1095
  static get encapsulation() { return "shadow"; }
1006
1096
  static get originalStyleUrls() {
1007
1097
  return {
1008
1098
  "ios": ["modal.ios.scss"],
1009
- "md": ["modal.md.scss"],
1010
- "ionic": ["modal.ionic.scss"]
1099
+ "md": ["modal.md.scss"]
1011
1100
  };
1012
1101
  }
1013
1102
  static get styleUrls() {
1014
1103
  return {
1015
1104
  "ios": ["modal.ios.css"],
1016
- "md": ["modal.md.css"],
1017
- "ionic": ["modal.ionic.css"]
1105
+ "md": ["modal.md.css"]
1018
1106
  };
1019
1107
  }
1020
1108
  static get properties() {
@@ -1555,25 +1643,6 @@ export class Modal {
1555
1643
  "reflect": false,
1556
1644
  "attribute": "can-dismiss",
1557
1645
  "defaultValue": "true"
1558
- },
1559
- "shape": {
1560
- "type": "string",
1561
- "mutable": false,
1562
- "complexType": {
1563
- "original": "'soft' | 'round' | 'rectangular'",
1564
- "resolved": "\"rectangular\" | \"round\" | \"soft\" | undefined",
1565
- "references": {}
1566
- },
1567
- "required": false,
1568
- "optional": true,
1569
- "docs": {
1570
- "tags": [],
1571
- "text": "Set to `\"soft\"` for a modal with slightly rounded corners,\n`\"round\"` for a modal with fully rounded corners, or `\"rectangular\"`\nfor a modal without rounded corners.\n\nDefaults to `\"round\"` for the `ionic` theme, undefined for all other themes."
1572
- },
1573
- "getter": false,
1574
- "setter": false,
1575
- "reflect": false,
1576
- "attribute": "shape"
1577
1646
  }
1578
1647
  };
1579
1648
  }