@ionic/core 8.7.16-dev.11767018954.1c3fa899 → 8.7.16-dev.11767019759.14b7f2fa

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 (937) 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 +104 -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 +9 -12
  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 +153 -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 +16 -18
  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 +90 -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/popover.ios.css +1 -13
  387. package/dist/collection/components/popover/popover.js +14 -17
  388. package/dist/collection/components/popover/popover.md.css +1 -13
  389. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  390. package/dist/collection/components/progress-bar/progress-bar.js +7 -43
  391. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  392. package/dist/collection/components/radio/radio.ios.css +91 -134
  393. package/dist/collection/components/radio/radio.js +9 -12
  394. package/dist/collection/components/radio/radio.md.css +91 -134
  395. package/dist/collection/components/radio-group/radio-group.ios.css +23 -43
  396. package/dist/collection/components/radio-group/radio-group.js +6 -21
  397. package/dist/collection/components/radio-group/radio-group.md.css +23 -43
  398. package/dist/collection/components/range/range.ios.css +85 -128
  399. package/dist/collection/components/range/range.js +9 -12
  400. package/dist/collection/components/range/range.md.css +85 -128
  401. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  402. package/dist/collection/components/refresher/refresher.js +8 -11
  403. package/dist/collection/components/refresher/refresher.md.css +2 -15
  404. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  405. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  406. package/dist/collection/components/reorder/reorder.js +6 -33
  407. package/dist/collection/components/reorder/reorder.md.css +0 -6
  408. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  409. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  410. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  411. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  412. package/dist/collection/components/route/route.js +0 -4
  413. package/dist/collection/components/router/router.js +0 -4
  414. package/dist/collection/components/router-link/router-link.css +2 -8
  415. package/dist/collection/components/router-link/router-link.js +5 -9
  416. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  417. package/dist/collection/components/router-outlet/router-outlet.js +3 -6
  418. package/dist/collection/components/row/row.css +0 -16
  419. package/dist/collection/components/row/row.js +2 -9
  420. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  421. package/dist/collection/components/searchbar/searchbar.js +34 -181
  422. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  423. package/dist/collection/components/segment/segment.ios.css +2 -45
  424. package/dist/collection/components/segment/segment.js +8 -11
  425. package/dist/collection/components/segment/segment.md.css +2 -45
  426. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  427. package/dist/collection/components/segment-button/segment-button.js +8 -11
  428. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  429. package/dist/collection/components/segment-content/segment-content.js +1 -1
  430. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  431. package/dist/collection/components/segment-view/segment-view.js +4 -6
  432. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  433. package/dist/collection/components/select/select.ios.css +176 -315
  434. package/dist/collection/components/select/select.js +53 -156
  435. package/dist/collection/components/select/select.md.css +178 -331
  436. package/dist/collection/components/select-modal/select-modal.ios.css +0 -18
  437. package/dist/collection/components/select-modal/select-modal.js +4 -11
  438. package/dist/collection/components/select-modal/select-modal.md.css +3 -7
  439. package/dist/collection/components/select-option/select-option.js +2 -9
  440. package/dist/collection/components/select-popover/select-popover.ios.css +0 -18
  441. package/dist/collection/components/select-popover/select-popover.js +4 -12
  442. package/dist/collection/components/select-popover/select-popover.md.css +0 -18
  443. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  444. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  445. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -77
  446. package/dist/collection/components/spinner/spinner.js +6 -47
  447. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  448. package/dist/collection/components/split-pane/split-pane.js +8 -14
  449. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  450. package/dist/collection/components/tab/tab.js +2 -6
  451. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  452. package/dist/collection/components/tab-bar/tab-bar.js +11 -78
  453. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  454. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  455. package/dist/collection/components/tab-button/tab-button.js +9 -54
  456. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  457. package/dist/collection/components/tabs/tabs.css +1 -7
  458. package/dist/collection/components/tabs/tabs.js +1 -4
  459. package/dist/collection/components/text/text.css +0 -6
  460. package/dist/collection/components/text/text.js +6 -7
  461. package/dist/collection/components/textarea/textarea.ios.css +139 -275
  462. package/dist/collection/components/textarea/textarea.js +16 -76
  463. package/dist/collection/components/textarea/textarea.md.css +140 -288
  464. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  465. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  466. package/dist/collection/components/title/title.ios.css +4 -32
  467. package/dist/collection/components/title/title.js +7 -13
  468. package/dist/collection/components/title/title.md.css +4 -32
  469. package/dist/collection/components/toast/animations/utils.js +1 -1
  470. package/dist/collection/components/toast/toast.ios.css +45 -84
  471. package/dist/collection/components/toast/toast.js +12 -75
  472. package/dist/collection/components/toast/toast.md.css +45 -84
  473. package/dist/collection/components/toggle/toggle.ios.css +131 -247
  474. package/dist/collection/components/toggle/toggle.js +18 -73
  475. package/dist/collection/components/toggle/toggle.md.css +131 -244
  476. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  477. package/dist/collection/components/toolbar/toolbar.js +13 -157
  478. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  479. package/dist/collection/global/ionic-global.js +13 -228
  480. package/dist/collection/utils/focus-visible.js +0 -22
  481. package/dist/collection/utils/framework-delegate.js +1 -3
  482. package/dist/collection/utils/hardware-back-button.js +0 -15
  483. package/dist/collection/utils/helpers.js +2 -42
  484. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  485. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  486. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  487. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  488. package/dist/collection/utils/overlays.js +1 -2
  489. package/dist/collection/utils/test/playwright/generator.js +23 -48
  490. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  491. package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -26
  492. package/dist/collection/utils/transition/ios.transition.js +0 -1
  493. package/dist/docs.json +374 -8195
  494. package/dist/esm/{animation-BNuoDl-O.js → animation-Dt8bGnA-.js} +1 -1
  495. package/dist/esm/{app-globals-tX0s9Zd7.js → app-globals-BDSf8fOA.js} +1 -1
  496. package/dist/esm/{button-active-BF6GZ_yH.js → button-active-L570Swow.js} +1 -1
  497. package/dist/esm/{capacitor-pzVAlnC0.js → capacitor-CFERIeaU.js} +1 -1
  498. package/dist/esm/{data-DFCY8gnk.js → data-DCORV9FH.js} +5 -5
  499. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  500. package/dist/esm/{framework-delegate-D2mUP0WI.js → framework-delegate-BYawdMXj.js} +2 -4
  501. package/dist/esm/{haptic-bBvyATla.js → haptic-DzAMWJuk.js} +1 -1
  502. package/dist/esm/hardware-back-button-CPLxO-Ev.js +115 -0
  503. package/dist/esm/{helpers-Bsml3FcE.js → helpers-DEn3pfjm.js} +3 -42
  504. package/dist/esm/{index-BpFi2B8W.js → index-Bs3kT4bc.js} +1 -1
  505. package/dist/esm/{index-BQI9hSZP.js → index-CvDIirVx.js} +10 -10
  506. package/dist/esm/{index-COG0_eom.js → index-DV3sJJW8.js} +1 -1
  507. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  508. package/dist/esm/{index-Bnw-zNoN.js → index-ceb5RaMT.js} +2 -3
  509. package/dist/esm/{index-M3l-IyxQ.js → index-r2D9DEro.js} +3 -3
  510. package/dist/esm/index.js +11 -10
  511. package/dist/esm/{input-shims-ACbgRt10.js → input-shims-DyOpfTg6.js} +5 -6
  512. package/dist/esm/{input.utils-loPnHH5H.js → input.utils-DrvTa8gz.js} +2 -2
  513. package/dist/esm/ion-accordion_2.entry.js +27 -56
  514. package/dist/esm/ion-action-sheet.entry.js +20 -23
  515. package/dist/esm/ion-alert.entry.js +20 -22
  516. package/dist/esm/ion-app_8.entry.js +151 -250
  517. package/dist/esm/ion-avatar_3.entry.js +13 -125
  518. package/dist/esm/ion-back-button.entry.js +20 -29
  519. package/dist/esm/ion-backdrop.entry.js +6 -9
  520. package/dist/esm/ion-breadcrumb_2.entry.js +17 -53
  521. package/dist/esm/ion-button_2.entry.js +11 -43
  522. package/dist/esm/ion-card_5.entry.js +29 -53
  523. package/dist/esm/ion-checkbox.entry.js +13 -31
  524. package/dist/esm/ion-chip.entry.js +8 -49
  525. package/dist/esm/ion-col_3.entry.js +57 -54
  526. package/dist/esm/ion-datetime-button.entry.js +7 -11
  527. package/dist/esm/ion-datetime_3.entry.js +40 -115
  528. package/dist/esm/ion-fab_3.entry.js +27 -43
  529. package/dist/esm/ion-img.entry.js +3 -7
  530. package/dist/esm/ion-infinite-scroll_2.entry.js +14 -89
  531. package/dist/esm/ion-input-otp.entry.js +7 -11
  532. package/dist/esm/ion-input-password-toggle.entry.js +14 -52
  533. package/dist/esm/ion-input.entry.js +32 -122
  534. package/dist/esm/ion-item-option_3.entry.js +19 -48
  535. package/dist/esm/ion-item_8.entry.js +48 -115
  536. package/dist/esm/ion-loading.entry.js +15 -17
  537. package/dist/esm/ion-menu_3.entry.js +27 -45
  538. package/dist/esm/ion-modal.entry.js +113 -59
  539. package/dist/esm/ion-nav_2.entry.js +10 -13
  540. package/dist/esm/ion-picker-column-option.entry.js +6 -10
  541. package/dist/esm/ion-picker-column.entry.js +11 -11
  542. package/dist/esm/ion-picker.entry.js +5 -9
  543. package/dist/esm/ion-popover.entry.js +16 -18
  544. package/dist/esm/ion-progress-bar.entry.js +7 -25
  545. package/dist/esm/ion-radio_2.entry.js +14 -24
  546. package/dist/esm/ion-range.entry.js +10 -14
  547. package/dist/esm/ion-refresher_2.entry.js +19 -37
  548. package/dist/esm/ion-reorder_2.entry.js +14 -38
  549. package/dist/esm/ion-ripple-effect.entry.js +6 -14
  550. package/dist/esm/ion-route_4.entry.js +7 -8
  551. package/dist/esm/ion-searchbar.entry.js +24 -137
  552. package/dist/esm/ion-segment-content.entry.js +1 -1
  553. package/dist/esm/ion-segment-view.entry.js +2 -5
  554. package/dist/esm/ion-segment_2.entry.js +14 -21
  555. package/dist/esm/ion-select-modal.entry.js +10 -16
  556. package/dist/esm/ion-select_3.entry.js +40 -131
  557. package/dist/esm/ion-spinner.entry.js +6 -28
  558. package/dist/esm/ion-split-pane.entry.js +8 -11
  559. package/dist/esm/ion-tab-bar_2.entry.js +21 -75
  560. package/dist/esm/ion-tab_2.entry.js +6 -7
  561. package/dist/esm/ion-text.entry.js +5 -5
  562. package/dist/esm/ion-textarea.entry.js +15 -55
  563. package/dist/esm/ion-toast.entry.js +17 -40
  564. package/dist/esm/ion-toggle.entry.js +22 -79
  565. package/dist/esm/ionic-global-CDrldh-5.js +146 -0
  566. package/dist/esm/ionic.js +3 -3
  567. package/dist/esm/{ios.transition-uJxJFbq8.js → ios.transition-BDzw0_Hm.js} +4 -6
  568. package/dist/esm/{keyboard-CU1vRv-b.js → keyboard-CUw4ekVy.js} +1 -1
  569. package/dist/esm/{keyboard-controller-Dplyc4OV.js → keyboard-controller-BaaVITYt.js} +3 -5
  570. package/dist/esm/{keyboard-B-HHSSYU.js → keyboard-ywgs5efA.js} +3 -4
  571. package/dist/esm/loader.js +3 -3
  572. package/dist/esm/{md.transition-Dp4NTeSh.js → md.transition-BzDYi3qq.js} +4 -5
  573. package/dist/esm/{notch-controller-BvFDmO69.js → notch-controller-BwelN_JM.js} +2 -2
  574. package/dist/esm/{overlays-B037a9Tz.js → overlays-D5YkFThA.js} +6 -5
  575. package/dist/esm/{status-tap-DXVlluKS.js → status-tap-5DQ7Fc4V.js} +2 -3
  576. package/dist/esm/{swipe-back-DNhAt9fY.js → swipe-back-BKw2CAHc.js} +1 -2
  577. package/dist/html.html-data.json +214 -2520
  578. package/dist/ionic/index.esm.js +1 -1
  579. package/dist/ionic/ionic.esm.js +1 -1
  580. package/dist/ionic/p-020af078.entry.js +4 -0
  581. package/dist/ionic/p-02d76786.entry.js +4 -0
  582. package/dist/ionic/p-074839fc.entry.js +4 -0
  583. package/dist/ionic/p-0dfa5a37.entry.js +4 -0
  584. package/dist/ionic/p-11518b31.entry.js +4 -0
  585. package/dist/ionic/p-11aa58d6.entry.js +4 -0
  586. package/dist/ionic/p-1647c46c.entry.js +4 -0
  587. package/dist/ionic/p-2a939845.entry.js +4 -0
  588. package/dist/ionic/p-316c0420.entry.js +4 -0
  589. package/dist/ionic/p-31f7095f.entry.js +4 -0
  590. package/dist/ionic/p-34642fa1.entry.js +4 -0
  591. package/dist/ionic/p-35696017.entry.js +4 -0
  592. package/dist/ionic/p-370e4237.entry.js +4 -0
  593. package/dist/ionic/p-3a6caca9.entry.js +4 -0
  594. package/dist/ionic/p-40c261a3.entry.js +4 -0
  595. package/dist/ionic/p-46d74291.entry.js +4 -0
  596. package/dist/ionic/p-49d06882.entry.js +4 -0
  597. package/dist/ionic/p-4e41ea20.entry.js +4 -0
  598. package/dist/ionic/p-51a60e0f.entry.js +4 -0
  599. package/dist/ionic/p-582824c5.entry.js +4 -0
  600. package/dist/ionic/p-6241ce47.entry.js +4 -0
  601. package/dist/ionic/p-639dd543.entry.js +4 -0
  602. package/dist/ionic/p-6444c606.entry.js +4 -0
  603. package/dist/ionic/p-675b1a31.entry.js +4 -0
  604. package/dist/ionic/p-6d070558.entry.js +4 -0
  605. package/dist/ionic/p-7268efa5.entry.js +4 -0
  606. package/dist/ionic/p-72c38b88.entry.js +4 -0
  607. package/dist/ionic/p-732b2fd6.entry.js +4 -0
  608. package/dist/ionic/p-79bd78f9.entry.js +4 -0
  609. package/dist/ionic/p-7babec72.entry.js +4 -0
  610. package/dist/ionic/p-86f53961.entry.js +4 -0
  611. package/dist/ionic/p-88b087a9.entry.js +4 -0
  612. package/dist/ionic/p-94de5cfa.entry.js +4 -0
  613. package/dist/ionic/p-9575b654.entry.js +4 -0
  614. package/dist/ionic/p-9eeaBrnk.js +4 -0
  615. package/dist/ionic/p-B0q1YL7N.js +4 -0
  616. package/dist/ionic/p-BFvmZNyx.js +4 -0
  617. package/dist/ionic/p-BKc55Xev.js +4 -0
  618. package/dist/ionic/p-BOVrCkpJ.js +4 -0
  619. package/dist/ionic/p-BYEqWnSg.js +4 -0
  620. package/dist/ionic/p-BmVRXR1y.js +4 -0
  621. package/dist/ionic/p-Bmgaetn_.js +4 -0
  622. package/dist/ionic/p-C7hRNDhM.js +4 -0
  623. package/dist/ionic/p-CIGNaXM1.js +4 -0
  624. package/dist/ionic/{p-D-BelbiX.js → p-CJxh_yLS.js} +1 -1
  625. package/dist/ionic/{p-Cq83JWMg.js → p-CKvCXMs9.js} +1 -1
  626. package/dist/ionic/p-CTfR9YZG.js +4 -0
  627. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  628. package/dist/ionic/{p-B3uz75uZ.js → p-CwgG81ZD.js} +1 -1
  629. package/dist/ionic/p-D-eFFUkA.js +4 -0
  630. package/dist/ionic/{p-HpOiAvpC.js → p-D0dMcSkw.js} +1 -1
  631. package/dist/ionic/{p-B-D7Cfki.js → p-D13Eaw-8.js} +1 -1
  632. package/dist/ionic/{p-C8r4dtYR.js → p-DCv9sLH2.js} +1 -1
  633. package/dist/ionic/p-DDb5r57F.js +4 -0
  634. package/dist/ionic/p-DNcfiJwE.js +4 -0
  635. package/dist/ionic/{p-q1ZSn0l7.js → p-DUt5fQmA.js} +1 -1
  636. package/dist/ionic/{p-COG0_eom.js → p-DV3sJJW8.js} +1 -1
  637. package/dist/ionic/p-DZRJwG4S.js +4 -0
  638. package/dist/ionic/{p-CtUK3cKk.js → p-Dc45iWE4.js} +1 -1
  639. package/dist/ionic/p-DdR6rpbR.js +4 -0
  640. package/dist/ionic/p-QHYY4sjU.js +4 -0
  641. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  642. package/dist/ionic/p-a127bee2.entry.js +4 -0
  643. package/dist/ionic/p-ac4eb91d.entry.js +4 -0
  644. package/dist/ionic/p-b0a7585c.entry.js +4 -0
  645. package/dist/ionic/p-b3d44509.entry.js +4 -0
  646. package/dist/ionic/p-c19af093.entry.js +4 -0
  647. package/dist/ionic/p-c19f63d0.entry.js +4 -0
  648. package/dist/ionic/p-cc45bcbc.entry.js +4 -0
  649. package/dist/ionic/p-d0a2a1ab.entry.js +4 -0
  650. package/dist/ionic/p-d126e8d3.entry.js +4 -0
  651. package/dist/ionic/p-d1f54e28.entry.js +4 -0
  652. package/dist/ionic/p-d3014190.entry.js +4 -0
  653. package/dist/ionic/p-da7d04cc.entry.js +4 -0
  654. package/dist/ionic/p-db82892c.entry.js +4 -0
  655. package/dist/ionic/p-dbbe606a.entry.js +4 -0
  656. package/dist/ionic/p-dd1aef77.entry.js +4 -0
  657. package/dist/ionic/p-eb024a5b.entry.js +4 -0
  658. package/dist/ionic/p-f8f22cc0.entry.js +4 -0
  659. package/dist/ionic/p-f9061316.entry.js +4 -0
  660. package/dist/types/components/accordion/accordion.d.ts +3 -5
  661. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  662. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  663. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  664. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  665. package/dist/types/components/alert/alert.d.ts +2 -3
  666. package/dist/types/components/app/app.d.ts +2 -4
  667. package/dist/types/components/avatar/avatar.d.ts +0 -32
  668. package/dist/types/components/back-button/back-button.d.ts +1 -2
  669. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  670. package/dist/types/components/badge/badge.d.ts +1 -34
  671. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  672. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  673. package/dist/types/components/button/button.d.ts +6 -19
  674. package/dist/types/components/buttons/buttons.d.ts +1 -5
  675. package/dist/types/components/card/card.d.ts +1 -8
  676. package/dist/types/components/card-content/card-content.d.ts +1 -2
  677. package/dist/types/components/card-header/card-header.d.ts +2 -3
  678. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  679. package/dist/types/components/card-title/card-title.d.ts +1 -2
  680. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  681. package/dist/types/components/chip/chip.d.ts +1 -26
  682. package/dist/types/components/col/col.d.ts +5 -52
  683. package/dist/types/components/content/content.d.ts +0 -3
  684. package/dist/types/components/datetime/datetime.d.ts +1 -26
  685. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  686. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  687. package/dist/types/components/fab/fab.d.ts +0 -4
  688. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  689. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  690. package/dist/types/components/footer/footer.d.ts +3 -4
  691. package/dist/types/components/grid/grid.d.ts +0 -4
  692. package/dist/types/components/header/header.d.ts +3 -9
  693. package/dist/types/components/header/header.utils.d.ts +3 -3
  694. package/dist/types/components/img/img.d.ts +0 -3
  695. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  696. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  697. package/dist/types/components/input/input.d.ts +5 -31
  698. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  699. package/dist/types/components/item/item.d.ts +4 -11
  700. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  701. package/dist/types/components/item-group/item-group.d.ts +0 -4
  702. package/dist/types/components/item-option/item-option.d.ts +1 -18
  703. package/dist/types/components/item-options/item-options.d.ts +0 -4
  704. package/dist/types/components/item-sliding/item-sliding.d.ts +0 -4
  705. package/dist/types/components/label/label.d.ts +1 -2
  706. package/dist/types/components/list/list.d.ts +1 -15
  707. package/dist/types/components/list-header/list-header.d.ts +1 -2
  708. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  709. package/dist/types/components/loading/loading.d.ts +2 -3
  710. package/dist/types/components/menu/menu.d.ts +0 -3
  711. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  712. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  713. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  714. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +1 -1
  715. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  716. package/dist/types/components/modal/modal.d.ts +13 -11
  717. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  718. package/dist/types/components/nav/nav.d.ts +1 -5
  719. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  720. package/dist/types/components/note/note.d.ts +1 -2
  721. package/dist/types/components/picker/picker.d.ts +1 -2
  722. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  723. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  724. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  725. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  726. package/dist/types/components/popover/popover.d.ts +5 -6
  727. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  728. package/dist/types/components/radio/radio.d.ts +1 -2
  729. package/dist/types/components/radio-group/radio-group.d.ts +0 -8
  730. package/dist/types/components/range/range.d.ts +1 -2
  731. package/dist/types/components/refresher/refresher.d.ts +1 -2
  732. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  733. package/dist/types/components/reorder/reorder.d.ts +0 -9
  734. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  735. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  736. package/dist/types/components/route/route.d.ts +0 -4
  737. package/dist/types/components/router/router.d.ts +0 -4
  738. package/dist/types/components/router-link/router-link.d.ts +0 -4
  739. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  740. package/dist/types/components/row/row.d.ts +0 -4
  741. package/dist/types/components/searchbar/searchbar.d.ts +9 -51
  742. package/dist/types/components/segment/segment.d.ts +1 -2
  743. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  744. package/dist/types/components/select/select.d.ts +13 -41
  745. package/dist/types/components/select-modal/select-modal.d.ts +0 -1
  746. package/dist/types/components/select-option/select-option.d.ts +0 -4
  747. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  748. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  749. package/dist/types/components/spinner/spinner.d.ts +0 -15
  750. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  751. package/dist/types/components/tab/tab.d.ts +0 -4
  752. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -22
  753. package/dist/types/components/tab-button/tab-button.d.ts +1 -12
  754. package/dist/types/components/tabs/tabs.d.ts +0 -3
  755. package/dist/types/components/text/text.d.ts +1 -2
  756. package/dist/types/components/textarea/textarea.d.ts +4 -17
  757. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  758. package/dist/types/components/title/title.d.ts +0 -4
  759. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  760. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  761. package/dist/types/components/toast/toast.d.ts +2 -19
  762. package/dist/types/components/toggle/toggle.d.ts +1 -15
  763. package/dist/types/components/toolbar/toolbar.d.ts +3 -20
  764. package/dist/types/components.d.ts +196 -1593
  765. package/dist/types/global/ionic-global.d.ts +2 -27
  766. package/dist/types/interface.d.ts +0 -3
  767. package/dist/types/utils/config.d.ts +2 -106
  768. package/dist/types/utils/focus-visible.d.ts +0 -13
  769. package/dist/types/utils/helpers.d.ts +0 -11
  770. package/dist/types/utils/overlays-interface.d.ts +1 -31
  771. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  772. package/hydrate/index.js +1032 -2880
  773. package/hydrate/index.mjs +1032 -2880
  774. package/package.json +4 -8
  775. package/components/caret-down.js +0 -6
  776. package/components/caret-left.js +0 -6
  777. package/components/caret-right.js +0 -6
  778. package/components/ion-divider.d.ts +0 -11
  779. package/components/ion-divider.js +0 -72
  780. package/components/list2.js +0 -6
  781. package/components/x.js +0 -6
  782. package/css/ionic/bundle.ionic.css +0 -1
  783. package/css/ionic/bundle.ionic.css.map +0 -1
  784. package/css/ionic/core.ionic.css +0 -1
  785. package/css/ionic/core.ionic.css.map +0 -1
  786. package/css/ionic/global.bundle.ionic.css +0 -1
  787. package/css/ionic/global.bundle.ionic.css.map +0 -1
  788. package/css/ionic/ionic-swiper.ionic.css +0 -1
  789. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  790. package/css/ionic/link.ionic.css +0 -1
  791. package/css/ionic/link.ionic.css.map +0 -1
  792. package/css/ionic/structure.ionic.css +0 -1
  793. package/css/ionic/structure.ionic.css.map +0 -1
  794. package/css/ionic/typography.ionic.css +0 -1
  795. package/css/ionic/typography.ionic.css.map +0 -1
  796. package/css/ionic/utils.bundle.ionic.css +0 -1
  797. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  798. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  799. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  800. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  801. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  802. package/dist/cjs/ionic-global-DpRwOXLK.js +0 -506
  803. package/dist/cjs/list-a-7GSA6K.js +0 -8
  804. package/dist/cjs/x-BTF99yFH.js +0 -8
  805. package/dist/collection/components/accordion/accordion.ionic.css +0 -196
  806. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  807. package/dist/collection/components/avatar/avatar.ionic.css +0 -391
  808. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  809. package/dist/collection/components/badge/badge.ionic.css +0 -275
  810. package/dist/collection/components/button/button.ionic.css +0 -636
  811. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  812. package/dist/collection/components/card/card.ionic.css +0 -144
  813. package/dist/collection/components/card-content/card-content.ionic.css +0 -92
  814. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  815. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  816. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -545
  817. package/dist/collection/components/chip/chip.ionic.css +0 -215
  818. package/dist/collection/components/datetime/datetime.ionic.css +0 -711
  819. package/dist/collection/components/divider/divider.ionic.css +0 -148
  820. package/dist/collection/components/divider/divider.ios.css +0 -87
  821. package/dist/collection/components/divider/divider.js +0 -94
  822. package/dist/collection/components/divider/divider.md.css +0 -87
  823. package/dist/collection/components/header/header.ionic.css +0 -97
  824. package/dist/collection/components/input/input.ionic.css +0 -885
  825. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -369
  826. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  827. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  828. package/dist/collection/components/item/item.ionic.css +0 -508
  829. package/dist/collection/components/item-option/item-option.ionic.css +0 -278
  830. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  831. package/dist/collection/components/list/list.ionic.css +0 -212
  832. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  833. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  834. package/dist/collection/components/modal/modal.ionic.css +0 -247
  835. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  836. package/dist/collection/components/radio/radio.ionic.css +0 -422
  837. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
  838. package/dist/collection/components/range/range.ionic.css +0 -563
  839. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  840. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -626
  841. package/dist/collection/components/segment/segment.ionic.css +0 -115
  842. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -351
  843. package/dist/collection/components/select/select.ionic.css +0 -777
  844. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -130
  845. package/dist/collection/components/spinner/spinner.native.css +0 -198
  846. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -201
  847. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -337
  848. package/dist/collection/components/textarea/textarea.ionic.css +0 -885
  849. package/dist/collection/components/title/title.ionic.css +0 -127
  850. package/dist/collection/components/toast/toast.ionic.css +0 -394
  851. package/dist/collection/components/toggle/toggle.ionic.css +0 -514
  852. package/dist/collection/components/toolbar/test/image.svg +0 -1
  853. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -241
  854. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  855. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  856. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  857. package/dist/esm/ion-divider.entry.js +0 -49
  858. package/dist/esm/ionic-global-2lDD9k7y.js +0 -495
  859. package/dist/esm/list-Dhi5xtNS.js +0 -6
  860. package/dist/esm/x-BDqjX7Z_.js +0 -6
  861. package/dist/ionic/p-01577340.entry.js +0 -4
  862. package/dist/ionic/p-04b1d37a.entry.js +0 -4
  863. package/dist/ionic/p-04e0ff62.entry.js +0 -4
  864. package/dist/ionic/p-0607ce8e.entry.js +0 -4
  865. package/dist/ionic/p-0744265c.entry.js +0 -4
  866. package/dist/ionic/p-0ac7c560.entry.js +0 -4
  867. package/dist/ionic/p-0c41c8a8.entry.js +0 -4
  868. package/dist/ionic/p-0eecce18.entry.js +0 -4
  869. package/dist/ionic/p-0f124806.entry.js +0 -4
  870. package/dist/ionic/p-19b2060d.entry.js +0 -4
  871. package/dist/ionic/p-27dbb44c.entry.js +0 -4
  872. package/dist/ionic/p-28a9d991.entry.js +0 -4
  873. package/dist/ionic/p-2dc676b2.entry.js +0 -4
  874. package/dist/ionic/p-381eb2a4.entry.js +0 -4
  875. package/dist/ionic/p-412d5d9e.entry.js +0 -4
  876. package/dist/ionic/p-42149296.entry.js +0 -4
  877. package/dist/ionic/p-5543b7b8.entry.js +0 -4
  878. package/dist/ionic/p-57a2d30b.entry.js +0 -4
  879. package/dist/ionic/p-59a79bd9.entry.js +0 -4
  880. package/dist/ionic/p-5daa0980.entry.js +0 -4
  881. package/dist/ionic/p-5f9d9c14.entry.js +0 -4
  882. package/dist/ionic/p-60549f06.entry.js +0 -4
  883. package/dist/ionic/p-616dd053.entry.js +0 -4
  884. package/dist/ionic/p-63a2b52a.entry.js +0 -4
  885. package/dist/ionic/p-67a63ae1.entry.js +0 -4
  886. package/dist/ionic/p-68c064ce.entry.js +0 -4
  887. package/dist/ionic/p-6bb99f41.entry.js +0 -4
  888. package/dist/ionic/p-6e3686f8.entry.js +0 -4
  889. package/dist/ionic/p-7fe3ea65.entry.js +0 -4
  890. package/dist/ionic/p-826267d6.entry.js +0 -4
  891. package/dist/ionic/p-8681a2a7.entry.js +0 -4
  892. package/dist/ionic/p-8ee09d4e.entry.js +0 -4
  893. package/dist/ionic/p-8f541b05.entry.js +0 -4
  894. package/dist/ionic/p-9ffffebd.entry.js +0 -4
  895. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  896. package/dist/ionic/p-BYSs-jZz.js +0 -4
  897. package/dist/ionic/p-BiTKUjko.js +0 -4
  898. package/dist/ionic/p-ByhhQryg.js +0 -4
  899. package/dist/ionic/p-CK1xn1Nt.js +0 -4
  900. package/dist/ionic/p-COLHV2ym.js +0 -4
  901. package/dist/ionic/p-C_97se21.js +0 -4
  902. package/dist/ionic/p-CvRDI-Iz.js +0 -4
  903. package/dist/ionic/p-D1t981Ih.js +0 -4
  904. package/dist/ionic/p-DHeUgOSJ.js +0 -4
  905. package/dist/ionic/p-DM-v_NNE.js +0 -4
  906. package/dist/ionic/p-DeEDqH91.js +0 -4
  907. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  908. package/dist/ionic/p-DoGrslUl.js +0 -4
  909. package/dist/ionic/p-Dq8ap6AD.js +0 -4
  910. package/dist/ionic/p-DyaKZbAH.js +0 -4
  911. package/dist/ionic/p-UafGZQ8e.js +0 -4
  912. package/dist/ionic/p-a35678f4.entry.js +0 -4
  913. package/dist/ionic/p-a6a37a34.entry.js +0 -4
  914. package/dist/ionic/p-a89211bd.entry.js +0 -4
  915. package/dist/ionic/p-add1a5d8.entry.js +0 -4
  916. package/dist/ionic/p-af1f624e.entry.js +0 -4
  917. package/dist/ionic/p-b475ec18.entry.js +0 -4
  918. package/dist/ionic/p-bd295ca7.entry.js +0 -4
  919. package/dist/ionic/p-be82dc77.entry.js +0 -4
  920. package/dist/ionic/p-c082f853.entry.js +0 -4
  921. package/dist/ionic/p-cdbfbff6.entry.js +0 -4
  922. package/dist/ionic/p-d3f64c58.entry.js +0 -4
  923. package/dist/ionic/p-d9c9592a.entry.js +0 -4
  924. package/dist/ionic/p-da0a2ca6.entry.js +0 -4
  925. package/dist/ionic/p-dacd8666.entry.js +0 -4
  926. package/dist/ionic/p-dc8b5783.entry.js +0 -4
  927. package/dist/ionic/p-e1d84521.entry.js +0 -4
  928. package/dist/ionic/p-ecba552f.entry.js +0 -4
  929. package/dist/ionic/p-ecf8e713.entry.js +0 -4
  930. package/dist/ionic/p-f667945d.entry.js +0 -4
  931. package/dist/ionic/p-fIOYmaqA.js +0 -4
  932. package/dist/ionic/p-nP9c7bo5.js +0 -4
  933. package/dist/ionic/p-of4jy1ch.js +0 -4
  934. package/dist/ionic/p-qZR4N8Lu.js +0 -4
  935. package/dist/ionic/p-vXpMhGrs.js +0 -4
  936. package/dist/types/components/divider/divider.d.ts +0 -20
  937. /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
  *
@@ -233,7 +232,9 @@ export class Modal {
233
232
  }
234
233
  }
235
234
  onWindowResize() {
236
- // Only handle resize for iOS card modals when no custom animations are provided
235
+ // Update safe-area overrides for all modal types on resize
236
+ this.updateSafeAreaOverrides();
237
+ // Only handle view transition for iOS card modals when no custom animations are provided
237
238
  if (getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
238
239
  return;
239
240
  }
@@ -415,6 +416,8 @@ export class Modal {
415
416
  else if (!this.keepContentsMounted) {
416
417
  await waitForMount();
417
418
  }
419
+ // Predict safe-area needs based on modal configuration to avoid visual snap
420
+ this.setInitialSafeAreaOverrides(presentingElement);
418
421
  writeTask(() => this.el.classList.add('show-modal'));
419
422
  const hasCardModal = presentingElement !== undefined;
420
423
  /**
@@ -432,7 +435,6 @@ export class Modal {
432
435
  currentBreakpoint: this.initialBreakpoint,
433
436
  backdropBreakpoint: this.backdropBreakpoint,
434
437
  expandToScroll: this.expandToScroll,
435
- staticBackdropOpacity: getIonTheme(this) === 'ionic',
436
438
  });
437
439
  /* tslint:disable-next-line */
438
440
  if (typeof window !== 'undefined') {
@@ -477,6 +479,8 @@ export class Modal {
477
479
  else if (hasCardModal) {
478
480
  this.initSwipeToClose();
479
481
  }
482
+ // Now that animation is complete, update safe-area based on actual position
483
+ this.updateSafeAreaOverrides();
480
484
  // Initialize view transition listener for iOS card modals
481
485
  this.initViewTransitionListener();
482
486
  // Initialize parent removal observer
@@ -528,7 +532,7 @@ export class Modal {
528
532
  await this.dismiss(undefined, GESTURE);
529
533
  this.gestureAnimationDismissing = false;
530
534
  });
531
- });
535
+ }, () => this.updateSafeAreaOverrides());
532
536
  this.gesture.enable(true);
533
537
  }
534
538
  initSheetGesture() {
@@ -542,7 +546,6 @@ export class Modal {
542
546
  currentBreakpoint: initialBreakpoint,
543
547
  backdropBreakpoint,
544
548
  expandToScroll: this.expandToScroll,
545
- staticBackdropOpacity: getIonTheme(this) === 'ionic',
546
549
  }));
547
550
  ani.progressStart(true, 1);
548
551
  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 +553,8 @@ export class Modal {
550
553
  this.currentBreakpoint = breakpoint;
551
554
  this.ionBreakpointDidChange.emit({ breakpoint });
552
555
  }
553
- }, getIonTheme(this) === 'ionic');
556
+ this.updateSafeAreaOverrides();
557
+ }, () => this.updateSafeAreaOverrides());
554
558
  this.gesture = gesture;
555
559
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
556
560
  this.gesture.enable(true);
@@ -628,6 +632,76 @@ export class Modal {
628
632
  // Clear the cached reference
629
633
  this.cachedPageParent = undefined;
630
634
  }
635
+ /**
636
+ * Sets initial safe-area overrides based on modal configuration before
637
+ * the modal becomes visible. This predicts whether the modal will touch
638
+ * screen edges to avoid a visual snap after animation completes.
639
+ */
640
+ setInitialSafeAreaOverrides(presentingElement) {
641
+ const style = this.el.style;
642
+ const isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
643
+ const isCardModal = presentingElement !== undefined;
644
+ const isTablet = window.innerWidth >= 768;
645
+ // Sheet modals: always touch bottom, top depends on breakpoint
646
+ if (isSheetModal) {
647
+ style.setProperty('--ion-safe-area-top', '0px');
648
+ // Don't override bottom - sheet always touches bottom
649
+ style.setProperty('--ion-safe-area-left', '0px');
650
+ style.setProperty('--ion-safe-area-right', '0px');
651
+ return;
652
+ }
653
+ // Card modals are inset from edges (rounded corners), no safe areas needed
654
+ if (isCardModal) {
655
+ style.setProperty('--ion-safe-area-top', '0px');
656
+ style.setProperty('--ion-safe-area-bottom', '0px');
657
+ style.setProperty('--ion-safe-area-left', '0px');
658
+ style.setProperty('--ion-safe-area-right', '0px');
659
+ return;
660
+ }
661
+ // Phone modals are fullscreen, need all safe areas
662
+ if (!isTablet) {
663
+ // Don't set any overrides - inherit from :root
664
+ return;
665
+ }
666
+ // Default tablet modal: centered dialog, no safe areas needed
667
+ // Check for fullscreen override via CSS custom properties
668
+ const computedStyle = getComputedStyle(this.el);
669
+ const width = computedStyle.getPropertyValue('--width').trim();
670
+ const height = computedStyle.getPropertyValue('--height').trim();
671
+ if (width === '100%' && height === '100%') {
672
+ // Fullscreen modal - need safe areas, don't override
673
+ return;
674
+ }
675
+ // Centered dialog - zero out all safe areas
676
+ style.setProperty('--ion-safe-area-top', '0px');
677
+ style.setProperty('--ion-safe-area-bottom', '0px');
678
+ style.setProperty('--ion-safe-area-left', '0px');
679
+ style.setProperty('--ion-safe-area-right', '0px');
680
+ }
681
+ /**
682
+ * Updates safe-area CSS variable overrides based on whether the modal
683
+ * is touching each edge of the viewport. This is called after animation
684
+ * and during gestures to handle dynamic position changes.
685
+ */
686
+ updateSafeAreaOverrides() {
687
+ const wrapper = this.wrapperEl;
688
+ if (!wrapper)
689
+ return;
690
+ const rect = wrapper.getBoundingClientRect();
691
+ const threshold = 2; // Account for subpixel rendering
692
+ const touchingTop = rect.top <= threshold;
693
+ const touchingBottom = rect.bottom >= window.innerHeight - threshold;
694
+ const touchingLeft = rect.left <= threshold;
695
+ const touchingRight = rect.right >= window.innerWidth - threshold;
696
+ // Remove override when touching edge (allow inheritance), set to 0 when not touching
697
+ const style = this.el.style;
698
+ touchingTop ? style.removeProperty('--ion-safe-area-top') : style.setProperty('--ion-safe-area-top', '0px');
699
+ touchingBottom
700
+ ? style.removeProperty('--ion-safe-area-bottom')
701
+ : style.setProperty('--ion-safe-area-bottom', '0px');
702
+ touchingLeft ? style.removeProperty('--ion-safe-area-left') : style.setProperty('--ion-safe-area-left', '0px');
703
+ touchingRight ? style.removeProperty('--ion-safe-area-right') : style.setProperty('--ion-safe-area-right', '0px');
704
+ }
631
705
  sheetOnDismiss() {
632
706
  /**
633
707
  * While the gesture animation is finishing
@@ -792,18 +866,6 @@ export class Modal {
792
866
  await this.setCurrentBreakpoint(nextBreakpoint);
793
867
  return true;
794
868
  }
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
869
  initViewTransitionListener() {
808
870
  // Only enable for iOS card modals when no custom animations are provided
809
871
  if (getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
@@ -981,40 +1043,37 @@ export class Modal {
981
1043
  render() {
982
1044
  const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
983
1045
  const showHandle = handle !== false && isSheetModal;
984
- const theme = getIonTheme(this);
985
- const isCardModal = presentingElement !== undefined && theme === 'ios';
1046
+ const mode = getIonMode(this);
1047
+ const isCardModal = presentingElement !== undefined && mode === 'ios';
986
1048
  const isHandleCycle = handleBehavior === 'cycle';
987
- const shape = this.getShape();
988
1049
  const isSheetModalWithHandle = isSheetModal && showHandle;
989
- return (h(Host, Object.assign({ key: '547adca39bb8f0070f2e2c17d39300eab5d66202', "no-router": true,
1050
+ return (h(Host, Object.assign({ key: 'e80cac8f52f1056eaf63112eafcfdcd029aa31e8', "no-router": true,
990
1051
  // Allow the modal to be navigable when the handle is focusable
991
1052
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
992
1053
  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',
1054
+ }, 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: 'dcc24085006dd1e41c47a55031d78bd55ddeb622', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '74c4ff6bdc87f8c29ee8ba0592c97db2c597d876', class: "modal-shadow" }), h("div", Object.assign({ key: '79f3b01bdadc0d830e5707026aa2055d62714274',
994
1055
  /*
995
1056
  role and aria-modal must be used on the
996
1057
  same element. They must also be set inside the
997
1058
  shadow DOM otherwise ion-button will not be highlighted
998
1059
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
999
1060
  */
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",
1061
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'b250920bad86e23269f900353d531975a95662af', class: "modal-handle",
1001
1062
  // 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 }))));
1063
+ 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: '2ba83c0f0a92784cac127c6581f12ea06b201b97', onSlotchange: this.onSlotChange }))));
1003
1064
  }
1004
1065
  static get is() { return "ion-modal"; }
1005
1066
  static get encapsulation() { return "shadow"; }
1006
1067
  static get originalStyleUrls() {
1007
1068
  return {
1008
1069
  "ios": ["modal.ios.scss"],
1009
- "md": ["modal.md.scss"],
1010
- "ionic": ["modal.ionic.scss"]
1070
+ "md": ["modal.md.scss"]
1011
1071
  };
1012
1072
  }
1013
1073
  static get styleUrls() {
1014
1074
  return {
1015
1075
  "ios": ["modal.ios.css"],
1016
- "md": ["modal.md.css"],
1017
- "ionic": ["modal.ionic.css"]
1076
+ "md": ["modal.md.css"]
1018
1077
  };
1019
1078
  }
1020
1079
  static get properties() {
@@ -1555,25 +1614,6 @@ export class Modal {
1555
1614
  "reflect": false,
1556
1615
  "attribute": "can-dismiss",
1557
1616
  "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
1617
  }
1578
1618
  };
1579
1619
  }