@ionic/core 8.7.12-dev.11764957130.14454872 → 8.7.12-dev.11764959751.15a91dbd

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 (935) hide show
  1. package/components/action-sheet.js +13 -9
  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 +349 -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 +49 -81
  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-BYsP2q5j.js} +2 -2
  166. package/dist/cjs/{app-globals-Ciccnk9_.js → app-globals-CrtAvKxl.js} +1 -1
  167. package/dist/cjs/{button-active-CMc8cD90.js → button-active-CDa7BeCl.js} +1 -1
  168. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-BMhHF0O5.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-Cy3moXzO.js} +1 -1
  176. package/dist/cjs/{helpers-DrTqNghc.js → helpers-DnouLczu.js} +41 -2
  177. package/dist/cjs/{index-C534ULug.js → index-Bq6U5NAb.js} +8 -7
  178. package/dist/cjs/{index-094mMFB-.js → index-CWyLwRTs.js} +3 -3
  179. package/dist/cjs/{index-CO6eryBo.js → index-DUoP_H1L.js} +1 -1
  180. package/dist/cjs/{index-DrMUZJj6.js → index-XjN3PjKG.js} +15 -15
  181. package/dist/cjs/index.cjs.js +10 -11
  182. package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-D6DHFHsE.js} +17 -16
  183. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-BVyJKWft.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 +21 -18
  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 +97 -130
  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-DuRUel5m.js +491 -0
  238. package/dist/cjs/ionic.cjs.js +3 -3
  239. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-Duxxr-xb.js} +6 -4
  240. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-C1Ds9WQH.js} +4 -3
  241. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-UYQhk8rB.js} +1 -1
  242. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-ts0z4BIe.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-BqUnXqxP.js} +5 -4
  246. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-BX7CnNaL.js} +4 -4
  247. package/dist/cjs/{overlays-DxIZwUXI.js → overlays-pdcfssMG.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 +15 -11
  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 +539 -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 -6
  416. package/dist/collection/components/modal/modal.ionic.css +247 -0
  417. package/dist/collection/components/modal/modal.ios.css +174 -84
  418. package/dist/collection/components/modal/modal.js +49 -72
  419. package/dist/collection/components/modal/modal.md.css +174 -84
  420. package/dist/collection/components/nav/nav.css +7 -1
  421. package/dist/collection/components/nav/nav.js +11 -5
  422. package/dist/collection/components/nav-link/nav-link.js +5 -1
  423. package/dist/collection/components/note/note.ios.css +12 -0
  424. package/dist/collection/components/note/note.js +11 -8
  425. package/dist/collection/components/note/note.md.css +12 -0
  426. package/dist/collection/components/picker/picker.ios.css +15 -3
  427. package/dist/collection/components/picker/picker.js +8 -5
  428. package/dist/collection/components/picker/picker.md.css +15 -3
  429. package/dist/collection/components/picker-column/picker-column.css +9 -2
  430. package/dist/collection/components/picker-column/picker-column.js +8 -7
  431. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  432. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  433. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  434. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  435. package/dist/collection/components/picker-legacy/picker.js +7 -6
  436. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  437. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  438. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  439. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  440. package/dist/collection/components/popover/popover.ios.css +13 -1
  441. package/dist/collection/components/popover/popover.js +17 -14
  442. package/dist/collection/components/popover/popover.md.css +13 -1
  443. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  444. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  445. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  446. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  447. package/dist/collection/components/radio/radio.ionic.css +422 -0
  448. package/dist/collection/components/radio/radio.ios.css +134 -91
  449. package/dist/collection/components/radio/radio.js +12 -9
  450. package/dist/collection/components/radio/radio.md.css +134 -91
  451. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  452. package/dist/collection/components/radio-group/radio-group.ios.css +43 -23
  453. package/dist/collection/components/radio-group/radio-group.js +21 -6
  454. package/dist/collection/components/radio-group/radio-group.md.css +43 -23
  455. package/dist/collection/components/range/range.ionic.css +563 -0
  456. package/dist/collection/components/range/range.ios.css +128 -85
  457. package/dist/collection/components/range/range.js +12 -9
  458. package/dist/collection/components/range/range.md.css +128 -85
  459. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  460. package/dist/collection/components/refresher/refresher.js +11 -8
  461. package/dist/collection/components/refresher/refresher.md.css +15 -2
  462. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  463. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  464. package/dist/collection/components/reorder/reorder.js +33 -6
  465. package/dist/collection/components/reorder/reorder.md.css +6 -0
  466. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  467. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  468. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  469. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  470. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  471. package/dist/collection/components/route/route.js +4 -0
  472. package/dist/collection/components/router/router.js +4 -0
  473. package/dist/collection/components/router-link/router-link.css +8 -2
  474. package/dist/collection/components/router-link/router-link.js +9 -5
  475. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  476. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  477. package/dist/collection/components/row/row.css +16 -0
  478. package/dist/collection/components/row/row.js +9 -2
  479. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  480. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  481. package/dist/collection/components/searchbar/searchbar.js +181 -34
  482. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  483. package/dist/collection/components/segment/segment.ionic.css +115 -0
  484. package/dist/collection/components/segment/segment.ios.css +45 -2
  485. package/dist/collection/components/segment/segment.js +11 -8
  486. package/dist/collection/components/segment/segment.md.css +45 -2
  487. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  488. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  489. package/dist/collection/components/segment-button/segment-button.js +11 -8
  490. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  491. package/dist/collection/components/segment-content/segment-content.js +1 -1
  492. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  493. package/dist/collection/components/segment-view/segment-view.js +6 -4
  494. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  495. package/dist/collection/components/select/select.ionic.css +777 -0
  496. package/dist/collection/components/select/select.ios.css +315 -176
  497. package/dist/collection/components/select/select.js +156 -53
  498. package/dist/collection/components/select/select.md.css +331 -178
  499. package/dist/collection/components/select-modal/select-modal.ionic.css +130 -0
  500. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  501. package/dist/collection/components/select-modal/select-modal.js +11 -4
  502. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  503. package/dist/collection/components/select-option/select-option.js +9 -2
  504. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  505. package/dist/collection/components/select-popover/select-popover.js +12 -4
  506. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  507. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  508. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  509. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +77 -10
  510. package/dist/collection/components/spinner/spinner.js +47 -6
  511. package/dist/collection/components/spinner/spinner.native.css +198 -0
  512. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  513. package/dist/collection/components/split-pane/split-pane.js +14 -8
  514. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  515. package/dist/collection/components/tab/tab.js +6 -2
  516. package/dist/collection/components/tab-bar/tab-bar.ionic.css +201 -0
  517. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  518. package/dist/collection/components/tab-bar/tab-bar.js +78 -11
  519. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  520. package/dist/collection/components/tab-button/tab-button.ionic.css +337 -0
  521. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  522. package/dist/collection/components/tab-button/tab-button.js +54 -9
  523. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  524. package/dist/collection/components/tabs/tabs.css +7 -1
  525. package/dist/collection/components/tabs/tabs.js +4 -1
  526. package/dist/collection/components/text/text.css +6 -0
  527. package/dist/collection/components/text/text.js +7 -6
  528. package/dist/collection/components/textarea/textarea.ionic.css +885 -0
  529. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  530. package/dist/collection/components/textarea/textarea.js +76 -16
  531. package/dist/collection/components/textarea/textarea.md.css +288 -140
  532. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  533. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  534. package/dist/collection/components/title/title.ionic.css +127 -0
  535. package/dist/collection/components/title/title.ios.css +32 -4
  536. package/dist/collection/components/title/title.js +13 -7
  537. package/dist/collection/components/title/title.md.css +32 -4
  538. package/dist/collection/components/toast/animations/utils.js +1 -1
  539. package/dist/collection/components/toast/toast.ionic.css +394 -0
  540. package/dist/collection/components/toast/toast.ios.css +84 -45
  541. package/dist/collection/components/toast/toast.js +75 -12
  542. package/dist/collection/components/toast/toast.md.css +84 -45
  543. package/dist/collection/components/toggle/toggle.ionic.css +508 -0
  544. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  545. package/dist/collection/components/toggle/toggle.js +73 -18
  546. package/dist/collection/components/toggle/toggle.md.css +244 -131
  547. package/dist/collection/components/toolbar/test/image.svg +1 -0
  548. package/dist/collection/components/toolbar/toolbar.ionic.css +241 -0
  549. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  550. package/dist/collection/components/toolbar/toolbar.js +157 -13
  551. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  552. package/dist/collection/global/ionic-global.js +228 -13
  553. package/dist/collection/utils/focus-visible.js +22 -0
  554. package/dist/collection/utils/framework-delegate.js +3 -1
  555. package/dist/collection/utils/helpers.js +42 -2
  556. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  557. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  558. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  559. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  560. package/dist/collection/utils/overlays.js +2 -1
  561. package/dist/collection/utils/test/playwright/generator.js +48 -23
  562. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  563. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  564. package/dist/collection/utils/transition/ios.transition.js +1 -0
  565. package/dist/docs.json +8195 -374
  566. package/dist/esm/{animation-Dt8bGnA-.js → animation-DGDOQ6ES.js} +1 -1
  567. package/dist/esm/{app-globals-BDSf8fOA.js → app-globals-BNKecRVD.js} +1 -1
  568. package/dist/esm/{button-active-L570Swow.js → button-active-C_l8DIlb.js} +1 -1
  569. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CiBLEyrT.js} +1 -1
  570. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  571. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  572. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  573. package/dist/esm/{data-DCORV9FH.js → data-DFCY8gnk.js} +5 -5
  574. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  575. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-D2mUP0WI.js} +4 -2
  576. package/dist/esm/{haptic-DzAMWJuk.js → haptic-7RTk38ue.js} +1 -1
  577. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Bsml3FcE.js} +42 -3
  578. package/dist/esm/{index-Bs3kT4bc.js → index-BpFi2B8W.js} +1 -1
  579. package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
  580. package/dist/esm/{index-r2D9DEro.js → index-Cj1G4iWF.js} +3 -3
  581. package/dist/esm/{index-CvDIirVx.js → index-DWD4QoaP.js} +10 -10
  582. package/dist/esm/{index-ceb5RaMT.js → index-rXea6WR_.js} +3 -2
  583. package/dist/esm/index.js +10 -11
  584. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-Bz3HiPwU.js} +6 -5
  585. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-BQAE1QTA.js} +2 -2
  586. package/dist/esm/ion-accordion_2.entry.js +56 -27
  587. package/dist/esm/ion-action-sheet.entry.js +21 -18
  588. package/dist/esm/ion-alert.entry.js +22 -20
  589. package/dist/esm/ion-app_8.entry.js +250 -151
  590. package/dist/esm/ion-avatar_3.entry.js +125 -13
  591. package/dist/esm/ion-back-button.entry.js +29 -20
  592. package/dist/esm/ion-backdrop.entry.js +9 -6
  593. package/dist/esm/ion-breadcrumb_2.entry.js +53 -17
  594. package/dist/esm/ion-button_2.entry.js +43 -11
  595. package/dist/esm/ion-card_5.entry.js +53 -29
  596. package/dist/esm/ion-checkbox.entry.js +31 -13
  597. package/dist/esm/ion-chip.entry.js +49 -8
  598. package/dist/esm/ion-col_3.entry.js +54 -57
  599. package/dist/esm/ion-datetime-button.entry.js +11 -7
  600. package/dist/esm/ion-datetime_3.entry.js +115 -40
  601. package/dist/esm/ion-divider.entry.js +49 -0
  602. package/dist/esm/ion-fab_3.entry.js +43 -27
  603. package/dist/esm/ion-img.entry.js +7 -3
  604. package/dist/esm/ion-infinite-scroll_2.entry.js +89 -14
  605. package/dist/esm/ion-input-otp.entry.js +11 -7
  606. package/dist/esm/ion-input-password-toggle.entry.js +52 -14
  607. package/dist/esm/ion-input.entry.js +122 -32
  608. package/dist/esm/ion-item-option_3.entry.js +48 -19
  609. package/dist/esm/ion-item_8.entry.js +115 -48
  610. package/dist/esm/ion-loading.entry.js +17 -15
  611. package/dist/esm/ion-menu_3.entry.js +45 -27
  612. package/dist/esm/ion-modal.entry.js +57 -90
  613. package/dist/esm/ion-nav_2.entry.js +13 -10
  614. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  615. package/dist/esm/ion-picker-column.entry.js +11 -11
  616. package/dist/esm/ion-picker.entry.js +9 -5
  617. package/dist/esm/ion-popover.entry.js +18 -16
  618. package/dist/esm/ion-progress-bar.entry.js +25 -7
  619. package/dist/esm/ion-radio_2.entry.js +24 -14
  620. package/dist/esm/ion-range.entry.js +14 -10
  621. package/dist/esm/ion-refresher_2.entry.js +37 -19
  622. package/dist/esm/ion-reorder_2.entry.js +38 -14
  623. package/dist/esm/ion-ripple-effect.entry.js +14 -6
  624. package/dist/esm/ion-route_4.entry.js +8 -7
  625. package/dist/esm/ion-searchbar.entry.js +137 -24
  626. package/dist/esm/ion-segment-content.entry.js +1 -1
  627. package/dist/esm/ion-segment-view.entry.js +5 -2
  628. package/dist/esm/ion-segment_2.entry.js +21 -14
  629. package/dist/esm/ion-select-modal.entry.js +16 -10
  630. package/dist/esm/ion-select_3.entry.js +131 -40
  631. package/dist/esm/ion-spinner.entry.js +28 -6
  632. package/dist/esm/ion-split-pane.entry.js +11 -8
  633. package/dist/esm/ion-tab-bar_2.entry.js +75 -21
  634. package/dist/esm/ion-tab_2.entry.js +7 -6
  635. package/dist/esm/ion-text.entry.js +5 -5
  636. package/dist/esm/ion-textarea.entry.js +55 -15
  637. package/dist/esm/ion-toast.entry.js +40 -17
  638. package/dist/esm/ion-toggle.entry.js +79 -22
  639. package/dist/esm/ionic-global-2R0iPB51.js +480 -0
  640. package/dist/esm/ionic.js +3 -3
  641. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition-DvzxRGcW.js} +6 -4
  642. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-DuUgrXrK.js} +4 -3
  643. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-WCK1pWfR.js} +1 -1
  644. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-Bc4alOiF.js} +5 -3
  645. package/dist/esm/list-Dhi5xtNS.js +6 -0
  646. package/dist/esm/loader.js +3 -3
  647. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-DV0cjDzj.js} +5 -4
  648. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DO30Bsls.js} +2 -2
  649. package/dist/esm/{overlays-BymNv-BL.js → overlays-Da_6xSKI.js} +5 -6
  650. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-DXVlluKS.js} +3 -2
  651. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-DNhAt9fY.js} +2 -1
  652. package/dist/esm/x-BDqjX7Z_.js +6 -0
  653. package/dist/html.html-data.json +2530 -224
  654. package/dist/ionic/index.esm.js +1 -1
  655. package/dist/ionic/ionic.esm.js +1 -1
  656. package/dist/ionic/p--8Ga2Cg0.js +4 -0
  657. package/dist/ionic/p-0774e5a0.entry.js +4 -0
  658. package/dist/ionic/p-105826fe.entry.js +4 -0
  659. package/dist/ionic/p-14346334.entry.js +4 -0
  660. package/dist/ionic/p-1fead95f.entry.js +4 -0
  661. package/dist/ionic/p-2061a732.entry.js +4 -0
  662. package/dist/ionic/p-23e4b68a.entry.js +4 -0
  663. package/dist/ionic/p-2c504bd3.entry.js +4 -0
  664. package/dist/ionic/p-2c96bfe6.entry.js +4 -0
  665. package/dist/ionic/p-36f2ff62.entry.js +4 -0
  666. package/dist/ionic/p-3948040f.entry.js +4 -0
  667. package/dist/ionic/p-3a481932.entry.js +4 -0
  668. package/dist/ionic/p-3d0e07cf.entry.js +4 -0
  669. package/dist/ionic/p-418e4330.entry.js +4 -0
  670. package/dist/ionic/p-48366887.entry.js +4 -0
  671. package/dist/ionic/p-495912a4.entry.js +4 -0
  672. package/dist/ionic/p-4e13d498.entry.js +4 -0
  673. package/dist/ionic/p-55734084.entry.js +4 -0
  674. package/dist/ionic/p-55e2352e.entry.js +4 -0
  675. package/dist/ionic/p-59a79bd9.entry.js +4 -0
  676. package/dist/ionic/p-66397fac.entry.js +4 -0
  677. package/dist/ionic/p-66d094b2.entry.js +4 -0
  678. package/dist/ionic/p-698ae42d.entry.js +4 -0
  679. package/dist/ionic/p-6a7a53e5.entry.js +4 -0
  680. package/dist/ionic/p-6bb99f41.entry.js +4 -0
  681. package/dist/ionic/p-74601090.entry.js +4 -0
  682. package/dist/ionic/p-7894f98d.entry.js +4 -0
  683. package/dist/ionic/p-78f1c348.entry.js +4 -0
  684. package/dist/ionic/p-826267d6.entry.js +4 -0
  685. package/dist/ionic/p-844bd58c.entry.js +4 -0
  686. package/dist/ionic/p-931fd886.entry.js +4 -0
  687. package/dist/ionic/p-9839d6df.entry.js +4 -0
  688. package/dist/ionic/p-9a20f9cb.entry.js +4 -0
  689. package/dist/ionic/p-9c3361e4.entry.js +4 -0
  690. package/dist/ionic/p-9e3fa08c.entry.js +4 -0
  691. package/dist/ionic/p-B-N4FEiY.js +4 -0
  692. package/dist/ionic/{p-CwgG81ZD.js → p-B3uz75uZ.js} +1 -1
  693. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  694. package/dist/ionic/p-BRd1Ag6P.js +4 -0
  695. package/dist/ionic/p-BYSs-jZz.js +4 -0
  696. package/dist/ionic/{p-CJxh_yLS.js → p-BbT4IAlw.js} +1 -1
  697. package/dist/ionic/p-BiTKUjko.js +4 -0
  698. package/dist/ionic/p-CGo9Zrhw.js +4 -0
  699. package/dist/ionic/p-CK1xn1Nt.js +4 -0
  700. package/dist/ionic/p-CK4YXTyz.js +4 -0
  701. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  702. package/dist/ionic/p-CeO9Shc9.js +4 -0
  703. package/dist/ionic/p-CkzsSTjr.js +4 -0
  704. package/dist/ionic/p-D1t981Ih.js +4 -0
  705. package/dist/ionic/{p-Dc45iWE4.js → p-DBaOCAfc.js} +1 -1
  706. package/dist/ionic/p-DPNSAVjP.js +4 -0
  707. package/dist/ionic/p-D_8SMvQ3.js +4 -0
  708. package/dist/ionic/p-DdaOdN_z.js +4 -0
  709. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  710. package/dist/ionic/p-Dq8ap6AD.js +4 -0
  711. package/dist/ionic/p-Dv5UHqHj.js +4 -0
  712. package/dist/ionic/{p-CKvCXMs9.js → p-DxFexTIr.js} +1 -1
  713. package/dist/ionic/{p-DUt5fQmA.js → p-DxVdyQoe.js} +1 -1
  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-D13Eaw-8.js → p-Q7JLYEUZ.js} +1 -1
  717. package/dist/ionic/p-W-2TssC9.js +4 -0
  718. package/dist/ionic/p-a2004213.entry.js +4 -0
  719. package/dist/ionic/p-a2179948.entry.js +4 -0
  720. package/dist/ionic/p-a3fefcf5.entry.js +4 -0
  721. package/dist/ionic/p-a57c0cce.entry.js +4 -0
  722. package/dist/ionic/p-b652eff7.entry.js +4 -0
  723. package/dist/ionic/p-b65b47bf.entry.js +4 -0
  724. package/dist/ionic/p-b7f5ae4a.entry.js +4 -0
  725. package/dist/ionic/p-c289efa5.entry.js +4 -0
  726. package/dist/ionic/p-ce2762f2.entry.js +4 -0
  727. package/dist/ionic/p-d36f836a.entry.js +4 -0
  728. package/dist/ionic/p-d774af7c.entry.js +4 -0
  729. package/dist/ionic/p-da0a2ca6.entry.js +4 -0
  730. package/dist/ionic/p-e2171c27.entry.js +4 -0
  731. package/dist/ionic/p-e3daf16c.entry.js +4 -0
  732. package/dist/ionic/p-ecc8aebb.entry.js +4 -0
  733. package/dist/ionic/p-f5fe6d47.entry.js +4 -0
  734. package/dist/ionic/p-fIOYmaqA.js +4 -0
  735. package/dist/ionic/p-fa6895f9.entry.js +4 -0
  736. package/dist/ionic/p-fa7fe783.entry.js +4 -0
  737. package/dist/ionic/p-ff69e0c6.entry.js +4 -0
  738. package/dist/ionic/p-vXpMhGrs.js +4 -0
  739. package/dist/ionic/p-vpXGWZiy.js +4 -0
  740. package/dist/types/components/accordion/accordion.d.ts +5 -3
  741. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  742. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  743. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  744. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  745. package/dist/types/components/alert/alert.d.ts +3 -2
  746. package/dist/types/components/app/app.d.ts +4 -2
  747. package/dist/types/components/avatar/avatar.d.ts +32 -0
  748. package/dist/types/components/back-button/back-button.d.ts +2 -1
  749. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  750. package/dist/types/components/badge/badge.d.ts +34 -1
  751. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  752. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  753. package/dist/types/components/button/button.d.ts +19 -6
  754. package/dist/types/components/buttons/buttons.d.ts +5 -1
  755. package/dist/types/components/card/card.d.ts +8 -1
  756. package/dist/types/components/card-content/card-content.d.ts +2 -1
  757. package/dist/types/components/card-header/card-header.d.ts +3 -2
  758. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  759. package/dist/types/components/card-title/card-title.d.ts +2 -1
  760. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  761. package/dist/types/components/chip/chip.d.ts +26 -1
  762. package/dist/types/components/col/col.d.ts +52 -5
  763. package/dist/types/components/content/content.d.ts +3 -0
  764. package/dist/types/components/datetime/datetime.d.ts +26 -1
  765. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  766. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  767. package/dist/types/components/divider/divider.d.ts +20 -0
  768. package/dist/types/components/fab/fab.d.ts +4 -0
  769. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  770. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  771. package/dist/types/components/footer/footer.d.ts +4 -3
  772. package/dist/types/components/grid/grid.d.ts +4 -0
  773. package/dist/types/components/header/header.d.ts +9 -3
  774. package/dist/types/components/header/header.utils.d.ts +3 -3
  775. package/dist/types/components/img/img.d.ts +3 -0
  776. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  777. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  778. package/dist/types/components/input/input.d.ts +31 -5
  779. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  780. package/dist/types/components/item/item.d.ts +11 -4
  781. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  782. package/dist/types/components/item-group/item-group.d.ts +4 -0
  783. package/dist/types/components/item-option/item-option.d.ts +18 -1
  784. package/dist/types/components/item-options/item-options.d.ts +4 -0
  785. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  786. package/dist/types/components/label/label.d.ts +2 -1
  787. package/dist/types/components/list/list.d.ts +15 -1
  788. package/dist/types/components/list-header/list-header.d.ts +2 -1
  789. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  790. package/dist/types/components/loading/loading.d.ts +3 -2
  791. package/dist/types/components/menu/menu.d.ts +3 -0
  792. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  793. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  794. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  795. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  796. package/dist/types/components/modal/modal.d.ts +11 -2
  797. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  798. package/dist/types/components/nav/nav.d.ts +5 -1
  799. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  800. package/dist/types/components/note/note.d.ts +2 -1
  801. package/dist/types/components/picker/picker.d.ts +2 -1
  802. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  803. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  804. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  805. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  806. package/dist/types/components/popover/popover.d.ts +6 -5
  807. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  808. package/dist/types/components/radio/radio.d.ts +2 -1
  809. package/dist/types/components/radio-group/radio-group.d.ts +8 -0
  810. package/dist/types/components/range/range.d.ts +2 -1
  811. package/dist/types/components/refresher/refresher.d.ts +2 -1
  812. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  813. package/dist/types/components/reorder/reorder.d.ts +9 -0
  814. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  815. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  816. package/dist/types/components/route/route.d.ts +4 -0
  817. package/dist/types/components/router/router.d.ts +4 -0
  818. package/dist/types/components/router-link/router-link.d.ts +4 -0
  819. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  820. package/dist/types/components/row/row.d.ts +4 -0
  821. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  822. package/dist/types/components/segment/segment.d.ts +2 -1
  823. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  824. package/dist/types/components/select/select.d.ts +41 -13
  825. package/dist/types/components/select-modal/select-modal.d.ts +1 -0
  826. package/dist/types/components/select-option/select-option.d.ts +4 -0
  827. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  828. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  829. package/dist/types/components/spinner/spinner.d.ts +15 -0
  830. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  831. package/dist/types/components/tab/tab.d.ts +4 -0
  832. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  833. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  834. package/dist/types/components/tabs/tabs.d.ts +3 -0
  835. package/dist/types/components/text/text.d.ts +2 -1
  836. package/dist/types/components/textarea/textarea.d.ts +17 -4
  837. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  838. package/dist/types/components/title/title.d.ts +4 -0
  839. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  840. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  841. package/dist/types/components/toast/toast.d.ts +19 -2
  842. package/dist/types/components/toggle/toggle.d.ts +15 -1
  843. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  844. package/dist/types/components.d.ts +1593 -196
  845. package/dist/types/global/ionic-global.d.ts +27 -2
  846. package/dist/types/interface.d.ts +3 -0
  847. package/dist/types/utils/config.d.ts +106 -2
  848. package/dist/types/utils/focus-visible.d.ts +13 -0
  849. package/dist/types/utils/helpers.d.ts +11 -0
  850. package/dist/types/utils/overlays-interface.d.ts +31 -1
  851. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  852. package/hydrate/index.js +2876 -1007
  853. package/hydrate/index.mjs +2876 -1007
  854. package/package.json +8 -4
  855. package/components/hardware-back-button.js +0 -115
  856. package/components/index9.js +0 -7
  857. package/dist/cjs/hardware-back-button-VCK4V3mG.js +0 -121
  858. package/dist/cjs/index-DkNv4J_i.js +0 -10
  859. package/dist/cjs/ionic-global-HMVqOFGO.js +0 -151
  860. package/dist/esm/hardware-back-button-CPLxO-Ev.js +0 -115
  861. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  862. package/dist/esm/ionic-global-CDrldh-5.js +0 -146
  863. package/dist/ionic/p-020af078.entry.js +0 -4
  864. package/dist/ionic/p-074839fc.entry.js +0 -4
  865. package/dist/ionic/p-0b80d700.entry.js +0 -4
  866. package/dist/ionic/p-0dfa5a37.entry.js +0 -4
  867. package/dist/ionic/p-11518b31.entry.js +0 -4
  868. package/dist/ionic/p-15193d01.entry.js +0 -4
  869. package/dist/ionic/p-1647c46c.entry.js +0 -4
  870. package/dist/ionic/p-1b1cb250.entry.js +0 -4
  871. package/dist/ionic/p-2a939845.entry.js +0 -4
  872. package/dist/ionic/p-316c0420.entry.js +0 -4
  873. package/dist/ionic/p-31f7095f.entry.js +0 -4
  874. package/dist/ionic/p-370e4237.entry.js +0 -4
  875. package/dist/ionic/p-3a6caca9.entry.js +0 -4
  876. package/dist/ionic/p-40c261a3.entry.js +0 -4
  877. package/dist/ionic/p-43ed1ef5.entry.js +0 -4
  878. package/dist/ionic/p-46d74291.entry.js +0 -4
  879. package/dist/ionic/p-49d06882.entry.js +0 -4
  880. package/dist/ionic/p-4c85d268.entry.js +0 -4
  881. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  882. package/dist/ionic/p-510d86e1.entry.js +0 -4
  883. package/dist/ionic/p-51a60e0f.entry.js +0 -4
  884. package/dist/ionic/p-582824c5.entry.js +0 -4
  885. package/dist/ionic/p-6241ce47.entry.js +0 -4
  886. package/dist/ionic/p-639dd543.entry.js +0 -4
  887. package/dist/ionic/p-6444c606.entry.js +0 -4
  888. package/dist/ionic/p-675b1a31.entry.js +0 -4
  889. package/dist/ionic/p-6d070558.entry.js +0 -4
  890. package/dist/ionic/p-7268efa5.entry.js +0 -4
  891. package/dist/ionic/p-72c38b88.entry.js +0 -4
  892. package/dist/ionic/p-7380261c.entry.js +0 -4
  893. package/dist/ionic/p-79bd78f9.entry.js +0 -4
  894. package/dist/ionic/p-7da39a4d.entry.js +0 -4
  895. package/dist/ionic/p-83be404e.entry.js +0 -4
  896. package/dist/ionic/p-86f53961.entry.js +0 -4
  897. package/dist/ionic/p-94de5cfa.entry.js +0 -4
  898. package/dist/ionic/p-9575b654.entry.js +0 -4
  899. package/dist/ionic/p-98fc09eb.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-D87hU-Ly.js +0 -4
  914. package/dist/ionic/p-DCv9sLH2.js +0 -4
  915. package/dist/ionic/p-DDb5r57F.js +0 -4
  916. package/dist/ionic/p-DNcfiJwE.js +0 -4
  917. package/dist/ionic/p-DZRJwG4S.js +0 -4
  918. package/dist/ionic/p-QHYY4sjU.js +0 -4
  919. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  920. package/dist/ionic/p-a127bee2.entry.js +0 -4
  921. package/dist/ionic/p-ac4eb91d.entry.js +0 -4
  922. package/dist/ionic/p-b0a7585c.entry.js +0 -4
  923. package/dist/ionic/p-b57c6d3e.entry.js +0 -4
  924. package/dist/ionic/p-c19f63d0.entry.js +0 -4
  925. package/dist/ionic/p-cb93126d.entry.js +0 -4
  926. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  927. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  928. package/dist/ionic/p-d126e8d3.entry.js +0 -4
  929. package/dist/ionic/p-d1f54e28.entry.js +0 -4
  930. package/dist/ionic/p-d3014190.entry.js +0 -4
  931. package/dist/ionic/p-da7d04cc.entry.js +0 -4
  932. package/dist/ionic/p-dbbe606a.entry.js +0 -4
  933. package/dist/ionic/p-e16b69e1.entry.js +0 -4
  934. package/dist/ionic/p-f8f22cc0.entry.js +0 -4
  935. /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
 
@@ -104,20 +67,6 @@ ion-backdrop {
104
67
  pointer-events: auto;
105
68
  }
106
69
 
107
- /**
108
- * When focus trap is disabled on a visible modal, allow clicks to pass through
109
- * to content behind it. The .modal-wrapper retains pointer-events: auto so
110
- * modal content remains interactive. We only apply this when show-modal is
111
- * present to avoid affecting hidden modals that haven't presented.
112
- */
113
- :host(.ion-disable-focus-trap.show-modal) {
114
- pointer-events: none;
115
- }
116
-
117
- :host(.ion-disable-focus-trap.show-modal) ion-backdrop {
118
- pointer-events: none;
119
- }
120
-
121
70
  :host(.overlay-hidden) {
122
71
  display: none;
123
72
  }
@@ -145,6 +94,169 @@ ion-backdrop {
145
94
  background: transparent;
146
95
  }
147
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
+
148
260
  @media only screen and (min-width: 768px) and (min-height: 600px) {
149
261
  :host {
150
262
  --width: 600px;
@@ -162,43 +274,27 @@ ion-backdrop {
162
274
  }
163
275
  }
164
276
  .modal-handle {
165
- left: 0px;
166
277
  right: 0px;
278
+ left: 0px;
167
279
  top: 5px;
168
280
  border-radius: 8px;
169
- -webkit-margin-start: auto;
170
- margin-inline-start: auto;
171
- -webkit-margin-end: auto;
172
- margin-inline-end: auto;
173
- position: absolute;
174
281
  width: 36px;
175
282
  height: 5px;
176
- /**
177
- * This allows the handle to appear
178
- * on top of user content in WebKit.
179
- */
180
- transform: translateZ(0);
181
- border: 0;
182
283
  background: var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));
183
- cursor: pointer;
184
- z-index: 11;
185
284
  }
186
285
  .modal-handle::before {
187
286
  /**
188
- * Adds a 4px tap area to the perimeter
189
- * of the handle.
190
- */
287
+ * Adds a 4px tap area to the perimeter
288
+ * of the handle.
289
+ */
191
290
  -webkit-padding-start: 4px;
192
291
  padding-inline-start: 4px;
193
292
  -webkit-padding-end: 4px;
194
293
  padding-inline-end: 4px;
195
294
  padding-top: 4px;
196
295
  padding-bottom: 4px;
197
- position: absolute;
198
296
  width: 36px;
199
297
  height: 5px;
200
- transform: translate(-50%, -50%);
201
- content: "";
202
298
  }
203
299
 
204
300
  /**
@@ -209,18 +305,12 @@ ion-backdrop {
209
305
  --height: calc(100% - (var(--ion-safe-area-top) + 10px));
210
306
  }
211
307
 
212
- :host(.modal-sheet) .modal-wrapper,
213
- :host(.modal-sheet) .modal-shadow {
214
- position: absolute;
215
- bottom: 0;
216
- }
217
-
218
- :host(.modal-sheet.modal-no-expand-scroll) ion-footer {
219
- position: absolute;
220
- bottom: 0;
221
- width: var(--width);
222
- }
223
-
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
+ */
224
314
  /**
225
315
  * Convert a font size to a dynamic font size.
226
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
  *
@@ -42,8 +43,6 @@ export class Modal {
42
43
  this.inline = false;
43
44
  // Whether or not modal is being dismissed via gesture
44
45
  this.gestureAnimationDismissing = false;
45
- // Elements that had pointer-events disabled for background interaction
46
- this.pointerEventsDisabledElements = [];
47
46
  this.presented = false;
48
47
  /** @internal */
49
48
  this.hasController = false;
@@ -433,6 +432,7 @@ export class Modal {
433
432
  currentBreakpoint: this.initialBreakpoint,
434
433
  backdropBreakpoint: this.backdropBreakpoint,
435
434
  expandToScroll: this.expandToScroll,
435
+ staticBackdropOpacity: getIonTheme(this) === 'ionic',
436
436
  });
437
437
  /* tslint:disable-next-line */
438
438
  if (typeof window !== 'undefined') {
@@ -465,13 +465,7 @@ export class Modal {
465
465
  };
466
466
  window.addEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
467
467
  }
468
- /**
469
- * Recalculate isSheetModal here because framework bindings (e.g., Angular)
470
- * may not have been applied when componentWillLoad ran.
471
- */
472
- const isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
473
- this.isSheetModal = isSheetModal;
474
- if (isSheetModal) {
468
+ if (this.isSheetModal) {
475
469
  this.initSheetGesture();
476
470
  }
477
471
  else if (hasCardModal) {
@@ -542,6 +536,7 @@ export class Modal {
542
536
  currentBreakpoint: initialBreakpoint,
543
537
  backdropBreakpoint,
544
538
  expandToScroll: this.expandToScroll,
539
+ staticBackdropOpacity: getIonTheme(this) === 'ionic',
545
540
  }));
546
541
  ani.progressStart(true, 1);
547
542
  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) => {
@@ -549,55 +544,10 @@ export class Modal {
549
544
  this.currentBreakpoint = breakpoint;
550
545
  this.ionBreakpointDidChange.emit({ breakpoint });
551
546
  }
552
- });
547
+ }, getIonTheme(this) === 'ionic');
553
548
  this.gesture = gesture;
554
549
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
555
550
  this.gesture.enable(true);
556
- /**
557
- * When the backdrop doesn't block pointer events (showBackdrop=false,
558
- * focusTrap=false, or backdropBreakpoint > 0), the modal's original parent
559
- * may block pointer events after the modal is moved to ion-app. This only
560
- * applies when the modal is in a child route (detected by the modal being
561
- * inside a route wrapper like ion-page). Disable pointer-events on the child
562
- * route's wrapper elements up to (and including) the first ion-router-outlet.
563
- * We stop there because parent elements may contain sibling content that
564
- * should remain interactive.
565
- * See https://github.com/ionic-team/ionic-framework/issues/30700
566
- */
567
- const backdropNotBlocking = this.showBackdrop === false || this.focusTrap === false || this.backdropBreakpoint > 0;
568
- if (backdropNotBlocking && this.cachedOriginalParent) {
569
- // Find the first meaningful parent (skip template and other non-semantic wrappers).
570
- // In Ionic React, modals are wrapped in a <template> element.
571
- let semanticParent = this.cachedOriginalParent;
572
- while (semanticParent && (semanticParent.tagName === 'TEMPLATE' || semanticParent.tagName === 'SLOT')) {
573
- semanticParent = semanticParent.parentElement;
574
- }
575
- // Check if the modal is inside a route wrapper (ion-page or div.ion-page)
576
- // If the modal is inside ion-content or other content containers, this fix doesn't apply
577
- const parentIsRouteWrapper = semanticParent && (semanticParent.tagName === 'ION-PAGE' || semanticParent.classList.contains('ion-page'));
578
- if (parentIsRouteWrapper && semanticParent) {
579
- this.pointerEventsDisabledElements = [];
580
- let current = semanticParent;
581
- while (current && current.tagName !== 'ION-APP') {
582
- const tagName = current.tagName;
583
- // Check for ion-page tag or elements with ion-page class
584
- // (React renders IonPage as div.ion-page, not ion-page tag)
585
- const isIonPage = tagName === 'ION-PAGE' || current.classList.contains('ion-page');
586
- const isRouterOutlet = tagName === 'ION-ROUTER-OUTLET';
587
- const isNav = tagName === 'ION-NAV';
588
- if (isIonPage || isRouterOutlet || isNav) {
589
- current.style.setProperty('pointer-events', 'none');
590
- this.pointerEventsDisabledElements.push(current);
591
- }
592
- // Stop after processing the first ion-router-outlet - parent elements
593
- // may contain sibling content (like buttons) that should remain interactive
594
- if (isRouterOutlet) {
595
- break;
596
- }
597
- current = current.parentElement;
598
- }
599
- }
600
- }
601
551
  }
602
552
  sheetOnDismiss() {
603
553
  /**
@@ -687,13 +637,6 @@ export class Modal {
687
637
  }
688
638
  this.cleanupViewTransitionListener();
689
639
  this.cleanupParentRemovalObserver();
690
- /**
691
- * Clean up pointer-events changes made in initSheetGesture.
692
- */
693
- for (const element of this.pointerEventsDisabledElements) {
694
- element.style.removeProperty('pointer-events');
695
- }
696
- this.pointerEventsDisabledElements = [];
697
640
  }
698
641
  this.currentBreakpoint = undefined;
699
642
  this.animation = undefined;
@@ -769,6 +712,18 @@ export class Modal {
769
712
  await this.setCurrentBreakpoint(nextBreakpoint);
770
713
  return true;
771
714
  }
715
+ getShape() {
716
+ const theme = getIonTheme(this);
717
+ const { shape } = this;
718
+ // TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
719
+ if (theme !== 'ionic') {
720
+ return undefined;
721
+ }
722
+ if (shape === undefined) {
723
+ return 'round';
724
+ }
725
+ return shape;
726
+ }
772
727
  initViewTransitionListener() {
773
728
  // Only enable for iOS card modals when no custom animations are provided
774
729
  if (getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
@@ -935,37 +890,40 @@ export class Modal {
935
890
  render() {
936
891
  const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
937
892
  const showHandle = handle !== false && isSheetModal;
938
- const mode = getIonMode(this);
939
- const isCardModal = presentingElement !== undefined && mode === 'ios';
893
+ const theme = getIonTheme(this);
894
+ const isCardModal = presentingElement !== undefined && theme === 'ios';
940
895
  const isHandleCycle = handleBehavior === 'cycle';
896
+ const shape = this.getShape();
941
897
  const isSheetModalWithHandle = isSheetModal && showHandle;
942
- return (h(Host, Object.assign({ key: 'd93e3750351017ef6f45a8a131a0722c31ef7c34', "no-router": true,
898
+ return (h(Host, Object.assign({ key: '2111b0cb69c57d4827050f75f4033ad37f8e4f7a', "no-router": true,
943
899
  // Allow the modal to be navigable when the handle is focusable
944
900
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
945
901
  zIndex: `${20000 + this.overlayIndex}`,
946
- }, 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: 'e76fd5404593e02c790e9cdf0ad7e03c7377fe93', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '1d57865a48d2ec5cf9c29388a05dd8c960aad079', class: "modal-shadow" }), h("div", Object.assign({ key: '44879f6ac725b09562a3f8a6d4be15634634a10d',
902
+ }, 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: 'd936c1d88a29b3210c0122a38148373e6349458c', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme === 'ios' && h("div", { key: '126a9c79f4c9d702b6c291dd07b87eae270bc3c3', class: "modal-shadow" }), h("div", Object.assign({ key: '8381a634dbcb4bdf895996aebd5c1e938058d631',
947
903
  /*
948
904
  role and aria-modal must be used on the
949
905
  same element. They must also be set inside the
950
906
  shadow DOM otherwise ion-button will not be highlighted
951
907
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
952
908
  */
953
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '1e4ee030c5993ea1e3a1fe7368a50eb349f4b5eb', class: "modal-handle",
909
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '8aa16ae5e8b532dedfe0f072f3ec908c463a1c6b', class: "modal-handle",
954
910
  // Prevents the handle from receiving keyboard focus when it does not cycle
955
- 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: '4bfacca293cd3b63a617235d90545e385c094379', onSlotchange: this.onSlotChange }))));
911
+ 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: '29ead0cd14368eff40bd330ab7c8172e3d9235f9', onSlotchange: this.onSlotChange }))));
956
912
  }
957
913
  static get is() { return "ion-modal"; }
958
914
  static get encapsulation() { return "shadow"; }
959
915
  static get originalStyleUrls() {
960
916
  return {
961
917
  "ios": ["modal.ios.scss"],
962
- "md": ["modal.md.scss"]
918
+ "md": ["modal.md.scss"],
919
+ "ionic": ["modal.ionic.scss"]
963
920
  };
964
921
  }
965
922
  static get styleUrls() {
966
923
  return {
967
924
  "ios": ["modal.ios.css"],
968
- "md": ["modal.md.css"]
925
+ "md": ["modal.md.css"],
926
+ "ionic": ["modal.ionic.css"]
969
927
  };
970
928
  }
971
929
  static get properties() {
@@ -1506,6 +1464,25 @@ export class Modal {
1506
1464
  "reflect": false,
1507
1465
  "attribute": "can-dismiss",
1508
1466
  "defaultValue": "true"
1467
+ },
1468
+ "shape": {
1469
+ "type": "string",
1470
+ "mutable": false,
1471
+ "complexType": {
1472
+ "original": "'soft' | 'round' | 'rectangular'",
1473
+ "resolved": "\"rectangular\" | \"round\" | \"soft\" | undefined",
1474
+ "references": {}
1475
+ },
1476
+ "required": false,
1477
+ "optional": true,
1478
+ "docs": {
1479
+ "tags": [],
1480
+ "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."
1481
+ },
1482
+ "getter": false,
1483
+ "setter": false,
1484
+ "reflect": false,
1485
+ "attribute": "shape"
1509
1486
  }
1510
1487
  };
1511
1488
  }