@ionic/core 8.8.5 → 8.8.6-dev.11777559143.1d1ad1ad

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 (1085) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-divider.d.ts +11 -0
  27. package/components/ion-divider.js +4 -0
  28. package/components/ion-fab-button.js +1 -1
  29. package/components/ion-fab-list.js +1 -1
  30. package/components/ion-fab.js +1 -1
  31. package/components/ion-footer.js +1 -1
  32. package/components/ion-grid.js +1 -1
  33. package/components/ion-header.js +1 -1
  34. package/components/ion-icon.js +1 -1
  35. package/components/ion-img.js +1 -1
  36. package/components/ion-infinite-scroll-content.js +1 -1
  37. package/components/ion-infinite-scroll.js +1 -1
  38. package/components/ion-input-otp.js +1 -1
  39. package/components/ion-input-password-toggle.js +1 -1
  40. package/components/ion-input.js +1 -1
  41. package/components/ion-item-divider.js +1 -1
  42. package/components/ion-item-group.js +1 -1
  43. package/components/ion-item-option.js +1 -1
  44. package/components/ion-item-options.js +1 -1
  45. package/components/ion-item-sliding.js +1 -1
  46. package/components/ion-item.js +1 -1
  47. package/components/ion-label.js +1 -1
  48. package/components/ion-list-header.js +1 -1
  49. package/components/ion-list.js +1 -1
  50. package/components/ion-loading.js +1 -1
  51. package/components/ion-menu-button.js +1 -1
  52. package/components/ion-menu-toggle.js +1 -1
  53. package/components/ion-menu.js +1 -1
  54. package/components/ion-modal.js +1 -1
  55. package/components/ion-nav-link.js +1 -1
  56. package/components/ion-nav.js +1 -1
  57. package/components/ion-note.js +1 -1
  58. package/components/ion-picker-column-option.js +1 -1
  59. package/components/ion-picker-column.js +1 -1
  60. package/components/ion-picker-legacy-column.js +1 -1
  61. package/components/ion-picker-legacy.js +1 -1
  62. package/components/ion-picker.js +1 -1
  63. package/components/ion-popover.js +1 -1
  64. package/components/ion-progress-bar.js +1 -1
  65. package/components/ion-radio-group.js +1 -1
  66. package/components/ion-radio.js +1 -1
  67. package/components/ion-range.js +1 -1
  68. package/components/ion-refresher-content.js +1 -1
  69. package/components/ion-refresher.js +1 -1
  70. package/components/ion-reorder-group.js +1 -1
  71. package/components/ion-reorder.js +1 -1
  72. package/components/ion-ripple-effect.js +1 -1
  73. package/components/ion-route-redirect.js +1 -1
  74. package/components/ion-route.js +1 -1
  75. package/components/ion-router-link.js +1 -1
  76. package/components/ion-router-outlet.js +1 -1
  77. package/components/ion-router.js +1 -1
  78. package/components/ion-row.js +1 -1
  79. package/components/ion-searchbar.js +1 -1
  80. package/components/ion-segment-button.js +1 -1
  81. package/components/ion-segment-content.js +1 -1
  82. package/components/ion-segment-view.js +1 -1
  83. package/components/ion-segment.js +1 -1
  84. package/components/ion-select-modal.js +1 -1
  85. package/components/ion-select-option.js +1 -1
  86. package/components/ion-select-popover.js +1 -1
  87. package/components/ion-select.js +1 -1
  88. package/components/ion-skeleton-text.js +1 -1
  89. package/components/ion-spinner.js +1 -1
  90. package/components/ion-split-pane.js +1 -1
  91. package/components/ion-tab-bar.js +1 -1
  92. package/components/ion-tab-button.js +1 -1
  93. package/components/ion-tab.js +1 -1
  94. package/components/ion-tabs.js +1 -1
  95. package/components/ion-text.js +1 -1
  96. package/components/ion-textarea.js +1 -1
  97. package/components/ion-thumbnail.js +1 -1
  98. package/components/ion-title.js +1 -1
  99. package/components/ion-toast.js +1 -1
  100. package/components/ion-toggle.js +1 -1
  101. package/components/ion-toolbar.js +1 -1
  102. package/components/p-0sa2JgYA.js +4 -0
  103. package/components/p-3Ni1Z654.js +4 -0
  104. package/{dist/ionic/p-D13Eaw-8.js → components/p-9gxM3tAr.js} +1 -1
  105. package/components/{p-ak_d-z48.js → p-B636tzQ7.js} +1 -1
  106. package/components/p-B8Oa6a_k.js +4 -0
  107. package/components/p-BCDEEm9n.js +4 -0
  108. package/components/p-BDndEqui.js +4 -0
  109. package/components/p-BDqjX7Z_.js +4 -0
  110. package/components/p-BErKjY03.js +4 -0
  111. package/components/p-BFCM_1oE.js +4 -0
  112. package/components/{p-cyNmxje6.js → p-BLysWQA1.js} +1 -1
  113. package/components/p-BO4aickU.js +4 -0
  114. package/components/p-BTYqyHph.js +4 -0
  115. package/components/p-BU8N7ZrK.js +4 -0
  116. package/components/p-BYSs-jZz.js +4 -0
  117. package/components/p-BaPtaYEC.js +4 -0
  118. package/components/p-BbQGmZyu.js +4 -0
  119. package/components/p-BcbmT6b3.js +4 -0
  120. package/components/p-BeVlsaLA.js +4 -0
  121. package/components/p-BfHB6wX_.js +4 -0
  122. package/components/p-BhfW3d9j.js +4 -0
  123. package/components/p-BjW8SOqw.js +4 -0
  124. package/components/p-Bp__mr16.js +4 -0
  125. package/components/p-BqDiJgC_.js +4 -0
  126. package/components/p-Brxa0j7O.js +4 -0
  127. package/components/p-BtAlyZ0b.js +4 -0
  128. package/components/p-BwKpO3Is.js +4 -0
  129. package/components/p-ByuCfbYy.js +4 -0
  130. package/components/p-C-_EGKki.js +4 -0
  131. package/components/p-C00Y_WJv.js +4 -0
  132. package/components/p-C0U8YqYW.js +4 -0
  133. package/components/p-C2cZvGcF.js +4 -0
  134. package/components/p-CKfNwyAb.js +4 -0
  135. package/components/p-CVBkx7m1.js +4 -0
  136. package/components/p-Cb9imMZh.js +4 -0
  137. package/components/p-CdYTq34D.js +4 -0
  138. package/components/p-CeYwuysM.js +4 -0
  139. package/components/p-Cf9-xP7P.js +4 -0
  140. package/components/{p-Cwv-vmkN.js → p-CjSx8W-k.js} +1 -1
  141. package/components/p-Cmql_g3_.js +4 -0
  142. package/components/p-CnOTQxHB.js +4 -0
  143. package/components/p-CnwZE7CW.js +4 -0
  144. package/components/p-CoarhFWH.js +4 -0
  145. package/components/p-CtiqM786.js +4 -0
  146. package/components/p-D1t981Ih.js +4 -0
  147. package/components/p-D5lMX0xt.js +4 -0
  148. package/components/p-DAeMHNER.js +4 -0
  149. package/components/p-DDw-NYxz.js +4 -0
  150. package/components/p-DVcs-2q3.js +4 -0
  151. package/components/p-DaJxRxSQ.js +4 -0
  152. package/components/p-Dhi5xtNS.js +4 -0
  153. package/components/p-GnGGIfCd.js +4 -0
  154. package/components/p-TpZHKDyk.js +4 -0
  155. package/components/p-XFUFdPrc.js +4 -0
  156. package/components/p-XegQjlzJ.js +4 -0
  157. package/components/p-fIOYmaqA.js +4 -0
  158. package/components/p-lIOqnNXn.js +4 -0
  159. package/{dist/ionic/p-BvFYtOdE.js → components/p-oF-CwZ0b.js} +1 -1
  160. package/components/p-sK-FK9CT.js +4 -0
  161. package/components/p-t98_NeNv.js +4 -0
  162. package/components/p-tYh73xQe.js +4 -0
  163. package/components/p-vCpF32Z7.js +4 -0
  164. package/components/p-vXpMhGrs.js +4 -0
  165. package/components/p-wCDzv5Q8.js +4 -0
  166. package/components/{p-YLXPWgVj.js → p-zWP0sUV_.js} +1 -1
  167. package/css/core.css +1 -1
  168. package/css/core.css.map +1 -1
  169. package/css/display.css +1 -1
  170. package/css/display.css.map +1 -1
  171. package/css/flex-utils.css +1 -1
  172. package/css/flex-utils.css.map +1 -1
  173. package/css/float-elements.css.map +1 -1
  174. package/css/global.bundle.css.map +1 -1
  175. package/css/ionic/bundle.ionic.css +1 -0
  176. package/css/ionic/bundle.ionic.css.map +1 -0
  177. package/css/ionic/core.ionic.css +1 -0
  178. package/css/ionic/core.ionic.css.map +1 -0
  179. package/css/ionic/global.bundle.ionic.css +1 -0
  180. package/css/ionic/global.bundle.ionic.css.map +1 -0
  181. package/css/ionic/ionic-swiper.ionic.css +1 -0
  182. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  183. package/css/ionic/link.ionic.css +1 -0
  184. package/css/ionic/link.ionic.css.map +1 -0
  185. package/css/ionic/structure.ionic.css +1 -0
  186. package/css/ionic/structure.ionic.css.map +1 -0
  187. package/css/ionic/typography.ionic.css +1 -0
  188. package/css/ionic/typography.ionic.css.map +1 -0
  189. package/css/ionic/utils.bundle.ionic.css +1 -0
  190. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  191. package/css/ionic-swiper.css +1 -1
  192. package/css/ionic-swiper.css.map +1 -1
  193. package/css/ionic.bundle.css +1 -1
  194. package/css/ionic.bundle.css.map +1 -1
  195. package/css/normalize.css.map +1 -1
  196. package/css/padding.css.map +1 -1
  197. package/css/palettes/dark.always.css.map +1 -1
  198. package/css/palettes/dark.class.css.map +1 -1
  199. package/css/palettes/dark.system.css.map +1 -1
  200. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  201. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  202. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  203. package/css/palettes/high-contrast.always.css.map +1 -1
  204. package/css/palettes/high-contrast.class.css.map +1 -1
  205. package/css/palettes/high-contrast.system.css.map +1 -1
  206. package/css/structure.css.map +1 -1
  207. package/css/text-alignment.css.map +1 -1
  208. package/css/text-transformation.css.map +1 -1
  209. package/css/typography.css.map +1 -1
  210. package/css/utils.bundle.css +1 -1
  211. package/css/utils.bundle.css.map +1 -1
  212. package/dist/cjs/{animation-Dg4yiuR2.js → animation-DknMeJ3x.js} +3 -3
  213. package/dist/cjs/{app-globals-CLI8xCmk.js → app-globals-DtAeky3x.js} +1 -1
  214. package/dist/cjs/{button-active-FscMI17-.js → button-active-JoIWyYri.js} +2 -2
  215. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-BnRBm_ys.js} +3 -3
  216. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  217. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  218. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  219. package/dist/cjs/config-DWdFbSNK.js +35 -0
  220. package/dist/cjs/{data-BYlBjkMU.js → data-DuOuKG7I.js} +6 -6
  221. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  222. package/dist/cjs/{framework-delegate-CRgp8o_p.js → framework-delegate-Dx9FrqAC.js} +4 -2
  223. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-D3Ay9mmg.js} +1 -1
  224. package/dist/cjs/{helpers-CxTYJdbT.js → helpers-DJYxKN5U.js} +57 -4
  225. package/dist/cjs/{config-BukYi_pW.js → index-BJlwOs11.js} +1 -31
  226. package/dist/cjs/{index-MbaBbWXk.js → index-BJrpF9T3.js} +2 -2
  227. package/dist/cjs/{index-CFUwM5x_.js → index-Cer2Qy4I.js} +15 -15
  228. package/dist/cjs/{index-DqmRDbxg.js → index-CgAbCW6L.js} +2 -0
  229. package/dist/cjs/{index-CqT-2gKy.js → index-CzcLEdQ5.js} +41 -4
  230. package/dist/cjs/{index-YcSftOMz.js → index-DMJjUhXH.js} +9 -8
  231. package/dist/cjs/{index-C845Ti6K.js → index-D_mPAIqF.js} +4 -4
  232. package/dist/cjs/index.cjs.js +16 -16
  233. package/dist/cjs/{input-shims-Dl5cnc_e.js → input-shims-Dn33gFln.js} +18 -17
  234. package/dist/cjs/{input.utils-DmeJ8dmo.js → input.utils-DnVnhWEF.js} +5 -5
  235. package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -29
  236. package/dist/cjs/ion-action-sheet.cjs.entry.js +41 -22
  237. package/dist/cjs/ion-alert.cjs.entry.js +62 -41
  238. package/dist/cjs/ion-app_8.cjs.entry.js +292 -157
  239. package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -13
  240. package/dist/cjs/ion-back-button.cjs.entry.js +31 -22
  241. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
  242. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +54 -18
  243. package/dist/cjs/ion-button_2.cjs.entry.js +59 -22
  244. package/dist/cjs/ion-card_5.cjs.entry.js +55 -33
  245. package/dist/cjs/ion-checkbox.cjs.entry.js +34 -16
  246. package/dist/cjs/ion-chip.cjs.entry.js +50 -9
  247. package/dist/cjs/ion-col_3.cjs.entry.js +54 -57
  248. package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -9
  249. package/dist/cjs/ion-datetime_3.cjs.entry.js +116 -41
  250. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  251. package/dist/cjs/ion-fab_3.cjs.entry.js +44 -28
  252. package/dist/cjs/ion-img.cjs.entry.js +8 -4
  253. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +93 -17
  254. package/dist/cjs/ion-input-otp.cjs.entry.js +74 -9
  255. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +53 -15
  256. package/dist/cjs/ion-input.cjs.entry.js +124 -34
  257. package/dist/cjs/ion-item-option_3.cjs.entry.js +186 -21
  258. package/dist/cjs/ion-item_8.cjs.entry.js +116 -49
  259. package/dist/cjs/ion-loading.cjs.entry.js +22 -19
  260. package/dist/cjs/ion-menu_3.cjs.entry.js +47 -29
  261. package/dist/cjs/ion-modal.cjs.entry.js +262 -138
  262. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
  263. package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
  264. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
  265. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  266. package/dist/cjs/ion-popover.cjs.entry.js +21 -19
  267. package/dist/cjs/ion-progress-bar.cjs.entry.js +27 -9
  268. package/dist/cjs/ion-radio_2.cjs.entry.js +35 -17
  269. package/dist/cjs/ion-range.cjs.entry.js +20 -13
  270. package/dist/cjs/ion-refresher_2.cjs.entry.js +42 -23
  271. package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -14
  272. package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
  273. package/dist/cjs/ion-route_4.cjs.entry.js +10 -9
  274. package/dist/cjs/ion-searchbar.cjs.entry.js +137 -24
  275. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  276. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
  277. package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
  278. package/dist/cjs/ion-select-modal.cjs.entry.js +97 -40
  279. package/dist/cjs/ion-select_3.cjs.entry.js +453 -84
  280. package/dist/cjs/ion-spinner.cjs.entry.js +30 -8
  281. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -9
  282. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +147 -23
  283. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  284. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  285. package/dist/cjs/ion-textarea.cjs.entry.js +137 -23
  286. package/dist/cjs/ion-toast.cjs.entry.js +70 -46
  287. package/dist/cjs/ion-toggle.cjs.entry.js +82 -25
  288. package/dist/cjs/ionic-global-CSEbHD_F.js +519 -0
  289. package/dist/cjs/ionic.cjs.js +4 -4
  290. package/dist/cjs/{ios.transition-trBiC95R.js → ios.transition-UCjoxA3D.js} +7 -5
  291. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Bhav6x-R.js} +4 -3
  292. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Dsczf-iT.js} +1 -1
  293. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-tqGDP9SU.js} +11 -9
  294. package/dist/cjs/list-a-7GSA6K.js +8 -0
  295. package/dist/cjs/loader.cjs.js +4 -4
  296. package/dist/cjs/{md.transition-CUQECuvD.js → md.transition-CNwlchQn.js} +6 -5
  297. package/dist/cjs/{notch-controller-sD-lTpdc.js → notch-controller-CgtkBzy0.js} +4 -4
  298. package/dist/cjs/{overlays-C2jiBSNQ.js → overlays-Hci_7vw_.js} +110 -16
  299. package/dist/cjs/select-option-render-C7klBX2H.js +81 -0
  300. package/dist/cjs/{status-tap-CCJk5VgT.js → status-tap-CTY2dMsZ.js} +4 -3
  301. package/dist/cjs/{swipe-back-BGhTQ1CU.js → swipe-back-jJFi5KCB.js} +3 -2
  302. package/dist/cjs/{theme-CeDs6Hcv.js → theme-IlOsGAz7.js} +25 -1
  303. package/dist/cjs/validity-QmuwEptc.js +51 -0
  304. package/dist/cjs/x-BTF99yFH.js +8 -0
  305. package/dist/collection/collection-manifest.json +1 -0
  306. package/dist/collection/components/accordion/accordion.ionic.css +201 -0
  307. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  308. package/dist/collection/components/accordion/accordion.js +41 -27
  309. package/dist/collection/components/accordion/accordion.md.css +67 -59
  310. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  311. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  312. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  313. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  314. package/dist/collection/components/action-sheet/action-sheet.ionic.css +834 -0
  315. package/dist/collection/components/action-sheet/action-sheet.ios.css +102 -6
  316. package/dist/collection/components/action-sheet/action-sheet.js +32 -13
  317. package/dist/collection/components/action-sheet/action-sheet.md.css +101 -5
  318. package/dist/collection/components/alert/alert.ionic.css +1165 -0
  319. package/dist/collection/components/alert/alert.ios.css +102 -1
  320. package/dist/collection/components/alert/alert.js +51 -30
  321. package/dist/collection/components/alert/alert.md.css +102 -1
  322. package/dist/collection/components/app/app.js +15 -83
  323. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  324. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  325. package/dist/collection/components/avatar/avatar.js +120 -4
  326. package/dist/collection/components/avatar/avatar.md.css +51 -0
  327. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  328. package/dist/collection/components/back-button/back-button.js +27 -19
  329. package/dist/collection/components/back-button/back-button.md.css +60 -48
  330. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  331. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  332. package/dist/collection/components/backdrop/backdrop.js +12 -6
  333. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  334. package/dist/collection/components/badge/badge.ionic.css +275 -0
  335. package/dist/collection/components/badge/badge.ios.css +139 -12
  336. package/dist/collection/components/badge/badge.js +145 -9
  337. package/dist/collection/components/badge/badge.md.css +123 -12
  338. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  339. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  340. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  341. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  342. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  343. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  344. package/dist/collection/components/button/button.ionic.css +646 -0
  345. package/dist/collection/components/button/button.ios.css +154 -46
  346. package/dist/collection/components/button/button.js +63 -27
  347. package/dist/collection/components/button/button.md.css +150 -50
  348. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  349. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  350. package/dist/collection/components/buttons/buttons.js +15 -9
  351. package/dist/collection/components/buttons/buttons.md.css +55 -3
  352. package/dist/collection/components/card/card.ionic.css +144 -0
  353. package/dist/collection/components/card/card.ios.css +65 -14
  354. package/dist/collection/components/card/card.js +41 -10
  355. package/dist/collection/components/card/card.md.css +65 -14
  356. package/dist/collection/components/card-content/card-content.ionic.css +89 -0
  357. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  358. package/dist/collection/components/card-content/card-content.js +12 -10
  359. package/dist/collection/components/card-content/card-content.md.css +20 -35
  360. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  361. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  362. package/dist/collection/components/card-header/card-header.js +13 -10
  363. package/dist/collection/components/card-header/card-header.md.css +27 -15
  364. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  365. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  366. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  367. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  368. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  369. package/dist/collection/components/card-title/card-title.js +11 -8
  370. package/dist/collection/components/card-title/card-title.md.css +73 -0
  371. package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
  372. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  373. package/dist/collection/components/checkbox/checkbox.js +70 -14
  374. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  375. package/dist/collection/components/chip/chip.ionic.css +217 -0
  376. package/dist/collection/components/chip/chip.ios.css +67 -14
  377. package/dist/collection/components/chip/chip.js +108 -8
  378. package/dist/collection/components/chip/chip.md.css +67 -14
  379. package/dist/collection/components/col/col.css +192 -4
  380. package/dist/collection/components/col/col.js +210 -61
  381. package/dist/collection/components/content/content.css +8 -2
  382. package/dist/collection/components/content/content.js +16 -11
  383. package/dist/collection/components/datetime/datetime.ionic.css +703 -0
  384. package/dist/collection/components/datetime/datetime.ios.css +302 -106
  385. package/dist/collection/components/datetime/datetime.js +98 -20
  386. package/dist/collection/components/datetime/datetime.md.css +293 -96
  387. package/dist/collection/components/datetime/utils/data.js +5 -5
  388. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  389. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  390. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  391. package/dist/collection/components/divider/divider.ionic.css +148 -0
  392. package/dist/collection/components/divider/divider.ios.css +87 -0
  393. package/dist/collection/components/divider/divider.js +94 -0
  394. package/dist/collection/components/divider/divider.md.css +87 -0
  395. package/dist/collection/components/fab/fab.css +25 -1
  396. package/dist/collection/components/fab/fab.js +9 -5
  397. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  398. package/dist/collection/components/fab-button/fab-button.js +36 -21
  399. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  400. package/dist/collection/components/fab-list/fab-list.css +12 -0
  401. package/dist/collection/components/fab-list/fab-list.js +9 -5
  402. package/dist/collection/components/footer/footer.ios.css +14 -2
  403. package/dist/collection/components/footer/footer.js +21 -16
  404. package/dist/collection/components/footer/footer.md.css +12 -0
  405. package/dist/collection/components/grid/grid.css +12 -0
  406. package/dist/collection/components/grid/grid.js +9 -5
  407. package/dist/collection/components/header/header.ionic.css +97 -0
  408. package/dist/collection/components/header/header.ios.css +25 -10
  409. package/dist/collection/components/header/header.js +50 -19
  410. package/dist/collection/components/header/header.md.css +23 -8
  411. package/dist/collection/components/header/header.utils.js +5 -5
  412. package/dist/collection/components/img/img.js +8 -2
  413. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  414. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  415. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  416. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  417. package/dist/collection/components/input/input.ionic.css +889 -0
  418. package/dist/collection/components/input/input.ios.css +223 -135
  419. package/dist/collection/components/input/input.js +148 -37
  420. package/dist/collection/components/input/input.md.css +193 -207
  421. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  422. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  423. package/dist/collection/components/input-otp/input-otp.js +73 -6
  424. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  425. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  426. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  427. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  428. package/dist/collection/components/item/item.ionic.css +508 -0
  429. package/dist/collection/components/item/item.ios.css +109 -69
  430. package/dist/collection/components/item/item.js +51 -20
  431. package/dist/collection/components/item/item.md.css +120 -68
  432. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  433. package/dist/collection/components/item-divider/item-divider.js +11 -8
  434. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  435. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  436. package/dist/collection/components/item-group/item-group.js +13 -7
  437. package/dist/collection/components/item-group/item-group.md.css +12 -0
  438. package/dist/collection/components/item-option/item-option.ionic.css +278 -0
  439. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  440. package/dist/collection/components/item-option/item-option.js +73 -9
  441. package/dist/collection/components/item-option/item-option.md.css +136 -29
  442. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  443. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  444. package/dist/collection/components/item-options/item-options.js +13 -7
  445. package/dist/collection/components/item-options/item-options.md.css +77 -34
  446. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  447. package/dist/collection/components/item-sliding/item-sliding.js +144 -4
  448. package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
  449. package/dist/collection/components/label/label.ios.css +18 -0
  450. package/dist/collection/components/label/label.js +11 -8
  451. package/dist/collection/components/label/label.md.css +18 -0
  452. package/dist/collection/components/list/list.ionic.css +212 -0
  453. package/dist/collection/components/list/list.ios.css +54 -14
  454. package/dist/collection/components/list/list.js +48 -9
  455. package/dist/collection/components/list/list.md.css +56 -16
  456. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  457. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  458. package/dist/collection/components/list-header/list-header.js +11 -8
  459. package/dist/collection/components/list-header/list-header.md.css +82 -38
  460. package/dist/collection/components/loading/loading.ios.css +13 -1
  461. package/dist/collection/components/loading/loading.js +14 -11
  462. package/dist/collection/components/loading/loading.md.css +13 -1
  463. package/dist/collection/components/menu/menu.ios.css +15 -3
  464. package/dist/collection/components/menu/menu.js +12 -7
  465. package/dist/collection/components/menu/menu.md.css +15 -3
  466. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  467. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  468. package/dist/collection/components/menu-button/menu-button.js +26 -10
  469. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  470. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  471. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  472. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  473. package/dist/collection/components/modal/animations/sheet.js +8 -2
  474. package/dist/collection/components/modal/gestures/sheet.js +76 -10
  475. package/dist/collection/components/modal/modal.ionic.css +247 -0
  476. package/dist/collection/components/modal/modal.ios.css +178 -70
  477. package/dist/collection/components/modal/modal.js +50 -12
  478. package/dist/collection/components/modal/modal.md.css +178 -70
  479. package/dist/collection/components/nav/nav.css +7 -1
  480. package/dist/collection/components/nav/nav.js +11 -5
  481. package/dist/collection/components/nav-link/nav-link.js +5 -1
  482. package/dist/collection/components/note/note.ios.css +12 -0
  483. package/dist/collection/components/note/note.js +11 -8
  484. package/dist/collection/components/note/note.md.css +12 -0
  485. package/dist/collection/components/picker/picker.ios.css +15 -3
  486. package/dist/collection/components/picker/picker.js +8 -5
  487. package/dist/collection/components/picker/picker.md.css +15 -3
  488. package/dist/collection/components/picker-column/picker-column.css +9 -2
  489. package/dist/collection/components/picker-column/picker-column.js +8 -7
  490. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  491. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  492. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  493. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  494. package/dist/collection/components/picker-legacy/picker.js +7 -6
  495. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  496. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  497. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  498. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  499. package/dist/collection/components/popover/popover.ionic.css +290 -0
  500. package/dist/collection/components/popover/popover.ios.css +29 -1
  501. package/dist/collection/components/popover/popover.js +18 -15
  502. package/dist/collection/components/popover/popover.md.css +29 -1
  503. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  504. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  505. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  506. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  507. package/dist/collection/components/radio/radio.ionic.css +422 -0
  508. package/dist/collection/components/radio/radio.ios.css +134 -91
  509. package/dist/collection/components/radio/radio.js +14 -9
  510. package/dist/collection/components/radio/radio.md.css +134 -91
  511. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  512. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  513. package/dist/collection/components/radio-group/radio-group.js +48 -7
  514. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  515. package/dist/collection/components/range/range.ionic.css +567 -0
  516. package/dist/collection/components/range/range.ios.css +128 -85
  517. package/dist/collection/components/range/range.js +16 -10
  518. package/dist/collection/components/range/range.md.css +128 -85
  519. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  520. package/dist/collection/components/refresher/refresher.js +11 -8
  521. package/dist/collection/components/refresher/refresher.md.css +15 -2
  522. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  523. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  524. package/dist/collection/components/reorder/reorder.js +33 -6
  525. package/dist/collection/components/reorder/reorder.md.css +6 -0
  526. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  527. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  528. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  529. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  530. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  531. package/dist/collection/components/route/route.js +4 -0
  532. package/dist/collection/components/router/router.js +4 -0
  533. package/dist/collection/components/router-link/router-link.css +8 -2
  534. package/dist/collection/components/router-link/router-link.js +9 -5
  535. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  536. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  537. package/dist/collection/components/row/row.css +16 -0
  538. package/dist/collection/components/row/row.js +9 -2
  539. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  540. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  541. package/dist/collection/components/searchbar/searchbar.js +180 -33
  542. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  543. package/dist/collection/components/segment/segment.ionic.css +115 -0
  544. package/dist/collection/components/segment/segment.ios.css +45 -2
  545. package/dist/collection/components/segment/segment.js +11 -8
  546. package/dist/collection/components/segment/segment.md.css +45 -2
  547. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  548. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  549. package/dist/collection/components/segment-button/segment-button.js +11 -8
  550. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  551. package/dist/collection/components/segment-content/segment-content.js +1 -1
  552. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  553. package/dist/collection/components/segment-view/segment-view.js +6 -4
  554. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  555. package/dist/collection/components/select/select.ionic.css +810 -0
  556. package/dist/collection/components/select/select.ios.css +348 -176
  557. package/dist/collection/components/select/select.js +434 -66
  558. package/dist/collection/components/select/select.md.css +364 -178
  559. package/dist/collection/components/select-modal/select-modal.ionic.css +154 -0
  560. package/dist/collection/components/select-modal/select-modal.ios.css +95 -0
  561. package/dist/collection/components/select-modal/select-modal.js +109 -32
  562. package/dist/collection/components/select-modal/select-modal.md.css +83 -0
  563. package/dist/collection/components/select-option/select-option.js +32 -2
  564. package/dist/collection/components/select-popover/select-popover.ionic.css +499 -0
  565. package/dist/collection/components/select-popover/select-popover.ios.css +100 -0
  566. package/dist/collection/components/select-popover/select-popover.js +72 -31
  567. package/dist/collection/components/select-popover/select-popover.md.css +100 -0
  568. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  569. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  570. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  571. package/dist/collection/components/spinner/spinner.js +47 -6
  572. package/dist/collection/components/spinner/spinner.native.css +199 -0
  573. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  574. package/dist/collection/components/split-pane/split-pane.js +14 -8
  575. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  576. package/dist/collection/components/tab/tab.js +6 -2
  577. package/dist/collection/components/tab-bar/tab-bar.ionic.css +227 -0
  578. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  579. package/dist/collection/components/tab-bar/tab-bar.js +171 -13
  580. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  581. package/dist/collection/components/tab-button/tab-button.ionic.css +348 -0
  582. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  583. package/dist/collection/components/tab-button/tab-button.js +54 -9
  584. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  585. package/dist/collection/components/tabs/tabs.css +7 -1
  586. package/dist/collection/components/tabs/tabs.js +4 -1
  587. package/dist/collection/components/text/text.css +6 -0
  588. package/dist/collection/components/text/text.js +7 -6
  589. package/dist/collection/components/textarea/textarea.ionic.css +898 -0
  590. package/dist/collection/components/textarea/textarea.ios.css +298 -158
  591. package/dist/collection/components/textarea/textarea.js +162 -24
  592. package/dist/collection/components/textarea/textarea.md.css +312 -159
  593. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  594. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  595. package/dist/collection/components/title/title.ionic.css +127 -0
  596. package/dist/collection/components/title/title.ios.css +32 -4
  597. package/dist/collection/components/title/title.js +13 -7
  598. package/dist/collection/components/title/title.md.css +32 -4
  599. package/dist/collection/components/toast/animations/utils.js +1 -1
  600. package/dist/collection/components/toast/toast.ionic.css +394 -0
  601. package/dist/collection/components/toast/toast.ios.css +84 -45
  602. package/dist/collection/components/toast/toast.js +76 -13
  603. package/dist/collection/components/toast/toast.md.css +84 -45
  604. package/dist/collection/components/toggle/toggle.ionic.css +508 -0
  605. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  606. package/dist/collection/components/toggle/toggle.js +73 -18
  607. package/dist/collection/components/toggle/toggle.md.css +244 -131
  608. package/dist/collection/components/toolbar/test/image.svg +1 -0
  609. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  610. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  611. package/dist/collection/components/toolbar/toolbar.js +218 -13
  612. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  613. package/dist/collection/global/ionic-global.js +241 -13
  614. package/dist/collection/utils/focus-trap.js +13 -2
  615. package/dist/collection/utils/focus-visible.js +22 -0
  616. package/dist/collection/utils/forms/validity.js +31 -0
  617. package/dist/collection/utils/framework-delegate.js +3 -1
  618. package/dist/collection/utils/hardware-back-button.js +15 -0
  619. package/dist/collection/utils/helpers.js +57 -3
  620. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  621. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  622. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  623. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  624. package/dist/collection/utils/overlays.js +91 -6
  625. package/dist/collection/utils/select-option-render.js +76 -0
  626. package/dist/collection/utils/test/playwright/drag-element.js +32 -9
  627. package/dist/collection/utils/test/playwright/generator.js +48 -23
  628. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  629. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  630. package/dist/collection/utils/theme.js +25 -1
  631. package/dist/collection/utils/transition/ios.transition.js +1 -0
  632. package/dist/docs.json +8570 -283
  633. package/dist/esm/{animation-CnGMT4ji.js → animation-Cqe2x-Pt.js} +2 -2
  634. package/dist/esm/{app-globals-DhZjtldk.js → app-globals-Dk1rB3aE.js} +1 -1
  635. package/dist/esm/{button-active-BBx21brx.js → button-active-g6ZnZzDZ.js} +2 -2
  636. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-C4lYa1nV.js} +1 -1
  637. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  638. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  639. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  640. package/dist/esm/config-BwKpO3Is.js +31 -0
  641. package/dist/esm/{data-B9iGR5YO.js → data-BNKYavC3.js} +6 -6
  642. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  643. package/dist/esm/{framework-delegate-CyxE1S_P.js → framework-delegate-CjVwn_KZ.js} +4 -2
  644. package/dist/esm/{haptic-DzAMWJuk.js → haptic-_88k1V5U.js} +1 -1
  645. package/dist/esm/{helpers-Tl8jw6S2.js → helpers-Do7zwvM1.js} +58 -5
  646. package/dist/esm/{index-hW6eNZ3o.js → index-BmkLokUL.js} +2 -2
  647. package/dist/esm/{index-BtUdxPjv.js → index-C5t9-ciC.js} +4 -3
  648. package/dist/esm/{index-B-hkiOUh.js → index-CGthURny.js} +4 -4
  649. package/dist/esm/{index-DV3sJJW8.js → index-D2tu5BUg.js} +2 -1
  650. package/dist/esm/{config-TO1rZH52.js → index-D4ugF_sT.js} +2 -29
  651. package/dist/esm/{index-IGIE5vDm.js → index-Omi_TcwW.js} +41 -4
  652. package/dist/esm/{index-B2KwgBLx.js → index-hpH08p5s.js} +11 -11
  653. package/dist/esm/index.js +14 -14
  654. package/dist/esm/{input-shims-AaDhOpKN.js → input-shims-vDjCsx95.js} +7 -6
  655. package/dist/esm/{input.utils-Bxa_DQ7-.js → input.utils-B9Q5xHp6.js} +3 -3
  656. package/dist/esm/ion-accordion_2.entry.js +61 -29
  657. package/dist/esm/ion-action-sheet.entry.js +41 -22
  658. package/dist/esm/ion-alert.entry.js +61 -40
  659. package/dist/esm/ion-app_8.entry.js +292 -157
  660. package/dist/esm/ion-avatar_3.entry.js +125 -13
  661. package/dist/esm/ion-back-button.entry.js +31 -22
  662. package/dist/esm/ion-backdrop.entry.js +10 -7
  663. package/dist/esm/ion-breadcrumb_2.entry.js +54 -18
  664. package/dist/esm/ion-button_2.entry.js +59 -22
  665. package/dist/esm/ion-card_5.entry.js +55 -33
  666. package/dist/esm/ion-checkbox.entry.js +34 -16
  667. package/dist/esm/ion-chip.entry.js +50 -9
  668. package/dist/esm/ion-col_3.entry.js +54 -57
  669. package/dist/esm/ion-datetime-button.entry.js +13 -9
  670. package/dist/esm/ion-datetime_3.entry.js +116 -41
  671. package/dist/esm/ion-divider.entry.js +49 -0
  672. package/dist/esm/ion-fab_3.entry.js +44 -28
  673. package/dist/esm/ion-img.entry.js +8 -4
  674. package/dist/esm/ion-infinite-scroll_2.entry.js +92 -16
  675. package/dist/esm/ion-input-otp.entry.js +74 -9
  676. package/dist/esm/ion-input-password-toggle.entry.js +53 -15
  677. package/dist/esm/ion-input.entry.js +124 -34
  678. package/dist/esm/ion-item-option_3.entry.js +186 -21
  679. package/dist/esm/ion-item_8.entry.js +116 -49
  680. package/dist/esm/ion-loading.entry.js +21 -18
  681. package/dist/esm/ion-menu_3.entry.js +47 -29
  682. package/dist/esm/ion-modal.entry.js +215 -91
  683. package/dist/esm/ion-nav_2.entry.js +14 -11
  684. package/dist/esm/ion-picker-column-option.entry.js +12 -8
  685. package/dist/esm/ion-picker-column.entry.js +13 -13
  686. package/dist/esm/ion-picker.entry.js +10 -6
  687. package/dist/esm/ion-popover.entry.js +21 -19
  688. package/dist/esm/ion-progress-bar.entry.js +27 -9
  689. package/dist/esm/ion-radio_2.entry.js +35 -17
  690. package/dist/esm/ion-range.entry.js +20 -13
  691. package/dist/esm/ion-refresher_2.entry.js +40 -21
  692. package/dist/esm/ion-reorder_2.entry.js +38 -14
  693. package/dist/esm/ion-ripple-effect.entry.js +15 -7
  694. package/dist/esm/ion-route_4.entry.js +10 -9
  695. package/dist/esm/ion-searchbar.entry.js +137 -24
  696. package/dist/esm/ion-segment-content.entry.js +2 -2
  697. package/dist/esm/ion-segment-view.entry.js +6 -3
  698. package/dist/esm/ion-segment_2.entry.js +23 -16
  699. package/dist/esm/ion-select-modal.entry.js +97 -40
  700. package/dist/esm/ion-select_3.entry.js +453 -84
  701. package/dist/esm/ion-spinner.entry.js +30 -8
  702. package/dist/esm/ion-split-pane.entry.js +12 -9
  703. package/dist/esm/ion-tab-bar_2.entry.js +147 -23
  704. package/dist/esm/ion-tab_2.entry.js +8 -7
  705. package/dist/esm/ion-text.entry.js +7 -7
  706. package/dist/esm/ion-textarea.entry.js +137 -23
  707. package/dist/esm/ion-toast.entry.js +45 -21
  708. package/dist/esm/ion-toggle.entry.js +82 -25
  709. package/dist/esm/ionic-global-CAZb-5i-.js +508 -0
  710. package/dist/esm/ionic.js +5 -5
  711. package/dist/esm/{ios.transition--aMF-pDH.js → ios.transition-CzSncKQg.js} +7 -5
  712. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Cpw6xVLJ.js} +1 -1
  713. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-DJpS2IGK.js} +4 -3
  714. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-CAc33ylR.js} +5 -3
  715. package/dist/esm/list-Dhi5xtNS.js +6 -0
  716. package/dist/esm/loader.js +5 -5
  717. package/dist/esm/{md.transition-BEVbfm8j.js → md.transition-DIsWqYBZ.js} +6 -5
  718. package/dist/esm/{notch-controller-DAcvKU57.js → notch-controller-DiBq57w8.js} +2 -2
  719. package/dist/esm/{overlays-F8GHPo-e.js → overlays-rwDDzEs4.js} +107 -13
  720. package/dist/esm/select-option-render-B2qc5ZP7.js +79 -0
  721. package/dist/esm/{status-tap-BfJqFSLF.js → status-tap-fYFdZg6z.js} +4 -3
  722. package/dist/esm/{swipe-back-BZBFwTQV.js → swipe-back-BzGqTrrq.js} +3 -2
  723. package/dist/esm/{theme-DiVJyqlX.js → theme-DaJxRxSQ.js} +25 -1
  724. package/dist/esm/validity-BjW8SOqw.js +48 -0
  725. package/dist/esm/x-BDqjX7Z_.js +6 -0
  726. package/dist/html.html-data.json +2463 -99
  727. package/dist/ionic/index.esm.js +1 -1
  728. package/dist/ionic/ionic.esm.js +1 -1
  729. package/dist/ionic/p-07d3388f.entry.js +4 -0
  730. package/dist/ionic/p-091a95ea.entry.js +4 -0
  731. package/dist/ionic/p-11nqcMM3.js +4 -0
  732. package/dist/ionic/p-139d02eb.entry.js +4 -0
  733. package/dist/ionic/p-1855fcb6.entry.js +4 -0
  734. package/dist/ionic/p-192e7509.entry.js +4 -0
  735. package/dist/ionic/p-1faf270d.entry.js +4 -0
  736. package/dist/ionic/p-228b6a9c.entry.js +4 -0
  737. package/dist/ionic/p-2311e660.entry.js +4 -0
  738. package/dist/ionic/p-2aa44c65.entry.js +4 -0
  739. package/dist/ionic/p-2bf931ae.entry.js +4 -0
  740. package/dist/ionic/p-2effd05d.entry.js +4 -0
  741. package/dist/ionic/p-308beb71.entry.js +4 -0
  742. package/dist/ionic/p-3093958a.entry.js +4 -0
  743. package/dist/ionic/p-37ccbee4.entry.js +4 -0
  744. package/dist/ionic/p-3aba19e2.entry.js +4 -0
  745. package/dist/ionic/p-3bf01c2c.entry.js +4 -0
  746. package/dist/ionic/p-4091ad21.entry.js +4 -0
  747. package/dist/ionic/p-45825c2c.entry.js +4 -0
  748. package/dist/ionic/p-4610e447.entry.js +4 -0
  749. package/dist/ionic/p-488992b6.entry.js +4 -0
  750. package/dist/ionic/p-4a0260e6.entry.js +4 -0
  751. package/dist/ionic/p-4c864eb2.entry.js +4 -0
  752. package/dist/ionic/p-4e46439d.entry.js +4 -0
  753. package/dist/ionic/p-50d90690.entry.js +4 -0
  754. package/dist/ionic/p-59b4f8d0.entry.js +4 -0
  755. package/dist/ionic/p-5a3fc28e.entry.js +4 -0
  756. package/dist/ionic/p-5ac21be2.entry.js +4 -0
  757. package/dist/ionic/p-64341e32.entry.js +4 -0
  758. package/dist/ionic/p-68c21b2a.entry.js +4 -0
  759. package/dist/ionic/p-6c8c37c2.entry.js +4 -0
  760. package/dist/ionic/p-6fbead83.entry.js +4 -0
  761. package/dist/ionic/p-7194f6fa.entry.js +4 -0
  762. package/dist/ionic/p-76d0e7ef.entry.js +4 -0
  763. package/dist/ionic/p-79ae0425.entry.js +4 -0
  764. package/dist/ionic/p-7d267dc6.entry.js +4 -0
  765. package/dist/ionic/p-8180abe5.entry.js +4 -0
  766. package/dist/ionic/p-8516eb69.entry.js +4 -0
  767. package/dist/ionic/p-8uDL7fql.js +4 -0
  768. package/dist/ionic/p-96549175.entry.js +4 -0
  769. package/dist/ionic/p-98c34fd7.entry.js +4 -0
  770. package/dist/ionic/p-9b9b1450.entry.js +4 -0
  771. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  772. package/dist/ionic/p-BYSs-jZz.js +4 -0
  773. package/dist/ionic/p-BjW8SOqw.js +4 -0
  774. package/{components/p-9VcRUwdB.js → dist/ionic/p-BsfuYVMP.js} +1 -1
  775. package/dist/ionic/p-BwKpO3Is.js +4 -0
  776. package/dist/ionic/p-Bx0bt2Ar.js +4 -0
  777. package/dist/ionic/p-C2mpVKI1.js +4 -0
  778. package/dist/ionic/p-C4uUM9DM.js +4 -0
  779. package/dist/ionic/p-C5zxLmJ_.js +4 -0
  780. package/{components/p-BS1TtEiJ.js → dist/ionic/p-C8IHbcuP.js} +1 -1
  781. package/dist/ionic/p-CBV-BGvD.js +4 -0
  782. package/dist/ionic/p-CDn0uNJA.js +4 -0
  783. package/dist/ionic/p-CFjI63GE.js +4 -0
  784. package/dist/ionic/p-CHE1xWbg.js +4 -0
  785. package/dist/ionic/p-CIk5QtPm.js +4 -0
  786. package/dist/ionic/p-CQKe4n56.js +4 -0
  787. package/dist/ionic/p-CVp2D--1.js +4 -0
  788. package/dist/ionic/p-CWJdc8f_.js +4 -0
  789. package/dist/ionic/p-CXqdKf1K.js +4 -0
  790. package/dist/ionic/p-Cb-0O4h8.js +4 -0
  791. package/dist/ionic/{p-CKvCXMs9.js → p-CbkICFBN.js} +1 -1
  792. package/dist/ionic/p-D1t981Ih.js +4 -0
  793. package/dist/ionic/p-D2tu5BUg.js +4 -0
  794. package/dist/ionic/{p-B8xlpH8p.js → p-DKWXAwlR.js} +1 -1
  795. package/dist/ionic/p-DaJxRxSQ.js +4 -0
  796. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  797. package/dist/ionic/p-DoyDJ2X5.js +4 -0
  798. package/dist/ionic/p-FvDKM4Ax.js +4 -0
  799. package/dist/ionic/p-Omi_TcwW.js +5 -0
  800. package/{components/p-D13Eaw-8.js → dist/ionic/p-SJmaFQ0H.js} +1 -1
  801. package/dist/ionic/p-SOASChNu.js +4 -0
  802. package/dist/ionic/{p-DjriolRs.js → p-ZqkJDyhe.js} +1 -1
  803. package/dist/ionic/p-a53a3ecc.entry.js +4 -0
  804. package/dist/ionic/p-acdc21a6.entry.js +4 -0
  805. package/dist/ionic/p-ae4ea663.entry.js +4 -0
  806. package/dist/ionic/p-b0c54b4c.entry.js +4 -0
  807. package/dist/ionic/p-b8b20b7e.entry.js +4 -0
  808. package/dist/ionic/p-bc5713f7.entry.js +4 -0
  809. package/dist/ionic/p-d954cd19.entry.js +4 -0
  810. package/dist/ionic/p-e7f216ae.entry.js +4 -0
  811. package/dist/ionic/p-edb0b0c8.entry.js +4 -0
  812. package/dist/ionic/p-f02ba305.entry.js +4 -0
  813. package/dist/ionic/p-f061fcb7.entry.js +4 -0
  814. package/dist/ionic/p-f740c359.entry.js +4 -0
  815. package/dist/ionic/p-f85942f8.entry.js +4 -0
  816. package/dist/ionic/p-fIOYmaqA.js +4 -0
  817. package/dist/ionic/p-qETiT38a.js +4 -0
  818. package/dist/ionic/p-vXpMhGrs.js +4 -0
  819. package/dist/types/components/accordion/accordion.d.ts +6 -3
  820. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  821. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  822. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  823. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  824. package/dist/types/components/alert/alert.d.ts +3 -2
  825. package/dist/types/components/app/app.d.ts +4 -5
  826. package/dist/types/components/avatar/avatar.d.ts +32 -0
  827. package/dist/types/components/back-button/back-button.d.ts +2 -1
  828. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  829. package/dist/types/components/badge/badge.d.ts +34 -1
  830. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  831. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  832. package/dist/types/components/button/button.d.ts +23 -8
  833. package/dist/types/components/buttons/buttons.d.ts +5 -1
  834. package/dist/types/components/card/card.d.ts +8 -1
  835. package/dist/types/components/card-content/card-content.d.ts +2 -1
  836. package/dist/types/components/card-header/card-header.d.ts +3 -2
  837. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  838. package/dist/types/components/card-title/card-title.d.ts +2 -1
  839. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  840. package/dist/types/components/chip/chip.d.ts +26 -1
  841. package/dist/types/components/col/col.d.ts +52 -5
  842. package/dist/types/components/content/content.d.ts +3 -0
  843. package/dist/types/components/datetime/datetime.d.ts +26 -1
  844. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  845. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  846. package/dist/types/components/divider/divider.d.ts +20 -0
  847. package/dist/types/components/fab/fab.d.ts +4 -0
  848. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  849. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  850. package/dist/types/components/footer/footer.d.ts +4 -3
  851. package/dist/types/components/grid/grid.d.ts +4 -0
  852. package/dist/types/components/header/header.d.ts +9 -3
  853. package/dist/types/components/header/header.utils.d.ts +3 -3
  854. package/dist/types/components/img/img.d.ts +3 -0
  855. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  856. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  857. package/dist/types/components/input/input.d.ts +31 -5
  858. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  859. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  860. package/dist/types/components/item/item.d.ts +11 -4
  861. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  862. package/dist/types/components/item-group/item-group.d.ts +4 -0
  863. package/dist/types/components/item-option/item-option.d.ts +18 -1
  864. package/dist/types/components/item-options/item-options.d.ts +4 -0
  865. package/dist/types/components/item-sliding/item-sliding.d.ts +32 -1
  866. package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
  867. package/dist/types/components/label/label.d.ts +2 -1
  868. package/dist/types/components/list/list.d.ts +15 -1
  869. package/dist/types/components/list-header/list-header.d.ts +2 -1
  870. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  871. package/dist/types/components/loading/loading.d.ts +3 -2
  872. package/dist/types/components/menu/menu.d.ts +3 -0
  873. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  874. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  875. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  876. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  877. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  878. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  879. package/dist/types/components/modal/modal.d.ts +11 -1
  880. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  881. package/dist/types/components/nav/nav.d.ts +5 -1
  882. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  883. package/dist/types/components/note/note.d.ts +2 -1
  884. package/dist/types/components/picker/picker.d.ts +2 -1
  885. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  886. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  887. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  888. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  889. package/dist/types/components/popover/popover.d.ts +6 -5
  890. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  891. package/dist/types/components/radio/radio.d.ts +2 -1
  892. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  893. package/dist/types/components/range/range.d.ts +2 -1
  894. package/dist/types/components/refresher/refresher.d.ts +2 -1
  895. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  896. package/dist/types/components/reorder/reorder.d.ts +9 -0
  897. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  898. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  899. package/dist/types/components/route/route.d.ts +4 -0
  900. package/dist/types/components/router/router.d.ts +4 -0
  901. package/dist/types/components/router-link/router-link.d.ts +4 -0
  902. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  903. package/dist/types/components/row/row.d.ts +4 -0
  904. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  905. package/dist/types/components/segment/segment.d.ts +2 -1
  906. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  907. package/dist/types/components/select/select-interface.d.ts +23 -0
  908. package/dist/types/components/select/select.d.ts +66 -13
  909. package/dist/types/components/select-modal/select-modal.d.ts +8 -0
  910. package/dist/types/components/select-option/select-option.d.ts +12 -0
  911. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  912. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  913. package/dist/types/components/spinner/spinner.d.ts +15 -0
  914. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  915. package/dist/types/components/tab/tab.d.ts +4 -0
  916. package/dist/types/components/tab-bar/tab-bar.d.ts +37 -2
  917. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  918. package/dist/types/components/tabs/tabs.d.ts +3 -0
  919. package/dist/types/components/text/text.d.ts +2 -1
  920. package/dist/types/components/textarea/textarea.d.ts +53 -4
  921. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  922. package/dist/types/components/title/title.d.ts +4 -0
  923. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  924. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  925. package/dist/types/components/toast/toast.d.ts +19 -2
  926. package/dist/types/components/toggle/toggle.d.ts +15 -1
  927. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  928. package/dist/types/components.d.ts +1727 -206
  929. package/dist/types/global/ionic-global.d.ts +28 -2
  930. package/dist/types/interface.d.ts +3 -0
  931. package/dist/types/utils/config.d.ts +106 -2
  932. package/dist/types/utils/focus-trap.d.ts +1 -1
  933. package/dist/types/utils/focus-visible.d.ts +13 -0
  934. package/dist/types/utils/forms/validity.d.ts +7 -0
  935. package/dist/types/utils/helpers.d.ts +11 -0
  936. package/dist/types/utils/overlays-interface.d.ts +31 -1
  937. package/dist/types/utils/overlays.d.ts +1 -1
  938. package/dist/types/utils/select-option-render.d.ts +22 -0
  939. package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
  940. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  941. package/dist/types/utils/theme.d.ts +9 -0
  942. package/hydrate/index.js +4337 -1299
  943. package/hydrate/index.mjs +4337 -1299
  944. package/package.json +8 -4
  945. package/components/p-1KVKSLu5.js +0 -4
  946. package/components/p-B6FQ0cKR.js +0 -4
  947. package/components/p-B6HaBl3o.js +0 -4
  948. package/components/p-B8b1Ukl9.js +0 -4
  949. package/components/p-BGHGpkPX.js +0 -4
  950. package/components/p-BJoMtgfR.js +0 -4
  951. package/components/p-BNAG-aVv.js +0 -4
  952. package/components/p-BR3tZJmu.js +0 -4
  953. package/components/p-BSB38Tek.js +0 -4
  954. package/components/p-BTeL5HCK.js +0 -4
  955. package/components/p-BUbsoBOV.js +0 -4
  956. package/components/p-BYDc3hSE.js +0 -4
  957. package/components/p-BagjAGC0.js +0 -4
  958. package/components/p-BegtE7nr.js +0 -4
  959. package/components/p-BgwEQWW6.js +0 -4
  960. package/components/p-BlNv564p.js +0 -4
  961. package/components/p-BmVRXR1y.js +0 -4
  962. package/components/p-BxwWvu-b.js +0 -4
  963. package/components/p-C4jPsTQa.js +0 -4
  964. package/components/p-C59ryAuS.js +0 -4
  965. package/components/p-CBzELu-H.js +0 -4
  966. package/components/p-CDfQnFrd.js +0 -4
  967. package/components/p-CH0NYjKq.js +0 -4
  968. package/components/p-CIGNaXM1.js +0 -4
  969. package/components/p-CO7fmmxt.js +0 -4
  970. package/components/p-CU1SSH8_.js +0 -4
  971. package/components/p-CgfaEEem.js +0 -4
  972. package/components/p-CgqKJg96.js +0 -4
  973. package/components/p-CneGxKsZ.js +0 -4
  974. package/components/p-CoA-aqGF.js +0 -4
  975. package/components/p-Cq8cQ0NL.js +0 -4
  976. package/components/p-Csw8xuz4.js +0 -4
  977. package/components/p-CtWGkNnJ.js +0 -4
  978. package/components/p-Cy5XSfIk.js +0 -4
  979. package/components/p-Cyxa_4PV.js +0 -4
  980. package/components/p-Cz5nLPGT.js +0 -4
  981. package/components/p-D-cP12ZN.js +0 -4
  982. package/components/p-D6NJwNJN.js +0 -4
  983. package/components/p-D6Ynv7Xh.js +0 -4
  984. package/components/p-DHsZWn1l.js +0 -4
  985. package/components/p-DJMZehmW.js +0 -4
  986. package/components/p-DJztqcrH.js +0 -4
  987. package/components/p-DUqnmRFi.js +0 -4
  988. package/components/p-DYdpXONG.js +0 -4
  989. package/components/p-DgbT0exM.js +0 -4
  990. package/components/p-DiVJyqlX.js +0 -4
  991. package/components/p-DvOO1fxp.js +0 -4
  992. package/components/p-FBcnjE5W.js +0 -4
  993. package/components/p-SBseW5KJ.js +0 -4
  994. package/components/p-ZjP4CjeZ.js +0 -4
  995. package/components/p-fpbh6w3f.js +0 -4
  996. package/components/p-kvaDs24J.js +0 -4
  997. package/components/p-vEbVo2hO.js +0 -4
  998. package/dist/cjs/hardware-back-button-C4rMJ5uI.js +0 -121
  999. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1000. package/dist/cjs/ionic-global-Bc3kJi1Z.js +0 -151
  1001. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1002. package/dist/esm/hardware-back-button-CTe4XmL7.js +0 -115
  1003. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1004. package/dist/esm/ionic-global-DfbeLwcV.js +0 -146
  1005. package/dist/esm/validity-DJztqcrH.js +0 -17
  1006. package/dist/ionic/p-031b76f7.entry.js +0 -4
  1007. package/dist/ionic/p-045a6a42.entry.js +0 -4
  1008. package/dist/ionic/p-07506134.entry.js +0 -4
  1009. package/dist/ionic/p-078037da.entry.js +0 -4
  1010. package/dist/ionic/p-084c25b2.entry.js +0 -4
  1011. package/dist/ionic/p-0d8b5c38.entry.js +0 -4
  1012. package/dist/ionic/p-16813ce7.entry.js +0 -4
  1013. package/dist/ionic/p-1b02923f.entry.js +0 -4
  1014. package/dist/ionic/p-1b169fb6.entry.js +0 -4
  1015. package/dist/ionic/p-23ec35e4.entry.js +0 -4
  1016. package/dist/ionic/p-23fac490.entry.js +0 -4
  1017. package/dist/ionic/p-28a9e720.entry.js +0 -4
  1018. package/dist/ionic/p-294f4bb5.entry.js +0 -4
  1019. package/dist/ionic/p-2a68388b.entry.js +0 -4
  1020. package/dist/ionic/p-2f5a8140.entry.js +0 -4
  1021. package/dist/ionic/p-2fd110aa.entry.js +0 -4
  1022. package/dist/ionic/p-301c43f8.entry.js +0 -4
  1023. package/dist/ionic/p-370a60ee.entry.js +0 -4
  1024. package/dist/ionic/p-4c67ce4c.entry.js +0 -4
  1025. package/dist/ionic/p-51c11c47.entry.js +0 -4
  1026. package/dist/ionic/p-53f750a5.entry.js +0 -4
  1027. package/dist/ionic/p-6af16209.entry.js +0 -4
  1028. package/dist/ionic/p-6b701daa.entry.js +0 -4
  1029. package/dist/ionic/p-6b97f2a3.entry.js +0 -4
  1030. package/dist/ionic/p-7620be24.entry.js +0 -4
  1031. package/dist/ionic/p-771b27a5.entry.js +0 -4
  1032. package/dist/ionic/p-7ca71c83.entry.js +0 -4
  1033. package/dist/ionic/p-80cac7a2.entry.js +0 -4
  1034. package/dist/ionic/p-87125490.entry.js +0 -4
  1035. package/dist/ionic/p-8fda6a62.entry.js +0 -4
  1036. package/dist/ionic/p-9833cf63.entry.js +0 -4
  1037. package/dist/ionic/p-9cbc6f1f.entry.js +0 -4
  1038. package/dist/ionic/p-9cdbabbb.entry.js +0 -4
  1039. package/dist/ionic/p-9eeaBrnk.js +0 -4
  1040. package/dist/ionic/p-BAt5H1ac.js +0 -4
  1041. package/dist/ionic/p-BW_TRJm8.js +0 -4
  1042. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1043. package/dist/ionic/p-Bum7H1fw.js +0 -4
  1044. package/dist/ionic/p-BxIcPWoV.js +0 -4
  1045. package/dist/ionic/p-C0JvVFMv.js +0 -4
  1046. package/dist/ionic/p-CGmVTdWh.js +0 -4
  1047. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1048. package/dist/ionic/p-CYbRmDdy.js +0 -4
  1049. package/dist/ionic/p-CYvM5g3q.js +0 -4
  1050. package/dist/ionic/p-CmFz1Mjc.js +0 -4
  1051. package/dist/ionic/p-CtA-yJYy.js +0 -4
  1052. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  1053. package/dist/ionic/p-D8HJQ1qq.js +0 -4
  1054. package/dist/ionic/p-DB_iPQC-.js +0 -4
  1055. package/dist/ionic/p-DJztqcrH.js +0 -4
  1056. package/dist/ionic/p-DLbbmF9h.js +0 -4
  1057. package/dist/ionic/p-DTPR1Wpn.js +0 -4
  1058. package/dist/ionic/p-DV3sJJW8.js +0 -4
  1059. package/dist/ionic/p-DiVJyqlX.js +0 -4
  1060. package/dist/ionic/p-DtVZDHlS.js +0 -4
  1061. package/dist/ionic/p-IGIE5vDm.js +0 -5
  1062. package/dist/ionic/p-NFFyoJ4Q.js +0 -4
  1063. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1064. package/dist/ionic/p-a805674e.entry.js +0 -4
  1065. package/dist/ionic/p-a84f2d21.entry.js +0 -4
  1066. package/dist/ionic/p-aa812c4b.entry.js +0 -4
  1067. package/dist/ionic/p-b325a113.entry.js +0 -4
  1068. package/dist/ionic/p-b5ea8cdd.entry.js +0 -4
  1069. package/dist/ionic/p-b6e0ff03.entry.js +0 -4
  1070. package/dist/ionic/p-bcaa827e.entry.js +0 -4
  1071. package/dist/ionic/p-c3cce9d8.entry.js +0 -4
  1072. package/dist/ionic/p-ca31010f.entry.js +0 -4
  1073. package/dist/ionic/p-d4e8b473.entry.js +0 -4
  1074. package/dist/ionic/p-e0287f41.entry.js +0 -4
  1075. package/dist/ionic/p-e663bc5a.entry.js +0 -4
  1076. package/dist/ionic/p-e6cedcd7.entry.js +0 -4
  1077. package/dist/ionic/p-e863ffe8.entry.js +0 -4
  1078. package/dist/ionic/p-f2deaceb.entry.js +0 -4
  1079. package/dist/ionic/p-f5dfb9a3.entry.js +0 -4
  1080. package/dist/ionic/p-f69a5f71.entry.js +0 -4
  1081. package/dist/ionic/p-f8186550.entry.js +0 -4
  1082. package/dist/ionic/p-fdbc90d4.entry.js +0 -4
  1083. package/dist/ionic/p-gbVXD275.js +0 -4
  1084. package/dist/ionic/p-hNN3VvaC.js +0 -4
  1085. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -89,7 +89,7 @@ export namespace Components {
89
89
  */
90
90
  "disabled": boolean;
91
91
  /**
92
- * The mode determines which platform styles to use.
92
+ * The mode determines the platform behaviors of the component.
93
93
  */
94
94
  "mode"?: "ios" | "md";
95
95
  /**
@@ -97,11 +97,14 @@ export namespace Components {
97
97
  * @default false
98
98
  */
99
99
  "readonly": boolean;
100
+ /**
101
+ * The theme determines the visual appearance of the component.
102
+ */
103
+ "theme"?: "ios" | "md" | "ionic";
100
104
  /**
101
105
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
102
- * @default chevronDown
103
106
  */
104
- "toggleIcon": string;
107
+ "toggleIcon"?: string;
105
108
  /**
106
109
  * The slot inside of `ion-item` to place the toggle icon. Defaults to `"end"`.
107
110
  * @default 'end'
@@ -131,7 +134,7 @@ export namespace Components {
131
134
  "expand": 'compact' | 'inset';
132
135
  "getAccordions": () => Promise<HTMLIonAccordionElement[]>;
133
136
  /**
134
- * The mode determines which platform styles to use.
137
+ * The mode determines the platform behaviors of the component.
135
138
  */
136
139
  "mode"?: "ios" | "md";
137
140
  /**
@@ -147,6 +150,14 @@ export namespace Components {
147
150
  * This method is used to ensure that the value of ion-accordion-group is being set in a valid way. This method should only be called in response to a user generated action.
148
151
  */
149
152
  "requestAccordionToggle": (accordionValue: string | undefined, accordionExpand: boolean) => Promise<void>;
153
+ /**
154
+ * Set to `"soft"` for an accordion group with slightly rounded corners, `"round"` for an accordion group with fully rounded corners, or `"rectangular"` for an accordion group without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes. Only applies when `expand` is set to `"inset"`.
155
+ */
156
+ "shape"?: 'soft' | 'round' | 'rectangular';
157
+ /**
158
+ * The theme determines the visual appearance of the component.
159
+ */
160
+ "theme"?: "ios" | "md" | "ionic";
150
161
  /**
151
162
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
152
163
  */
@@ -210,7 +221,7 @@ export namespace Components {
210
221
  */
211
222
  "leaveAnimation"?: AnimationBuilder;
212
223
  /**
213
- * The mode determines which platform styles to use.
224
+ * The mode determines the platform behaviors of the component.
214
225
  */
215
226
  "mode"?: "ios" | "md";
216
227
  /**
@@ -231,7 +242,11 @@ export namespace Components {
231
242
  */
232
243
  "subHeader"?: string;
233
244
  /**
234
- * If `true`, the action sheet will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
245
+ * The theme determines the visual appearance of the component.
246
+ */
247
+ "theme"?: "ios" | "md" | "ionic";
248
+ /**
249
+ * If `true`, the action sheet will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
235
250
  * @default false
236
251
  */
237
252
  "translucent": boolean;
@@ -307,7 +322,7 @@ export namespace Components {
307
322
  */
308
323
  "message"?: string | IonicSafeString;
309
324
  /**
310
- * The mode determines which platform styles to use.
325
+ * The mode determines the platform behaviors of the component.
311
326
  */
312
327
  "mode"?: "ios" | "md";
313
328
  /**
@@ -328,7 +343,11 @@ export namespace Components {
328
343
  */
329
344
  "subHeader"?: string;
330
345
  /**
331
- * If `true`, the alert will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
346
+ * The theme determines the visual appearance of the component.
347
+ */
348
+ "theme"?: "ios" | "md" | "ionic";
349
+ /**
350
+ * If `true`, the alert will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
332
351
  * @default false
333
352
  */
334
353
  "translucent": boolean;
@@ -338,13 +357,42 @@ export namespace Components {
338
357
  "trigger": string | undefined;
339
358
  }
340
359
  interface IonApp {
360
+ /**
361
+ * The mode determines the platform behaviors of the component.
362
+ */
363
+ "mode"?: "ios" | "md";
341
364
  /**
342
365
  * Used to set focus on an element that uses `ion-focusable`. Do not use this if focusing the element as a result of a keyboard event as the focus utility should handle this for us. This method should be used when we want to programmatically focus an element as a result of another user action. (Ex: We focus the first element inside of a popover when the user presents it, but the popover is not always presented as a result of keyboard action.)
343
366
  * @param elements An array of HTML elements to set focus on.
344
367
  */
345
368
  "setFocus": (elements: HTMLElement[]) => Promise<void>;
369
+ /**
370
+ * The theme determines the visual appearance of the component.
371
+ */
372
+ "theme"?: "ios" | "md" | "ionic";
346
373
  }
347
374
  interface IonAvatar {
375
+ /**
376
+ * If `true`, the user cannot interact with the avatar.
377
+ * @default false
378
+ */
379
+ "disabled": boolean;
380
+ /**
381
+ * The mode determines the platform behaviors of the component.
382
+ */
383
+ "mode"?: "ios" | "md";
384
+ /**
385
+ * Set to `"soft"` for an avatar with slightly rounded corners, `"round"` for an avatar with fully rounded corners, or `"rectangular"` for an avatar without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
386
+ */
387
+ "shape"?: 'soft' | 'round' | 'rectangular';
388
+ /**
389
+ * Set to `"xxsmall"` for the smallest size. Set to `"xsmall"` for a very small size. Set to `"small"` for a compact size. Set to `"medium"` for the default height and width. Set to `"large"` for a larger size. Set to `"xlarge"` for the largest dimensions. Defaults to `"medium"` for the `ionic` theme, undefined for all other themes.
390
+ */
391
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
392
+ /**
393
+ * The theme determines the visual appearance of the component.
394
+ */
395
+ "theme"?: "ios" | "md" | "ionic";
348
396
  }
349
397
  interface IonBackButton {
350
398
  /**
@@ -365,7 +413,7 @@ export namespace Components {
365
413
  */
366
414
  "icon"?: string | null;
367
415
  /**
368
- * The mode determines which platform styles to use.
416
+ * The mode determines the platform behaviors of the component.
369
417
  */
370
418
  "mode"?: "ios" | "md";
371
419
  /**
@@ -376,6 +424,10 @@ export namespace Components {
376
424
  * The text to display in the back button.
377
425
  */
378
426
  "text"?: string | null;
427
+ /**
428
+ * The theme determines the visual appearance of the component.
429
+ */
430
+ "theme"?: "ios" | "md" | "ionic";
379
431
  /**
380
432
  * The type of the button.
381
433
  * @default 'button'
@@ -383,6 +435,10 @@ export namespace Components {
383
435
  "type": 'submit' | 'reset' | 'button';
384
436
  }
385
437
  interface IonBackdrop {
438
+ /**
439
+ * The mode determines the platform behaviors of the component.
440
+ */
441
+ "mode"?: "ios" | "md";
386
442
  /**
387
443
  * If `true`, the backdrop will stop propagation on tap.
388
444
  * @default true
@@ -393,6 +449,10 @@ export namespace Components {
393
449
  * @default true
394
450
  */
395
451
  "tappable": boolean;
452
+ /**
453
+ * The theme determines the visual appearance of the component.
454
+ */
455
+ "theme"?: "ios" | "md" | "ionic";
396
456
  /**
397
457
  * If `true`, the backdrop will be visible.
398
458
  * @default true
@@ -405,9 +465,29 @@ export namespace Components {
405
465
  */
406
466
  "color"?: Color;
407
467
  /**
408
- * The mode determines which platform styles to use.
468
+ * Set to `"bold"` for a badge with vibrant, bold colors or to `"subtle"` for a badge with muted, subtle colors. Only applies to the `ionic` theme.
469
+ */
470
+ "hue"?: 'bold' | 'subtle';
471
+ /**
472
+ * The mode determines the platform behaviors of the component.
409
473
  */
410
474
  "mode"?: "ios" | "md";
475
+ /**
476
+ * Set to `"rectangular"` for non-rounded corners. Set to `"soft"` for slightly rounded corners. Set to `"round"` for fully rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
477
+ */
478
+ "shape"?: 'soft' | 'round | rectangular';
479
+ /**
480
+ * Set to `"small"` for a small badge. Set to `"medium"` for a medium badge. Set to `"large"` for a large badge, when it is empty (no text or icon). Defaults to `"small"` for the `ionic` theme, undefined for all other themes.
481
+ */
482
+ "size"?: 'small' | 'medium' | 'large';
483
+ /**
484
+ * The theme determines the visual appearance of the component.
485
+ */
486
+ "theme"?: "ios" | "md" | "ionic";
487
+ /**
488
+ * Set to `"top"` to position the badge on top right absolute position of the parent element. Set to `"bottom"` to position the badge on bottom right absolute position of the parent element.
489
+ */
490
+ "vertical"?: 'top' | 'bottom';
411
491
  }
412
492
  interface IonBreadcrumb {
413
493
  /**
@@ -438,7 +518,7 @@ export namespace Components {
438
518
  "href": string | undefined;
439
519
  "last": boolean;
440
520
  /**
441
- * The mode determines which platform styles to use.
521
+ * The mode determines the platform behaviors of the component.
442
522
  */
443
523
  "mode"?: "ios" | "md";
444
524
  /**
@@ -463,6 +543,10 @@ export namespace Components {
463
543
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
464
544
  */
465
545
  "target": string | undefined;
546
+ /**
547
+ * The theme determines the visual appearance of the component.
548
+ */
549
+ "theme"?: "ios" | "md" | "ionic";
466
550
  }
467
551
  interface IonBreadcrumbs {
468
552
  /**
@@ -484,9 +568,13 @@ export namespace Components {
484
568
  */
485
569
  "maxItems"?: number;
486
570
  /**
487
- * The mode determines which platform styles to use.
571
+ * The mode determines the platform behaviors of the component.
488
572
  */
489
573
  "mode"?: "ios" | "md";
574
+ /**
575
+ * The theme determines the visual appearance of the component.
576
+ */
577
+ "theme"?: "ios" | "md" | "ionic";
490
578
  }
491
579
  interface IonButton {
492
580
  /**
@@ -512,7 +600,7 @@ export namespace Components {
512
600
  */
513
601
  "expand"?: 'full' | 'block';
514
602
  /**
515
- * Set to `"clear"` for a transparent button that resembles a flat button, to `"outline"` for a transparent button with a border, or to `"solid"` for a button with a filled background. The default fill is `"solid"` except inside of a toolbar, where the default is `"clear"`.
603
+ * Set to `"clear"` for a transparent button that resembles a flat button, to `"outline"` for a transparent button with a border, or to `"solid"` for a button with a filled background. The default fill is `"solid"` except when inside of a buttons or datetime component, where the default fill is `"clear"`.
516
604
  */
517
605
  "fill"?: 'clear' | 'outline' | 'solid' | 'default';
518
606
  /**
@@ -524,7 +612,7 @@ export namespace Components {
524
612
  */
525
613
  "href": string | undefined;
526
614
  /**
527
- * The mode determines which platform styles to use.
615
+ * The mode determines the platform behaviors of the component.
528
616
  */
529
617
  "mode"?: "ios" | "md";
530
618
  /**
@@ -541,13 +629,13 @@ export namespace Components {
541
629
  */
542
630
  "routerDirection": RouterDirection;
543
631
  /**
544
- * Set to `"round"` for a button with more rounded corners.
632
+ * Set to `"soft"` for a button with slightly rounded corners, `"round"` for a button with fully rounded corners, or `"rectangular"` for a button without rounded corners. Defaults to `"soft"` for the `"ios"` theme and `"round"` for all other themes.
545
633
  */
546
- "shape"?: 'round';
634
+ "shape"?: 'soft' | 'round' | 'rectangular';
547
635
  /**
548
- * Set to `"small"` for a button with less height and padding, to `"default"` for a button with the default height and padding, or to `"large"` for a button with more height and padding. By default the size is unset, unless the button is inside of an item, where the size is `"small"` by default. Set the size to `"default"` inside of an item to make it a standard size button.
636
+ * Set to `"small"` for a button with less height and padding, to `"medium"` for a button with the medium height and padding, or to `"large"` for a button with more height and padding. By default the size is unset, unless the button is inside of an item, where the size is `"small"` by default. Set the size to `"default"` inside of an item to make it a standard size button.
549
637
  */
550
- "size"?: 'small' | 'default' | 'large';
638
+ "size"?: 'small' | 'default' | 'medium' | 'large';
551
639
  /**
552
640
  * If `true`, activates a button with a heavier font weight.
553
641
  * @default false
@@ -557,6 +645,10 @@ export namespace Components {
557
645
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
558
646
  */
559
647
  "target": string | undefined;
648
+ /**
649
+ * The theme determines the visual appearance of the component.
650
+ */
651
+ "theme"?: "ios" | "md" | "ionic";
560
652
  /**
561
653
  * The type of the button.
562
654
  * @default 'button'
@@ -565,10 +657,18 @@ export namespace Components {
565
657
  }
566
658
  interface IonButtons {
567
659
  /**
568
- * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in `ios` mode with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
660
+ * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in the `ios` theme with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
569
661
  * @default false
570
662
  */
571
663
  "collapse": boolean;
664
+ /**
665
+ * The mode determines the platform behaviors of the component.
666
+ */
667
+ "mode"?: "ios" | "md";
668
+ /**
669
+ * The theme determines the visual appearance of the component.
670
+ */
671
+ "theme"?: "ios" | "md" | "ionic";
572
672
  }
573
673
  interface IonCard {
574
674
  /**
@@ -594,7 +694,7 @@ export namespace Components {
594
694
  */
595
695
  "href": string | undefined;
596
696
  /**
597
- * The mode determines which platform styles to use.
697
+ * The mode determines the platform behaviors of the component.
598
698
  */
599
699
  "mode"?: "ios" | "md";
600
700
  /**
@@ -610,10 +710,19 @@ export namespace Components {
610
710
  * @default 'forward'
611
711
  */
612
712
  "routerDirection": RouterDirection;
713
+ /**
714
+ * Set to `"soft"` for a card with slightly rounded corners, `"round"` for a card with more rounded corners, or `"rectangular"` for a card without rounded corners. Defaults to `"round"`.
715
+ * @default 'round'
716
+ */
717
+ "shape"?: 'soft' | 'round' | 'rectangular';
613
718
  /**
614
719
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
615
720
  */
616
721
  "target": string | undefined;
722
+ /**
723
+ * The theme determines the visual appearance of the component.
724
+ */
725
+ "theme"?: "ios" | "md" | "ionic";
617
726
  /**
618
727
  * The type of the button. Only used when an `onclick` or `button` property is present.
619
728
  * @default 'button'
@@ -622,9 +731,13 @@ export namespace Components {
622
731
  }
623
732
  interface IonCardContent {
624
733
  /**
625
- * The mode determines which platform styles to use.
734
+ * The mode determines the platform behaviors of the component.
626
735
  */
627
736
  "mode"?: "ios" | "md";
737
+ /**
738
+ * The theme determines the visual appearance of the component.
739
+ */
740
+ "theme"?: "ios" | "md" | "ionic";
628
741
  }
629
742
  interface IonCardHeader {
630
743
  /**
@@ -632,11 +745,15 @@ export namespace Components {
632
745
  */
633
746
  "color"?: Color;
634
747
  /**
635
- * The mode determines which platform styles to use.
748
+ * The mode determines the platform behaviors of the component.
636
749
  */
637
750
  "mode"?: "ios" | "md";
638
751
  /**
639
- * If `true`, the card header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
752
+ * The theme determines the visual appearance of the component.
753
+ */
754
+ "theme"?: "ios" | "md" | "ionic";
755
+ /**
756
+ * If `true`, the card header will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
640
757
  * @default false
641
758
  */
642
759
  "translucent": boolean;
@@ -647,9 +764,13 @@ export namespace Components {
647
764
  */
648
765
  "color"?: Color;
649
766
  /**
650
- * The mode determines which platform styles to use.
767
+ * The mode determines the platform behaviors of the component.
651
768
  */
652
769
  "mode"?: "ios" | "md";
770
+ /**
771
+ * The theme determines the visual appearance of the component.
772
+ */
773
+ "theme"?: "ios" | "md" | "ionic";
653
774
  }
654
775
  interface IonCardTitle {
655
776
  /**
@@ -657,9 +778,13 @@ export namespace Components {
657
778
  */
658
779
  "color"?: Color;
659
780
  /**
660
- * The mode determines which platform styles to use.
781
+ * The mode determines the platform behaviors of the component.
661
782
  */
662
783
  "mode"?: "ios" | "md";
784
+ /**
785
+ * The theme determines the visual appearance of the component.
786
+ */
787
+ "theme"?: "ios" | "md" | "ionic";
663
788
  }
664
789
  interface IonCheckbox {
665
790
  /**
@@ -703,7 +828,7 @@ export namespace Components {
703
828
  */
704
829
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
705
830
  /**
706
- * The mode determines which platform styles to use.
831
+ * The mode determines the platform behaviors of the component.
707
832
  */
708
833
  "mode"?: "ios" | "md";
709
834
  /**
@@ -717,6 +842,19 @@ export namespace Components {
717
842
  */
718
843
  "required": boolean;
719
844
  "setFocus": () => Promise<void>;
845
+ /**
846
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
847
+ * @default 'soft'
848
+ */
849
+ "shape"?: 'soft' | 'rectangular';
850
+ /**
851
+ * Set to `"small"` for a checkbox with less height and padding.
852
+ */
853
+ "size"?: 'small';
854
+ /**
855
+ * The theme determines the visual appearance of the component.
856
+ */
857
+ "theme"?: "ios" | "md" | "ionic";
720
858
  /**
721
859
  * The value of the checkbox does not mean if it's checked or not, use the `checked` property for that. The value of a checkbox is analogous to the value of an `<input type="checkbox">`, it's only used when the checkbox participates in a native `<form>`.
722
860
  * @default 'on'
@@ -734,7 +872,12 @@ export namespace Components {
734
872
  */
735
873
  "disabled": boolean;
736
874
  /**
737
- * The mode determines which platform styles to use.
875
+ * Set to `"bold"` for a chip with vibrant, bold colors or to `"subtle"` for a chip with muted, subtle colors. Only applies to the `ionic` theme.
876
+ * @default 'subtle'
877
+ */
878
+ "hue"?: 'bold' | 'subtle';
879
+ /**
880
+ * The mode determines the platform behaviors of the component.
738
881
  */
739
882
  "mode"?: "ios" | "md";
740
883
  /**
@@ -742,8 +885,24 @@ export namespace Components {
742
885
  * @default false
743
886
  */
744
887
  "outline": boolean;
888
+ /**
889
+ * Set to `"soft"` for a chip with slightly rounded corners, `"round"` for a chip with fully rounded corners, or `"rectangular"` for a chip without rounded corners. Defaults to `"round"` for the `"ionic"` theme and `"soft"` for all other themes.
890
+ */
891
+ "shape"?: 'soft' | 'round' | 'rectangular';
892
+ /**
893
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
894
+ */
895
+ "size"?: 'small' | 'large';
896
+ /**
897
+ * The theme determines the visual appearance of the component.
898
+ */
899
+ "theme"?: "ios" | "md" | "ionic";
745
900
  }
746
901
  interface IonCol {
902
+ /**
903
+ * The mode determines the platform behaviors of the component.
904
+ */
905
+ "mode"?: "ios" | "md";
747
906
  /**
748
907
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
749
908
  */
@@ -768,52 +927,88 @@ export namespace Components {
768
927
  * The amount to offset the column for xs screens, in terms of how many columns it should shift to the end of the total available.
769
928
  */
770
929
  "offsetXs"?: string;
930
+ /**
931
+ * The order of the column, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
932
+ */
933
+ "order"?: string;
934
+ /**
935
+ * The order of the column for lg screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
936
+ */
937
+ "orderLg"?: string;
938
+ /**
939
+ * The order of the column for md screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
940
+ */
941
+ "orderMd"?: string;
942
+ /**
943
+ * The order of the column for sm screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
944
+ */
945
+ "orderSm"?: string;
946
+ /**
947
+ * The order of the column for xl screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
948
+ */
949
+ "orderXl"?: string;
950
+ /**
951
+ * The order of the column for xs screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
952
+ */
953
+ "orderXs"?: string;
771
954
  /**
772
955
  * The amount to pull the column, in terms of how many columns it should shift to the start of the total available.
956
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
773
957
  */
774
958
  "pull"?: string;
775
959
  /**
776
960
  * The amount to pull the column for lg screens, in terms of how many columns it should shift to the start of the total available.
961
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
777
962
  */
778
963
  "pullLg"?: string;
779
964
  /**
780
965
  * The amount to pull the column for md screens, in terms of how many columns it should shift to the start of the total available.
966
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
781
967
  */
782
968
  "pullMd"?: string;
783
969
  /**
784
970
  * The amount to pull the column for sm screens, in terms of how many columns it should shift to the start of the total available.
971
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
785
972
  */
786
973
  "pullSm"?: string;
787
974
  /**
788
975
  * The amount to pull the column for xl screens, in terms of how many columns it should shift to the start of the total available.
976
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
789
977
  */
790
978
  "pullXl"?: string;
791
979
  /**
792
980
  * The amount to pull the column for xs screens, in terms of how many columns it should shift to the start of the total available.
981
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
793
982
  */
794
983
  "pullXs"?: string;
795
984
  /**
796
985
  * The amount to push the column, in terms of how many columns it should shift to the end of the total available.
986
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
797
987
  */
798
988
  "push"?: string;
799
989
  /**
800
990
  * The amount to push the column for lg screens, in terms of how many columns it should shift to the end of the total available.
991
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
801
992
  */
802
993
  "pushLg"?: string;
803
994
  /**
804
995
  * The amount to push the column for md screens, in terms of how many columns it should shift to the end of the total available.
996
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
805
997
  */
806
998
  "pushMd"?: string;
807
999
  /**
808
1000
  * The amount to push the column for sm screens, in terms of how many columns it should shift to the end of the total available.
1001
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
809
1002
  */
810
1003
  "pushSm"?: string;
811
1004
  /**
812
1005
  * The amount to push the column for xl screens, in terms of how many columns it should shift to the end of the total available.
1006
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
813
1007
  */
814
1008
  "pushXl"?: string;
815
1009
  /**
816
1010
  * The amount to push the column for xs screens, in terms of how many columns it should shift to the end of the total available.
1011
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
817
1012
  */
818
1013
  "pushXs"?: string;
819
1014
  /**
@@ -840,6 +1035,10 @@ export namespace Components {
840
1035
  * The size of the column for xs screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
841
1036
  */
842
1037
  "sizeXs"?: string;
1038
+ /**
1039
+ * The theme determines the visual appearance of the component.
1040
+ */
1041
+ "theme"?: "ios" | "md" | "ionic";
843
1042
  }
844
1043
  interface IonContent {
845
1044
  /**
@@ -868,6 +1067,10 @@ export namespace Components {
868
1067
  * Get the element where the actual scrolling takes place. This element can be used to subscribe to `scroll` events or manually modify `scrollTop`. However, it's recommended to use the API provided by `ion-content`: i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events and `scrollToPoint()` to scroll the content into a certain point.
869
1068
  */
870
1069
  "getScrollElement": () => Promise<HTMLElement>;
1070
+ /**
1071
+ * The mode determines the platform behaviors of the component.
1072
+ */
1073
+ "mode"?: "ios" | "md";
871
1074
  /**
872
1075
  * Recalculate content dimensions. Called by overlays (e.g., popover) when sibling elements like headers or footers have finished rendering and their heights are available, ensuring accurate offset-top calculations.
873
1076
  */
@@ -911,6 +1114,10 @@ export namespace Components {
911
1114
  * @default true
912
1115
  */
913
1116
  "scrollY": boolean;
1117
+ /**
1118
+ * The theme determines the visual appearance of the component.
1119
+ */
1120
+ "theme"?: "ios" | "md" | "ionic";
914
1121
  }
915
1122
  interface IonDatetime {
916
1123
  /**
@@ -995,7 +1202,7 @@ export namespace Components {
995
1202
  */
996
1203
  "minuteValues"?: number[] | number | string;
997
1204
  /**
998
- * The mode determines which platform styles to use.
1205
+ * The mode determines the platform behaviors of the component.
999
1206
  */
1000
1207
  "mode"?: "ios" | "md";
1001
1208
  /**
@@ -1062,6 +1269,10 @@ export namespace Components {
1062
1269
  * @default 'fixed'
1063
1270
  */
1064
1271
  "size": 'cover' | 'fixed';
1272
+ /**
1273
+ * The theme determines the visual appearance of the component.
1274
+ */
1275
+ "theme"?: "ios" | "md" | "ionic";
1065
1276
  /**
1066
1277
  * A callback used to format the header text that shows how many dates are selected. Only used if there are 0 or more than 1 selected (i.e. unused for exactly 1). By default, the header text is set to "numberOfDates days". See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this if you need to access `this` from within the callback.
1067
1278
  */
@@ -1091,9 +1302,25 @@ export namespace Components {
1091
1302
  */
1092
1303
  "disabled": boolean;
1093
1304
  /**
1094
- * The mode determines which platform styles to use.
1305
+ * The mode determines the platform behaviors of the component.
1095
1306
  */
1096
1307
  "mode"?: "ios" | "md";
1308
+ /**
1309
+ * The theme determines the visual appearance of the component.
1310
+ */
1311
+ "theme"?: "ios" | "md" | "ionic";
1312
+ }
1313
+ interface IonDivider {
1314
+ /**
1315
+ * If `true`, the divider will have horizontal margins By default, it's `false`
1316
+ * @default false
1317
+ */
1318
+ "inset": boolean;
1319
+ /**
1320
+ * Set to `"xxsmall"` for the smallest spacing. Set to "xsmall" for very small spacing. Set to `"small"` for small spacing. Set to "medium" for medium spacing. Set to "large" for large spacing. Set to `"xlarge"` for the largest spacing. Defaults to `"medium"`.
1321
+ * @default 'medium'
1322
+ */
1323
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
1097
1324
  }
1098
1325
  interface IonFab {
1099
1326
  /**
@@ -1114,6 +1341,14 @@ export namespace Components {
1114
1341
  * Where to align the fab horizontally in the viewport.
1115
1342
  */
1116
1343
  "horizontal"?: 'start' | 'end' | 'center';
1344
+ /**
1345
+ * The mode determines the platform behaviors of the component.
1346
+ */
1347
+ "mode"?: "ios" | "md";
1348
+ /**
1349
+ * The theme determines the visual appearance of the component.
1350
+ */
1351
+ "theme"?: "ios" | "md" | "ionic";
1117
1352
  /**
1118
1353
  * Opens/Closes the FAB list container.
1119
1354
  */
@@ -1131,9 +1366,8 @@ export namespace Components {
1131
1366
  "activated": boolean;
1132
1367
  /**
1133
1368
  * The icon name to use for the close icon. This will appear when the fab button is pressed. Only applies if it is the main button inside of a fab containing a fab list.
1134
- * @default close
1135
1369
  */
1136
- "closeIcon": string;
1370
+ "closeIcon"?: string;
1137
1371
  /**
1138
1372
  * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1139
1373
  */
@@ -1152,7 +1386,7 @@ export namespace Components {
1152
1386
  */
1153
1387
  "href": string | undefined;
1154
1388
  /**
1155
- * The mode determines which platform styles to use.
1389
+ * The mode determines the platform behaviors of the component.
1156
1390
  */
1157
1391
  "mode"?: "ios" | "md";
1158
1392
  /**
@@ -1182,7 +1416,11 @@ export namespace Components {
1182
1416
  */
1183
1417
  "target": string | undefined;
1184
1418
  /**
1185
- * If `true`, the fab button will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1419
+ * The theme determines the visual appearance of the component.
1420
+ */
1421
+ "theme"?: "ios" | "md" | "ionic";
1422
+ /**
1423
+ * If `true`, the fab button will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1186
1424
  * @default false
1187
1425
  */
1188
1426
  "translucent": boolean;
@@ -1198,23 +1436,35 @@ export namespace Components {
1198
1436
  * @default false
1199
1437
  */
1200
1438
  "activated": boolean;
1439
+ /**
1440
+ * The mode determines the platform behaviors of the component.
1441
+ */
1442
+ "mode"?: "ios" | "md";
1201
1443
  /**
1202
1444
  * The side the fab list will show on relative to the main fab button.
1203
1445
  * @default 'bottom'
1204
1446
  */
1205
1447
  "side": 'start' | 'end' | 'top' | 'bottom';
1448
+ /**
1449
+ * The theme determines the visual appearance of the component.
1450
+ */
1451
+ "theme"?: "ios" | "md" | "ionic";
1206
1452
  }
1207
1453
  interface IonFooter {
1208
1454
  /**
1209
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
1455
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
1210
1456
  */
1211
1457
  "collapse"?: 'fade';
1212
1458
  /**
1213
- * The mode determines which platform styles to use.
1459
+ * The mode determines the platform behaviors of the component.
1214
1460
  */
1215
1461
  "mode"?: "ios" | "md";
1216
1462
  /**
1217
- * If `true`, the footer will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
1463
+ * The theme determines the visual appearance of the component.
1464
+ */
1465
+ "theme"?: "ios" | "md" | "ionic";
1466
+ /**
1467
+ * If `true`, the footer will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
1218
1468
  * @default false
1219
1469
  */
1220
1470
  "translucent": boolean;
@@ -1225,18 +1475,35 @@ export namespace Components {
1225
1475
  * @default false
1226
1476
  */
1227
1477
  "fixed": boolean;
1478
+ /**
1479
+ * The mode determines the platform behaviors of the component.
1480
+ */
1481
+ "mode"?: "ios" | "md";
1482
+ /**
1483
+ * The theme determines the visual appearance of the component.
1484
+ */
1485
+ "theme"?: "ios" | "md" | "ionic";
1228
1486
  }
1229
1487
  interface IonHeader {
1230
1488
  /**
1231
- * Describes the scroll effect that will be applied to the header. Only applies in iOS mode. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
1489
+ * Describes the scroll effect that will be applied to the header. Only applies when the theme is `"ios"`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
1232
1490
  */
1233
1491
  "collapse"?: 'condense' | 'fade';
1234
1492
  /**
1235
- * The mode determines which platform styles to use.
1493
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
1494
+ * @default false
1495
+ */
1496
+ "divider": boolean;
1497
+ /**
1498
+ * The mode determines the platform behaviors of the component.
1236
1499
  */
1237
1500
  "mode"?: "ios" | "md";
1238
1501
  /**
1239
- * If `true`, the header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
1502
+ * The theme determines the visual appearance of the component.
1503
+ */
1504
+ "theme"?: "ios" | "md" | "ionic";
1505
+ /**
1506
+ * If `true`, the header will be translucent. Only applies when the theme is `"ios"` or `"ionic"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
1240
1507
  * @default false
1241
1508
  */
1242
1509
  "translucent": boolean;
@@ -1246,10 +1513,18 @@ export namespace Components {
1246
1513
  * This attribute defines the alternative text describing the image. Users will see this text displayed if the image URL is wrong, the image is not in one of the supported formats, or if the image is not yet downloaded.
1247
1514
  */
1248
1515
  "alt"?: string;
1516
+ /**
1517
+ * The mode determines the platform behaviors of the component.
1518
+ */
1519
+ "mode"?: "ios" | "md";
1249
1520
  /**
1250
1521
  * The image URL. This attribute is mandatory for the `<img>` element.
1251
1522
  */
1252
1523
  "src"?: string;
1524
+ /**
1525
+ * The theme determines the visual appearance of the component.
1526
+ */
1527
+ "theme"?: "ios" | "md" | "ionic";
1253
1528
  }
1254
1529
  interface IonInfiniteScroll {
1255
1530
  /**
@@ -1261,11 +1536,24 @@ export namespace Components {
1261
1536
  * @default false
1262
1537
  */
1263
1538
  "disabled": boolean;
1539
+ /**
1540
+ * The mode determines the platform behaviors of the component.
1541
+ */
1542
+ "mode"?: "ios" | "md";
1264
1543
  /**
1265
1544
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
1266
1545
  * @default 'bottom'
1267
1546
  */
1268
1547
  "position": 'top' | 'bottom';
1548
+ /**
1549
+ * If `true`, the infinite scroll will preserve the scroll position when the content is re-rendered. This is useful when the content is re-rendered with new keys, and the scroll position should be preserved.
1550
+ * @default false
1551
+ */
1552
+ "preserveRerenderScrollPosition": boolean;
1553
+ /**
1554
+ * The theme determines the visual appearance of the component.
1555
+ */
1556
+ "theme"?: "ios" | "md" | "ionic";
1269
1557
  /**
1270
1558
  * The threshold distance from the bottom of the content to call the `infinite` output event when scrolled. The threshold value can be either a percent, or in pixels. For example, use the value of `10%` for the `infinite` output event to get called when the user has scrolled 10% from the bottom of the page. Use the value `100px` when the scroll is within 100 pixels from the bottom of the page.
1271
1559
  * @default '15%'
@@ -1281,6 +1569,14 @@ export namespace Components {
1281
1569
  * Optional text to display while loading. `loadingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) This property accepts custom HTML as a string. Content is parsed as plaintext by default. `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config before custom HTML can be used.
1282
1570
  */
1283
1571
  "loadingText"?: string | IonicSafeString;
1572
+ /**
1573
+ * The mode determines the platform behaviors of the component.
1574
+ */
1575
+ "mode"?: "ios" | "md";
1576
+ /**
1577
+ * The theme determines the visual appearance of the component.
1578
+ */
1579
+ "theme"?: "ios" | "md" | "ionic";
1284
1580
  }
1285
1581
  interface IonInput {
1286
1582
  /**
@@ -1347,7 +1643,7 @@ export namespace Components {
1347
1643
  */
1348
1644
  "errorText"?: string;
1349
1645
  /**
1350
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
1646
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available when the theme is `"md"`.
1351
1647
  */
1352
1648
  "fill"?: 'outline' | 'solid';
1353
1649
  /**
@@ -1367,10 +1663,9 @@ export namespace Components {
1367
1663
  */
1368
1664
  "label"?: string;
1369
1665
  /**
1370
- * Where to place the label relative to the input. `"start"`: The label will appear to the left of the input in LTR and to the right in RTL. `"end"`: The label will appear to the right of the input in LTR and to the left in RTL. `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input. `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
1371
- * @default 'start'
1666
+ * Where to place the label relative to the input. `"start"`: The label will appear to the left of the input in LTR and to the right in RTL. `"end"`: The label will appear to the right of the input in LTR and to the left in RTL. `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input. `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("..."). Defaults to "stacked" for the ionic theme, or "start" for all other themes. In the ionic theme, only the values "stacked" and "floating" are supported.
1372
1667
  */
1373
- "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1668
+ "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1374
1669
  /**
1375
1670
  * The maximum value, which must not be less than its minimum (min attribute) value.
1376
1671
  */
@@ -1388,7 +1683,7 @@ export namespace Components {
1388
1683
  */
1389
1684
  "minlength"?: number;
1390
1685
  /**
1391
- * The mode determines which platform styles to use.
1686
+ * The mode determines the platform behaviors of the component.
1392
1687
  */
1393
1688
  "mode"?: "ios" | "md";
1394
1689
  /**
@@ -1423,9 +1718,14 @@ export namespace Components {
1423
1718
  */
1424
1719
  "setFocus": () => Promise<void>;
1425
1720
  /**
1426
- * The shape of the input. If "round" it will have an increased border radius.
1721
+ * Set to `"soft"` for an input with slightly rounded corners, `"round"` for an input with fully rounded corners, or `"rectangular"` for an input without rounded corners. Defaults to `"round"` for the ionic theme, and `undefined` for all other themes. Only applies when the fill is set to `"solid"` or `"outline"`.
1427
1722
  */
1428
- "shape"?: 'round';
1723
+ "shape"?: 'soft' | 'round' | 'rectangular';
1724
+ /**
1725
+ * The size of the input. If "large", it will have an increased height. By default the size is medium. This property only applies to the `"ionic"` theme.
1726
+ * @default 'medium'
1727
+ */
1728
+ "size"?: 'medium' | 'large' | 'xlarge';
1429
1729
  /**
1430
1730
  * If `true`, the element will have its spelling and grammar checked.
1431
1731
  * @default false
@@ -1435,6 +1735,10 @@ export namespace Components {
1435
1735
  * Works with the min and max attributes to limit the increments at which a value can be set. Possible values are: `"any"` or a positive floating point number.
1436
1736
  */
1437
1737
  "step"?: string;
1738
+ /**
1739
+ * The theme determines the visual appearance of the component.
1740
+ */
1741
+ "theme"?: "ios" | "md" | "ionic";
1438
1742
  /**
1439
1743
  * The type of control to display. The default type is text.
1440
1744
  * @default 'text'
@@ -1475,6 +1779,10 @@ export namespace Components {
1475
1779
  * @default 4
1476
1780
  */
1477
1781
  "length": number;
1782
+ /**
1783
+ * The mode determines the platform behaviors of the component.
1784
+ */
1785
+ "mode"?: "ios" | "md";
1478
1786
  /**
1479
1787
  * A regex pattern string for allowed characters. Defaults based on type. For numbers (`type="number"`): `"[\p{N}]"` For text (`type="text"`): `"[\p{L}\p{N}]"`
1480
1788
  */
@@ -1503,6 +1811,10 @@ export namespace Components {
1503
1811
  * @default 'medium'
1504
1812
  */
1505
1813
  "size": 'small' | 'medium' | 'large';
1814
+ /**
1815
+ * The theme determines the visual appearance of the component.
1816
+ */
1817
+ "theme"?: "ios" | "md" | "ionic";
1506
1818
  /**
1507
1819
  * The type of input allowed in the input boxes.
1508
1820
  * @default 'number'
@@ -1547,14 +1859,13 @@ export namespace Components {
1547
1859
  */
1548
1860
  "color"?: Color;
1549
1861
  /**
1550
- * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `mode` is `ios` and an `href` or `button` property is present.
1862
+ * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `theme` is `"ios"` and an `href` or `button` property is present.
1551
1863
  */
1552
1864
  "detail"?: boolean;
1553
1865
  /**
1554
1866
  * The icon to use when `detail` is set to `true`.
1555
- * @default chevronForward
1556
1867
  */
1557
- "detailIcon": string;
1868
+ "detailIcon"?: string;
1558
1869
  /**
1559
1870
  * If `true`, the user cannot interact with the item.
1560
1871
  * @default false
@@ -1573,7 +1884,7 @@ export namespace Components {
1573
1884
  */
1574
1885
  "lines"?: 'full' | 'inset' | 'none';
1575
1886
  /**
1576
- * The mode determines which platform styles to use.
1887
+ * The mode determines the platform behaviors of the component.
1577
1888
  */
1578
1889
  "mode"?: "ios" | "md";
1579
1890
  /**
@@ -1593,6 +1904,10 @@ export namespace Components {
1593
1904
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1594
1905
  */
1595
1906
  "target": string | undefined;
1907
+ /**
1908
+ * The theme determines the visual appearance of the component.
1909
+ */
1910
+ "theme"?: "ios" | "md" | "ionic";
1596
1911
  /**
1597
1912
  * The type of the button. Only used when an `onclick` or `button` property is present.
1598
1913
  * @default 'button'
@@ -1605,7 +1920,7 @@ export namespace Components {
1605
1920
  */
1606
1921
  "color"?: Color;
1607
1922
  /**
1608
- * The mode determines which platform styles to use.
1923
+ * The mode determines the platform behaviors of the component.
1609
1924
  */
1610
1925
  "mode"?: "ios" | "md";
1611
1926
  /**
@@ -1613,8 +1928,20 @@ export namespace Components {
1613
1928
  * @default false
1614
1929
  */
1615
1930
  "sticky": boolean;
1931
+ /**
1932
+ * The theme determines the visual appearance of the component.
1933
+ */
1934
+ "theme"?: "ios" | "md" | "ionic";
1616
1935
  }
1617
1936
  interface IonItemGroup {
1937
+ /**
1938
+ * The mode determines the platform behaviors of the component.
1939
+ */
1940
+ "mode"?: "ios" | "md";
1941
+ /**
1942
+ * The theme determines the visual appearance of the component.
1943
+ */
1944
+ "theme"?: "ios" | "md" | "ionic";
1618
1945
  }
1619
1946
  interface IonItemOption {
1620
1947
  /**
@@ -1640,17 +1967,30 @@ export namespace Components {
1640
1967
  */
1641
1968
  "href": string | undefined;
1642
1969
  /**
1643
- * The mode determines which platform styles to use.
1970
+ * Set to `"bold"` for an option with vibrant, bold colors or to `"subtle"` for an option with muted, subtle colors. Only applies to the `ionic` theme.
1971
+ * @default 'subtle'
1972
+ */
1973
+ "hue"?: 'bold' | 'subtle';
1974
+ /**
1975
+ * The mode determines the platform behaviors of the component.
1644
1976
  */
1645
1977
  "mode"?: "ios" | "md";
1646
1978
  /**
1647
1979
  * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
1648
1980
  */
1649
1981
  "rel": string | undefined;
1982
+ /**
1983
+ * Set to `"rectangular"` for non-rounded corners. Set to `"soft"` for slightly rounded corners. Set to `"round"` for fully rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
1984
+ */
1985
+ "shape"?: 'soft' | 'round' | 'rectangular';
1650
1986
  /**
1651
1987
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1652
1988
  */
1653
1989
  "target": string | undefined;
1990
+ /**
1991
+ * The theme determines the visual appearance of the component.
1992
+ */
1993
+ "theme"?: "ios" | "md" | "ionic";
1654
1994
  /**
1655
1995
  * The type of the button.
1656
1996
  * @default 'button'
@@ -1659,11 +1999,19 @@ export namespace Components {
1659
1999
  }
1660
2000
  interface IonItemOptions {
1661
2001
  "fireSwipeEvent": () => Promise<void>;
2002
+ /**
2003
+ * The mode determines the platform behaviors of the component.
2004
+ */
2005
+ "mode"?: "ios" | "md";
1662
2006
  /**
1663
2007
  * The side the option button should be on. Possible values: `"start"` and `"end"`. If you have multiple `ion-item-options`, a side must be provided for each.
1664
2008
  * @default 'end'
1665
2009
  */
1666
2010
  "side": Side;
2011
+ /**
2012
+ * The theme determines the visual appearance of the component.
2013
+ */
2014
+ "theme"?: "ios" | "md" | "ionic";
1667
2015
  }
1668
2016
  interface IonItemSliding {
1669
2017
  /**
@@ -1687,11 +2035,19 @@ export namespace Components {
1687
2035
  * Get the ratio of the open amount of the item compared to the width of the options. If the number returned is positive, then the options on the right side are open. If the number returned is negative, then the options on the left side are open. If the absolute value of the number is greater than 1, the item is open more than the width of the options.
1688
2036
  */
1689
2037
  "getSlidingRatio": () => Promise<number>;
2038
+ /**
2039
+ * The mode determines the platform behaviors of the component.
2040
+ */
2041
+ "mode"?: "ios" | "md";
1690
2042
  /**
1691
2043
  * Open the sliding item.
1692
2044
  * @param side The side of the options to open. If a side is not provided, it will open the first set of options it finds within the item.
1693
2045
  */
1694
2046
  "open": (side: Side | undefined) => Promise<void>;
2047
+ /**
2048
+ * The theme determines the visual appearance of the component.
2049
+ */
2050
+ "theme"?: "ios" | "md" | "ionic";
1695
2051
  }
1696
2052
  interface IonLabel {
1697
2053
  /**
@@ -1699,13 +2055,17 @@ export namespace Components {
1699
2055
  */
1700
2056
  "color"?: Color;
1701
2057
  /**
1702
- * The mode determines which platform styles to use.
2058
+ * The mode determines the platform behaviors of the component.
1703
2059
  */
1704
2060
  "mode"?: "ios" | "md";
1705
2061
  /**
1706
2062
  * The position determines where and how the label behaves inside an item.
1707
2063
  */
1708
2064
  "position"?: 'fixed' | 'stacked' | 'floating';
2065
+ /**
2066
+ * The theme determines the visual appearance of the component.
2067
+ */
2068
+ "theme"?: "ios" | "md" | "ionic";
1709
2069
  }
1710
2070
  interface IonList {
1711
2071
  /**
@@ -1722,9 +2082,17 @@ export namespace Components {
1722
2082
  */
1723
2083
  "lines"?: 'full' | 'inset' | 'none';
1724
2084
  /**
1725
- * The mode determines which platform styles to use.
2085
+ * The mode determines the platform behaviors of the component.
1726
2086
  */
1727
2087
  "mode"?: "ios" | "md";
2088
+ /**
2089
+ * Set to `"soft"` for slightly rounded corners, `"round"` for fully rounded corners, or `"rectangular"` for no rounded corners. Defaults to `"round"` for the `ionic` theme when inset is `true` defaults to `"rectangular"` for the `ionic` theme when inset is `false`, undefined for all other themes.
2090
+ */
2091
+ "shape"?: 'soft' | 'round' | 'rectangular';
2092
+ /**
2093
+ * The theme determines the visual appearance of the component.
2094
+ */
2095
+ "theme"?: "ios" | "md" | "ionic";
1728
2096
  }
1729
2097
  interface IonListHeader {
1730
2098
  /**
@@ -1736,9 +2104,13 @@ export namespace Components {
1736
2104
  */
1737
2105
  "lines"?: 'full' | 'inset' | 'none';
1738
2106
  /**
1739
- * The mode determines which platform styles to use.
2107
+ * The mode determines the platform behaviors of the component.
1740
2108
  */
1741
2109
  "mode"?: "ios" | "md";
2110
+ /**
2111
+ * The theme determines the visual appearance of the component.
2112
+ */
2113
+ "theme"?: "ios" | "md" | "ionic";
1742
2114
  }
1743
2115
  interface IonLoading {
1744
2116
  /**
@@ -1798,7 +2170,7 @@ export namespace Components {
1798
2170
  */
1799
2171
  "message"?: string | IonicSafeString;
1800
2172
  /**
1801
- * The mode determines which platform styles to use.
2173
+ * The mode determines the platform behaviors of the component.
1802
2174
  */
1803
2175
  "mode"?: "ios" | "md";
1804
2176
  /**
@@ -1824,7 +2196,11 @@ export namespace Components {
1824
2196
  */
1825
2197
  "spinner"?: SpinnerTypes | null;
1826
2198
  /**
1827
- * If `true`, the loading indicator will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
2199
+ * The theme determines the visual appearance of the component.
2200
+ */
2201
+ "theme"?: "ios" | "md" | "ionic";
2202
+ /**
2203
+ * If `true`, the loading indicator will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1828
2204
  * @default false
1829
2205
  */
1830
2206
  "translucent": boolean;
@@ -1866,6 +2242,10 @@ export namespace Components {
1866
2242
  * An id for the menu.
1867
2243
  */
1868
2244
  "menuId"?: string;
2245
+ /**
2246
+ * The mode determines the platform behaviors of the component.
2247
+ */
2248
+ "mode"?: "ios" | "md";
1869
2249
  /**
1870
2250
  * Opens the menu. If the menu is already open or it can't be opened, it returns `false`.
1871
2251
  * @param animated If `true`, the menu will animate when opening. If `false`, the menu will open instantly without animation. Defaults to `true`.
@@ -1888,6 +2268,10 @@ export namespace Components {
1888
2268
  * @default true
1889
2269
  */
1890
2270
  "swipeGesture": boolean;
2271
+ /**
2272
+ * The theme determines the visual appearance of the component.
2273
+ */
2274
+ "theme"?: "ios" | "md" | "ionic";
1891
2275
  /**
1892
2276
  * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it. If the operation can't be completed successfully, it returns `false`.
1893
2277
  * @param animated If `true`, the menu will animate when opening/closing. If `false`, the menu will open/close instantly without animation. Defaults to `true`.
@@ -1918,9 +2302,13 @@ export namespace Components {
1918
2302
  */
1919
2303
  "menu"?: string;
1920
2304
  /**
1921
- * The mode determines which platform styles to use.
2305
+ * The mode determines the platform behaviors of the component.
1922
2306
  */
1923
2307
  "mode"?: "ios" | "md";
2308
+ /**
2309
+ * The theme determines the visual appearance of the component.
2310
+ */
2311
+ "theme"?: "ios" | "md" | "ionic";
1924
2312
  /**
1925
2313
  * The type of the button.
1926
2314
  * @default 'button'
@@ -1937,6 +2325,14 @@ export namespace Components {
1937
2325
  * Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle. If this property is not used, `ion-menu-toggle` will toggle the first menu that is active.
1938
2326
  */
1939
2327
  "menu"?: string;
2328
+ /**
2329
+ * The mode determines the platform behaviors of the component.
2330
+ */
2331
+ "mode"?: "ios" | "md";
2332
+ /**
2333
+ * The theme determines the visual appearance of the component.
2334
+ */
2335
+ "theme"?: "ios" | "md" | "ionic";
1940
2336
  }
1941
2337
  interface IonModal {
1942
2338
  /**
@@ -2041,7 +2437,7 @@ export namespace Components {
2041
2437
  */
2042
2438
  "leaveAnimation"?: AnimationBuilder;
2043
2439
  /**
2044
- * The mode determines which platform styles to use.
2440
+ * The mode determines the platform behaviors of the component.
2045
2441
  */
2046
2442
  "mode"?: "ios" | "md";
2047
2443
  /**
@@ -2066,11 +2462,19 @@ export namespace Components {
2066
2462
  * @param breakpoint The breakpoint value to move the sheet modal to. Must be a value defined in your `breakpoints` array.
2067
2463
  */
2068
2464
  "setCurrentBreakpoint": (breakpoint: number) => Promise<void>;
2465
+ /**
2466
+ * Set to `"soft"` for a modal with slightly rounded corners, `"round"` for a modal with fully rounded corners, or `"rectangular"` for a modal without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
2467
+ */
2468
+ "shape"?: 'soft' | 'round' | 'rectangular';
2069
2469
  /**
2070
2470
  * If `true`, a backdrop will be displayed behind the modal. This property controls whether or not the backdrop darkens the screen when the modal is presented. It does not control whether or not the backdrop is active or present in the DOM.
2071
2471
  * @default true
2072
2472
  */
2073
2473
  "showBackdrop": boolean;
2474
+ /**
2475
+ * The theme determines the visual appearance of the component.
2476
+ */
2477
+ "theme"?: "ios" | "md" | "ionic";
2074
2478
  /**
2075
2479
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
2076
2480
  */
@@ -2083,7 +2487,7 @@ export namespace Components {
2083
2487
  */
2084
2488
  "animated": boolean;
2085
2489
  /**
2086
- * By default `ion-nav` animates transition between pages based in the mode (ios or material design). However, this property allows to create custom transition using `AnimationBuilder` functions.
2490
+ * By default `ion-nav` animates transition between pages based on the mode ("ios" or "md"). However, this property allows to create custom transition using `AnimationBuilder` functions.
2087
2491
  */
2088
2492
  "animation"?: AnimationBuilder;
2089
2493
  /**
@@ -2131,6 +2535,10 @@ export namespace Components {
2131
2535
  * @param done The transition complete function.
2132
2536
  */
2133
2537
  "insertPages": (insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean>;
2538
+ /**
2539
+ * The mode determines the platform behaviors of the component.
2540
+ */
2541
+ "mode"?: "ios" | "md";
2134
2542
  /**
2135
2543
  * Pop a component off of the navigation stack. Navigates back from the current component.
2136
2544
  * @param opts The navigation options.
@@ -2202,6 +2610,10 @@ export namespace Components {
2202
2610
  * If the nav component should allow for swipe-to-go-back.
2203
2611
  */
2204
2612
  "swipeGesture"?: boolean;
2613
+ /**
2614
+ * The theme determines the visual appearance of the component.
2615
+ */
2616
+ "theme"?: "ios" | "md" | "ionic";
2205
2617
  }
2206
2618
  interface IonNavLink {
2207
2619
  /**
@@ -2212,6 +2624,10 @@ export namespace Components {
2212
2624
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
2213
2625
  */
2214
2626
  "componentProps"?: ComponentProps;
2627
+ /**
2628
+ * The mode determines the platform behaviors of the component.
2629
+ */
2630
+ "mode"?: "ios" | "md";
2215
2631
  /**
2216
2632
  * The transition animation when navigating to another page.
2217
2633
  */
@@ -2221,6 +2637,10 @@ export namespace Components {
2221
2637
  * @default 'forward'
2222
2638
  */
2223
2639
  "routerDirection": RouterDirection;
2640
+ /**
2641
+ * The theme determines the visual appearance of the component.
2642
+ */
2643
+ "theme"?: "ios" | "md" | "ionic";
2224
2644
  }
2225
2645
  interface IonNote {
2226
2646
  /**
@@ -2228,16 +2648,24 @@ export namespace Components {
2228
2648
  */
2229
2649
  "color"?: Color;
2230
2650
  /**
2231
- * The mode determines which platform styles to use.
2651
+ * The mode determines the platform behaviors of the component.
2232
2652
  */
2233
2653
  "mode"?: "ios" | "md";
2654
+ /**
2655
+ * The theme determines the visual appearance of the component.
2656
+ */
2657
+ "theme"?: "ios" | "md" | "ionic";
2234
2658
  }
2235
2659
  interface IonPicker {
2236
2660
  "exitInputMode": () => Promise<void>;
2237
2661
  /**
2238
- * The mode determines which platform styles to use.
2662
+ * The mode determines the platform behaviors of the component.
2239
2663
  */
2240
2664
  "mode"?: "ios" | "md";
2665
+ /**
2666
+ * The theme determines the visual appearance of the component.
2667
+ */
2668
+ "theme"?: "ios" | "md" | "ionic";
2241
2669
  }
2242
2670
  interface IonPickerColumn {
2243
2671
  /**
@@ -2251,7 +2679,7 @@ export namespace Components {
2251
2679
  */
2252
2680
  "disabled": boolean;
2253
2681
  /**
2254
- * The mode determines which platform styles to use.
2682
+ * The mode determines the platform behaviors of the component.
2255
2683
  */
2256
2684
  "mode"?: "ios" | "md";
2257
2685
  /**
@@ -2268,6 +2696,10 @@ export namespace Components {
2268
2696
  * Sets the value prop and fires the ionChange event. This is used when we need to fire ionChange from user-generated events that cannot be caught with normal input/change event listeners.
2269
2697
  */
2270
2698
  "setValue": (value: PickerColumnValue) => Promise<void>;
2699
+ /**
2700
+ * The theme determines the visual appearance of the component.
2701
+ */
2702
+ "theme"?: "ios" | "md" | "ionic";
2271
2703
  /**
2272
2704
  * The selected option in the picker.
2273
2705
  */
@@ -2284,6 +2716,14 @@ export namespace Components {
2284
2716
  * @default false
2285
2717
  */
2286
2718
  "disabled": boolean;
2719
+ /**
2720
+ * The mode determines the platform behaviors of the component.
2721
+ */
2722
+ "mode"?: "ios" | "md";
2723
+ /**
2724
+ * The theme determines the visual appearance of the component.
2725
+ */
2726
+ "theme"?: "ios" | "md" | "ionic";
2287
2727
  /**
2288
2728
  * The text value of the option.
2289
2729
  */
@@ -2358,7 +2798,7 @@ export namespace Components {
2358
2798
  */
2359
2799
  "leaveAnimation"?: AnimationBuilder;
2360
2800
  /**
2361
- * The mode determines which platform styles to use.
2801
+ * The mode determines the platform behaviors of the component.
2362
2802
  */
2363
2803
  "mode"?: "ios" | "md";
2364
2804
  /**
@@ -2379,6 +2819,10 @@ export namespace Components {
2379
2819
  * @default true
2380
2820
  */
2381
2821
  "showBackdrop": boolean;
2822
+ /**
2823
+ * The theme determines the visual appearance of the component.
2824
+ */
2825
+ "theme"?: "ios" | "md" | "ionic";
2382
2826
  /**
2383
2827
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
2384
2828
  */
@@ -2392,7 +2836,7 @@ export namespace Components {
2392
2836
  }
2393
2837
  interface IonPopover {
2394
2838
  /**
2395
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
2839
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
2396
2840
  */
2397
2841
  "alignment"?: PositionAlign;
2398
2842
  /**
@@ -2401,7 +2845,7 @@ export namespace Components {
2401
2845
  */
2402
2846
  "animated": boolean;
2403
2847
  /**
2404
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
2848
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
2405
2849
  * @default true
2406
2850
  */
2407
2851
  "arrow": boolean;
@@ -2481,7 +2925,7 @@ export namespace Components {
2481
2925
  */
2482
2926
  "leaveAnimation"?: AnimationBuilder;
2483
2927
  /**
2484
- * The mode determines which platform styles to use.
2928
+ * The mode determines the platform behaviors of the component.
2485
2929
  */
2486
2930
  "mode"?: "ios" | "md";
2487
2931
  /**
@@ -2523,7 +2967,11 @@ export namespace Components {
2523
2967
  */
2524
2968
  "size": PopoverSize;
2525
2969
  /**
2526
- * If `true`, the popover will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
2970
+ * The theme determines the visual appearance of the component.
2971
+ */
2972
+ "theme"?: "ios" | "md" | "ionic";
2973
+ /**
2974
+ * If `true`, the popover will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
2527
2975
  * @default false
2528
2976
  */
2529
2977
  "translucent": boolean;
@@ -2548,7 +2996,7 @@ export namespace Components {
2548
2996
  */
2549
2997
  "color"?: Color;
2550
2998
  /**
2551
- * The mode determines which platform styles to use.
2999
+ * The mode determines the platform behaviors of the component.
2552
3000
  */
2553
3001
  "mode"?: "ios" | "md";
2554
3002
  /**
@@ -2556,6 +3004,14 @@ export namespace Components {
2556
3004
  * @default false
2557
3005
  */
2558
3006
  "reversed": boolean;
3007
+ /**
3008
+ * Set to `"round"` for a progress bar with rounded corners, or `"rectangular"` for a progress bar without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
3009
+ */
3010
+ "shape"?: 'round' | 'rectangular';
3011
+ /**
3012
+ * The theme determines the visual appearance of the component.
3013
+ */
3014
+ "theme"?: "ios" | "md" | "ionic";
2559
3015
  /**
2560
3016
  * The state of the progress bar, based on if the time the process takes is known or not. Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right).
2561
3017
  * @default 'determinate'
@@ -2591,7 +3047,7 @@ export namespace Components {
2591
3047
  */
2592
3048
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
2593
3049
  /**
2594
- * The mode determines which platform styles to use.
3050
+ * The mode determines the platform behaviors of the component.
2595
3051
  */
2596
3052
  "mode"?: "ios" | "md";
2597
3053
  /**
@@ -2601,6 +3057,10 @@ export namespace Components {
2601
3057
  "name": string;
2602
3058
  "setButtonTabindex": (value: number) => Promise<void>;
2603
3059
  "setFocus": (ev?: globalThis.Event) => Promise<void>;
3060
+ /**
3061
+ * The theme determines the visual appearance of the component.
3062
+ */
3063
+ "theme"?: "ios" | "md" | "ionic";
2604
3064
  /**
2605
3065
  * the value of the radio.
2606
3066
  */
@@ -2624,12 +3084,21 @@ export namespace Components {
2624
3084
  * The helper text to display at the top of the radio group.
2625
3085
  */
2626
3086
  "helperText"?: string;
3087
+ /**
3088
+ * The mode determines the platform behaviors of the component.
3089
+ */
3090
+ "mode"?: "ios" | "md";
2627
3091
  /**
2628
3092
  * The name of the control, which is submitted with the form data.
2629
3093
  * @default this.inputId
2630
3094
  */
2631
3095
  "name": string;
2632
3096
  "setFocus": () => Promise<void>;
3097
+ /**
3098
+ * The theme determines the visual appearance of the component.
3099
+ */
3100
+ "theme"?: "ios" | "md" | "ionic";
3101
+ "updateRadiosTabindex": () => Promise<void>;
2633
3102
  /**
2634
3103
  * the value of the radio group.
2635
3104
  */
@@ -2678,7 +3147,7 @@ export namespace Components {
2678
3147
  */
2679
3148
  "min": number;
2680
3149
  /**
2681
- * The mode determines which platform styles to use.
3150
+ * The mode determines the platform behaviors of the component.
2682
3151
  */
2683
3152
  "mode"?: "ios" | "md";
2684
3153
  /**
@@ -2706,6 +3175,10 @@ export namespace Components {
2706
3175
  * @default 1
2707
3176
  */
2708
3177
  "step": number;
3178
+ /**
3179
+ * The theme determines the visual appearance of the component.
3180
+ */
3181
+ "theme"?: "ios" | "md" | "ionic";
2709
3182
  /**
2710
3183
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
2711
3184
  * @default true
@@ -2741,7 +3214,7 @@ export namespace Components {
2741
3214
  */
2742
3215
  "getProgress": () => Promise<number>;
2743
3216
  /**
2744
- * The mode determines which platform styles to use.
3217
+ * The mode determines the platform behaviors of the component.
2745
3218
  */
2746
3219
  "mode"?: "ios" | "md";
2747
3220
  /**
@@ -2764,8 +3237,16 @@ export namespace Components {
2764
3237
  * @default '280ms'
2765
3238
  */
2766
3239
  "snapbackDuration": string;
3240
+ /**
3241
+ * The theme determines the visual appearance of the component.
3242
+ */
3243
+ "theme"?: "ios" | "md" | "ionic";
2767
3244
  }
2768
3245
  interface IonRefresherContent {
3246
+ /**
3247
+ * The mode determines the platform behaviors of the component.
3248
+ */
3249
+ "mode"?: "ios" | "md";
2769
3250
  /**
2770
3251
  * A static icon or a spinner to display when you begin to pull down. A spinner name can be provided to gradually show tick marks when pulling down on iOS devices.
2771
3252
  */
@@ -2782,8 +3263,20 @@ export namespace Components {
2782
3263
  * The text you want to display when performing a refresh. `refreshingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) Content is parsed as plaintext by default. `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config before custom HTML can be used.
2783
3264
  */
2784
3265
  "refreshingText"?: string | IonicSafeString;
3266
+ /**
3267
+ * The theme determines the visual appearance of the component.
3268
+ */
3269
+ "theme"?: "ios" | "md" | "ionic";
2785
3270
  }
2786
3271
  interface IonReorder {
3272
+ /**
3273
+ * The mode determines the platform behaviors of the component.
3274
+ */
3275
+ "mode"?: "ios" | "md";
3276
+ /**
3277
+ * The theme determines the visual appearance of the component.
3278
+ */
3279
+ "theme"?: "ios" | "md" | "ionic";
2787
3280
  }
2788
3281
  interface IonReorderGroup {
2789
3282
  /**
@@ -2796,6 +3289,14 @@ export namespace Components {
2796
3289
  * @default true
2797
3290
  */
2798
3291
  "disabled": boolean;
3292
+ /**
3293
+ * The mode determines the platform behaviors of the component.
3294
+ */
3295
+ "mode"?: "ios" | "md";
3296
+ /**
3297
+ * The theme determines the visual appearance of the component.
3298
+ */
3299
+ "theme"?: "ios" | "md" | "ionic";
2799
3300
  }
2800
3301
  interface IonRippleEffect {
2801
3302
  /**
@@ -2804,6 +3305,14 @@ export namespace Components {
2804
3305
  * @param y The vertical coordinate of where the ripple should start.
2805
3306
  */
2806
3307
  "addRipple": (x: number, y: number) => Promise<() => void>;
3308
+ /**
3309
+ * The mode determines the platform behaviors of the component.
3310
+ */
3311
+ "mode"?: "ios" | "md";
3312
+ /**
3313
+ * The theme determines the visual appearance of the component.
3314
+ */
3315
+ "theme"?: "ios" | "md" | "ionic";
2807
3316
  /**
2808
3317
  * Sets the type of ripple-effect: - `bounded`: the ripple effect expands from the user's click position - `unbounded`: the ripple effect expands from the center of the button and overflows the container. NOTE: Surfaces for bounded ripples should have the overflow property set to hidden, while surfaces for unbounded ripples should have it set to visible.
2809
3318
  * @default 'bounded'
@@ -2827,6 +3336,14 @@ export namespace Components {
2827
3336
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
2828
3337
  */
2829
3338
  "componentProps"?: { [key: string]: any };
3339
+ /**
3340
+ * The mode determines the platform behaviors of the component.
3341
+ */
3342
+ "mode"?: "ios" | "md";
3343
+ /**
3344
+ * The theme determines the visual appearance of the component.
3345
+ */
3346
+ "theme"?: "ios" | "md" | "ionic";
2830
3347
  /**
2831
3348
  * Relative path that needs to match in order for this route to apply. Accepts paths similar to expressjs so that you can define parameters in the url /foo/:bar where bar would be available in incoming props.
2832
3349
  * @default ''
@@ -2849,6 +3366,10 @@ export namespace Components {
2849
3366
  */
2850
3367
  "back": () => Promise<void>;
2851
3368
  "canTransition": () => Promise<string | boolean>;
3369
+ /**
3370
+ * The mode determines the platform behaviors of the component.
3371
+ */
3372
+ "mode"?: "ios" | "md";
2852
3373
  "navChanged": (direction: RouterDirection) => Promise<boolean>;
2853
3374
  "printDebug": () => Promise<void>;
2854
3375
  /**
@@ -2863,6 +3384,10 @@ export namespace Components {
2863
3384
  * @default '/'
2864
3385
  */
2865
3386
  "root": string;
3387
+ /**
3388
+ * The theme determines the visual appearance of the component.
3389
+ */
3390
+ "theme"?: "ios" | "md" | "ionic";
2866
3391
  /**
2867
3392
  * The router can work in two "modes": - With hash: `/index.html#/path/to/page` - Without hash: `/path/to/page` Using one or another might depend in the requirements of your app and/or where it's deployed. Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might requires additional server-side configuration in order to properly work. On the other side hash-navigation is much easier to deploy, it even works over the file protocol. By default, this property is `true`, change to `false` to allow hash-less URLs.
2868
3393
  * @default true
@@ -2878,6 +3403,10 @@ export namespace Components {
2878
3403
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2879
3404
  */
2880
3405
  "href": string | undefined;
3406
+ /**
3407
+ * The mode determines the platform behaviors of the component.
3408
+ */
3409
+ "mode"?: "ios" | "md";
2881
3410
  /**
2882
3411
  * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
2883
3412
  */
@@ -2895,6 +3424,10 @@ export namespace Components {
2895
3424
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2896
3425
  */
2897
3426
  "target": string | undefined;
3427
+ /**
3428
+ * The theme determines the visual appearance of the component.
3429
+ */
3430
+ "theme"?: "ios" | "md" | "ionic";
2898
3431
  }
2899
3432
  interface IonRouterOutlet {
2900
3433
  /**
@@ -2910,14 +3443,26 @@ export namespace Components {
2910
3443
  "delegate"?: FrameworkDelegate;
2911
3444
  "getRouteId": () => Promise<RouteID | undefined>;
2912
3445
  /**
2913
- * The mode determines which platform styles to use.
3446
+ * The mode determines the platform behaviors of the component.
2914
3447
  * @default getIonMode(this)
2915
3448
  */
2916
3449
  "mode": "ios" | "md";
2917
3450
  "setRouteId": (id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>;
2918
3451
  "swipeHandler"?: SwipeGestureHandler;
3452
+ /**
3453
+ * The theme determines the visual appearance of the component.
3454
+ */
3455
+ "theme"?: "ios" | "md" | "ionic";
2919
3456
  }
2920
3457
  interface IonRow {
3458
+ /**
3459
+ * The mode determines the platform behaviors of the component.
3460
+ */
3461
+ "mode"?: "ios" | "md";
3462
+ /**
3463
+ * The theme determines the visual appearance of the component.
3464
+ */
3465
+ "theme"?: "ios" | "md" | "ionic";
2921
3466
  }
2922
3467
  interface IonSearchbar {
2923
3468
  /**
@@ -2941,17 +3486,16 @@ export namespace Components {
2941
3486
  */
2942
3487
  "autocorrect": 'on' | 'off';
2943
3488
  /**
2944
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
2945
- * @default config.get('backButtonIcon', arrowBackSharp) as string
3489
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
2946
3490
  */
2947
- "cancelButtonIcon": string;
3491
+ "cancelButtonIcon"?: string;
2948
3492
  /**
2949
- * Set the cancel button text. Only applies to `ios` mode.
3493
+ * Set the cancel button text. Only available when the theme is `"ios"`.
2950
3494
  * @default 'Cancel'
2951
3495
  */
2952
3496
  "cancelButtonText": string;
2953
3497
  /**
2954
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
3498
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
2955
3499
  */
2956
3500
  "clearIcon"?: string;
2957
3501
  /**
@@ -2988,7 +3532,7 @@ export namespace Components {
2988
3532
  */
2989
3533
  "minlength"?: number;
2990
3534
  /**
2991
- * The mode determines which platform styles to use.
3535
+ * The mode determines the platform behaviors of the component.
2992
3536
  */
2993
3537
  "mode"?: "ios" | "md";
2994
3538
  /**
@@ -3002,13 +3546,17 @@ export namespace Components {
3002
3546
  */
3003
3547
  "placeholder": string;
3004
3548
  /**
3005
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
3549
+ * The icon to use as the search icon. Defaults to `"search-outline"` in the `"ios"` theme and `"search-sharp"` in the `"md"` and `"ionic"` themes. If `false`, no search icon will be displayed.
3006
3550
  */
3007
- "searchIcon"?: string;
3551
+ "searchIcon"?: string | boolean;
3008
3552
  /**
3009
3553
  * Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global `input.focus()`. Developers who wish to focus an input when a page enters should call `setFocus()` in the `ionViewDidEnter()` lifecycle method. Developers who wish to focus an input when an overlay is presented should call `setFocus` after `didPresent` has resolved. See [managing focus](/docs/developing/managing-focus) for more information.
3010
3554
  */
3011
3555
  "setFocus": () => Promise<void>;
3556
+ /**
3557
+ * Set to `"soft"` for a searchbar with slightly rounded corners, `"round"` for a searchbar with fully rounded corners, or `"rectangular"` for a searchbar without rounded corners. Defaults to `"round"` for the ionic theme, and `undefined` for all other themes.
3558
+ */
3559
+ "shape"?: 'soft' | 'round' | 'rectangular';
3012
3560
  /**
3013
3561
  * Sets the behavior for the cancel button. Defaults to `"never"`. Setting to `"focus"` shows the cancel button on focus. Setting to `"never"` hides the cancel button. Setting to `"always"` shows the cancel button regardless of focus state.
3014
3562
  * @default 'never'
@@ -3019,11 +3567,19 @@ export namespace Components {
3019
3567
  * @default 'always'
3020
3568
  */
3021
3569
  "showClearButton": 'never' | 'focus' | 'always';
3570
+ /**
3571
+ * Set to `"large"` for a searchbar with an increase in height, while "small" and "medium" provide progressively smaller heights. Defaults to `"medium"` for the ionic theme, and `undefined` for all other themes.
3572
+ */
3573
+ "size"?: 'small' | 'medium' | 'large';
3022
3574
  /**
3023
3575
  * If `true`, enable spellcheck on the input.
3024
3576
  * @default false
3025
3577
  */
3026
3578
  "spellcheck": boolean;
3579
+ /**
3580
+ * The theme determines the visual appearance of the component.
3581
+ */
3582
+ "theme"?: "ios" | "md" | "ionic";
3027
3583
  /**
3028
3584
  * Set the type of the input.
3029
3585
  * @default 'search'
@@ -3046,7 +3602,7 @@ export namespace Components {
3046
3602
  */
3047
3603
  "disabled": boolean;
3048
3604
  /**
3049
- * The mode determines which platform styles to use.
3605
+ * The mode determines the platform behaviors of the component.
3050
3606
  */
3051
3607
  "mode"?: "ios" | "md";
3052
3608
  /**
@@ -3064,6 +3620,10 @@ export namespace Components {
3064
3620
  * @default true
3065
3621
  */
3066
3622
  "swipeGesture": boolean;
3623
+ /**
3624
+ * The theme determines the visual appearance of the component.
3625
+ */
3626
+ "theme"?: "ios" | "md" | "ionic";
3067
3627
  /**
3068
3628
  * the value of the segment.
3069
3629
  */
@@ -3085,10 +3645,14 @@ export namespace Components {
3085
3645
  */
3086
3646
  "layout"?: SegmentButtonLayout;
3087
3647
  /**
3088
- * The mode determines which platform styles to use.
3648
+ * The mode determines the platform behaviors of the component.
3089
3649
  */
3090
3650
  "mode"?: "ios" | "md";
3091
3651
  "setFocus": () => Promise<void>;
3652
+ /**
3653
+ * The theme determines the visual appearance of the component.
3654
+ */
3655
+ "theme"?: "ios" | "md" | "ionic";
3092
3656
  /**
3093
3657
  * The type of the button.
3094
3658
  * @default 'button'
@@ -3120,6 +3684,11 @@ export namespace Components {
3120
3684
  "swipeGesture": boolean;
3121
3685
  }
3122
3686
  interface IonSelect {
3687
+ /**
3688
+ * If `true`, the cancel button will display an icon instead of the `cancelText`. Only applies when `interface` is set to `"modal"`. Has no effect on `"action-sheet"`, `"alert"`, or `"popover"` interfaces. When `cancelIcon` is `true`, the `cancelText` property is ignored for display but is used as the accessible label for the icon button.
3689
+ * @default false
3690
+ */
3691
+ "cancelIcon": boolean;
3123
3692
  /**
3124
3693
  * The text to display on the cancel button.
3125
3694
  * @default 'Cancel'
@@ -3143,11 +3712,11 @@ export namespace Components {
3143
3712
  */
3144
3713
  "errorText"?: string;
3145
3714
  /**
3146
- * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `md` mode will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed.
3715
+ * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `"md"` theme will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed.
3147
3716
  */
3148
3717
  "expandedIcon"?: string;
3149
3718
  /**
3150
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
3719
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in the `"md"` theme.
3151
3720
  */
3152
3721
  "fill"?: 'outline' | 'solid';
3153
3722
  /**
@@ -3178,7 +3747,7 @@ export namespace Components {
3178
3747
  */
3179
3748
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
3180
3749
  /**
3181
- * The mode determines which platform styles to use.
3750
+ * The mode determines the platform behaviors of the component.
3182
3751
  */
3183
3752
  "mode"?: "ios" | "md";
3184
3753
  /**
@@ -3215,11 +3784,19 @@ export namespace Components {
3215
3784
  */
3216
3785
  "selectedText"?: string | null;
3217
3786
  /**
3218
- * The shape of the select. If "round" it will have an increased border radius.
3787
+ * Set to `"soft"` for a select with slightly rounded corners, `"round"` for a select with fully rounded corners, or `"rectangular"` for a select without rounded corners. Defaults to `"round"` for the `"ionic"` theme, undefined for all other themes.
3219
3788
  */
3220
- "shape"?: 'round';
3789
+ "shape"?: 'soft' | 'round' | 'rectangular';
3221
3790
  /**
3222
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
3791
+ * The size of the select. If "large" it will increase the height of the select, while "small" and "medium" provide progressively smaller heights. Defaults to `"medium"` for the ionic theme, and undefined for all other themes.
3792
+ */
3793
+ "size"?: 'small' | 'medium' | 'large';
3794
+ /**
3795
+ * The theme determines the visual appearance of the component.
3796
+ */
3797
+ "theme"?: "ios" | "md" | "ionic";
3798
+ /**
3799
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
3223
3800
  */
3224
3801
  "toggleIcon"?: string;
3225
3802
  /**
@@ -3228,6 +3805,11 @@ export namespace Components {
3228
3805
  "value"?: any | null;
3229
3806
  }
3230
3807
  interface IonSelectModal {
3808
+ /**
3809
+ * If `true`, the cancel button will display a close icon instead of the `cancelText`. When `cancelIcon` is `true`, `cancelText` is not displayed visually but is still used as the accessible label (`aria-label`) for the button.
3810
+ * @default false
3811
+ */
3812
+ "cancelIcon": boolean;
3231
3813
  /**
3232
3814
  * The text to display on the cancel button.
3233
3815
  * @default 'Close'
@@ -3241,11 +3823,23 @@ export namespace Components {
3241
3823
  "options": SelectModalOption[];
3242
3824
  }
3243
3825
  interface IonSelectOption {
3826
+ /**
3827
+ * Text that is placed underneath the option text to provide additional details about the option.
3828
+ */
3829
+ "description"?: string;
3244
3830
  /**
3245
3831
  * If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons.
3246
3832
  * @default false
3247
3833
  */
3248
3834
  "disabled": boolean;
3835
+ /**
3836
+ * The mode determines the platform behaviors of the component.
3837
+ */
3838
+ "mode"?: "ios" | "md";
3839
+ /**
3840
+ * The theme determines the visual appearance of the component.
3841
+ */
3842
+ "theme"?: "ios" | "md" | "ionic";
3249
3843
  /**
3250
3844
  * The text value of the option.
3251
3845
  */
@@ -3260,6 +3854,10 @@ export namespace Components {
3260
3854
  * The text content of the popover body
3261
3855
  */
3262
3856
  "message"?: string;
3857
+ /**
3858
+ * The mode determines the platform behaviors of the component.
3859
+ */
3860
+ "mode"?: "ios" | "md";
3263
3861
  /**
3264
3862
  * If true, the select accepts multiple values
3265
3863
  */
@@ -3273,6 +3871,10 @@ export namespace Components {
3273
3871
  * The subheader text of the popover
3274
3872
  */
3275
3873
  "subHeader"?: string;
3874
+ /**
3875
+ * The theme determines the visual appearance of the component.
3876
+ */
3877
+ "theme"?: "ios" | "md" | "ionic";
3276
3878
  }
3277
3879
  interface IonSkeletonText {
3278
3880
  /**
@@ -3280,6 +3882,14 @@ export namespace Components {
3280
3882
  * @default false
3281
3883
  */
3282
3884
  "animated": boolean;
3885
+ /**
3886
+ * The mode determines the platform behaviors of the component.
3887
+ */
3888
+ "mode"?: "ios" | "md";
3889
+ /**
3890
+ * The theme determines the visual appearance of the component.
3891
+ */
3892
+ "theme"?: "ios" | "md" | "ionic";
3283
3893
  }
3284
3894
  interface IonSpinner {
3285
3895
  /**
@@ -3290,6 +3900,10 @@ export namespace Components {
3290
3900
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
3291
3901
  */
3292
3902
  "duration"?: number;
3903
+ /**
3904
+ * The mode determines the platform behaviors of the component.
3905
+ */
3906
+ "mode"?: "ios" | "md";
3293
3907
  /**
3294
3908
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
3295
3909
  */
@@ -3299,6 +3913,14 @@ export namespace Components {
3299
3913
  * @default false
3300
3914
  */
3301
3915
  "paused": boolean;
3916
+ /**
3917
+ * Set to `"xsmall"` for the smallest size. Set to `"small"` for a smaller size. Set to `"medium"` for a medium size. Set to `"large"` for a large size. Set to `"xlarge"` for the largest size. Defaults to `"xsmall"` for the `ionic` theme, undefined for all other themes.
3918
+ */
3919
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
3920
+ /**
3921
+ * The theme determines the visual appearance of the component.
3922
+ */
3923
+ "theme"?: "ios" | "md" | "ionic";
3302
3924
  }
3303
3925
  interface IonSplitPane {
3304
3926
  /**
@@ -3311,6 +3933,14 @@ export namespace Components {
3311
3933
  */
3312
3934
  "disabled": boolean;
3313
3935
  "isVisible": () => Promise<boolean>;
3936
+ /**
3937
+ * The mode determines the platform behaviors of the component.
3938
+ */
3939
+ "mode"?: "ios" | "md";
3940
+ /**
3941
+ * The theme determines the visual appearance of the component.
3942
+ */
3943
+ "theme"?: "ios" | "md" | "ionic";
3314
3944
  /**
3315
3945
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
3316
3946
  * @default QUERY['lg']
@@ -3327,6 +3957,10 @@ export namespace Components {
3327
3957
  */
3328
3958
  "component"?: ComponentRef;
3329
3959
  "delegate"?: FrameworkDelegate;
3960
+ /**
3961
+ * The mode determines the platform behaviors of the component.
3962
+ */
3963
+ "mode"?: "ios" | "md";
3330
3964
  /**
3331
3965
  * Set the active component for the tab
3332
3966
  */
@@ -3335,6 +3969,10 @@ export namespace Components {
3335
3969
  * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
3336
3970
  */
3337
3971
  "tab": string;
3972
+ /**
3973
+ * The theme determines the visual appearance of the component.
3974
+ */
3975
+ "theme"?: "ios" | "md" | "ionic";
3338
3976
  }
3339
3977
  interface IonTabBar {
3340
3978
  /**
@@ -3342,7 +3980,17 @@ export namespace Components {
3342
3980
  */
3343
3981
  "color"?: Color;
3344
3982
  /**
3345
- * The mode determines which platform styles to use.
3983
+ * Set to `"compact"` to display a width based on the items inside the tab bar. This value will only work for the `ionic` theme. Set to `"full"` to display a full width tab bar. Defaults to `"full"`.
3984
+ * @default 'full'
3985
+ */
3986
+ "expand": 'compact' | 'full';
3987
+ /**
3988
+ * If `true`, the tab bar will be hidden when the user scrolls down and shown when the user scrolls up. Only applies when the theme is `"ionic"` and `expand` is `"compact"`.
3989
+ * @default false
3990
+ */
3991
+ "hideOnScroll": boolean;
3992
+ /**
3993
+ * The mode determines the platform behaviors of the component.
3346
3994
  */
3347
3995
  "mode"?: "ios" | "md";
3348
3996
  /**
@@ -3350,7 +3998,15 @@ export namespace Components {
3350
3998
  */
3351
3999
  "selectedTab"?: string;
3352
4000
  /**
3353
- * If `true`, the tab bar will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
4001
+ * Set to `"soft"` for a tab bar with slightly rounded corners, `"round"` for a tab bar with fully rounded corners, or `"rectangular"` for a tab bar without rounded corners. Defaults to `"round"` for the `"ionic"` theme, undefined for all other themes.
4002
+ */
4003
+ "shape"?: 'soft' | 'round' | 'rectangular';
4004
+ /**
4005
+ * The theme determines the visual appearance of the component.
4006
+ */
4007
+ "theme"?: "ios" | "md" | "ionic";
4008
+ /**
4009
+ * If `true`, the tab bar will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
3354
4010
  * @default false
3355
4011
  */
3356
4012
  "translucent": boolean;
@@ -3374,7 +4030,7 @@ export namespace Components {
3374
4030
  */
3375
4031
  "layout"?: TabButtonLayout;
3376
4032
  /**
3377
- * The mode determines which platform styles to use.
4033
+ * The mode determines the platform behaviors of the component.
3378
4034
  */
3379
4035
  "mode"?: "ios" | "md";
3380
4036
  /**
@@ -3386,6 +4042,10 @@ export namespace Components {
3386
4042
  * @default false
3387
4043
  */
3388
4044
  "selected": boolean;
4045
+ /**
4046
+ * Set to `"soft"` for a tab-button with slightly rounded corners, `"round"` for a tab-button with fully rounded corners, or `"rectangular"` for a tab-button without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
4047
+ */
4048
+ "shape"?: 'soft' | 'round' | 'rectangular';
3389
4049
  /**
3390
4050
  * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
3391
4051
  */
@@ -3394,6 +4054,10 @@ export namespace Components {
3394
4054
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
3395
4055
  */
3396
4056
  "target": string | undefined;
4057
+ /**
4058
+ * The theme determines the visual appearance of the component.
4059
+ */
4060
+ "theme"?: "ios" | "md" | "ionic";
3397
4061
  }
3398
4062
  interface IonTabs {
3399
4063
  "getRouteId": () => Promise<RouteID | undefined>;
@@ -3406,12 +4070,20 @@ export namespace Components {
3406
4070
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3407
4071
  */
3408
4072
  "getTab": (tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined>;
4073
+ /**
4074
+ * The mode determines the platform behaviors of the component.
4075
+ */
4076
+ "mode"?: "ios" | "md";
3409
4077
  /**
3410
4078
  * Select a tab by the value of its `tab` property or an element reference. This method is only available for vanilla JavaScript projects. The Angular, React, and Vue implementations of tabs are coupled to each framework's router.
3411
4079
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3412
4080
  */
3413
4081
  "select": (tab: string | HTMLIonTabElement) => Promise<boolean>;
3414
4082
  "setRouteId": (id: string) => Promise<RouteWrite>;
4083
+ /**
4084
+ * The theme determines the visual appearance of the component.
4085
+ */
4086
+ "theme"?: "ios" | "md" | "ionic";
3415
4087
  /**
3416
4088
  * @default false
3417
4089
  */
@@ -3423,9 +4095,13 @@ export namespace Components {
3423
4095
  */
3424
4096
  "color"?: Color;
3425
4097
  /**
3426
- * The mode determines which platform styles to use.
4098
+ * The mode determines the platform behaviors of the component.
3427
4099
  */
3428
4100
  "mode"?: "ios" | "md";
4101
+ /**
4102
+ * The theme determines the visual appearance of the component.
4103
+ */
4104
+ "theme"?: "ios" | "md" | "ionic";
3429
4105
  }
3430
4106
  interface IonTextarea {
3431
4107
  /**
@@ -3483,7 +4159,7 @@ export namespace Components {
3483
4159
  */
3484
4160
  "errorText"?: string;
3485
4161
  /**
3486
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
4162
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available when the theme is `"md"`.
3487
4163
  */
3488
4164
  "fill"?: 'outline' | 'solid';
3489
4165
  /**
@@ -3516,7 +4192,7 @@ export namespace Components {
3516
4192
  */
3517
4193
  "minlength"?: number;
3518
4194
  /**
3519
- * The mode determines which platform styles to use.
4195
+ * The mode determines the platform behaviors of the component.
3520
4196
  */
3521
4197
  "mode"?: "ios" | "md";
3522
4198
  /**
@@ -3547,14 +4223,23 @@ export namespace Components {
3547
4223
  */
3548
4224
  "setFocus": () => Promise<void>;
3549
4225
  /**
3550
- * The shape of the textarea. If "round" it will have an increased border radius.
4226
+ * Set to `"soft"` for a textarea with slightly rounded corners, `"round"` for a textarea with fully rounded corners, or `"rectangular"` for a textarea without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
4227
+ */
4228
+ "shape"?: 'soft' | 'round' | 'rectangular';
4229
+ /**
4230
+ * The size of the textarea. If "large" it will increase the height of the textarea, while "small" and "medium" provide progressively smaller heights. The default size is "medium". This property only applies to the `"ionic"` theme.
4231
+ * @default 'medium'
3551
4232
  */
3552
- "shape"?: 'round';
4233
+ "size"?: 'small' | 'medium' | 'large';
3553
4234
  /**
3554
4235
  * If `true`, the element will have its spelling and grammar checked.
3555
4236
  * @default false
3556
4237
  */
3557
4238
  "spellcheck": boolean;
4239
+ /**
4240
+ * The theme determines the visual appearance of the component.
4241
+ */
4242
+ "theme"?: "ios" | "md" | "ionic";
3558
4243
  /**
3559
4244
  * The value of the textarea.
3560
4245
  * @default ''
@@ -3566,16 +4251,32 @@ export namespace Components {
3566
4251
  "wrap"?: 'hard' | 'soft' | 'off';
3567
4252
  }
3568
4253
  interface IonThumbnail {
4254
+ /**
4255
+ * The mode determines the platform behaviors of the component.
4256
+ */
4257
+ "mode"?: "ios" | "md";
4258
+ /**
4259
+ * The theme determines the visual appearance of the component.
4260
+ */
4261
+ "theme"?: "ios" | "md" | "ionic";
3569
4262
  }
3570
4263
  interface IonTitle {
3571
4264
  /**
3572
4265
  * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
3573
4266
  */
3574
4267
  "color"?: Color;
4268
+ /**
4269
+ * The mode determines the platform behaviors of the component.
4270
+ */
4271
+ "mode"?: "ios" | "md";
3575
4272
  /**
3576
4273
  * The size of the toolbar title.
3577
4274
  */
3578
4275
  "size"?: 'large' | 'small';
4276
+ /**
4277
+ * The theme determines the visual appearance of the component.
4278
+ */
4279
+ "theme"?: "ios" | "md" | "ionic";
3579
4280
  }
3580
4281
  interface IonToast {
3581
4282
  /**
@@ -3623,6 +4324,11 @@ export namespace Components {
3623
4324
  * Additional attributes to pass to the toast.
3624
4325
  */
3625
4326
  "htmlAttributes"?: { [key: string]: any };
4327
+ /**
4328
+ * Set to `"bold"` for a toast with vibrant, bold colors or to `"subtle"` for a toast with muted, subtle colors. Only applies to the `ionic` theme.
4329
+ * @default 'subtle'
4330
+ */
4331
+ "hue"?: 'bold' | 'subtle';
3626
4332
  /**
3627
4333
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
3628
4334
  */
@@ -3651,7 +4357,7 @@ export namespace Components {
3651
4357
  */
3652
4358
  "message"?: string | IonicSafeString;
3653
4359
  /**
3654
- * The mode determines which platform styles to use.
4360
+ * The mode determines the platform behaviors of the component.
3655
4361
  */
3656
4362
  "mode"?: "ios" | "md";
3657
4363
  /**
@@ -3676,12 +4382,20 @@ export namespace Components {
3676
4382
  * Present the toast overlay after it has been created.
3677
4383
  */
3678
4384
  "present": () => Promise<void>;
4385
+ /**
4386
+ * Set to `"soft"` for a toast with slightly rounded corners, `"round"` for a toast with fully rounded corners, or `"rectangular"` for a toast without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
4387
+ */
4388
+ "shape"?: 'soft' | 'round' | 'rectangular';
3679
4389
  /**
3680
4390
  * If set to 'vertical', the Toast can be dismissed with a swipe gesture. The swipe direction is determined by the value of the `position` property: `top`: The Toast can be swiped up to dismiss. `bottom`: The Toast can be swiped down to dismiss. `middle`: The Toast can be swiped up or down to dismiss.
3681
4391
  */
3682
4392
  "swipeGesture"?: ToastSwipeGestureDirection;
3683
4393
  /**
3684
- * If `true`, the toast will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
4394
+ * The theme determines the visual appearance of the component.
4395
+ */
4396
+ "theme"?: "ios" | "md" | "ionic";
4397
+ /**
4398
+ * If `true`, the toast will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
3685
4399
  * @default false
3686
4400
  */
3687
4401
  "translucent": boolean;
@@ -3732,7 +4446,7 @@ export namespace Components {
3732
4446
  */
3733
4447
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
3734
4448
  /**
3735
- * The mode determines which platform styles to use.
4449
+ * The mode determines the platform behaviors of the component.
3736
4450
  */
3737
4451
  "mode"?: "ios" | "md";
3738
4452
  /**
@@ -3745,6 +4459,10 @@ export namespace Components {
3745
4459
  * @default false
3746
4460
  */
3747
4461
  "required": boolean;
4462
+ /**
4463
+ * The theme determines the visual appearance of the component.
4464
+ */
4465
+ "theme"?: "ios" | "md" | "ionic";
3748
4466
  /**
3749
4467
  * The value of the toggle does not mean if it's checked or not, use the `checked` property for that. The value of a toggle is analogous to the value of a `<input type="checkbox">`, it's only used when the toggle participates in a native `<form>`.
3750
4468
  * @default 'on'
@@ -3757,9 +4475,17 @@ export namespace Components {
3757
4475
  */
3758
4476
  "color"?: Color;
3759
4477
  /**
3760
- * The mode determines which platform styles to use.
4478
+ * The mode determines the platform behaviors of the component.
3761
4479
  */
3762
4480
  "mode"?: "ios" | "md";
4481
+ /**
4482
+ * The theme determines the visual appearance of the component.
4483
+ */
4484
+ "theme"?: "ios" | "md" | "ionic";
4485
+ /**
4486
+ * Where to place the title relative to the other toolbar content. `"start"`: The title will appear to the left of the toolbar content in LTR and to the right in RTL. `"center"`: The title will appear in the center of the toolbar. `"end"`: The title will appear to the right of the toolbar content in LTR and to the left in RTL. Only applies in the `ionic` theme.
4487
+ */
4488
+ "titlePlacement"?: 'start' | 'center' | 'end';
3763
4489
  }
3764
4490
  }
3765
4491
  export interface IonAccordionGroupCustomEvent<T> extends CustomEvent<T> {
@@ -4241,6 +4967,12 @@ declare global {
4241
4967
  prototype: HTMLIonDatetimeButtonElement;
4242
4968
  new (): HTMLIonDatetimeButtonElement;
4243
4969
  };
4970
+ interface HTMLIonDividerElement extends Components.IonDivider, HTMLStencilElement {
4971
+ }
4972
+ var HTMLIonDividerElement: {
4973
+ prototype: HTMLIonDividerElement;
4974
+ new (): HTMLIonDividerElement;
4975
+ };
4244
4976
  interface HTMLIonFabElement extends Components.IonFab, HTMLStencilElement {
4245
4977
  }
4246
4978
  var HTMLIonFabElement: {
@@ -5229,6 +5961,7 @@ declare global {
5229
5961
  "ion-content": HTMLIonContentElement;
5230
5962
  "ion-datetime": HTMLIonDatetimeElement;
5231
5963
  "ion-datetime-button": HTMLIonDatetimeButtonElement;
5964
+ "ion-divider": HTMLIonDividerElement;
5232
5965
  "ion-fab": HTMLIonFabElement;
5233
5966
  "ion-fab-button": HTMLIonFabButtonElement;
5234
5967
  "ion-fab-list": HTMLIonFabListElement;
@@ -5314,7 +6047,7 @@ declare namespace LocalJSX {
5314
6047
  */
5315
6048
  "disabled"?: boolean;
5316
6049
  /**
5317
- * The mode determines which platform styles to use.
6050
+ * The mode determines the platform behaviors of the component.
5318
6051
  */
5319
6052
  "mode"?: "ios" | "md";
5320
6053
  /**
@@ -5322,9 +6055,12 @@ declare namespace LocalJSX {
5322
6055
  * @default false
5323
6056
  */
5324
6057
  "readonly"?: boolean;
6058
+ /**
6059
+ * The theme determines the visual appearance of the component.
6060
+ */
6061
+ "theme"?: "ios" | "md" | "ionic";
5325
6062
  /**
5326
6063
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
5327
- * @default chevronDown
5328
6064
  */
5329
6065
  "toggleIcon"?: string;
5330
6066
  /**
@@ -5355,7 +6091,7 @@ declare namespace LocalJSX {
5355
6091
  */
5356
6092
  "expand"?: 'compact' | 'inset';
5357
6093
  /**
5358
- * The mode determines which platform styles to use.
6094
+ * The mode determines the platform behaviors of the component.
5359
6095
  */
5360
6096
  "mode"?: "ios" | "md";
5361
6097
  /**
@@ -5371,6 +6107,14 @@ declare namespace LocalJSX {
5371
6107
  * @default false
5372
6108
  */
5373
6109
  "readonly"?: boolean;
6110
+ /**
6111
+ * Set to `"soft"` for an accordion group with slightly rounded corners, `"round"` for an accordion group with fully rounded corners, or `"rectangular"` for an accordion group without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes. Only applies when `expand` is set to `"inset"`.
6112
+ */
6113
+ "shape"?: 'soft' | 'round' | 'rectangular';
6114
+ /**
6115
+ * The theme determines the visual appearance of the component.
6116
+ */
6117
+ "theme"?: "ios" | "md" | "ionic";
5374
6118
  /**
5375
6119
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
5376
6120
  */
@@ -5423,7 +6167,7 @@ declare namespace LocalJSX {
5423
6167
  */
5424
6168
  "leaveAnimation"?: AnimationBuilder;
5425
6169
  /**
5426
- * The mode determines which platform styles to use.
6170
+ * The mode determines the platform behaviors of the component.
5427
6171
  */
5428
6172
  "mode"?: "ios" | "md";
5429
6173
  /**
@@ -5463,7 +6207,11 @@ declare namespace LocalJSX {
5463
6207
  */
5464
6208
  "subHeader"?: string;
5465
6209
  /**
5466
- * If `true`, the action sheet will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6210
+ * The theme determines the visual appearance of the component.
6211
+ */
6212
+ "theme"?: "ios" | "md" | "ionic";
6213
+ /**
6214
+ * If `true`, the action sheet will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5467
6215
  * @default false
5468
6216
  */
5469
6217
  "translucent"?: boolean;
@@ -5528,7 +6276,7 @@ declare namespace LocalJSX {
5528
6276
  */
5529
6277
  "message"?: string | IonicSafeString;
5530
6278
  /**
5531
- * The mode determines which platform styles to use.
6279
+ * The mode determines the platform behaviors of the component.
5532
6280
  */
5533
6281
  "mode"?: "ios" | "md";
5534
6282
  /**
@@ -5568,7 +6316,11 @@ declare namespace LocalJSX {
5568
6316
  */
5569
6317
  "subHeader"?: string;
5570
6318
  /**
5571
- * If `true`, the alert will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6319
+ * The theme determines the visual appearance of the component.
6320
+ */
6321
+ "theme"?: "ios" | "md" | "ionic";
6322
+ /**
6323
+ * If `true`, the alert will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5572
6324
  * @default false
5573
6325
  */
5574
6326
  "translucent"?: boolean;
@@ -5578,8 +6330,37 @@ declare namespace LocalJSX {
5578
6330
  "trigger"?: string | undefined;
5579
6331
  }
5580
6332
  interface IonApp {
6333
+ /**
6334
+ * The mode determines the platform behaviors of the component.
6335
+ */
6336
+ "mode"?: "ios" | "md";
6337
+ /**
6338
+ * The theme determines the visual appearance of the component.
6339
+ */
6340
+ "theme"?: "ios" | "md" | "ionic";
5581
6341
  }
5582
6342
  interface IonAvatar {
6343
+ /**
6344
+ * If `true`, the user cannot interact with the avatar.
6345
+ * @default false
6346
+ */
6347
+ "disabled"?: boolean;
6348
+ /**
6349
+ * The mode determines the platform behaviors of the component.
6350
+ */
6351
+ "mode"?: "ios" | "md";
6352
+ /**
6353
+ * Set to `"soft"` for an avatar with slightly rounded corners, `"round"` for an avatar with fully rounded corners, or `"rectangular"` for an avatar without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
6354
+ */
6355
+ "shape"?: 'soft' | 'round' | 'rectangular';
6356
+ /**
6357
+ * Set to `"xxsmall"` for the smallest size. Set to `"xsmall"` for a very small size. Set to `"small"` for a compact size. Set to `"medium"` for the default height and width. Set to `"large"` for a larger size. Set to `"xlarge"` for the largest dimensions. Defaults to `"medium"` for the `ionic` theme, undefined for all other themes.
6358
+ */
6359
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
6360
+ /**
6361
+ * The theme determines the visual appearance of the component.
6362
+ */
6363
+ "theme"?: "ios" | "md" | "ionic";
5583
6364
  }
5584
6365
  interface IonBackButton {
5585
6366
  /**
@@ -5600,7 +6381,7 @@ declare namespace LocalJSX {
5600
6381
  */
5601
6382
  "icon"?: string | null;
5602
6383
  /**
5603
- * The mode determines which platform styles to use.
6384
+ * The mode determines the platform behaviors of the component.
5604
6385
  */
5605
6386
  "mode"?: "ios" | "md";
5606
6387
  /**
@@ -5611,6 +6392,10 @@ declare namespace LocalJSX {
5611
6392
  * The text to display in the back button.
5612
6393
  */
5613
6394
  "text"?: string | null;
6395
+ /**
6396
+ * The theme determines the visual appearance of the component.
6397
+ */
6398
+ "theme"?: "ios" | "md" | "ionic";
5614
6399
  /**
5615
6400
  * The type of the button.
5616
6401
  * @default 'button'
@@ -5618,6 +6403,10 @@ declare namespace LocalJSX {
5618
6403
  "type"?: 'submit' | 'reset' | 'button';
5619
6404
  }
5620
6405
  interface IonBackdrop {
6406
+ /**
6407
+ * The mode determines the platform behaviors of the component.
6408
+ */
6409
+ "mode"?: "ios" | "md";
5621
6410
  /**
5622
6411
  * Emitted when the backdrop is tapped.
5623
6412
  */
@@ -5632,6 +6421,10 @@ declare namespace LocalJSX {
5632
6421
  * @default true
5633
6422
  */
5634
6423
  "tappable"?: boolean;
6424
+ /**
6425
+ * The theme determines the visual appearance of the component.
6426
+ */
6427
+ "theme"?: "ios" | "md" | "ionic";
5635
6428
  /**
5636
6429
  * If `true`, the backdrop will be visible.
5637
6430
  * @default true
@@ -5644,9 +6437,29 @@ declare namespace LocalJSX {
5644
6437
  */
5645
6438
  "color"?: Color;
5646
6439
  /**
5647
- * The mode determines which platform styles to use.
6440
+ * Set to `"bold"` for a badge with vibrant, bold colors or to `"subtle"` for a badge with muted, subtle colors. Only applies to the `ionic` theme.
6441
+ */
6442
+ "hue"?: 'bold' | 'subtle';
6443
+ /**
6444
+ * The mode determines the platform behaviors of the component.
5648
6445
  */
5649
6446
  "mode"?: "ios" | "md";
6447
+ /**
6448
+ * Set to `"rectangular"` for non-rounded corners. Set to `"soft"` for slightly rounded corners. Set to `"round"` for fully rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
6449
+ */
6450
+ "shape"?: 'soft' | 'round | rectangular';
6451
+ /**
6452
+ * Set to `"small"` for a small badge. Set to `"medium"` for a medium badge. Set to `"large"` for a large badge, when it is empty (no text or icon). Defaults to `"small"` for the `ionic` theme, undefined for all other themes.
6453
+ */
6454
+ "size"?: 'small' | 'medium' | 'large';
6455
+ /**
6456
+ * The theme determines the visual appearance of the component.
6457
+ */
6458
+ "theme"?: "ios" | "md" | "ionic";
6459
+ /**
6460
+ * Set to `"top"` to position the badge on top right absolute position of the parent element. Set to `"bottom"` to position the badge on bottom right absolute position of the parent element.
6461
+ */
6462
+ "vertical"?: 'top' | 'bottom';
5650
6463
  }
5651
6464
  interface IonBreadcrumb {
5652
6465
  /**
@@ -5672,7 +6485,7 @@ declare namespace LocalJSX {
5672
6485
  */
5673
6486
  "href"?: string | undefined;
5674
6487
  /**
5675
- * The mode determines which platform styles to use.
6488
+ * The mode determines the platform behaviors of the component.
5676
6489
  */
5677
6490
  "mode"?: "ios" | "md";
5678
6491
  /**
@@ -5704,6 +6517,10 @@ declare namespace LocalJSX {
5704
6517
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5705
6518
  */
5706
6519
  "target"?: string | undefined;
6520
+ /**
6521
+ * The theme determines the visual appearance of the component.
6522
+ */
6523
+ "theme"?: "ios" | "md" | "ionic";
5707
6524
  }
5708
6525
  interface IonBreadcrumbs {
5709
6526
  /**
@@ -5725,13 +6542,17 @@ declare namespace LocalJSX {
5725
6542
  */
5726
6543
  "maxItems"?: number;
5727
6544
  /**
5728
- * The mode determines which platform styles to use.
6545
+ * The mode determines the platform behaviors of the component.
5729
6546
  */
5730
6547
  "mode"?: "ios" | "md";
5731
6548
  /**
5732
6549
  * Emitted when the collapsed indicator is clicked on.
5733
6550
  */
5734
6551
  "onIonCollapsedClick"?: (event: IonBreadcrumbsCustomEvent<BreadcrumbCollapsedClickEventDetail>) => void;
6552
+ /**
6553
+ * The theme determines the visual appearance of the component.
6554
+ */
6555
+ "theme"?: "ios" | "md" | "ionic";
5735
6556
  }
5736
6557
  interface IonButton {
5737
6558
  /**
@@ -5757,7 +6578,7 @@ declare namespace LocalJSX {
5757
6578
  */
5758
6579
  "expand"?: 'full' | 'block';
5759
6580
  /**
5760
- * Set to `"clear"` for a transparent button that resembles a flat button, to `"outline"` for a transparent button with a border, or to `"solid"` for a button with a filled background. The default fill is `"solid"` except inside of a toolbar, where the default is `"clear"`.
6581
+ * Set to `"clear"` for a transparent button that resembles a flat button, to `"outline"` for a transparent button with a border, or to `"solid"` for a button with a filled background. The default fill is `"solid"` except when inside of a buttons or datetime component, where the default fill is `"clear"`.
5761
6582
  */
5762
6583
  "fill"?: 'clear' | 'outline' | 'solid' | 'default';
5763
6584
  /**
@@ -5769,7 +6590,7 @@ declare namespace LocalJSX {
5769
6590
  */
5770
6591
  "href"?: string | undefined;
5771
6592
  /**
5772
- * The mode determines which platform styles to use.
6593
+ * The mode determines the platform behaviors of the component.
5773
6594
  */
5774
6595
  "mode"?: "ios" | "md";
5775
6596
  /**
@@ -5794,13 +6615,13 @@ declare namespace LocalJSX {
5794
6615
  */
5795
6616
  "routerDirection"?: RouterDirection;
5796
6617
  /**
5797
- * Set to `"round"` for a button with more rounded corners.
6618
+ * Set to `"soft"` for a button with slightly rounded corners, `"round"` for a button with fully rounded corners, or `"rectangular"` for a button without rounded corners. Defaults to `"soft"` for the `"ios"` theme and `"round"` for all other themes.
5798
6619
  */
5799
- "shape"?: 'round';
6620
+ "shape"?: 'soft' | 'round' | 'rectangular';
5800
6621
  /**
5801
- * Set to `"small"` for a button with less height and padding, to `"default"` for a button with the default height and padding, or to `"large"` for a button with more height and padding. By default the size is unset, unless the button is inside of an item, where the size is `"small"` by default. Set the size to `"default"` inside of an item to make it a standard size button.
6622
+ * Set to `"small"` for a button with less height and padding, to `"medium"` for a button with the medium height and padding, or to `"large"` for a button with more height and padding. By default the size is unset, unless the button is inside of an item, where the size is `"small"` by default. Set the size to `"default"` inside of an item to make it a standard size button.
5802
6623
  */
5803
- "size"?: 'small' | 'default' | 'large';
6624
+ "size"?: 'small' | 'default' | 'medium' | 'large';
5804
6625
  /**
5805
6626
  * If `true`, activates a button with a heavier font weight.
5806
6627
  * @default false
@@ -5810,6 +6631,10 @@ declare namespace LocalJSX {
5810
6631
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5811
6632
  */
5812
6633
  "target"?: string | undefined;
6634
+ /**
6635
+ * The theme determines the visual appearance of the component.
6636
+ */
6637
+ "theme"?: "ios" | "md" | "ionic";
5813
6638
  /**
5814
6639
  * The type of the button.
5815
6640
  * @default 'button'
@@ -5818,10 +6643,18 @@ declare namespace LocalJSX {
5818
6643
  }
5819
6644
  interface IonButtons {
5820
6645
  /**
5821
- * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in `ios` mode with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
6646
+ * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in the `ios` theme with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
5822
6647
  * @default false
5823
6648
  */
5824
6649
  "collapse"?: boolean;
6650
+ /**
6651
+ * The mode determines the platform behaviors of the component.
6652
+ */
6653
+ "mode"?: "ios" | "md";
6654
+ /**
6655
+ * The theme determines the visual appearance of the component.
6656
+ */
6657
+ "theme"?: "ios" | "md" | "ionic";
5825
6658
  }
5826
6659
  interface IonCard {
5827
6660
  /**
@@ -5847,7 +6680,7 @@ declare namespace LocalJSX {
5847
6680
  */
5848
6681
  "href"?: string | undefined;
5849
6682
  /**
5850
- * The mode determines which platform styles to use.
6683
+ * The mode determines the platform behaviors of the component.
5851
6684
  */
5852
6685
  "mode"?: "ios" | "md";
5853
6686
  /**
@@ -5863,10 +6696,19 @@ declare namespace LocalJSX {
5863
6696
  * @default 'forward'
5864
6697
  */
5865
6698
  "routerDirection"?: RouterDirection;
6699
+ /**
6700
+ * Set to `"soft"` for a card with slightly rounded corners, `"round"` for a card with more rounded corners, or `"rectangular"` for a card without rounded corners. Defaults to `"round"`.
6701
+ * @default 'round'
6702
+ */
6703
+ "shape"?: 'soft' | 'round' | 'rectangular';
5866
6704
  /**
5867
6705
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5868
6706
  */
5869
6707
  "target"?: string | undefined;
6708
+ /**
6709
+ * The theme determines the visual appearance of the component.
6710
+ */
6711
+ "theme"?: "ios" | "md" | "ionic";
5870
6712
  /**
5871
6713
  * The type of the button. Only used when an `onclick` or `button` property is present.
5872
6714
  * @default 'button'
@@ -5875,9 +6717,13 @@ declare namespace LocalJSX {
5875
6717
  }
5876
6718
  interface IonCardContent {
5877
6719
  /**
5878
- * The mode determines which platform styles to use.
6720
+ * The mode determines the platform behaviors of the component.
5879
6721
  */
5880
6722
  "mode"?: "ios" | "md";
6723
+ /**
6724
+ * The theme determines the visual appearance of the component.
6725
+ */
6726
+ "theme"?: "ios" | "md" | "ionic";
5881
6727
  }
5882
6728
  interface IonCardHeader {
5883
6729
  /**
@@ -5885,11 +6731,15 @@ declare namespace LocalJSX {
5885
6731
  */
5886
6732
  "color"?: Color;
5887
6733
  /**
5888
- * The mode determines which platform styles to use.
6734
+ * The mode determines the platform behaviors of the component.
5889
6735
  */
5890
6736
  "mode"?: "ios" | "md";
5891
6737
  /**
5892
- * If `true`, the card header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6738
+ * The theme determines the visual appearance of the component.
6739
+ */
6740
+ "theme"?: "ios" | "md" | "ionic";
6741
+ /**
6742
+ * If `true`, the card header will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5893
6743
  * @default false
5894
6744
  */
5895
6745
  "translucent"?: boolean;
@@ -5900,9 +6750,13 @@ declare namespace LocalJSX {
5900
6750
  */
5901
6751
  "color"?: Color;
5902
6752
  /**
5903
- * The mode determines which platform styles to use.
6753
+ * The mode determines the platform behaviors of the component.
5904
6754
  */
5905
6755
  "mode"?: "ios" | "md";
6756
+ /**
6757
+ * The theme determines the visual appearance of the component.
6758
+ */
6759
+ "theme"?: "ios" | "md" | "ionic";
5906
6760
  }
5907
6761
  interface IonCardTitle {
5908
6762
  /**
@@ -5910,9 +6764,13 @@ declare namespace LocalJSX {
5910
6764
  */
5911
6765
  "color"?: Color;
5912
6766
  /**
5913
- * The mode determines which platform styles to use.
6767
+ * The mode determines the platform behaviors of the component.
5914
6768
  */
5915
6769
  "mode"?: "ios" | "md";
6770
+ /**
6771
+ * The theme determines the visual appearance of the component.
6772
+ */
6773
+ "theme"?: "ios" | "md" | "ionic";
5916
6774
  }
5917
6775
  interface IonCheckbox {
5918
6776
  /**
@@ -5956,7 +6814,7 @@ declare namespace LocalJSX {
5956
6814
  */
5957
6815
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
5958
6816
  /**
5959
- * The mode determines which platform styles to use.
6817
+ * The mode determines the platform behaviors of the component.
5960
6818
  */
5961
6819
  "mode"?: "ios" | "md";
5962
6820
  /**
@@ -5969,7 +6827,7 @@ declare namespace LocalJSX {
5969
6827
  */
5970
6828
  "onIonBlur"?: (event: IonCheckboxCustomEvent<void>) => void;
5971
6829
  /**
5972
- * Emitted when the checked property has changed as a result of a user action such as a click. This event will not emit when programmatically setting the `checked` property.
6830
+ * Emitted when the checked property has changed as a result of a user action such as a click. This event will not emit when programmatically setting the `checked` property.
5973
6831
  */
5974
6832
  "onIonChange"?: (event: IonCheckboxCustomEvent<CheckboxChangeEventDetail>) => void;
5975
6833
  /**
@@ -5981,6 +6839,19 @@ declare namespace LocalJSX {
5981
6839
  * @default false
5982
6840
  */
5983
6841
  "required"?: boolean;
6842
+ /**
6843
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
6844
+ * @default 'soft'
6845
+ */
6846
+ "shape"?: 'soft' | 'rectangular';
6847
+ /**
6848
+ * Set to `"small"` for a checkbox with less height and padding.
6849
+ */
6850
+ "size"?: 'small';
6851
+ /**
6852
+ * The theme determines the visual appearance of the component.
6853
+ */
6854
+ "theme"?: "ios" | "md" | "ionic";
5984
6855
  /**
5985
6856
  * The value of the checkbox does not mean if it's checked or not, use the `checked` property for that. The value of a checkbox is analogous to the value of an `<input type="checkbox">`, it's only used when the checkbox participates in a native `<form>`.
5986
6857
  * @default 'on'
@@ -5998,7 +6869,12 @@ declare namespace LocalJSX {
5998
6869
  */
5999
6870
  "disabled"?: boolean;
6000
6871
  /**
6001
- * The mode determines which platform styles to use.
6872
+ * Set to `"bold"` for a chip with vibrant, bold colors or to `"subtle"` for a chip with muted, subtle colors. Only applies to the `ionic` theme.
6873
+ * @default 'subtle'
6874
+ */
6875
+ "hue"?: 'bold' | 'subtle';
6876
+ /**
6877
+ * The mode determines the platform behaviors of the component.
6002
6878
  */
6003
6879
  "mode"?: "ios" | "md";
6004
6880
  /**
@@ -6006,8 +6882,24 @@ declare namespace LocalJSX {
6006
6882
  * @default false
6007
6883
  */
6008
6884
  "outline"?: boolean;
6885
+ /**
6886
+ * Set to `"soft"` for a chip with slightly rounded corners, `"round"` for a chip with fully rounded corners, or `"rectangular"` for a chip without rounded corners. Defaults to `"round"` for the `"ionic"` theme and `"soft"` for all other themes.
6887
+ */
6888
+ "shape"?: 'soft' | 'round' | 'rectangular';
6889
+ /**
6890
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
6891
+ */
6892
+ "size"?: 'small' | 'large';
6893
+ /**
6894
+ * The theme determines the visual appearance of the component.
6895
+ */
6896
+ "theme"?: "ios" | "md" | "ionic";
6009
6897
  }
6010
6898
  interface IonCol {
6899
+ /**
6900
+ * The mode determines the platform behaviors of the component.
6901
+ */
6902
+ "mode"?: "ios" | "md";
6011
6903
  /**
6012
6904
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
6013
6905
  */
@@ -6032,52 +6924,88 @@ declare namespace LocalJSX {
6032
6924
  * The amount to offset the column for xs screens, in terms of how many columns it should shift to the end of the total available.
6033
6925
  */
6034
6926
  "offsetXs"?: string;
6927
+ /**
6928
+ * The order of the column, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
6929
+ */
6930
+ "order"?: string;
6931
+ /**
6932
+ * The order of the column for lg screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
6933
+ */
6934
+ "orderLg"?: string;
6935
+ /**
6936
+ * The order of the column for md screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
6937
+ */
6938
+ "orderMd"?: string;
6939
+ /**
6940
+ * The order of the column for sm screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
6941
+ */
6942
+ "orderSm"?: string;
6943
+ /**
6944
+ * The order of the column for xl screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
6945
+ */
6946
+ "orderXl"?: string;
6947
+ /**
6948
+ * The order of the column for xs screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
6949
+ */
6950
+ "orderXs"?: string;
6035
6951
  /**
6036
6952
  * The amount to pull the column, in terms of how many columns it should shift to the start of the total available.
6953
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6037
6954
  */
6038
6955
  "pull"?: string;
6039
6956
  /**
6040
6957
  * The amount to pull the column for lg screens, in terms of how many columns it should shift to the start of the total available.
6958
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6041
6959
  */
6042
6960
  "pullLg"?: string;
6043
6961
  /**
6044
6962
  * The amount to pull the column for md screens, in terms of how many columns it should shift to the start of the total available.
6963
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6045
6964
  */
6046
6965
  "pullMd"?: string;
6047
6966
  /**
6048
6967
  * The amount to pull the column for sm screens, in terms of how many columns it should shift to the start of the total available.
6968
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6049
6969
  */
6050
6970
  "pullSm"?: string;
6051
6971
  /**
6052
6972
  * The amount to pull the column for xl screens, in terms of how many columns it should shift to the start of the total available.
6973
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6053
6974
  */
6054
6975
  "pullXl"?: string;
6055
6976
  /**
6056
6977
  * The amount to pull the column for xs screens, in terms of how many columns it should shift to the start of the total available.
6978
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6057
6979
  */
6058
6980
  "pullXs"?: string;
6059
6981
  /**
6060
6982
  * The amount to push the column, in terms of how many columns it should shift to the end of the total available.
6983
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6061
6984
  */
6062
6985
  "push"?: string;
6063
6986
  /**
6064
6987
  * The amount to push the column for lg screens, in terms of how many columns it should shift to the end of the total available.
6988
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6065
6989
  */
6066
6990
  "pushLg"?: string;
6067
6991
  /**
6068
6992
  * The amount to push the column for md screens, in terms of how many columns it should shift to the end of the total available.
6993
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6069
6994
  */
6070
6995
  "pushMd"?: string;
6071
6996
  /**
6072
6997
  * The amount to push the column for sm screens, in terms of how many columns it should shift to the end of the total available.
6998
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6073
6999
  */
6074
7000
  "pushSm"?: string;
6075
7001
  /**
6076
7002
  * The amount to push the column for xl screens, in terms of how many columns it should shift to the end of the total available.
7003
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6077
7004
  */
6078
7005
  "pushXl"?: string;
6079
7006
  /**
6080
7007
  * The amount to push the column for xs screens, in terms of how many columns it should shift to the end of the total available.
7008
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6081
7009
  */
6082
7010
  "pushXs"?: string;
6083
7011
  /**
@@ -6104,6 +7032,10 @@ declare namespace LocalJSX {
6104
7032
  * The size of the column for xs screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
6105
7033
  */
6106
7034
  "sizeXs"?: string;
7035
+ /**
7036
+ * The theme determines the visual appearance of the component.
7037
+ */
7038
+ "theme"?: "ios" | "md" | "ionic";
6107
7039
  }
6108
7040
  interface IonContent {
6109
7041
  /**
@@ -6124,6 +7056,10 @@ declare namespace LocalJSX {
6124
7056
  * @default false
6125
7057
  */
6126
7058
  "fullscreen"?: boolean;
7059
+ /**
7060
+ * The mode determines the platform behaviors of the component.
7061
+ */
7062
+ "mode"?: "ios" | "md";
6127
7063
  /**
6128
7064
  * Emitted while scrolling. This event is disabled by default. Set `scrollEvents` to `true` to enable.
6129
7065
  */
@@ -6151,6 +7087,10 @@ declare namespace LocalJSX {
6151
7087
  * @default true
6152
7088
  */
6153
7089
  "scrollY"?: boolean;
7090
+ /**
7091
+ * The theme determines the visual appearance of the component.
7092
+ */
7093
+ "theme"?: "ios" | "md" | "ionic";
6154
7094
  }
6155
7095
  interface IonDatetime {
6156
7096
  /**
@@ -6225,7 +7165,7 @@ declare namespace LocalJSX {
6225
7165
  */
6226
7166
  "minuteValues"?: number[] | number | string;
6227
7167
  /**
6228
- * The mode determines which platform styles to use.
7168
+ * The mode determines the platform behaviors of the component.
6229
7169
  */
6230
7170
  "mode"?: "ios" | "md";
6231
7171
  /**
@@ -6303,6 +7243,10 @@ declare namespace LocalJSX {
6303
7243
  * @default 'fixed'
6304
7244
  */
6305
7245
  "size"?: 'cover' | 'fixed';
7246
+ /**
7247
+ * The theme determines the visual appearance of the component.
7248
+ */
7249
+ "theme"?: "ios" | "md" | "ionic";
6306
7250
  /**
6307
7251
  * A callback used to format the header text that shows how many dates are selected. Only used if there are 0 or more than 1 selected (i.e. unused for exactly 1). By default, the header text is set to "numberOfDates days". See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this if you need to access `this` from within the callback.
6308
7252
  */
@@ -6332,9 +7276,25 @@ declare namespace LocalJSX {
6332
7276
  */
6333
7277
  "disabled"?: boolean;
6334
7278
  /**
6335
- * The mode determines which platform styles to use.
7279
+ * The mode determines the platform behaviors of the component.
6336
7280
  */
6337
7281
  "mode"?: "ios" | "md";
7282
+ /**
7283
+ * The theme determines the visual appearance of the component.
7284
+ */
7285
+ "theme"?: "ios" | "md" | "ionic";
7286
+ }
7287
+ interface IonDivider {
7288
+ /**
7289
+ * If `true`, the divider will have horizontal margins By default, it's `false`
7290
+ * @default false
7291
+ */
7292
+ "inset"?: boolean;
7293
+ /**
7294
+ * Set to `"xxsmall"` for the smallest spacing. Set to "xsmall" for very small spacing. Set to `"small"` for small spacing. Set to "medium" for medium spacing. Set to "large" for large spacing. Set to `"xlarge"` for the largest spacing. Defaults to `"medium"`.
7295
+ * @default 'medium'
7296
+ */
7297
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
6338
7298
  }
6339
7299
  interface IonFab {
6340
7300
  /**
@@ -6351,6 +7311,14 @@ declare namespace LocalJSX {
6351
7311
  * Where to align the fab horizontally in the viewport.
6352
7312
  */
6353
7313
  "horizontal"?: 'start' | 'end' | 'center';
7314
+ /**
7315
+ * The mode determines the platform behaviors of the component.
7316
+ */
7317
+ "mode"?: "ios" | "md";
7318
+ /**
7319
+ * The theme determines the visual appearance of the component.
7320
+ */
7321
+ "theme"?: "ios" | "md" | "ionic";
6354
7322
  /**
6355
7323
  * Where to align the fab vertically in the viewport.
6356
7324
  */
@@ -6364,7 +7332,6 @@ declare namespace LocalJSX {
6364
7332
  "activated"?: boolean;
6365
7333
  /**
6366
7334
  * The icon name to use for the close icon. This will appear when the fab button is pressed. Only applies if it is the main button inside of a fab containing a fab list.
6367
- * @default close
6368
7335
  */
6369
7336
  "closeIcon"?: string;
6370
7337
  /**
@@ -6385,7 +7352,7 @@ declare namespace LocalJSX {
6385
7352
  */
6386
7353
  "href"?: string | undefined;
6387
7354
  /**
6388
- * The mode determines which platform styles to use.
7355
+ * The mode determines the platform behaviors of the component.
6389
7356
  */
6390
7357
  "mode"?: "ios" | "md";
6391
7358
  /**
@@ -6423,7 +7390,11 @@ declare namespace LocalJSX {
6423
7390
  */
6424
7391
  "target"?: string | undefined;
6425
7392
  /**
6426
- * If `true`, the fab button will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
7393
+ * The theme determines the visual appearance of the component.
7394
+ */
7395
+ "theme"?: "ios" | "md" | "ionic";
7396
+ /**
7397
+ * If `true`, the fab button will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6427
7398
  * @default false
6428
7399
  */
6429
7400
  "translucent"?: boolean;
@@ -6439,23 +7410,35 @@ declare namespace LocalJSX {
6439
7410
  * @default false
6440
7411
  */
6441
7412
  "activated"?: boolean;
7413
+ /**
7414
+ * The mode determines the platform behaviors of the component.
7415
+ */
7416
+ "mode"?: "ios" | "md";
6442
7417
  /**
6443
7418
  * The side the fab list will show on relative to the main fab button.
6444
7419
  * @default 'bottom'
6445
7420
  */
6446
7421
  "side"?: 'start' | 'end' | 'top' | 'bottom';
7422
+ /**
7423
+ * The theme determines the visual appearance of the component.
7424
+ */
7425
+ "theme"?: "ios" | "md" | "ionic";
6447
7426
  }
6448
7427
  interface IonFooter {
6449
7428
  /**
6450
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
7429
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
6451
7430
  */
6452
7431
  "collapse"?: 'fade';
6453
7432
  /**
6454
- * The mode determines which platform styles to use.
7433
+ * The mode determines the platform behaviors of the component.
6455
7434
  */
6456
7435
  "mode"?: "ios" | "md";
6457
7436
  /**
6458
- * If `true`, the footer will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
7437
+ * The theme determines the visual appearance of the component.
7438
+ */
7439
+ "theme"?: "ios" | "md" | "ionic";
7440
+ /**
7441
+ * If `true`, the footer will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
6459
7442
  * @default false
6460
7443
  */
6461
7444
  "translucent"?: boolean;
@@ -6466,18 +7449,35 @@ declare namespace LocalJSX {
6466
7449
  * @default false
6467
7450
  */
6468
7451
  "fixed"?: boolean;
7452
+ /**
7453
+ * The mode determines the platform behaviors of the component.
7454
+ */
7455
+ "mode"?: "ios" | "md";
7456
+ /**
7457
+ * The theme determines the visual appearance of the component.
7458
+ */
7459
+ "theme"?: "ios" | "md" | "ionic";
6469
7460
  }
6470
7461
  interface IonHeader {
6471
7462
  /**
6472
- * Describes the scroll effect that will be applied to the header. Only applies in iOS mode. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
7463
+ * Describes the scroll effect that will be applied to the header. Only applies when the theme is `"ios"`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
6473
7464
  */
6474
7465
  "collapse"?: 'condense' | 'fade';
6475
7466
  /**
6476
- * The mode determines which platform styles to use.
7467
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
7468
+ * @default false
7469
+ */
7470
+ "divider"?: boolean;
7471
+ /**
7472
+ * The mode determines the platform behaviors of the component.
6477
7473
  */
6478
7474
  "mode"?: "ios" | "md";
6479
7475
  /**
6480
- * If `true`, the header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
7476
+ * The theme determines the visual appearance of the component.
7477
+ */
7478
+ "theme"?: "ios" | "md" | "ionic";
7479
+ /**
7480
+ * If `true`, the header will be translucent. Only applies when the theme is `"ios"` or `"ionic"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
6481
7481
  * @default false
6482
7482
  */
6483
7483
  "translucent"?: boolean;
@@ -6487,6 +7487,10 @@ declare namespace LocalJSX {
6487
7487
  * This attribute defines the alternative text describing the image. Users will see this text displayed if the image URL is wrong, the image is not in one of the supported formats, or if the image is not yet downloaded.
6488
7488
  */
6489
7489
  "alt"?: string;
7490
+ /**
7491
+ * The mode determines the platform behaviors of the component.
7492
+ */
7493
+ "mode"?: "ios" | "md";
6490
7494
  /**
6491
7495
  * Emitted when the img fails to load
6492
7496
  */
@@ -6503,6 +7507,10 @@ declare namespace LocalJSX {
6503
7507
  * The image URL. This attribute is mandatory for the `<img>` element.
6504
7508
  */
6505
7509
  "src"?: string;
7510
+ /**
7511
+ * The theme determines the visual appearance of the component.
7512
+ */
7513
+ "theme"?: "ios" | "md" | "ionic";
6506
7514
  }
6507
7515
  interface IonInfiniteScroll {
6508
7516
  /**
@@ -6510,6 +7518,10 @@ declare namespace LocalJSX {
6510
7518
  * @default false
6511
7519
  */
6512
7520
  "disabled"?: boolean;
7521
+ /**
7522
+ * The mode determines the platform behaviors of the component.
7523
+ */
7524
+ "mode"?: "ios" | "md";
6513
7525
  /**
6514
7526
  * Emitted when the scroll reaches the threshold distance. From within your infinite handler, you must call the infinite scroll's `complete()` method when your async operation has completed.
6515
7527
  */
@@ -6519,6 +7531,15 @@ declare namespace LocalJSX {
6519
7531
  * @default 'bottom'
6520
7532
  */
6521
7533
  "position"?: 'top' | 'bottom';
7534
+ /**
7535
+ * If `true`, the infinite scroll will preserve the scroll position when the content is re-rendered. This is useful when the content is re-rendered with new keys, and the scroll position should be preserved.
7536
+ * @default false
7537
+ */
7538
+ "preserveRerenderScrollPosition"?: boolean;
7539
+ /**
7540
+ * The theme determines the visual appearance of the component.
7541
+ */
7542
+ "theme"?: "ios" | "md" | "ionic";
6522
7543
  /**
6523
7544
  * The threshold distance from the bottom of the content to call the `infinite` output event when scrolled. The threshold value can be either a percent, or in pixels. For example, use the value of `10%` for the `infinite` output event to get called when the user has scrolled 10% from the bottom of the page. Use the value `100px` when the scroll is within 100 pixels from the bottom of the page.
6524
7545
  * @default '15%'
@@ -6534,6 +7555,14 @@ declare namespace LocalJSX {
6534
7555
  * Optional text to display while loading. `loadingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) This property accepts custom HTML as a string. Content is parsed as plaintext by default. `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config before custom HTML can be used.
6535
7556
  */
6536
7557
  "loadingText"?: string | IonicSafeString;
7558
+ /**
7559
+ * The mode determines the platform behaviors of the component.
7560
+ */
7561
+ "mode"?: "ios" | "md";
7562
+ /**
7563
+ * The theme determines the visual appearance of the component.
7564
+ */
7565
+ "theme"?: "ios" | "md" | "ionic";
6537
7566
  }
6538
7567
  interface IonInput {
6539
7568
  /**
@@ -6600,7 +7629,7 @@ declare namespace LocalJSX {
6600
7629
  */
6601
7630
  "errorText"?: string;
6602
7631
  /**
6603
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
7632
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available when the theme is `"md"`.
6604
7633
  */
6605
7634
  "fill"?: 'outline' | 'solid';
6606
7635
  /**
@@ -6616,8 +7645,7 @@ declare namespace LocalJSX {
6616
7645
  */
6617
7646
  "label"?: string;
6618
7647
  /**
6619
- * Where to place the label relative to the input. `"start"`: The label will appear to the left of the input in LTR and to the right in RTL. `"end"`: The label will appear to the right of the input in LTR and to the left in RTL. `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input. `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
6620
- * @default 'start'
7648
+ * Where to place the label relative to the input. `"start"`: The label will appear to the left of the input in LTR and to the right in RTL. `"end"`: The label will appear to the right of the input in LTR and to the left in RTL. `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input. `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("..."). Defaults to "stacked" for the ionic theme, or "start" for all other themes. In the ionic theme, only the values "stacked" and "floating" are supported.
6621
7649
  */
6622
7650
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
6623
7651
  /**
@@ -6637,7 +7665,7 @@ declare namespace LocalJSX {
6637
7665
  */
6638
7666
  "minlength"?: number;
6639
7667
  /**
6640
- * The mode determines which platform styles to use.
7668
+ * The mode determines the platform behaviors of the component.
6641
7669
  */
6642
7670
  "mode"?: "ios" | "md";
6643
7671
  /**
@@ -6684,9 +7712,14 @@ declare namespace LocalJSX {
6684
7712
  */
6685
7713
  "required"?: boolean;
6686
7714
  /**
6687
- * The shape of the input. If "round" it will have an increased border radius.
7715
+ * Set to `"soft"` for an input with slightly rounded corners, `"round"` for an input with fully rounded corners, or `"rectangular"` for an input without rounded corners. Defaults to `"round"` for the ionic theme, and `undefined` for all other themes. Only applies when the fill is set to `"solid"` or `"outline"`.
7716
+ */
7717
+ "shape"?: 'soft' | 'round' | 'rectangular';
7718
+ /**
7719
+ * The size of the input. If "large", it will have an increased height. By default the size is medium. This property only applies to the `"ionic"` theme.
7720
+ * @default 'medium'
6688
7721
  */
6689
- "shape"?: 'round';
7722
+ "size"?: 'medium' | 'large' | 'xlarge';
6690
7723
  /**
6691
7724
  * If `true`, the element will have its spelling and grammar checked.
6692
7725
  * @default false
@@ -6696,6 +7729,10 @@ declare namespace LocalJSX {
6696
7729
  * Works with the min and max attributes to limit the increments at which a value can be set. Possible values are: `"any"` or a positive floating point number.
6697
7730
  */
6698
7731
  "step"?: string;
7732
+ /**
7733
+ * The theme determines the visual appearance of the component.
7734
+ */
7735
+ "theme"?: "ios" | "md" | "ionic";
6699
7736
  /**
6700
7737
  * The type of control to display. The default type is text.
6701
7738
  * @default 'text'
@@ -6727,6 +7764,10 @@ declare namespace LocalJSX {
6727
7764
  * @default 'outline'
6728
7765
  */
6729
7766
  "fill"?: 'outline' | 'solid';
7767
+ /**
7768
+ * The `id` of a `<form>` element to associate this element with.
7769
+ */
7770
+ "form"?: string;
6730
7771
  /**
6731
7772
  * A hint to the browser for which keyboard to display. Possible values: `"none"`, `"text"`, `"tel"`, `"url"`, `"email"`, `"numeric"`, `"decimal"`, and `"search"`. For numbers (type="number"): "numeric" For text (type="text"): "text"
6732
7773
  */
@@ -6736,6 +7777,14 @@ declare namespace LocalJSX {
6736
7777
  * @default 4
6737
7778
  */
6738
7779
  "length"?: number;
7780
+ /**
7781
+ * The mode determines the platform behaviors of the component.
7782
+ */
7783
+ "mode"?: "ios" | "md";
7784
+ /**
7785
+ * The name of the element, used when submitting an HTML form.
7786
+ */
7787
+ "name"?: string;
6739
7788
  /**
6740
7789
  * Emitted when the input group loses focus.
6741
7790
  */
@@ -6779,6 +7828,10 @@ declare namespace LocalJSX {
6779
7828
  * @default 'medium'
6780
7829
  */
6781
7830
  "size"?: 'small' | 'medium' | 'large';
7831
+ /**
7832
+ * The theme determines the visual appearance of the component.
7833
+ */
7834
+ "theme"?: "ios" | "md" | "ionic";
6782
7835
  /**
6783
7836
  * The type of input allowed in the input boxes.
6784
7837
  * @default 'number'
@@ -6819,12 +7872,11 @@ declare namespace LocalJSX {
6819
7872
  */
6820
7873
  "color"?: Color;
6821
7874
  /**
6822
- * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `mode` is `ios` and an `href` or `button` property is present.
7875
+ * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `theme` is `"ios"` and an `href` or `button` property is present.
6823
7876
  */
6824
7877
  "detail"?: boolean;
6825
7878
  /**
6826
7879
  * The icon to use when `detail` is set to `true`.
6827
- * @default chevronForward
6828
7880
  */
6829
7881
  "detailIcon"?: string;
6830
7882
  /**
@@ -6845,7 +7897,7 @@ declare namespace LocalJSX {
6845
7897
  */
6846
7898
  "lines"?: 'full' | 'inset' | 'none';
6847
7899
  /**
6848
- * The mode determines which platform styles to use.
7900
+ * The mode determines the platform behaviors of the component.
6849
7901
  */
6850
7902
  "mode"?: "ios" | "md";
6851
7903
  /**
@@ -6865,6 +7917,10 @@ declare namespace LocalJSX {
6865
7917
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6866
7918
  */
6867
7919
  "target"?: string | undefined;
7920
+ /**
7921
+ * The theme determines the visual appearance of the component.
7922
+ */
7923
+ "theme"?: "ios" | "md" | "ionic";
6868
7924
  /**
6869
7925
  * The type of the button. Only used when an `onclick` or `button` property is present.
6870
7926
  * @default 'button'
@@ -6877,7 +7933,7 @@ declare namespace LocalJSX {
6877
7933
  */
6878
7934
  "color"?: Color;
6879
7935
  /**
6880
- * The mode determines which platform styles to use.
7936
+ * The mode determines the platform behaviors of the component.
6881
7937
  */
6882
7938
  "mode"?: "ios" | "md";
6883
7939
  /**
@@ -6885,8 +7941,20 @@ declare namespace LocalJSX {
6885
7941
  * @default false
6886
7942
  */
6887
7943
  "sticky"?: boolean;
7944
+ /**
7945
+ * The theme determines the visual appearance of the component.
7946
+ */
7947
+ "theme"?: "ios" | "md" | "ionic";
6888
7948
  }
6889
7949
  interface IonItemGroup {
7950
+ /**
7951
+ * The mode determines the platform behaviors of the component.
7952
+ */
7953
+ "mode"?: "ios" | "md";
7954
+ /**
7955
+ * The theme determines the visual appearance of the component.
7956
+ */
7957
+ "theme"?: "ios" | "md" | "ionic";
6890
7958
  }
6891
7959
  interface IonItemOption {
6892
7960
  /**
@@ -6912,17 +7980,30 @@ declare namespace LocalJSX {
6912
7980
  */
6913
7981
  "href"?: string | undefined;
6914
7982
  /**
6915
- * The mode determines which platform styles to use.
7983
+ * Set to `"bold"` for an option with vibrant, bold colors or to `"subtle"` for an option with muted, subtle colors. Only applies to the `ionic` theme.
7984
+ * @default 'subtle'
7985
+ */
7986
+ "hue"?: 'bold' | 'subtle';
7987
+ /**
7988
+ * The mode determines the platform behaviors of the component.
6916
7989
  */
6917
7990
  "mode"?: "ios" | "md";
6918
7991
  /**
6919
7992
  * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
6920
7993
  */
6921
7994
  "rel"?: string | undefined;
7995
+ /**
7996
+ * Set to `"rectangular"` for non-rounded corners. Set to `"soft"` for slightly rounded corners. Set to `"round"` for fully rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
7997
+ */
7998
+ "shape"?: 'soft' | 'round' | 'rectangular';
6922
7999
  /**
6923
8000
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6924
8001
  */
6925
8002
  "target"?: string | undefined;
8003
+ /**
8004
+ * The theme determines the visual appearance of the component.
8005
+ */
8006
+ "theme"?: "ios" | "md" | "ionic";
6926
8007
  /**
6927
8008
  * The type of the button.
6928
8009
  * @default 'button'
@@ -6930,6 +8011,10 @@ declare namespace LocalJSX {
6930
8011
  "type"?: 'submit' | 'reset' | 'button';
6931
8012
  }
6932
8013
  interface IonItemOptions {
8014
+ /**
8015
+ * The mode determines the platform behaviors of the component.
8016
+ */
8017
+ "mode"?: "ios" | "md";
6933
8018
  /**
6934
8019
  * Emitted when the item has been fully swiped.
6935
8020
  */
@@ -6939,17 +8024,29 @@ declare namespace LocalJSX {
6939
8024
  * @default 'end'
6940
8025
  */
6941
8026
  "side"?: Side;
8027
+ /**
8028
+ * The theme determines the visual appearance of the component.
8029
+ */
8030
+ "theme"?: "ios" | "md" | "ionic";
6942
8031
  }
6943
8032
  interface IonItemSliding {
6944
8033
  /**
6945
8034
  * If `true`, the user cannot interact with the sliding item.
6946
8035
  * @default false
6947
8036
  */
6948
- "disabled"?: boolean;
8037
+ "disabled"?: boolean;
8038
+ /**
8039
+ * The mode determines the platform behaviors of the component.
8040
+ */
8041
+ "mode"?: "ios" | "md";
6949
8042
  /**
6950
8043
  * Emitted when the sliding position changes.
6951
8044
  */
6952
8045
  "onIonDrag"?: (event: IonItemSlidingCustomEvent<any>) => void;
8046
+ /**
8047
+ * The theme determines the visual appearance of the component.
8048
+ */
8049
+ "theme"?: "ios" | "md" | "ionic";
6953
8050
  }
6954
8051
  interface IonLabel {
6955
8052
  /**
@@ -6957,13 +8054,17 @@ declare namespace LocalJSX {
6957
8054
  */
6958
8055
  "color"?: Color;
6959
8056
  /**
6960
- * The mode determines which platform styles to use.
8057
+ * The mode determines the platform behaviors of the component.
6961
8058
  */
6962
8059
  "mode"?: "ios" | "md";
6963
8060
  /**
6964
8061
  * The position determines where and how the label behaves inside an item.
6965
8062
  */
6966
8063
  "position"?: 'fixed' | 'stacked' | 'floating';
8064
+ /**
8065
+ * The theme determines the visual appearance of the component.
8066
+ */
8067
+ "theme"?: "ios" | "md" | "ionic";
6967
8068
  }
6968
8069
  interface IonList {
6969
8070
  /**
@@ -6976,9 +8077,17 @@ declare namespace LocalJSX {
6976
8077
  */
6977
8078
  "lines"?: 'full' | 'inset' | 'none';
6978
8079
  /**
6979
- * The mode determines which platform styles to use.
8080
+ * The mode determines the platform behaviors of the component.
6980
8081
  */
6981
8082
  "mode"?: "ios" | "md";
8083
+ /**
8084
+ * Set to `"soft"` for slightly rounded corners, `"round"` for fully rounded corners, or `"rectangular"` for no rounded corners. Defaults to `"round"` for the `ionic` theme when inset is `true` defaults to `"rectangular"` for the `ionic` theme when inset is `false`, undefined for all other themes.
8085
+ */
8086
+ "shape"?: 'soft' | 'round' | 'rectangular';
8087
+ /**
8088
+ * The theme determines the visual appearance of the component.
8089
+ */
8090
+ "theme"?: "ios" | "md" | "ionic";
6982
8091
  }
6983
8092
  interface IonListHeader {
6984
8093
  /**
@@ -6990,9 +8099,13 @@ declare namespace LocalJSX {
6990
8099
  */
6991
8100
  "lines"?: 'full' | 'inset' | 'none';
6992
8101
  /**
6993
- * The mode determines which platform styles to use.
8102
+ * The mode determines the platform behaviors of the component.
6994
8103
  */
6995
8104
  "mode"?: "ios" | "md";
8105
+ /**
8106
+ * The theme determines the visual appearance of the component.
8107
+ */
8108
+ "theme"?: "ios" | "md" | "ionic";
6996
8109
  }
6997
8110
  interface IonLoading {
6998
8111
  /**
@@ -7041,7 +8154,7 @@ declare namespace LocalJSX {
7041
8154
  */
7042
8155
  "message"?: string | IonicSafeString;
7043
8156
  /**
7044
- * The mode determines which platform styles to use.
8157
+ * The mode determines the platform behaviors of the component.
7045
8158
  */
7046
8159
  "mode"?: "ios" | "md";
7047
8160
  /**
@@ -7086,7 +8199,11 @@ declare namespace LocalJSX {
7086
8199
  */
7087
8200
  "spinner"?: SpinnerTypes | null;
7088
8201
  /**
7089
- * If `true`, the loading indicator will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
8202
+ * The theme determines the visual appearance of the component.
8203
+ */
8204
+ "theme"?: "ios" | "md" | "ionic";
8205
+ /**
8206
+ * If `true`, the loading indicator will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
7090
8207
  * @default false
7091
8208
  */
7092
8209
  "translucent"?: boolean;
@@ -7114,6 +8231,10 @@ declare namespace LocalJSX {
7114
8231
  * An id for the menu.
7115
8232
  */
7116
8233
  "menuId"?: string;
8234
+ /**
8235
+ * The mode determines the platform behaviors of the component.
8236
+ */
8237
+ "mode"?: "ios" | "md";
7117
8238
  /**
7118
8239
  * Emitted when the menu is closed.
7119
8240
  */
@@ -7140,6 +8261,10 @@ declare namespace LocalJSX {
7140
8261
  * @default true
7141
8262
  */
7142
8263
  "swipeGesture"?: boolean;
8264
+ /**
8265
+ * The theme determines the visual appearance of the component.
8266
+ */
8267
+ "theme"?: "ios" | "md" | "ionic";
7143
8268
  /**
7144
8269
  * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
7145
8270
  */
@@ -7165,9 +8290,13 @@ declare namespace LocalJSX {
7165
8290
  */
7166
8291
  "menu"?: string;
7167
8292
  /**
7168
- * The mode determines which platform styles to use.
8293
+ * The mode determines the platform behaviors of the component.
7169
8294
  */
7170
8295
  "mode"?: "ios" | "md";
8296
+ /**
8297
+ * The theme determines the visual appearance of the component.
8298
+ */
8299
+ "theme"?: "ios" | "md" | "ionic";
7171
8300
  /**
7172
8301
  * The type of the button.
7173
8302
  * @default 'button'
@@ -7184,6 +8313,14 @@ declare namespace LocalJSX {
7184
8313
  * Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle. If this property is not used, `ion-menu-toggle` will toggle the first menu that is active.
7185
8314
  */
7186
8315
  "menu"?: string;
8316
+ /**
8317
+ * The mode determines the platform behaviors of the component.
8318
+ */
8319
+ "mode"?: "ios" | "md";
8320
+ /**
8321
+ * The theme determines the visual appearance of the component.
8322
+ */
8323
+ "theme"?: "ios" | "md" | "ionic";
7187
8324
  }
7188
8325
  interface IonModal {
7189
8326
  /**
@@ -7261,7 +8398,7 @@ declare namespace LocalJSX {
7261
8398
  */
7262
8399
  "leaveAnimation"?: AnimationBuilder;
7263
8400
  /**
7264
- * The mode determines which platform styles to use.
8401
+ * The mode determines the platform behaviors of the component.
7265
8402
  */
7266
8403
  "mode"?: "ios" | "md";
7267
8404
  /**
@@ -7316,11 +8453,19 @@ declare namespace LocalJSX {
7316
8453
  * The element that presented the modal. This is used for card presentation effects and for stacking multiple modals on top of each other. Only applies in iOS mode.
7317
8454
  */
7318
8455
  "presentingElement"?: HTMLElement;
8456
+ /**
8457
+ * Set to `"soft"` for a modal with slightly rounded corners, `"round"` for a modal with fully rounded corners, or `"rectangular"` for a modal without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
8458
+ */
8459
+ "shape"?: 'soft' | 'round' | 'rectangular';
7319
8460
  /**
7320
8461
  * If `true`, a backdrop will be displayed behind the modal. This property controls whether or not the backdrop darkens the screen when the modal is presented. It does not control whether or not the backdrop is active or present in the DOM.
7321
8462
  * @default true
7322
8463
  */
7323
8464
  "showBackdrop"?: boolean;
8465
+ /**
8466
+ * The theme determines the visual appearance of the component.
8467
+ */
8468
+ "theme"?: "ios" | "md" | "ionic";
7324
8469
  /**
7325
8470
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
7326
8471
  */
@@ -7333,9 +8478,13 @@ declare namespace LocalJSX {
7333
8478
  */
7334
8479
  "animated"?: boolean;
7335
8480
  /**
7336
- * By default `ion-nav` animates transition between pages based in the mode (ios or material design). However, this property allows to create custom transition using `AnimationBuilder` functions.
8481
+ * By default `ion-nav` animates transition between pages based on the mode ("ios" or "md"). However, this property allows to create custom transition using `AnimationBuilder` functions.
7337
8482
  */
7338
8483
  "animation"?: AnimationBuilder;
8484
+ /**
8485
+ * The mode determines the platform behaviors of the component.
8486
+ */
8487
+ "mode"?: "ios" | "md";
7339
8488
  /**
7340
8489
  * Event fired when the nav has changed components
7341
8490
  */
@@ -7356,6 +8505,10 @@ declare namespace LocalJSX {
7356
8505
  * If the nav component should allow for swipe-to-go-back.
7357
8506
  */
7358
8507
  "swipeGesture"?: boolean;
8508
+ /**
8509
+ * The theme determines the visual appearance of the component.
8510
+ */
8511
+ "theme"?: "ios" | "md" | "ionic";
7359
8512
  }
7360
8513
  interface IonNavLink {
7361
8514
  /**
@@ -7366,6 +8519,10 @@ declare namespace LocalJSX {
7366
8519
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
7367
8520
  */
7368
8521
  "componentProps"?: ComponentProps;
8522
+ /**
8523
+ * The mode determines the platform behaviors of the component.
8524
+ */
8525
+ "mode"?: "ios" | "md";
7369
8526
  /**
7370
8527
  * The transition animation when navigating to another page.
7371
8528
  */
@@ -7375,6 +8532,10 @@ declare namespace LocalJSX {
7375
8532
  * @default 'forward'
7376
8533
  */
7377
8534
  "routerDirection"?: RouterDirection;
8535
+ /**
8536
+ * The theme determines the visual appearance of the component.
8537
+ */
8538
+ "theme"?: "ios" | "md" | "ionic";
7378
8539
  }
7379
8540
  interface IonNote {
7380
8541
  /**
@@ -7382,15 +8543,23 @@ declare namespace LocalJSX {
7382
8543
  */
7383
8544
  "color"?: Color;
7384
8545
  /**
7385
- * The mode determines which platform styles to use.
8546
+ * The mode determines the platform behaviors of the component.
7386
8547
  */
7387
8548
  "mode"?: "ios" | "md";
8549
+ /**
8550
+ * The theme determines the visual appearance of the component.
8551
+ */
8552
+ "theme"?: "ios" | "md" | "ionic";
7388
8553
  }
7389
8554
  interface IonPicker {
7390
8555
  /**
7391
- * The mode determines which platform styles to use.
8556
+ * The mode determines the platform behaviors of the component.
7392
8557
  */
7393
8558
  "mode"?: "ios" | "md";
8559
+ /**
8560
+ * The theme determines the visual appearance of the component.
8561
+ */
8562
+ "theme"?: "ios" | "md" | "ionic";
7394
8563
  }
7395
8564
  interface IonPickerColumn {
7396
8565
  /**
@@ -7404,13 +8573,17 @@ declare namespace LocalJSX {
7404
8573
  */
7405
8574
  "disabled"?: boolean;
7406
8575
  /**
7407
- * The mode determines which platform styles to use.
8576
+ * The mode determines the platform behaviors of the component.
7408
8577
  */
7409
8578
  "mode"?: "ios" | "md";
7410
8579
  /**
7411
8580
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7412
8581
  */
7413
8582
  "onIonChange"?: (event: IonPickerColumnCustomEvent<PickerColumnChangeEventDetail>) => void;
8583
+ /**
8584
+ * The theme determines the visual appearance of the component.
8585
+ */
8586
+ "theme"?: "ios" | "md" | "ionic";
7414
8587
  /**
7415
8588
  * The selected option in the picker.
7416
8589
  */
@@ -7427,6 +8600,14 @@ declare namespace LocalJSX {
7427
8600
  * @default false
7428
8601
  */
7429
8602
  "disabled"?: boolean;
8603
+ /**
8604
+ * The mode determines the platform behaviors of the component.
8605
+ */
8606
+ "mode"?: "ios" | "md";
8607
+ /**
8608
+ * The theme determines the visual appearance of the component.
8609
+ */
8610
+ "theme"?: "ios" | "md" | "ionic";
7430
8611
  /**
7431
8612
  * The text value of the option.
7432
8613
  */
@@ -7485,7 +8666,7 @@ declare namespace LocalJSX {
7485
8666
  */
7486
8667
  "leaveAnimation"?: AnimationBuilder;
7487
8668
  /**
7488
- * The mode determines which platform styles to use.
8669
+ * The mode determines the platform behaviors of the component.
7489
8670
  */
7490
8671
  "mode"?: "ios" | "md";
7491
8672
  /**
@@ -7525,6 +8706,10 @@ declare namespace LocalJSX {
7525
8706
  * @default true
7526
8707
  */
7527
8708
  "showBackdrop"?: boolean;
8709
+ /**
8710
+ * The theme determines the visual appearance of the component.
8711
+ */
8712
+ "theme"?: "ios" | "md" | "ionic";
7528
8713
  /**
7529
8714
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
7530
8715
  */
@@ -7538,7 +8723,7 @@ declare namespace LocalJSX {
7538
8723
  }
7539
8724
  interface IonPopover {
7540
8725
  /**
7541
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
8726
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
7542
8727
  */
7543
8728
  "alignment"?: PositionAlign;
7544
8729
  /**
@@ -7547,7 +8732,7 @@ declare namespace LocalJSX {
7547
8732
  */
7548
8733
  "animated"?: boolean;
7549
8734
  /**
7550
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
8735
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
7551
8736
  * @default true
7552
8737
  */
7553
8738
  "arrow"?: boolean;
@@ -7606,7 +8791,7 @@ declare namespace LocalJSX {
7606
8791
  */
7607
8792
  "leaveAnimation"?: AnimationBuilder;
7608
8793
  /**
7609
- * The mode determines which platform styles to use.
8794
+ * The mode determines the platform behaviors of the component.
7610
8795
  */
7611
8796
  "mode"?: "ios" | "md";
7612
8797
  /**
@@ -7662,7 +8847,11 @@ declare namespace LocalJSX {
7662
8847
  */
7663
8848
  "size"?: PopoverSize;
7664
8849
  /**
7665
- * If `true`, the popover will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
8850
+ * The theme determines the visual appearance of the component.
8851
+ */
8852
+ "theme"?: "ios" | "md" | "ionic";
8853
+ /**
8854
+ * If `true`, the popover will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
7666
8855
  * @default false
7667
8856
  */
7668
8857
  "translucent"?: boolean;
@@ -7687,7 +8876,7 @@ declare namespace LocalJSX {
7687
8876
  */
7688
8877
  "color"?: Color;
7689
8878
  /**
7690
- * The mode determines which platform styles to use.
8879
+ * The mode determines the platform behaviors of the component.
7691
8880
  */
7692
8881
  "mode"?: "ios" | "md";
7693
8882
  /**
@@ -7695,6 +8884,14 @@ declare namespace LocalJSX {
7695
8884
  * @default false
7696
8885
  */
7697
8886
  "reversed"?: boolean;
8887
+ /**
8888
+ * Set to `"round"` for a progress bar with rounded corners, or `"rectangular"` for a progress bar without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
8889
+ */
8890
+ "shape"?: 'round' | 'rectangular';
8891
+ /**
8892
+ * The theme determines the visual appearance of the component.
8893
+ */
8894
+ "theme"?: "ios" | "md" | "ionic";
7698
8895
  /**
7699
8896
  * The state of the progress bar, based on if the time the process takes is known or not. Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right).
7700
8897
  * @default 'determinate'
@@ -7730,7 +8927,7 @@ declare namespace LocalJSX {
7730
8927
  */
7731
8928
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
7732
8929
  /**
7733
- * The mode determines which platform styles to use.
8930
+ * The mode determines the platform behaviors of the component.
7734
8931
  */
7735
8932
  "mode"?: "ios" | "md";
7736
8933
  /**
@@ -7746,6 +8943,10 @@ declare namespace LocalJSX {
7746
8943
  * Emitted when the radio button has focus.
7747
8944
  */
7748
8945
  "onIonFocus"?: (event: IonRadioCustomEvent<void>) => void;
8946
+ /**
8947
+ * The theme determines the visual appearance of the component.
8948
+ */
8949
+ "theme"?: "ios" | "md" | "ionic";
7749
8950
  /**
7750
8951
  * the value of the radio.
7751
8952
  */
@@ -7769,6 +8970,10 @@ declare namespace LocalJSX {
7769
8970
  * The helper text to display at the top of the radio group.
7770
8971
  */
7771
8972
  "helperText"?: string;
8973
+ /**
8974
+ * The mode determines the platform behaviors of the component.
8975
+ */
8976
+ "mode"?: "ios" | "md";
7772
8977
  /**
7773
8978
  * The name of the control, which is submitted with the form data.
7774
8979
  * @default this.inputId
@@ -7778,6 +8983,10 @@ declare namespace LocalJSX {
7778
8983
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7779
8984
  */
7780
8985
  "onIonChange"?: (event: IonRadioGroupCustomEvent<RadioGroupChangeEventDetail>) => void;
8986
+ /**
8987
+ * The theme determines the visual appearance of the component.
8988
+ */
8989
+ "theme"?: "ios" | "md" | "ionic";
7781
8990
  /**
7782
8991
  * the value of the radio group.
7783
8992
  */
@@ -7826,7 +9035,7 @@ declare namespace LocalJSX {
7826
9035
  */
7827
9036
  "min"?: number;
7828
9037
  /**
7829
- * The mode determines which platform styles to use.
9038
+ * The mode determines the platform behaviors of the component.
7830
9039
  */
7831
9040
  "mode"?: "ios" | "md";
7832
9041
  /**
@@ -7878,6 +9087,10 @@ declare namespace LocalJSX {
7878
9087
  * @default 1
7879
9088
  */
7880
9089
  "step"?: number;
9090
+ /**
9091
+ * The theme determines the visual appearance of the component.
9092
+ */
9093
+ "theme"?: "ios" | "md" | "ionic";
7881
9094
  /**
7882
9095
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
7883
9096
  * @default true
@@ -7901,7 +9114,7 @@ declare namespace LocalJSX {
7901
9114
  */
7902
9115
  "disabled"?: boolean;
7903
9116
  /**
7904
- * The mode determines which platform styles to use.
9117
+ * The mode determines the platform behaviors of the component.
7905
9118
  */
7906
9119
  "mode"?: "ios" | "md";
7907
9120
  /**
@@ -7945,8 +9158,16 @@ declare namespace LocalJSX {
7945
9158
  * @default '280ms'
7946
9159
  */
7947
9160
  "snapbackDuration"?: string;
9161
+ /**
9162
+ * The theme determines the visual appearance of the component.
9163
+ */
9164
+ "theme"?: "ios" | "md" | "ionic";
7948
9165
  }
7949
9166
  interface IonRefresherContent {
9167
+ /**
9168
+ * The mode determines the platform behaviors of the component.
9169
+ */
9170
+ "mode"?: "ios" | "md";
7950
9171
  /**
7951
9172
  * A static icon or a spinner to display when you begin to pull down. A spinner name can be provided to gradually show tick marks when pulling down on iOS devices.
7952
9173
  */
@@ -7963,8 +9184,20 @@ declare namespace LocalJSX {
7963
9184
  * The text you want to display when performing a refresh. `refreshingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) Content is parsed as plaintext by default. `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config before custom HTML can be used.
7964
9185
  */
7965
9186
  "refreshingText"?: string | IonicSafeString;
9187
+ /**
9188
+ * The theme determines the visual appearance of the component.
9189
+ */
9190
+ "theme"?: "ios" | "md" | "ionic";
7966
9191
  }
7967
9192
  interface IonReorder {
9193
+ /**
9194
+ * The mode determines the platform behaviors of the component.
9195
+ */
9196
+ "mode"?: "ios" | "md";
9197
+ /**
9198
+ * The theme determines the visual appearance of the component.
9199
+ */
9200
+ "theme"?: "ios" | "md" | "ionic";
7968
9201
  }
7969
9202
  interface IonReorderGroup {
7970
9203
  /**
@@ -7972,6 +9205,10 @@ declare namespace LocalJSX {
7972
9205
  * @default true
7973
9206
  */
7974
9207
  "disabled"?: boolean;
9208
+ /**
9209
+ * The mode determines the platform behaviors of the component.
9210
+ */
9211
+ "mode"?: "ios" | "md";
7975
9212
  /**
7976
9213
  * Event that needs to be listened to in order to complete the reorder action.
7977
9214
  * @deprecated Use `ionReorderEnd` instead. If you are accessing `event.detail.from` or `event.detail.to` and relying on them being different you should now add checks as they are always emitted in `ionReorderEnd`, even when they are the same.
@@ -7989,8 +9226,20 @@ declare namespace LocalJSX {
7989
9226
  * Event that is emitted when the reorder gesture starts.
7990
9227
  */
7991
9228
  "onIonReorderStart"?: (event: IonReorderGroupCustomEvent<void>) => void;
9229
+ /**
9230
+ * The theme determines the visual appearance of the component.
9231
+ */
9232
+ "theme"?: "ios" | "md" | "ionic";
7992
9233
  }
7993
9234
  interface IonRippleEffect {
9235
+ /**
9236
+ * The mode determines the platform behaviors of the component.
9237
+ */
9238
+ "mode"?: "ios" | "md";
9239
+ /**
9240
+ * The theme determines the visual appearance of the component.
9241
+ */
9242
+ "theme"?: "ios" | "md" | "ionic";
7994
9243
  /**
7995
9244
  * Sets the type of ripple-effect: - `bounded`: the ripple effect expands from the user's click position - `unbounded`: the ripple effect expands from the center of the button and overflows the container. NOTE: Surfaces for bounded ripples should have the overflow property set to hidden, while surfaces for unbounded ripples should have it set to visible.
7996
9245
  * @default 'bounded'
@@ -8014,10 +9263,18 @@ declare namespace LocalJSX {
8014
9263
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
8015
9264
  */
8016
9265
  "componentProps"?: { [key: string]: any };
9266
+ /**
9267
+ * The mode determines the platform behaviors of the component.
9268
+ */
9269
+ "mode"?: "ios" | "md";
8017
9270
  /**
8018
9271
  * Used internally by `ion-router` to know when this route did change.
8019
9272
  */
8020
9273
  "onIonRouteDataChanged"?: (event: IonRouteCustomEvent<any>) => void;
9274
+ /**
9275
+ * The theme determines the visual appearance of the component.
9276
+ */
9277
+ "theme"?: "ios" | "md" | "ionic";
8021
9278
  /**
8022
9279
  * Relative path that needs to match in order for this route to apply. Accepts paths similar to expressjs so that you can define parameters in the url /foo/:bar where bar would be available in incoming props.
8023
9280
  * @default ''
@@ -8039,6 +9296,10 @@ declare namespace LocalJSX {
8039
9296
  "to": string | undefined | null;
8040
9297
  }
8041
9298
  interface IonRouter {
9299
+ /**
9300
+ * The mode determines the platform behaviors of the component.
9301
+ */
9302
+ "mode"?: "ios" | "md";
8042
9303
  /**
8043
9304
  * Emitted when the route had changed
8044
9305
  */
@@ -8052,6 +9313,10 @@ declare namespace LocalJSX {
8052
9313
  * @default '/'
8053
9314
  */
8054
9315
  "root"?: string;
9316
+ /**
9317
+ * The theme determines the visual appearance of the component.
9318
+ */
9319
+ "theme"?: "ios" | "md" | "ionic";
8055
9320
  /**
8056
9321
  * The router can work in two "modes": - With hash: `/index.html#/path/to/page` - Without hash: `/path/to/page` Using one or another might depend in the requirements of your app and/or where it's deployed. Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might requires additional server-side configuration in order to properly work. On the other side hash-navigation is much easier to deploy, it even works over the file protocol. By default, this property is `true`, change to `false` to allow hash-less URLs.
8057
9322
  * @default true
@@ -8067,6 +9332,10 @@ declare namespace LocalJSX {
8067
9332
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
8068
9333
  */
8069
9334
  "href"?: string | undefined;
9335
+ /**
9336
+ * The mode determines the platform behaviors of the component.
9337
+ */
9338
+ "mode"?: "ios" | "md";
8070
9339
  /**
8071
9340
  * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
8072
9341
  */
@@ -8084,6 +9353,10 @@ declare namespace LocalJSX {
8084
9353
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8085
9354
  */
8086
9355
  "target"?: string | undefined;
9356
+ /**
9357
+ * The theme determines the visual appearance of the component.
9358
+ */
9359
+ "theme"?: "ios" | "md" | "ionic";
8087
9360
  }
8088
9361
  interface IonRouterOutlet {
8089
9362
  /**
@@ -8096,12 +9369,24 @@ declare namespace LocalJSX {
8096
9369
  */
8097
9370
  "animation"?: AnimationBuilder;
8098
9371
  /**
8099
- * The mode determines which platform styles to use.
9372
+ * The mode determines the platform behaviors of the component.
8100
9373
  * @default getIonMode(this)
8101
9374
  */
8102
9375
  "mode"?: "ios" | "md";
9376
+ /**
9377
+ * The theme determines the visual appearance of the component.
9378
+ */
9379
+ "theme"?: "ios" | "md" | "ionic";
8103
9380
  }
8104
9381
  interface IonRow {
9382
+ /**
9383
+ * The mode determines the platform behaviors of the component.
9384
+ */
9385
+ "mode"?: "ios" | "md";
9386
+ /**
9387
+ * The theme determines the visual appearance of the component.
9388
+ */
9389
+ "theme"?: "ios" | "md" | "ionic";
8105
9390
  }
8106
9391
  interface IonSearchbar {
8107
9392
  /**
@@ -8125,17 +9410,16 @@ declare namespace LocalJSX {
8125
9410
  */
8126
9411
  "autocorrect"?: 'on' | 'off';
8127
9412
  /**
8128
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
8129
- * @default config.get('backButtonIcon', arrowBackSharp) as string
9413
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
8130
9414
  */
8131
9415
  "cancelButtonIcon"?: string;
8132
9416
  /**
8133
- * Set the cancel button text. Only applies to `ios` mode.
9417
+ * Set the cancel button text. Only available when the theme is `"ios"`.
8134
9418
  * @default 'Cancel'
8135
9419
  */
8136
9420
  "cancelButtonText"?: string;
8137
9421
  /**
8138
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
9422
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
8139
9423
  */
8140
9424
  "clearIcon"?: string;
8141
9425
  /**
@@ -8168,7 +9452,7 @@ declare namespace LocalJSX {
8168
9452
  */
8169
9453
  "minlength"?: number;
8170
9454
  /**
8171
- * The mode determines which platform styles to use.
9455
+ * The mode determines the platform behaviors of the component.
8172
9456
  */
8173
9457
  "mode"?: "ios" | "md";
8174
9458
  /**
@@ -8206,9 +9490,13 @@ declare namespace LocalJSX {
8206
9490
  */
8207
9491
  "placeholder"?: string;
8208
9492
  /**
8209
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
9493
+ * The icon to use as the search icon. Defaults to `"search-outline"` in the `"ios"` theme and `"search-sharp"` in the `"md"` and `"ionic"` themes. If `false`, no search icon will be displayed.
9494
+ */
9495
+ "searchIcon"?: string | boolean;
9496
+ /**
9497
+ * Set to `"soft"` for a searchbar with slightly rounded corners, `"round"` for a searchbar with fully rounded corners, or `"rectangular"` for a searchbar without rounded corners. Defaults to `"round"` for the ionic theme, and `undefined` for all other themes.
8210
9498
  */
8211
- "searchIcon"?: string;
9499
+ "shape"?: 'soft' | 'round' | 'rectangular';
8212
9500
  /**
8213
9501
  * Sets the behavior for the cancel button. Defaults to `"never"`. Setting to `"focus"` shows the cancel button on focus. Setting to `"never"` hides the cancel button. Setting to `"always"` shows the cancel button regardless of focus state.
8214
9502
  * @default 'never'
@@ -8219,11 +9507,19 @@ declare namespace LocalJSX {
8219
9507
  * @default 'always'
8220
9508
  */
8221
9509
  "showClearButton"?: 'never' | 'focus' | 'always';
9510
+ /**
9511
+ * Set to `"large"` for a searchbar with an increase in height, while "small" and "medium" provide progressively smaller heights. Defaults to `"medium"` for the ionic theme, and `undefined` for all other themes.
9512
+ */
9513
+ "size"?: 'small' | 'medium' | 'large';
8222
9514
  /**
8223
9515
  * If `true`, enable spellcheck on the input.
8224
9516
  * @default false
8225
9517
  */
8226
9518
  "spellcheck"?: boolean;
9519
+ /**
9520
+ * The theme determines the visual appearance of the component.
9521
+ */
9522
+ "theme"?: "ios" | "md" | "ionic";
8227
9523
  /**
8228
9524
  * Set the type of the input.
8229
9525
  * @default 'search'
@@ -8246,7 +9542,7 @@ declare namespace LocalJSX {
8246
9542
  */
8247
9543
  "disabled"?: boolean;
8248
9544
  /**
8249
- * The mode determines which platform styles to use.
9545
+ * The mode determines the platform behaviors of the component.
8250
9546
  */
8251
9547
  "mode"?: "ios" | "md";
8252
9548
  /**
@@ -8268,6 +9564,10 @@ declare namespace LocalJSX {
8268
9564
  * @default true
8269
9565
  */
8270
9566
  "swipeGesture"?: boolean;
9567
+ /**
9568
+ * The theme determines the visual appearance of the component.
9569
+ */
9570
+ "theme"?: "ios" | "md" | "ionic";
8271
9571
  /**
8272
9572
  * the value of the segment.
8273
9573
  */
@@ -8289,9 +9589,13 @@ declare namespace LocalJSX {
8289
9589
  */
8290
9590
  "layout"?: SegmentButtonLayout;
8291
9591
  /**
8292
- * The mode determines which platform styles to use.
9592
+ * The mode determines the platform behaviors of the component.
8293
9593
  */
8294
9594
  "mode"?: "ios" | "md";
9595
+ /**
9596
+ * The theme determines the visual appearance of the component.
9597
+ */
9598
+ "theme"?: "ios" | "md" | "ionic";
8295
9599
  /**
8296
9600
  * The type of the button.
8297
9601
  * @default 'button'
@@ -8322,6 +9626,11 @@ declare namespace LocalJSX {
8322
9626
  "swipeGesture"?: boolean;
8323
9627
  }
8324
9628
  interface IonSelect {
9629
+ /**
9630
+ * If `true`, the cancel button will display an icon instead of the `cancelText`. Only applies when `interface` is set to `"modal"`. Has no effect on `"action-sheet"`, `"alert"`, or `"popover"` interfaces. When `cancelIcon` is `true`, the `cancelText` property is ignored for display but is used as the accessible label for the icon button.
9631
+ * @default false
9632
+ */
9633
+ "cancelIcon"?: boolean;
8325
9634
  /**
8326
9635
  * The text to display on the cancel button.
8327
9636
  * @default 'Cancel'
@@ -8345,11 +9654,11 @@ declare namespace LocalJSX {
8345
9654
  */
8346
9655
  "errorText"?: string;
8347
9656
  /**
8348
- * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `md` mode will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed.
9657
+ * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `"md"` theme will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed.
8349
9658
  */
8350
9659
  "expandedIcon"?: string;
8351
9660
  /**
8352
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
9661
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in the `"md"` theme.
8353
9662
  */
8354
9663
  "fill"?: 'outline' | 'solid';
8355
9664
  /**
@@ -8380,7 +9689,7 @@ declare namespace LocalJSX {
8380
9689
  */
8381
9690
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
8382
9691
  /**
8383
- * The mode determines which platform styles to use.
9692
+ * The mode determines the platform behaviors of the component.
8384
9693
  */
8385
9694
  "mode"?: "ios" | "md";
8386
9695
  /**
@@ -8432,11 +9741,19 @@ declare namespace LocalJSX {
8432
9741
  */
8433
9742
  "selectedText"?: string | null;
8434
9743
  /**
8435
- * The shape of the select. If "round" it will have an increased border radius.
9744
+ * Set to `"soft"` for a select with slightly rounded corners, `"round"` for a select with fully rounded corners, or `"rectangular"` for a select without rounded corners. Defaults to `"round"` for the `"ionic"` theme, undefined for all other themes.
9745
+ */
9746
+ "shape"?: 'soft' | 'round' | 'rectangular';
9747
+ /**
9748
+ * The size of the select. If "large" it will increase the height of the select, while "small" and "medium" provide progressively smaller heights. Defaults to `"medium"` for the ionic theme, and undefined for all other themes.
8436
9749
  */
8437
- "shape"?: 'round';
9750
+ "size"?: 'small' | 'medium' | 'large';
9751
+ /**
9752
+ * The theme determines the visual appearance of the component.
9753
+ */
9754
+ "theme"?: "ios" | "md" | "ionic";
8438
9755
  /**
8439
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
9756
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
8440
9757
  */
8441
9758
  "toggleIcon"?: string;
8442
9759
  /**
@@ -8445,6 +9762,11 @@ declare namespace LocalJSX {
8445
9762
  "value"?: any | null;
8446
9763
  }
8447
9764
  interface IonSelectModal {
9765
+ /**
9766
+ * If `true`, the cancel button will display a close icon instead of the `cancelText`. When `cancelIcon` is `true`, `cancelText` is not displayed visually but is still used as the accessible label (`aria-label`) for the button.
9767
+ * @default false
9768
+ */
9769
+ "cancelIcon"?: boolean;
8448
9770
  /**
8449
9771
  * The text to display on the cancel button.
8450
9772
  * @default 'Close'
@@ -8458,11 +9780,23 @@ declare namespace LocalJSX {
8458
9780
  "options"?: SelectModalOption[];
8459
9781
  }
8460
9782
  interface IonSelectOption {
9783
+ /**
9784
+ * Text that is placed underneath the option text to provide additional details about the option.
9785
+ */
9786
+ "description"?: string;
8461
9787
  /**
8462
9788
  * If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons.
8463
9789
  * @default false
8464
9790
  */
8465
9791
  "disabled"?: boolean;
9792
+ /**
9793
+ * The mode determines the platform behaviors of the component.
9794
+ */
9795
+ "mode"?: "ios" | "md";
9796
+ /**
9797
+ * The theme determines the visual appearance of the component.
9798
+ */
9799
+ "theme"?: "ios" | "md" | "ionic";
8466
9800
  /**
8467
9801
  * The text value of the option.
8468
9802
  */
@@ -8477,6 +9811,10 @@ declare namespace LocalJSX {
8477
9811
  * The text content of the popover body
8478
9812
  */
8479
9813
  "message"?: string;
9814
+ /**
9815
+ * The mode determines the platform behaviors of the component.
9816
+ */
9817
+ "mode"?: "ios" | "md";
8480
9818
  /**
8481
9819
  * If true, the select accepts multiple values
8482
9820
  */
@@ -8490,6 +9828,10 @@ declare namespace LocalJSX {
8490
9828
  * The subheader text of the popover
8491
9829
  */
8492
9830
  "subHeader"?: string;
9831
+ /**
9832
+ * The theme determines the visual appearance of the component.
9833
+ */
9834
+ "theme"?: "ios" | "md" | "ionic";
8493
9835
  }
8494
9836
  interface IonSkeletonText {
8495
9837
  /**
@@ -8497,6 +9839,14 @@ declare namespace LocalJSX {
8497
9839
  * @default false
8498
9840
  */
8499
9841
  "animated"?: boolean;
9842
+ /**
9843
+ * The mode determines the platform behaviors of the component.
9844
+ */
9845
+ "mode"?: "ios" | "md";
9846
+ /**
9847
+ * The theme determines the visual appearance of the component.
9848
+ */
9849
+ "theme"?: "ios" | "md" | "ionic";
8500
9850
  }
8501
9851
  interface IonSpinner {
8502
9852
  /**
@@ -8507,6 +9857,10 @@ declare namespace LocalJSX {
8507
9857
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
8508
9858
  */
8509
9859
  "duration"?: number;
9860
+ /**
9861
+ * The mode determines the platform behaviors of the component.
9862
+ */
9863
+ "mode"?: "ios" | "md";
8510
9864
  /**
8511
9865
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
8512
9866
  */
@@ -8516,6 +9870,14 @@ declare namespace LocalJSX {
8516
9870
  * @default false
8517
9871
  */
8518
9872
  "paused"?: boolean;
9873
+ /**
9874
+ * Set to `"xsmall"` for the smallest size. Set to `"small"` for a smaller size. Set to `"medium"` for a medium size. Set to `"large"` for a large size. Set to `"xlarge"` for the largest size. Defaults to `"xsmall"` for the `ionic` theme, undefined for all other themes.
9875
+ */
9876
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
9877
+ /**
9878
+ * The theme determines the visual appearance of the component.
9879
+ */
9880
+ "theme"?: "ios" | "md" | "ionic";
8519
9881
  }
8520
9882
  interface IonSplitPane {
8521
9883
  /**
@@ -8527,10 +9889,18 @@ declare namespace LocalJSX {
8527
9889
  * @default false
8528
9890
  */
8529
9891
  "disabled"?: boolean;
9892
+ /**
9893
+ * The mode determines the platform behaviors of the component.
9894
+ */
9895
+ "mode"?: "ios" | "md";
8530
9896
  /**
8531
9897
  * Expression to be called when the split-pane visibility has changed
8532
9898
  */
8533
9899
  "onIonSplitPaneVisible"?: (event: IonSplitPaneCustomEvent<{ visible: boolean }>) => void;
9900
+ /**
9901
+ * The theme determines the visual appearance of the component.
9902
+ */
9903
+ "theme"?: "ios" | "md" | "ionic";
8534
9904
  /**
8535
9905
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
8536
9906
  * @default QUERY['lg']
@@ -8542,10 +9912,18 @@ declare namespace LocalJSX {
8542
9912
  * The component to display inside of the tab.
8543
9913
  */
8544
9914
  "component"?: ComponentRef;
9915
+ /**
9916
+ * The mode determines the platform behaviors of the component.
9917
+ */
9918
+ "mode"?: "ios" | "md";
8545
9919
  /**
8546
9920
  * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
8547
9921
  */
8548
9922
  "tab": string;
9923
+ /**
9924
+ * The theme determines the visual appearance of the component.
9925
+ */
9926
+ "theme"?: "ios" | "md" | "ionic";
8549
9927
  }
8550
9928
  interface IonTabBar {
8551
9929
  /**
@@ -8553,7 +9931,17 @@ declare namespace LocalJSX {
8553
9931
  */
8554
9932
  "color"?: Color;
8555
9933
  /**
8556
- * The mode determines which platform styles to use.
9934
+ * Set to `"compact"` to display a width based on the items inside the tab bar. This value will only work for the `ionic` theme. Set to `"full"` to display a full width tab bar. Defaults to `"full"`.
9935
+ * @default 'full'
9936
+ */
9937
+ "expand"?: 'compact' | 'full';
9938
+ /**
9939
+ * If `true`, the tab bar will be hidden when the user scrolls down and shown when the user scrolls up. Only applies when the theme is `"ionic"` and `expand` is `"compact"`.
9940
+ * @default false
9941
+ */
9942
+ "hideOnScroll"?: boolean;
9943
+ /**
9944
+ * The mode determines the platform behaviors of the component.
8557
9945
  */
8558
9946
  "mode"?: "ios" | "md";
8559
9947
  /**
@@ -8561,7 +9949,15 @@ declare namespace LocalJSX {
8561
9949
  */
8562
9950
  "selectedTab"?: string;
8563
9951
  /**
8564
- * If `true`, the tab bar will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
9952
+ * Set to `"soft"` for a tab bar with slightly rounded corners, `"round"` for a tab bar with fully rounded corners, or `"rectangular"` for a tab bar without rounded corners. Defaults to `"round"` for the `"ionic"` theme, undefined for all other themes.
9953
+ */
9954
+ "shape"?: 'soft' | 'round' | 'rectangular';
9955
+ /**
9956
+ * The theme determines the visual appearance of the component.
9957
+ */
9958
+ "theme"?: "ios" | "md" | "ionic";
9959
+ /**
9960
+ * If `true`, the tab bar will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
8565
9961
  * @default false
8566
9962
  */
8567
9963
  "translucent"?: boolean;
@@ -8585,7 +9981,7 @@ declare namespace LocalJSX {
8585
9981
  */
8586
9982
  "layout"?: TabButtonLayout;
8587
9983
  /**
8588
- * The mode determines which platform styles to use.
9984
+ * The mode determines the platform behaviors of the component.
8589
9985
  */
8590
9986
  "mode"?: "ios" | "md";
8591
9987
  /**
@@ -8597,6 +9993,10 @@ declare namespace LocalJSX {
8597
9993
  * @default false
8598
9994
  */
8599
9995
  "selected"?: boolean;
9996
+ /**
9997
+ * Set to `"soft"` for a tab-button with slightly rounded corners, `"round"` for a tab-button with fully rounded corners, or `"rectangular"` for a tab-button without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
9998
+ */
9999
+ "shape"?: 'soft' | 'round' | 'rectangular';
8600
10000
  /**
8601
10001
  * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
8602
10002
  */
@@ -8605,8 +10005,16 @@ declare namespace LocalJSX {
8605
10005
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8606
10006
  */
8607
10007
  "target"?: string | undefined;
10008
+ /**
10009
+ * The theme determines the visual appearance of the component.
10010
+ */
10011
+ "theme"?: "ios" | "md" | "ionic";
8608
10012
  }
8609
10013
  interface IonTabs {
10014
+ /**
10015
+ * The mode determines the platform behaviors of the component.
10016
+ */
10017
+ "mode"?: "ios" | "md";
8610
10018
  /**
8611
10019
  * Emitted when the navigation has finished transitioning to a new component.
8612
10020
  */
@@ -8615,6 +10023,10 @@ declare namespace LocalJSX {
8615
10023
  * Emitted when the navigation is about to transition to a new component.
8616
10024
  */
8617
10025
  "onIonTabsWillChange"?: (event: IonTabsCustomEvent<{ tab: string }>) => void;
10026
+ /**
10027
+ * The theme determines the visual appearance of the component.
10028
+ */
10029
+ "theme"?: "ios" | "md" | "ionic";
8618
10030
  }
8619
10031
  interface IonText {
8620
10032
  /**
@@ -8622,9 +10034,13 @@ declare namespace LocalJSX {
8622
10034
  */
8623
10035
  "color"?: Color;
8624
10036
  /**
8625
- * The mode determines which platform styles to use.
10037
+ * The mode determines the platform behaviors of the component.
8626
10038
  */
8627
10039
  "mode"?: "ios" | "md";
10040
+ /**
10041
+ * The theme determines the visual appearance of the component.
10042
+ */
10043
+ "theme"?: "ios" | "md" | "ionic";
8628
10044
  }
8629
10045
  interface IonTextarea {
8630
10046
  /**
@@ -8682,9 +10098,13 @@ declare namespace LocalJSX {
8682
10098
  */
8683
10099
  "errorText"?: string;
8684
10100
  /**
8685
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
10101
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available when the theme is `"md"`.
8686
10102
  */
8687
10103
  "fill"?: 'outline' | 'solid';
10104
+ /**
10105
+ * The `id` of a `<form>` element to associate this element with.
10106
+ */
10107
+ "form"?: string;
8688
10108
  /**
8689
10109
  * Text that is placed under the textarea and displayed when no error is detected.
8690
10110
  */
@@ -8711,7 +10131,7 @@ declare namespace LocalJSX {
8711
10131
  */
8712
10132
  "minlength"?: number;
8713
10133
  /**
8714
- * The mode determines which platform styles to use.
10134
+ * The mode determines the platform behaviors of the component.
8715
10135
  */
8716
10136
  "mode"?: "ios" | "md";
8717
10137
  /**
@@ -8754,14 +10174,23 @@ declare namespace LocalJSX {
8754
10174
  */
8755
10175
  "rows"?: number;
8756
10176
  /**
8757
- * The shape of the textarea. If "round" it will have an increased border radius.
10177
+ * Set to `"soft"` for a textarea with slightly rounded corners, `"round"` for a textarea with fully rounded corners, or `"rectangular"` for a textarea without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
10178
+ */
10179
+ "shape"?: 'soft' | 'round' | 'rectangular';
10180
+ /**
10181
+ * The size of the textarea. If "large" it will increase the height of the textarea, while "small" and "medium" provide progressively smaller heights. The default size is "medium". This property only applies to the `"ionic"` theme.
10182
+ * @default 'medium'
8758
10183
  */
8759
- "shape"?: 'round';
10184
+ "size"?: 'small' | 'medium' | 'large';
8760
10185
  /**
8761
10186
  * If `true`, the element will have its spelling and grammar checked.
8762
10187
  * @default false
8763
10188
  */
8764
10189
  "spellcheck"?: boolean;
10190
+ /**
10191
+ * The theme determines the visual appearance of the component.
10192
+ */
10193
+ "theme"?: "ios" | "md" | "ionic";
8765
10194
  /**
8766
10195
  * The value of the textarea.
8767
10196
  * @default ''
@@ -8773,16 +10202,32 @@ declare namespace LocalJSX {
8773
10202
  "wrap"?: 'hard' | 'soft' | 'off';
8774
10203
  }
8775
10204
  interface IonThumbnail {
10205
+ /**
10206
+ * The mode determines the platform behaviors of the component.
10207
+ */
10208
+ "mode"?: "ios" | "md";
10209
+ /**
10210
+ * The theme determines the visual appearance of the component.
10211
+ */
10212
+ "theme"?: "ios" | "md" | "ionic";
8776
10213
  }
8777
10214
  interface IonTitle {
8778
10215
  /**
8779
10216
  * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
8780
10217
  */
8781
10218
  "color"?: Color;
10219
+ /**
10220
+ * The mode determines the platform behaviors of the component.
10221
+ */
10222
+ "mode"?: "ios" | "md";
8782
10223
  /**
8783
10224
  * The size of the toolbar title.
8784
10225
  */
8785
10226
  "size"?: 'large' | 'small';
10227
+ /**
10228
+ * The theme determines the visual appearance of the component.
10229
+ */
10230
+ "theme"?: "ios" | "md" | "ionic";
8786
10231
  }
8787
10232
  interface IonToast {
8788
10233
  /**
@@ -8819,6 +10264,11 @@ declare namespace LocalJSX {
8819
10264
  * Additional attributes to pass to the toast.
8820
10265
  */
8821
10266
  "htmlAttributes"?: { [key: string]: any };
10267
+ /**
10268
+ * Set to `"bold"` for a toast with vibrant, bold colors or to `"subtle"` for a toast with muted, subtle colors. Only applies to the `ionic` theme.
10269
+ * @default 'subtle'
10270
+ */
10271
+ "hue"?: 'bold' | 'subtle';
8822
10272
  /**
8823
10273
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
8824
10274
  */
@@ -8847,7 +10297,7 @@ declare namespace LocalJSX {
8847
10297
  */
8848
10298
  "message"?: string | IonicSafeString;
8849
10299
  /**
8850
- * The mode determines which platform styles to use.
10300
+ * The mode determines the platform behaviors of the component.
8851
10301
  */
8852
10302
  "mode"?: "ios" | "md";
8853
10303
  /**
@@ -8891,12 +10341,20 @@ declare namespace LocalJSX {
8891
10341
  * The element to anchor the toast's position to. Can be set as a direct reference or the ID of the element. With `position="bottom"`, the toast will sit above the chosen element. With `position="top"`, the toast will sit below the chosen element. With `position="middle"`, the value of `positionAnchor` is ignored.
8892
10342
  */
8893
10343
  "positionAnchor"?: HTMLElement | string;
10344
+ /**
10345
+ * Set to `"soft"` for a toast with slightly rounded corners, `"round"` for a toast with fully rounded corners, or `"rectangular"` for a toast without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
10346
+ */
10347
+ "shape"?: 'soft' | 'round' | 'rectangular';
8894
10348
  /**
8895
10349
  * If set to 'vertical', the Toast can be dismissed with a swipe gesture. The swipe direction is determined by the value of the `position` property: `top`: The Toast can be swiped up to dismiss. `bottom`: The Toast can be swiped down to dismiss. `middle`: The Toast can be swiped up or down to dismiss.
8896
10350
  */
8897
10351
  "swipeGesture"?: ToastSwipeGestureDirection;
8898
10352
  /**
8899
- * If `true`, the toast will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
10353
+ * The theme determines the visual appearance of the component.
10354
+ */
10355
+ "theme"?: "ios" | "md" | "ionic";
10356
+ /**
10357
+ * If `true`, the toast will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
8900
10358
  * @default false
8901
10359
  */
8902
10360
  "translucent"?: boolean;
@@ -8947,7 +10405,7 @@ declare namespace LocalJSX {
8947
10405
  */
8948
10406
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
8949
10407
  /**
8950
- * The mode determines which platform styles to use.
10408
+ * The mode determines the platform behaviors of the component.
8951
10409
  */
8952
10410
  "mode"?: "ios" | "md";
8953
10411
  /**
@@ -8972,6 +10430,10 @@ declare namespace LocalJSX {
8972
10430
  * @default false
8973
10431
  */
8974
10432
  "required"?: boolean;
10433
+ /**
10434
+ * The theme determines the visual appearance of the component.
10435
+ */
10436
+ "theme"?: "ios" | "md" | "ionic";
8975
10437
  /**
8976
10438
  * The value of the toggle does not mean if it's checked or not, use the `checked` property for that. The value of a toggle is analogous to the value of a `<input type="checkbox">`, it's only used when the toggle participates in a native `<form>`.
8977
10439
  * @default 'on'
@@ -8984,9 +10446,17 @@ declare namespace LocalJSX {
8984
10446
  */
8985
10447
  "color"?: Color;
8986
10448
  /**
8987
- * The mode determines which platform styles to use.
10449
+ * The mode determines the platform behaviors of the component.
8988
10450
  */
8989
10451
  "mode"?: "ios" | "md";
10452
+ /**
10453
+ * The theme determines the visual appearance of the component.
10454
+ */
10455
+ "theme"?: "ios" | "md" | "ionic";
10456
+ /**
10457
+ * Where to place the title relative to the other toolbar content. `"start"`: The title will appear to the left of the toolbar content in LTR and to the right in RTL. `"center"`: The title will appear in the center of the toolbar. `"end"`: The title will appear to the right of the toolbar content in LTR and to the left in RTL. Only applies in the `ionic` theme.
10458
+ */
10459
+ "titlePlacement"?: 'start' | 'center' | 'end';
8990
10460
  }
8991
10461
 
8992
10462
  interface IonAccordionAttributes {
@@ -9003,6 +10473,7 @@ declare namespace LocalJSX {
9003
10473
  "disabled": boolean;
9004
10474
  "readonly": boolean;
9005
10475
  "expand": 'compact' | 'inset';
10476
+ "shape": 'soft' | 'round' | 'rectangular';
9006
10477
  }
9007
10478
  interface IonActionSheetAttributes {
9008
10479
  "keyboardClose": boolean;
@@ -9027,6 +10498,11 @@ declare namespace LocalJSX {
9027
10498
  "isOpen": boolean;
9028
10499
  "trigger": string | undefined;
9029
10500
  }
10501
+ interface IonAvatarAttributes {
10502
+ "size": 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
10503
+ "shape": 'soft' | 'round' | 'rectangular';
10504
+ "disabled": boolean;
10505
+ }
9030
10506
  interface IonBackButtonAttributes {
9031
10507
  "color": Color;
9032
10508
  "defaultHref": string;
@@ -9042,6 +10518,10 @@ declare namespace LocalJSX {
9042
10518
  }
9043
10519
  interface IonBadgeAttributes {
9044
10520
  "color": Color;
10521
+ "hue": 'bold' | 'subtle';
10522
+ "shape": 'soft' | 'round | rectangular';
10523
+ "size": 'small' | 'medium' | 'large';
10524
+ "vertical": 'top' | 'bottom';
9045
10525
  }
9046
10526
  interface IonBreadcrumbAttributes {
9047
10527
  "color": Color;
@@ -9070,8 +10550,8 @@ declare namespace LocalJSX {
9070
10550
  "download": string | undefined;
9071
10551
  "href": string | undefined;
9072
10552
  "rel": string | undefined;
9073
- "shape": 'round';
9074
- "size": 'small' | 'default' | 'large';
10553
+ "shape": 'soft' | 'round' | 'rectangular';
10554
+ "size": 'small' | 'default' | 'medium' | 'large';
9075
10555
  "strong": boolean;
9076
10556
  "target": string | undefined;
9077
10557
  "type": 'submit' | 'reset' | 'button';
@@ -9089,6 +10569,7 @@ declare namespace LocalJSX {
9089
10569
  "href": string | undefined;
9090
10570
  "rel": string | undefined;
9091
10571
  "routerDirection": RouterDirection;
10572
+ "shape": 'soft' | 'round' | 'rectangular';
9092
10573
  "target": string | undefined;
9093
10574
  }
9094
10575
  interface IonCardHeaderAttributes {
@@ -9114,11 +10595,16 @@ declare namespace LocalJSX {
9114
10595
  "justify": 'start' | 'end' | 'space-between';
9115
10596
  "alignment": 'start' | 'center';
9116
10597
  "required": boolean;
10598
+ "shape": 'soft' | 'rectangular';
10599
+ "size": 'small';
9117
10600
  }
9118
10601
  interface IonChipAttributes {
9119
10602
  "color": Color;
9120
10603
  "outline": boolean;
9121
10604
  "disabled": boolean;
10605
+ "hue": 'bold' | 'subtle';
10606
+ "shape": 'soft' | 'round' | 'rectangular';
10607
+ "size": 'small' | 'large';
9122
10608
  }
9123
10609
  interface IonColAttributes {
9124
10610
  "offset": string;
@@ -9127,6 +10613,12 @@ declare namespace LocalJSX {
9127
10613
  "offsetMd": string;
9128
10614
  "offsetLg": string;
9129
10615
  "offsetXl": string;
10616
+ "order": string;
10617
+ "orderXs": string;
10618
+ "orderSm": string;
10619
+ "orderMd": string;
10620
+ "orderLg": string;
10621
+ "orderXl": string;
9130
10622
  "pull": string;
9131
10623
  "pullXs": string;
9132
10624
  "pullSm": string;
@@ -9189,6 +10681,10 @@ declare namespace LocalJSX {
9189
10681
  "disabled": boolean;
9190
10682
  "datetime": string;
9191
10683
  }
10684
+ interface IonDividerAttributes {
10685
+ "spacing": 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
10686
+ "inset": boolean;
10687
+ }
9192
10688
  interface IonFabAttributes {
9193
10689
  "horizontal": 'start' | 'end' | 'center';
9194
10690
  "vertical": 'top' | 'bottom' | 'center';
@@ -9223,6 +10719,7 @@ declare namespace LocalJSX {
9223
10719
  }
9224
10720
  interface IonHeaderAttributes {
9225
10721
  "collapse": 'condense' | 'fade';
10722
+ "divider": boolean;
9226
10723
  "translucent": boolean;
9227
10724
  }
9228
10725
  interface IonImgAttributes {
@@ -9233,6 +10730,7 @@ declare namespace LocalJSX {
9233
10730
  "threshold": string;
9234
10731
  "disabled": boolean;
9235
10732
  "position": 'top' | 'bottom';
10733
+ "preserveRerenderScrollPosition": boolean;
9236
10734
  }
9237
10735
  interface IonInfiniteScrollContentAttributes {
9238
10736
  "loadingSpinner": SpinnerTypes | null;
@@ -9267,9 +10765,10 @@ declare namespace LocalJSX {
9267
10765
  "placeholder": string;
9268
10766
  "readonly": boolean;
9269
10767
  "required": boolean;
9270
- "shape": 'round';
10768
+ "shape": 'soft' | 'round' | 'rectangular';
9271
10769
  "spellcheck": boolean;
9272
10770
  "step": string;
10771
+ "size": 'medium' | 'large' | 'xlarge';
9273
10772
  "type": TextFieldTypes;
9274
10773
  "value": string;
9275
10774
  }
@@ -9317,9 +10816,11 @@ declare namespace LocalJSX {
9317
10816
  "download": string | undefined;
9318
10817
  "expandable": boolean;
9319
10818
  "href": string | undefined;
10819
+ "hue": 'bold' | 'subtle';
9320
10820
  "rel": string | undefined;
9321
10821
  "target": string | undefined;
9322
10822
  "type": 'submit' | 'reset' | 'button';
10823
+ "shape": 'soft' | 'round' | 'rectangular';
9323
10824
  }
9324
10825
  interface IonItemOptionsAttributes {
9325
10826
  "side": Side;
@@ -9334,6 +10835,7 @@ declare namespace LocalJSX {
9334
10835
  interface IonListAttributes {
9335
10836
  "lines": 'full' | 'inset' | 'none';
9336
10837
  "inset": boolean;
10838
+ "shape": 'soft' | 'round' | 'rectangular';
9337
10839
  }
9338
10840
  interface IonListHeaderAttributes {
9339
10841
  "color": Color;
@@ -9387,6 +10889,7 @@ declare namespace LocalJSX {
9387
10889
  "keepContentsMounted": boolean;
9388
10890
  "focusTrap": boolean;
9389
10891
  "canDismiss": boolean | ((data?: any, role?: string) => Promise<boolean>);
10892
+ "shape": 'soft' | 'round' | 'rectangular';
9390
10893
  }
9391
10894
  interface IonNavAttributes {
9392
10895
  "swipeGesture": boolean;
@@ -9446,6 +10949,7 @@ declare namespace LocalJSX {
9446
10949
  "value": number;
9447
10950
  "buffer": number;
9448
10951
  "color": Color;
10952
+ "shape": 'round' | 'rectangular';
9449
10953
  }
9450
10954
  interface IonRadioAttributes {
9451
10955
  "color": Color;
@@ -9547,6 +11051,8 @@ declare namespace LocalJSX {
9547
11051
  "spellcheck": boolean;
9548
11052
  "type": 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url';
9549
11053
  "value": string | null;
11054
+ "shape": 'soft' | 'round' | 'rectangular';
11055
+ "size": 'small' | 'medium' | 'large';
9550
11056
  }
9551
11057
  interface IonSegmentAttributes {
9552
11058
  "color": Color;
@@ -9569,6 +11075,7 @@ declare namespace LocalJSX {
9569
11075
  }
9570
11076
  interface IonSelectAttributes {
9571
11077
  "cancelText": string;
11078
+ "cancelIcon": boolean;
9572
11079
  "color": Color;
9573
11080
  "compareWith": string | SelectCompareFn | null;
9574
11081
  "disabled": boolean;
@@ -9587,18 +11094,21 @@ declare namespace LocalJSX {
9587
11094
  "selectedText": string | null;
9588
11095
  "toggleIcon": string;
9589
11096
  "expandedIcon": string;
9590
- "shape": 'round';
9591
- "value": string;
9592
11097
  "required": boolean;
11098
+ "shape": 'soft' | 'round' | 'rectangular';
11099
+ "size": 'small' | 'medium' | 'large';
11100
+ "value": string;
9593
11101
  }
9594
11102
  interface IonSelectModalAttributes {
9595
11103
  "header": string;
9596
11104
  "cancelText": string;
11105
+ "cancelIcon": boolean;
9597
11106
  "multiple": boolean;
9598
11107
  }
9599
11108
  interface IonSelectOptionAttributes {
9600
11109
  "disabled": boolean;
9601
11110
  "value": string;
11111
+ "description": string;
9602
11112
  }
9603
11113
  interface IonSelectPopoverAttributes {
9604
11114
  "header": string;
@@ -9614,6 +11124,7 @@ declare namespace LocalJSX {
9614
11124
  "duration": number;
9615
11125
  "name": SpinnerTypes;
9616
11126
  "paused": boolean;
11127
+ "size": 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
9617
11128
  }
9618
11129
  interface IonSplitPaneAttributes {
9619
11130
  "contentId": string;
@@ -9627,7 +11138,10 @@ declare namespace LocalJSX {
9627
11138
  interface IonTabBarAttributes {
9628
11139
  "color": Color;
9629
11140
  "selectedTab": string;
11141
+ "hideOnScroll": boolean;
9630
11142
  "translucent": boolean;
11143
+ "expand": 'compact' | 'full';
11144
+ "shape": 'soft' | 'round' | 'rectangular';
9631
11145
  }
9632
11146
  interface IonTabButtonAttributes {
9633
11147
  "disabled": boolean;
@@ -9636,6 +11150,7 @@ declare namespace LocalJSX {
9636
11150
  "rel": string | undefined;
9637
11151
  "layout": TabButtonLayout;
9638
11152
  "selected": boolean;
11153
+ "shape": 'soft' | 'round' | 'rectangular';
9639
11154
  "tab": string;
9640
11155
  "target": string | undefined;
9641
11156
  }
@@ -9672,7 +11187,8 @@ declare namespace LocalJSX {
9672
11187
  "helperText": string;
9673
11188
  "label": string;
9674
11189
  "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
9675
- "shape": 'round';
11190
+ "shape": 'soft' | 'round' | 'rectangular';
11191
+ "size": 'small' | 'medium' | 'large';
9676
11192
  }
9677
11193
  interface IonTitleAttributes {
9678
11194
  "color": Color;
@@ -9683,11 +11199,13 @@ declare namespace LocalJSX {
9683
11199
  "cssClass": string | string[];
9684
11200
  "duration": number;
9685
11201
  "header": string;
11202
+ "hue": 'bold' | 'subtle';
9686
11203
  "layout": ToastLayout;
9687
11204
  "message": string | IonicSafeString;
9688
11205
  "keyboardClose": boolean;
9689
11206
  "position": ToastPosition;
9690
11207
  "positionAnchor": HTMLElement | string;
11208
+ "shape": 'soft' | 'round' | 'rectangular';
9691
11209
  "translucent": boolean;
9692
11210
  "animated": boolean;
9693
11211
  "icon": string;
@@ -9711,6 +11229,7 @@ declare namespace LocalJSX {
9711
11229
  }
9712
11230
  interface IonToolbarAttributes {
9713
11231
  "color": Color;
11232
+ "titlePlacement": 'start' | 'center' | 'end';
9714
11233
  }
9715
11234
 
9716
11235
  interface IntrinsicElements {
@@ -9719,7 +11238,7 @@ declare namespace LocalJSX {
9719
11238
  "ion-action-sheet": Omit<IonActionSheet, keyof IonActionSheetAttributes> & { [K in keyof IonActionSheet & keyof IonActionSheetAttributes]?: IonActionSheet[K] } & { [K in keyof IonActionSheet & keyof IonActionSheetAttributes as `attr:${K}`]?: IonActionSheetAttributes[K] } & { [K in keyof IonActionSheet & keyof IonActionSheetAttributes as `prop:${K}`]?: IonActionSheet[K] };
9720
11239
  "ion-alert": Omit<IonAlert, keyof IonAlertAttributes> & { [K in keyof IonAlert & keyof IonAlertAttributes]?: IonAlert[K] } & { [K in keyof IonAlert & keyof IonAlertAttributes as `attr:${K}`]?: IonAlertAttributes[K] } & { [K in keyof IonAlert & keyof IonAlertAttributes as `prop:${K}`]?: IonAlert[K] };
9721
11240
  "ion-app": IonApp;
9722
- "ion-avatar": IonAvatar;
11241
+ "ion-avatar": Omit<IonAvatar, keyof IonAvatarAttributes> & { [K in keyof IonAvatar & keyof IonAvatarAttributes]?: IonAvatar[K] } & { [K in keyof IonAvatar & keyof IonAvatarAttributes as `attr:${K}`]?: IonAvatarAttributes[K] } & { [K in keyof IonAvatar & keyof IonAvatarAttributes as `prop:${K}`]?: IonAvatar[K] };
9723
11242
  "ion-back-button": Omit<IonBackButton, keyof IonBackButtonAttributes> & { [K in keyof IonBackButton & keyof IonBackButtonAttributes]?: IonBackButton[K] } & { [K in keyof IonBackButton & keyof IonBackButtonAttributes as `attr:${K}`]?: IonBackButtonAttributes[K] } & { [K in keyof IonBackButton & keyof IonBackButtonAttributes as `prop:${K}`]?: IonBackButton[K] };
9724
11243
  "ion-backdrop": Omit<IonBackdrop, keyof IonBackdropAttributes> & { [K in keyof IonBackdrop & keyof IonBackdropAttributes]?: IonBackdrop[K] } & { [K in keyof IonBackdrop & keyof IonBackdropAttributes as `attr:${K}`]?: IonBackdropAttributes[K] } & { [K in keyof IonBackdrop & keyof IonBackdropAttributes as `prop:${K}`]?: IonBackdrop[K] };
9725
11244
  "ion-badge": Omit<IonBadge, keyof IonBadgeAttributes> & { [K in keyof IonBadge & keyof IonBadgeAttributes]?: IonBadge[K] } & { [K in keyof IonBadge & keyof IonBadgeAttributes as `attr:${K}`]?: IonBadgeAttributes[K] } & { [K in keyof IonBadge & keyof IonBadgeAttributes as `prop:${K}`]?: IonBadge[K] };
@@ -9738,6 +11257,7 @@ declare namespace LocalJSX {
9738
11257
  "ion-content": Omit<IonContent, keyof IonContentAttributes> & { [K in keyof IonContent & keyof IonContentAttributes]?: IonContent[K] } & { [K in keyof IonContent & keyof IonContentAttributes as `attr:${K}`]?: IonContentAttributes[K] } & { [K in keyof IonContent & keyof IonContentAttributes as `prop:${K}`]?: IonContent[K] };
9739
11258
  "ion-datetime": Omit<IonDatetime, keyof IonDatetimeAttributes> & { [K in keyof IonDatetime & keyof IonDatetimeAttributes]?: IonDatetime[K] } & { [K in keyof IonDatetime & keyof IonDatetimeAttributes as `attr:${K}`]?: IonDatetimeAttributes[K] } & { [K in keyof IonDatetime & keyof IonDatetimeAttributes as `prop:${K}`]?: IonDatetime[K] };
9740
11259
  "ion-datetime-button": Omit<IonDatetimeButton, keyof IonDatetimeButtonAttributes> & { [K in keyof IonDatetimeButton & keyof IonDatetimeButtonAttributes]?: IonDatetimeButton[K] } & { [K in keyof IonDatetimeButton & keyof IonDatetimeButtonAttributes as `attr:${K}`]?: IonDatetimeButtonAttributes[K] } & { [K in keyof IonDatetimeButton & keyof IonDatetimeButtonAttributes as `prop:${K}`]?: IonDatetimeButton[K] };
11260
+ "ion-divider": Omit<IonDivider, keyof IonDividerAttributes> & { [K in keyof IonDivider & keyof IonDividerAttributes]?: IonDivider[K] } & { [K in keyof IonDivider & keyof IonDividerAttributes as `attr:${K}`]?: IonDividerAttributes[K] } & { [K in keyof IonDivider & keyof IonDividerAttributes as `prop:${K}`]?: IonDivider[K] };
9741
11261
  "ion-fab": Omit<IonFab, keyof IonFabAttributes> & { [K in keyof IonFab & keyof IonFabAttributes]?: IonFab[K] } & { [K in keyof IonFab & keyof IonFabAttributes as `attr:${K}`]?: IonFabAttributes[K] } & { [K in keyof IonFab & keyof IonFabAttributes as `prop:${K}`]?: IonFab[K] };
9742
11262
  "ion-fab-button": Omit<IonFabButton, keyof IonFabButtonAttributes> & { [K in keyof IonFabButton & keyof IonFabButtonAttributes]?: IonFabButton[K] } & { [K in keyof IonFabButton & keyof IonFabButtonAttributes as `attr:${K}`]?: IonFabButtonAttributes[K] } & { [K in keyof IonFabButton & keyof IonFabButtonAttributes as `prop:${K}`]?: IonFabButton[K] };
9743
11263
  "ion-fab-list": Omit<IonFabList, keyof IonFabListAttributes> & { [K in keyof IonFabList & keyof IonFabListAttributes]?: IonFabList[K] } & { [K in keyof IonFabList & keyof IonFabListAttributes as `attr:${K}`]?: IonFabListAttributes[K] } & { [K in keyof IonFabList & keyof IonFabListAttributes as `prop:${K}`]?: IonFabList[K] };
@@ -9841,6 +11361,7 @@ declare module "@stencil/core" {
9841
11361
  "ion-content": LocalJSX.IntrinsicElements["ion-content"] & JSXBase.HTMLAttributes<HTMLIonContentElement>;
9842
11362
  "ion-datetime": LocalJSX.IntrinsicElements["ion-datetime"] & JSXBase.HTMLAttributes<HTMLIonDatetimeElement>;
9843
11363
  "ion-datetime-button": LocalJSX.IntrinsicElements["ion-datetime-button"] & JSXBase.HTMLAttributes<HTMLIonDatetimeButtonElement>;
11364
+ "ion-divider": LocalJSX.IntrinsicElements["ion-divider"] & JSXBase.HTMLAttributes<HTMLIonDividerElement>;
9844
11365
  "ion-fab": LocalJSX.IntrinsicElements["ion-fab"] & JSXBase.HTMLAttributes<HTMLIonFabElement>;
9845
11366
  "ion-fab-button": LocalJSX.IntrinsicElements["ion-fab-button"] & JSXBase.HTMLAttributes<HTMLIonFabButtonElement>;
9846
11367
  "ion-fab-list": LocalJSX.IntrinsicElements["ion-fab-list"] & JSXBase.HTMLAttributes<HTMLIonFabListElement>;