@ionic/core 8.7.13-dev.11765921002.107104c2 → 8.7.13-dev.11765925297.1bb45463

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 (953) hide show
  1. package/components/action-sheet.js +15 -11
  2. package/components/alert.js +14 -11
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +9 -6
  5. package/components/button.js +41 -10
  6. package/components/buttons.js +11 -8
  7. package/components/capacitor.js +1 -1
  8. package/components/caret-down.js +6 -0
  9. package/components/caret-left.js +6 -0
  10. package/components/caret-right.js +6 -0
  11. package/components/checkbox.js +31 -12
  12. package/components/content.js +14 -12
  13. package/components/data.js +5 -5
  14. package/components/focus-visible.js +23 -1
  15. package/components/framework-delegate.js +3 -1
  16. package/components/header.js +34 -22
  17. package/components/helpers.js +57 -4
  18. package/components/index5.js +8 -8
  19. package/components/index6.js +1 -1
  20. package/components/index7.js +111 -150
  21. package/components/index8.js +150 -111
  22. package/components/input-shims.js +2 -2
  23. package/components/input.utils.js +1 -1
  24. package/components/ion-accordion-group.js +23 -5
  25. package/components/ion-accordion.js +32 -21
  26. package/components/ion-app.js +12 -77
  27. package/components/ion-avatar.js +58 -5
  28. package/components/ion-back-button.js +27 -19
  29. package/components/ion-badge.js +73 -9
  30. package/components/ion-breadcrumb.js +43 -10
  31. package/components/ion-breadcrumbs.js +8 -5
  32. package/components/ion-card-content.js +10 -7
  33. package/components/ion-card-header.js +9 -6
  34. package/components/ion-card-subtitle.js +8 -5
  35. package/components/ion-card-title.js +8 -5
  36. package/components/ion-card.js +21 -9
  37. package/components/ion-chip.js +53 -8
  38. package/components/ion-col.js +51 -50
  39. package/components/ion-datetime-button.js +8 -5
  40. package/components/ion-datetime.js +98 -21
  41. package/components/ion-divider.d.ts +11 -0
  42. package/components/ion-divider.js +72 -0
  43. package/components/ion-fab-button.js +31 -15
  44. package/components/ion-fab-list.js +5 -5
  45. package/components/ion-fab.js +6 -6
  46. package/components/ion-footer.js +18 -13
  47. package/components/ion-grid.js +5 -5
  48. package/components/ion-img.js +5 -2
  49. package/components/ion-infinite-scroll-content.js +11 -8
  50. package/components/ion-infinite-scroll.js +78 -6
  51. package/components/ion-input-otp.js +9 -6
  52. package/components/ion-input-password-toggle.js +51 -13
  53. package/components/ion-input.js +120 -28
  54. package/components/ion-item-divider.js +8 -5
  55. package/components/ion-item-group.js +8 -5
  56. package/components/ion-item-option.js +36 -9
  57. package/components/ion-item-options.js +10 -7
  58. package/components/ion-item-sliding.js +5 -5
  59. package/components/ion-loading.js +12 -9
  60. package/components/ion-menu-button.js +26 -10
  61. package/components/ion-menu-toggle.js +5 -5
  62. package/components/ion-menu.js +10 -8
  63. package/components/ion-nav-link.js +1 -1
  64. package/components/ion-nav.js +7 -5
  65. package/components/ion-note.js +8 -5
  66. package/components/ion-picker-legacy.js +7 -7
  67. package/components/ion-progress-bar.js +25 -7
  68. package/components/ion-range.js +12 -9
  69. package/components/ion-refresher-content.js +23 -8
  70. package/components/ion-refresher.js +10 -7
  71. package/components/ion-reorder-group.js +5 -5
  72. package/components/ion-reorder.js +30 -5
  73. package/components/ion-router-link.js +6 -6
  74. package/components/ion-router-outlet.js +4 -4
  75. package/components/ion-row.js +6 -3
  76. package/components/ion-searchbar.js +137 -23
  77. package/components/ion-segment-button.js +10 -7
  78. package/components/ion-segment-content.js +1 -1
  79. package/components/ion-segment-view.js +5 -2
  80. package/components/ion-segment.js +10 -7
  81. package/components/ion-select-option.js +5 -2
  82. package/components/ion-select.js +117 -33
  83. package/components/ion-skeleton-text.js +5 -5
  84. package/components/ion-split-pane.js +11 -8
  85. package/components/ion-tab-bar.js +39 -9
  86. package/components/ion-tab-button.js +35 -8
  87. package/components/ion-tab.js +2 -2
  88. package/components/ion-tabs.js +2 -2
  89. package/components/ion-text.js +5 -5
  90. package/components/ion-textarea.js +112 -19
  91. package/components/ion-thumbnail.js +5 -2
  92. package/components/ion-toast.js +37 -12
  93. package/components/ion-toggle.js +74 -17
  94. package/components/ionic-global.js +349 -15
  95. package/components/ios.transition.js +1 -0
  96. package/components/item.js +47 -15
  97. package/components/keyboard-controller.js +4 -2
  98. package/components/label.js +8 -5
  99. package/components/list-header.js +10 -7
  100. package/components/list.js +27 -6
  101. package/components/list2.js +6 -0
  102. package/components/modal.js +48 -20
  103. package/components/notch-controller.js +1 -1
  104. package/components/overlays.js +96 -6
  105. package/components/picker-column-option.js +8 -5
  106. package/components/picker-column.js +7 -8
  107. package/components/picker-column2.js +4 -4
  108. package/components/picker.js +7 -4
  109. package/components/popover.js +12 -9
  110. package/components/radio-group.js +15 -7
  111. package/components/radio.js +11 -8
  112. package/components/ripple-effect.js +15 -7
  113. package/components/select-modal.js +12 -5
  114. package/components/select-popover.js +8 -2
  115. package/components/spinner.js +31 -8
  116. package/components/status-tap.js +1 -1
  117. package/components/title.js +10 -7
  118. package/components/toolbar.js +153 -9
  119. package/components/validity.js +32 -1
  120. package/components/x.js +6 -0
  121. package/css/core.css +1 -1
  122. package/css/core.css.map +1 -1
  123. package/css/display.css +1 -1
  124. package/css/display.css.map +1 -1
  125. package/css/flex-utils.css +1 -1
  126. package/css/flex-utils.css.map +1 -1
  127. package/css/float-elements.css.map +1 -1
  128. package/css/global.bundle.css.map +1 -1
  129. package/css/ionic/bundle.ionic.css +1 -0
  130. package/css/ionic/bundle.ionic.css.map +1 -0
  131. package/css/ionic/core.ionic.css +1 -0
  132. package/css/ionic/core.ionic.css.map +1 -0
  133. package/css/ionic/global.bundle.ionic.css +1 -0
  134. package/css/ionic/global.bundle.ionic.css.map +1 -0
  135. package/css/ionic/ionic-swiper.ionic.css +1 -0
  136. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  137. package/css/ionic/link.ionic.css +1 -0
  138. package/css/ionic/link.ionic.css.map +1 -0
  139. package/css/ionic/structure.ionic.css +1 -0
  140. package/css/ionic/structure.ionic.css.map +1 -0
  141. package/css/ionic/typography.ionic.css +1 -0
  142. package/css/ionic/typography.ionic.css.map +1 -0
  143. package/css/ionic/utils.bundle.ionic.css +1 -0
  144. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  145. package/css/ionic-swiper.css +1 -1
  146. package/css/ionic-swiper.css.map +1 -1
  147. package/css/ionic.bundle.css +1 -1
  148. package/css/ionic.bundle.css.map +1 -1
  149. package/css/normalize.css.map +1 -1
  150. package/css/padding.css.map +1 -1
  151. package/css/palettes/dark.always.css.map +1 -1
  152. package/css/palettes/dark.class.css.map +1 -1
  153. package/css/palettes/dark.system.css.map +1 -1
  154. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  156. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  157. package/css/palettes/high-contrast.always.css.map +1 -1
  158. package/css/palettes/high-contrast.class.css.map +1 -1
  159. package/css/palettes/high-contrast.system.css.map +1 -1
  160. package/css/structure.css.map +1 -1
  161. package/css/text-alignment.css.map +1 -1
  162. package/css/text-transformation.css.map +1 -1
  163. package/css/typography.css.map +1 -1
  164. package/css/utils.bundle.css +1 -1
  165. package/css/utils.bundle.css.map +1 -1
  166. package/dist/cjs/{animation-Bt3H9L1C.js → animation-BBT4oe7B.js} +3 -3
  167. package/dist/cjs/{app-globals-Ciccnk9_.js → app-globals-DjZzKNoV.js} +1 -1
  168. package/dist/cjs/{button-active-CMc8cD90.js → button-active-DQ3Dd_Zw.js} +2 -2
  169. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-G2rS2zAS.js} +3 -3
  170. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  171. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  172. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  173. package/dist/cjs/{config-C5fsO43a.js → config-CPCkFfH2.js} +1 -1
  174. package/dist/cjs/{data-JwZKaIQB.js → data-BpYscHnl.js} +6 -6
  175. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  176. package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-C7fZ8bup.js} +4 -2
  177. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-CYXFB5MG.js} +1 -1
  178. package/dist/cjs/{helpers-DrTqNghc.js → helpers-DF1tCuxf.js} +57 -4
  179. package/dist/cjs/{index-094mMFB-.js → index-BIUQBJ4M.js} +4 -4
  180. package/dist/cjs/{index-DrMUZJj6.js → index-BsTUIYWV.js} +15 -15
  181. package/dist/cjs/{index-CO6eryBo.js → index-C2sRwpb7.js} +2 -2
  182. package/dist/cjs/{index-D6Wc6v08.js → index-DjlJwy91.js} +41 -4
  183. package/dist/cjs/{index-C534ULug.js → index-h_4y8nIV.js} +9 -8
  184. package/dist/cjs/index.cjs.js +12 -13
  185. package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-co__iqWN.js} +18 -17
  186. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-DyXMjrIY.js} +5 -5
  187. package/dist/cjs/ion-accordion_2.cjs.entry.js +56 -27
  188. package/dist/cjs/ion-action-sheet.cjs.entry.js +24 -21
  189. package/dist/cjs/ion-alert.cjs.entry.js +24 -22
  190. package/dist/cjs/ion-app_8.cjs.entry.js +250 -151
  191. package/dist/cjs/ion-avatar_3.cjs.entry.js +124 -12
  192. package/dist/cjs/ion-back-button.cjs.entry.js +29 -20
  193. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
  194. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +52 -16
  195. package/dist/cjs/ion-button_2.cjs.entry.js +44 -12
  196. package/dist/cjs/ion-card_5.cjs.entry.js +54 -30
  197. package/dist/cjs/ion-checkbox.cjs.entry.js +33 -15
  198. package/dist/cjs/ion-chip.cjs.entry.js +49 -8
  199. package/dist/cjs/ion-col_3.cjs.entry.js +54 -57
  200. package/dist/cjs/ion-datetime-button.cjs.entry.js +12 -8
  201. package/dist/cjs/ion-datetime_3.cjs.entry.js +114 -39
  202. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  203. package/dist/cjs/ion-fab_3.cjs.entry.js +42 -26
  204. package/dist/cjs/ion-img.cjs.entry.js +8 -4
  205. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +91 -16
  206. package/dist/cjs/ion-input-otp.cjs.entry.js +12 -8
  207. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +51 -13
  208. package/dist/cjs/ion-input.cjs.entry.js +122 -32
  209. package/dist/cjs/ion-item-option_3.cjs.entry.js +49 -20
  210. package/dist/cjs/ion-item_8.cjs.entry.js +114 -47
  211. package/dist/cjs/ion-loading.cjs.entry.js +19 -17
  212. package/dist/cjs/ion-menu_3.cjs.entry.js +45 -27
  213. package/dist/cjs/ion-modal.cjs.entry.js +96 -69
  214. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
  215. package/dist/cjs/ion-picker-column-option.cjs.entry.js +11 -7
  216. package/dist/cjs/ion-picker-column.cjs.entry.js +13 -13
  217. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  218. package/dist/cjs/ion-popover.cjs.entry.js +19 -17
  219. package/dist/cjs/ion-progress-bar.cjs.entry.js +26 -8
  220. package/dist/cjs/ion-radio_2.cjs.entry.js +26 -16
  221. package/dist/cjs/ion-range.cjs.entry.js +15 -11
  222. package/dist/cjs/ion-refresher_2.cjs.entry.js +38 -20
  223. package/dist/cjs/ion-reorder_2.cjs.entry.js +37 -13
  224. package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
  225. package/dist/cjs/ion-route_4.cjs.entry.js +9 -8
  226. package/dist/cjs/ion-searchbar.cjs.entry.js +135 -22
  227. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  228. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
  229. package/dist/cjs/ion-segment_2.cjs.entry.js +22 -15
  230. package/dist/cjs/ion-select-modal.cjs.entry.js +16 -10
  231. package/dist/cjs/ion-select_3.cjs.entry.js +131 -40
  232. package/dist/cjs/ion-spinner.cjs.entry.js +29 -7
  233. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -9
  234. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +76 -22
  235. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  236. package/dist/cjs/ion-text.cjs.entry.js +6 -6
  237. package/dist/cjs/ion-textarea.cjs.entry.js +117 -22
  238. package/dist/cjs/ion-toast.cjs.entry.js +67 -44
  239. package/dist/cjs/ion-toggle.cjs.entry.js +80 -23
  240. package/dist/cjs/ionic-global-DlkD8-ZL.js +491 -0
  241. package/dist/cjs/ionic.cjs.js +4 -4
  242. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-cjE5173V.js} +7 -5
  243. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-BiIvvomq.js} +1 -1
  244. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Dxl3DPOc.js} +4 -3
  245. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-5GsVQphE.js} +11 -9
  246. package/dist/cjs/list-a-7GSA6K.js +8 -0
  247. package/dist/cjs/loader.cjs.js +4 -4
  248. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-ChCLDEkm.js} +6 -5
  249. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-BGNMnptF.js} +4 -4
  250. package/dist/cjs/{overlays--dagG4QM.js → overlays-DPjo0yW3.js} +102 -12
  251. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-BLw3gi_z.js} +4 -3
  252. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-BD2lWufH.js} +3 -2
  253. package/dist/cjs/validity-QmuwEptc.js +51 -0
  254. package/dist/cjs/x-BTF99yFH.js +8 -0
  255. package/dist/collection/collection-manifest.json +1 -0
  256. package/dist/collection/components/accordion/accordion.ionic.css +196 -0
  257. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  258. package/dist/collection/components/accordion/accordion.js +36 -26
  259. package/dist/collection/components/accordion/accordion.md.css +67 -59
  260. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  261. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  262. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  263. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  264. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  265. package/dist/collection/components/action-sheet/action-sheet.js +17 -13
  266. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  267. package/dist/collection/components/alert/alert.ios.css +19 -1
  268. package/dist/collection/components/alert/alert.js +16 -13
  269. package/dist/collection/components/alert/alert.md.css +19 -1
  270. package/dist/collection/components/app/app.js +15 -78
  271. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  272. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  273. package/dist/collection/components/avatar/avatar.js +120 -4
  274. package/dist/collection/components/avatar/avatar.md.css +51 -0
  275. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  276. package/dist/collection/components/back-button/back-button.js +27 -19
  277. package/dist/collection/components/back-button/back-button.md.css +60 -48
  278. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  279. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  280. package/dist/collection/components/backdrop/backdrop.js +12 -6
  281. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  282. package/dist/collection/components/badge/badge.ionic.css +275 -0
  283. package/dist/collection/components/badge/badge.ios.css +139 -12
  284. package/dist/collection/components/badge/badge.js +145 -9
  285. package/dist/collection/components/badge/badge.md.css +123 -12
  286. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  287. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  288. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  289. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  290. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  291. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  292. package/dist/collection/components/button/button.ionic.css +636 -0
  293. package/dist/collection/components/button/button.ios.css +135 -46
  294. package/dist/collection/components/button/button.js +48 -17
  295. package/dist/collection/components/button/button.md.css +126 -50
  296. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  297. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  298. package/dist/collection/components/buttons/buttons.js +15 -9
  299. package/dist/collection/components/buttons/buttons.md.css +55 -3
  300. package/dist/collection/components/card/card.ionic.css +144 -0
  301. package/dist/collection/components/card/card.ios.css +65 -14
  302. package/dist/collection/components/card/card.js +41 -10
  303. package/dist/collection/components/card/card.md.css +65 -14
  304. package/dist/collection/components/card-content/card-content.ionic.css +92 -0
  305. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  306. package/dist/collection/components/card-content/card-content.js +11 -8
  307. package/dist/collection/components/card-content/card-content.md.css +16 -1
  308. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  309. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  310. package/dist/collection/components/card-header/card-header.js +13 -10
  311. package/dist/collection/components/card-header/card-header.md.css +27 -15
  312. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  313. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  314. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  315. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  316. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  317. package/dist/collection/components/card-title/card-title.js +11 -8
  318. package/dist/collection/components/card-title/card-title.md.css +73 -0
  319. package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
  320. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  321. package/dist/collection/components/checkbox/checkbox.js +70 -14
  322. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  323. package/dist/collection/components/chip/chip.ionic.css +215 -0
  324. package/dist/collection/components/chip/chip.ios.css +67 -14
  325. package/dist/collection/components/chip/chip.js +108 -8
  326. package/dist/collection/components/chip/chip.md.css +67 -14
  327. package/dist/collection/components/col/col.css +192 -4
  328. package/dist/collection/components/col/col.js +210 -61
  329. package/dist/collection/components/content/content.css +8 -2
  330. package/dist/collection/components/content/content.js +16 -11
  331. package/dist/collection/components/datetime/datetime.ionic.css +711 -0
  332. package/dist/collection/components/datetime/datetime.ios.css +258 -96
  333. package/dist/collection/components/datetime/datetime.js +98 -20
  334. package/dist/collection/components/datetime/datetime.md.css +258 -96
  335. package/dist/collection/components/datetime/utils/data.js +5 -5
  336. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  337. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  338. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  339. package/dist/collection/components/divider/divider.ionic.css +148 -0
  340. package/dist/collection/components/divider/divider.ios.css +87 -0
  341. package/dist/collection/components/divider/divider.js +94 -0
  342. package/dist/collection/components/divider/divider.md.css +87 -0
  343. package/dist/collection/components/fab/fab.css +25 -1
  344. package/dist/collection/components/fab/fab.js +9 -5
  345. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  346. package/dist/collection/components/fab-button/fab-button.js +36 -21
  347. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  348. package/dist/collection/components/fab-list/fab-list.css +12 -0
  349. package/dist/collection/components/fab-list/fab-list.js +9 -5
  350. package/dist/collection/components/footer/footer.ios.css +14 -2
  351. package/dist/collection/components/footer/footer.js +21 -16
  352. package/dist/collection/components/footer/footer.md.css +12 -0
  353. package/dist/collection/components/grid/grid.css +12 -0
  354. package/dist/collection/components/grid/grid.js +9 -5
  355. package/dist/collection/components/header/header.ionic.css +97 -0
  356. package/dist/collection/components/header/header.ios.css +25 -10
  357. package/dist/collection/components/header/header.js +50 -19
  358. package/dist/collection/components/header/header.md.css +23 -8
  359. package/dist/collection/components/header/header.utils.js +5 -5
  360. package/dist/collection/components/img/img.js +8 -2
  361. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  362. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  363. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  364. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  365. package/dist/collection/components/input/input.ionic.css +885 -0
  366. package/dist/collection/components/input/input.ios.css +223 -140
  367. package/dist/collection/components/input/input.js +149 -38
  368. package/dist/collection/components/input/input.md.css +193 -212
  369. package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
  370. package/dist/collection/components/input-otp/input-otp.ios.css +102 -60
  371. package/dist/collection/components/input-otp/input-otp.js +7 -5
  372. package/dist/collection/components/input-otp/input-otp.md.css +102 -60
  373. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  374. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  375. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  376. package/dist/collection/components/item/item.ionic.css +508 -0
  377. package/dist/collection/components/item/item.ios.css +109 -69
  378. package/dist/collection/components/item/item.js +51 -20
  379. package/dist/collection/components/item/item.md.css +120 -68
  380. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  381. package/dist/collection/components/item-divider/item-divider.js +11 -8
  382. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  383. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  384. package/dist/collection/components/item-group/item-group.js +13 -7
  385. package/dist/collection/components/item-group/item-group.md.css +12 -0
  386. package/dist/collection/components/item-option/item-option.ionic.css +278 -0
  387. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  388. package/dist/collection/components/item-option/item-option.js +73 -9
  389. package/dist/collection/components/item-option/item-option.md.css +136 -29
  390. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  391. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  392. package/dist/collection/components/item-options/item-options.js +13 -7
  393. package/dist/collection/components/item-options/item-options.md.css +77 -34
  394. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  395. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  396. package/dist/collection/components/label/label.ios.css +18 -0
  397. package/dist/collection/components/label/label.js +11 -8
  398. package/dist/collection/components/label/label.md.css +18 -0
  399. package/dist/collection/components/list/list.ionic.css +212 -0
  400. package/dist/collection/components/list/list.ios.css +54 -14
  401. package/dist/collection/components/list/list.js +48 -9
  402. package/dist/collection/components/list/list.md.css +56 -16
  403. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  404. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  405. package/dist/collection/components/list-header/list-header.js +11 -8
  406. package/dist/collection/components/list-header/list-header.md.css +82 -38
  407. package/dist/collection/components/loading/loading.ios.css +13 -1
  408. package/dist/collection/components/loading/loading.js +14 -11
  409. package/dist/collection/components/loading/loading.md.css +13 -1
  410. package/dist/collection/components/menu/menu.ios.css +15 -3
  411. package/dist/collection/components/menu/menu.js +12 -7
  412. package/dist/collection/components/menu/menu.md.css +15 -3
  413. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  414. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  415. package/dist/collection/components/menu-button/menu-button.js +26 -10
  416. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  417. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  418. package/dist/collection/components/modal/animations/sheet.js +8 -2
  419. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  420. package/dist/collection/components/modal/modal.ionic.css +247 -0
  421. package/dist/collection/components/modal/modal.ios.css +174 -70
  422. package/dist/collection/components/modal/modal.js +48 -11
  423. package/dist/collection/components/modal/modal.md.css +174 -70
  424. package/dist/collection/components/nav/nav.css +7 -1
  425. package/dist/collection/components/nav/nav.js +11 -5
  426. package/dist/collection/components/nav-link/nav-link.js +5 -1
  427. package/dist/collection/components/note/note.ios.css +12 -0
  428. package/dist/collection/components/note/note.js +11 -8
  429. package/dist/collection/components/note/note.md.css +12 -0
  430. package/dist/collection/components/picker/picker.ios.css +15 -3
  431. package/dist/collection/components/picker/picker.js +8 -5
  432. package/dist/collection/components/picker/picker.md.css +15 -3
  433. package/dist/collection/components/picker-column/picker-column.css +9 -2
  434. package/dist/collection/components/picker-column/picker-column.js +8 -7
  435. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  436. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  437. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  438. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  439. package/dist/collection/components/picker-legacy/picker.js +7 -6
  440. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  441. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  442. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  443. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  444. package/dist/collection/components/popover/popover.ios.css +13 -1
  445. package/dist/collection/components/popover/popover.js +17 -14
  446. package/dist/collection/components/popover/popover.md.css +13 -1
  447. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  448. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  449. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  450. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  451. package/dist/collection/components/radio/radio.ionic.css +422 -0
  452. package/dist/collection/components/radio/radio.ios.css +134 -91
  453. package/dist/collection/components/radio/radio.js +12 -9
  454. package/dist/collection/components/radio/radio.md.css +134 -91
  455. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  456. package/dist/collection/components/radio-group/radio-group.ios.css +43 -23
  457. package/dist/collection/components/radio-group/radio-group.js +21 -6
  458. package/dist/collection/components/radio-group/radio-group.md.css +43 -23
  459. package/dist/collection/components/range/range.ionic.css +563 -0
  460. package/dist/collection/components/range/range.ios.css +128 -85
  461. package/dist/collection/components/range/range.js +12 -9
  462. package/dist/collection/components/range/range.md.css +128 -85
  463. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  464. package/dist/collection/components/refresher/refresher.js +11 -8
  465. package/dist/collection/components/refresher/refresher.md.css +15 -2
  466. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  467. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  468. package/dist/collection/components/reorder/reorder.js +33 -6
  469. package/dist/collection/components/reorder/reorder.md.css +6 -0
  470. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  471. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  472. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  473. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  474. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  475. package/dist/collection/components/route/route.js +4 -0
  476. package/dist/collection/components/router/router.js +4 -0
  477. package/dist/collection/components/router-link/router-link.css +8 -2
  478. package/dist/collection/components/router-link/router-link.js +9 -5
  479. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  480. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  481. package/dist/collection/components/row/row.css +16 -0
  482. package/dist/collection/components/row/row.js +9 -2
  483. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  484. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  485. package/dist/collection/components/searchbar/searchbar.js +181 -34
  486. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  487. package/dist/collection/components/segment/segment.ionic.css +115 -0
  488. package/dist/collection/components/segment/segment.ios.css +45 -2
  489. package/dist/collection/components/segment/segment.js +11 -8
  490. package/dist/collection/components/segment/segment.md.css +45 -2
  491. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  492. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  493. package/dist/collection/components/segment-button/segment-button.js +11 -8
  494. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  495. package/dist/collection/components/segment-content/segment-content.js +1 -1
  496. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  497. package/dist/collection/components/segment-view/segment-view.js +6 -4
  498. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  499. package/dist/collection/components/select/select.ionic.css +777 -0
  500. package/dist/collection/components/select/select.ios.css +315 -176
  501. package/dist/collection/components/select/select.js +156 -53
  502. package/dist/collection/components/select/select.md.css +331 -178
  503. package/dist/collection/components/select-modal/select-modal.ionic.css +130 -0
  504. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  505. package/dist/collection/components/select-modal/select-modal.js +11 -4
  506. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  507. package/dist/collection/components/select-option/select-option.js +9 -2
  508. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  509. package/dist/collection/components/select-popover/select-popover.js +12 -4
  510. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  511. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  512. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  513. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +77 -10
  514. package/dist/collection/components/spinner/spinner.js +47 -6
  515. package/dist/collection/components/spinner/spinner.native.css +198 -0
  516. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  517. package/dist/collection/components/split-pane/split-pane.js +14 -8
  518. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  519. package/dist/collection/components/tab/tab.js +6 -2
  520. package/dist/collection/components/tab-bar/tab-bar.ionic.css +201 -0
  521. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  522. package/dist/collection/components/tab-bar/tab-bar.js +78 -11
  523. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  524. package/dist/collection/components/tab-button/tab-button.ionic.css +337 -0
  525. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  526. package/dist/collection/components/tab-button/tab-button.js +54 -9
  527. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  528. package/dist/collection/components/tabs/tabs.css +7 -1
  529. package/dist/collection/components/tabs/tabs.js +4 -1
  530. package/dist/collection/components/text/text.css +6 -0
  531. package/dist/collection/components/text/text.js +7 -6
  532. package/dist/collection/components/textarea/textarea.ionic.css +890 -0
  533. package/dist/collection/components/textarea/textarea.ios.css +283 -142
  534. package/dist/collection/components/textarea/textarea.js +146 -24
  535. package/dist/collection/components/textarea/textarea.md.css +297 -143
  536. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  537. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  538. package/dist/collection/components/title/title.ionic.css +127 -0
  539. package/dist/collection/components/title/title.ios.css +32 -4
  540. package/dist/collection/components/title/title.js +13 -7
  541. package/dist/collection/components/title/title.md.css +32 -4
  542. package/dist/collection/components/toast/animations/utils.js +1 -1
  543. package/dist/collection/components/toast/toast.ionic.css +394 -0
  544. package/dist/collection/components/toast/toast.ios.css +84 -45
  545. package/dist/collection/components/toast/toast.js +75 -12
  546. package/dist/collection/components/toast/toast.md.css +84 -45
  547. package/dist/collection/components/toggle/toggle.ionic.css +508 -0
  548. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  549. package/dist/collection/components/toggle/toggle.js +73 -18
  550. package/dist/collection/components/toggle/toggle.md.css +244 -131
  551. package/dist/collection/components/toolbar/test/image.svg +1 -0
  552. package/dist/collection/components/toolbar/toolbar.ionic.css +241 -0
  553. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  554. package/dist/collection/components/toolbar/toolbar.js +157 -13
  555. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  556. package/dist/collection/global/ionic-global.js +228 -13
  557. package/dist/collection/utils/focus-trap.js +13 -2
  558. package/dist/collection/utils/focus-visible.js +22 -0
  559. package/dist/collection/utils/forms/validity.js +31 -0
  560. package/dist/collection/utils/framework-delegate.js +3 -1
  561. package/dist/collection/utils/helpers.js +57 -3
  562. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  563. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  564. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  565. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  566. package/dist/collection/utils/overlays.js +82 -1
  567. package/dist/collection/utils/test/playwright/generator.js +48 -23
  568. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  569. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  570. package/dist/collection/utils/transition/ios.transition.js +1 -0
  571. package/dist/docs.json +8263 -377
  572. package/dist/esm/{animation-Dt8bGnA-.js → animation-DR5OwIG7.js} +2 -2
  573. package/dist/esm/{app-globals-BDSf8fOA.js → app-globals-tUwaabUU.js} +1 -1
  574. package/dist/esm/{button-active-L570Swow.js → button-active-CegK1Ga3.js} +2 -2
  575. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-Ap5mZl6I.js} +1 -1
  576. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  577. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  578. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  579. package/dist/esm/{config-mCdtaoPe.js → config-DK9FWNvn.js} +1 -1
  580. package/dist/esm/{data-DCORV9FH.js → data-B5lRlGxI.js} +6 -6
  581. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  582. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-Dx6tn-_w.js} +4 -2
  583. package/dist/esm/{haptic-DzAMWJuk.js → haptic-hXtWLcs-.js} +1 -1
  584. package/dist/esm/{helpers-DEn3pfjm.js → helpers-6l6yFg3S.js} +57 -4
  585. package/dist/esm/{index-r2D9DEro.js → index-BVnPBHWX.js} +4 -4
  586. package/dist/esm/{index-ceb5RaMT.js → index-CAS79tvr.js} +4 -3
  587. package/dist/esm/{index-CvDIirVx.js → index-CH4BJAR9.js} +11 -11
  588. package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
  589. package/dist/esm/{index-Bs3kT4bc.js → index-CXCvNx5X.js} +2 -2
  590. package/dist/esm/{index-C8IsBmNU.js → index-gD7P82jx.js} +41 -4
  591. package/dist/esm/index.js +12 -13
  592. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-DFQmNfaZ.js} +7 -6
  593. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-85zOntcN.js} +3 -3
  594. package/dist/esm/ion-accordion_2.entry.js +57 -28
  595. package/dist/esm/ion-action-sheet.entry.js +24 -21
  596. package/dist/esm/ion-alert.entry.js +24 -22
  597. package/dist/esm/ion-app_8.entry.js +250 -151
  598. package/dist/esm/ion-avatar_3.entry.js +125 -13
  599. package/dist/esm/ion-back-button.entry.js +30 -21
  600. package/dist/esm/ion-backdrop.entry.js +10 -7
  601. package/dist/esm/ion-breadcrumb_2.entry.js +53 -17
  602. package/dist/esm/ion-button_2.entry.js +44 -12
  603. package/dist/esm/ion-card_5.entry.js +54 -30
  604. package/dist/esm/ion-checkbox.entry.js +33 -15
  605. package/dist/esm/ion-chip.entry.js +49 -8
  606. package/dist/esm/ion-col_3.entry.js +54 -57
  607. package/dist/esm/ion-datetime-button.entry.js +12 -8
  608. package/dist/esm/ion-datetime_3.entry.js +115 -40
  609. package/dist/esm/ion-divider.entry.js +49 -0
  610. package/dist/esm/ion-fab_3.entry.js +43 -27
  611. package/dist/esm/ion-img.entry.js +8 -4
  612. package/dist/esm/ion-infinite-scroll_2.entry.js +91 -16
  613. package/dist/esm/ion-input-otp.entry.js +12 -8
  614. package/dist/esm/ion-input-password-toggle.entry.js +52 -14
  615. package/dist/esm/ion-input.entry.js +123 -33
  616. package/dist/esm/ion-item-option_3.entry.js +49 -20
  617. package/dist/esm/ion-item_8.entry.js +115 -48
  618. package/dist/esm/ion-loading.entry.js +19 -17
  619. package/dist/esm/ion-menu_3.entry.js +46 -28
  620. package/dist/esm/ion-modal.entry.js +57 -30
  621. package/dist/esm/ion-nav_2.entry.js +14 -11
  622. package/dist/esm/ion-picker-column-option.entry.js +11 -7
  623. package/dist/esm/ion-picker-column.entry.js +12 -12
  624. package/dist/esm/ion-picker.entry.js +10 -6
  625. package/dist/esm/ion-popover.entry.js +19 -17
  626. package/dist/esm/ion-progress-bar.entry.js +26 -8
  627. package/dist/esm/ion-radio_2.entry.js +26 -16
  628. package/dist/esm/ion-range.entry.js +15 -11
  629. package/dist/esm/ion-refresher_2.entry.js +39 -21
  630. package/dist/esm/ion-reorder_2.entry.js +38 -14
  631. package/dist/esm/ion-ripple-effect.entry.js +15 -7
  632. package/dist/esm/ion-route_4.entry.js +9 -8
  633. package/dist/esm/ion-searchbar.entry.js +137 -24
  634. package/dist/esm/ion-segment-content.entry.js +2 -2
  635. package/dist/esm/ion-segment-view.entry.js +6 -3
  636. package/dist/esm/ion-segment_2.entry.js +22 -15
  637. package/dist/esm/ion-select-modal.entry.js +17 -11
  638. package/dist/esm/ion-select_3.entry.js +132 -41
  639. package/dist/esm/ion-spinner.entry.js +29 -7
  640. package/dist/esm/ion-split-pane.entry.js +12 -9
  641. package/dist/esm/ion-tab-bar_2.entry.js +76 -22
  642. package/dist/esm/ion-tab_2.entry.js +8 -7
  643. package/dist/esm/ion-text.entry.js +6 -6
  644. package/dist/esm/ion-textarea.entry.js +117 -22
  645. package/dist/esm/ion-toast.entry.js +42 -19
  646. package/dist/esm/ion-toggle.entry.js +81 -24
  647. package/dist/esm/ionic-global-C2dfEr5R.js +480 -0
  648. package/dist/esm/ionic.js +5 -5
  649. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition-mZDQgHke.js} +7 -5
  650. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-BBx8cd5K.js} +4 -3
  651. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-NoPSnHZy.js} +1 -1
  652. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-D5zoL0pZ.js} +5 -3
  653. package/dist/esm/list-Dhi5xtNS.js +6 -0
  654. package/dist/esm/loader.js +5 -5
  655. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-DOqTLNQU.js} +6 -5
  656. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-C7UVCCo4.js} +2 -2
  657. package/dist/esm/{overlays-DCabi1dI.js → overlays-DvZf7QU-.js} +99 -9
  658. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BAJGCN-1.js} +4 -3
  659. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-bZ7qcCmT.js} +3 -2
  660. package/dist/esm/validity-BjW8SOqw.js +48 -0
  661. package/dist/esm/x-BDqjX7Z_.js +6 -0
  662. package/dist/html.html-data.json +2530 -224
  663. package/dist/ionic/index.esm.js +1 -1
  664. package/dist/ionic/ionic.esm.js +1 -1
  665. package/dist/ionic/p-01ebb298.entry.js +4 -0
  666. package/dist/ionic/p-058204d8.entry.js +4 -0
  667. package/dist/ionic/p-074b3070.entry.js +4 -0
  668. package/dist/ionic/p-0ac03d31.entry.js +4 -0
  669. package/dist/ionic/p-1552f206.entry.js +4 -0
  670. package/dist/ionic/p-2eeb3efe.entry.js +4 -0
  671. package/dist/ionic/p-35214276.entry.js +4 -0
  672. package/dist/ionic/p-354515ed.entry.js +4 -0
  673. package/dist/ionic/p-3ec68103.entry.js +4 -0
  674. package/dist/ionic/p-427c1ad4.entry.js +4 -0
  675. package/dist/ionic/p-453a5dda.entry.js +4 -0
  676. package/dist/ionic/p-45551cea.entry.js +4 -0
  677. package/dist/ionic/p-484549da.entry.js +4 -0
  678. package/dist/ionic/p-505435ca.entry.js +4 -0
  679. package/dist/ionic/p-50c72200.entry.js +4 -0
  680. package/dist/ionic/p-5189dd57.entry.js +4 -0
  681. package/dist/ionic/p-52d0d65d.entry.js +4 -0
  682. package/dist/ionic/p-59279168.entry.js +4 -0
  683. package/dist/ionic/p-59482460.entry.js +4 -0
  684. package/dist/ionic/p-5cad7882.entry.js +4 -0
  685. package/dist/ionic/p-5d4f0f1d.entry.js +4 -0
  686. package/dist/ionic/p-5fcd7b49.entry.js +4 -0
  687. package/dist/ionic/p-6760dd1e.entry.js +4 -0
  688. package/dist/ionic/p-69465c18.entry.js +4 -0
  689. package/dist/ionic/p-6c4559a0.entry.js +4 -0
  690. package/dist/ionic/p-76734290.entry.js +4 -0
  691. package/dist/ionic/p-7d15135e.entry.js +4 -0
  692. package/dist/ionic/p-80d247b1.entry.js +4 -0
  693. package/dist/ionic/p-8396abe1.entry.js +4 -0
  694. package/dist/ionic/p-86a947c1.entry.js +4 -0
  695. package/dist/ionic/p-879ce6f2.entry.js +4 -0
  696. package/dist/ionic/p-8e97391b.entry.js +4 -0
  697. package/dist/ionic/p-984df948.entry.js +4 -0
  698. package/dist/ionic/p-9a00aac8.entry.js +4 -0
  699. package/dist/ionic/p-9b5b0e6d.entry.js +4 -0
  700. package/dist/ionic/p-B9cWjC5a.js +4 -0
  701. package/dist/ionic/p-BDhPZwpV.js +4 -0
  702. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  703. package/dist/ionic/p-BI1KkP1o.js +4 -0
  704. package/dist/ionic/p-BYSs-jZz.js +4 -0
  705. package/dist/ionic/p-BYnmISwy.js +4 -0
  706. package/dist/ionic/p-BjW8SOqw.js +4 -0
  707. package/dist/ionic/{p-Dc45iWE4.js → p-Bmh46Fz0.js} +1 -1
  708. package/dist/ionic/{p-BYEqWnSg.js → p-BsbREiiN.js} +1 -1
  709. package/dist/ionic/p-CCy93Kdo.js +4 -0
  710. package/dist/ionic/{p-D0dMcSkw.js → p-CDRncjej.js} +1 -1
  711. package/dist/ionic/{p-CJxh_yLS.js → p-CH8-5k8b.js} +1 -1
  712. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  713. package/dist/ionic/p-CSbvB5z5.js +4 -0
  714. package/dist/ionic/p-CVI6Uwrk.js +4 -0
  715. package/dist/ionic/{p-CwgG81ZD.js → p-CYW7idR0.js} +1 -1
  716. package/dist/ionic/p-CZG8whz6.js +4 -0
  717. package/dist/ionic/p-Cq6IwwGB.js +4 -0
  718. package/dist/ionic/p-Ct1oJEVo.js +4 -0
  719. package/dist/ionic/p-CtS5hTli.js +4 -0
  720. package/dist/ionic/{p-DbQ5QkTP.js → p-Cv5jk_TK.js} +1 -1
  721. package/dist/ionic/p-D1t981Ih.js +4 -0
  722. package/dist/ionic/p-D2EO-8IE.js +4 -0
  723. package/dist/ionic/p-DIzp9O64.js +4 -0
  724. package/dist/ionic/{p-D13Eaw-8.js → p-DMo2WKG5.js} +1 -1
  725. package/dist/ionic/p-DUdm2h77.js +4 -0
  726. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  727. package/dist/ionic/p-DkXYG789.js +4 -0
  728. package/dist/ionic/p-We-0jbXn.js +4 -0
  729. package/dist/ionic/p-a4282459.entry.js +4 -0
  730. package/dist/ionic/p-b9ec8be1.entry.js +4 -0
  731. package/dist/ionic/p-bf2ac6e0.entry.js +4 -0
  732. package/dist/ionic/p-c12298f5.entry.js +4 -0
  733. package/dist/ionic/p-c1562e8b.entry.js +4 -0
  734. package/dist/ionic/p-c7df4ca1.entry.js +4 -0
  735. package/dist/ionic/p-cb1f3e0c.entry.js +4 -0
  736. package/dist/ionic/p-d12a71be.entry.js +4 -0
  737. package/dist/ionic/p-d249f019.entry.js +4 -0
  738. package/dist/ionic/p-de2418c7.entry.js +4 -0
  739. package/dist/ionic/p-df036563.entry.js +4 -0
  740. package/dist/ionic/p-e174f8a8.entry.js +4 -0
  741. package/dist/ionic/p-e67abd5f.entry.js +4 -0
  742. package/dist/ionic/p-e937a89a.entry.js +4 -0
  743. package/dist/ionic/p-f01c1e73.entry.js +4 -0
  744. package/dist/ionic/p-f2ba465e.entry.js +4 -0
  745. package/dist/ionic/p-f5be9d83.entry.js +4 -0
  746. package/dist/ionic/p-fIOYmaqA.js +4 -0
  747. package/dist/ionic/p-fb3b3444.entry.js +4 -0
  748. package/dist/ionic/p-gD7P82jx.js +5 -0
  749. package/dist/ionic/p-hPTD29t1.js +4 -0
  750. package/dist/ionic/{p-CKvCXMs9.js → p-qNBpc0Qq.js} +1 -1
  751. package/dist/ionic/p-vXpMhGrs.js +4 -0
  752. package/dist/types/components/accordion/accordion.d.ts +5 -3
  753. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  754. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  755. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  756. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  757. package/dist/types/components/alert/alert.d.ts +3 -2
  758. package/dist/types/components/app/app.d.ts +4 -2
  759. package/dist/types/components/avatar/avatar.d.ts +32 -0
  760. package/dist/types/components/back-button/back-button.d.ts +2 -1
  761. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  762. package/dist/types/components/badge/badge.d.ts +34 -1
  763. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  764. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  765. package/dist/types/components/button/button.d.ts +19 -6
  766. package/dist/types/components/buttons/buttons.d.ts +5 -1
  767. package/dist/types/components/card/card.d.ts +8 -1
  768. package/dist/types/components/card-content/card-content.d.ts +2 -1
  769. package/dist/types/components/card-header/card-header.d.ts +3 -2
  770. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  771. package/dist/types/components/card-title/card-title.d.ts +2 -1
  772. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  773. package/dist/types/components/chip/chip.d.ts +26 -1
  774. package/dist/types/components/col/col.d.ts +52 -5
  775. package/dist/types/components/content/content.d.ts +3 -0
  776. package/dist/types/components/datetime/datetime.d.ts +26 -1
  777. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  778. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  779. package/dist/types/components/divider/divider.d.ts +20 -0
  780. package/dist/types/components/fab/fab.d.ts +4 -0
  781. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  782. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  783. package/dist/types/components/footer/footer.d.ts +4 -3
  784. package/dist/types/components/grid/grid.d.ts +4 -0
  785. package/dist/types/components/header/header.d.ts +9 -3
  786. package/dist/types/components/header/header.utils.d.ts +3 -3
  787. package/dist/types/components/img/img.d.ts +3 -0
  788. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  789. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  790. package/dist/types/components/input/input.d.ts +31 -5
  791. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  792. package/dist/types/components/item/item.d.ts +11 -4
  793. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  794. package/dist/types/components/item-group/item-group.d.ts +4 -0
  795. package/dist/types/components/item-option/item-option.d.ts +18 -1
  796. package/dist/types/components/item-options/item-options.d.ts +4 -0
  797. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  798. package/dist/types/components/label/label.d.ts +2 -1
  799. package/dist/types/components/list/list.d.ts +15 -1
  800. package/dist/types/components/list-header/list-header.d.ts +2 -1
  801. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  802. package/dist/types/components/loading/loading.d.ts +3 -2
  803. package/dist/types/components/menu/menu.d.ts +3 -0
  804. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  805. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  806. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  807. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  808. package/dist/types/components/modal/modal.d.ts +11 -1
  809. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  810. package/dist/types/components/nav/nav.d.ts +5 -1
  811. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  812. package/dist/types/components/note/note.d.ts +2 -1
  813. package/dist/types/components/picker/picker.d.ts +2 -1
  814. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  815. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  816. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  817. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  818. package/dist/types/components/popover/popover.d.ts +6 -5
  819. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  820. package/dist/types/components/radio/radio.d.ts +2 -1
  821. package/dist/types/components/radio-group/radio-group.d.ts +8 -0
  822. package/dist/types/components/range/range.d.ts +2 -1
  823. package/dist/types/components/refresher/refresher.d.ts +2 -1
  824. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  825. package/dist/types/components/reorder/reorder.d.ts +9 -0
  826. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  827. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  828. package/dist/types/components/route/route.d.ts +4 -0
  829. package/dist/types/components/router/router.d.ts +4 -0
  830. package/dist/types/components/router-link/router-link.d.ts +4 -0
  831. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  832. package/dist/types/components/row/row.d.ts +4 -0
  833. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  834. package/dist/types/components/segment/segment.d.ts +2 -1
  835. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  836. package/dist/types/components/select/select.d.ts +41 -13
  837. package/dist/types/components/select-modal/select-modal.d.ts +1 -0
  838. package/dist/types/components/select-option/select-option.d.ts +4 -0
  839. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  840. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  841. package/dist/types/components/spinner/spinner.d.ts +15 -0
  842. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  843. package/dist/types/components/tab/tab.d.ts +4 -0
  844. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  845. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  846. package/dist/types/components/tabs/tabs.d.ts +3 -0
  847. package/dist/types/components/text/text.d.ts +2 -1
  848. package/dist/types/components/textarea/textarea.d.ts +42 -4
  849. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  850. package/dist/types/components/title/title.d.ts +4 -0
  851. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  852. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  853. package/dist/types/components/toast/toast.d.ts +19 -2
  854. package/dist/types/components/toggle/toggle.d.ts +15 -1
  855. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  856. package/dist/types/components.d.ts +1593 -196
  857. package/dist/types/global/ionic-global.d.ts +27 -2
  858. package/dist/types/interface.d.ts +3 -0
  859. package/dist/types/utils/config.d.ts +106 -2
  860. package/dist/types/utils/focus-trap.d.ts +1 -1
  861. package/dist/types/utils/focus-visible.d.ts +13 -0
  862. package/dist/types/utils/forms/validity.d.ts +7 -0
  863. package/dist/types/utils/helpers.d.ts +11 -0
  864. package/dist/types/utils/overlays-interface.d.ts +31 -1
  865. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  866. package/hydrate/index.js +3099 -964
  867. package/hydrate/index.mjs +3099 -964
  868. package/package.json +8 -4
  869. package/components/hardware-back-button.js +0 -115
  870. package/components/index9.js +0 -7
  871. package/dist/cjs/hardware-back-button-VCK4V3mG.js +0 -121
  872. package/dist/cjs/index-DkNv4J_i.js +0 -10
  873. package/dist/cjs/ionic-global-HMVqOFGO.js +0 -151
  874. package/dist/cjs/validity-BpS37YFM.js +0 -19
  875. package/dist/esm/hardware-back-button-CPLxO-Ev.js +0 -115
  876. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  877. package/dist/esm/ionic-global-CDrldh-5.js +0 -146
  878. package/dist/esm/validity-DJztqcrH.js +0 -17
  879. package/dist/ionic/p-020af078.entry.js +0 -4
  880. package/dist/ionic/p-074839fc.entry.js +0 -4
  881. package/dist/ionic/p-07753df3.entry.js +0 -4
  882. package/dist/ionic/p-0abeb0fc.entry.js +0 -4
  883. package/dist/ionic/p-0bf76d0f.entry.js +0 -4
  884. package/dist/ionic/p-0dfa5a37.entry.js +0 -4
  885. package/dist/ionic/p-11518b31.entry.js +0 -4
  886. package/dist/ionic/p-1647c46c.entry.js +0 -4
  887. package/dist/ionic/p-2a939845.entry.js +0 -4
  888. package/dist/ionic/p-316c0420.entry.js +0 -4
  889. package/dist/ionic/p-31f7095f.entry.js +0 -4
  890. package/dist/ionic/p-370e4237.entry.js +0 -4
  891. package/dist/ionic/p-3a6caca9.entry.js +0 -4
  892. package/dist/ionic/p-40c261a3.entry.js +0 -4
  893. package/dist/ionic/p-43ed1ef5.entry.js +0 -4
  894. package/dist/ionic/p-46d74291.entry.js +0 -4
  895. package/dist/ionic/p-49d06882.entry.js +0 -4
  896. package/dist/ionic/p-4b658a7c.entry.js +0 -4
  897. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  898. package/dist/ionic/p-51a60e0f.entry.js +0 -4
  899. package/dist/ionic/p-576e0965.entry.js +0 -4
  900. package/dist/ionic/p-582824c5.entry.js +0 -4
  901. package/dist/ionic/p-6241ce47.entry.js +0 -4
  902. package/dist/ionic/p-639dd543.entry.js +0 -4
  903. package/dist/ionic/p-6444c606.entry.js +0 -4
  904. package/dist/ionic/p-675b1a31.entry.js +0 -4
  905. package/dist/ionic/p-6d070558.entry.js +0 -4
  906. package/dist/ionic/p-7268efa5.entry.js +0 -4
  907. package/dist/ionic/p-72c38b88.entry.js +0 -4
  908. package/dist/ionic/p-75ae4733.entry.js +0 -4
  909. package/dist/ionic/p-79bd78f9.entry.js +0 -4
  910. package/dist/ionic/p-86f53961.entry.js +0 -4
  911. package/dist/ionic/p-94de5cfa.entry.js +0 -4
  912. package/dist/ionic/p-9575b654.entry.js +0 -4
  913. package/dist/ionic/p-9eeaBrnk.js +0 -4
  914. package/dist/ionic/p-B0q1YL7N.js +0 -4
  915. package/dist/ionic/p-BFvmZNyx.js +0 -4
  916. package/dist/ionic/p-BKc55Xev.js +0 -4
  917. package/dist/ionic/p-BOVrCkpJ.js +0 -4
  918. package/dist/ionic/p-BmVRXR1y.js +0 -4
  919. package/dist/ionic/p-Bmgaetn_.js +0 -4
  920. package/dist/ionic/p-C6F4hat2.js +0 -4
  921. package/dist/ionic/p-C7hRNDhM.js +0 -4
  922. package/dist/ionic/p-C8IsBmNU.js +0 -5
  923. package/dist/ionic/p-CIGNaXM1.js +0 -4
  924. package/dist/ionic/p-CTfR9YZG.js +0 -4
  925. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  926. package/dist/ionic/p-D-eFFUkA.js +0 -4
  927. package/dist/ionic/p-DCv9sLH2.js +0 -4
  928. package/dist/ionic/p-DDb5r57F.js +0 -4
  929. package/dist/ionic/p-DJztqcrH.js +0 -4
  930. package/dist/ionic/p-DNcfiJwE.js +0 -4
  931. package/dist/ionic/p-DUt5fQmA.js +0 -4
  932. package/dist/ionic/p-DZRJwG4S.js +0 -4
  933. package/dist/ionic/p-QHYY4sjU.js +0 -4
  934. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  935. package/dist/ionic/p-a127bee2.entry.js +0 -4
  936. package/dist/ionic/p-a8ed848b.entry.js +0 -4
  937. package/dist/ionic/p-ac4eb91d.entry.js +0 -4
  938. package/dist/ionic/p-b0a7585c.entry.js +0 -4
  939. package/dist/ionic/p-b57c6d3e.entry.js +0 -4
  940. package/dist/ionic/p-c19f63d0.entry.js +0 -4
  941. package/dist/ionic/p-c85a2127.entry.js +0 -4
  942. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  943. package/dist/ionic/p-cebb0328.entry.js +0 -4
  944. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  945. package/dist/ionic/p-d126e8d3.entry.js +0 -4
  946. package/dist/ionic/p-d1f54e28.entry.js +0 -4
  947. package/dist/ionic/p-d3014190.entry.js +0 -4
  948. package/dist/ionic/p-da7d04cc.entry.js +0 -4
  949. package/dist/ionic/p-dbbe606a.entry.js +0 -4
  950. package/dist/ionic/p-ea509e3c.entry.js +0 -4
  951. package/dist/ionic/p-ec654c42.entry.js +0 -4
  952. package/dist/ionic/p-f8f22cc0.entry.js +0 -4
  953. /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
  /**
@@ -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"`.
1722
+ */
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'
1427
1727
  */
1428
- "shape"?: 'round';
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'
@@ -1547,14 +1851,13 @@ export namespace Components {
1547
1851
  */
1548
1852
  "color"?: Color;
1549
1853
  /**
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.
1854
+ * 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
1855
  */
1552
1856
  "detail"?: boolean;
1553
1857
  /**
1554
1858
  * The icon to use when `detail` is set to `true`.
1555
- * @default chevronForward
1556
1859
  */
1557
- "detailIcon": string;
1860
+ "detailIcon"?: string;
1558
1861
  /**
1559
1862
  * If `true`, the user cannot interact with the item.
1560
1863
  * @default false
@@ -1573,7 +1876,7 @@ export namespace Components {
1573
1876
  */
1574
1877
  "lines"?: 'full' | 'inset' | 'none';
1575
1878
  /**
1576
- * The mode determines which platform styles to use.
1879
+ * The mode determines the platform behaviors of the component.
1577
1880
  */
1578
1881
  "mode"?: "ios" | "md";
1579
1882
  /**
@@ -1593,6 +1896,10 @@ export namespace Components {
1593
1896
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1594
1897
  */
1595
1898
  "target": string | undefined;
1899
+ /**
1900
+ * The theme determines the visual appearance of the component.
1901
+ */
1902
+ "theme"?: "ios" | "md" | "ionic";
1596
1903
  /**
1597
1904
  * The type of the button. Only used when an `onclick` or `button` property is present.
1598
1905
  * @default 'button'
@@ -1605,7 +1912,7 @@ export namespace Components {
1605
1912
  */
1606
1913
  "color"?: Color;
1607
1914
  /**
1608
- * The mode determines which platform styles to use.
1915
+ * The mode determines the platform behaviors of the component.
1609
1916
  */
1610
1917
  "mode"?: "ios" | "md";
1611
1918
  /**
@@ -1613,8 +1920,20 @@ export namespace Components {
1613
1920
  * @default false
1614
1921
  */
1615
1922
  "sticky": boolean;
1923
+ /**
1924
+ * The theme determines the visual appearance of the component.
1925
+ */
1926
+ "theme"?: "ios" | "md" | "ionic";
1616
1927
  }
1617
1928
  interface IonItemGroup {
1929
+ /**
1930
+ * The mode determines the platform behaviors of the component.
1931
+ */
1932
+ "mode"?: "ios" | "md";
1933
+ /**
1934
+ * The theme determines the visual appearance of the component.
1935
+ */
1936
+ "theme"?: "ios" | "md" | "ionic";
1618
1937
  }
1619
1938
  interface IonItemOption {
1620
1939
  /**
@@ -1640,17 +1959,30 @@ export namespace Components {
1640
1959
  */
1641
1960
  "href": string | undefined;
1642
1961
  /**
1643
- * The mode determines which platform styles to use.
1962
+ * 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.
1963
+ * @default 'subtle'
1964
+ */
1965
+ "hue"?: 'bold' | 'subtle';
1966
+ /**
1967
+ * The mode determines the platform behaviors of the component.
1644
1968
  */
1645
1969
  "mode"?: "ios" | "md";
1646
1970
  /**
1647
1971
  * 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
1972
  */
1649
1973
  "rel": string | undefined;
1974
+ /**
1975
+ * 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.
1976
+ */
1977
+ "shape"?: 'soft' | 'round' | 'rectangular';
1650
1978
  /**
1651
1979
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1652
1980
  */
1653
1981
  "target": string | undefined;
1982
+ /**
1983
+ * The theme determines the visual appearance of the component.
1984
+ */
1985
+ "theme"?: "ios" | "md" | "ionic";
1654
1986
  /**
1655
1987
  * The type of the button.
1656
1988
  * @default 'button'
@@ -1659,11 +1991,19 @@ export namespace Components {
1659
1991
  }
1660
1992
  interface IonItemOptions {
1661
1993
  "fireSwipeEvent": () => Promise<void>;
1994
+ /**
1995
+ * The mode determines the platform behaviors of the component.
1996
+ */
1997
+ "mode"?: "ios" | "md";
1662
1998
  /**
1663
1999
  * 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
2000
  * @default 'end'
1665
2001
  */
1666
2002
  "side": Side;
2003
+ /**
2004
+ * The theme determines the visual appearance of the component.
2005
+ */
2006
+ "theme"?: "ios" | "md" | "ionic";
1667
2007
  }
1668
2008
  interface IonItemSliding {
1669
2009
  /**
@@ -1687,11 +2027,19 @@ export namespace Components {
1687
2027
  * 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
2028
  */
1689
2029
  "getSlidingRatio": () => Promise<number>;
2030
+ /**
2031
+ * The mode determines the platform behaviors of the component.
2032
+ */
2033
+ "mode"?: "ios" | "md";
1690
2034
  /**
1691
2035
  * Open the sliding item.
1692
2036
  * @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
2037
  */
1694
2038
  "open": (side: Side | undefined) => Promise<void>;
2039
+ /**
2040
+ * The theme determines the visual appearance of the component.
2041
+ */
2042
+ "theme"?: "ios" | "md" | "ionic";
1695
2043
  }
1696
2044
  interface IonLabel {
1697
2045
  /**
@@ -1699,13 +2047,17 @@ export namespace Components {
1699
2047
  */
1700
2048
  "color"?: Color;
1701
2049
  /**
1702
- * The mode determines which platform styles to use.
2050
+ * The mode determines the platform behaviors of the component.
1703
2051
  */
1704
2052
  "mode"?: "ios" | "md";
1705
2053
  /**
1706
2054
  * The position determines where and how the label behaves inside an item.
1707
2055
  */
1708
2056
  "position"?: 'fixed' | 'stacked' | 'floating';
2057
+ /**
2058
+ * The theme determines the visual appearance of the component.
2059
+ */
2060
+ "theme"?: "ios" | "md" | "ionic";
1709
2061
  }
1710
2062
  interface IonList {
1711
2063
  /**
@@ -1722,9 +2074,17 @@ export namespace Components {
1722
2074
  */
1723
2075
  "lines"?: 'full' | 'inset' | 'none';
1724
2076
  /**
1725
- * The mode determines which platform styles to use.
2077
+ * The mode determines the platform behaviors of the component.
1726
2078
  */
1727
2079
  "mode"?: "ios" | "md";
2080
+ /**
2081
+ * 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.
2082
+ */
2083
+ "shape"?: 'soft' | 'round' | 'rectangular';
2084
+ /**
2085
+ * The theme determines the visual appearance of the component.
2086
+ */
2087
+ "theme"?: "ios" | "md" | "ionic";
1728
2088
  }
1729
2089
  interface IonListHeader {
1730
2090
  /**
@@ -1736,9 +2096,13 @@ export namespace Components {
1736
2096
  */
1737
2097
  "lines"?: 'full' | 'inset' | 'none';
1738
2098
  /**
1739
- * The mode determines which platform styles to use.
2099
+ * The mode determines the platform behaviors of the component.
1740
2100
  */
1741
2101
  "mode"?: "ios" | "md";
2102
+ /**
2103
+ * The theme determines the visual appearance of the component.
2104
+ */
2105
+ "theme"?: "ios" | "md" | "ionic";
1742
2106
  }
1743
2107
  interface IonLoading {
1744
2108
  /**
@@ -1798,7 +2162,7 @@ export namespace Components {
1798
2162
  */
1799
2163
  "message"?: string | IonicSafeString;
1800
2164
  /**
1801
- * The mode determines which platform styles to use.
2165
+ * The mode determines the platform behaviors of the component.
1802
2166
  */
1803
2167
  "mode"?: "ios" | "md";
1804
2168
  /**
@@ -1824,7 +2188,11 @@ export namespace Components {
1824
2188
  */
1825
2189
  "spinner"?: SpinnerTypes | null;
1826
2190
  /**
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).
2191
+ * The theme determines the visual appearance of the component.
2192
+ */
2193
+ "theme"?: "ios" | "md" | "ionic";
2194
+ /**
2195
+ * 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
2196
  * @default false
1829
2197
  */
1830
2198
  "translucent": boolean;
@@ -1866,6 +2234,10 @@ export namespace Components {
1866
2234
  * An id for the menu.
1867
2235
  */
1868
2236
  "menuId"?: string;
2237
+ /**
2238
+ * The mode determines the platform behaviors of the component.
2239
+ */
2240
+ "mode"?: "ios" | "md";
1869
2241
  /**
1870
2242
  * Opens the menu. If the menu is already open or it can't be opened, it returns `false`.
1871
2243
  * @param animated If `true`, the menu will animate when opening. If `false`, the menu will open instantly without animation. Defaults to `true`.
@@ -1888,6 +2260,10 @@ export namespace Components {
1888
2260
  * @default true
1889
2261
  */
1890
2262
  "swipeGesture": boolean;
2263
+ /**
2264
+ * The theme determines the visual appearance of the component.
2265
+ */
2266
+ "theme"?: "ios" | "md" | "ionic";
1891
2267
  /**
1892
2268
  * 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
2269
  * @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 +2294,13 @@ export namespace Components {
1918
2294
  */
1919
2295
  "menu"?: string;
1920
2296
  /**
1921
- * The mode determines which platform styles to use.
2297
+ * The mode determines the platform behaviors of the component.
1922
2298
  */
1923
2299
  "mode"?: "ios" | "md";
2300
+ /**
2301
+ * The theme determines the visual appearance of the component.
2302
+ */
2303
+ "theme"?: "ios" | "md" | "ionic";
1924
2304
  /**
1925
2305
  * The type of the button.
1926
2306
  * @default 'button'
@@ -1937,6 +2317,14 @@ export namespace Components {
1937
2317
  * 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
2318
  */
1939
2319
  "menu"?: string;
2320
+ /**
2321
+ * The mode determines the platform behaviors of the component.
2322
+ */
2323
+ "mode"?: "ios" | "md";
2324
+ /**
2325
+ * The theme determines the visual appearance of the component.
2326
+ */
2327
+ "theme"?: "ios" | "md" | "ionic";
1940
2328
  }
1941
2329
  interface IonModal {
1942
2330
  /**
@@ -2041,7 +2429,7 @@ export namespace Components {
2041
2429
  */
2042
2430
  "leaveAnimation"?: AnimationBuilder;
2043
2431
  /**
2044
- * The mode determines which platform styles to use.
2432
+ * The mode determines the platform behaviors of the component.
2045
2433
  */
2046
2434
  "mode"?: "ios" | "md";
2047
2435
  /**
@@ -2066,11 +2454,19 @@ export namespace Components {
2066
2454
  * @param breakpoint The breakpoint value to move the sheet modal to. Must be a value defined in your `breakpoints` array.
2067
2455
  */
2068
2456
  "setCurrentBreakpoint": (breakpoint: number) => Promise<void>;
2457
+ /**
2458
+ * 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.
2459
+ */
2460
+ "shape"?: 'soft' | 'round' | 'rectangular';
2069
2461
  /**
2070
2462
  * 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
2463
  * @default true
2072
2464
  */
2073
2465
  "showBackdrop": boolean;
2466
+ /**
2467
+ * The theme determines the visual appearance of the component.
2468
+ */
2469
+ "theme"?: "ios" | "md" | "ionic";
2074
2470
  /**
2075
2471
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
2076
2472
  */
@@ -2083,7 +2479,7 @@ export namespace Components {
2083
2479
  */
2084
2480
  "animated": boolean;
2085
2481
  /**
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.
2482
+ * 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
2483
  */
2088
2484
  "animation"?: AnimationBuilder;
2089
2485
  /**
@@ -2131,6 +2527,10 @@ export namespace Components {
2131
2527
  * @param done The transition complete function.
2132
2528
  */
2133
2529
  "insertPages": (insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean>;
2530
+ /**
2531
+ * The mode determines the platform behaviors of the component.
2532
+ */
2533
+ "mode"?: "ios" | "md";
2134
2534
  /**
2135
2535
  * Pop a component off of the navigation stack. Navigates back from the current component.
2136
2536
  * @param opts The navigation options.
@@ -2202,6 +2602,10 @@ export namespace Components {
2202
2602
  * If the nav component should allow for swipe-to-go-back.
2203
2603
  */
2204
2604
  "swipeGesture"?: boolean;
2605
+ /**
2606
+ * The theme determines the visual appearance of the component.
2607
+ */
2608
+ "theme"?: "ios" | "md" | "ionic";
2205
2609
  }
2206
2610
  interface IonNavLink {
2207
2611
  /**
@@ -2212,6 +2616,10 @@ export namespace Components {
2212
2616
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
2213
2617
  */
2214
2618
  "componentProps"?: ComponentProps;
2619
+ /**
2620
+ * The mode determines the platform behaviors of the component.
2621
+ */
2622
+ "mode"?: "ios" | "md";
2215
2623
  /**
2216
2624
  * The transition animation when navigating to another page.
2217
2625
  */
@@ -2221,6 +2629,10 @@ export namespace Components {
2221
2629
  * @default 'forward'
2222
2630
  */
2223
2631
  "routerDirection": RouterDirection;
2632
+ /**
2633
+ * The theme determines the visual appearance of the component.
2634
+ */
2635
+ "theme"?: "ios" | "md" | "ionic";
2224
2636
  }
2225
2637
  interface IonNote {
2226
2638
  /**
@@ -2228,16 +2640,24 @@ export namespace Components {
2228
2640
  */
2229
2641
  "color"?: Color;
2230
2642
  /**
2231
- * The mode determines which platform styles to use.
2643
+ * The mode determines the platform behaviors of the component.
2232
2644
  */
2233
2645
  "mode"?: "ios" | "md";
2646
+ /**
2647
+ * The theme determines the visual appearance of the component.
2648
+ */
2649
+ "theme"?: "ios" | "md" | "ionic";
2234
2650
  }
2235
2651
  interface IonPicker {
2236
2652
  "exitInputMode": () => Promise<void>;
2237
2653
  /**
2238
- * The mode determines which platform styles to use.
2654
+ * The mode determines the platform behaviors of the component.
2239
2655
  */
2240
2656
  "mode"?: "ios" | "md";
2657
+ /**
2658
+ * The theme determines the visual appearance of the component.
2659
+ */
2660
+ "theme"?: "ios" | "md" | "ionic";
2241
2661
  }
2242
2662
  interface IonPickerColumn {
2243
2663
  /**
@@ -2251,7 +2671,7 @@ export namespace Components {
2251
2671
  */
2252
2672
  "disabled": boolean;
2253
2673
  /**
2254
- * The mode determines which platform styles to use.
2674
+ * The mode determines the platform behaviors of the component.
2255
2675
  */
2256
2676
  "mode"?: "ios" | "md";
2257
2677
  /**
@@ -2268,6 +2688,10 @@ export namespace Components {
2268
2688
  * 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
2689
  */
2270
2690
  "setValue": (value: PickerColumnValue) => Promise<void>;
2691
+ /**
2692
+ * The theme determines the visual appearance of the component.
2693
+ */
2694
+ "theme"?: "ios" | "md" | "ionic";
2271
2695
  /**
2272
2696
  * The selected option in the picker.
2273
2697
  */
@@ -2284,6 +2708,14 @@ export namespace Components {
2284
2708
  * @default false
2285
2709
  */
2286
2710
  "disabled": boolean;
2711
+ /**
2712
+ * The mode determines the platform behaviors of the component.
2713
+ */
2714
+ "mode"?: "ios" | "md";
2715
+ /**
2716
+ * The theme determines the visual appearance of the component.
2717
+ */
2718
+ "theme"?: "ios" | "md" | "ionic";
2287
2719
  /**
2288
2720
  * The text value of the option.
2289
2721
  */
@@ -2358,7 +2790,7 @@ export namespace Components {
2358
2790
  */
2359
2791
  "leaveAnimation"?: AnimationBuilder;
2360
2792
  /**
2361
- * The mode determines which platform styles to use.
2793
+ * The mode determines the platform behaviors of the component.
2362
2794
  */
2363
2795
  "mode"?: "ios" | "md";
2364
2796
  /**
@@ -2379,6 +2811,10 @@ export namespace Components {
2379
2811
  * @default true
2380
2812
  */
2381
2813
  "showBackdrop": boolean;
2814
+ /**
2815
+ * The theme determines the visual appearance of the component.
2816
+ */
2817
+ "theme"?: "ios" | "md" | "ionic";
2382
2818
  /**
2383
2819
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
2384
2820
  */
@@ -2392,7 +2828,7 @@ export namespace Components {
2392
2828
  }
2393
2829
  interface IonPopover {
2394
2830
  /**
2395
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
2831
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
2396
2832
  */
2397
2833
  "alignment"?: PositionAlign;
2398
2834
  /**
@@ -2401,7 +2837,7 @@ export namespace Components {
2401
2837
  */
2402
2838
  "animated": boolean;
2403
2839
  /**
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.
2840
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
2405
2841
  * @default true
2406
2842
  */
2407
2843
  "arrow": boolean;
@@ -2481,7 +2917,7 @@ export namespace Components {
2481
2917
  */
2482
2918
  "leaveAnimation"?: AnimationBuilder;
2483
2919
  /**
2484
- * The mode determines which platform styles to use.
2920
+ * The mode determines the platform behaviors of the component.
2485
2921
  */
2486
2922
  "mode"?: "ios" | "md";
2487
2923
  /**
@@ -2523,7 +2959,11 @@ export namespace Components {
2523
2959
  */
2524
2960
  "size": PopoverSize;
2525
2961
  /**
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).
2962
+ * The theme determines the visual appearance of the component.
2963
+ */
2964
+ "theme"?: "ios" | "md" | "ionic";
2965
+ /**
2966
+ * 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
2967
  * @default false
2528
2968
  */
2529
2969
  "translucent": boolean;
@@ -2548,7 +2988,7 @@ export namespace Components {
2548
2988
  */
2549
2989
  "color"?: Color;
2550
2990
  /**
2551
- * The mode determines which platform styles to use.
2991
+ * The mode determines the platform behaviors of the component.
2552
2992
  */
2553
2993
  "mode"?: "ios" | "md";
2554
2994
  /**
@@ -2556,6 +2996,14 @@ export namespace Components {
2556
2996
  * @default false
2557
2997
  */
2558
2998
  "reversed": boolean;
2999
+ /**
3000
+ * 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.
3001
+ */
3002
+ "shape"?: 'round' | 'rectangular';
3003
+ /**
3004
+ * The theme determines the visual appearance of the component.
3005
+ */
3006
+ "theme"?: "ios" | "md" | "ionic";
2559
3007
  /**
2560
3008
  * 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
3009
  * @default 'determinate'
@@ -2591,7 +3039,7 @@ export namespace Components {
2591
3039
  */
2592
3040
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
2593
3041
  /**
2594
- * The mode determines which platform styles to use.
3042
+ * The mode determines the platform behaviors of the component.
2595
3043
  */
2596
3044
  "mode"?: "ios" | "md";
2597
3045
  /**
@@ -2601,6 +3049,10 @@ export namespace Components {
2601
3049
  "name": string;
2602
3050
  "setButtonTabindex": (value: number) => Promise<void>;
2603
3051
  "setFocus": (ev?: globalThis.Event) => Promise<void>;
3052
+ /**
3053
+ * The theme determines the visual appearance of the component.
3054
+ */
3055
+ "theme"?: "ios" | "md" | "ionic";
2604
3056
  /**
2605
3057
  * the value of the radio.
2606
3058
  */
@@ -2624,12 +3076,20 @@ export namespace Components {
2624
3076
  * The helper text to display at the top of the radio group.
2625
3077
  */
2626
3078
  "helperText"?: string;
3079
+ /**
3080
+ * The mode determines the platform behaviors of the component.
3081
+ */
3082
+ "mode"?: "ios" | "md";
2627
3083
  /**
2628
3084
  * The name of the control, which is submitted with the form data.
2629
3085
  * @default this.inputId
2630
3086
  */
2631
3087
  "name": string;
2632
3088
  "setFocus": () => Promise<void>;
3089
+ /**
3090
+ * The theme determines the visual appearance of the component.
3091
+ */
3092
+ "theme"?: "ios" | "md" | "ionic";
2633
3093
  /**
2634
3094
  * the value of the radio group.
2635
3095
  */
@@ -2678,7 +3138,7 @@ export namespace Components {
2678
3138
  */
2679
3139
  "min": number;
2680
3140
  /**
2681
- * The mode determines which platform styles to use.
3141
+ * The mode determines the platform behaviors of the component.
2682
3142
  */
2683
3143
  "mode"?: "ios" | "md";
2684
3144
  /**
@@ -2706,6 +3166,10 @@ export namespace Components {
2706
3166
  * @default 1
2707
3167
  */
2708
3168
  "step": number;
3169
+ /**
3170
+ * The theme determines the visual appearance of the component.
3171
+ */
3172
+ "theme"?: "ios" | "md" | "ionic";
2709
3173
  /**
2710
3174
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
2711
3175
  * @default true
@@ -2741,7 +3205,7 @@ export namespace Components {
2741
3205
  */
2742
3206
  "getProgress": () => Promise<number>;
2743
3207
  /**
2744
- * The mode determines which platform styles to use.
3208
+ * The mode determines the platform behaviors of the component.
2745
3209
  */
2746
3210
  "mode"?: "ios" | "md";
2747
3211
  /**
@@ -2764,8 +3228,16 @@ export namespace Components {
2764
3228
  * @default '280ms'
2765
3229
  */
2766
3230
  "snapbackDuration": string;
3231
+ /**
3232
+ * The theme determines the visual appearance of the component.
3233
+ */
3234
+ "theme"?: "ios" | "md" | "ionic";
2767
3235
  }
2768
3236
  interface IonRefresherContent {
3237
+ /**
3238
+ * The mode determines the platform behaviors of the component.
3239
+ */
3240
+ "mode"?: "ios" | "md";
2769
3241
  /**
2770
3242
  * 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
3243
  */
@@ -2782,8 +3254,20 @@ export namespace Components {
2782
3254
  * 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
3255
  */
2784
3256
  "refreshingText"?: string | IonicSafeString;
3257
+ /**
3258
+ * The theme determines the visual appearance of the component.
3259
+ */
3260
+ "theme"?: "ios" | "md" | "ionic";
2785
3261
  }
2786
3262
  interface IonReorder {
3263
+ /**
3264
+ * The mode determines the platform behaviors of the component.
3265
+ */
3266
+ "mode"?: "ios" | "md";
3267
+ /**
3268
+ * The theme determines the visual appearance of the component.
3269
+ */
3270
+ "theme"?: "ios" | "md" | "ionic";
2787
3271
  }
2788
3272
  interface IonReorderGroup {
2789
3273
  /**
@@ -2796,6 +3280,14 @@ export namespace Components {
2796
3280
  * @default true
2797
3281
  */
2798
3282
  "disabled": boolean;
3283
+ /**
3284
+ * The mode determines the platform behaviors of the component.
3285
+ */
3286
+ "mode"?: "ios" | "md";
3287
+ /**
3288
+ * The theme determines the visual appearance of the component.
3289
+ */
3290
+ "theme"?: "ios" | "md" | "ionic";
2799
3291
  }
2800
3292
  interface IonRippleEffect {
2801
3293
  /**
@@ -2804,6 +3296,14 @@ export namespace Components {
2804
3296
  * @param y The vertical coordinate of where the ripple should start.
2805
3297
  */
2806
3298
  "addRipple": (x: number, y: number) => Promise<() => void>;
3299
+ /**
3300
+ * The mode determines the platform behaviors of the component.
3301
+ */
3302
+ "mode"?: "ios" | "md";
3303
+ /**
3304
+ * The theme determines the visual appearance of the component.
3305
+ */
3306
+ "theme"?: "ios" | "md" | "ionic";
2807
3307
  /**
2808
3308
  * 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
3309
  * @default 'bounded'
@@ -2827,6 +3327,14 @@ export namespace Components {
2827
3327
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
2828
3328
  */
2829
3329
  "componentProps"?: { [key: string]: any };
3330
+ /**
3331
+ * The mode determines the platform behaviors of the component.
3332
+ */
3333
+ "mode"?: "ios" | "md";
3334
+ /**
3335
+ * The theme determines the visual appearance of the component.
3336
+ */
3337
+ "theme"?: "ios" | "md" | "ionic";
2830
3338
  /**
2831
3339
  * 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
3340
  * @default ''
@@ -2849,6 +3357,10 @@ export namespace Components {
2849
3357
  */
2850
3358
  "back": () => Promise<void>;
2851
3359
  "canTransition": () => Promise<string | boolean>;
3360
+ /**
3361
+ * The mode determines the platform behaviors of the component.
3362
+ */
3363
+ "mode"?: "ios" | "md";
2852
3364
  "navChanged": (direction: RouterDirection) => Promise<boolean>;
2853
3365
  "printDebug": () => Promise<void>;
2854
3366
  /**
@@ -2863,6 +3375,10 @@ export namespace Components {
2863
3375
  * @default '/'
2864
3376
  */
2865
3377
  "root": string;
3378
+ /**
3379
+ * The theme determines the visual appearance of the component.
3380
+ */
3381
+ "theme"?: "ios" | "md" | "ionic";
2866
3382
  /**
2867
3383
  * 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
3384
  * @default true
@@ -2878,6 +3394,10 @@ export namespace Components {
2878
3394
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2879
3395
  */
2880
3396
  "href": string | undefined;
3397
+ /**
3398
+ * The mode determines the platform behaviors of the component.
3399
+ */
3400
+ "mode"?: "ios" | "md";
2881
3401
  /**
2882
3402
  * 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
3403
  */
@@ -2895,6 +3415,10 @@ export namespace Components {
2895
3415
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2896
3416
  */
2897
3417
  "target": string | undefined;
3418
+ /**
3419
+ * The theme determines the visual appearance of the component.
3420
+ */
3421
+ "theme"?: "ios" | "md" | "ionic";
2898
3422
  }
2899
3423
  interface IonRouterOutlet {
2900
3424
  /**
@@ -2910,14 +3434,26 @@ export namespace Components {
2910
3434
  "delegate"?: FrameworkDelegate;
2911
3435
  "getRouteId": () => Promise<RouteID | undefined>;
2912
3436
  /**
2913
- * The mode determines which platform styles to use.
3437
+ * The mode determines the platform behaviors of the component.
2914
3438
  * @default getIonMode(this)
2915
3439
  */
2916
3440
  "mode": "ios" | "md";
2917
3441
  "setRouteId": (id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>;
2918
3442
  "swipeHandler"?: SwipeGestureHandler;
3443
+ /**
3444
+ * The theme determines the visual appearance of the component.
3445
+ */
3446
+ "theme"?: "ios" | "md" | "ionic";
2919
3447
  }
2920
3448
  interface IonRow {
3449
+ /**
3450
+ * The mode determines the platform behaviors of the component.
3451
+ */
3452
+ "mode"?: "ios" | "md";
3453
+ /**
3454
+ * The theme determines the visual appearance of the component.
3455
+ */
3456
+ "theme"?: "ios" | "md" | "ionic";
2921
3457
  }
2922
3458
  interface IonSearchbar {
2923
3459
  /**
@@ -2941,17 +3477,16 @@ export namespace Components {
2941
3477
  */
2942
3478
  "autocorrect": 'on' | 'off';
2943
3479
  /**
2944
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
2945
- * @default config.get('backButtonIcon', arrowBackSharp) as string
3480
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
2946
3481
  */
2947
- "cancelButtonIcon": string;
3482
+ "cancelButtonIcon"?: string;
2948
3483
  /**
2949
- * Set the cancel button text. Only applies to `ios` mode.
3484
+ * Set the cancel button text. Only available when the theme is `"ios"`.
2950
3485
  * @default 'Cancel'
2951
3486
  */
2952
3487
  "cancelButtonText": string;
2953
3488
  /**
2954
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
3489
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
2955
3490
  */
2956
3491
  "clearIcon"?: string;
2957
3492
  /**
@@ -2988,7 +3523,7 @@ export namespace Components {
2988
3523
  */
2989
3524
  "minlength"?: number;
2990
3525
  /**
2991
- * The mode determines which platform styles to use.
3526
+ * The mode determines the platform behaviors of the component.
2992
3527
  */
2993
3528
  "mode"?: "ios" | "md";
2994
3529
  /**
@@ -3002,13 +3537,17 @@ export namespace Components {
3002
3537
  */
3003
3538
  "placeholder": string;
3004
3539
  /**
3005
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
3540
+ * 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
3541
  */
3007
- "searchIcon"?: string;
3542
+ "searchIcon"?: string | boolean;
3008
3543
  /**
3009
3544
  * 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
3545
  */
3011
3546
  "setFocus": () => Promise<void>;
3547
+ /**
3548
+ * 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.
3549
+ */
3550
+ "shape"?: 'soft' | 'round' | 'rectangular';
3012
3551
  /**
3013
3552
  * 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
3553
  * @default 'never'
@@ -3019,11 +3558,19 @@ export namespace Components {
3019
3558
  * @default 'always'
3020
3559
  */
3021
3560
  "showClearButton": 'never' | 'focus' | 'always';
3561
+ /**
3562
+ * 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.
3563
+ */
3564
+ "size"?: 'small' | 'medium' | 'large';
3022
3565
  /**
3023
3566
  * If `true`, enable spellcheck on the input.
3024
3567
  * @default false
3025
3568
  */
3026
3569
  "spellcheck": boolean;
3570
+ /**
3571
+ * The theme determines the visual appearance of the component.
3572
+ */
3573
+ "theme"?: "ios" | "md" | "ionic";
3027
3574
  /**
3028
3575
  * Set the type of the input.
3029
3576
  * @default 'search'
@@ -3046,7 +3593,7 @@ export namespace Components {
3046
3593
  */
3047
3594
  "disabled": boolean;
3048
3595
  /**
3049
- * The mode determines which platform styles to use.
3596
+ * The mode determines the platform behaviors of the component.
3050
3597
  */
3051
3598
  "mode"?: "ios" | "md";
3052
3599
  /**
@@ -3064,6 +3611,10 @@ export namespace Components {
3064
3611
  * @default true
3065
3612
  */
3066
3613
  "swipeGesture": boolean;
3614
+ /**
3615
+ * The theme determines the visual appearance of the component.
3616
+ */
3617
+ "theme"?: "ios" | "md" | "ionic";
3067
3618
  /**
3068
3619
  * the value of the segment.
3069
3620
  */
@@ -3085,10 +3636,14 @@ export namespace Components {
3085
3636
  */
3086
3637
  "layout"?: SegmentButtonLayout;
3087
3638
  /**
3088
- * The mode determines which platform styles to use.
3639
+ * The mode determines the platform behaviors of the component.
3089
3640
  */
3090
3641
  "mode"?: "ios" | "md";
3091
3642
  "setFocus": () => Promise<void>;
3643
+ /**
3644
+ * The theme determines the visual appearance of the component.
3645
+ */
3646
+ "theme"?: "ios" | "md" | "ionic";
3092
3647
  /**
3093
3648
  * The type of the button.
3094
3649
  * @default 'button'
@@ -3138,11 +3693,11 @@ export namespace Components {
3138
3693
  */
3139
3694
  "errorText"?: string;
3140
3695
  /**
3141
- * 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.
3696
+ * 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.
3142
3697
  */
3143
3698
  "expandedIcon"?: string;
3144
3699
  /**
3145
- * 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.
3700
+ * 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.
3146
3701
  */
3147
3702
  "fill"?: 'outline' | 'solid';
3148
3703
  /**
@@ -3173,7 +3728,7 @@ export namespace Components {
3173
3728
  */
3174
3729
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
3175
3730
  /**
3176
- * The mode determines which platform styles to use.
3731
+ * The mode determines the platform behaviors of the component.
3177
3732
  */
3178
3733
  "mode"?: "ios" | "md";
3179
3734
  /**
@@ -3210,11 +3765,19 @@ export namespace Components {
3210
3765
  */
3211
3766
  "selectedText"?: string | null;
3212
3767
  /**
3213
- * The shape of the select. If "round" it will have an increased border radius.
3768
+ * 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.
3769
+ */
3770
+ "shape"?: 'soft' | 'round' | 'rectangular';
3771
+ /**
3772
+ * 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.
3773
+ */
3774
+ "size"?: 'small' | 'medium' | 'large';
3775
+ /**
3776
+ * The theme determines the visual appearance of the component.
3214
3777
  */
3215
- "shape"?: 'round';
3778
+ "theme"?: "ios" | "md" | "ionic";
3216
3779
  /**
3217
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
3780
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
3218
3781
  */
3219
3782
  "toggleIcon"?: string;
3220
3783
  /**
@@ -3236,6 +3799,14 @@ export namespace Components {
3236
3799
  * @default false
3237
3800
  */
3238
3801
  "disabled": boolean;
3802
+ /**
3803
+ * The mode determines the platform behaviors of the component.
3804
+ */
3805
+ "mode"?: "ios" | "md";
3806
+ /**
3807
+ * The theme determines the visual appearance of the component.
3808
+ */
3809
+ "theme"?: "ios" | "md" | "ionic";
3239
3810
  /**
3240
3811
  * The text value of the option.
3241
3812
  */
@@ -3250,6 +3821,10 @@ export namespace Components {
3250
3821
  * The text content of the popover body
3251
3822
  */
3252
3823
  "message"?: string;
3824
+ /**
3825
+ * The mode determines the platform behaviors of the component.
3826
+ */
3827
+ "mode"?: "ios" | "md";
3253
3828
  /**
3254
3829
  * If true, the select accepts multiple values
3255
3830
  */
@@ -3263,6 +3838,10 @@ export namespace Components {
3263
3838
  * The subheader text of the popover
3264
3839
  */
3265
3840
  "subHeader"?: string;
3841
+ /**
3842
+ * The theme determines the visual appearance of the component.
3843
+ */
3844
+ "theme"?: "ios" | "md" | "ionic";
3266
3845
  }
3267
3846
  interface IonSkeletonText {
3268
3847
  /**
@@ -3270,6 +3849,14 @@ export namespace Components {
3270
3849
  * @default false
3271
3850
  */
3272
3851
  "animated": boolean;
3852
+ /**
3853
+ * The mode determines the platform behaviors of the component.
3854
+ */
3855
+ "mode"?: "ios" | "md";
3856
+ /**
3857
+ * The theme determines the visual appearance of the component.
3858
+ */
3859
+ "theme"?: "ios" | "md" | "ionic";
3273
3860
  }
3274
3861
  interface IonSpinner {
3275
3862
  /**
@@ -3280,6 +3867,10 @@ export namespace Components {
3280
3867
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
3281
3868
  */
3282
3869
  "duration"?: number;
3870
+ /**
3871
+ * The mode determines the platform behaviors of the component.
3872
+ */
3873
+ "mode"?: "ios" | "md";
3283
3874
  /**
3284
3875
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
3285
3876
  */
@@ -3289,6 +3880,14 @@ export namespace Components {
3289
3880
  * @default false
3290
3881
  */
3291
3882
  "paused": boolean;
3883
+ /**
3884
+ * 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.
3885
+ */
3886
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
3887
+ /**
3888
+ * The theme determines the visual appearance of the component.
3889
+ */
3890
+ "theme"?: "ios" | "md" | "ionic";
3292
3891
  }
3293
3892
  interface IonSplitPane {
3294
3893
  /**
@@ -3301,6 +3900,14 @@ export namespace Components {
3301
3900
  */
3302
3901
  "disabled": boolean;
3303
3902
  "isVisible": () => Promise<boolean>;
3903
+ /**
3904
+ * The mode determines the platform behaviors of the component.
3905
+ */
3906
+ "mode"?: "ios" | "md";
3907
+ /**
3908
+ * The theme determines the visual appearance of the component.
3909
+ */
3910
+ "theme"?: "ios" | "md" | "ionic";
3304
3911
  /**
3305
3912
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
3306
3913
  * @default QUERY['lg']
@@ -3317,6 +3924,10 @@ export namespace Components {
3317
3924
  */
3318
3925
  "component"?: ComponentRef;
3319
3926
  "delegate"?: FrameworkDelegate;
3927
+ /**
3928
+ * The mode determines the platform behaviors of the component.
3929
+ */
3930
+ "mode"?: "ios" | "md";
3320
3931
  /**
3321
3932
  * Set the active component for the tab
3322
3933
  */
@@ -3325,6 +3936,10 @@ export namespace Components {
3325
3936
  * 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.
3326
3937
  */
3327
3938
  "tab": string;
3939
+ /**
3940
+ * The theme determines the visual appearance of the component.
3941
+ */
3942
+ "theme"?: "ios" | "md" | "ionic";
3328
3943
  }
3329
3944
  interface IonTabBar {
3330
3945
  /**
@@ -3332,7 +3947,12 @@ export namespace Components {
3332
3947
  */
3333
3948
  "color"?: Color;
3334
3949
  /**
3335
- * The mode determines which platform styles to use.
3950
+ * 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"`.
3951
+ * @default 'full'
3952
+ */
3953
+ "expand": 'compact' | 'full';
3954
+ /**
3955
+ * The mode determines the platform behaviors of the component.
3336
3956
  */
3337
3957
  "mode"?: "ios" | "md";
3338
3958
  /**
@@ -3340,7 +3960,15 @@ export namespace Components {
3340
3960
  */
3341
3961
  "selectedTab"?: string;
3342
3962
  /**
3343
- * 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).
3963
+ * 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.
3964
+ */
3965
+ "shape"?: 'soft' | 'round' | 'rectangular';
3966
+ /**
3967
+ * The theme determines the visual appearance of the component.
3968
+ */
3969
+ "theme"?: "ios" | "md" | "ionic";
3970
+ /**
3971
+ * 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).
3344
3972
  * @default false
3345
3973
  */
3346
3974
  "translucent": boolean;
@@ -3364,7 +3992,7 @@ export namespace Components {
3364
3992
  */
3365
3993
  "layout"?: TabButtonLayout;
3366
3994
  /**
3367
- * The mode determines which platform styles to use.
3995
+ * The mode determines the platform behaviors of the component.
3368
3996
  */
3369
3997
  "mode"?: "ios" | "md";
3370
3998
  /**
@@ -3376,6 +4004,10 @@ export namespace Components {
3376
4004
  * @default false
3377
4005
  */
3378
4006
  "selected": boolean;
4007
+ /**
4008
+ * 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.
4009
+ */
4010
+ "shape"?: 'soft' | 'round' | 'rectangular';
3379
4011
  /**
3380
4012
  * 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.
3381
4013
  */
@@ -3384,6 +4016,10 @@ export namespace Components {
3384
4016
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
3385
4017
  */
3386
4018
  "target": string | undefined;
4019
+ /**
4020
+ * The theme determines the visual appearance of the component.
4021
+ */
4022
+ "theme"?: "ios" | "md" | "ionic";
3387
4023
  }
3388
4024
  interface IonTabs {
3389
4025
  "getRouteId": () => Promise<RouteID | undefined>;
@@ -3396,12 +4032,20 @@ export namespace Components {
3396
4032
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3397
4033
  */
3398
4034
  "getTab": (tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined>;
4035
+ /**
4036
+ * The mode determines the platform behaviors of the component.
4037
+ */
4038
+ "mode"?: "ios" | "md";
3399
4039
  /**
3400
4040
  * 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.
3401
4041
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3402
4042
  */
3403
4043
  "select": (tab: string | HTMLIonTabElement) => Promise<boolean>;
3404
4044
  "setRouteId": (id: string) => Promise<RouteWrite>;
4045
+ /**
4046
+ * The theme determines the visual appearance of the component.
4047
+ */
4048
+ "theme"?: "ios" | "md" | "ionic";
3405
4049
  /**
3406
4050
  * @default false
3407
4051
  */
@@ -3413,9 +4057,13 @@ export namespace Components {
3413
4057
  */
3414
4058
  "color"?: Color;
3415
4059
  /**
3416
- * The mode determines which platform styles to use.
4060
+ * The mode determines the platform behaviors of the component.
3417
4061
  */
3418
4062
  "mode"?: "ios" | "md";
4063
+ /**
4064
+ * The theme determines the visual appearance of the component.
4065
+ */
4066
+ "theme"?: "ios" | "md" | "ionic";
3419
4067
  }
3420
4068
  interface IonTextarea {
3421
4069
  /**
@@ -3473,7 +4121,7 @@ export namespace Components {
3473
4121
  */
3474
4122
  "errorText"?: string;
3475
4123
  /**
3476
- * 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.
4124
+ * 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"`.
3477
4125
  */
3478
4126
  "fill"?: 'outline' | 'solid';
3479
4127
  /**
@@ -3506,7 +4154,7 @@ export namespace Components {
3506
4154
  */
3507
4155
  "minlength"?: number;
3508
4156
  /**
3509
- * The mode determines which platform styles to use.
4157
+ * The mode determines the platform behaviors of the component.
3510
4158
  */
3511
4159
  "mode"?: "ios" | "md";
3512
4160
  /**
@@ -3537,14 +4185,23 @@ export namespace Components {
3537
4185
  */
3538
4186
  "setFocus": () => Promise<void>;
3539
4187
  /**
3540
- * The shape of the textarea. If "round" it will have an increased border radius.
4188
+ * 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.
4189
+ */
4190
+ "shape"?: 'soft' | 'round' | 'rectangular';
4191
+ /**
4192
+ * 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.
4193
+ * @default 'medium'
3541
4194
  */
3542
- "shape"?: 'round';
4195
+ "size"?: 'small' | 'medium' | 'large';
3543
4196
  /**
3544
4197
  * If `true`, the element will have its spelling and grammar checked.
3545
4198
  * @default false
3546
4199
  */
3547
4200
  "spellcheck": boolean;
4201
+ /**
4202
+ * The theme determines the visual appearance of the component.
4203
+ */
4204
+ "theme"?: "ios" | "md" | "ionic";
3548
4205
  /**
3549
4206
  * The value of the textarea.
3550
4207
  * @default ''
@@ -3556,16 +4213,32 @@ export namespace Components {
3556
4213
  "wrap"?: 'hard' | 'soft' | 'off';
3557
4214
  }
3558
4215
  interface IonThumbnail {
4216
+ /**
4217
+ * The mode determines the platform behaviors of the component.
4218
+ */
4219
+ "mode"?: "ios" | "md";
4220
+ /**
4221
+ * The theme determines the visual appearance of the component.
4222
+ */
4223
+ "theme"?: "ios" | "md" | "ionic";
3559
4224
  }
3560
4225
  interface IonTitle {
3561
4226
  /**
3562
4227
  * 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).
3563
4228
  */
3564
4229
  "color"?: Color;
4230
+ /**
4231
+ * The mode determines the platform behaviors of the component.
4232
+ */
4233
+ "mode"?: "ios" | "md";
3565
4234
  /**
3566
4235
  * The size of the toolbar title.
3567
4236
  */
3568
4237
  "size"?: 'large' | 'small';
4238
+ /**
4239
+ * The theme determines the visual appearance of the component.
4240
+ */
4241
+ "theme"?: "ios" | "md" | "ionic";
3569
4242
  }
3570
4243
  interface IonToast {
3571
4244
  /**
@@ -3613,6 +4286,11 @@ export namespace Components {
3613
4286
  * Additional attributes to pass to the toast.
3614
4287
  */
3615
4288
  "htmlAttributes"?: { [key: string]: any };
4289
+ /**
4290
+ * 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.
4291
+ * @default 'subtle'
4292
+ */
4293
+ "hue"?: 'bold' | 'subtle';
3616
4294
  /**
3617
4295
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
3618
4296
  */
@@ -3641,7 +4319,7 @@ export namespace Components {
3641
4319
  */
3642
4320
  "message"?: string | IonicSafeString;
3643
4321
  /**
3644
- * The mode determines which platform styles to use.
4322
+ * The mode determines the platform behaviors of the component.
3645
4323
  */
3646
4324
  "mode"?: "ios" | "md";
3647
4325
  /**
@@ -3666,12 +4344,20 @@ export namespace Components {
3666
4344
  * Present the toast overlay after it has been created.
3667
4345
  */
3668
4346
  "present": () => Promise<void>;
4347
+ /**
4348
+ * 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.
4349
+ */
4350
+ "shape"?: 'soft' | 'round' | 'rectangular';
3669
4351
  /**
3670
4352
  * 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.
3671
4353
  */
3672
4354
  "swipeGesture"?: ToastSwipeGestureDirection;
3673
4355
  /**
3674
- * 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).
4356
+ * The theme determines the visual appearance of the component.
4357
+ */
4358
+ "theme"?: "ios" | "md" | "ionic";
4359
+ /**
4360
+ * 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).
3675
4361
  * @default false
3676
4362
  */
3677
4363
  "translucent": boolean;
@@ -3722,7 +4408,7 @@ export namespace Components {
3722
4408
  */
3723
4409
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
3724
4410
  /**
3725
- * The mode determines which platform styles to use.
4411
+ * The mode determines the platform behaviors of the component.
3726
4412
  */
3727
4413
  "mode"?: "ios" | "md";
3728
4414
  /**
@@ -3735,6 +4421,10 @@ export namespace Components {
3735
4421
  * @default false
3736
4422
  */
3737
4423
  "required": boolean;
4424
+ /**
4425
+ * The theme determines the visual appearance of the component.
4426
+ */
4427
+ "theme"?: "ios" | "md" | "ionic";
3738
4428
  /**
3739
4429
  * 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>`.
3740
4430
  * @default 'on'
@@ -3747,9 +4437,13 @@ export namespace Components {
3747
4437
  */
3748
4438
  "color"?: Color;
3749
4439
  /**
3750
- * The mode determines which platform styles to use.
4440
+ * The mode determines the platform behaviors of the component.
3751
4441
  */
3752
4442
  "mode"?: "ios" | "md";
4443
+ /**
4444
+ * The theme determines the visual appearance of the component.
4445
+ */
4446
+ "theme"?: "ios" | "md" | "ionic";
3753
4447
  }
3754
4448
  }
3755
4449
  export interface IonAccordionGroupCustomEvent<T> extends CustomEvent<T> {
@@ -4231,6 +4925,12 @@ declare global {
4231
4925
  prototype: HTMLIonDatetimeButtonElement;
4232
4926
  new (): HTMLIonDatetimeButtonElement;
4233
4927
  };
4928
+ interface HTMLIonDividerElement extends Components.IonDivider, HTMLStencilElement {
4929
+ }
4930
+ var HTMLIonDividerElement: {
4931
+ prototype: HTMLIonDividerElement;
4932
+ new (): HTMLIonDividerElement;
4933
+ };
4234
4934
  interface HTMLIonFabElement extends Components.IonFab, HTMLStencilElement {
4235
4935
  }
4236
4936
  var HTMLIonFabElement: {
@@ -5214,6 +5914,7 @@ declare global {
5214
5914
  "ion-content": HTMLIonContentElement;
5215
5915
  "ion-datetime": HTMLIonDatetimeElement;
5216
5916
  "ion-datetime-button": HTMLIonDatetimeButtonElement;
5917
+ "ion-divider": HTMLIonDividerElement;
5217
5918
  "ion-fab": HTMLIonFabElement;
5218
5919
  "ion-fab-button": HTMLIonFabButtonElement;
5219
5920
  "ion-fab-list": HTMLIonFabListElement;
@@ -5297,7 +5998,7 @@ declare namespace LocalJSX {
5297
5998
  */
5298
5999
  "disabled"?: boolean;
5299
6000
  /**
5300
- * The mode determines which platform styles to use.
6001
+ * The mode determines the platform behaviors of the component.
5301
6002
  */
5302
6003
  "mode"?: "ios" | "md";
5303
6004
  /**
@@ -5305,9 +6006,12 @@ declare namespace LocalJSX {
5305
6006
  * @default false
5306
6007
  */
5307
6008
  "readonly"?: boolean;
6009
+ /**
6010
+ * The theme determines the visual appearance of the component.
6011
+ */
6012
+ "theme"?: "ios" | "md" | "ionic";
5308
6013
  /**
5309
6014
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
5310
- * @default chevronDown
5311
6015
  */
5312
6016
  "toggleIcon"?: string;
5313
6017
  /**
@@ -5338,7 +6042,7 @@ declare namespace LocalJSX {
5338
6042
  */
5339
6043
  "expand"?: 'compact' | 'inset';
5340
6044
  /**
5341
- * The mode determines which platform styles to use.
6045
+ * The mode determines the platform behaviors of the component.
5342
6046
  */
5343
6047
  "mode"?: "ios" | "md";
5344
6048
  /**
@@ -5354,6 +6058,14 @@ declare namespace LocalJSX {
5354
6058
  * @default false
5355
6059
  */
5356
6060
  "readonly"?: boolean;
6061
+ /**
6062
+ * 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"`.
6063
+ */
6064
+ "shape"?: 'soft' | 'round' | 'rectangular';
6065
+ /**
6066
+ * The theme determines the visual appearance of the component.
6067
+ */
6068
+ "theme"?: "ios" | "md" | "ionic";
5357
6069
  /**
5358
6070
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
5359
6071
  */
@@ -5406,7 +6118,7 @@ declare namespace LocalJSX {
5406
6118
  */
5407
6119
  "leaveAnimation"?: AnimationBuilder;
5408
6120
  /**
5409
- * The mode determines which platform styles to use.
6121
+ * The mode determines the platform behaviors of the component.
5410
6122
  */
5411
6123
  "mode"?: "ios" | "md";
5412
6124
  /**
@@ -5446,7 +6158,11 @@ declare namespace LocalJSX {
5446
6158
  */
5447
6159
  "subHeader"?: string;
5448
6160
  /**
5449
- * 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).
6161
+ * The theme determines the visual appearance of the component.
6162
+ */
6163
+ "theme"?: "ios" | "md" | "ionic";
6164
+ /**
6165
+ * 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).
5450
6166
  * @default false
5451
6167
  */
5452
6168
  "translucent"?: boolean;
@@ -5511,7 +6227,7 @@ declare namespace LocalJSX {
5511
6227
  */
5512
6228
  "message"?: string | IonicSafeString;
5513
6229
  /**
5514
- * The mode determines which platform styles to use.
6230
+ * The mode determines the platform behaviors of the component.
5515
6231
  */
5516
6232
  "mode"?: "ios" | "md";
5517
6233
  /**
@@ -5551,7 +6267,11 @@ declare namespace LocalJSX {
5551
6267
  */
5552
6268
  "subHeader"?: string;
5553
6269
  /**
5554
- * 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).
6270
+ * The theme determines the visual appearance of the component.
6271
+ */
6272
+ "theme"?: "ios" | "md" | "ionic";
6273
+ /**
6274
+ * 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).
5555
6275
  * @default false
5556
6276
  */
5557
6277
  "translucent"?: boolean;
@@ -5561,8 +6281,37 @@ declare namespace LocalJSX {
5561
6281
  "trigger"?: string | undefined;
5562
6282
  }
5563
6283
  interface IonApp {
6284
+ /**
6285
+ * The mode determines the platform behaviors of the component.
6286
+ */
6287
+ "mode"?: "ios" | "md";
6288
+ /**
6289
+ * The theme determines the visual appearance of the component.
6290
+ */
6291
+ "theme"?: "ios" | "md" | "ionic";
5564
6292
  }
5565
6293
  interface IonAvatar {
6294
+ /**
6295
+ * If `true`, the user cannot interact with the avatar.
6296
+ * @default false
6297
+ */
6298
+ "disabled"?: boolean;
6299
+ /**
6300
+ * The mode determines the platform behaviors of the component.
6301
+ */
6302
+ "mode"?: "ios" | "md";
6303
+ /**
6304
+ * 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.
6305
+ */
6306
+ "shape"?: 'soft' | 'round' | 'rectangular';
6307
+ /**
6308
+ * 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.
6309
+ */
6310
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
6311
+ /**
6312
+ * The theme determines the visual appearance of the component.
6313
+ */
6314
+ "theme"?: "ios" | "md" | "ionic";
5566
6315
  }
5567
6316
  interface IonBackButton {
5568
6317
  /**
@@ -5583,7 +6332,7 @@ declare namespace LocalJSX {
5583
6332
  */
5584
6333
  "icon"?: string | null;
5585
6334
  /**
5586
- * The mode determines which platform styles to use.
6335
+ * The mode determines the platform behaviors of the component.
5587
6336
  */
5588
6337
  "mode"?: "ios" | "md";
5589
6338
  /**
@@ -5594,6 +6343,10 @@ declare namespace LocalJSX {
5594
6343
  * The text to display in the back button.
5595
6344
  */
5596
6345
  "text"?: string | null;
6346
+ /**
6347
+ * The theme determines the visual appearance of the component.
6348
+ */
6349
+ "theme"?: "ios" | "md" | "ionic";
5597
6350
  /**
5598
6351
  * The type of the button.
5599
6352
  * @default 'button'
@@ -5601,6 +6354,10 @@ declare namespace LocalJSX {
5601
6354
  "type"?: 'submit' | 'reset' | 'button';
5602
6355
  }
5603
6356
  interface IonBackdrop {
6357
+ /**
6358
+ * The mode determines the platform behaviors of the component.
6359
+ */
6360
+ "mode"?: "ios" | "md";
5604
6361
  /**
5605
6362
  * Emitted when the backdrop is tapped.
5606
6363
  */
@@ -5615,6 +6372,10 @@ declare namespace LocalJSX {
5615
6372
  * @default true
5616
6373
  */
5617
6374
  "tappable"?: boolean;
6375
+ /**
6376
+ * The theme determines the visual appearance of the component.
6377
+ */
6378
+ "theme"?: "ios" | "md" | "ionic";
5618
6379
  /**
5619
6380
  * If `true`, the backdrop will be visible.
5620
6381
  * @default true
@@ -5627,9 +6388,29 @@ declare namespace LocalJSX {
5627
6388
  */
5628
6389
  "color"?: Color;
5629
6390
  /**
5630
- * The mode determines which platform styles to use.
6391
+ * 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.
6392
+ */
6393
+ "hue"?: 'bold' | 'subtle';
6394
+ /**
6395
+ * The mode determines the platform behaviors of the component.
5631
6396
  */
5632
6397
  "mode"?: "ios" | "md";
6398
+ /**
6399
+ * 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.
6400
+ */
6401
+ "shape"?: 'soft' | 'round | rectangular';
6402
+ /**
6403
+ * 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.
6404
+ */
6405
+ "size"?: 'small' | 'medium' | 'large';
6406
+ /**
6407
+ * The theme determines the visual appearance of the component.
6408
+ */
6409
+ "theme"?: "ios" | "md" | "ionic";
6410
+ /**
6411
+ * 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.
6412
+ */
6413
+ "vertical"?: 'top' | 'bottom';
5633
6414
  }
5634
6415
  interface IonBreadcrumb {
5635
6416
  /**
@@ -5655,7 +6436,7 @@ declare namespace LocalJSX {
5655
6436
  */
5656
6437
  "href"?: string | undefined;
5657
6438
  /**
5658
- * The mode determines which platform styles to use.
6439
+ * The mode determines the platform behaviors of the component.
5659
6440
  */
5660
6441
  "mode"?: "ios" | "md";
5661
6442
  /**
@@ -5687,6 +6468,10 @@ declare namespace LocalJSX {
5687
6468
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5688
6469
  */
5689
6470
  "target"?: string | undefined;
6471
+ /**
6472
+ * The theme determines the visual appearance of the component.
6473
+ */
6474
+ "theme"?: "ios" | "md" | "ionic";
5690
6475
  }
5691
6476
  interface IonBreadcrumbs {
5692
6477
  /**
@@ -5708,13 +6493,17 @@ declare namespace LocalJSX {
5708
6493
  */
5709
6494
  "maxItems"?: number;
5710
6495
  /**
5711
- * The mode determines which platform styles to use.
6496
+ * The mode determines the platform behaviors of the component.
5712
6497
  */
5713
6498
  "mode"?: "ios" | "md";
5714
6499
  /**
5715
6500
  * Emitted when the collapsed indicator is clicked on.
5716
6501
  */
5717
6502
  "onIonCollapsedClick"?: (event: IonBreadcrumbsCustomEvent<BreadcrumbCollapsedClickEventDetail>) => void;
6503
+ /**
6504
+ * The theme determines the visual appearance of the component.
6505
+ */
6506
+ "theme"?: "ios" | "md" | "ionic";
5718
6507
  }
5719
6508
  interface IonButton {
5720
6509
  /**
@@ -5752,7 +6541,7 @@ declare namespace LocalJSX {
5752
6541
  */
5753
6542
  "href"?: string | undefined;
5754
6543
  /**
5755
- * The mode determines which platform styles to use.
6544
+ * The mode determines the platform behaviors of the component.
5756
6545
  */
5757
6546
  "mode"?: "ios" | "md";
5758
6547
  /**
@@ -5777,13 +6566,13 @@ declare namespace LocalJSX {
5777
6566
  */
5778
6567
  "routerDirection"?: RouterDirection;
5779
6568
  /**
5780
- * Set to `"round"` for a button with more rounded corners.
6569
+ * 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.
5781
6570
  */
5782
- "shape"?: 'round';
6571
+ "shape"?: 'soft' | 'round' | 'rectangular';
5783
6572
  /**
5784
- * 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.
6573
+ * 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.
5785
6574
  */
5786
- "size"?: 'small' | 'default' | 'large';
6575
+ "size"?: 'small' | 'default' | 'medium' | 'large';
5787
6576
  /**
5788
6577
  * If `true`, activates a button with a heavier font weight.
5789
6578
  * @default false
@@ -5793,6 +6582,10 @@ declare namespace LocalJSX {
5793
6582
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5794
6583
  */
5795
6584
  "target"?: string | undefined;
6585
+ /**
6586
+ * The theme determines the visual appearance of the component.
6587
+ */
6588
+ "theme"?: "ios" | "md" | "ionic";
5796
6589
  /**
5797
6590
  * The type of the button.
5798
6591
  * @default 'button'
@@ -5801,10 +6594,18 @@ declare namespace LocalJSX {
5801
6594
  }
5802
6595
  interface IonButtons {
5803
6596
  /**
5804
- * 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)
6597
+ * 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)
5805
6598
  * @default false
5806
6599
  */
5807
6600
  "collapse"?: boolean;
6601
+ /**
6602
+ * The mode determines the platform behaviors of the component.
6603
+ */
6604
+ "mode"?: "ios" | "md";
6605
+ /**
6606
+ * The theme determines the visual appearance of the component.
6607
+ */
6608
+ "theme"?: "ios" | "md" | "ionic";
5808
6609
  }
5809
6610
  interface IonCard {
5810
6611
  /**
@@ -5830,7 +6631,7 @@ declare namespace LocalJSX {
5830
6631
  */
5831
6632
  "href"?: string | undefined;
5832
6633
  /**
5833
- * The mode determines which platform styles to use.
6634
+ * The mode determines the platform behaviors of the component.
5834
6635
  */
5835
6636
  "mode"?: "ios" | "md";
5836
6637
  /**
@@ -5846,10 +6647,19 @@ declare namespace LocalJSX {
5846
6647
  * @default 'forward'
5847
6648
  */
5848
6649
  "routerDirection"?: RouterDirection;
6650
+ /**
6651
+ * 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"`.
6652
+ * @default 'round'
6653
+ */
6654
+ "shape"?: 'soft' | 'round' | 'rectangular';
5849
6655
  /**
5850
6656
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5851
6657
  */
5852
6658
  "target"?: string | undefined;
6659
+ /**
6660
+ * The theme determines the visual appearance of the component.
6661
+ */
6662
+ "theme"?: "ios" | "md" | "ionic";
5853
6663
  /**
5854
6664
  * The type of the button. Only used when an `onclick` or `button` property is present.
5855
6665
  * @default 'button'
@@ -5858,9 +6668,13 @@ declare namespace LocalJSX {
5858
6668
  }
5859
6669
  interface IonCardContent {
5860
6670
  /**
5861
- * The mode determines which platform styles to use.
6671
+ * The mode determines the platform behaviors of the component.
5862
6672
  */
5863
6673
  "mode"?: "ios" | "md";
6674
+ /**
6675
+ * The theme determines the visual appearance of the component.
6676
+ */
6677
+ "theme"?: "ios" | "md" | "ionic";
5864
6678
  }
5865
6679
  interface IonCardHeader {
5866
6680
  /**
@@ -5868,11 +6682,15 @@ declare namespace LocalJSX {
5868
6682
  */
5869
6683
  "color"?: Color;
5870
6684
  /**
5871
- * The mode determines which platform styles to use.
6685
+ * The mode determines the platform behaviors of the component.
5872
6686
  */
5873
6687
  "mode"?: "ios" | "md";
5874
6688
  /**
5875
- * 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).
6689
+ * The theme determines the visual appearance of the component.
6690
+ */
6691
+ "theme"?: "ios" | "md" | "ionic";
6692
+ /**
6693
+ * 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).
5876
6694
  * @default false
5877
6695
  */
5878
6696
  "translucent"?: boolean;
@@ -5883,9 +6701,13 @@ declare namespace LocalJSX {
5883
6701
  */
5884
6702
  "color"?: Color;
5885
6703
  /**
5886
- * The mode determines which platform styles to use.
6704
+ * The mode determines the platform behaviors of the component.
5887
6705
  */
5888
6706
  "mode"?: "ios" | "md";
6707
+ /**
6708
+ * The theme determines the visual appearance of the component.
6709
+ */
6710
+ "theme"?: "ios" | "md" | "ionic";
5889
6711
  }
5890
6712
  interface IonCardTitle {
5891
6713
  /**
@@ -5893,9 +6715,13 @@ declare namespace LocalJSX {
5893
6715
  */
5894
6716
  "color"?: Color;
5895
6717
  /**
5896
- * The mode determines which platform styles to use.
6718
+ * The mode determines the platform behaviors of the component.
5897
6719
  */
5898
6720
  "mode"?: "ios" | "md";
6721
+ /**
6722
+ * The theme determines the visual appearance of the component.
6723
+ */
6724
+ "theme"?: "ios" | "md" | "ionic";
5899
6725
  }
5900
6726
  interface IonCheckbox {
5901
6727
  /**
@@ -5939,7 +6765,7 @@ declare namespace LocalJSX {
5939
6765
  */
5940
6766
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
5941
6767
  /**
5942
- * The mode determines which platform styles to use.
6768
+ * The mode determines the platform behaviors of the component.
5943
6769
  */
5944
6770
  "mode"?: "ios" | "md";
5945
6771
  /**
@@ -5952,7 +6778,7 @@ declare namespace LocalJSX {
5952
6778
  */
5953
6779
  "onIonBlur"?: (event: IonCheckboxCustomEvent<void>) => void;
5954
6780
  /**
5955
- * 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.
6781
+ * 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.
5956
6782
  */
5957
6783
  "onIonChange"?: (event: IonCheckboxCustomEvent<CheckboxChangeEventDetail>) => void;
5958
6784
  /**
@@ -5964,6 +6790,19 @@ declare namespace LocalJSX {
5964
6790
  * @default false
5965
6791
  */
5966
6792
  "required"?: boolean;
6793
+ /**
6794
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
6795
+ * @default 'soft'
6796
+ */
6797
+ "shape"?: 'soft' | 'rectangular';
6798
+ /**
6799
+ * Set to `"small"` for a checkbox with less height and padding.
6800
+ */
6801
+ "size"?: 'small';
6802
+ /**
6803
+ * The theme determines the visual appearance of the component.
6804
+ */
6805
+ "theme"?: "ios" | "md" | "ionic";
5967
6806
  /**
5968
6807
  * 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>`.
5969
6808
  * @default 'on'
@@ -5981,7 +6820,12 @@ declare namespace LocalJSX {
5981
6820
  */
5982
6821
  "disabled"?: boolean;
5983
6822
  /**
5984
- * The mode determines which platform styles to use.
6823
+ * 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.
6824
+ * @default 'subtle'
6825
+ */
6826
+ "hue"?: 'bold' | 'subtle';
6827
+ /**
6828
+ * The mode determines the platform behaviors of the component.
5985
6829
  */
5986
6830
  "mode"?: "ios" | "md";
5987
6831
  /**
@@ -5989,8 +6833,24 @@ declare namespace LocalJSX {
5989
6833
  * @default false
5990
6834
  */
5991
6835
  "outline"?: boolean;
6836
+ /**
6837
+ * 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.
6838
+ */
6839
+ "shape"?: 'soft' | 'round' | 'rectangular';
6840
+ /**
6841
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
6842
+ */
6843
+ "size"?: 'small' | 'large';
6844
+ /**
6845
+ * The theme determines the visual appearance of the component.
6846
+ */
6847
+ "theme"?: "ios" | "md" | "ionic";
5992
6848
  }
5993
6849
  interface IonCol {
6850
+ /**
6851
+ * The mode determines the platform behaviors of the component.
6852
+ */
6853
+ "mode"?: "ios" | "md";
5994
6854
  /**
5995
6855
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
5996
6856
  */
@@ -6015,52 +6875,88 @@ declare namespace LocalJSX {
6015
6875
  * 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.
6016
6876
  */
6017
6877
  "offsetXs"?: string;
6878
+ /**
6879
+ * 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.
6880
+ */
6881
+ "order"?: string;
6882
+ /**
6883
+ * 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.
6884
+ */
6885
+ "orderLg"?: string;
6886
+ /**
6887
+ * 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.
6888
+ */
6889
+ "orderMd"?: string;
6890
+ /**
6891
+ * 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.
6892
+ */
6893
+ "orderSm"?: string;
6894
+ /**
6895
+ * 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.
6896
+ */
6897
+ "orderXl"?: string;
6898
+ /**
6899
+ * 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.
6900
+ */
6901
+ "orderXs"?: string;
6018
6902
  /**
6019
6903
  * The amount to pull the column, in terms of how many columns it should shift to the start of the total available.
6904
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6020
6905
  */
6021
6906
  "pull"?: string;
6022
6907
  /**
6023
6908
  * 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.
6909
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6024
6910
  */
6025
6911
  "pullLg"?: string;
6026
6912
  /**
6027
6913
  * 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.
6914
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6028
6915
  */
6029
6916
  "pullMd"?: string;
6030
6917
  /**
6031
6918
  * 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.
6919
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6032
6920
  */
6033
6921
  "pullSm"?: string;
6034
6922
  /**
6035
6923
  * 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.
6924
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6036
6925
  */
6037
6926
  "pullXl"?: string;
6038
6927
  /**
6039
6928
  * 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.
6929
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6040
6930
  */
6041
6931
  "pullXs"?: string;
6042
6932
  /**
6043
6933
  * The amount to push the column, in terms of how many columns it should shift to the end of the total available.
6934
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6044
6935
  */
6045
6936
  "push"?: string;
6046
6937
  /**
6047
6938
  * 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.
6939
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6048
6940
  */
6049
6941
  "pushLg"?: string;
6050
6942
  /**
6051
6943
  * 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.
6944
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6052
6945
  */
6053
6946
  "pushMd"?: string;
6054
6947
  /**
6055
6948
  * 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.
6949
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6056
6950
  */
6057
6951
  "pushSm"?: string;
6058
6952
  /**
6059
6953
  * 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.
6954
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6060
6955
  */
6061
6956
  "pushXl"?: string;
6062
6957
  /**
6063
6958
  * 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.
6959
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6064
6960
  */
6065
6961
  "pushXs"?: string;
6066
6962
  /**
@@ -6087,6 +6983,10 @@ declare namespace LocalJSX {
6087
6983
  * 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.
6088
6984
  */
6089
6985
  "sizeXs"?: string;
6986
+ /**
6987
+ * The theme determines the visual appearance of the component.
6988
+ */
6989
+ "theme"?: "ios" | "md" | "ionic";
6090
6990
  }
6091
6991
  interface IonContent {
6092
6992
  /**
@@ -6107,6 +7007,10 @@ declare namespace LocalJSX {
6107
7007
  * @default false
6108
7008
  */
6109
7009
  "fullscreen"?: boolean;
7010
+ /**
7011
+ * The mode determines the platform behaviors of the component.
7012
+ */
7013
+ "mode"?: "ios" | "md";
6110
7014
  /**
6111
7015
  * Emitted while scrolling. This event is disabled by default. Set `scrollEvents` to `true` to enable.
6112
7016
  */
@@ -6134,6 +7038,10 @@ declare namespace LocalJSX {
6134
7038
  * @default true
6135
7039
  */
6136
7040
  "scrollY"?: boolean;
7041
+ /**
7042
+ * The theme determines the visual appearance of the component.
7043
+ */
7044
+ "theme"?: "ios" | "md" | "ionic";
6137
7045
  }
6138
7046
  interface IonDatetime {
6139
7047
  /**
@@ -6208,7 +7116,7 @@ declare namespace LocalJSX {
6208
7116
  */
6209
7117
  "minuteValues"?: number[] | number | string;
6210
7118
  /**
6211
- * The mode determines which platform styles to use.
7119
+ * The mode determines the platform behaviors of the component.
6212
7120
  */
6213
7121
  "mode"?: "ios" | "md";
6214
7122
  /**
@@ -6286,6 +7194,10 @@ declare namespace LocalJSX {
6286
7194
  * @default 'fixed'
6287
7195
  */
6288
7196
  "size"?: 'cover' | 'fixed';
7197
+ /**
7198
+ * The theme determines the visual appearance of the component.
7199
+ */
7200
+ "theme"?: "ios" | "md" | "ionic";
6289
7201
  /**
6290
7202
  * 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.
6291
7203
  */
@@ -6315,9 +7227,25 @@ declare namespace LocalJSX {
6315
7227
  */
6316
7228
  "disabled"?: boolean;
6317
7229
  /**
6318
- * The mode determines which platform styles to use.
7230
+ * The mode determines the platform behaviors of the component.
6319
7231
  */
6320
7232
  "mode"?: "ios" | "md";
7233
+ /**
7234
+ * The theme determines the visual appearance of the component.
7235
+ */
7236
+ "theme"?: "ios" | "md" | "ionic";
7237
+ }
7238
+ interface IonDivider {
7239
+ /**
7240
+ * If `true`, the divider will have horizontal margins By default, it's `false`
7241
+ * @default false
7242
+ */
7243
+ "inset"?: boolean;
7244
+ /**
7245
+ * 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"`.
7246
+ * @default 'medium'
7247
+ */
7248
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
6321
7249
  }
6322
7250
  interface IonFab {
6323
7251
  /**
@@ -6334,6 +7262,14 @@ declare namespace LocalJSX {
6334
7262
  * Where to align the fab horizontally in the viewport.
6335
7263
  */
6336
7264
  "horizontal"?: 'start' | 'end' | 'center';
7265
+ /**
7266
+ * The mode determines the platform behaviors of the component.
7267
+ */
7268
+ "mode"?: "ios" | "md";
7269
+ /**
7270
+ * The theme determines the visual appearance of the component.
7271
+ */
7272
+ "theme"?: "ios" | "md" | "ionic";
6337
7273
  /**
6338
7274
  * Where to align the fab vertically in the viewport.
6339
7275
  */
@@ -6347,7 +7283,6 @@ declare namespace LocalJSX {
6347
7283
  "activated"?: boolean;
6348
7284
  /**
6349
7285
  * 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.
6350
- * @default close
6351
7286
  */
6352
7287
  "closeIcon"?: string;
6353
7288
  /**
@@ -6368,7 +7303,7 @@ declare namespace LocalJSX {
6368
7303
  */
6369
7304
  "href"?: string | undefined;
6370
7305
  /**
6371
- * The mode determines which platform styles to use.
7306
+ * The mode determines the platform behaviors of the component.
6372
7307
  */
6373
7308
  "mode"?: "ios" | "md";
6374
7309
  /**
@@ -6406,7 +7341,11 @@ declare namespace LocalJSX {
6406
7341
  */
6407
7342
  "target"?: string | undefined;
6408
7343
  /**
6409
- * 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).
7344
+ * The theme determines the visual appearance of the component.
7345
+ */
7346
+ "theme"?: "ios" | "md" | "ionic";
7347
+ /**
7348
+ * 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).
6410
7349
  * @default false
6411
7350
  */
6412
7351
  "translucent"?: boolean;
@@ -6422,23 +7361,35 @@ declare namespace LocalJSX {
6422
7361
  * @default false
6423
7362
  */
6424
7363
  "activated"?: boolean;
7364
+ /**
7365
+ * The mode determines the platform behaviors of the component.
7366
+ */
7367
+ "mode"?: "ios" | "md";
6425
7368
  /**
6426
7369
  * The side the fab list will show on relative to the main fab button.
6427
7370
  * @default 'bottom'
6428
7371
  */
6429
7372
  "side"?: 'start' | 'end' | 'top' | 'bottom';
7373
+ /**
7374
+ * The theme determines the visual appearance of the component.
7375
+ */
7376
+ "theme"?: "ios" | "md" | "ionic";
6430
7377
  }
6431
7378
  interface IonFooter {
6432
7379
  /**
6433
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
7380
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
6434
7381
  */
6435
7382
  "collapse"?: 'fade';
6436
7383
  /**
6437
- * The mode determines which platform styles to use.
7384
+ * The mode determines the platform behaviors of the component.
6438
7385
  */
6439
7386
  "mode"?: "ios" | "md";
6440
7387
  /**
6441
- * 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.
7388
+ * The theme determines the visual appearance of the component.
7389
+ */
7390
+ "theme"?: "ios" | "md" | "ionic";
7391
+ /**
7392
+ * 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.
6442
7393
  * @default false
6443
7394
  */
6444
7395
  "translucent"?: boolean;
@@ -6449,18 +7400,35 @@ declare namespace LocalJSX {
6449
7400
  * @default false
6450
7401
  */
6451
7402
  "fixed"?: boolean;
7403
+ /**
7404
+ * The mode determines the platform behaviors of the component.
7405
+ */
7406
+ "mode"?: "ios" | "md";
7407
+ /**
7408
+ * The theme determines the visual appearance of the component.
7409
+ */
7410
+ "theme"?: "ios" | "md" | "ionic";
6452
7411
  }
6453
7412
  interface IonHeader {
6454
7413
  /**
6455
- * 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)
7414
+ * 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)
6456
7415
  */
6457
7416
  "collapse"?: 'condense' | 'fade';
6458
7417
  /**
6459
- * The mode determines which platform styles to use.
7418
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
7419
+ * @default false
7420
+ */
7421
+ "divider"?: boolean;
7422
+ /**
7423
+ * The mode determines the platform behaviors of the component.
6460
7424
  */
6461
7425
  "mode"?: "ios" | "md";
6462
7426
  /**
6463
- * 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.
7427
+ * The theme determines the visual appearance of the component.
7428
+ */
7429
+ "theme"?: "ios" | "md" | "ionic";
7430
+ /**
7431
+ * 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.
6464
7432
  * @default false
6465
7433
  */
6466
7434
  "translucent"?: boolean;
@@ -6470,6 +7438,10 @@ declare namespace LocalJSX {
6470
7438
  * 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.
6471
7439
  */
6472
7440
  "alt"?: string;
7441
+ /**
7442
+ * The mode determines the platform behaviors of the component.
7443
+ */
7444
+ "mode"?: "ios" | "md";
6473
7445
  /**
6474
7446
  * Emitted when the img fails to load
6475
7447
  */
@@ -6486,6 +7458,10 @@ declare namespace LocalJSX {
6486
7458
  * The image URL. This attribute is mandatory for the `<img>` element.
6487
7459
  */
6488
7460
  "src"?: string;
7461
+ /**
7462
+ * The theme determines the visual appearance of the component.
7463
+ */
7464
+ "theme"?: "ios" | "md" | "ionic";
6489
7465
  }
6490
7466
  interface IonInfiniteScroll {
6491
7467
  /**
@@ -6493,6 +7469,10 @@ declare namespace LocalJSX {
6493
7469
  * @default false
6494
7470
  */
6495
7471
  "disabled"?: boolean;
7472
+ /**
7473
+ * The mode determines the platform behaviors of the component.
7474
+ */
7475
+ "mode"?: "ios" | "md";
6496
7476
  /**
6497
7477
  * 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.
6498
7478
  */
@@ -6502,6 +7482,15 @@ declare namespace LocalJSX {
6502
7482
  * @default 'bottom'
6503
7483
  */
6504
7484
  "position"?: 'top' | 'bottom';
7485
+ /**
7486
+ * 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.
7487
+ * @default false
7488
+ */
7489
+ "preserveRerenderScrollPosition"?: boolean;
7490
+ /**
7491
+ * The theme determines the visual appearance of the component.
7492
+ */
7493
+ "theme"?: "ios" | "md" | "ionic";
6505
7494
  /**
6506
7495
  * 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.
6507
7496
  * @default '15%'
@@ -6517,6 +7506,14 @@ declare namespace LocalJSX {
6517
7506
  * 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.
6518
7507
  */
6519
7508
  "loadingText"?: string | IonicSafeString;
7509
+ /**
7510
+ * The mode determines the platform behaviors of the component.
7511
+ */
7512
+ "mode"?: "ios" | "md";
7513
+ /**
7514
+ * The theme determines the visual appearance of the component.
7515
+ */
7516
+ "theme"?: "ios" | "md" | "ionic";
6520
7517
  }
6521
7518
  interface IonInput {
6522
7519
  /**
@@ -6583,7 +7580,7 @@ declare namespace LocalJSX {
6583
7580
  */
6584
7581
  "errorText"?: string;
6585
7582
  /**
6586
- * 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.
7583
+ * 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"`.
6587
7584
  */
6588
7585
  "fill"?: 'outline' | 'solid';
6589
7586
  /**
@@ -6599,8 +7596,7 @@ declare namespace LocalJSX {
6599
7596
  */
6600
7597
  "label"?: string;
6601
7598
  /**
6602
- * 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 ("...").
6603
- * @default 'start'
7599
+ * 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.
6604
7600
  */
6605
7601
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
6606
7602
  /**
@@ -6620,7 +7616,7 @@ declare namespace LocalJSX {
6620
7616
  */
6621
7617
  "minlength"?: number;
6622
7618
  /**
6623
- * The mode determines which platform styles to use.
7619
+ * The mode determines the platform behaviors of the component.
6624
7620
  */
6625
7621
  "mode"?: "ios" | "md";
6626
7622
  /**
@@ -6667,9 +7663,14 @@ declare namespace LocalJSX {
6667
7663
  */
6668
7664
  "required"?: boolean;
6669
7665
  /**
6670
- * The shape of the input. If "round" it will have an increased border radius.
7666
+ * 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"`.
7667
+ */
7668
+ "shape"?: 'soft' | 'round' | 'rectangular';
7669
+ /**
7670
+ * 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.
7671
+ * @default 'medium'
6671
7672
  */
6672
- "shape"?: 'round';
7673
+ "size"?: 'medium' | 'large' | 'xlarge';
6673
7674
  /**
6674
7675
  * If `true`, the element will have its spelling and grammar checked.
6675
7676
  * @default false
@@ -6679,6 +7680,10 @@ declare namespace LocalJSX {
6679
7680
  * 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.
6680
7681
  */
6681
7682
  "step"?: string;
7683
+ /**
7684
+ * The theme determines the visual appearance of the component.
7685
+ */
7686
+ "theme"?: "ios" | "md" | "ionic";
6682
7687
  /**
6683
7688
  * The type of control to display. The default type is text.
6684
7689
  * @default 'text'
@@ -6802,12 +7807,11 @@ declare namespace LocalJSX {
6802
7807
  */
6803
7808
  "color"?: Color;
6804
7809
  /**
6805
- * 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.
7810
+ * 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.
6806
7811
  */
6807
7812
  "detail"?: boolean;
6808
7813
  /**
6809
7814
  * The icon to use when `detail` is set to `true`.
6810
- * @default chevronForward
6811
7815
  */
6812
7816
  "detailIcon"?: string;
6813
7817
  /**
@@ -6828,7 +7832,7 @@ declare namespace LocalJSX {
6828
7832
  */
6829
7833
  "lines"?: 'full' | 'inset' | 'none';
6830
7834
  /**
6831
- * The mode determines which platform styles to use.
7835
+ * The mode determines the platform behaviors of the component.
6832
7836
  */
6833
7837
  "mode"?: "ios" | "md";
6834
7838
  /**
@@ -6848,6 +7852,10 @@ declare namespace LocalJSX {
6848
7852
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6849
7853
  */
6850
7854
  "target"?: string | undefined;
7855
+ /**
7856
+ * The theme determines the visual appearance of the component.
7857
+ */
7858
+ "theme"?: "ios" | "md" | "ionic";
6851
7859
  /**
6852
7860
  * The type of the button. Only used when an `onclick` or `button` property is present.
6853
7861
  * @default 'button'
@@ -6860,7 +7868,7 @@ declare namespace LocalJSX {
6860
7868
  */
6861
7869
  "color"?: Color;
6862
7870
  /**
6863
- * The mode determines which platform styles to use.
7871
+ * The mode determines the platform behaviors of the component.
6864
7872
  */
6865
7873
  "mode"?: "ios" | "md";
6866
7874
  /**
@@ -6868,8 +7876,20 @@ declare namespace LocalJSX {
6868
7876
  * @default false
6869
7877
  */
6870
7878
  "sticky"?: boolean;
7879
+ /**
7880
+ * The theme determines the visual appearance of the component.
7881
+ */
7882
+ "theme"?: "ios" | "md" | "ionic";
6871
7883
  }
6872
7884
  interface IonItemGroup {
7885
+ /**
7886
+ * The mode determines the platform behaviors of the component.
7887
+ */
7888
+ "mode"?: "ios" | "md";
7889
+ /**
7890
+ * The theme determines the visual appearance of the component.
7891
+ */
7892
+ "theme"?: "ios" | "md" | "ionic";
6873
7893
  }
6874
7894
  interface IonItemOption {
6875
7895
  /**
@@ -6895,17 +7915,30 @@ declare namespace LocalJSX {
6895
7915
  */
6896
7916
  "href"?: string | undefined;
6897
7917
  /**
6898
- * The mode determines which platform styles to use.
7918
+ * 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.
7919
+ * @default 'subtle'
7920
+ */
7921
+ "hue"?: 'bold' | 'subtle';
7922
+ /**
7923
+ * The mode determines the platform behaviors of the component.
6899
7924
  */
6900
7925
  "mode"?: "ios" | "md";
6901
7926
  /**
6902
7927
  * 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).
6903
7928
  */
6904
7929
  "rel"?: string | undefined;
7930
+ /**
7931
+ * 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.
7932
+ */
7933
+ "shape"?: 'soft' | 'round' | 'rectangular';
6905
7934
  /**
6906
7935
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6907
7936
  */
6908
7937
  "target"?: string | undefined;
7938
+ /**
7939
+ * The theme determines the visual appearance of the component.
7940
+ */
7941
+ "theme"?: "ios" | "md" | "ionic";
6909
7942
  /**
6910
7943
  * The type of the button.
6911
7944
  * @default 'button'
@@ -6913,6 +7946,10 @@ declare namespace LocalJSX {
6913
7946
  "type"?: 'submit' | 'reset' | 'button';
6914
7947
  }
6915
7948
  interface IonItemOptions {
7949
+ /**
7950
+ * The mode determines the platform behaviors of the component.
7951
+ */
7952
+ "mode"?: "ios" | "md";
6916
7953
  /**
6917
7954
  * Emitted when the item has been fully swiped.
6918
7955
  */
@@ -6922,6 +7959,10 @@ declare namespace LocalJSX {
6922
7959
  * @default 'end'
6923
7960
  */
6924
7961
  "side"?: Side;
7962
+ /**
7963
+ * The theme determines the visual appearance of the component.
7964
+ */
7965
+ "theme"?: "ios" | "md" | "ionic";
6925
7966
  }
6926
7967
  interface IonItemSliding {
6927
7968
  /**
@@ -6929,10 +7970,18 @@ declare namespace LocalJSX {
6929
7970
  * @default false
6930
7971
  */
6931
7972
  "disabled"?: boolean;
7973
+ /**
7974
+ * The mode determines the platform behaviors of the component.
7975
+ */
7976
+ "mode"?: "ios" | "md";
6932
7977
  /**
6933
7978
  * Emitted when the sliding position changes.
6934
7979
  */
6935
7980
  "onIonDrag"?: (event: IonItemSlidingCustomEvent<any>) => void;
7981
+ /**
7982
+ * The theme determines the visual appearance of the component.
7983
+ */
7984
+ "theme"?: "ios" | "md" | "ionic";
6936
7985
  }
6937
7986
  interface IonLabel {
6938
7987
  /**
@@ -6940,13 +7989,17 @@ declare namespace LocalJSX {
6940
7989
  */
6941
7990
  "color"?: Color;
6942
7991
  /**
6943
- * The mode determines which platform styles to use.
7992
+ * The mode determines the platform behaviors of the component.
6944
7993
  */
6945
7994
  "mode"?: "ios" | "md";
6946
7995
  /**
6947
7996
  * The position determines where and how the label behaves inside an item.
6948
7997
  */
6949
7998
  "position"?: 'fixed' | 'stacked' | 'floating';
7999
+ /**
8000
+ * The theme determines the visual appearance of the component.
8001
+ */
8002
+ "theme"?: "ios" | "md" | "ionic";
6950
8003
  }
6951
8004
  interface IonList {
6952
8005
  /**
@@ -6959,9 +8012,17 @@ declare namespace LocalJSX {
6959
8012
  */
6960
8013
  "lines"?: 'full' | 'inset' | 'none';
6961
8014
  /**
6962
- * The mode determines which platform styles to use.
8015
+ * The mode determines the platform behaviors of the component.
6963
8016
  */
6964
8017
  "mode"?: "ios" | "md";
8018
+ /**
8019
+ * 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.
8020
+ */
8021
+ "shape"?: 'soft' | 'round' | 'rectangular';
8022
+ /**
8023
+ * The theme determines the visual appearance of the component.
8024
+ */
8025
+ "theme"?: "ios" | "md" | "ionic";
6965
8026
  }
6966
8027
  interface IonListHeader {
6967
8028
  /**
@@ -6973,9 +8034,13 @@ declare namespace LocalJSX {
6973
8034
  */
6974
8035
  "lines"?: 'full' | 'inset' | 'none';
6975
8036
  /**
6976
- * The mode determines which platform styles to use.
8037
+ * The mode determines the platform behaviors of the component.
6977
8038
  */
6978
8039
  "mode"?: "ios" | "md";
8040
+ /**
8041
+ * The theme determines the visual appearance of the component.
8042
+ */
8043
+ "theme"?: "ios" | "md" | "ionic";
6979
8044
  }
6980
8045
  interface IonLoading {
6981
8046
  /**
@@ -7024,7 +8089,7 @@ declare namespace LocalJSX {
7024
8089
  */
7025
8090
  "message"?: string | IonicSafeString;
7026
8091
  /**
7027
- * The mode determines which platform styles to use.
8092
+ * The mode determines the platform behaviors of the component.
7028
8093
  */
7029
8094
  "mode"?: "ios" | "md";
7030
8095
  /**
@@ -7069,7 +8134,11 @@ declare namespace LocalJSX {
7069
8134
  */
7070
8135
  "spinner"?: SpinnerTypes | null;
7071
8136
  /**
7072
- * 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).
8137
+ * The theme determines the visual appearance of the component.
8138
+ */
8139
+ "theme"?: "ios" | "md" | "ionic";
8140
+ /**
8141
+ * 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).
7073
8142
  * @default false
7074
8143
  */
7075
8144
  "translucent"?: boolean;
@@ -7097,6 +8166,10 @@ declare namespace LocalJSX {
7097
8166
  * An id for the menu.
7098
8167
  */
7099
8168
  "menuId"?: string;
8169
+ /**
8170
+ * The mode determines the platform behaviors of the component.
8171
+ */
8172
+ "mode"?: "ios" | "md";
7100
8173
  /**
7101
8174
  * Emitted when the menu is closed.
7102
8175
  */
@@ -7123,6 +8196,10 @@ declare namespace LocalJSX {
7123
8196
  * @default true
7124
8197
  */
7125
8198
  "swipeGesture"?: boolean;
8199
+ /**
8200
+ * The theme determines the visual appearance of the component.
8201
+ */
8202
+ "theme"?: "ios" | "md" | "ionic";
7126
8203
  /**
7127
8204
  * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
7128
8205
  */
@@ -7148,9 +8225,13 @@ declare namespace LocalJSX {
7148
8225
  */
7149
8226
  "menu"?: string;
7150
8227
  /**
7151
- * The mode determines which platform styles to use.
8228
+ * The mode determines the platform behaviors of the component.
7152
8229
  */
7153
8230
  "mode"?: "ios" | "md";
8231
+ /**
8232
+ * The theme determines the visual appearance of the component.
8233
+ */
8234
+ "theme"?: "ios" | "md" | "ionic";
7154
8235
  /**
7155
8236
  * The type of the button.
7156
8237
  * @default 'button'
@@ -7167,6 +8248,14 @@ declare namespace LocalJSX {
7167
8248
  * 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.
7168
8249
  */
7169
8250
  "menu"?: string;
8251
+ /**
8252
+ * The mode determines the platform behaviors of the component.
8253
+ */
8254
+ "mode"?: "ios" | "md";
8255
+ /**
8256
+ * The theme determines the visual appearance of the component.
8257
+ */
8258
+ "theme"?: "ios" | "md" | "ionic";
7170
8259
  }
7171
8260
  interface IonModal {
7172
8261
  /**
@@ -7244,7 +8333,7 @@ declare namespace LocalJSX {
7244
8333
  */
7245
8334
  "leaveAnimation"?: AnimationBuilder;
7246
8335
  /**
7247
- * The mode determines which platform styles to use.
8336
+ * The mode determines the platform behaviors of the component.
7248
8337
  */
7249
8338
  "mode"?: "ios" | "md";
7250
8339
  /**
@@ -7287,11 +8376,19 @@ declare namespace LocalJSX {
7287
8376
  * 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.
7288
8377
  */
7289
8378
  "presentingElement"?: HTMLElement;
8379
+ /**
8380
+ * 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.
8381
+ */
8382
+ "shape"?: 'soft' | 'round' | 'rectangular';
7290
8383
  /**
7291
8384
  * 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.
7292
8385
  * @default true
7293
8386
  */
7294
8387
  "showBackdrop"?: boolean;
8388
+ /**
8389
+ * The theme determines the visual appearance of the component.
8390
+ */
8391
+ "theme"?: "ios" | "md" | "ionic";
7295
8392
  /**
7296
8393
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
7297
8394
  */
@@ -7304,9 +8401,13 @@ declare namespace LocalJSX {
7304
8401
  */
7305
8402
  "animated"?: boolean;
7306
8403
  /**
7307
- * 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.
8404
+ * 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.
7308
8405
  */
7309
8406
  "animation"?: AnimationBuilder;
8407
+ /**
8408
+ * The mode determines the platform behaviors of the component.
8409
+ */
8410
+ "mode"?: "ios" | "md";
7310
8411
  /**
7311
8412
  * Event fired when the nav has changed components
7312
8413
  */
@@ -7327,6 +8428,10 @@ declare namespace LocalJSX {
7327
8428
  * If the nav component should allow for swipe-to-go-back.
7328
8429
  */
7329
8430
  "swipeGesture"?: boolean;
8431
+ /**
8432
+ * The theme determines the visual appearance of the component.
8433
+ */
8434
+ "theme"?: "ios" | "md" | "ionic";
7330
8435
  }
7331
8436
  interface IonNavLink {
7332
8437
  /**
@@ -7337,6 +8442,10 @@ declare namespace LocalJSX {
7337
8442
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
7338
8443
  */
7339
8444
  "componentProps"?: ComponentProps;
8445
+ /**
8446
+ * The mode determines the platform behaviors of the component.
8447
+ */
8448
+ "mode"?: "ios" | "md";
7340
8449
  /**
7341
8450
  * The transition animation when navigating to another page.
7342
8451
  */
@@ -7346,6 +8455,10 @@ declare namespace LocalJSX {
7346
8455
  * @default 'forward'
7347
8456
  */
7348
8457
  "routerDirection"?: RouterDirection;
8458
+ /**
8459
+ * The theme determines the visual appearance of the component.
8460
+ */
8461
+ "theme"?: "ios" | "md" | "ionic";
7349
8462
  }
7350
8463
  interface IonNote {
7351
8464
  /**
@@ -7353,15 +8466,23 @@ declare namespace LocalJSX {
7353
8466
  */
7354
8467
  "color"?: Color;
7355
8468
  /**
7356
- * The mode determines which platform styles to use.
8469
+ * The mode determines the platform behaviors of the component.
7357
8470
  */
7358
8471
  "mode"?: "ios" | "md";
8472
+ /**
8473
+ * The theme determines the visual appearance of the component.
8474
+ */
8475
+ "theme"?: "ios" | "md" | "ionic";
7359
8476
  }
7360
8477
  interface IonPicker {
7361
8478
  /**
7362
- * The mode determines which platform styles to use.
8479
+ * The mode determines the platform behaviors of the component.
7363
8480
  */
7364
8481
  "mode"?: "ios" | "md";
8482
+ /**
8483
+ * The theme determines the visual appearance of the component.
8484
+ */
8485
+ "theme"?: "ios" | "md" | "ionic";
7365
8486
  }
7366
8487
  interface IonPickerColumn {
7367
8488
  /**
@@ -7375,13 +8496,17 @@ declare namespace LocalJSX {
7375
8496
  */
7376
8497
  "disabled"?: boolean;
7377
8498
  /**
7378
- * The mode determines which platform styles to use.
8499
+ * The mode determines the platform behaviors of the component.
7379
8500
  */
7380
8501
  "mode"?: "ios" | "md";
7381
8502
  /**
7382
8503
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7383
8504
  */
7384
8505
  "onIonChange"?: (event: IonPickerColumnCustomEvent<PickerColumnChangeEventDetail>) => void;
8506
+ /**
8507
+ * The theme determines the visual appearance of the component.
8508
+ */
8509
+ "theme"?: "ios" | "md" | "ionic";
7385
8510
  /**
7386
8511
  * The selected option in the picker.
7387
8512
  */
@@ -7398,6 +8523,14 @@ declare namespace LocalJSX {
7398
8523
  * @default false
7399
8524
  */
7400
8525
  "disabled"?: boolean;
8526
+ /**
8527
+ * The mode determines the platform behaviors of the component.
8528
+ */
8529
+ "mode"?: "ios" | "md";
8530
+ /**
8531
+ * The theme determines the visual appearance of the component.
8532
+ */
8533
+ "theme"?: "ios" | "md" | "ionic";
7401
8534
  /**
7402
8535
  * The text value of the option.
7403
8536
  */
@@ -7456,7 +8589,7 @@ declare namespace LocalJSX {
7456
8589
  */
7457
8590
  "leaveAnimation"?: AnimationBuilder;
7458
8591
  /**
7459
- * The mode determines which platform styles to use.
8592
+ * The mode determines the platform behaviors of the component.
7460
8593
  */
7461
8594
  "mode"?: "ios" | "md";
7462
8595
  /**
@@ -7496,6 +8629,10 @@ declare namespace LocalJSX {
7496
8629
  * @default true
7497
8630
  */
7498
8631
  "showBackdrop"?: boolean;
8632
+ /**
8633
+ * The theme determines the visual appearance of the component.
8634
+ */
8635
+ "theme"?: "ios" | "md" | "ionic";
7499
8636
  /**
7500
8637
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
7501
8638
  */
@@ -7509,7 +8646,7 @@ declare namespace LocalJSX {
7509
8646
  }
7510
8647
  interface IonPopover {
7511
8648
  /**
7512
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
8649
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
7513
8650
  */
7514
8651
  "alignment"?: PositionAlign;
7515
8652
  /**
@@ -7518,7 +8655,7 @@ declare namespace LocalJSX {
7518
8655
  */
7519
8656
  "animated"?: boolean;
7520
8657
  /**
7521
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
8658
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
7522
8659
  * @default true
7523
8660
  */
7524
8661
  "arrow"?: boolean;
@@ -7577,7 +8714,7 @@ declare namespace LocalJSX {
7577
8714
  */
7578
8715
  "leaveAnimation"?: AnimationBuilder;
7579
8716
  /**
7580
- * The mode determines which platform styles to use.
8717
+ * The mode determines the platform behaviors of the component.
7581
8718
  */
7582
8719
  "mode"?: "ios" | "md";
7583
8720
  /**
@@ -7633,7 +8770,11 @@ declare namespace LocalJSX {
7633
8770
  */
7634
8771
  "size"?: PopoverSize;
7635
8772
  /**
7636
- * 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).
8773
+ * The theme determines the visual appearance of the component.
8774
+ */
8775
+ "theme"?: "ios" | "md" | "ionic";
8776
+ /**
8777
+ * 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).
7637
8778
  * @default false
7638
8779
  */
7639
8780
  "translucent"?: boolean;
@@ -7658,7 +8799,7 @@ declare namespace LocalJSX {
7658
8799
  */
7659
8800
  "color"?: Color;
7660
8801
  /**
7661
- * The mode determines which platform styles to use.
8802
+ * The mode determines the platform behaviors of the component.
7662
8803
  */
7663
8804
  "mode"?: "ios" | "md";
7664
8805
  /**
@@ -7666,6 +8807,14 @@ declare namespace LocalJSX {
7666
8807
  * @default false
7667
8808
  */
7668
8809
  "reversed"?: boolean;
8810
+ /**
8811
+ * 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.
8812
+ */
8813
+ "shape"?: 'round' | 'rectangular';
8814
+ /**
8815
+ * The theme determines the visual appearance of the component.
8816
+ */
8817
+ "theme"?: "ios" | "md" | "ionic";
7669
8818
  /**
7670
8819
  * 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).
7671
8820
  * @default 'determinate'
@@ -7701,7 +8850,7 @@ declare namespace LocalJSX {
7701
8850
  */
7702
8851
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
7703
8852
  /**
7704
- * The mode determines which platform styles to use.
8853
+ * The mode determines the platform behaviors of the component.
7705
8854
  */
7706
8855
  "mode"?: "ios" | "md";
7707
8856
  /**
@@ -7717,6 +8866,10 @@ declare namespace LocalJSX {
7717
8866
  * Emitted when the radio button has focus.
7718
8867
  */
7719
8868
  "onIonFocus"?: (event: IonRadioCustomEvent<void>) => void;
8869
+ /**
8870
+ * The theme determines the visual appearance of the component.
8871
+ */
8872
+ "theme"?: "ios" | "md" | "ionic";
7720
8873
  /**
7721
8874
  * the value of the radio.
7722
8875
  */
@@ -7740,6 +8893,10 @@ declare namespace LocalJSX {
7740
8893
  * The helper text to display at the top of the radio group.
7741
8894
  */
7742
8895
  "helperText"?: string;
8896
+ /**
8897
+ * The mode determines the platform behaviors of the component.
8898
+ */
8899
+ "mode"?: "ios" | "md";
7743
8900
  /**
7744
8901
  * The name of the control, which is submitted with the form data.
7745
8902
  * @default this.inputId
@@ -7749,6 +8906,10 @@ declare namespace LocalJSX {
7749
8906
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7750
8907
  */
7751
8908
  "onIonChange"?: (event: IonRadioGroupCustomEvent<RadioGroupChangeEventDetail>) => void;
8909
+ /**
8910
+ * The theme determines the visual appearance of the component.
8911
+ */
8912
+ "theme"?: "ios" | "md" | "ionic";
7752
8913
  /**
7753
8914
  * the value of the radio group.
7754
8915
  */
@@ -7797,7 +8958,7 @@ declare namespace LocalJSX {
7797
8958
  */
7798
8959
  "min"?: number;
7799
8960
  /**
7800
- * The mode determines which platform styles to use.
8961
+ * The mode determines the platform behaviors of the component.
7801
8962
  */
7802
8963
  "mode"?: "ios" | "md";
7803
8964
  /**
@@ -7849,6 +9010,10 @@ declare namespace LocalJSX {
7849
9010
  * @default 1
7850
9011
  */
7851
9012
  "step"?: number;
9013
+ /**
9014
+ * The theme determines the visual appearance of the component.
9015
+ */
9016
+ "theme"?: "ios" | "md" | "ionic";
7852
9017
  /**
7853
9018
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
7854
9019
  * @default true
@@ -7872,7 +9037,7 @@ declare namespace LocalJSX {
7872
9037
  */
7873
9038
  "disabled"?: boolean;
7874
9039
  /**
7875
- * The mode determines which platform styles to use.
9040
+ * The mode determines the platform behaviors of the component.
7876
9041
  */
7877
9042
  "mode"?: "ios" | "md";
7878
9043
  /**
@@ -7907,8 +9072,16 @@ declare namespace LocalJSX {
7907
9072
  * @default '280ms'
7908
9073
  */
7909
9074
  "snapbackDuration"?: string;
9075
+ /**
9076
+ * The theme determines the visual appearance of the component.
9077
+ */
9078
+ "theme"?: "ios" | "md" | "ionic";
7910
9079
  }
7911
9080
  interface IonRefresherContent {
9081
+ /**
9082
+ * The mode determines the platform behaviors of the component.
9083
+ */
9084
+ "mode"?: "ios" | "md";
7912
9085
  /**
7913
9086
  * 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.
7914
9087
  */
@@ -7925,8 +9098,20 @@ declare namespace LocalJSX {
7925
9098
  * 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.
7926
9099
  */
7927
9100
  "refreshingText"?: string | IonicSafeString;
9101
+ /**
9102
+ * The theme determines the visual appearance of the component.
9103
+ */
9104
+ "theme"?: "ios" | "md" | "ionic";
7928
9105
  }
7929
9106
  interface IonReorder {
9107
+ /**
9108
+ * The mode determines the platform behaviors of the component.
9109
+ */
9110
+ "mode"?: "ios" | "md";
9111
+ /**
9112
+ * The theme determines the visual appearance of the component.
9113
+ */
9114
+ "theme"?: "ios" | "md" | "ionic";
7930
9115
  }
7931
9116
  interface IonReorderGroup {
7932
9117
  /**
@@ -7934,6 +9119,10 @@ declare namespace LocalJSX {
7934
9119
  * @default true
7935
9120
  */
7936
9121
  "disabled"?: boolean;
9122
+ /**
9123
+ * The mode determines the platform behaviors of the component.
9124
+ */
9125
+ "mode"?: "ios" | "md";
7937
9126
  /**
7938
9127
  * Event that needs to be listened to in order to complete the reorder action.
7939
9128
  * @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.
@@ -7951,8 +9140,20 @@ declare namespace LocalJSX {
7951
9140
  * Event that is emitted when the reorder gesture starts.
7952
9141
  */
7953
9142
  "onIonReorderStart"?: (event: IonReorderGroupCustomEvent<void>) => void;
9143
+ /**
9144
+ * The theme determines the visual appearance of the component.
9145
+ */
9146
+ "theme"?: "ios" | "md" | "ionic";
7954
9147
  }
7955
9148
  interface IonRippleEffect {
9149
+ /**
9150
+ * The mode determines the platform behaviors of the component.
9151
+ */
9152
+ "mode"?: "ios" | "md";
9153
+ /**
9154
+ * The theme determines the visual appearance of the component.
9155
+ */
9156
+ "theme"?: "ios" | "md" | "ionic";
7956
9157
  /**
7957
9158
  * 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.
7958
9159
  * @default 'bounded'
@@ -7976,10 +9177,18 @@ declare namespace LocalJSX {
7976
9177
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
7977
9178
  */
7978
9179
  "componentProps"?: { [key: string]: any };
9180
+ /**
9181
+ * The mode determines the platform behaviors of the component.
9182
+ */
9183
+ "mode"?: "ios" | "md";
7979
9184
  /**
7980
9185
  * Used internally by `ion-router` to know when this route did change.
7981
9186
  */
7982
9187
  "onIonRouteDataChanged"?: (event: IonRouteCustomEvent<any>) => void;
9188
+ /**
9189
+ * The theme determines the visual appearance of the component.
9190
+ */
9191
+ "theme"?: "ios" | "md" | "ionic";
7983
9192
  /**
7984
9193
  * 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.
7985
9194
  * @default ''
@@ -8001,6 +9210,10 @@ declare namespace LocalJSX {
8001
9210
  "to": string | undefined | null;
8002
9211
  }
8003
9212
  interface IonRouter {
9213
+ /**
9214
+ * The mode determines the platform behaviors of the component.
9215
+ */
9216
+ "mode"?: "ios" | "md";
8004
9217
  /**
8005
9218
  * Emitted when the route had changed
8006
9219
  */
@@ -8014,6 +9227,10 @@ declare namespace LocalJSX {
8014
9227
  * @default '/'
8015
9228
  */
8016
9229
  "root"?: string;
9230
+ /**
9231
+ * The theme determines the visual appearance of the component.
9232
+ */
9233
+ "theme"?: "ios" | "md" | "ionic";
8017
9234
  /**
8018
9235
  * 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.
8019
9236
  * @default true
@@ -8029,6 +9246,10 @@ declare namespace LocalJSX {
8029
9246
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
8030
9247
  */
8031
9248
  "href"?: string | undefined;
9249
+ /**
9250
+ * The mode determines the platform behaviors of the component.
9251
+ */
9252
+ "mode"?: "ios" | "md";
8032
9253
  /**
8033
9254
  * 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).
8034
9255
  */
@@ -8046,6 +9267,10 @@ declare namespace LocalJSX {
8046
9267
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8047
9268
  */
8048
9269
  "target"?: string | undefined;
9270
+ /**
9271
+ * The theme determines the visual appearance of the component.
9272
+ */
9273
+ "theme"?: "ios" | "md" | "ionic";
8049
9274
  }
8050
9275
  interface IonRouterOutlet {
8051
9276
  /**
@@ -8058,12 +9283,24 @@ declare namespace LocalJSX {
8058
9283
  */
8059
9284
  "animation"?: AnimationBuilder;
8060
9285
  /**
8061
- * The mode determines which platform styles to use.
9286
+ * The mode determines the platform behaviors of the component.
8062
9287
  * @default getIonMode(this)
8063
9288
  */
8064
9289
  "mode"?: "ios" | "md";
9290
+ /**
9291
+ * The theme determines the visual appearance of the component.
9292
+ */
9293
+ "theme"?: "ios" | "md" | "ionic";
8065
9294
  }
8066
9295
  interface IonRow {
9296
+ /**
9297
+ * The mode determines the platform behaviors of the component.
9298
+ */
9299
+ "mode"?: "ios" | "md";
9300
+ /**
9301
+ * The theme determines the visual appearance of the component.
9302
+ */
9303
+ "theme"?: "ios" | "md" | "ionic";
8067
9304
  }
8068
9305
  interface IonSearchbar {
8069
9306
  /**
@@ -8087,17 +9324,16 @@ declare namespace LocalJSX {
8087
9324
  */
8088
9325
  "autocorrect"?: 'on' | 'off';
8089
9326
  /**
8090
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
8091
- * @default config.get('backButtonIcon', arrowBackSharp) as string
9327
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
8092
9328
  */
8093
9329
  "cancelButtonIcon"?: string;
8094
9330
  /**
8095
- * Set the cancel button text. Only applies to `ios` mode.
9331
+ * Set the cancel button text. Only available when the theme is `"ios"`.
8096
9332
  * @default 'Cancel'
8097
9333
  */
8098
9334
  "cancelButtonText"?: string;
8099
9335
  /**
8100
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
9336
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
8101
9337
  */
8102
9338
  "clearIcon"?: string;
8103
9339
  /**
@@ -8130,7 +9366,7 @@ declare namespace LocalJSX {
8130
9366
  */
8131
9367
  "minlength"?: number;
8132
9368
  /**
8133
- * The mode determines which platform styles to use.
9369
+ * The mode determines the platform behaviors of the component.
8134
9370
  */
8135
9371
  "mode"?: "ios" | "md";
8136
9372
  /**
@@ -8168,9 +9404,13 @@ declare namespace LocalJSX {
8168
9404
  */
8169
9405
  "placeholder"?: string;
8170
9406
  /**
8171
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
9407
+ * 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.
9408
+ */
9409
+ "searchIcon"?: string | boolean;
9410
+ /**
9411
+ * 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.
8172
9412
  */
8173
- "searchIcon"?: string;
9413
+ "shape"?: 'soft' | 'round' | 'rectangular';
8174
9414
  /**
8175
9415
  * 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.
8176
9416
  * @default 'never'
@@ -8181,11 +9421,19 @@ declare namespace LocalJSX {
8181
9421
  * @default 'always'
8182
9422
  */
8183
9423
  "showClearButton"?: 'never' | 'focus' | 'always';
9424
+ /**
9425
+ * 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.
9426
+ */
9427
+ "size"?: 'small' | 'medium' | 'large';
8184
9428
  /**
8185
9429
  * If `true`, enable spellcheck on the input.
8186
9430
  * @default false
8187
9431
  */
8188
9432
  "spellcheck"?: boolean;
9433
+ /**
9434
+ * The theme determines the visual appearance of the component.
9435
+ */
9436
+ "theme"?: "ios" | "md" | "ionic";
8189
9437
  /**
8190
9438
  * Set the type of the input.
8191
9439
  * @default 'search'
@@ -8208,7 +9456,7 @@ declare namespace LocalJSX {
8208
9456
  */
8209
9457
  "disabled"?: boolean;
8210
9458
  /**
8211
- * The mode determines which platform styles to use.
9459
+ * The mode determines the platform behaviors of the component.
8212
9460
  */
8213
9461
  "mode"?: "ios" | "md";
8214
9462
  /**
@@ -8230,6 +9478,10 @@ declare namespace LocalJSX {
8230
9478
  * @default true
8231
9479
  */
8232
9480
  "swipeGesture"?: boolean;
9481
+ /**
9482
+ * The theme determines the visual appearance of the component.
9483
+ */
9484
+ "theme"?: "ios" | "md" | "ionic";
8233
9485
  /**
8234
9486
  * the value of the segment.
8235
9487
  */
@@ -8251,9 +9503,13 @@ declare namespace LocalJSX {
8251
9503
  */
8252
9504
  "layout"?: SegmentButtonLayout;
8253
9505
  /**
8254
- * The mode determines which platform styles to use.
9506
+ * The mode determines the platform behaviors of the component.
8255
9507
  */
8256
9508
  "mode"?: "ios" | "md";
9509
+ /**
9510
+ * The theme determines the visual appearance of the component.
9511
+ */
9512
+ "theme"?: "ios" | "md" | "ionic";
8257
9513
  /**
8258
9514
  * The type of the button.
8259
9515
  * @default 'button'
@@ -8302,11 +9558,11 @@ declare namespace LocalJSX {
8302
9558
  */
8303
9559
  "errorText"?: string;
8304
9560
  /**
8305
- * 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.
9561
+ * 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.
8306
9562
  */
8307
9563
  "expandedIcon"?: string;
8308
9564
  /**
8309
- * 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.
9565
+ * 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.
8310
9566
  */
8311
9567
  "fill"?: 'outline' | 'solid';
8312
9568
  /**
@@ -8337,7 +9593,7 @@ declare namespace LocalJSX {
8337
9593
  */
8338
9594
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
8339
9595
  /**
8340
- * The mode determines which platform styles to use.
9596
+ * The mode determines the platform behaviors of the component.
8341
9597
  */
8342
9598
  "mode"?: "ios" | "md";
8343
9599
  /**
@@ -8389,11 +9645,19 @@ declare namespace LocalJSX {
8389
9645
  */
8390
9646
  "selectedText"?: string | null;
8391
9647
  /**
8392
- * The shape of the select. If "round" it will have an increased border radius.
9648
+ * 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.
9649
+ */
9650
+ "shape"?: 'soft' | 'round' | 'rectangular';
9651
+ /**
9652
+ * 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.
9653
+ */
9654
+ "size"?: 'small' | 'medium' | 'large';
9655
+ /**
9656
+ * The theme determines the visual appearance of the component.
8393
9657
  */
8394
- "shape"?: 'round';
9658
+ "theme"?: "ios" | "md" | "ionic";
8395
9659
  /**
8396
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
9660
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
8397
9661
  */
8398
9662
  "toggleIcon"?: string;
8399
9663
  /**
@@ -8415,6 +9679,14 @@ declare namespace LocalJSX {
8415
9679
  * @default false
8416
9680
  */
8417
9681
  "disabled"?: boolean;
9682
+ /**
9683
+ * The mode determines the platform behaviors of the component.
9684
+ */
9685
+ "mode"?: "ios" | "md";
9686
+ /**
9687
+ * The theme determines the visual appearance of the component.
9688
+ */
9689
+ "theme"?: "ios" | "md" | "ionic";
8418
9690
  /**
8419
9691
  * The text value of the option.
8420
9692
  */
@@ -8429,6 +9701,10 @@ declare namespace LocalJSX {
8429
9701
  * The text content of the popover body
8430
9702
  */
8431
9703
  "message"?: string;
9704
+ /**
9705
+ * The mode determines the platform behaviors of the component.
9706
+ */
9707
+ "mode"?: "ios" | "md";
8432
9708
  /**
8433
9709
  * If true, the select accepts multiple values
8434
9710
  */
@@ -8442,6 +9718,10 @@ declare namespace LocalJSX {
8442
9718
  * The subheader text of the popover
8443
9719
  */
8444
9720
  "subHeader"?: string;
9721
+ /**
9722
+ * The theme determines the visual appearance of the component.
9723
+ */
9724
+ "theme"?: "ios" | "md" | "ionic";
8445
9725
  }
8446
9726
  interface IonSkeletonText {
8447
9727
  /**
@@ -8449,6 +9729,14 @@ declare namespace LocalJSX {
8449
9729
  * @default false
8450
9730
  */
8451
9731
  "animated"?: boolean;
9732
+ /**
9733
+ * The mode determines the platform behaviors of the component.
9734
+ */
9735
+ "mode"?: "ios" | "md";
9736
+ /**
9737
+ * The theme determines the visual appearance of the component.
9738
+ */
9739
+ "theme"?: "ios" | "md" | "ionic";
8452
9740
  }
8453
9741
  interface IonSpinner {
8454
9742
  /**
@@ -8459,6 +9747,10 @@ declare namespace LocalJSX {
8459
9747
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
8460
9748
  */
8461
9749
  "duration"?: number;
9750
+ /**
9751
+ * The mode determines the platform behaviors of the component.
9752
+ */
9753
+ "mode"?: "ios" | "md";
8462
9754
  /**
8463
9755
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
8464
9756
  */
@@ -8468,6 +9760,14 @@ declare namespace LocalJSX {
8468
9760
  * @default false
8469
9761
  */
8470
9762
  "paused"?: boolean;
9763
+ /**
9764
+ * 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.
9765
+ */
9766
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
9767
+ /**
9768
+ * The theme determines the visual appearance of the component.
9769
+ */
9770
+ "theme"?: "ios" | "md" | "ionic";
8471
9771
  }
8472
9772
  interface IonSplitPane {
8473
9773
  /**
@@ -8479,10 +9779,18 @@ declare namespace LocalJSX {
8479
9779
  * @default false
8480
9780
  */
8481
9781
  "disabled"?: boolean;
9782
+ /**
9783
+ * The mode determines the platform behaviors of the component.
9784
+ */
9785
+ "mode"?: "ios" | "md";
8482
9786
  /**
8483
9787
  * Expression to be called when the split-pane visibility has changed
8484
9788
  */
8485
9789
  "onIonSplitPaneVisible"?: (event: IonSplitPaneCustomEvent<{ visible: boolean }>) => void;
9790
+ /**
9791
+ * The theme determines the visual appearance of the component.
9792
+ */
9793
+ "theme"?: "ios" | "md" | "ionic";
8486
9794
  /**
8487
9795
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
8488
9796
  * @default QUERY['lg']
@@ -8494,10 +9802,18 @@ declare namespace LocalJSX {
8494
9802
  * The component to display inside of the tab.
8495
9803
  */
8496
9804
  "component"?: ComponentRef;
9805
+ /**
9806
+ * The mode determines the platform behaviors of the component.
9807
+ */
9808
+ "mode"?: "ios" | "md";
8497
9809
  /**
8498
9810
  * 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.
8499
9811
  */
8500
9812
  "tab": string;
9813
+ /**
9814
+ * The theme determines the visual appearance of the component.
9815
+ */
9816
+ "theme"?: "ios" | "md" | "ionic";
8501
9817
  }
8502
9818
  interface IonTabBar {
8503
9819
  /**
@@ -8505,7 +9821,12 @@ declare namespace LocalJSX {
8505
9821
  */
8506
9822
  "color"?: Color;
8507
9823
  /**
8508
- * The mode determines which platform styles to use.
9824
+ * 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"`.
9825
+ * @default 'full'
9826
+ */
9827
+ "expand"?: 'compact' | 'full';
9828
+ /**
9829
+ * The mode determines the platform behaviors of the component.
8509
9830
  */
8510
9831
  "mode"?: "ios" | "md";
8511
9832
  /**
@@ -8513,7 +9834,15 @@ declare namespace LocalJSX {
8513
9834
  */
8514
9835
  "selectedTab"?: string;
8515
9836
  /**
8516
- * 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).
9837
+ * 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.
9838
+ */
9839
+ "shape"?: 'soft' | 'round' | 'rectangular';
9840
+ /**
9841
+ * The theme determines the visual appearance of the component.
9842
+ */
9843
+ "theme"?: "ios" | "md" | "ionic";
9844
+ /**
9845
+ * 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).
8517
9846
  * @default false
8518
9847
  */
8519
9848
  "translucent"?: boolean;
@@ -8537,7 +9866,7 @@ declare namespace LocalJSX {
8537
9866
  */
8538
9867
  "layout"?: TabButtonLayout;
8539
9868
  /**
8540
- * The mode determines which platform styles to use.
9869
+ * The mode determines the platform behaviors of the component.
8541
9870
  */
8542
9871
  "mode"?: "ios" | "md";
8543
9872
  /**
@@ -8549,6 +9878,10 @@ declare namespace LocalJSX {
8549
9878
  * @default false
8550
9879
  */
8551
9880
  "selected"?: boolean;
9881
+ /**
9882
+ * 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.
9883
+ */
9884
+ "shape"?: 'soft' | 'round' | 'rectangular';
8552
9885
  /**
8553
9886
  * 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.
8554
9887
  */
@@ -8557,8 +9890,16 @@ declare namespace LocalJSX {
8557
9890
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8558
9891
  */
8559
9892
  "target"?: string | undefined;
9893
+ /**
9894
+ * The theme determines the visual appearance of the component.
9895
+ */
9896
+ "theme"?: "ios" | "md" | "ionic";
8560
9897
  }
8561
9898
  interface IonTabs {
9899
+ /**
9900
+ * The mode determines the platform behaviors of the component.
9901
+ */
9902
+ "mode"?: "ios" | "md";
8562
9903
  /**
8563
9904
  * Emitted when the navigation has finished transitioning to a new component.
8564
9905
  */
@@ -8567,6 +9908,10 @@ declare namespace LocalJSX {
8567
9908
  * Emitted when the navigation is about to transition to a new component.
8568
9909
  */
8569
9910
  "onIonTabsWillChange"?: (event: IonTabsCustomEvent<{ tab: string }>) => void;
9911
+ /**
9912
+ * The theme determines the visual appearance of the component.
9913
+ */
9914
+ "theme"?: "ios" | "md" | "ionic";
8570
9915
  }
8571
9916
  interface IonText {
8572
9917
  /**
@@ -8574,9 +9919,13 @@ declare namespace LocalJSX {
8574
9919
  */
8575
9920
  "color"?: Color;
8576
9921
  /**
8577
- * The mode determines which platform styles to use.
9922
+ * The mode determines the platform behaviors of the component.
8578
9923
  */
8579
9924
  "mode"?: "ios" | "md";
9925
+ /**
9926
+ * The theme determines the visual appearance of the component.
9927
+ */
9928
+ "theme"?: "ios" | "md" | "ionic";
8580
9929
  }
8581
9930
  interface IonTextarea {
8582
9931
  /**
@@ -8634,7 +9983,7 @@ declare namespace LocalJSX {
8634
9983
  */
8635
9984
  "errorText"?: string;
8636
9985
  /**
8637
- * 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.
9986
+ * 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"`.
8638
9987
  */
8639
9988
  "fill"?: 'outline' | 'solid';
8640
9989
  /**
@@ -8663,7 +10012,7 @@ declare namespace LocalJSX {
8663
10012
  */
8664
10013
  "minlength"?: number;
8665
10014
  /**
8666
- * The mode determines which platform styles to use.
10015
+ * The mode determines the platform behaviors of the component.
8667
10016
  */
8668
10017
  "mode"?: "ios" | "md";
8669
10018
  /**
@@ -8706,14 +10055,23 @@ declare namespace LocalJSX {
8706
10055
  */
8707
10056
  "rows"?: number;
8708
10057
  /**
8709
- * The shape of the textarea. If "round" it will have an increased border radius.
10058
+ * 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.
10059
+ */
10060
+ "shape"?: 'soft' | 'round' | 'rectangular';
10061
+ /**
10062
+ * 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.
10063
+ * @default 'medium'
8710
10064
  */
8711
- "shape"?: 'round';
10065
+ "size"?: 'small' | 'medium' | 'large';
8712
10066
  /**
8713
10067
  * If `true`, the element will have its spelling and grammar checked.
8714
10068
  * @default false
8715
10069
  */
8716
10070
  "spellcheck"?: boolean;
10071
+ /**
10072
+ * The theme determines the visual appearance of the component.
10073
+ */
10074
+ "theme"?: "ios" | "md" | "ionic";
8717
10075
  /**
8718
10076
  * The value of the textarea.
8719
10077
  * @default ''
@@ -8725,16 +10083,32 @@ declare namespace LocalJSX {
8725
10083
  "wrap"?: 'hard' | 'soft' | 'off';
8726
10084
  }
8727
10085
  interface IonThumbnail {
10086
+ /**
10087
+ * The mode determines the platform behaviors of the component.
10088
+ */
10089
+ "mode"?: "ios" | "md";
10090
+ /**
10091
+ * The theme determines the visual appearance of the component.
10092
+ */
10093
+ "theme"?: "ios" | "md" | "ionic";
8728
10094
  }
8729
10095
  interface IonTitle {
8730
10096
  /**
8731
10097
  * 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).
8732
10098
  */
8733
10099
  "color"?: Color;
10100
+ /**
10101
+ * The mode determines the platform behaviors of the component.
10102
+ */
10103
+ "mode"?: "ios" | "md";
8734
10104
  /**
8735
10105
  * The size of the toolbar title.
8736
10106
  */
8737
10107
  "size"?: 'large' | 'small';
10108
+ /**
10109
+ * The theme determines the visual appearance of the component.
10110
+ */
10111
+ "theme"?: "ios" | "md" | "ionic";
8738
10112
  }
8739
10113
  interface IonToast {
8740
10114
  /**
@@ -8771,6 +10145,11 @@ declare namespace LocalJSX {
8771
10145
  * Additional attributes to pass to the toast.
8772
10146
  */
8773
10147
  "htmlAttributes"?: { [key: string]: any };
10148
+ /**
10149
+ * 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.
10150
+ * @default 'subtle'
10151
+ */
10152
+ "hue"?: 'bold' | 'subtle';
8774
10153
  /**
8775
10154
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
8776
10155
  */
@@ -8799,7 +10178,7 @@ declare namespace LocalJSX {
8799
10178
  */
8800
10179
  "message"?: string | IonicSafeString;
8801
10180
  /**
8802
- * The mode determines which platform styles to use.
10181
+ * The mode determines the platform behaviors of the component.
8803
10182
  */
8804
10183
  "mode"?: "ios" | "md";
8805
10184
  /**
@@ -8843,12 +10222,20 @@ declare namespace LocalJSX {
8843
10222
  * 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.
8844
10223
  */
8845
10224
  "positionAnchor"?: HTMLElement | string;
10225
+ /**
10226
+ * 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.
10227
+ */
10228
+ "shape"?: 'soft' | 'round' | 'rectangular';
8846
10229
  /**
8847
10230
  * 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.
8848
10231
  */
8849
10232
  "swipeGesture"?: ToastSwipeGestureDirection;
8850
10233
  /**
8851
- * 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).
10234
+ * The theme determines the visual appearance of the component.
10235
+ */
10236
+ "theme"?: "ios" | "md" | "ionic";
10237
+ /**
10238
+ * 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).
8852
10239
  * @default false
8853
10240
  */
8854
10241
  "translucent"?: boolean;
@@ -8899,7 +10286,7 @@ declare namespace LocalJSX {
8899
10286
  */
8900
10287
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
8901
10288
  /**
8902
- * The mode determines which platform styles to use.
10289
+ * The mode determines the platform behaviors of the component.
8903
10290
  */
8904
10291
  "mode"?: "ios" | "md";
8905
10292
  /**
@@ -8924,6 +10311,10 @@ declare namespace LocalJSX {
8924
10311
  * @default false
8925
10312
  */
8926
10313
  "required"?: boolean;
10314
+ /**
10315
+ * The theme determines the visual appearance of the component.
10316
+ */
10317
+ "theme"?: "ios" | "md" | "ionic";
8927
10318
  /**
8928
10319
  * 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>`.
8929
10320
  * @default 'on'
@@ -8936,9 +10327,13 @@ declare namespace LocalJSX {
8936
10327
  */
8937
10328
  "color"?: Color;
8938
10329
  /**
8939
- * The mode determines which platform styles to use.
10330
+ * The mode determines the platform behaviors of the component.
8940
10331
  */
8941
10332
  "mode"?: "ios" | "md";
10333
+ /**
10334
+ * The theme determines the visual appearance of the component.
10335
+ */
10336
+ "theme"?: "ios" | "md" | "ionic";
8942
10337
  }
8943
10338
  interface IntrinsicElements {
8944
10339
  "ion-accordion": IonAccordion;
@@ -8965,6 +10360,7 @@ declare namespace LocalJSX {
8965
10360
  "ion-content": IonContent;
8966
10361
  "ion-datetime": IonDatetime;
8967
10362
  "ion-datetime-button": IonDatetimeButton;
10363
+ "ion-divider": IonDivider;
8968
10364
  "ion-fab": IonFab;
8969
10365
  "ion-fab-button": IonFabButton;
8970
10366
  "ion-fab-list": IonFabList;
@@ -9068,6 +10464,7 @@ declare module "@stencil/core" {
9068
10464
  "ion-content": LocalJSX.IonContent & JSXBase.HTMLAttributes<HTMLIonContentElement>;
9069
10465
  "ion-datetime": LocalJSX.IonDatetime & JSXBase.HTMLAttributes<HTMLIonDatetimeElement>;
9070
10466
  "ion-datetime-button": LocalJSX.IonDatetimeButton & JSXBase.HTMLAttributes<HTMLIonDatetimeButtonElement>;
10467
+ "ion-divider": LocalJSX.IonDivider & JSXBase.HTMLAttributes<HTMLIonDividerElement>;
9071
10468
  "ion-fab": LocalJSX.IonFab & JSXBase.HTMLAttributes<HTMLIonFabElement>;
9072
10469
  "ion-fab-button": LocalJSX.IonFabButton & JSXBase.HTMLAttributes<HTMLIonFabButtonElement>;
9073
10470
  "ion-fab-list": LocalJSX.IonFabList & JSXBase.HTMLAttributes<HTMLIonFabListElement>;