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

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