@ionic/core 8.7.12-dev.11764955407.1ef60cf1 → 8.7.12-dev.11764959751.15a91dbd

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (935) hide show
  1. package/components/action-sheet.js +13 -9
  2. package/components/alert.js +14 -11
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +9 -6
  5. package/components/button.js +41 -10
  6. package/components/buttons.js +11 -8
  7. package/components/capacitor.js +1 -1
  8. package/components/caret-down.js +6 -0
  9. package/components/caret-left.js +6 -0
  10. package/components/caret-right.js +6 -0
  11. package/components/checkbox.js +31 -12
  12. package/components/content.js +14 -12
  13. package/components/data.js +5 -5
  14. package/components/focus-visible.js +23 -1
  15. package/components/framework-delegate.js +3 -1
  16. package/components/header.js +34 -22
  17. package/components/helpers.js +42 -3
  18. package/components/index5.js +8 -8
  19. package/components/index6.js +1 -1
  20. package/components/index7.js +111 -150
  21. package/components/index8.js +150 -111
  22. package/components/input-shims.js +2 -2
  23. package/components/input.utils.js +1 -1
  24. package/components/ion-accordion-group.js +23 -5
  25. package/components/ion-accordion.js +32 -21
  26. package/components/ion-app.js +12 -77
  27. package/components/ion-avatar.js +58 -5
  28. package/components/ion-back-button.js +27 -19
  29. package/components/ion-badge.js +73 -9
  30. package/components/ion-breadcrumb.js +43 -10
  31. package/components/ion-breadcrumbs.js +8 -5
  32. package/components/ion-card-content.js +10 -7
  33. package/components/ion-card-header.js +9 -6
  34. package/components/ion-card-subtitle.js +8 -5
  35. package/components/ion-card-title.js +8 -5
  36. package/components/ion-card.js +21 -9
  37. package/components/ion-chip.js +53 -8
  38. package/components/ion-col.js +51 -50
  39. package/components/ion-datetime-button.js +8 -5
  40. package/components/ion-datetime.js +98 -21
  41. package/components/ion-divider.d.ts +11 -0
  42. package/components/ion-divider.js +72 -0
  43. package/components/ion-fab-button.js +31 -15
  44. package/components/ion-fab-list.js +5 -5
  45. package/components/ion-fab.js +6 -6
  46. package/components/ion-footer.js +18 -13
  47. package/components/ion-grid.js +5 -5
  48. package/components/ion-img.js +5 -2
  49. package/components/ion-infinite-scroll-content.js +11 -8
  50. package/components/ion-infinite-scroll.js +78 -6
  51. package/components/ion-input-otp.js +9 -6
  52. package/components/ion-input-password-toggle.js +51 -13
  53. package/components/ion-input.js +120 -28
  54. package/components/ion-item-divider.js +8 -5
  55. package/components/ion-item-group.js +8 -5
  56. package/components/ion-item-option.js +36 -9
  57. package/components/ion-item-options.js +10 -7
  58. package/components/ion-item-sliding.js +5 -5
  59. package/components/ion-loading.js +12 -9
  60. package/components/ion-menu-button.js +26 -10
  61. package/components/ion-menu-toggle.js +5 -5
  62. package/components/ion-menu.js +10 -8
  63. package/components/ion-nav-link.js +1 -1
  64. package/components/ion-nav.js +7 -5
  65. package/components/ion-note.js +8 -5
  66. package/components/ion-picker-legacy.js +7 -7
  67. package/components/ion-progress-bar.js +25 -7
  68. package/components/ion-range.js +12 -9
  69. package/components/ion-refresher-content.js +23 -8
  70. package/components/ion-refresher.js +10 -7
  71. package/components/ion-reorder-group.js +5 -5
  72. package/components/ion-reorder.js +30 -5
  73. package/components/ion-router-link.js +6 -6
  74. package/components/ion-router-outlet.js +4 -4
  75. package/components/ion-row.js +6 -3
  76. package/components/ion-searchbar.js +137 -23
  77. package/components/ion-segment-button.js +10 -7
  78. package/components/ion-segment-content.js +1 -1
  79. package/components/ion-segment-view.js +5 -2
  80. package/components/ion-segment.js +10 -7
  81. package/components/ion-select-option.js +5 -2
  82. package/components/ion-select.js +117 -33
  83. package/components/ion-skeleton-text.js +5 -5
  84. package/components/ion-split-pane.js +11 -8
  85. package/components/ion-tab-bar.js +39 -9
  86. package/components/ion-tab-button.js +35 -8
  87. package/components/ion-tab.js +2 -2
  88. package/components/ion-tabs.js +2 -2
  89. package/components/ion-text.js +5 -5
  90. package/components/ion-textarea.js +52 -11
  91. package/components/ion-thumbnail.js +5 -2
  92. package/components/ion-toast.js +37 -12
  93. package/components/ion-toggle.js +74 -17
  94. package/components/ionic-global.js +349 -15
  95. package/components/ios.transition.js +1 -0
  96. package/components/item.js +47 -15
  97. package/components/keyboard-controller.js +4 -2
  98. package/components/label.js +8 -5
  99. package/components/list-header.js +10 -7
  100. package/components/list.js +27 -6
  101. package/components/list2.js +6 -0
  102. package/components/modal.js +49 -79
  103. package/components/notch-controller.js +1 -1
  104. package/components/overlays.js +3 -4
  105. package/components/picker-column-option.js +8 -5
  106. package/components/picker-column.js +7 -8
  107. package/components/picker-column2.js +4 -4
  108. package/components/picker.js +7 -4
  109. package/components/popover.js +12 -9
  110. package/components/radio-group.js +15 -7
  111. package/components/radio.js +11 -8
  112. package/components/ripple-effect.js +15 -7
  113. package/components/select-modal.js +12 -5
  114. package/components/select-popover.js +8 -2
  115. package/components/spinner.js +31 -8
  116. package/components/status-tap.js +1 -1
  117. package/components/title.js +10 -7
  118. package/components/toolbar.js +153 -9
  119. package/components/x.js +6 -0
  120. package/css/core.css +1 -1
  121. package/css/core.css.map +1 -1
  122. package/css/display.css +1 -1
  123. package/css/display.css.map +1 -1
  124. package/css/flex-utils.css +1 -1
  125. package/css/flex-utils.css.map +1 -1
  126. package/css/float-elements.css.map +1 -1
  127. package/css/global.bundle.css.map +1 -1
  128. package/css/ionic/bundle.ionic.css +1 -0
  129. package/css/ionic/bundle.ionic.css.map +1 -0
  130. package/css/ionic/core.ionic.css +1 -0
  131. package/css/ionic/core.ionic.css.map +1 -0
  132. package/css/ionic/global.bundle.ionic.css +1 -0
  133. package/css/ionic/global.bundle.ionic.css.map +1 -0
  134. package/css/ionic/ionic-swiper.ionic.css +1 -0
  135. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  136. package/css/ionic/link.ionic.css +1 -0
  137. package/css/ionic/link.ionic.css.map +1 -0
  138. package/css/ionic/structure.ionic.css +1 -0
  139. package/css/ionic/structure.ionic.css.map +1 -0
  140. package/css/ionic/typography.ionic.css +1 -0
  141. package/css/ionic/typography.ionic.css.map +1 -0
  142. package/css/ionic/utils.bundle.ionic.css +1 -0
  143. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  144. package/css/ionic-swiper.css +1 -1
  145. package/css/ionic-swiper.css.map +1 -1
  146. package/css/ionic.bundle.css +1 -1
  147. package/css/ionic.bundle.css.map +1 -1
  148. package/css/normalize.css.map +1 -1
  149. package/css/padding.css.map +1 -1
  150. package/css/palettes/dark.always.css.map +1 -1
  151. package/css/palettes/dark.class.css.map +1 -1
  152. package/css/palettes/dark.system.css.map +1 -1
  153. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  154. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  156. package/css/palettes/high-contrast.always.css.map +1 -1
  157. package/css/palettes/high-contrast.class.css.map +1 -1
  158. package/css/palettes/high-contrast.system.css.map +1 -1
  159. package/css/structure.css.map +1 -1
  160. package/css/text-alignment.css.map +1 -1
  161. package/css/text-transformation.css.map +1 -1
  162. package/css/typography.css.map +1 -1
  163. package/css/utils.bundle.css +1 -1
  164. package/css/utils.bundle.css.map +1 -1
  165. package/dist/cjs/{animation-Bt3H9L1C.js → animation-BYsP2q5j.js} +2 -2
  166. package/dist/cjs/{app-globals-Ciccnk9_.js → app-globals-CrtAvKxl.js} +1 -1
  167. package/dist/cjs/{button-active-CMc8cD90.js → button-active-CDa7BeCl.js} +1 -1
  168. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-BMhHF0O5.js} +3 -3
  169. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  170. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  171. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  172. package/dist/cjs/{data-JwZKaIQB.js → data-MoL8Ckx5.js} +5 -5
  173. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  174. package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-Bwdk9vFS.js} +4 -2
  175. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-Cy3moXzO.js} +1 -1
  176. package/dist/cjs/{helpers-DrTqNghc.js → helpers-DnouLczu.js} +41 -2
  177. package/dist/cjs/{index-C534ULug.js → index-Bq6U5NAb.js} +8 -7
  178. package/dist/cjs/{index-094mMFB-.js → index-CWyLwRTs.js} +3 -3
  179. package/dist/cjs/{index-CO6eryBo.js → index-DUoP_H1L.js} +1 -1
  180. package/dist/cjs/{index-DrMUZJj6.js → index-XjN3PjKG.js} +15 -15
  181. package/dist/cjs/index.cjs.js +10 -11
  182. package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-D6DHFHsE.js} +17 -16
  183. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-BVyJKWft.js} +5 -5
  184. package/dist/cjs/ion-accordion_2.cjs.entry.js +55 -26
  185. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -18
  186. package/dist/cjs/ion-alert.cjs.entry.js +22 -20
  187. package/dist/cjs/ion-app_8.cjs.entry.js +249 -150
  188. package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -11
  189. package/dist/cjs/ion-back-button.cjs.entry.js +28 -19
  190. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -6
  191. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +51 -15
  192. package/dist/cjs/ion-button_2.cjs.entry.js +43 -11
  193. package/dist/cjs/ion-card_5.cjs.entry.js +53 -29
  194. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -13
  195. package/dist/cjs/ion-chip.cjs.entry.js +48 -7
  196. package/dist/cjs/ion-col_3.cjs.entry.js +53 -56
  197. package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -7
  198. package/dist/cjs/ion-datetime_3.cjs.entry.js +113 -38
  199. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  200. package/dist/cjs/ion-fab_3.cjs.entry.js +41 -25
  201. package/dist/cjs/ion-img.cjs.entry.js +7 -3
  202. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +89 -14
  203. package/dist/cjs/ion-input-otp.cjs.entry.js +11 -7
  204. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +50 -12
  205. package/dist/cjs/ion-input.cjs.entry.js +120 -30
  206. package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -19
  207. package/dist/cjs/ion-item_8.cjs.entry.js +113 -46
  208. package/dist/cjs/ion-loading.cjs.entry.js +17 -15
  209. package/dist/cjs/ion-menu_3.cjs.entry.js +44 -26
  210. package/dist/cjs/ion-modal.cjs.entry.js +97 -128
  211. package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
  212. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -6
  213. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
  214. package/dist/cjs/ion-picker.cjs.entry.js +9 -5
  215. package/dist/cjs/ion-popover.cjs.entry.js +18 -16
  216. package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -7
  217. package/dist/cjs/ion-radio_2.cjs.entry.js +24 -14
  218. package/dist/cjs/ion-range.cjs.entry.js +14 -10
  219. package/dist/cjs/ion-refresher_2.cjs.entry.js +36 -18
  220. package/dist/cjs/ion-reorder_2.cjs.entry.js +36 -12
  221. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -6
  222. package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
  223. package/dist/cjs/ion-searchbar.cjs.entry.js +134 -21
  224. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  225. package/dist/cjs/ion-segment-view.cjs.entry.js +5 -2
  226. package/dist/cjs/ion-segment_2.cjs.entry.js +21 -14
  227. package/dist/cjs/ion-select-modal.cjs.entry.js +15 -9
  228. package/dist/cjs/ion-select_3.cjs.entry.js +129 -38
  229. package/dist/cjs/ion-spinner.cjs.entry.js +28 -6
  230. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -8
  231. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +75 -21
  232. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -6
  233. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  234. package/dist/cjs/ion-textarea.cjs.entry.js +55 -15
  235. package/dist/cjs/ion-toast.cjs.entry.js +66 -43
  236. package/dist/cjs/ion-toggle.cjs.entry.js +78 -21
  237. package/dist/cjs/ionic-global-DuRUel5m.js +491 -0
  238. package/dist/cjs/ionic.cjs.js +3 -3
  239. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-Duxxr-xb.js} +6 -4
  240. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-C1Ds9WQH.js} +4 -3
  241. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-UYQhk8rB.js} +1 -1
  242. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-ts0z4BIe.js} +11 -9
  243. package/dist/cjs/list-a-7GSA6K.js +8 -0
  244. package/dist/cjs/loader.cjs.js +3 -3
  245. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-BqUnXqxP.js} +5 -4
  246. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-BX7CnNaL.js} +4 -4
  247. package/dist/cjs/{overlays-DxIZwUXI.js → overlays-pdcfssMG.js} +8 -9
  248. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-e-hyosXV.js} +3 -2
  249. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-CR060nOX.js} +2 -1
  250. package/dist/cjs/x-BTF99yFH.js +8 -0
  251. package/dist/collection/collection-manifest.json +1 -0
  252. package/dist/collection/components/accordion/accordion.ionic.css +196 -0
  253. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  254. package/dist/collection/components/accordion/accordion.js +36 -26
  255. package/dist/collection/components/accordion/accordion.md.css +67 -59
  256. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  257. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  258. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  259. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  260. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  261. package/dist/collection/components/action-sheet/action-sheet.js +15 -11
  262. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  263. package/dist/collection/components/alert/alert.ios.css +19 -1
  264. package/dist/collection/components/alert/alert.js +16 -13
  265. package/dist/collection/components/alert/alert.md.css +19 -1
  266. package/dist/collection/components/app/app.js +15 -78
  267. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  268. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  269. package/dist/collection/components/avatar/avatar.js +120 -4
  270. package/dist/collection/components/avatar/avatar.md.css +51 -0
  271. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  272. package/dist/collection/components/back-button/back-button.js +27 -19
  273. package/dist/collection/components/back-button/back-button.md.css +60 -48
  274. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  275. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  276. package/dist/collection/components/backdrop/backdrop.js +12 -6
  277. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  278. package/dist/collection/components/badge/badge.ionic.css +275 -0
  279. package/dist/collection/components/badge/badge.ios.css +139 -12
  280. package/dist/collection/components/badge/badge.js +145 -9
  281. package/dist/collection/components/badge/badge.md.css +123 -12
  282. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  283. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  284. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  285. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  286. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  287. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  288. package/dist/collection/components/button/button.ionic.css +636 -0
  289. package/dist/collection/components/button/button.ios.css +135 -46
  290. package/dist/collection/components/button/button.js +48 -17
  291. package/dist/collection/components/button/button.md.css +126 -50
  292. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  293. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  294. package/dist/collection/components/buttons/buttons.js +15 -9
  295. package/dist/collection/components/buttons/buttons.md.css +55 -3
  296. package/dist/collection/components/card/card.ionic.css +144 -0
  297. package/dist/collection/components/card/card.ios.css +65 -14
  298. package/dist/collection/components/card/card.js +41 -10
  299. package/dist/collection/components/card/card.md.css +65 -14
  300. package/dist/collection/components/card-content/card-content.ionic.css +92 -0
  301. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  302. package/dist/collection/components/card-content/card-content.js +11 -8
  303. package/dist/collection/components/card-content/card-content.md.css +16 -1
  304. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  305. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  306. package/dist/collection/components/card-header/card-header.js +13 -10
  307. package/dist/collection/components/card-header/card-header.md.css +27 -15
  308. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  309. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  310. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  311. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  312. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  313. package/dist/collection/components/card-title/card-title.js +11 -8
  314. package/dist/collection/components/card-title/card-title.md.css +73 -0
  315. package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
  316. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  317. package/dist/collection/components/checkbox/checkbox.js +70 -14
  318. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  319. package/dist/collection/components/chip/chip.ionic.css +215 -0
  320. package/dist/collection/components/chip/chip.ios.css +67 -14
  321. package/dist/collection/components/chip/chip.js +108 -8
  322. package/dist/collection/components/chip/chip.md.css +67 -14
  323. package/dist/collection/components/col/col.css +192 -4
  324. package/dist/collection/components/col/col.js +210 -61
  325. package/dist/collection/components/content/content.css +8 -2
  326. package/dist/collection/components/content/content.js +16 -11
  327. package/dist/collection/components/datetime/datetime.ionic.css +711 -0
  328. package/dist/collection/components/datetime/datetime.ios.css +258 -96
  329. package/dist/collection/components/datetime/datetime.js +98 -20
  330. package/dist/collection/components/datetime/datetime.md.css +258 -96
  331. package/dist/collection/components/datetime/utils/data.js +5 -5
  332. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  333. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  334. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  335. package/dist/collection/components/divider/divider.ionic.css +148 -0
  336. package/dist/collection/components/divider/divider.ios.css +87 -0
  337. package/dist/collection/components/divider/divider.js +94 -0
  338. package/dist/collection/components/divider/divider.md.css +87 -0
  339. package/dist/collection/components/fab/fab.css +25 -1
  340. package/dist/collection/components/fab/fab.js +9 -5
  341. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  342. package/dist/collection/components/fab-button/fab-button.js +36 -21
  343. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  344. package/dist/collection/components/fab-list/fab-list.css +12 -0
  345. package/dist/collection/components/fab-list/fab-list.js +9 -5
  346. package/dist/collection/components/footer/footer.ios.css +14 -2
  347. package/dist/collection/components/footer/footer.js +21 -16
  348. package/dist/collection/components/footer/footer.md.css +12 -0
  349. package/dist/collection/components/grid/grid.css +12 -0
  350. package/dist/collection/components/grid/grid.js +9 -5
  351. package/dist/collection/components/header/header.ionic.css +97 -0
  352. package/dist/collection/components/header/header.ios.css +25 -10
  353. package/dist/collection/components/header/header.js +50 -19
  354. package/dist/collection/components/header/header.md.css +23 -8
  355. package/dist/collection/components/header/header.utils.js +5 -5
  356. package/dist/collection/components/img/img.js +8 -2
  357. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  358. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  359. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  360. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  361. package/dist/collection/components/input/input.ionic.css +885 -0
  362. package/dist/collection/components/input/input.ios.css +223 -140
  363. package/dist/collection/components/input/input.js +149 -38
  364. package/dist/collection/components/input/input.md.css +193 -212
  365. package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
  366. package/dist/collection/components/input-otp/input-otp.ios.css +102 -60
  367. package/dist/collection/components/input-otp/input-otp.js +7 -5
  368. package/dist/collection/components/input-otp/input-otp.md.css +102 -60
  369. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  370. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  371. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  372. package/dist/collection/components/item/item.ionic.css +508 -0
  373. package/dist/collection/components/item/item.ios.css +109 -69
  374. package/dist/collection/components/item/item.js +51 -20
  375. package/dist/collection/components/item/item.md.css +120 -68
  376. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  377. package/dist/collection/components/item-divider/item-divider.js +11 -8
  378. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  379. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  380. package/dist/collection/components/item-group/item-group.js +13 -7
  381. package/dist/collection/components/item-group/item-group.md.css +12 -0
  382. package/dist/collection/components/item-option/item-option.ionic.css +278 -0
  383. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  384. package/dist/collection/components/item-option/item-option.js +73 -9
  385. package/dist/collection/components/item-option/item-option.md.css +136 -29
  386. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  387. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  388. package/dist/collection/components/item-options/item-options.js +13 -7
  389. package/dist/collection/components/item-options/item-options.md.css +77 -34
  390. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  391. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  392. package/dist/collection/components/label/label.ios.css +18 -0
  393. package/dist/collection/components/label/label.js +11 -8
  394. package/dist/collection/components/label/label.md.css +18 -0
  395. package/dist/collection/components/list/list.ionic.css +212 -0
  396. package/dist/collection/components/list/list.ios.css +54 -14
  397. package/dist/collection/components/list/list.js +48 -9
  398. package/dist/collection/components/list/list.md.css +56 -16
  399. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  400. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  401. package/dist/collection/components/list-header/list-header.js +11 -8
  402. package/dist/collection/components/list-header/list-header.md.css +82 -38
  403. package/dist/collection/components/loading/loading.ios.css +13 -1
  404. package/dist/collection/components/loading/loading.js +14 -11
  405. package/dist/collection/components/loading/loading.md.css +13 -1
  406. package/dist/collection/components/menu/menu.ios.css +15 -3
  407. package/dist/collection/components/menu/menu.js +12 -7
  408. package/dist/collection/components/menu/menu.md.css +15 -3
  409. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  410. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  411. package/dist/collection/components/menu-button/menu-button.js +26 -10
  412. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  413. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  414. package/dist/collection/components/modal/animations/sheet.js +8 -2
  415. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  416. package/dist/collection/components/modal/modal.ionic.css +247 -0
  417. package/dist/collection/components/modal/modal.ios.css +174 -84
  418. package/dist/collection/components/modal/modal.js +49 -70
  419. package/dist/collection/components/modal/modal.md.css +174 -84
  420. package/dist/collection/components/nav/nav.css +7 -1
  421. package/dist/collection/components/nav/nav.js +11 -5
  422. package/dist/collection/components/nav-link/nav-link.js +5 -1
  423. package/dist/collection/components/note/note.ios.css +12 -0
  424. package/dist/collection/components/note/note.js +11 -8
  425. package/dist/collection/components/note/note.md.css +12 -0
  426. package/dist/collection/components/picker/picker.ios.css +15 -3
  427. package/dist/collection/components/picker/picker.js +8 -5
  428. package/dist/collection/components/picker/picker.md.css +15 -3
  429. package/dist/collection/components/picker-column/picker-column.css +9 -2
  430. package/dist/collection/components/picker-column/picker-column.js +8 -7
  431. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  432. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  433. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  434. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  435. package/dist/collection/components/picker-legacy/picker.js +7 -6
  436. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  437. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  438. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  439. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  440. package/dist/collection/components/popover/popover.ios.css +13 -1
  441. package/dist/collection/components/popover/popover.js +17 -14
  442. package/dist/collection/components/popover/popover.md.css +13 -1
  443. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  444. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  445. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  446. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  447. package/dist/collection/components/radio/radio.ionic.css +422 -0
  448. package/dist/collection/components/radio/radio.ios.css +134 -91
  449. package/dist/collection/components/radio/radio.js +12 -9
  450. package/dist/collection/components/radio/radio.md.css +134 -91
  451. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  452. package/dist/collection/components/radio-group/radio-group.ios.css +43 -23
  453. package/dist/collection/components/radio-group/radio-group.js +21 -6
  454. package/dist/collection/components/radio-group/radio-group.md.css +43 -23
  455. package/dist/collection/components/range/range.ionic.css +563 -0
  456. package/dist/collection/components/range/range.ios.css +128 -85
  457. package/dist/collection/components/range/range.js +12 -9
  458. package/dist/collection/components/range/range.md.css +128 -85
  459. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  460. package/dist/collection/components/refresher/refresher.js +11 -8
  461. package/dist/collection/components/refresher/refresher.md.css +15 -2
  462. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  463. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  464. package/dist/collection/components/reorder/reorder.js +33 -6
  465. package/dist/collection/components/reorder/reorder.md.css +6 -0
  466. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  467. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  468. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  469. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  470. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  471. package/dist/collection/components/route/route.js +4 -0
  472. package/dist/collection/components/router/router.js +4 -0
  473. package/dist/collection/components/router-link/router-link.css +8 -2
  474. package/dist/collection/components/router-link/router-link.js +9 -5
  475. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  476. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  477. package/dist/collection/components/row/row.css +16 -0
  478. package/dist/collection/components/row/row.js +9 -2
  479. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  480. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  481. package/dist/collection/components/searchbar/searchbar.js +181 -34
  482. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  483. package/dist/collection/components/segment/segment.ionic.css +115 -0
  484. package/dist/collection/components/segment/segment.ios.css +45 -2
  485. package/dist/collection/components/segment/segment.js +11 -8
  486. package/dist/collection/components/segment/segment.md.css +45 -2
  487. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  488. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  489. package/dist/collection/components/segment-button/segment-button.js +11 -8
  490. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  491. package/dist/collection/components/segment-content/segment-content.js +1 -1
  492. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  493. package/dist/collection/components/segment-view/segment-view.js +6 -4
  494. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  495. package/dist/collection/components/select/select.ionic.css +777 -0
  496. package/dist/collection/components/select/select.ios.css +315 -176
  497. package/dist/collection/components/select/select.js +156 -53
  498. package/dist/collection/components/select/select.md.css +331 -178
  499. package/dist/collection/components/select-modal/select-modal.ionic.css +130 -0
  500. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  501. package/dist/collection/components/select-modal/select-modal.js +11 -4
  502. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  503. package/dist/collection/components/select-option/select-option.js +9 -2
  504. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  505. package/dist/collection/components/select-popover/select-popover.js +12 -4
  506. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  507. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  508. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  509. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +77 -10
  510. package/dist/collection/components/spinner/spinner.js +47 -6
  511. package/dist/collection/components/spinner/spinner.native.css +198 -0
  512. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  513. package/dist/collection/components/split-pane/split-pane.js +14 -8
  514. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  515. package/dist/collection/components/tab/tab.js +6 -2
  516. package/dist/collection/components/tab-bar/tab-bar.ionic.css +201 -0
  517. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  518. package/dist/collection/components/tab-bar/tab-bar.js +78 -11
  519. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  520. package/dist/collection/components/tab-button/tab-button.ionic.css +337 -0
  521. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  522. package/dist/collection/components/tab-button/tab-button.js +54 -9
  523. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  524. package/dist/collection/components/tabs/tabs.css +7 -1
  525. package/dist/collection/components/tabs/tabs.js +4 -1
  526. package/dist/collection/components/text/text.css +6 -0
  527. package/dist/collection/components/text/text.js +7 -6
  528. package/dist/collection/components/textarea/textarea.ionic.css +885 -0
  529. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  530. package/dist/collection/components/textarea/textarea.js +76 -16
  531. package/dist/collection/components/textarea/textarea.md.css +288 -140
  532. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  533. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  534. package/dist/collection/components/title/title.ionic.css +127 -0
  535. package/dist/collection/components/title/title.ios.css +32 -4
  536. package/dist/collection/components/title/title.js +13 -7
  537. package/dist/collection/components/title/title.md.css +32 -4
  538. package/dist/collection/components/toast/animations/utils.js +1 -1
  539. package/dist/collection/components/toast/toast.ionic.css +394 -0
  540. package/dist/collection/components/toast/toast.ios.css +84 -45
  541. package/dist/collection/components/toast/toast.js +75 -12
  542. package/dist/collection/components/toast/toast.md.css +84 -45
  543. package/dist/collection/components/toggle/toggle.ionic.css +508 -0
  544. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  545. package/dist/collection/components/toggle/toggle.js +73 -18
  546. package/dist/collection/components/toggle/toggle.md.css +244 -131
  547. package/dist/collection/components/toolbar/test/image.svg +1 -0
  548. package/dist/collection/components/toolbar/toolbar.ionic.css +241 -0
  549. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  550. package/dist/collection/components/toolbar/toolbar.js +157 -13
  551. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  552. package/dist/collection/global/ionic-global.js +228 -13
  553. package/dist/collection/utils/focus-visible.js +22 -0
  554. package/dist/collection/utils/framework-delegate.js +3 -1
  555. package/dist/collection/utils/helpers.js +42 -2
  556. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  557. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  558. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  559. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  560. package/dist/collection/utils/overlays.js +2 -1
  561. package/dist/collection/utils/test/playwright/generator.js +48 -23
  562. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  563. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  564. package/dist/collection/utils/transition/ios.transition.js +1 -0
  565. package/dist/docs.json +8195 -374
  566. package/dist/esm/{animation-Dt8bGnA-.js → animation-DGDOQ6ES.js} +1 -1
  567. package/dist/esm/{app-globals-BDSf8fOA.js → app-globals-BNKecRVD.js} +1 -1
  568. package/dist/esm/{button-active-L570Swow.js → button-active-C_l8DIlb.js} +1 -1
  569. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CiBLEyrT.js} +1 -1
  570. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  571. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  572. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  573. package/dist/esm/{data-DCORV9FH.js → data-DFCY8gnk.js} +5 -5
  574. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  575. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-D2mUP0WI.js} +4 -2
  576. package/dist/esm/{haptic-DzAMWJuk.js → haptic-7RTk38ue.js} +1 -1
  577. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Bsml3FcE.js} +42 -3
  578. package/dist/esm/{index-Bs3kT4bc.js → index-BpFi2B8W.js} +1 -1
  579. package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
  580. package/dist/esm/{index-r2D9DEro.js → index-Cj1G4iWF.js} +3 -3
  581. package/dist/esm/{index-CvDIirVx.js → index-DWD4QoaP.js} +10 -10
  582. package/dist/esm/{index-ceb5RaMT.js → index-rXea6WR_.js} +3 -2
  583. package/dist/esm/index.js +10 -11
  584. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-Bz3HiPwU.js} +6 -5
  585. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-BQAE1QTA.js} +2 -2
  586. package/dist/esm/ion-accordion_2.entry.js +56 -27
  587. package/dist/esm/ion-action-sheet.entry.js +21 -18
  588. package/dist/esm/ion-alert.entry.js +22 -20
  589. package/dist/esm/ion-app_8.entry.js +250 -151
  590. package/dist/esm/ion-avatar_3.entry.js +125 -13
  591. package/dist/esm/ion-back-button.entry.js +29 -20
  592. package/dist/esm/ion-backdrop.entry.js +9 -6
  593. package/dist/esm/ion-breadcrumb_2.entry.js +53 -17
  594. package/dist/esm/ion-button_2.entry.js +43 -11
  595. package/dist/esm/ion-card_5.entry.js +53 -29
  596. package/dist/esm/ion-checkbox.entry.js +31 -13
  597. package/dist/esm/ion-chip.entry.js +49 -8
  598. package/dist/esm/ion-col_3.entry.js +54 -57
  599. package/dist/esm/ion-datetime-button.entry.js +11 -7
  600. package/dist/esm/ion-datetime_3.entry.js +115 -40
  601. package/dist/esm/ion-divider.entry.js +49 -0
  602. package/dist/esm/ion-fab_3.entry.js +43 -27
  603. package/dist/esm/ion-img.entry.js +7 -3
  604. package/dist/esm/ion-infinite-scroll_2.entry.js +89 -14
  605. package/dist/esm/ion-input-otp.entry.js +11 -7
  606. package/dist/esm/ion-input-password-toggle.entry.js +52 -14
  607. package/dist/esm/ion-input.entry.js +122 -32
  608. package/dist/esm/ion-item-option_3.entry.js +48 -19
  609. package/dist/esm/ion-item_8.entry.js +115 -48
  610. package/dist/esm/ion-loading.entry.js +17 -15
  611. package/dist/esm/ion-menu_3.entry.js +45 -27
  612. package/dist/esm/ion-modal.entry.js +57 -88
  613. package/dist/esm/ion-nav_2.entry.js +13 -10
  614. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  615. package/dist/esm/ion-picker-column.entry.js +11 -11
  616. package/dist/esm/ion-picker.entry.js +9 -5
  617. package/dist/esm/ion-popover.entry.js +18 -16
  618. package/dist/esm/ion-progress-bar.entry.js +25 -7
  619. package/dist/esm/ion-radio_2.entry.js +24 -14
  620. package/dist/esm/ion-range.entry.js +14 -10
  621. package/dist/esm/ion-refresher_2.entry.js +37 -19
  622. package/dist/esm/ion-reorder_2.entry.js +38 -14
  623. package/dist/esm/ion-ripple-effect.entry.js +14 -6
  624. package/dist/esm/ion-route_4.entry.js +8 -7
  625. package/dist/esm/ion-searchbar.entry.js +137 -24
  626. package/dist/esm/ion-segment-content.entry.js +1 -1
  627. package/dist/esm/ion-segment-view.entry.js +5 -2
  628. package/dist/esm/ion-segment_2.entry.js +21 -14
  629. package/dist/esm/ion-select-modal.entry.js +16 -10
  630. package/dist/esm/ion-select_3.entry.js +131 -40
  631. package/dist/esm/ion-spinner.entry.js +28 -6
  632. package/dist/esm/ion-split-pane.entry.js +11 -8
  633. package/dist/esm/ion-tab-bar_2.entry.js +75 -21
  634. package/dist/esm/ion-tab_2.entry.js +7 -6
  635. package/dist/esm/ion-text.entry.js +5 -5
  636. package/dist/esm/ion-textarea.entry.js +55 -15
  637. package/dist/esm/ion-toast.entry.js +40 -17
  638. package/dist/esm/ion-toggle.entry.js +79 -22
  639. package/dist/esm/ionic-global-2R0iPB51.js +480 -0
  640. package/dist/esm/ionic.js +3 -3
  641. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition-DvzxRGcW.js} +6 -4
  642. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-DuUgrXrK.js} +4 -3
  643. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-WCK1pWfR.js} +1 -1
  644. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-Bc4alOiF.js} +5 -3
  645. package/dist/esm/list-Dhi5xtNS.js +6 -0
  646. package/dist/esm/loader.js +3 -3
  647. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-DV0cjDzj.js} +5 -4
  648. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DO30Bsls.js} +2 -2
  649. package/dist/esm/{overlays-BymNv-BL.js → overlays-Da_6xSKI.js} +5 -6
  650. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-DXVlluKS.js} +3 -2
  651. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-DNhAt9fY.js} +2 -1
  652. package/dist/esm/x-BDqjX7Z_.js +6 -0
  653. package/dist/html.html-data.json +2530 -224
  654. package/dist/ionic/index.esm.js +1 -1
  655. package/dist/ionic/ionic.esm.js +1 -1
  656. package/dist/ionic/p--8Ga2Cg0.js +4 -0
  657. package/dist/ionic/p-0774e5a0.entry.js +4 -0
  658. package/dist/ionic/p-105826fe.entry.js +4 -0
  659. package/dist/ionic/p-14346334.entry.js +4 -0
  660. package/dist/ionic/p-1fead95f.entry.js +4 -0
  661. package/dist/ionic/p-2061a732.entry.js +4 -0
  662. package/dist/ionic/p-23e4b68a.entry.js +4 -0
  663. package/dist/ionic/p-2c504bd3.entry.js +4 -0
  664. package/dist/ionic/p-2c96bfe6.entry.js +4 -0
  665. package/dist/ionic/p-36f2ff62.entry.js +4 -0
  666. package/dist/ionic/p-3948040f.entry.js +4 -0
  667. package/dist/ionic/p-3a481932.entry.js +4 -0
  668. package/dist/ionic/p-3d0e07cf.entry.js +4 -0
  669. package/dist/ionic/p-418e4330.entry.js +4 -0
  670. package/dist/ionic/p-48366887.entry.js +4 -0
  671. package/dist/ionic/p-495912a4.entry.js +4 -0
  672. package/dist/ionic/p-4e13d498.entry.js +4 -0
  673. package/dist/ionic/p-55734084.entry.js +4 -0
  674. package/dist/ionic/p-55e2352e.entry.js +4 -0
  675. package/dist/ionic/p-59a79bd9.entry.js +4 -0
  676. package/dist/ionic/p-66397fac.entry.js +4 -0
  677. package/dist/ionic/p-66d094b2.entry.js +4 -0
  678. package/dist/ionic/p-698ae42d.entry.js +4 -0
  679. package/dist/ionic/p-6a7a53e5.entry.js +4 -0
  680. package/dist/ionic/p-6bb99f41.entry.js +4 -0
  681. package/dist/ionic/p-74601090.entry.js +4 -0
  682. package/dist/ionic/p-7894f98d.entry.js +4 -0
  683. package/dist/ionic/p-78f1c348.entry.js +4 -0
  684. package/dist/ionic/p-826267d6.entry.js +4 -0
  685. package/dist/ionic/p-844bd58c.entry.js +4 -0
  686. package/dist/ionic/p-931fd886.entry.js +4 -0
  687. package/dist/ionic/p-9839d6df.entry.js +4 -0
  688. package/dist/ionic/p-9a20f9cb.entry.js +4 -0
  689. package/dist/ionic/p-9c3361e4.entry.js +4 -0
  690. package/dist/ionic/p-9e3fa08c.entry.js +4 -0
  691. package/dist/ionic/p-B-N4FEiY.js +4 -0
  692. package/dist/ionic/{p-CwgG81ZD.js → p-B3uz75uZ.js} +1 -1
  693. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  694. package/dist/ionic/p-BRd1Ag6P.js +4 -0
  695. package/dist/ionic/p-BYSs-jZz.js +4 -0
  696. package/dist/ionic/{p-CJxh_yLS.js → p-BbT4IAlw.js} +1 -1
  697. package/dist/ionic/p-BiTKUjko.js +4 -0
  698. package/dist/ionic/p-CGo9Zrhw.js +4 -0
  699. package/dist/ionic/p-CK1xn1Nt.js +4 -0
  700. package/dist/ionic/p-CK4YXTyz.js +4 -0
  701. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  702. package/dist/ionic/p-CeO9Shc9.js +4 -0
  703. package/dist/ionic/p-CkzsSTjr.js +4 -0
  704. package/dist/ionic/p-D1t981Ih.js +4 -0
  705. package/dist/ionic/{p-Dc45iWE4.js → p-DBaOCAfc.js} +1 -1
  706. package/dist/ionic/p-DPNSAVjP.js +4 -0
  707. package/dist/ionic/p-D_8SMvQ3.js +4 -0
  708. package/dist/ionic/p-DdaOdN_z.js +4 -0
  709. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  710. package/dist/ionic/p-Dq8ap6AD.js +4 -0
  711. package/dist/ionic/p-Dv5UHqHj.js +4 -0
  712. package/dist/ionic/{p-CKvCXMs9.js → p-DxFexTIr.js} +1 -1
  713. package/dist/ionic/{p-DUt5fQmA.js → p-DxVdyQoe.js} +1 -1
  714. package/dist/ionic/p-DyaKZbAH.js +4 -0
  715. package/dist/ionic/{p-D0dMcSkw.js → p-HpOiAvpC.js} +1 -1
  716. package/dist/ionic/{p-D13Eaw-8.js → p-Q7JLYEUZ.js} +1 -1
  717. package/dist/ionic/p-W-2TssC9.js +4 -0
  718. package/dist/ionic/p-a2004213.entry.js +4 -0
  719. package/dist/ionic/p-a2179948.entry.js +4 -0
  720. package/dist/ionic/p-a3fefcf5.entry.js +4 -0
  721. package/dist/ionic/p-a57c0cce.entry.js +4 -0
  722. package/dist/ionic/p-b652eff7.entry.js +4 -0
  723. package/dist/ionic/p-b65b47bf.entry.js +4 -0
  724. package/dist/ionic/p-b7f5ae4a.entry.js +4 -0
  725. package/dist/ionic/p-c289efa5.entry.js +4 -0
  726. package/dist/ionic/p-ce2762f2.entry.js +4 -0
  727. package/dist/ionic/p-d36f836a.entry.js +4 -0
  728. package/dist/ionic/p-d774af7c.entry.js +4 -0
  729. package/dist/ionic/p-da0a2ca6.entry.js +4 -0
  730. package/dist/ionic/p-e2171c27.entry.js +4 -0
  731. package/dist/ionic/p-e3daf16c.entry.js +4 -0
  732. package/dist/ionic/p-ecc8aebb.entry.js +4 -0
  733. package/dist/ionic/p-f5fe6d47.entry.js +4 -0
  734. package/dist/ionic/p-fIOYmaqA.js +4 -0
  735. package/dist/ionic/p-fa6895f9.entry.js +4 -0
  736. package/dist/ionic/p-fa7fe783.entry.js +4 -0
  737. package/dist/ionic/p-ff69e0c6.entry.js +4 -0
  738. package/dist/ionic/p-vXpMhGrs.js +4 -0
  739. package/dist/ionic/p-vpXGWZiy.js +4 -0
  740. package/dist/types/components/accordion/accordion.d.ts +5 -3
  741. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  742. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  743. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  744. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  745. package/dist/types/components/alert/alert.d.ts +3 -2
  746. package/dist/types/components/app/app.d.ts +4 -2
  747. package/dist/types/components/avatar/avatar.d.ts +32 -0
  748. package/dist/types/components/back-button/back-button.d.ts +2 -1
  749. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  750. package/dist/types/components/badge/badge.d.ts +34 -1
  751. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  752. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  753. package/dist/types/components/button/button.d.ts +19 -6
  754. package/dist/types/components/buttons/buttons.d.ts +5 -1
  755. package/dist/types/components/card/card.d.ts +8 -1
  756. package/dist/types/components/card-content/card-content.d.ts +2 -1
  757. package/dist/types/components/card-header/card-header.d.ts +3 -2
  758. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  759. package/dist/types/components/card-title/card-title.d.ts +2 -1
  760. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  761. package/dist/types/components/chip/chip.d.ts +26 -1
  762. package/dist/types/components/col/col.d.ts +52 -5
  763. package/dist/types/components/content/content.d.ts +3 -0
  764. package/dist/types/components/datetime/datetime.d.ts +26 -1
  765. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  766. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  767. package/dist/types/components/divider/divider.d.ts +20 -0
  768. package/dist/types/components/fab/fab.d.ts +4 -0
  769. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  770. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  771. package/dist/types/components/footer/footer.d.ts +4 -3
  772. package/dist/types/components/grid/grid.d.ts +4 -0
  773. package/dist/types/components/header/header.d.ts +9 -3
  774. package/dist/types/components/header/header.utils.d.ts +3 -3
  775. package/dist/types/components/img/img.d.ts +3 -0
  776. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  777. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  778. package/dist/types/components/input/input.d.ts +31 -5
  779. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  780. package/dist/types/components/item/item.d.ts +11 -4
  781. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  782. package/dist/types/components/item-group/item-group.d.ts +4 -0
  783. package/dist/types/components/item-option/item-option.d.ts +18 -1
  784. package/dist/types/components/item-options/item-options.d.ts +4 -0
  785. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  786. package/dist/types/components/label/label.d.ts +2 -1
  787. package/dist/types/components/list/list.d.ts +15 -1
  788. package/dist/types/components/list-header/list-header.d.ts +2 -1
  789. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  790. package/dist/types/components/loading/loading.d.ts +3 -2
  791. package/dist/types/components/menu/menu.d.ts +3 -0
  792. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  793. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  794. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  795. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  796. package/dist/types/components/modal/modal.d.ts +11 -2
  797. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  798. package/dist/types/components/nav/nav.d.ts +5 -1
  799. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  800. package/dist/types/components/note/note.d.ts +2 -1
  801. package/dist/types/components/picker/picker.d.ts +2 -1
  802. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  803. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  804. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  805. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  806. package/dist/types/components/popover/popover.d.ts +6 -5
  807. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  808. package/dist/types/components/radio/radio.d.ts +2 -1
  809. package/dist/types/components/radio-group/radio-group.d.ts +8 -0
  810. package/dist/types/components/range/range.d.ts +2 -1
  811. package/dist/types/components/refresher/refresher.d.ts +2 -1
  812. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  813. package/dist/types/components/reorder/reorder.d.ts +9 -0
  814. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  815. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  816. package/dist/types/components/route/route.d.ts +4 -0
  817. package/dist/types/components/router/router.d.ts +4 -0
  818. package/dist/types/components/router-link/router-link.d.ts +4 -0
  819. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  820. package/dist/types/components/row/row.d.ts +4 -0
  821. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  822. package/dist/types/components/segment/segment.d.ts +2 -1
  823. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  824. package/dist/types/components/select/select.d.ts +41 -13
  825. package/dist/types/components/select-modal/select-modal.d.ts +1 -0
  826. package/dist/types/components/select-option/select-option.d.ts +4 -0
  827. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  828. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  829. package/dist/types/components/spinner/spinner.d.ts +15 -0
  830. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  831. package/dist/types/components/tab/tab.d.ts +4 -0
  832. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  833. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  834. package/dist/types/components/tabs/tabs.d.ts +3 -0
  835. package/dist/types/components/text/text.d.ts +2 -1
  836. package/dist/types/components/textarea/textarea.d.ts +17 -4
  837. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  838. package/dist/types/components/title/title.d.ts +4 -0
  839. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  840. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  841. package/dist/types/components/toast/toast.d.ts +19 -2
  842. package/dist/types/components/toggle/toggle.d.ts +15 -1
  843. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  844. package/dist/types/components.d.ts +1593 -196
  845. package/dist/types/global/ionic-global.d.ts +27 -2
  846. package/dist/types/interface.d.ts +3 -0
  847. package/dist/types/utils/config.d.ts +106 -2
  848. package/dist/types/utils/focus-visible.d.ts +13 -0
  849. package/dist/types/utils/helpers.d.ts +11 -0
  850. package/dist/types/utils/overlays-interface.d.ts +31 -1
  851. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  852. package/hydrate/index.js +2876 -1005
  853. package/hydrate/index.mjs +2876 -1005
  854. package/package.json +8 -4
  855. package/components/hardware-back-button.js +0 -115
  856. package/components/index9.js +0 -7
  857. package/dist/cjs/hardware-back-button-VCK4V3mG.js +0 -121
  858. package/dist/cjs/index-DkNv4J_i.js +0 -10
  859. package/dist/cjs/ionic-global-HMVqOFGO.js +0 -151
  860. package/dist/esm/hardware-back-button-CPLxO-Ev.js +0 -115
  861. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  862. package/dist/esm/ionic-global-CDrldh-5.js +0 -146
  863. package/dist/ionic/p-020af078.entry.js +0 -4
  864. package/dist/ionic/p-074839fc.entry.js +0 -4
  865. package/dist/ionic/p-0b80d700.entry.js +0 -4
  866. package/dist/ionic/p-0dfa5a37.entry.js +0 -4
  867. package/dist/ionic/p-11518b31.entry.js +0 -4
  868. package/dist/ionic/p-15193d01.entry.js +0 -4
  869. package/dist/ionic/p-1647c46c.entry.js +0 -4
  870. package/dist/ionic/p-2a939845.entry.js +0 -4
  871. package/dist/ionic/p-316c0420.entry.js +0 -4
  872. package/dist/ionic/p-31f7095f.entry.js +0 -4
  873. package/dist/ionic/p-370e4237.entry.js +0 -4
  874. package/dist/ionic/p-3a6caca9.entry.js +0 -4
  875. package/dist/ionic/p-40c261a3.entry.js +0 -4
  876. package/dist/ionic/p-43ed1ef5.entry.js +0 -4
  877. package/dist/ionic/p-46d74291.entry.js +0 -4
  878. package/dist/ionic/p-49d06882.entry.js +0 -4
  879. package/dist/ionic/p-4c85d268.entry.js +0 -4
  880. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  881. package/dist/ionic/p-510d86e1.entry.js +0 -4
  882. package/dist/ionic/p-51a60e0f.entry.js +0 -4
  883. package/dist/ionic/p-582824c5.entry.js +0 -4
  884. package/dist/ionic/p-6241ce47.entry.js +0 -4
  885. package/dist/ionic/p-639dd543.entry.js +0 -4
  886. package/dist/ionic/p-6444c606.entry.js +0 -4
  887. package/dist/ionic/p-675b1a31.entry.js +0 -4
  888. package/dist/ionic/p-6d070558.entry.js +0 -4
  889. package/dist/ionic/p-7268efa5.entry.js +0 -4
  890. package/dist/ionic/p-72c38b88.entry.js +0 -4
  891. package/dist/ionic/p-7380261c.entry.js +0 -4
  892. package/dist/ionic/p-75b02d2b.entry.js +0 -4
  893. package/dist/ionic/p-79bd78f9.entry.js +0 -4
  894. package/dist/ionic/p-7da39a4d.entry.js +0 -4
  895. package/dist/ionic/p-83be404e.entry.js +0 -4
  896. package/dist/ionic/p-86f53961.entry.js +0 -4
  897. package/dist/ionic/p-94de5cfa.entry.js +0 -4
  898. package/dist/ionic/p-9575b654.entry.js +0 -4
  899. package/dist/ionic/p-98fc09eb.entry.js +0 -4
  900. package/dist/ionic/p-9eeaBrnk.js +0 -4
  901. package/dist/ionic/p-B0q1YL7N.js +0 -4
  902. package/dist/ionic/p-BFvmZNyx.js +0 -4
  903. package/dist/ionic/p-BKc55Xev.js +0 -4
  904. package/dist/ionic/p-BOVrCkpJ.js +0 -4
  905. package/dist/ionic/p-BYEqWnSg.js +0 -4
  906. package/dist/ionic/p-BmVRXR1y.js +0 -4
  907. package/dist/ionic/p-Bmgaetn_.js +0 -4
  908. package/dist/ionic/p-C7hRNDhM.js +0 -4
  909. package/dist/ionic/p-CIGNaXM1.js +0 -4
  910. package/dist/ionic/p-CTfR9YZG.js +0 -4
  911. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  912. package/dist/ionic/p-D-eFFUkA.js +0 -4
  913. package/dist/ionic/p-D87hU-Ly.js +0 -4
  914. package/dist/ionic/p-DCv9sLH2.js +0 -4
  915. package/dist/ionic/p-DDb5r57F.js +0 -4
  916. package/dist/ionic/p-DNcfiJwE.js +0 -4
  917. package/dist/ionic/p-DZRJwG4S.js +0 -4
  918. package/dist/ionic/p-QHYY4sjU.js +0 -4
  919. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  920. package/dist/ionic/p-a127bee2.entry.js +0 -4
  921. package/dist/ionic/p-ac4eb91d.entry.js +0 -4
  922. package/dist/ionic/p-b0a7585c.entry.js +0 -4
  923. package/dist/ionic/p-b57c6d3e.entry.js +0 -4
  924. package/dist/ionic/p-c19f63d0.entry.js +0 -4
  925. package/dist/ionic/p-cb93126d.entry.js +0 -4
  926. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  927. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  928. package/dist/ionic/p-d126e8d3.entry.js +0 -4
  929. package/dist/ionic/p-d1f54e28.entry.js +0 -4
  930. package/dist/ionic/p-d3014190.entry.js +0 -4
  931. package/dist/ionic/p-da7d04cc.entry.js +0 -4
  932. package/dist/ionic/p-dbbe606a.entry.js +0 -4
  933. package/dist/ionic/p-e16b69e1.entry.js +0 -4
  934. package/dist/ionic/p-f8f22cc0.entry.js +0 -4
  935. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -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
  * Scroll by a specified X/Y distance in the component.
873
1076
  * @param x The amount to scroll by on the horizontal axis.
@@ -907,6 +1110,10 @@ export namespace Components {
907
1110
  * @default true
908
1111
  */
909
1112
  "scrollY": boolean;
1113
+ /**
1114
+ * The theme determines the visual appearance of the component.
1115
+ */
1116
+ "theme"?: "ios" | "md" | "ionic";
910
1117
  }
911
1118
  interface IonDatetime {
912
1119
  /**
@@ -991,7 +1198,7 @@ export namespace Components {
991
1198
  */
992
1199
  "minuteValues"?: number[] | number | string;
993
1200
  /**
994
- * The mode determines which platform styles to use.
1201
+ * The mode determines the platform behaviors of the component.
995
1202
  */
996
1203
  "mode"?: "ios" | "md";
997
1204
  /**
@@ -1058,6 +1265,10 @@ export namespace Components {
1058
1265
  * @default 'fixed'
1059
1266
  */
1060
1267
  "size": 'cover' | 'fixed';
1268
+ /**
1269
+ * The theme determines the visual appearance of the component.
1270
+ */
1271
+ "theme"?: "ios" | "md" | "ionic";
1061
1272
  /**
1062
1273
  * 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.
1063
1274
  */
@@ -1087,9 +1298,25 @@ export namespace Components {
1087
1298
  */
1088
1299
  "disabled": boolean;
1089
1300
  /**
1090
- * The mode determines which platform styles to use.
1301
+ * The mode determines the platform behaviors of the component.
1091
1302
  */
1092
1303
  "mode"?: "ios" | "md";
1304
+ /**
1305
+ * The theme determines the visual appearance of the component.
1306
+ */
1307
+ "theme"?: "ios" | "md" | "ionic";
1308
+ }
1309
+ interface IonDivider {
1310
+ /**
1311
+ * If `true`, the divider will have horizontal margins By default, it's `false`
1312
+ * @default false
1313
+ */
1314
+ "inset": boolean;
1315
+ /**
1316
+ * 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"`.
1317
+ * @default 'medium'
1318
+ */
1319
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
1093
1320
  }
1094
1321
  interface IonFab {
1095
1322
  /**
@@ -1110,6 +1337,14 @@ export namespace Components {
1110
1337
  * Where to align the fab horizontally in the viewport.
1111
1338
  */
1112
1339
  "horizontal"?: 'start' | 'end' | 'center';
1340
+ /**
1341
+ * The mode determines the platform behaviors of the component.
1342
+ */
1343
+ "mode"?: "ios" | "md";
1344
+ /**
1345
+ * The theme determines the visual appearance of the component.
1346
+ */
1347
+ "theme"?: "ios" | "md" | "ionic";
1113
1348
  /**
1114
1349
  * Opens/Closes the FAB list container.
1115
1350
  */
@@ -1127,9 +1362,8 @@ export namespace Components {
1127
1362
  "activated": boolean;
1128
1363
  /**
1129
1364
  * 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.
1130
- * @default close
1131
1365
  */
1132
- "closeIcon": string;
1366
+ "closeIcon"?: string;
1133
1367
  /**
1134
1368
  * 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).
1135
1369
  */
@@ -1148,7 +1382,7 @@ export namespace Components {
1148
1382
  */
1149
1383
  "href": string | undefined;
1150
1384
  /**
1151
- * The mode determines which platform styles to use.
1385
+ * The mode determines the platform behaviors of the component.
1152
1386
  */
1153
1387
  "mode"?: "ios" | "md";
1154
1388
  /**
@@ -1178,7 +1412,11 @@ export namespace Components {
1178
1412
  */
1179
1413
  "target": string | undefined;
1180
1414
  /**
1181
- * 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).
1415
+ * The theme determines the visual appearance of the component.
1416
+ */
1417
+ "theme"?: "ios" | "md" | "ionic";
1418
+ /**
1419
+ * 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).
1182
1420
  * @default false
1183
1421
  */
1184
1422
  "translucent": boolean;
@@ -1194,23 +1432,35 @@ export namespace Components {
1194
1432
  * @default false
1195
1433
  */
1196
1434
  "activated": boolean;
1435
+ /**
1436
+ * The mode determines the platform behaviors of the component.
1437
+ */
1438
+ "mode"?: "ios" | "md";
1197
1439
  /**
1198
1440
  * The side the fab list will show on relative to the main fab button.
1199
1441
  * @default 'bottom'
1200
1442
  */
1201
1443
  "side": 'start' | 'end' | 'top' | 'bottom';
1444
+ /**
1445
+ * The theme determines the visual appearance of the component.
1446
+ */
1447
+ "theme"?: "ios" | "md" | "ionic";
1202
1448
  }
1203
1449
  interface IonFooter {
1204
1450
  /**
1205
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
1451
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
1206
1452
  */
1207
1453
  "collapse"?: 'fade';
1208
1454
  /**
1209
- * The mode determines which platform styles to use.
1455
+ * The mode determines the platform behaviors of the component.
1210
1456
  */
1211
1457
  "mode"?: "ios" | "md";
1212
1458
  /**
1213
- * 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.
1459
+ * The theme determines the visual appearance of the component.
1460
+ */
1461
+ "theme"?: "ios" | "md" | "ionic";
1462
+ /**
1463
+ * 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.
1214
1464
  * @default false
1215
1465
  */
1216
1466
  "translucent": boolean;
@@ -1221,18 +1471,35 @@ export namespace Components {
1221
1471
  * @default false
1222
1472
  */
1223
1473
  "fixed": boolean;
1474
+ /**
1475
+ * The mode determines the platform behaviors of the component.
1476
+ */
1477
+ "mode"?: "ios" | "md";
1478
+ /**
1479
+ * The theme determines the visual appearance of the component.
1480
+ */
1481
+ "theme"?: "ios" | "md" | "ionic";
1224
1482
  }
1225
1483
  interface IonHeader {
1226
1484
  /**
1227
- * 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)
1485
+ * 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)
1228
1486
  */
1229
1487
  "collapse"?: 'condense' | 'fade';
1230
1488
  /**
1231
- * The mode determines which platform styles to use.
1489
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
1490
+ * @default false
1491
+ */
1492
+ "divider": boolean;
1493
+ /**
1494
+ * The mode determines the platform behaviors of the component.
1232
1495
  */
1233
1496
  "mode"?: "ios" | "md";
1234
1497
  /**
1235
- * 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.
1498
+ * The theme determines the visual appearance of the component.
1499
+ */
1500
+ "theme"?: "ios" | "md" | "ionic";
1501
+ /**
1502
+ * 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.
1236
1503
  * @default false
1237
1504
  */
1238
1505
  "translucent": boolean;
@@ -1242,10 +1509,18 @@ export namespace Components {
1242
1509
  * 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.
1243
1510
  */
1244
1511
  "alt"?: string;
1512
+ /**
1513
+ * The mode determines the platform behaviors of the component.
1514
+ */
1515
+ "mode"?: "ios" | "md";
1245
1516
  /**
1246
1517
  * The image URL. This attribute is mandatory for the `<img>` element.
1247
1518
  */
1248
1519
  "src"?: string;
1520
+ /**
1521
+ * The theme determines the visual appearance of the component.
1522
+ */
1523
+ "theme"?: "ios" | "md" | "ionic";
1249
1524
  }
1250
1525
  interface IonInfiniteScroll {
1251
1526
  /**
@@ -1257,11 +1532,24 @@ export namespace Components {
1257
1532
  * @default false
1258
1533
  */
1259
1534
  "disabled": boolean;
1535
+ /**
1536
+ * The mode determines the platform behaviors of the component.
1537
+ */
1538
+ "mode"?: "ios" | "md";
1260
1539
  /**
1261
1540
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
1262
1541
  * @default 'bottom'
1263
1542
  */
1264
1543
  "position": 'top' | 'bottom';
1544
+ /**
1545
+ * 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.
1546
+ * @default false
1547
+ */
1548
+ "preserveRerenderScrollPosition": boolean;
1549
+ /**
1550
+ * The theme determines the visual appearance of the component.
1551
+ */
1552
+ "theme"?: "ios" | "md" | "ionic";
1265
1553
  /**
1266
1554
  * 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.
1267
1555
  * @default '15%'
@@ -1277,6 +1565,14 @@ export namespace Components {
1277
1565
  * 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.
1278
1566
  */
1279
1567
  "loadingText"?: string | IonicSafeString;
1568
+ /**
1569
+ * The mode determines the platform behaviors of the component.
1570
+ */
1571
+ "mode"?: "ios" | "md";
1572
+ /**
1573
+ * The theme determines the visual appearance of the component.
1574
+ */
1575
+ "theme"?: "ios" | "md" | "ionic";
1280
1576
  }
1281
1577
  interface IonInput {
1282
1578
  /**
@@ -1343,7 +1639,7 @@ export namespace Components {
1343
1639
  */
1344
1640
  "errorText"?: string;
1345
1641
  /**
1346
- * 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.
1642
+ * 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"`.
1347
1643
  */
1348
1644
  "fill"?: 'outline' | 'solid';
1349
1645
  /**
@@ -1363,10 +1659,9 @@ export namespace Components {
1363
1659
  */
1364
1660
  "label"?: string;
1365
1661
  /**
1366
- * 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 ("...").
1367
- * @default 'start'
1662
+ * 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.
1368
1663
  */
1369
- "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1664
+ "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1370
1665
  /**
1371
1666
  * The maximum value, which must not be less than its minimum (min attribute) value.
1372
1667
  */
@@ -1384,7 +1679,7 @@ export namespace Components {
1384
1679
  */
1385
1680
  "minlength"?: number;
1386
1681
  /**
1387
- * The mode determines which platform styles to use.
1682
+ * The mode determines the platform behaviors of the component.
1388
1683
  */
1389
1684
  "mode"?: "ios" | "md";
1390
1685
  /**
@@ -1419,9 +1714,14 @@ export namespace Components {
1419
1714
  */
1420
1715
  "setFocus": () => Promise<void>;
1421
1716
  /**
1422
- * The shape of the input. If "round" it will have an increased border radius.
1717
+ * 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"`.
1718
+ */
1719
+ "shape"?: 'soft' | 'round' | 'rectangular';
1720
+ /**
1721
+ * 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.
1722
+ * @default 'medium'
1423
1723
  */
1424
- "shape"?: 'round';
1724
+ "size"?: 'medium' | 'large' | 'xlarge';
1425
1725
  /**
1426
1726
  * If `true`, the element will have its spelling and grammar checked.
1427
1727
  * @default false
@@ -1431,6 +1731,10 @@ export namespace Components {
1431
1731
  * 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.
1432
1732
  */
1433
1733
  "step"?: string;
1734
+ /**
1735
+ * The theme determines the visual appearance of the component.
1736
+ */
1737
+ "theme"?: "ios" | "md" | "ionic";
1434
1738
  /**
1435
1739
  * The type of control to display. The default type is text.
1436
1740
  * @default 'text'
@@ -1543,14 +1847,13 @@ export namespace Components {
1543
1847
  */
1544
1848
  "color"?: Color;
1545
1849
  /**
1546
- * 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.
1850
+ * 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.
1547
1851
  */
1548
1852
  "detail"?: boolean;
1549
1853
  /**
1550
1854
  * The icon to use when `detail` is set to `true`.
1551
- * @default chevronForward
1552
1855
  */
1553
- "detailIcon": string;
1856
+ "detailIcon"?: string;
1554
1857
  /**
1555
1858
  * If `true`, the user cannot interact with the item.
1556
1859
  * @default false
@@ -1569,7 +1872,7 @@ export namespace Components {
1569
1872
  */
1570
1873
  "lines"?: 'full' | 'inset' | 'none';
1571
1874
  /**
1572
- * The mode determines which platform styles to use.
1875
+ * The mode determines the platform behaviors of the component.
1573
1876
  */
1574
1877
  "mode"?: "ios" | "md";
1575
1878
  /**
@@ -1589,6 +1892,10 @@ export namespace Components {
1589
1892
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1590
1893
  */
1591
1894
  "target": string | undefined;
1895
+ /**
1896
+ * The theme determines the visual appearance of the component.
1897
+ */
1898
+ "theme"?: "ios" | "md" | "ionic";
1592
1899
  /**
1593
1900
  * The type of the button. Only used when an `onclick` or `button` property is present.
1594
1901
  * @default 'button'
@@ -1601,7 +1908,7 @@ export namespace Components {
1601
1908
  */
1602
1909
  "color"?: Color;
1603
1910
  /**
1604
- * The mode determines which platform styles to use.
1911
+ * The mode determines the platform behaviors of the component.
1605
1912
  */
1606
1913
  "mode"?: "ios" | "md";
1607
1914
  /**
@@ -1609,8 +1916,20 @@ export namespace Components {
1609
1916
  * @default false
1610
1917
  */
1611
1918
  "sticky": boolean;
1919
+ /**
1920
+ * The theme determines the visual appearance of the component.
1921
+ */
1922
+ "theme"?: "ios" | "md" | "ionic";
1612
1923
  }
1613
1924
  interface IonItemGroup {
1925
+ /**
1926
+ * The mode determines the platform behaviors of the component.
1927
+ */
1928
+ "mode"?: "ios" | "md";
1929
+ /**
1930
+ * The theme determines the visual appearance of the component.
1931
+ */
1932
+ "theme"?: "ios" | "md" | "ionic";
1614
1933
  }
1615
1934
  interface IonItemOption {
1616
1935
  /**
@@ -1636,17 +1955,30 @@ export namespace Components {
1636
1955
  */
1637
1956
  "href": string | undefined;
1638
1957
  /**
1639
- * The mode determines which platform styles to use.
1958
+ * 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.
1959
+ * @default 'subtle'
1960
+ */
1961
+ "hue"?: 'bold' | 'subtle';
1962
+ /**
1963
+ * The mode determines the platform behaviors of the component.
1640
1964
  */
1641
1965
  "mode"?: "ios" | "md";
1642
1966
  /**
1643
1967
  * 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).
1644
1968
  */
1645
1969
  "rel": string | undefined;
1970
+ /**
1971
+ * 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.
1972
+ */
1973
+ "shape"?: 'soft' | 'round' | 'rectangular';
1646
1974
  /**
1647
1975
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1648
1976
  */
1649
1977
  "target": string | undefined;
1978
+ /**
1979
+ * The theme determines the visual appearance of the component.
1980
+ */
1981
+ "theme"?: "ios" | "md" | "ionic";
1650
1982
  /**
1651
1983
  * The type of the button.
1652
1984
  * @default 'button'
@@ -1655,11 +1987,19 @@ export namespace Components {
1655
1987
  }
1656
1988
  interface IonItemOptions {
1657
1989
  "fireSwipeEvent": () => Promise<void>;
1990
+ /**
1991
+ * The mode determines the platform behaviors of the component.
1992
+ */
1993
+ "mode"?: "ios" | "md";
1658
1994
  /**
1659
1995
  * 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.
1660
1996
  * @default 'end'
1661
1997
  */
1662
1998
  "side": Side;
1999
+ /**
2000
+ * The theme determines the visual appearance of the component.
2001
+ */
2002
+ "theme"?: "ios" | "md" | "ionic";
1663
2003
  }
1664
2004
  interface IonItemSliding {
1665
2005
  /**
@@ -1683,11 +2023,19 @@ export namespace Components {
1683
2023
  * 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.
1684
2024
  */
1685
2025
  "getSlidingRatio": () => Promise<number>;
2026
+ /**
2027
+ * The mode determines the platform behaviors of the component.
2028
+ */
2029
+ "mode"?: "ios" | "md";
1686
2030
  /**
1687
2031
  * Open the sliding item.
1688
2032
  * @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.
1689
2033
  */
1690
2034
  "open": (side: Side | undefined) => Promise<void>;
2035
+ /**
2036
+ * The theme determines the visual appearance of the component.
2037
+ */
2038
+ "theme"?: "ios" | "md" | "ionic";
1691
2039
  }
1692
2040
  interface IonLabel {
1693
2041
  /**
@@ -1695,13 +2043,17 @@ export namespace Components {
1695
2043
  */
1696
2044
  "color"?: Color;
1697
2045
  /**
1698
- * The mode determines which platform styles to use.
2046
+ * The mode determines the platform behaviors of the component.
1699
2047
  */
1700
2048
  "mode"?: "ios" | "md";
1701
2049
  /**
1702
2050
  * The position determines where and how the label behaves inside an item.
1703
2051
  */
1704
2052
  "position"?: 'fixed' | 'stacked' | 'floating';
2053
+ /**
2054
+ * The theme determines the visual appearance of the component.
2055
+ */
2056
+ "theme"?: "ios" | "md" | "ionic";
1705
2057
  }
1706
2058
  interface IonList {
1707
2059
  /**
@@ -1718,9 +2070,17 @@ export namespace Components {
1718
2070
  */
1719
2071
  "lines"?: 'full' | 'inset' | 'none';
1720
2072
  /**
1721
- * The mode determines which platform styles to use.
2073
+ * The mode determines the platform behaviors of the component.
1722
2074
  */
1723
2075
  "mode"?: "ios" | "md";
2076
+ /**
2077
+ * 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.
2078
+ */
2079
+ "shape"?: 'soft' | 'round' | 'rectangular';
2080
+ /**
2081
+ * The theme determines the visual appearance of the component.
2082
+ */
2083
+ "theme"?: "ios" | "md" | "ionic";
1724
2084
  }
1725
2085
  interface IonListHeader {
1726
2086
  /**
@@ -1732,9 +2092,13 @@ export namespace Components {
1732
2092
  */
1733
2093
  "lines"?: 'full' | 'inset' | 'none';
1734
2094
  /**
1735
- * The mode determines which platform styles to use.
2095
+ * The mode determines the platform behaviors of the component.
1736
2096
  */
1737
2097
  "mode"?: "ios" | "md";
2098
+ /**
2099
+ * The theme determines the visual appearance of the component.
2100
+ */
2101
+ "theme"?: "ios" | "md" | "ionic";
1738
2102
  }
1739
2103
  interface IonLoading {
1740
2104
  /**
@@ -1794,7 +2158,7 @@ export namespace Components {
1794
2158
  */
1795
2159
  "message"?: string | IonicSafeString;
1796
2160
  /**
1797
- * The mode determines which platform styles to use.
2161
+ * The mode determines the platform behaviors of the component.
1798
2162
  */
1799
2163
  "mode"?: "ios" | "md";
1800
2164
  /**
@@ -1820,7 +2184,11 @@ export namespace Components {
1820
2184
  */
1821
2185
  "spinner"?: SpinnerTypes | null;
1822
2186
  /**
1823
- * 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).
2187
+ * The theme determines the visual appearance of the component.
2188
+ */
2189
+ "theme"?: "ios" | "md" | "ionic";
2190
+ /**
2191
+ * 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).
1824
2192
  * @default false
1825
2193
  */
1826
2194
  "translucent": boolean;
@@ -1862,6 +2230,10 @@ export namespace Components {
1862
2230
  * An id for the menu.
1863
2231
  */
1864
2232
  "menuId"?: string;
2233
+ /**
2234
+ * The mode determines the platform behaviors of the component.
2235
+ */
2236
+ "mode"?: "ios" | "md";
1865
2237
  /**
1866
2238
  * Opens the menu. If the menu is already open or it can't be opened, it returns `false`.
1867
2239
  * @param animated If `true`, the menu will animate when opening. If `false`, the menu will open instantly without animation. Defaults to `true`.
@@ -1884,6 +2256,10 @@ export namespace Components {
1884
2256
  * @default true
1885
2257
  */
1886
2258
  "swipeGesture": boolean;
2259
+ /**
2260
+ * The theme determines the visual appearance of the component.
2261
+ */
2262
+ "theme"?: "ios" | "md" | "ionic";
1887
2263
  /**
1888
2264
  * 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`.
1889
2265
  * @param animated If `true`, the menu will animate when opening/closing. If `false`, the menu will open/close instantly without animation. Defaults to `true`.
@@ -1914,9 +2290,13 @@ export namespace Components {
1914
2290
  */
1915
2291
  "menu"?: string;
1916
2292
  /**
1917
- * The mode determines which platform styles to use.
2293
+ * The mode determines the platform behaviors of the component.
1918
2294
  */
1919
2295
  "mode"?: "ios" | "md";
2296
+ /**
2297
+ * The theme determines the visual appearance of the component.
2298
+ */
2299
+ "theme"?: "ios" | "md" | "ionic";
1920
2300
  /**
1921
2301
  * The type of the button.
1922
2302
  * @default 'button'
@@ -1933,6 +2313,14 @@ export namespace Components {
1933
2313
  * 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.
1934
2314
  */
1935
2315
  "menu"?: string;
2316
+ /**
2317
+ * The mode determines the platform behaviors of the component.
2318
+ */
2319
+ "mode"?: "ios" | "md";
2320
+ /**
2321
+ * The theme determines the visual appearance of the component.
2322
+ */
2323
+ "theme"?: "ios" | "md" | "ionic";
1936
2324
  }
1937
2325
  interface IonModal {
1938
2326
  /**
@@ -2037,7 +2425,7 @@ export namespace Components {
2037
2425
  */
2038
2426
  "leaveAnimation"?: AnimationBuilder;
2039
2427
  /**
2040
- * The mode determines which platform styles to use.
2428
+ * The mode determines the platform behaviors of the component.
2041
2429
  */
2042
2430
  "mode"?: "ios" | "md";
2043
2431
  /**
@@ -2062,11 +2450,19 @@ export namespace Components {
2062
2450
  * @param breakpoint The breakpoint value to move the sheet modal to. Must be a value defined in your `breakpoints` array.
2063
2451
  */
2064
2452
  "setCurrentBreakpoint": (breakpoint: number) => Promise<void>;
2453
+ /**
2454
+ * 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.
2455
+ */
2456
+ "shape"?: 'soft' | 'round' | 'rectangular';
2065
2457
  /**
2066
2458
  * 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.
2067
2459
  * @default true
2068
2460
  */
2069
2461
  "showBackdrop": boolean;
2462
+ /**
2463
+ * The theme determines the visual appearance of the component.
2464
+ */
2465
+ "theme"?: "ios" | "md" | "ionic";
2070
2466
  /**
2071
2467
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
2072
2468
  */
@@ -2079,7 +2475,7 @@ export namespace Components {
2079
2475
  */
2080
2476
  "animated": boolean;
2081
2477
  /**
2082
- * 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.
2478
+ * 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.
2083
2479
  */
2084
2480
  "animation"?: AnimationBuilder;
2085
2481
  /**
@@ -2127,6 +2523,10 @@ export namespace Components {
2127
2523
  * @param done The transition complete function.
2128
2524
  */
2129
2525
  "insertPages": (insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean>;
2526
+ /**
2527
+ * The mode determines the platform behaviors of the component.
2528
+ */
2529
+ "mode"?: "ios" | "md";
2130
2530
  /**
2131
2531
  * Pop a component off of the navigation stack. Navigates back from the current component.
2132
2532
  * @param opts The navigation options.
@@ -2198,6 +2598,10 @@ export namespace Components {
2198
2598
  * If the nav component should allow for swipe-to-go-back.
2199
2599
  */
2200
2600
  "swipeGesture"?: boolean;
2601
+ /**
2602
+ * The theme determines the visual appearance of the component.
2603
+ */
2604
+ "theme"?: "ios" | "md" | "ionic";
2201
2605
  }
2202
2606
  interface IonNavLink {
2203
2607
  /**
@@ -2208,6 +2612,10 @@ export namespace Components {
2208
2612
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
2209
2613
  */
2210
2614
  "componentProps"?: ComponentProps;
2615
+ /**
2616
+ * The mode determines the platform behaviors of the component.
2617
+ */
2618
+ "mode"?: "ios" | "md";
2211
2619
  /**
2212
2620
  * The transition animation when navigating to another page.
2213
2621
  */
@@ -2217,6 +2625,10 @@ export namespace Components {
2217
2625
  * @default 'forward'
2218
2626
  */
2219
2627
  "routerDirection": RouterDirection;
2628
+ /**
2629
+ * The theme determines the visual appearance of the component.
2630
+ */
2631
+ "theme"?: "ios" | "md" | "ionic";
2220
2632
  }
2221
2633
  interface IonNote {
2222
2634
  /**
@@ -2224,16 +2636,24 @@ export namespace Components {
2224
2636
  */
2225
2637
  "color"?: Color;
2226
2638
  /**
2227
- * The mode determines which platform styles to use.
2639
+ * The mode determines the platform behaviors of the component.
2228
2640
  */
2229
2641
  "mode"?: "ios" | "md";
2642
+ /**
2643
+ * The theme determines the visual appearance of the component.
2644
+ */
2645
+ "theme"?: "ios" | "md" | "ionic";
2230
2646
  }
2231
2647
  interface IonPicker {
2232
2648
  "exitInputMode": () => Promise<void>;
2233
2649
  /**
2234
- * The mode determines which platform styles to use.
2650
+ * The mode determines the platform behaviors of the component.
2235
2651
  */
2236
2652
  "mode"?: "ios" | "md";
2653
+ /**
2654
+ * The theme determines the visual appearance of the component.
2655
+ */
2656
+ "theme"?: "ios" | "md" | "ionic";
2237
2657
  }
2238
2658
  interface IonPickerColumn {
2239
2659
  /**
@@ -2247,7 +2667,7 @@ export namespace Components {
2247
2667
  */
2248
2668
  "disabled": boolean;
2249
2669
  /**
2250
- * The mode determines which platform styles to use.
2670
+ * The mode determines the platform behaviors of the component.
2251
2671
  */
2252
2672
  "mode"?: "ios" | "md";
2253
2673
  /**
@@ -2264,6 +2684,10 @@ export namespace Components {
2264
2684
  * 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.
2265
2685
  */
2266
2686
  "setValue": (value: PickerColumnValue) => Promise<void>;
2687
+ /**
2688
+ * The theme determines the visual appearance of the component.
2689
+ */
2690
+ "theme"?: "ios" | "md" | "ionic";
2267
2691
  /**
2268
2692
  * The selected option in the picker.
2269
2693
  */
@@ -2280,6 +2704,14 @@ export namespace Components {
2280
2704
  * @default false
2281
2705
  */
2282
2706
  "disabled": boolean;
2707
+ /**
2708
+ * The mode determines the platform behaviors of the component.
2709
+ */
2710
+ "mode"?: "ios" | "md";
2711
+ /**
2712
+ * The theme determines the visual appearance of the component.
2713
+ */
2714
+ "theme"?: "ios" | "md" | "ionic";
2283
2715
  /**
2284
2716
  * The text value of the option.
2285
2717
  */
@@ -2354,7 +2786,7 @@ export namespace Components {
2354
2786
  */
2355
2787
  "leaveAnimation"?: AnimationBuilder;
2356
2788
  /**
2357
- * The mode determines which platform styles to use.
2789
+ * The mode determines the platform behaviors of the component.
2358
2790
  */
2359
2791
  "mode"?: "ios" | "md";
2360
2792
  /**
@@ -2375,6 +2807,10 @@ export namespace Components {
2375
2807
  * @default true
2376
2808
  */
2377
2809
  "showBackdrop": boolean;
2810
+ /**
2811
+ * The theme determines the visual appearance of the component.
2812
+ */
2813
+ "theme"?: "ios" | "md" | "ionic";
2378
2814
  /**
2379
2815
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
2380
2816
  */
@@ -2388,7 +2824,7 @@ export namespace Components {
2388
2824
  }
2389
2825
  interface IonPopover {
2390
2826
  /**
2391
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
2827
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
2392
2828
  */
2393
2829
  "alignment"?: PositionAlign;
2394
2830
  /**
@@ -2397,7 +2833,7 @@ export namespace Components {
2397
2833
  */
2398
2834
  "animated": boolean;
2399
2835
  /**
2400
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
2836
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
2401
2837
  * @default true
2402
2838
  */
2403
2839
  "arrow": boolean;
@@ -2477,7 +2913,7 @@ export namespace Components {
2477
2913
  */
2478
2914
  "leaveAnimation"?: AnimationBuilder;
2479
2915
  /**
2480
- * The mode determines which platform styles to use.
2916
+ * The mode determines the platform behaviors of the component.
2481
2917
  */
2482
2918
  "mode"?: "ios" | "md";
2483
2919
  /**
@@ -2519,7 +2955,11 @@ export namespace Components {
2519
2955
  */
2520
2956
  "size": PopoverSize;
2521
2957
  /**
2522
- * 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).
2958
+ * The theme determines the visual appearance of the component.
2959
+ */
2960
+ "theme"?: "ios" | "md" | "ionic";
2961
+ /**
2962
+ * 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).
2523
2963
  * @default false
2524
2964
  */
2525
2965
  "translucent": boolean;
@@ -2544,7 +2984,7 @@ export namespace Components {
2544
2984
  */
2545
2985
  "color"?: Color;
2546
2986
  /**
2547
- * The mode determines which platform styles to use.
2987
+ * The mode determines the platform behaviors of the component.
2548
2988
  */
2549
2989
  "mode"?: "ios" | "md";
2550
2990
  /**
@@ -2552,6 +2992,14 @@ export namespace Components {
2552
2992
  * @default false
2553
2993
  */
2554
2994
  "reversed": boolean;
2995
+ /**
2996
+ * 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.
2997
+ */
2998
+ "shape"?: 'round' | 'rectangular';
2999
+ /**
3000
+ * The theme determines the visual appearance of the component.
3001
+ */
3002
+ "theme"?: "ios" | "md" | "ionic";
2555
3003
  /**
2556
3004
  * 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).
2557
3005
  * @default 'determinate'
@@ -2587,7 +3035,7 @@ export namespace Components {
2587
3035
  */
2588
3036
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
2589
3037
  /**
2590
- * The mode determines which platform styles to use.
3038
+ * The mode determines the platform behaviors of the component.
2591
3039
  */
2592
3040
  "mode"?: "ios" | "md";
2593
3041
  /**
@@ -2597,6 +3045,10 @@ export namespace Components {
2597
3045
  "name": string;
2598
3046
  "setButtonTabindex": (value: number) => Promise<void>;
2599
3047
  "setFocus": (ev?: globalThis.Event) => Promise<void>;
3048
+ /**
3049
+ * The theme determines the visual appearance of the component.
3050
+ */
3051
+ "theme"?: "ios" | "md" | "ionic";
2600
3052
  /**
2601
3053
  * the value of the radio.
2602
3054
  */
@@ -2620,12 +3072,20 @@ export namespace Components {
2620
3072
  * The helper text to display at the top of the radio group.
2621
3073
  */
2622
3074
  "helperText"?: string;
3075
+ /**
3076
+ * The mode determines the platform behaviors of the component.
3077
+ */
3078
+ "mode"?: "ios" | "md";
2623
3079
  /**
2624
3080
  * The name of the control, which is submitted with the form data.
2625
3081
  * @default this.inputId
2626
3082
  */
2627
3083
  "name": string;
2628
3084
  "setFocus": () => Promise<void>;
3085
+ /**
3086
+ * The theme determines the visual appearance of the component.
3087
+ */
3088
+ "theme"?: "ios" | "md" | "ionic";
2629
3089
  /**
2630
3090
  * the value of the radio group.
2631
3091
  */
@@ -2674,7 +3134,7 @@ export namespace Components {
2674
3134
  */
2675
3135
  "min": number;
2676
3136
  /**
2677
- * The mode determines which platform styles to use.
3137
+ * The mode determines the platform behaviors of the component.
2678
3138
  */
2679
3139
  "mode"?: "ios" | "md";
2680
3140
  /**
@@ -2702,6 +3162,10 @@ export namespace Components {
2702
3162
  * @default 1
2703
3163
  */
2704
3164
  "step": number;
3165
+ /**
3166
+ * The theme determines the visual appearance of the component.
3167
+ */
3168
+ "theme"?: "ios" | "md" | "ionic";
2705
3169
  /**
2706
3170
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
2707
3171
  * @default true
@@ -2737,7 +3201,7 @@ export namespace Components {
2737
3201
  */
2738
3202
  "getProgress": () => Promise<number>;
2739
3203
  /**
2740
- * The mode determines which platform styles to use.
3204
+ * The mode determines the platform behaviors of the component.
2741
3205
  */
2742
3206
  "mode"?: "ios" | "md";
2743
3207
  /**
@@ -2760,8 +3224,16 @@ export namespace Components {
2760
3224
  * @default '280ms'
2761
3225
  */
2762
3226
  "snapbackDuration": string;
3227
+ /**
3228
+ * The theme determines the visual appearance of the component.
3229
+ */
3230
+ "theme"?: "ios" | "md" | "ionic";
2763
3231
  }
2764
3232
  interface IonRefresherContent {
3233
+ /**
3234
+ * The mode determines the platform behaviors of the component.
3235
+ */
3236
+ "mode"?: "ios" | "md";
2765
3237
  /**
2766
3238
  * 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.
2767
3239
  */
@@ -2778,8 +3250,20 @@ export namespace Components {
2778
3250
  * 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.
2779
3251
  */
2780
3252
  "refreshingText"?: string | IonicSafeString;
3253
+ /**
3254
+ * The theme determines the visual appearance of the component.
3255
+ */
3256
+ "theme"?: "ios" | "md" | "ionic";
2781
3257
  }
2782
3258
  interface IonReorder {
3259
+ /**
3260
+ * The mode determines the platform behaviors of the component.
3261
+ */
3262
+ "mode"?: "ios" | "md";
3263
+ /**
3264
+ * The theme determines the visual appearance of the component.
3265
+ */
3266
+ "theme"?: "ios" | "md" | "ionic";
2783
3267
  }
2784
3268
  interface IonReorderGroup {
2785
3269
  /**
@@ -2792,6 +3276,14 @@ export namespace Components {
2792
3276
  * @default true
2793
3277
  */
2794
3278
  "disabled": boolean;
3279
+ /**
3280
+ * The mode determines the platform behaviors of the component.
3281
+ */
3282
+ "mode"?: "ios" | "md";
3283
+ /**
3284
+ * The theme determines the visual appearance of the component.
3285
+ */
3286
+ "theme"?: "ios" | "md" | "ionic";
2795
3287
  }
2796
3288
  interface IonRippleEffect {
2797
3289
  /**
@@ -2800,6 +3292,14 @@ export namespace Components {
2800
3292
  * @param y The vertical coordinate of where the ripple should start.
2801
3293
  */
2802
3294
  "addRipple": (x: number, y: number) => Promise<() => void>;
3295
+ /**
3296
+ * The mode determines the platform behaviors of the component.
3297
+ */
3298
+ "mode"?: "ios" | "md";
3299
+ /**
3300
+ * The theme determines the visual appearance of the component.
3301
+ */
3302
+ "theme"?: "ios" | "md" | "ionic";
2803
3303
  /**
2804
3304
  * 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.
2805
3305
  * @default 'bounded'
@@ -2823,6 +3323,14 @@ export namespace Components {
2823
3323
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
2824
3324
  */
2825
3325
  "componentProps"?: { [key: string]: any };
3326
+ /**
3327
+ * The mode determines the platform behaviors of the component.
3328
+ */
3329
+ "mode"?: "ios" | "md";
3330
+ /**
3331
+ * The theme determines the visual appearance of the component.
3332
+ */
3333
+ "theme"?: "ios" | "md" | "ionic";
2826
3334
  /**
2827
3335
  * 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.
2828
3336
  * @default ''
@@ -2845,6 +3353,10 @@ export namespace Components {
2845
3353
  */
2846
3354
  "back": () => Promise<void>;
2847
3355
  "canTransition": () => Promise<string | boolean>;
3356
+ /**
3357
+ * The mode determines the platform behaviors of the component.
3358
+ */
3359
+ "mode"?: "ios" | "md";
2848
3360
  "navChanged": (direction: RouterDirection) => Promise<boolean>;
2849
3361
  "printDebug": () => Promise<void>;
2850
3362
  /**
@@ -2859,6 +3371,10 @@ export namespace Components {
2859
3371
  * @default '/'
2860
3372
  */
2861
3373
  "root": string;
3374
+ /**
3375
+ * The theme determines the visual appearance of the component.
3376
+ */
3377
+ "theme"?: "ios" | "md" | "ionic";
2862
3378
  /**
2863
3379
  * 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.
2864
3380
  * @default true
@@ -2874,6 +3390,10 @@ export namespace Components {
2874
3390
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2875
3391
  */
2876
3392
  "href": string | undefined;
3393
+ /**
3394
+ * The mode determines the platform behaviors of the component.
3395
+ */
3396
+ "mode"?: "ios" | "md";
2877
3397
  /**
2878
3398
  * 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).
2879
3399
  */
@@ -2891,6 +3411,10 @@ export namespace Components {
2891
3411
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2892
3412
  */
2893
3413
  "target": string | undefined;
3414
+ /**
3415
+ * The theme determines the visual appearance of the component.
3416
+ */
3417
+ "theme"?: "ios" | "md" | "ionic";
2894
3418
  }
2895
3419
  interface IonRouterOutlet {
2896
3420
  /**
@@ -2906,14 +3430,26 @@ export namespace Components {
2906
3430
  "delegate"?: FrameworkDelegate;
2907
3431
  "getRouteId": () => Promise<RouteID | undefined>;
2908
3432
  /**
2909
- * The mode determines which platform styles to use.
3433
+ * The mode determines the platform behaviors of the component.
2910
3434
  * @default getIonMode(this)
2911
3435
  */
2912
3436
  "mode": "ios" | "md";
2913
3437
  "setRouteId": (id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>;
2914
3438
  "swipeHandler"?: SwipeGestureHandler;
3439
+ /**
3440
+ * The theme determines the visual appearance of the component.
3441
+ */
3442
+ "theme"?: "ios" | "md" | "ionic";
2915
3443
  }
2916
3444
  interface IonRow {
3445
+ /**
3446
+ * The mode determines the platform behaviors of the component.
3447
+ */
3448
+ "mode"?: "ios" | "md";
3449
+ /**
3450
+ * The theme determines the visual appearance of the component.
3451
+ */
3452
+ "theme"?: "ios" | "md" | "ionic";
2917
3453
  }
2918
3454
  interface IonSearchbar {
2919
3455
  /**
@@ -2937,17 +3473,16 @@ export namespace Components {
2937
3473
  */
2938
3474
  "autocorrect": 'on' | 'off';
2939
3475
  /**
2940
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
2941
- * @default config.get('backButtonIcon', arrowBackSharp) as string
3476
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
2942
3477
  */
2943
- "cancelButtonIcon": string;
3478
+ "cancelButtonIcon"?: string;
2944
3479
  /**
2945
- * Set the cancel button text. Only applies to `ios` mode.
3480
+ * Set the cancel button text. Only available when the theme is `"ios"`.
2946
3481
  * @default 'Cancel'
2947
3482
  */
2948
3483
  "cancelButtonText": string;
2949
3484
  /**
2950
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
3485
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
2951
3486
  */
2952
3487
  "clearIcon"?: string;
2953
3488
  /**
@@ -2984,7 +3519,7 @@ export namespace Components {
2984
3519
  */
2985
3520
  "minlength"?: number;
2986
3521
  /**
2987
- * The mode determines which platform styles to use.
3522
+ * The mode determines the platform behaviors of the component.
2988
3523
  */
2989
3524
  "mode"?: "ios" | "md";
2990
3525
  /**
@@ -2998,13 +3533,17 @@ export namespace Components {
2998
3533
  */
2999
3534
  "placeholder": string;
3000
3535
  /**
3001
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
3536
+ * 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.
3002
3537
  */
3003
- "searchIcon"?: string;
3538
+ "searchIcon"?: string | boolean;
3004
3539
  /**
3005
3540
  * 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.
3006
3541
  */
3007
3542
  "setFocus": () => Promise<void>;
3543
+ /**
3544
+ * 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.
3545
+ */
3546
+ "shape"?: 'soft' | 'round' | 'rectangular';
3008
3547
  /**
3009
3548
  * 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.
3010
3549
  * @default 'never'
@@ -3015,11 +3554,19 @@ export namespace Components {
3015
3554
  * @default 'always'
3016
3555
  */
3017
3556
  "showClearButton": 'never' | 'focus' | 'always';
3557
+ /**
3558
+ * 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.
3559
+ */
3560
+ "size"?: 'small' | 'medium' | 'large';
3018
3561
  /**
3019
3562
  * If `true`, enable spellcheck on the input.
3020
3563
  * @default false
3021
3564
  */
3022
3565
  "spellcheck": boolean;
3566
+ /**
3567
+ * The theme determines the visual appearance of the component.
3568
+ */
3569
+ "theme"?: "ios" | "md" | "ionic";
3023
3570
  /**
3024
3571
  * Set the type of the input.
3025
3572
  * @default 'search'
@@ -3042,7 +3589,7 @@ export namespace Components {
3042
3589
  */
3043
3590
  "disabled": boolean;
3044
3591
  /**
3045
- * The mode determines which platform styles to use.
3592
+ * The mode determines the platform behaviors of the component.
3046
3593
  */
3047
3594
  "mode"?: "ios" | "md";
3048
3595
  /**
@@ -3060,6 +3607,10 @@ export namespace Components {
3060
3607
  * @default true
3061
3608
  */
3062
3609
  "swipeGesture": boolean;
3610
+ /**
3611
+ * The theme determines the visual appearance of the component.
3612
+ */
3613
+ "theme"?: "ios" | "md" | "ionic";
3063
3614
  /**
3064
3615
  * the value of the segment.
3065
3616
  */
@@ -3081,10 +3632,14 @@ export namespace Components {
3081
3632
  */
3082
3633
  "layout"?: SegmentButtonLayout;
3083
3634
  /**
3084
- * The mode determines which platform styles to use.
3635
+ * The mode determines the platform behaviors of the component.
3085
3636
  */
3086
3637
  "mode"?: "ios" | "md";
3087
3638
  "setFocus": () => Promise<void>;
3639
+ /**
3640
+ * The theme determines the visual appearance of the component.
3641
+ */
3642
+ "theme"?: "ios" | "md" | "ionic";
3088
3643
  /**
3089
3644
  * The type of the button.
3090
3645
  * @default 'button'
@@ -3134,11 +3689,11 @@ export namespace Components {
3134
3689
  */
3135
3690
  "errorText"?: string;
3136
3691
  /**
3137
- * 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.
3692
+ * 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.
3138
3693
  */
3139
3694
  "expandedIcon"?: string;
3140
3695
  /**
3141
- * 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.
3696
+ * 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.
3142
3697
  */
3143
3698
  "fill"?: 'outline' | 'solid';
3144
3699
  /**
@@ -3169,7 +3724,7 @@ export namespace Components {
3169
3724
  */
3170
3725
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
3171
3726
  /**
3172
- * The mode determines which platform styles to use.
3727
+ * The mode determines the platform behaviors of the component.
3173
3728
  */
3174
3729
  "mode"?: "ios" | "md";
3175
3730
  /**
@@ -3206,11 +3761,19 @@ export namespace Components {
3206
3761
  */
3207
3762
  "selectedText"?: string | null;
3208
3763
  /**
3209
- * The shape of the select. If "round" it will have an increased border radius.
3764
+ * 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.
3765
+ */
3766
+ "shape"?: 'soft' | 'round' | 'rectangular';
3767
+ /**
3768
+ * 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.
3769
+ */
3770
+ "size"?: 'small' | 'medium' | 'large';
3771
+ /**
3772
+ * The theme determines the visual appearance of the component.
3210
3773
  */
3211
- "shape"?: 'round';
3774
+ "theme"?: "ios" | "md" | "ionic";
3212
3775
  /**
3213
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
3776
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
3214
3777
  */
3215
3778
  "toggleIcon"?: string;
3216
3779
  /**
@@ -3232,6 +3795,14 @@ export namespace Components {
3232
3795
  * @default false
3233
3796
  */
3234
3797
  "disabled": boolean;
3798
+ /**
3799
+ * The mode determines the platform behaviors of the component.
3800
+ */
3801
+ "mode"?: "ios" | "md";
3802
+ /**
3803
+ * The theme determines the visual appearance of the component.
3804
+ */
3805
+ "theme"?: "ios" | "md" | "ionic";
3235
3806
  /**
3236
3807
  * The text value of the option.
3237
3808
  */
@@ -3246,6 +3817,10 @@ export namespace Components {
3246
3817
  * The text content of the popover body
3247
3818
  */
3248
3819
  "message"?: string;
3820
+ /**
3821
+ * The mode determines the platform behaviors of the component.
3822
+ */
3823
+ "mode"?: "ios" | "md";
3249
3824
  /**
3250
3825
  * If true, the select accepts multiple values
3251
3826
  */
@@ -3259,6 +3834,10 @@ export namespace Components {
3259
3834
  * The subheader text of the popover
3260
3835
  */
3261
3836
  "subHeader"?: string;
3837
+ /**
3838
+ * The theme determines the visual appearance of the component.
3839
+ */
3840
+ "theme"?: "ios" | "md" | "ionic";
3262
3841
  }
3263
3842
  interface IonSkeletonText {
3264
3843
  /**
@@ -3266,6 +3845,14 @@ export namespace Components {
3266
3845
  * @default false
3267
3846
  */
3268
3847
  "animated": boolean;
3848
+ /**
3849
+ * The mode determines the platform behaviors of the component.
3850
+ */
3851
+ "mode"?: "ios" | "md";
3852
+ /**
3853
+ * The theme determines the visual appearance of the component.
3854
+ */
3855
+ "theme"?: "ios" | "md" | "ionic";
3269
3856
  }
3270
3857
  interface IonSpinner {
3271
3858
  /**
@@ -3276,6 +3863,10 @@ export namespace Components {
3276
3863
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
3277
3864
  */
3278
3865
  "duration"?: number;
3866
+ /**
3867
+ * The mode determines the platform behaviors of the component.
3868
+ */
3869
+ "mode"?: "ios" | "md";
3279
3870
  /**
3280
3871
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
3281
3872
  */
@@ -3285,6 +3876,14 @@ export namespace Components {
3285
3876
  * @default false
3286
3877
  */
3287
3878
  "paused": boolean;
3879
+ /**
3880
+ * 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.
3881
+ */
3882
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
3883
+ /**
3884
+ * The theme determines the visual appearance of the component.
3885
+ */
3886
+ "theme"?: "ios" | "md" | "ionic";
3288
3887
  }
3289
3888
  interface IonSplitPane {
3290
3889
  /**
@@ -3297,6 +3896,14 @@ export namespace Components {
3297
3896
  */
3298
3897
  "disabled": boolean;
3299
3898
  "isVisible": () => Promise<boolean>;
3899
+ /**
3900
+ * The mode determines the platform behaviors of the component.
3901
+ */
3902
+ "mode"?: "ios" | "md";
3903
+ /**
3904
+ * The theme determines the visual appearance of the component.
3905
+ */
3906
+ "theme"?: "ios" | "md" | "ionic";
3300
3907
  /**
3301
3908
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
3302
3909
  * @default QUERY['lg']
@@ -3313,6 +3920,10 @@ export namespace Components {
3313
3920
  */
3314
3921
  "component"?: ComponentRef;
3315
3922
  "delegate"?: FrameworkDelegate;
3923
+ /**
3924
+ * The mode determines the platform behaviors of the component.
3925
+ */
3926
+ "mode"?: "ios" | "md";
3316
3927
  /**
3317
3928
  * Set the active component for the tab
3318
3929
  */
@@ -3321,6 +3932,10 @@ export namespace Components {
3321
3932
  * 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.
3322
3933
  */
3323
3934
  "tab": string;
3935
+ /**
3936
+ * The theme determines the visual appearance of the component.
3937
+ */
3938
+ "theme"?: "ios" | "md" | "ionic";
3324
3939
  }
3325
3940
  interface IonTabBar {
3326
3941
  /**
@@ -3328,7 +3943,12 @@ export namespace Components {
3328
3943
  */
3329
3944
  "color"?: Color;
3330
3945
  /**
3331
- * The mode determines which platform styles to use.
3946
+ * 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"`.
3947
+ * @default 'full'
3948
+ */
3949
+ "expand": 'compact' | 'full';
3950
+ /**
3951
+ * The mode determines the platform behaviors of the component.
3332
3952
  */
3333
3953
  "mode"?: "ios" | "md";
3334
3954
  /**
@@ -3336,7 +3956,15 @@ export namespace Components {
3336
3956
  */
3337
3957
  "selectedTab"?: string;
3338
3958
  /**
3339
- * 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).
3959
+ * 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.
3960
+ */
3961
+ "shape"?: 'soft' | 'round' | 'rectangular';
3962
+ /**
3963
+ * The theme determines the visual appearance of the component.
3964
+ */
3965
+ "theme"?: "ios" | "md" | "ionic";
3966
+ /**
3967
+ * 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).
3340
3968
  * @default false
3341
3969
  */
3342
3970
  "translucent": boolean;
@@ -3360,7 +3988,7 @@ export namespace Components {
3360
3988
  */
3361
3989
  "layout"?: TabButtonLayout;
3362
3990
  /**
3363
- * The mode determines which platform styles to use.
3991
+ * The mode determines the platform behaviors of the component.
3364
3992
  */
3365
3993
  "mode"?: "ios" | "md";
3366
3994
  /**
@@ -3372,6 +4000,10 @@ export namespace Components {
3372
4000
  * @default false
3373
4001
  */
3374
4002
  "selected": boolean;
4003
+ /**
4004
+ * 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.
4005
+ */
4006
+ "shape"?: 'soft' | 'round' | 'rectangular';
3375
4007
  /**
3376
4008
  * 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.
3377
4009
  */
@@ -3380,6 +4012,10 @@ export namespace Components {
3380
4012
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
3381
4013
  */
3382
4014
  "target": string | undefined;
4015
+ /**
4016
+ * The theme determines the visual appearance of the component.
4017
+ */
4018
+ "theme"?: "ios" | "md" | "ionic";
3383
4019
  }
3384
4020
  interface IonTabs {
3385
4021
  "getRouteId": () => Promise<RouteID | undefined>;
@@ -3392,12 +4028,20 @@ export namespace Components {
3392
4028
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3393
4029
  */
3394
4030
  "getTab": (tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined>;
4031
+ /**
4032
+ * The mode determines the platform behaviors of the component.
4033
+ */
4034
+ "mode"?: "ios" | "md";
3395
4035
  /**
3396
4036
  * 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.
3397
4037
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3398
4038
  */
3399
4039
  "select": (tab: string | HTMLIonTabElement) => Promise<boolean>;
3400
4040
  "setRouteId": (id: string) => Promise<RouteWrite>;
4041
+ /**
4042
+ * The theme determines the visual appearance of the component.
4043
+ */
4044
+ "theme"?: "ios" | "md" | "ionic";
3401
4045
  /**
3402
4046
  * @default false
3403
4047
  */
@@ -3409,9 +4053,13 @@ export namespace Components {
3409
4053
  */
3410
4054
  "color"?: Color;
3411
4055
  /**
3412
- * The mode determines which platform styles to use.
4056
+ * The mode determines the platform behaviors of the component.
3413
4057
  */
3414
4058
  "mode"?: "ios" | "md";
4059
+ /**
4060
+ * The theme determines the visual appearance of the component.
4061
+ */
4062
+ "theme"?: "ios" | "md" | "ionic";
3415
4063
  }
3416
4064
  interface IonTextarea {
3417
4065
  /**
@@ -3469,7 +4117,7 @@ export namespace Components {
3469
4117
  */
3470
4118
  "errorText"?: string;
3471
4119
  /**
3472
- * 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.
4120
+ * 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"`.
3473
4121
  */
3474
4122
  "fill"?: 'outline' | 'solid';
3475
4123
  /**
@@ -3502,7 +4150,7 @@ export namespace Components {
3502
4150
  */
3503
4151
  "minlength"?: number;
3504
4152
  /**
3505
- * The mode determines which platform styles to use.
4153
+ * The mode determines the platform behaviors of the component.
3506
4154
  */
3507
4155
  "mode"?: "ios" | "md";
3508
4156
  /**
@@ -3533,14 +4181,23 @@ export namespace Components {
3533
4181
  */
3534
4182
  "setFocus": () => Promise<void>;
3535
4183
  /**
3536
- * The shape of the textarea. If "round" it will have an increased border radius.
4184
+ * 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.
4185
+ */
4186
+ "shape"?: 'soft' | 'round' | 'rectangular';
4187
+ /**
4188
+ * 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.
4189
+ * @default 'medium'
3537
4190
  */
3538
- "shape"?: 'round';
4191
+ "size"?: 'small' | 'medium' | 'large';
3539
4192
  /**
3540
4193
  * If `true`, the element will have its spelling and grammar checked.
3541
4194
  * @default false
3542
4195
  */
3543
4196
  "spellcheck": boolean;
4197
+ /**
4198
+ * The theme determines the visual appearance of the component.
4199
+ */
4200
+ "theme"?: "ios" | "md" | "ionic";
3544
4201
  /**
3545
4202
  * The value of the textarea.
3546
4203
  * @default ''
@@ -3552,16 +4209,32 @@ export namespace Components {
3552
4209
  "wrap"?: 'hard' | 'soft' | 'off';
3553
4210
  }
3554
4211
  interface IonThumbnail {
4212
+ /**
4213
+ * The mode determines the platform behaviors of the component.
4214
+ */
4215
+ "mode"?: "ios" | "md";
4216
+ /**
4217
+ * The theme determines the visual appearance of the component.
4218
+ */
4219
+ "theme"?: "ios" | "md" | "ionic";
3555
4220
  }
3556
4221
  interface IonTitle {
3557
4222
  /**
3558
4223
  * 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).
3559
4224
  */
3560
4225
  "color"?: Color;
4226
+ /**
4227
+ * The mode determines the platform behaviors of the component.
4228
+ */
4229
+ "mode"?: "ios" | "md";
3561
4230
  /**
3562
4231
  * The size of the toolbar title.
3563
4232
  */
3564
4233
  "size"?: 'large' | 'small';
4234
+ /**
4235
+ * The theme determines the visual appearance of the component.
4236
+ */
4237
+ "theme"?: "ios" | "md" | "ionic";
3565
4238
  }
3566
4239
  interface IonToast {
3567
4240
  /**
@@ -3609,6 +4282,11 @@ export namespace Components {
3609
4282
  * Additional attributes to pass to the toast.
3610
4283
  */
3611
4284
  "htmlAttributes"?: { [key: string]: any };
4285
+ /**
4286
+ * 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.
4287
+ * @default 'subtle'
4288
+ */
4289
+ "hue"?: 'bold' | 'subtle';
3612
4290
  /**
3613
4291
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
3614
4292
  */
@@ -3637,7 +4315,7 @@ export namespace Components {
3637
4315
  */
3638
4316
  "message"?: string | IonicSafeString;
3639
4317
  /**
3640
- * The mode determines which platform styles to use.
4318
+ * The mode determines the platform behaviors of the component.
3641
4319
  */
3642
4320
  "mode"?: "ios" | "md";
3643
4321
  /**
@@ -3662,12 +4340,20 @@ export namespace Components {
3662
4340
  * Present the toast overlay after it has been created.
3663
4341
  */
3664
4342
  "present": () => Promise<void>;
4343
+ /**
4344
+ * 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.
4345
+ */
4346
+ "shape"?: 'soft' | 'round' | 'rectangular';
3665
4347
  /**
3666
4348
  * 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.
3667
4349
  */
3668
4350
  "swipeGesture"?: ToastSwipeGestureDirection;
3669
4351
  /**
3670
- * 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).
4352
+ * The theme determines the visual appearance of the component.
4353
+ */
4354
+ "theme"?: "ios" | "md" | "ionic";
4355
+ /**
4356
+ * 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).
3671
4357
  * @default false
3672
4358
  */
3673
4359
  "translucent": boolean;
@@ -3718,7 +4404,7 @@ export namespace Components {
3718
4404
  */
3719
4405
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
3720
4406
  /**
3721
- * The mode determines which platform styles to use.
4407
+ * The mode determines the platform behaviors of the component.
3722
4408
  */
3723
4409
  "mode"?: "ios" | "md";
3724
4410
  /**
@@ -3731,6 +4417,10 @@ export namespace Components {
3731
4417
  * @default false
3732
4418
  */
3733
4419
  "required": boolean;
4420
+ /**
4421
+ * The theme determines the visual appearance of the component.
4422
+ */
4423
+ "theme"?: "ios" | "md" | "ionic";
3734
4424
  /**
3735
4425
  * 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>`.
3736
4426
  * @default 'on'
@@ -3743,9 +4433,13 @@ export namespace Components {
3743
4433
  */
3744
4434
  "color"?: Color;
3745
4435
  /**
3746
- * The mode determines which platform styles to use.
4436
+ * The mode determines the platform behaviors of the component.
3747
4437
  */
3748
4438
  "mode"?: "ios" | "md";
4439
+ /**
4440
+ * The theme determines the visual appearance of the component.
4441
+ */
4442
+ "theme"?: "ios" | "md" | "ionic";
3749
4443
  }
3750
4444
  }
3751
4445
  export interface IonAccordionGroupCustomEvent<T> extends CustomEvent<T> {
@@ -4227,6 +4921,12 @@ declare global {
4227
4921
  prototype: HTMLIonDatetimeButtonElement;
4228
4922
  new (): HTMLIonDatetimeButtonElement;
4229
4923
  };
4924
+ interface HTMLIonDividerElement extends Components.IonDivider, HTMLStencilElement {
4925
+ }
4926
+ var HTMLIonDividerElement: {
4927
+ prototype: HTMLIonDividerElement;
4928
+ new (): HTMLIonDividerElement;
4929
+ };
4230
4930
  interface HTMLIonFabElement extends Components.IonFab, HTMLStencilElement {
4231
4931
  }
4232
4932
  var HTMLIonFabElement: {
@@ -5210,6 +5910,7 @@ declare global {
5210
5910
  "ion-content": HTMLIonContentElement;
5211
5911
  "ion-datetime": HTMLIonDatetimeElement;
5212
5912
  "ion-datetime-button": HTMLIonDatetimeButtonElement;
5913
+ "ion-divider": HTMLIonDividerElement;
5213
5914
  "ion-fab": HTMLIonFabElement;
5214
5915
  "ion-fab-button": HTMLIonFabButtonElement;
5215
5916
  "ion-fab-list": HTMLIonFabListElement;
@@ -5293,7 +5994,7 @@ declare namespace LocalJSX {
5293
5994
  */
5294
5995
  "disabled"?: boolean;
5295
5996
  /**
5296
- * The mode determines which platform styles to use.
5997
+ * The mode determines the platform behaviors of the component.
5297
5998
  */
5298
5999
  "mode"?: "ios" | "md";
5299
6000
  /**
@@ -5301,9 +6002,12 @@ declare namespace LocalJSX {
5301
6002
  * @default false
5302
6003
  */
5303
6004
  "readonly"?: boolean;
6005
+ /**
6006
+ * The theme determines the visual appearance of the component.
6007
+ */
6008
+ "theme"?: "ios" | "md" | "ionic";
5304
6009
  /**
5305
6010
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
5306
- * @default chevronDown
5307
6011
  */
5308
6012
  "toggleIcon"?: string;
5309
6013
  /**
@@ -5334,7 +6038,7 @@ declare namespace LocalJSX {
5334
6038
  */
5335
6039
  "expand"?: 'compact' | 'inset';
5336
6040
  /**
5337
- * The mode determines which platform styles to use.
6041
+ * The mode determines the platform behaviors of the component.
5338
6042
  */
5339
6043
  "mode"?: "ios" | "md";
5340
6044
  /**
@@ -5350,6 +6054,14 @@ declare namespace LocalJSX {
5350
6054
  * @default false
5351
6055
  */
5352
6056
  "readonly"?: boolean;
6057
+ /**
6058
+ * 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"`.
6059
+ */
6060
+ "shape"?: 'soft' | 'round' | 'rectangular';
6061
+ /**
6062
+ * The theme determines the visual appearance of the component.
6063
+ */
6064
+ "theme"?: "ios" | "md" | "ionic";
5353
6065
  /**
5354
6066
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
5355
6067
  */
@@ -5402,7 +6114,7 @@ declare namespace LocalJSX {
5402
6114
  */
5403
6115
  "leaveAnimation"?: AnimationBuilder;
5404
6116
  /**
5405
- * The mode determines which platform styles to use.
6117
+ * The mode determines the platform behaviors of the component.
5406
6118
  */
5407
6119
  "mode"?: "ios" | "md";
5408
6120
  /**
@@ -5442,7 +6154,11 @@ declare namespace LocalJSX {
5442
6154
  */
5443
6155
  "subHeader"?: string;
5444
6156
  /**
5445
- * 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).
6157
+ * The theme determines the visual appearance of the component.
6158
+ */
6159
+ "theme"?: "ios" | "md" | "ionic";
6160
+ /**
6161
+ * 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).
5446
6162
  * @default false
5447
6163
  */
5448
6164
  "translucent"?: boolean;
@@ -5507,7 +6223,7 @@ declare namespace LocalJSX {
5507
6223
  */
5508
6224
  "message"?: string | IonicSafeString;
5509
6225
  /**
5510
- * The mode determines which platform styles to use.
6226
+ * The mode determines the platform behaviors of the component.
5511
6227
  */
5512
6228
  "mode"?: "ios" | "md";
5513
6229
  /**
@@ -5547,7 +6263,11 @@ declare namespace LocalJSX {
5547
6263
  */
5548
6264
  "subHeader"?: string;
5549
6265
  /**
5550
- * 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).
6266
+ * The theme determines the visual appearance of the component.
6267
+ */
6268
+ "theme"?: "ios" | "md" | "ionic";
6269
+ /**
6270
+ * 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).
5551
6271
  * @default false
5552
6272
  */
5553
6273
  "translucent"?: boolean;
@@ -5557,8 +6277,37 @@ declare namespace LocalJSX {
5557
6277
  "trigger"?: string | undefined;
5558
6278
  }
5559
6279
  interface IonApp {
6280
+ /**
6281
+ * The mode determines the platform behaviors of the component.
6282
+ */
6283
+ "mode"?: "ios" | "md";
6284
+ /**
6285
+ * The theme determines the visual appearance of the component.
6286
+ */
6287
+ "theme"?: "ios" | "md" | "ionic";
5560
6288
  }
5561
6289
  interface IonAvatar {
6290
+ /**
6291
+ * If `true`, the user cannot interact with the avatar.
6292
+ * @default false
6293
+ */
6294
+ "disabled"?: boolean;
6295
+ /**
6296
+ * The mode determines the platform behaviors of the component.
6297
+ */
6298
+ "mode"?: "ios" | "md";
6299
+ /**
6300
+ * 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.
6301
+ */
6302
+ "shape"?: 'soft' | 'round' | 'rectangular';
6303
+ /**
6304
+ * 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.
6305
+ */
6306
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
6307
+ /**
6308
+ * The theme determines the visual appearance of the component.
6309
+ */
6310
+ "theme"?: "ios" | "md" | "ionic";
5562
6311
  }
5563
6312
  interface IonBackButton {
5564
6313
  /**
@@ -5579,7 +6328,7 @@ declare namespace LocalJSX {
5579
6328
  */
5580
6329
  "icon"?: string | null;
5581
6330
  /**
5582
- * The mode determines which platform styles to use.
6331
+ * The mode determines the platform behaviors of the component.
5583
6332
  */
5584
6333
  "mode"?: "ios" | "md";
5585
6334
  /**
@@ -5590,6 +6339,10 @@ declare namespace LocalJSX {
5590
6339
  * The text to display in the back button.
5591
6340
  */
5592
6341
  "text"?: string | null;
6342
+ /**
6343
+ * The theme determines the visual appearance of the component.
6344
+ */
6345
+ "theme"?: "ios" | "md" | "ionic";
5593
6346
  /**
5594
6347
  * The type of the button.
5595
6348
  * @default 'button'
@@ -5597,6 +6350,10 @@ declare namespace LocalJSX {
5597
6350
  "type"?: 'submit' | 'reset' | 'button';
5598
6351
  }
5599
6352
  interface IonBackdrop {
6353
+ /**
6354
+ * The mode determines the platform behaviors of the component.
6355
+ */
6356
+ "mode"?: "ios" | "md";
5600
6357
  /**
5601
6358
  * Emitted when the backdrop is tapped.
5602
6359
  */
@@ -5611,6 +6368,10 @@ declare namespace LocalJSX {
5611
6368
  * @default true
5612
6369
  */
5613
6370
  "tappable"?: boolean;
6371
+ /**
6372
+ * The theme determines the visual appearance of the component.
6373
+ */
6374
+ "theme"?: "ios" | "md" | "ionic";
5614
6375
  /**
5615
6376
  * If `true`, the backdrop will be visible.
5616
6377
  * @default true
@@ -5623,9 +6384,29 @@ declare namespace LocalJSX {
5623
6384
  */
5624
6385
  "color"?: Color;
5625
6386
  /**
5626
- * The mode determines which platform styles to use.
6387
+ * 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.
6388
+ */
6389
+ "hue"?: 'bold' | 'subtle';
6390
+ /**
6391
+ * The mode determines the platform behaviors of the component.
5627
6392
  */
5628
6393
  "mode"?: "ios" | "md";
6394
+ /**
6395
+ * 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.
6396
+ */
6397
+ "shape"?: 'soft' | 'round | rectangular';
6398
+ /**
6399
+ * 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.
6400
+ */
6401
+ "size"?: 'small' | 'medium' | 'large';
6402
+ /**
6403
+ * The theme determines the visual appearance of the component.
6404
+ */
6405
+ "theme"?: "ios" | "md" | "ionic";
6406
+ /**
6407
+ * 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.
6408
+ */
6409
+ "vertical"?: 'top' | 'bottom';
5629
6410
  }
5630
6411
  interface IonBreadcrumb {
5631
6412
  /**
@@ -5651,7 +6432,7 @@ declare namespace LocalJSX {
5651
6432
  */
5652
6433
  "href"?: string | undefined;
5653
6434
  /**
5654
- * The mode determines which platform styles to use.
6435
+ * The mode determines the platform behaviors of the component.
5655
6436
  */
5656
6437
  "mode"?: "ios" | "md";
5657
6438
  /**
@@ -5683,6 +6464,10 @@ declare namespace LocalJSX {
5683
6464
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5684
6465
  */
5685
6466
  "target"?: string | undefined;
6467
+ /**
6468
+ * The theme determines the visual appearance of the component.
6469
+ */
6470
+ "theme"?: "ios" | "md" | "ionic";
5686
6471
  }
5687
6472
  interface IonBreadcrumbs {
5688
6473
  /**
@@ -5704,13 +6489,17 @@ declare namespace LocalJSX {
5704
6489
  */
5705
6490
  "maxItems"?: number;
5706
6491
  /**
5707
- * The mode determines which platform styles to use.
6492
+ * The mode determines the platform behaviors of the component.
5708
6493
  */
5709
6494
  "mode"?: "ios" | "md";
5710
6495
  /**
5711
6496
  * Emitted when the collapsed indicator is clicked on.
5712
6497
  */
5713
6498
  "onIonCollapsedClick"?: (event: IonBreadcrumbsCustomEvent<BreadcrumbCollapsedClickEventDetail>) => void;
6499
+ /**
6500
+ * The theme determines the visual appearance of the component.
6501
+ */
6502
+ "theme"?: "ios" | "md" | "ionic";
5714
6503
  }
5715
6504
  interface IonButton {
5716
6505
  /**
@@ -5748,7 +6537,7 @@ declare namespace LocalJSX {
5748
6537
  */
5749
6538
  "href"?: string | undefined;
5750
6539
  /**
5751
- * The mode determines which platform styles to use.
6540
+ * The mode determines the platform behaviors of the component.
5752
6541
  */
5753
6542
  "mode"?: "ios" | "md";
5754
6543
  /**
@@ -5773,13 +6562,13 @@ declare namespace LocalJSX {
5773
6562
  */
5774
6563
  "routerDirection"?: RouterDirection;
5775
6564
  /**
5776
- * Set to `"round"` for a button with more rounded corners.
6565
+ * 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.
5777
6566
  */
5778
- "shape"?: 'round';
6567
+ "shape"?: 'soft' | 'round' | 'rectangular';
5779
6568
  /**
5780
- * 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.
6569
+ * 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.
5781
6570
  */
5782
- "size"?: 'small' | 'default' | 'large';
6571
+ "size"?: 'small' | 'default' | 'medium' | 'large';
5783
6572
  /**
5784
6573
  * If `true`, activates a button with a heavier font weight.
5785
6574
  * @default false
@@ -5789,6 +6578,10 @@ declare namespace LocalJSX {
5789
6578
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5790
6579
  */
5791
6580
  "target"?: string | undefined;
6581
+ /**
6582
+ * The theme determines the visual appearance of the component.
6583
+ */
6584
+ "theme"?: "ios" | "md" | "ionic";
5792
6585
  /**
5793
6586
  * The type of the button.
5794
6587
  * @default 'button'
@@ -5797,10 +6590,18 @@ declare namespace LocalJSX {
5797
6590
  }
5798
6591
  interface IonButtons {
5799
6592
  /**
5800
- * 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)
6593
+ * 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)
5801
6594
  * @default false
5802
6595
  */
5803
6596
  "collapse"?: boolean;
6597
+ /**
6598
+ * The mode determines the platform behaviors of the component.
6599
+ */
6600
+ "mode"?: "ios" | "md";
6601
+ /**
6602
+ * The theme determines the visual appearance of the component.
6603
+ */
6604
+ "theme"?: "ios" | "md" | "ionic";
5804
6605
  }
5805
6606
  interface IonCard {
5806
6607
  /**
@@ -5826,7 +6627,7 @@ declare namespace LocalJSX {
5826
6627
  */
5827
6628
  "href"?: string | undefined;
5828
6629
  /**
5829
- * The mode determines which platform styles to use.
6630
+ * The mode determines the platform behaviors of the component.
5830
6631
  */
5831
6632
  "mode"?: "ios" | "md";
5832
6633
  /**
@@ -5842,10 +6643,19 @@ declare namespace LocalJSX {
5842
6643
  * @default 'forward'
5843
6644
  */
5844
6645
  "routerDirection"?: RouterDirection;
6646
+ /**
6647
+ * 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"`.
6648
+ * @default 'round'
6649
+ */
6650
+ "shape"?: 'soft' | 'round' | 'rectangular';
5845
6651
  /**
5846
6652
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5847
6653
  */
5848
6654
  "target"?: string | undefined;
6655
+ /**
6656
+ * The theme determines the visual appearance of the component.
6657
+ */
6658
+ "theme"?: "ios" | "md" | "ionic";
5849
6659
  /**
5850
6660
  * The type of the button. Only used when an `onclick` or `button` property is present.
5851
6661
  * @default 'button'
@@ -5854,9 +6664,13 @@ declare namespace LocalJSX {
5854
6664
  }
5855
6665
  interface IonCardContent {
5856
6666
  /**
5857
- * The mode determines which platform styles to use.
6667
+ * The mode determines the platform behaviors of the component.
5858
6668
  */
5859
6669
  "mode"?: "ios" | "md";
6670
+ /**
6671
+ * The theme determines the visual appearance of the component.
6672
+ */
6673
+ "theme"?: "ios" | "md" | "ionic";
5860
6674
  }
5861
6675
  interface IonCardHeader {
5862
6676
  /**
@@ -5864,11 +6678,15 @@ declare namespace LocalJSX {
5864
6678
  */
5865
6679
  "color"?: Color;
5866
6680
  /**
5867
- * The mode determines which platform styles to use.
6681
+ * The mode determines the platform behaviors of the component.
5868
6682
  */
5869
6683
  "mode"?: "ios" | "md";
5870
6684
  /**
5871
- * 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).
6685
+ * The theme determines the visual appearance of the component.
6686
+ */
6687
+ "theme"?: "ios" | "md" | "ionic";
6688
+ /**
6689
+ * 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).
5872
6690
  * @default false
5873
6691
  */
5874
6692
  "translucent"?: boolean;
@@ -5879,9 +6697,13 @@ declare namespace LocalJSX {
5879
6697
  */
5880
6698
  "color"?: Color;
5881
6699
  /**
5882
- * The mode determines which platform styles to use.
6700
+ * The mode determines the platform behaviors of the component.
5883
6701
  */
5884
6702
  "mode"?: "ios" | "md";
6703
+ /**
6704
+ * The theme determines the visual appearance of the component.
6705
+ */
6706
+ "theme"?: "ios" | "md" | "ionic";
5885
6707
  }
5886
6708
  interface IonCardTitle {
5887
6709
  /**
@@ -5889,9 +6711,13 @@ declare namespace LocalJSX {
5889
6711
  */
5890
6712
  "color"?: Color;
5891
6713
  /**
5892
- * The mode determines which platform styles to use.
6714
+ * The mode determines the platform behaviors of the component.
5893
6715
  */
5894
6716
  "mode"?: "ios" | "md";
6717
+ /**
6718
+ * The theme determines the visual appearance of the component.
6719
+ */
6720
+ "theme"?: "ios" | "md" | "ionic";
5895
6721
  }
5896
6722
  interface IonCheckbox {
5897
6723
  /**
@@ -5935,7 +6761,7 @@ declare namespace LocalJSX {
5935
6761
  */
5936
6762
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
5937
6763
  /**
5938
- * The mode determines which platform styles to use.
6764
+ * The mode determines the platform behaviors of the component.
5939
6765
  */
5940
6766
  "mode"?: "ios" | "md";
5941
6767
  /**
@@ -5948,7 +6774,7 @@ declare namespace LocalJSX {
5948
6774
  */
5949
6775
  "onIonBlur"?: (event: IonCheckboxCustomEvent<void>) => void;
5950
6776
  /**
5951
- * 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.
6777
+ * 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.
5952
6778
  */
5953
6779
  "onIonChange"?: (event: IonCheckboxCustomEvent<CheckboxChangeEventDetail>) => void;
5954
6780
  /**
@@ -5960,6 +6786,19 @@ declare namespace LocalJSX {
5960
6786
  * @default false
5961
6787
  */
5962
6788
  "required"?: boolean;
6789
+ /**
6790
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
6791
+ * @default 'soft'
6792
+ */
6793
+ "shape"?: 'soft' | 'rectangular';
6794
+ /**
6795
+ * Set to `"small"` for a checkbox with less height and padding.
6796
+ */
6797
+ "size"?: 'small';
6798
+ /**
6799
+ * The theme determines the visual appearance of the component.
6800
+ */
6801
+ "theme"?: "ios" | "md" | "ionic";
5963
6802
  /**
5964
6803
  * 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>`.
5965
6804
  * @default 'on'
@@ -5977,7 +6816,12 @@ declare namespace LocalJSX {
5977
6816
  */
5978
6817
  "disabled"?: boolean;
5979
6818
  /**
5980
- * The mode determines which platform styles to use.
6819
+ * 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.
6820
+ * @default 'subtle'
6821
+ */
6822
+ "hue"?: 'bold' | 'subtle';
6823
+ /**
6824
+ * The mode determines the platform behaviors of the component.
5981
6825
  */
5982
6826
  "mode"?: "ios" | "md";
5983
6827
  /**
@@ -5985,8 +6829,24 @@ declare namespace LocalJSX {
5985
6829
  * @default false
5986
6830
  */
5987
6831
  "outline"?: boolean;
6832
+ /**
6833
+ * 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.
6834
+ */
6835
+ "shape"?: 'soft' | 'round' | 'rectangular';
6836
+ /**
6837
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
6838
+ */
6839
+ "size"?: 'small' | 'large';
6840
+ /**
6841
+ * The theme determines the visual appearance of the component.
6842
+ */
6843
+ "theme"?: "ios" | "md" | "ionic";
5988
6844
  }
5989
6845
  interface IonCol {
6846
+ /**
6847
+ * The mode determines the platform behaviors of the component.
6848
+ */
6849
+ "mode"?: "ios" | "md";
5990
6850
  /**
5991
6851
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
5992
6852
  */
@@ -6011,52 +6871,88 @@ declare namespace LocalJSX {
6011
6871
  * 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.
6012
6872
  */
6013
6873
  "offsetXs"?: string;
6874
+ /**
6875
+ * 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.
6876
+ */
6877
+ "order"?: string;
6878
+ /**
6879
+ * 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.
6880
+ */
6881
+ "orderLg"?: string;
6882
+ /**
6883
+ * 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.
6884
+ */
6885
+ "orderMd"?: string;
6886
+ /**
6887
+ * 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.
6888
+ */
6889
+ "orderSm"?: string;
6890
+ /**
6891
+ * 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.
6892
+ */
6893
+ "orderXl"?: string;
6894
+ /**
6895
+ * 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.
6896
+ */
6897
+ "orderXs"?: string;
6014
6898
  /**
6015
6899
  * The amount to pull the column, in terms of how many columns it should shift to the start of the total available.
6900
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6016
6901
  */
6017
6902
  "pull"?: string;
6018
6903
  /**
6019
6904
  * 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.
6905
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6020
6906
  */
6021
6907
  "pullLg"?: string;
6022
6908
  /**
6023
6909
  * 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.
6910
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6024
6911
  */
6025
6912
  "pullMd"?: string;
6026
6913
  /**
6027
6914
  * 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.
6915
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6028
6916
  */
6029
6917
  "pullSm"?: string;
6030
6918
  /**
6031
6919
  * 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.
6920
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6032
6921
  */
6033
6922
  "pullXl"?: string;
6034
6923
  /**
6035
6924
  * 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.
6925
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6036
6926
  */
6037
6927
  "pullXs"?: string;
6038
6928
  /**
6039
6929
  * The amount to push the column, in terms of how many columns it should shift to the end of the total available.
6930
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6040
6931
  */
6041
6932
  "push"?: string;
6042
6933
  /**
6043
6934
  * 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.
6935
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6044
6936
  */
6045
6937
  "pushLg"?: string;
6046
6938
  /**
6047
6939
  * 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.
6940
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6048
6941
  */
6049
6942
  "pushMd"?: string;
6050
6943
  /**
6051
6944
  * 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.
6945
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6052
6946
  */
6053
6947
  "pushSm"?: string;
6054
6948
  /**
6055
6949
  * 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.
6950
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6056
6951
  */
6057
6952
  "pushXl"?: string;
6058
6953
  /**
6059
6954
  * 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.
6955
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6060
6956
  */
6061
6957
  "pushXs"?: string;
6062
6958
  /**
@@ -6083,6 +6979,10 @@ declare namespace LocalJSX {
6083
6979
  * 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.
6084
6980
  */
6085
6981
  "sizeXs"?: string;
6982
+ /**
6983
+ * The theme determines the visual appearance of the component.
6984
+ */
6985
+ "theme"?: "ios" | "md" | "ionic";
6086
6986
  }
6087
6987
  interface IonContent {
6088
6988
  /**
@@ -6103,6 +7003,10 @@ declare namespace LocalJSX {
6103
7003
  * @default false
6104
7004
  */
6105
7005
  "fullscreen"?: boolean;
7006
+ /**
7007
+ * The mode determines the platform behaviors of the component.
7008
+ */
7009
+ "mode"?: "ios" | "md";
6106
7010
  /**
6107
7011
  * Emitted while scrolling. This event is disabled by default. Set `scrollEvents` to `true` to enable.
6108
7012
  */
@@ -6130,6 +7034,10 @@ declare namespace LocalJSX {
6130
7034
  * @default true
6131
7035
  */
6132
7036
  "scrollY"?: boolean;
7037
+ /**
7038
+ * The theme determines the visual appearance of the component.
7039
+ */
7040
+ "theme"?: "ios" | "md" | "ionic";
6133
7041
  }
6134
7042
  interface IonDatetime {
6135
7043
  /**
@@ -6204,7 +7112,7 @@ declare namespace LocalJSX {
6204
7112
  */
6205
7113
  "minuteValues"?: number[] | number | string;
6206
7114
  /**
6207
- * The mode determines which platform styles to use.
7115
+ * The mode determines the platform behaviors of the component.
6208
7116
  */
6209
7117
  "mode"?: "ios" | "md";
6210
7118
  /**
@@ -6282,6 +7190,10 @@ declare namespace LocalJSX {
6282
7190
  * @default 'fixed'
6283
7191
  */
6284
7192
  "size"?: 'cover' | 'fixed';
7193
+ /**
7194
+ * The theme determines the visual appearance of the component.
7195
+ */
7196
+ "theme"?: "ios" | "md" | "ionic";
6285
7197
  /**
6286
7198
  * 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.
6287
7199
  */
@@ -6311,9 +7223,25 @@ declare namespace LocalJSX {
6311
7223
  */
6312
7224
  "disabled"?: boolean;
6313
7225
  /**
6314
- * The mode determines which platform styles to use.
7226
+ * The mode determines the platform behaviors of the component.
6315
7227
  */
6316
7228
  "mode"?: "ios" | "md";
7229
+ /**
7230
+ * The theme determines the visual appearance of the component.
7231
+ */
7232
+ "theme"?: "ios" | "md" | "ionic";
7233
+ }
7234
+ interface IonDivider {
7235
+ /**
7236
+ * If `true`, the divider will have horizontal margins By default, it's `false`
7237
+ * @default false
7238
+ */
7239
+ "inset"?: boolean;
7240
+ /**
7241
+ * 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"`.
7242
+ * @default 'medium'
7243
+ */
7244
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
6317
7245
  }
6318
7246
  interface IonFab {
6319
7247
  /**
@@ -6330,6 +7258,14 @@ declare namespace LocalJSX {
6330
7258
  * Where to align the fab horizontally in the viewport.
6331
7259
  */
6332
7260
  "horizontal"?: 'start' | 'end' | 'center';
7261
+ /**
7262
+ * The mode determines the platform behaviors of the component.
7263
+ */
7264
+ "mode"?: "ios" | "md";
7265
+ /**
7266
+ * The theme determines the visual appearance of the component.
7267
+ */
7268
+ "theme"?: "ios" | "md" | "ionic";
6333
7269
  /**
6334
7270
  * Where to align the fab vertically in the viewport.
6335
7271
  */
@@ -6343,7 +7279,6 @@ declare namespace LocalJSX {
6343
7279
  "activated"?: boolean;
6344
7280
  /**
6345
7281
  * 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.
6346
- * @default close
6347
7282
  */
6348
7283
  "closeIcon"?: string;
6349
7284
  /**
@@ -6364,7 +7299,7 @@ declare namespace LocalJSX {
6364
7299
  */
6365
7300
  "href"?: string | undefined;
6366
7301
  /**
6367
- * The mode determines which platform styles to use.
7302
+ * The mode determines the platform behaviors of the component.
6368
7303
  */
6369
7304
  "mode"?: "ios" | "md";
6370
7305
  /**
@@ -6402,7 +7337,11 @@ declare namespace LocalJSX {
6402
7337
  */
6403
7338
  "target"?: string | undefined;
6404
7339
  /**
6405
- * 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).
7340
+ * The theme determines the visual appearance of the component.
7341
+ */
7342
+ "theme"?: "ios" | "md" | "ionic";
7343
+ /**
7344
+ * 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).
6406
7345
  * @default false
6407
7346
  */
6408
7347
  "translucent"?: boolean;
@@ -6418,23 +7357,35 @@ declare namespace LocalJSX {
6418
7357
  * @default false
6419
7358
  */
6420
7359
  "activated"?: boolean;
7360
+ /**
7361
+ * The mode determines the platform behaviors of the component.
7362
+ */
7363
+ "mode"?: "ios" | "md";
6421
7364
  /**
6422
7365
  * The side the fab list will show on relative to the main fab button.
6423
7366
  * @default 'bottom'
6424
7367
  */
6425
7368
  "side"?: 'start' | 'end' | 'top' | 'bottom';
7369
+ /**
7370
+ * The theme determines the visual appearance of the component.
7371
+ */
7372
+ "theme"?: "ios" | "md" | "ionic";
6426
7373
  }
6427
7374
  interface IonFooter {
6428
7375
  /**
6429
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
7376
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
6430
7377
  */
6431
7378
  "collapse"?: 'fade';
6432
7379
  /**
6433
- * The mode determines which platform styles to use.
7380
+ * The mode determines the platform behaviors of the component.
6434
7381
  */
6435
7382
  "mode"?: "ios" | "md";
6436
7383
  /**
6437
- * 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.
7384
+ * The theme determines the visual appearance of the component.
7385
+ */
7386
+ "theme"?: "ios" | "md" | "ionic";
7387
+ /**
7388
+ * 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.
6438
7389
  * @default false
6439
7390
  */
6440
7391
  "translucent"?: boolean;
@@ -6445,18 +7396,35 @@ declare namespace LocalJSX {
6445
7396
  * @default false
6446
7397
  */
6447
7398
  "fixed"?: boolean;
7399
+ /**
7400
+ * The mode determines the platform behaviors of the component.
7401
+ */
7402
+ "mode"?: "ios" | "md";
7403
+ /**
7404
+ * The theme determines the visual appearance of the component.
7405
+ */
7406
+ "theme"?: "ios" | "md" | "ionic";
6448
7407
  }
6449
7408
  interface IonHeader {
6450
7409
  /**
6451
- * 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)
7410
+ * 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)
6452
7411
  */
6453
7412
  "collapse"?: 'condense' | 'fade';
6454
7413
  /**
6455
- * The mode determines which platform styles to use.
7414
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
7415
+ * @default false
7416
+ */
7417
+ "divider"?: boolean;
7418
+ /**
7419
+ * The mode determines the platform behaviors of the component.
6456
7420
  */
6457
7421
  "mode"?: "ios" | "md";
6458
7422
  /**
6459
- * 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.
7423
+ * The theme determines the visual appearance of the component.
7424
+ */
7425
+ "theme"?: "ios" | "md" | "ionic";
7426
+ /**
7427
+ * 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.
6460
7428
  * @default false
6461
7429
  */
6462
7430
  "translucent"?: boolean;
@@ -6466,6 +7434,10 @@ declare namespace LocalJSX {
6466
7434
  * 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.
6467
7435
  */
6468
7436
  "alt"?: string;
7437
+ /**
7438
+ * The mode determines the platform behaviors of the component.
7439
+ */
7440
+ "mode"?: "ios" | "md";
6469
7441
  /**
6470
7442
  * Emitted when the img fails to load
6471
7443
  */
@@ -6482,6 +7454,10 @@ declare namespace LocalJSX {
6482
7454
  * The image URL. This attribute is mandatory for the `<img>` element.
6483
7455
  */
6484
7456
  "src"?: string;
7457
+ /**
7458
+ * The theme determines the visual appearance of the component.
7459
+ */
7460
+ "theme"?: "ios" | "md" | "ionic";
6485
7461
  }
6486
7462
  interface IonInfiniteScroll {
6487
7463
  /**
@@ -6489,6 +7465,10 @@ declare namespace LocalJSX {
6489
7465
  * @default false
6490
7466
  */
6491
7467
  "disabled"?: boolean;
7468
+ /**
7469
+ * The mode determines the platform behaviors of the component.
7470
+ */
7471
+ "mode"?: "ios" | "md";
6492
7472
  /**
6493
7473
  * 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.
6494
7474
  */
@@ -6498,6 +7478,15 @@ declare namespace LocalJSX {
6498
7478
  * @default 'bottom'
6499
7479
  */
6500
7480
  "position"?: 'top' | 'bottom';
7481
+ /**
7482
+ * 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.
7483
+ * @default false
7484
+ */
7485
+ "preserveRerenderScrollPosition"?: boolean;
7486
+ /**
7487
+ * The theme determines the visual appearance of the component.
7488
+ */
7489
+ "theme"?: "ios" | "md" | "ionic";
6501
7490
  /**
6502
7491
  * 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.
6503
7492
  * @default '15%'
@@ -6513,6 +7502,14 @@ declare namespace LocalJSX {
6513
7502
  * 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.
6514
7503
  */
6515
7504
  "loadingText"?: string | IonicSafeString;
7505
+ /**
7506
+ * The mode determines the platform behaviors of the component.
7507
+ */
7508
+ "mode"?: "ios" | "md";
7509
+ /**
7510
+ * The theme determines the visual appearance of the component.
7511
+ */
7512
+ "theme"?: "ios" | "md" | "ionic";
6516
7513
  }
6517
7514
  interface IonInput {
6518
7515
  /**
@@ -6579,7 +7576,7 @@ declare namespace LocalJSX {
6579
7576
  */
6580
7577
  "errorText"?: string;
6581
7578
  /**
6582
- * 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.
7579
+ * 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"`.
6583
7580
  */
6584
7581
  "fill"?: 'outline' | 'solid';
6585
7582
  /**
@@ -6595,8 +7592,7 @@ declare namespace LocalJSX {
6595
7592
  */
6596
7593
  "label"?: string;
6597
7594
  /**
6598
- * 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 ("...").
6599
- * @default 'start'
7595
+ * 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.
6600
7596
  */
6601
7597
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
6602
7598
  /**
@@ -6616,7 +7612,7 @@ declare namespace LocalJSX {
6616
7612
  */
6617
7613
  "minlength"?: number;
6618
7614
  /**
6619
- * The mode determines which platform styles to use.
7615
+ * The mode determines the platform behaviors of the component.
6620
7616
  */
6621
7617
  "mode"?: "ios" | "md";
6622
7618
  /**
@@ -6663,9 +7659,14 @@ declare namespace LocalJSX {
6663
7659
  */
6664
7660
  "required"?: boolean;
6665
7661
  /**
6666
- * The shape of the input. If "round" it will have an increased border radius.
7662
+ * 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"`.
7663
+ */
7664
+ "shape"?: 'soft' | 'round' | 'rectangular';
7665
+ /**
7666
+ * 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.
7667
+ * @default 'medium'
6667
7668
  */
6668
- "shape"?: 'round';
7669
+ "size"?: 'medium' | 'large' | 'xlarge';
6669
7670
  /**
6670
7671
  * If `true`, the element will have its spelling and grammar checked.
6671
7672
  * @default false
@@ -6675,6 +7676,10 @@ declare namespace LocalJSX {
6675
7676
  * 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.
6676
7677
  */
6677
7678
  "step"?: string;
7679
+ /**
7680
+ * The theme determines the visual appearance of the component.
7681
+ */
7682
+ "theme"?: "ios" | "md" | "ionic";
6678
7683
  /**
6679
7684
  * The type of control to display. The default type is text.
6680
7685
  * @default 'text'
@@ -6798,12 +7803,11 @@ declare namespace LocalJSX {
6798
7803
  */
6799
7804
  "color"?: Color;
6800
7805
  /**
6801
- * 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.
7806
+ * 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.
6802
7807
  */
6803
7808
  "detail"?: boolean;
6804
7809
  /**
6805
7810
  * The icon to use when `detail` is set to `true`.
6806
- * @default chevronForward
6807
7811
  */
6808
7812
  "detailIcon"?: string;
6809
7813
  /**
@@ -6824,7 +7828,7 @@ declare namespace LocalJSX {
6824
7828
  */
6825
7829
  "lines"?: 'full' | 'inset' | 'none';
6826
7830
  /**
6827
- * The mode determines which platform styles to use.
7831
+ * The mode determines the platform behaviors of the component.
6828
7832
  */
6829
7833
  "mode"?: "ios" | "md";
6830
7834
  /**
@@ -6844,6 +7848,10 @@ declare namespace LocalJSX {
6844
7848
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6845
7849
  */
6846
7850
  "target"?: string | undefined;
7851
+ /**
7852
+ * The theme determines the visual appearance of the component.
7853
+ */
7854
+ "theme"?: "ios" | "md" | "ionic";
6847
7855
  /**
6848
7856
  * The type of the button. Only used when an `onclick` or `button` property is present.
6849
7857
  * @default 'button'
@@ -6856,7 +7864,7 @@ declare namespace LocalJSX {
6856
7864
  */
6857
7865
  "color"?: Color;
6858
7866
  /**
6859
- * The mode determines which platform styles to use.
7867
+ * The mode determines the platform behaviors of the component.
6860
7868
  */
6861
7869
  "mode"?: "ios" | "md";
6862
7870
  /**
@@ -6864,8 +7872,20 @@ declare namespace LocalJSX {
6864
7872
  * @default false
6865
7873
  */
6866
7874
  "sticky"?: boolean;
7875
+ /**
7876
+ * The theme determines the visual appearance of the component.
7877
+ */
7878
+ "theme"?: "ios" | "md" | "ionic";
6867
7879
  }
6868
7880
  interface IonItemGroup {
7881
+ /**
7882
+ * The mode determines the platform behaviors of the component.
7883
+ */
7884
+ "mode"?: "ios" | "md";
7885
+ /**
7886
+ * The theme determines the visual appearance of the component.
7887
+ */
7888
+ "theme"?: "ios" | "md" | "ionic";
6869
7889
  }
6870
7890
  interface IonItemOption {
6871
7891
  /**
@@ -6891,17 +7911,30 @@ declare namespace LocalJSX {
6891
7911
  */
6892
7912
  "href"?: string | undefined;
6893
7913
  /**
6894
- * The mode determines which platform styles to use.
7914
+ * 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.
7915
+ * @default 'subtle'
7916
+ */
7917
+ "hue"?: 'bold' | 'subtle';
7918
+ /**
7919
+ * The mode determines the platform behaviors of the component.
6895
7920
  */
6896
7921
  "mode"?: "ios" | "md";
6897
7922
  /**
6898
7923
  * 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).
6899
7924
  */
6900
7925
  "rel"?: string | undefined;
7926
+ /**
7927
+ * 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.
7928
+ */
7929
+ "shape"?: 'soft' | 'round' | 'rectangular';
6901
7930
  /**
6902
7931
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6903
7932
  */
6904
7933
  "target"?: string | undefined;
7934
+ /**
7935
+ * The theme determines the visual appearance of the component.
7936
+ */
7937
+ "theme"?: "ios" | "md" | "ionic";
6905
7938
  /**
6906
7939
  * The type of the button.
6907
7940
  * @default 'button'
@@ -6909,6 +7942,10 @@ declare namespace LocalJSX {
6909
7942
  "type"?: 'submit' | 'reset' | 'button';
6910
7943
  }
6911
7944
  interface IonItemOptions {
7945
+ /**
7946
+ * The mode determines the platform behaviors of the component.
7947
+ */
7948
+ "mode"?: "ios" | "md";
6912
7949
  /**
6913
7950
  * Emitted when the item has been fully swiped.
6914
7951
  */
@@ -6918,6 +7955,10 @@ declare namespace LocalJSX {
6918
7955
  * @default 'end'
6919
7956
  */
6920
7957
  "side"?: Side;
7958
+ /**
7959
+ * The theme determines the visual appearance of the component.
7960
+ */
7961
+ "theme"?: "ios" | "md" | "ionic";
6921
7962
  }
6922
7963
  interface IonItemSliding {
6923
7964
  /**
@@ -6925,10 +7966,18 @@ declare namespace LocalJSX {
6925
7966
  * @default false
6926
7967
  */
6927
7968
  "disabled"?: boolean;
7969
+ /**
7970
+ * The mode determines the platform behaviors of the component.
7971
+ */
7972
+ "mode"?: "ios" | "md";
6928
7973
  /**
6929
7974
  * Emitted when the sliding position changes.
6930
7975
  */
6931
7976
  "onIonDrag"?: (event: IonItemSlidingCustomEvent<any>) => void;
7977
+ /**
7978
+ * The theme determines the visual appearance of the component.
7979
+ */
7980
+ "theme"?: "ios" | "md" | "ionic";
6932
7981
  }
6933
7982
  interface IonLabel {
6934
7983
  /**
@@ -6936,13 +7985,17 @@ declare namespace LocalJSX {
6936
7985
  */
6937
7986
  "color"?: Color;
6938
7987
  /**
6939
- * The mode determines which platform styles to use.
7988
+ * The mode determines the platform behaviors of the component.
6940
7989
  */
6941
7990
  "mode"?: "ios" | "md";
6942
7991
  /**
6943
7992
  * The position determines where and how the label behaves inside an item.
6944
7993
  */
6945
7994
  "position"?: 'fixed' | 'stacked' | 'floating';
7995
+ /**
7996
+ * The theme determines the visual appearance of the component.
7997
+ */
7998
+ "theme"?: "ios" | "md" | "ionic";
6946
7999
  }
6947
8000
  interface IonList {
6948
8001
  /**
@@ -6955,9 +8008,17 @@ declare namespace LocalJSX {
6955
8008
  */
6956
8009
  "lines"?: 'full' | 'inset' | 'none';
6957
8010
  /**
6958
- * The mode determines which platform styles to use.
8011
+ * The mode determines the platform behaviors of the component.
6959
8012
  */
6960
8013
  "mode"?: "ios" | "md";
8014
+ /**
8015
+ * 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.
8016
+ */
8017
+ "shape"?: 'soft' | 'round' | 'rectangular';
8018
+ /**
8019
+ * The theme determines the visual appearance of the component.
8020
+ */
8021
+ "theme"?: "ios" | "md" | "ionic";
6961
8022
  }
6962
8023
  interface IonListHeader {
6963
8024
  /**
@@ -6969,9 +8030,13 @@ declare namespace LocalJSX {
6969
8030
  */
6970
8031
  "lines"?: 'full' | 'inset' | 'none';
6971
8032
  /**
6972
- * The mode determines which platform styles to use.
8033
+ * The mode determines the platform behaviors of the component.
6973
8034
  */
6974
8035
  "mode"?: "ios" | "md";
8036
+ /**
8037
+ * The theme determines the visual appearance of the component.
8038
+ */
8039
+ "theme"?: "ios" | "md" | "ionic";
6975
8040
  }
6976
8041
  interface IonLoading {
6977
8042
  /**
@@ -7020,7 +8085,7 @@ declare namespace LocalJSX {
7020
8085
  */
7021
8086
  "message"?: string | IonicSafeString;
7022
8087
  /**
7023
- * The mode determines which platform styles to use.
8088
+ * The mode determines the platform behaviors of the component.
7024
8089
  */
7025
8090
  "mode"?: "ios" | "md";
7026
8091
  /**
@@ -7065,7 +8130,11 @@ declare namespace LocalJSX {
7065
8130
  */
7066
8131
  "spinner"?: SpinnerTypes | null;
7067
8132
  /**
7068
- * 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).
8133
+ * The theme determines the visual appearance of the component.
8134
+ */
8135
+ "theme"?: "ios" | "md" | "ionic";
8136
+ /**
8137
+ * 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).
7069
8138
  * @default false
7070
8139
  */
7071
8140
  "translucent"?: boolean;
@@ -7093,6 +8162,10 @@ declare namespace LocalJSX {
7093
8162
  * An id for the menu.
7094
8163
  */
7095
8164
  "menuId"?: string;
8165
+ /**
8166
+ * The mode determines the platform behaviors of the component.
8167
+ */
8168
+ "mode"?: "ios" | "md";
7096
8169
  /**
7097
8170
  * Emitted when the menu is closed.
7098
8171
  */
@@ -7119,6 +8192,10 @@ declare namespace LocalJSX {
7119
8192
  * @default true
7120
8193
  */
7121
8194
  "swipeGesture"?: boolean;
8195
+ /**
8196
+ * The theme determines the visual appearance of the component.
8197
+ */
8198
+ "theme"?: "ios" | "md" | "ionic";
7122
8199
  /**
7123
8200
  * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
7124
8201
  */
@@ -7144,9 +8221,13 @@ declare namespace LocalJSX {
7144
8221
  */
7145
8222
  "menu"?: string;
7146
8223
  /**
7147
- * The mode determines which platform styles to use.
8224
+ * The mode determines the platform behaviors of the component.
7148
8225
  */
7149
8226
  "mode"?: "ios" | "md";
8227
+ /**
8228
+ * The theme determines the visual appearance of the component.
8229
+ */
8230
+ "theme"?: "ios" | "md" | "ionic";
7150
8231
  /**
7151
8232
  * The type of the button.
7152
8233
  * @default 'button'
@@ -7163,6 +8244,14 @@ declare namespace LocalJSX {
7163
8244
  * 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.
7164
8245
  */
7165
8246
  "menu"?: string;
8247
+ /**
8248
+ * The mode determines the platform behaviors of the component.
8249
+ */
8250
+ "mode"?: "ios" | "md";
8251
+ /**
8252
+ * The theme determines the visual appearance of the component.
8253
+ */
8254
+ "theme"?: "ios" | "md" | "ionic";
7166
8255
  }
7167
8256
  interface IonModal {
7168
8257
  /**
@@ -7240,7 +8329,7 @@ declare namespace LocalJSX {
7240
8329
  */
7241
8330
  "leaveAnimation"?: AnimationBuilder;
7242
8331
  /**
7243
- * The mode determines which platform styles to use.
8332
+ * The mode determines the platform behaviors of the component.
7244
8333
  */
7245
8334
  "mode"?: "ios" | "md";
7246
8335
  /**
@@ -7283,11 +8372,19 @@ declare namespace LocalJSX {
7283
8372
  * 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.
7284
8373
  */
7285
8374
  "presentingElement"?: HTMLElement;
8375
+ /**
8376
+ * 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.
8377
+ */
8378
+ "shape"?: 'soft' | 'round' | 'rectangular';
7286
8379
  /**
7287
8380
  * 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.
7288
8381
  * @default true
7289
8382
  */
7290
8383
  "showBackdrop"?: boolean;
8384
+ /**
8385
+ * The theme determines the visual appearance of the component.
8386
+ */
8387
+ "theme"?: "ios" | "md" | "ionic";
7291
8388
  /**
7292
8389
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
7293
8390
  */
@@ -7300,9 +8397,13 @@ declare namespace LocalJSX {
7300
8397
  */
7301
8398
  "animated"?: boolean;
7302
8399
  /**
7303
- * 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.
8400
+ * 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.
7304
8401
  */
7305
8402
  "animation"?: AnimationBuilder;
8403
+ /**
8404
+ * The mode determines the platform behaviors of the component.
8405
+ */
8406
+ "mode"?: "ios" | "md";
7306
8407
  /**
7307
8408
  * Event fired when the nav has changed components
7308
8409
  */
@@ -7323,6 +8424,10 @@ declare namespace LocalJSX {
7323
8424
  * If the nav component should allow for swipe-to-go-back.
7324
8425
  */
7325
8426
  "swipeGesture"?: boolean;
8427
+ /**
8428
+ * The theme determines the visual appearance of the component.
8429
+ */
8430
+ "theme"?: "ios" | "md" | "ionic";
7326
8431
  }
7327
8432
  interface IonNavLink {
7328
8433
  /**
@@ -7333,6 +8438,10 @@ declare namespace LocalJSX {
7333
8438
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
7334
8439
  */
7335
8440
  "componentProps"?: ComponentProps;
8441
+ /**
8442
+ * The mode determines the platform behaviors of the component.
8443
+ */
8444
+ "mode"?: "ios" | "md";
7336
8445
  /**
7337
8446
  * The transition animation when navigating to another page.
7338
8447
  */
@@ -7342,6 +8451,10 @@ declare namespace LocalJSX {
7342
8451
  * @default 'forward'
7343
8452
  */
7344
8453
  "routerDirection"?: RouterDirection;
8454
+ /**
8455
+ * The theme determines the visual appearance of the component.
8456
+ */
8457
+ "theme"?: "ios" | "md" | "ionic";
7345
8458
  }
7346
8459
  interface IonNote {
7347
8460
  /**
@@ -7349,15 +8462,23 @@ declare namespace LocalJSX {
7349
8462
  */
7350
8463
  "color"?: Color;
7351
8464
  /**
7352
- * The mode determines which platform styles to use.
8465
+ * The mode determines the platform behaviors of the component.
7353
8466
  */
7354
8467
  "mode"?: "ios" | "md";
8468
+ /**
8469
+ * The theme determines the visual appearance of the component.
8470
+ */
8471
+ "theme"?: "ios" | "md" | "ionic";
7355
8472
  }
7356
8473
  interface IonPicker {
7357
8474
  /**
7358
- * The mode determines which platform styles to use.
8475
+ * The mode determines the platform behaviors of the component.
7359
8476
  */
7360
8477
  "mode"?: "ios" | "md";
8478
+ /**
8479
+ * The theme determines the visual appearance of the component.
8480
+ */
8481
+ "theme"?: "ios" | "md" | "ionic";
7361
8482
  }
7362
8483
  interface IonPickerColumn {
7363
8484
  /**
@@ -7371,13 +8492,17 @@ declare namespace LocalJSX {
7371
8492
  */
7372
8493
  "disabled"?: boolean;
7373
8494
  /**
7374
- * The mode determines which platform styles to use.
8495
+ * The mode determines the platform behaviors of the component.
7375
8496
  */
7376
8497
  "mode"?: "ios" | "md";
7377
8498
  /**
7378
8499
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7379
8500
  */
7380
8501
  "onIonChange"?: (event: IonPickerColumnCustomEvent<PickerColumnChangeEventDetail>) => void;
8502
+ /**
8503
+ * The theme determines the visual appearance of the component.
8504
+ */
8505
+ "theme"?: "ios" | "md" | "ionic";
7381
8506
  /**
7382
8507
  * The selected option in the picker.
7383
8508
  */
@@ -7394,6 +8519,14 @@ declare namespace LocalJSX {
7394
8519
  * @default false
7395
8520
  */
7396
8521
  "disabled"?: boolean;
8522
+ /**
8523
+ * The mode determines the platform behaviors of the component.
8524
+ */
8525
+ "mode"?: "ios" | "md";
8526
+ /**
8527
+ * The theme determines the visual appearance of the component.
8528
+ */
8529
+ "theme"?: "ios" | "md" | "ionic";
7397
8530
  /**
7398
8531
  * The text value of the option.
7399
8532
  */
@@ -7452,7 +8585,7 @@ declare namespace LocalJSX {
7452
8585
  */
7453
8586
  "leaveAnimation"?: AnimationBuilder;
7454
8587
  /**
7455
- * The mode determines which platform styles to use.
8588
+ * The mode determines the platform behaviors of the component.
7456
8589
  */
7457
8590
  "mode"?: "ios" | "md";
7458
8591
  /**
@@ -7492,6 +8625,10 @@ declare namespace LocalJSX {
7492
8625
  * @default true
7493
8626
  */
7494
8627
  "showBackdrop"?: boolean;
8628
+ /**
8629
+ * The theme determines the visual appearance of the component.
8630
+ */
8631
+ "theme"?: "ios" | "md" | "ionic";
7495
8632
  /**
7496
8633
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
7497
8634
  */
@@ -7505,7 +8642,7 @@ declare namespace LocalJSX {
7505
8642
  }
7506
8643
  interface IonPopover {
7507
8644
  /**
7508
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
8645
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
7509
8646
  */
7510
8647
  "alignment"?: PositionAlign;
7511
8648
  /**
@@ -7514,7 +8651,7 @@ declare namespace LocalJSX {
7514
8651
  */
7515
8652
  "animated"?: boolean;
7516
8653
  /**
7517
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
8654
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
7518
8655
  * @default true
7519
8656
  */
7520
8657
  "arrow"?: boolean;
@@ -7573,7 +8710,7 @@ declare namespace LocalJSX {
7573
8710
  */
7574
8711
  "leaveAnimation"?: AnimationBuilder;
7575
8712
  /**
7576
- * The mode determines which platform styles to use.
8713
+ * The mode determines the platform behaviors of the component.
7577
8714
  */
7578
8715
  "mode"?: "ios" | "md";
7579
8716
  /**
@@ -7629,7 +8766,11 @@ declare namespace LocalJSX {
7629
8766
  */
7630
8767
  "size"?: PopoverSize;
7631
8768
  /**
7632
- * 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).
8769
+ * The theme determines the visual appearance of the component.
8770
+ */
8771
+ "theme"?: "ios" | "md" | "ionic";
8772
+ /**
8773
+ * 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).
7633
8774
  * @default false
7634
8775
  */
7635
8776
  "translucent"?: boolean;
@@ -7654,7 +8795,7 @@ declare namespace LocalJSX {
7654
8795
  */
7655
8796
  "color"?: Color;
7656
8797
  /**
7657
- * The mode determines which platform styles to use.
8798
+ * The mode determines the platform behaviors of the component.
7658
8799
  */
7659
8800
  "mode"?: "ios" | "md";
7660
8801
  /**
@@ -7662,6 +8803,14 @@ declare namespace LocalJSX {
7662
8803
  * @default false
7663
8804
  */
7664
8805
  "reversed"?: boolean;
8806
+ /**
8807
+ * 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.
8808
+ */
8809
+ "shape"?: 'round' | 'rectangular';
8810
+ /**
8811
+ * The theme determines the visual appearance of the component.
8812
+ */
8813
+ "theme"?: "ios" | "md" | "ionic";
7665
8814
  /**
7666
8815
  * 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).
7667
8816
  * @default 'determinate'
@@ -7697,7 +8846,7 @@ declare namespace LocalJSX {
7697
8846
  */
7698
8847
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
7699
8848
  /**
7700
- * The mode determines which platform styles to use.
8849
+ * The mode determines the platform behaviors of the component.
7701
8850
  */
7702
8851
  "mode"?: "ios" | "md";
7703
8852
  /**
@@ -7713,6 +8862,10 @@ declare namespace LocalJSX {
7713
8862
  * Emitted when the radio button has focus.
7714
8863
  */
7715
8864
  "onIonFocus"?: (event: IonRadioCustomEvent<void>) => void;
8865
+ /**
8866
+ * The theme determines the visual appearance of the component.
8867
+ */
8868
+ "theme"?: "ios" | "md" | "ionic";
7716
8869
  /**
7717
8870
  * the value of the radio.
7718
8871
  */
@@ -7736,6 +8889,10 @@ declare namespace LocalJSX {
7736
8889
  * The helper text to display at the top of the radio group.
7737
8890
  */
7738
8891
  "helperText"?: string;
8892
+ /**
8893
+ * The mode determines the platform behaviors of the component.
8894
+ */
8895
+ "mode"?: "ios" | "md";
7739
8896
  /**
7740
8897
  * The name of the control, which is submitted with the form data.
7741
8898
  * @default this.inputId
@@ -7745,6 +8902,10 @@ declare namespace LocalJSX {
7745
8902
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7746
8903
  */
7747
8904
  "onIonChange"?: (event: IonRadioGroupCustomEvent<RadioGroupChangeEventDetail>) => void;
8905
+ /**
8906
+ * The theme determines the visual appearance of the component.
8907
+ */
8908
+ "theme"?: "ios" | "md" | "ionic";
7748
8909
  /**
7749
8910
  * the value of the radio group.
7750
8911
  */
@@ -7793,7 +8954,7 @@ declare namespace LocalJSX {
7793
8954
  */
7794
8955
  "min"?: number;
7795
8956
  /**
7796
- * The mode determines which platform styles to use.
8957
+ * The mode determines the platform behaviors of the component.
7797
8958
  */
7798
8959
  "mode"?: "ios" | "md";
7799
8960
  /**
@@ -7845,6 +9006,10 @@ declare namespace LocalJSX {
7845
9006
  * @default 1
7846
9007
  */
7847
9008
  "step"?: number;
9009
+ /**
9010
+ * The theme determines the visual appearance of the component.
9011
+ */
9012
+ "theme"?: "ios" | "md" | "ionic";
7848
9013
  /**
7849
9014
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
7850
9015
  * @default true
@@ -7868,7 +9033,7 @@ declare namespace LocalJSX {
7868
9033
  */
7869
9034
  "disabled"?: boolean;
7870
9035
  /**
7871
- * The mode determines which platform styles to use.
9036
+ * The mode determines the platform behaviors of the component.
7872
9037
  */
7873
9038
  "mode"?: "ios" | "md";
7874
9039
  /**
@@ -7903,8 +9068,16 @@ declare namespace LocalJSX {
7903
9068
  * @default '280ms'
7904
9069
  */
7905
9070
  "snapbackDuration"?: string;
9071
+ /**
9072
+ * The theme determines the visual appearance of the component.
9073
+ */
9074
+ "theme"?: "ios" | "md" | "ionic";
7906
9075
  }
7907
9076
  interface IonRefresherContent {
9077
+ /**
9078
+ * The mode determines the platform behaviors of the component.
9079
+ */
9080
+ "mode"?: "ios" | "md";
7908
9081
  /**
7909
9082
  * 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.
7910
9083
  */
@@ -7921,8 +9094,20 @@ declare namespace LocalJSX {
7921
9094
  * 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.
7922
9095
  */
7923
9096
  "refreshingText"?: string | IonicSafeString;
9097
+ /**
9098
+ * The theme determines the visual appearance of the component.
9099
+ */
9100
+ "theme"?: "ios" | "md" | "ionic";
7924
9101
  }
7925
9102
  interface IonReorder {
9103
+ /**
9104
+ * The mode determines the platform behaviors of the component.
9105
+ */
9106
+ "mode"?: "ios" | "md";
9107
+ /**
9108
+ * The theme determines the visual appearance of the component.
9109
+ */
9110
+ "theme"?: "ios" | "md" | "ionic";
7926
9111
  }
7927
9112
  interface IonReorderGroup {
7928
9113
  /**
@@ -7930,6 +9115,10 @@ declare namespace LocalJSX {
7930
9115
  * @default true
7931
9116
  */
7932
9117
  "disabled"?: boolean;
9118
+ /**
9119
+ * The mode determines the platform behaviors of the component.
9120
+ */
9121
+ "mode"?: "ios" | "md";
7933
9122
  /**
7934
9123
  * Event that needs to be listened to in order to complete the reorder action.
7935
9124
  * @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.
@@ -7947,8 +9136,20 @@ declare namespace LocalJSX {
7947
9136
  * Event that is emitted when the reorder gesture starts.
7948
9137
  */
7949
9138
  "onIonReorderStart"?: (event: IonReorderGroupCustomEvent<void>) => void;
9139
+ /**
9140
+ * The theme determines the visual appearance of the component.
9141
+ */
9142
+ "theme"?: "ios" | "md" | "ionic";
7950
9143
  }
7951
9144
  interface IonRippleEffect {
9145
+ /**
9146
+ * The mode determines the platform behaviors of the component.
9147
+ */
9148
+ "mode"?: "ios" | "md";
9149
+ /**
9150
+ * The theme determines the visual appearance of the component.
9151
+ */
9152
+ "theme"?: "ios" | "md" | "ionic";
7952
9153
  /**
7953
9154
  * 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.
7954
9155
  * @default 'bounded'
@@ -7972,10 +9173,18 @@ declare namespace LocalJSX {
7972
9173
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
7973
9174
  */
7974
9175
  "componentProps"?: { [key: string]: any };
9176
+ /**
9177
+ * The mode determines the platform behaviors of the component.
9178
+ */
9179
+ "mode"?: "ios" | "md";
7975
9180
  /**
7976
9181
  * Used internally by `ion-router` to know when this route did change.
7977
9182
  */
7978
9183
  "onIonRouteDataChanged"?: (event: IonRouteCustomEvent<any>) => void;
9184
+ /**
9185
+ * The theme determines the visual appearance of the component.
9186
+ */
9187
+ "theme"?: "ios" | "md" | "ionic";
7979
9188
  /**
7980
9189
  * 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.
7981
9190
  * @default ''
@@ -7997,6 +9206,10 @@ declare namespace LocalJSX {
7997
9206
  "to": string | undefined | null;
7998
9207
  }
7999
9208
  interface IonRouter {
9209
+ /**
9210
+ * The mode determines the platform behaviors of the component.
9211
+ */
9212
+ "mode"?: "ios" | "md";
8000
9213
  /**
8001
9214
  * Emitted when the route had changed
8002
9215
  */
@@ -8010,6 +9223,10 @@ declare namespace LocalJSX {
8010
9223
  * @default '/'
8011
9224
  */
8012
9225
  "root"?: string;
9226
+ /**
9227
+ * The theme determines the visual appearance of the component.
9228
+ */
9229
+ "theme"?: "ios" | "md" | "ionic";
8013
9230
  /**
8014
9231
  * 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.
8015
9232
  * @default true
@@ -8025,6 +9242,10 @@ declare namespace LocalJSX {
8025
9242
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
8026
9243
  */
8027
9244
  "href"?: string | undefined;
9245
+ /**
9246
+ * The mode determines the platform behaviors of the component.
9247
+ */
9248
+ "mode"?: "ios" | "md";
8028
9249
  /**
8029
9250
  * 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).
8030
9251
  */
@@ -8042,6 +9263,10 @@ declare namespace LocalJSX {
8042
9263
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8043
9264
  */
8044
9265
  "target"?: string | undefined;
9266
+ /**
9267
+ * The theme determines the visual appearance of the component.
9268
+ */
9269
+ "theme"?: "ios" | "md" | "ionic";
8045
9270
  }
8046
9271
  interface IonRouterOutlet {
8047
9272
  /**
@@ -8054,12 +9279,24 @@ declare namespace LocalJSX {
8054
9279
  */
8055
9280
  "animation"?: AnimationBuilder;
8056
9281
  /**
8057
- * The mode determines which platform styles to use.
9282
+ * The mode determines the platform behaviors of the component.
8058
9283
  * @default getIonMode(this)
8059
9284
  */
8060
9285
  "mode"?: "ios" | "md";
9286
+ /**
9287
+ * The theme determines the visual appearance of the component.
9288
+ */
9289
+ "theme"?: "ios" | "md" | "ionic";
8061
9290
  }
8062
9291
  interface IonRow {
9292
+ /**
9293
+ * The mode determines the platform behaviors of the component.
9294
+ */
9295
+ "mode"?: "ios" | "md";
9296
+ /**
9297
+ * The theme determines the visual appearance of the component.
9298
+ */
9299
+ "theme"?: "ios" | "md" | "ionic";
8063
9300
  }
8064
9301
  interface IonSearchbar {
8065
9302
  /**
@@ -8083,17 +9320,16 @@ declare namespace LocalJSX {
8083
9320
  */
8084
9321
  "autocorrect"?: 'on' | 'off';
8085
9322
  /**
8086
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
8087
- * @default config.get('backButtonIcon', arrowBackSharp) as string
9323
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
8088
9324
  */
8089
9325
  "cancelButtonIcon"?: string;
8090
9326
  /**
8091
- * Set the cancel button text. Only applies to `ios` mode.
9327
+ * Set the cancel button text. Only available when the theme is `"ios"`.
8092
9328
  * @default 'Cancel'
8093
9329
  */
8094
9330
  "cancelButtonText"?: string;
8095
9331
  /**
8096
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
9332
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
8097
9333
  */
8098
9334
  "clearIcon"?: string;
8099
9335
  /**
@@ -8126,7 +9362,7 @@ declare namespace LocalJSX {
8126
9362
  */
8127
9363
  "minlength"?: number;
8128
9364
  /**
8129
- * The mode determines which platform styles to use.
9365
+ * The mode determines the platform behaviors of the component.
8130
9366
  */
8131
9367
  "mode"?: "ios" | "md";
8132
9368
  /**
@@ -8164,9 +9400,13 @@ declare namespace LocalJSX {
8164
9400
  */
8165
9401
  "placeholder"?: string;
8166
9402
  /**
8167
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
9403
+ * 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.
9404
+ */
9405
+ "searchIcon"?: string | boolean;
9406
+ /**
9407
+ * 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.
8168
9408
  */
8169
- "searchIcon"?: string;
9409
+ "shape"?: 'soft' | 'round' | 'rectangular';
8170
9410
  /**
8171
9411
  * 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.
8172
9412
  * @default 'never'
@@ -8177,11 +9417,19 @@ declare namespace LocalJSX {
8177
9417
  * @default 'always'
8178
9418
  */
8179
9419
  "showClearButton"?: 'never' | 'focus' | 'always';
9420
+ /**
9421
+ * 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.
9422
+ */
9423
+ "size"?: 'small' | 'medium' | 'large';
8180
9424
  /**
8181
9425
  * If `true`, enable spellcheck on the input.
8182
9426
  * @default false
8183
9427
  */
8184
9428
  "spellcheck"?: boolean;
9429
+ /**
9430
+ * The theme determines the visual appearance of the component.
9431
+ */
9432
+ "theme"?: "ios" | "md" | "ionic";
8185
9433
  /**
8186
9434
  * Set the type of the input.
8187
9435
  * @default 'search'
@@ -8204,7 +9452,7 @@ declare namespace LocalJSX {
8204
9452
  */
8205
9453
  "disabled"?: boolean;
8206
9454
  /**
8207
- * The mode determines which platform styles to use.
9455
+ * The mode determines the platform behaviors of the component.
8208
9456
  */
8209
9457
  "mode"?: "ios" | "md";
8210
9458
  /**
@@ -8226,6 +9474,10 @@ declare namespace LocalJSX {
8226
9474
  * @default true
8227
9475
  */
8228
9476
  "swipeGesture"?: boolean;
9477
+ /**
9478
+ * The theme determines the visual appearance of the component.
9479
+ */
9480
+ "theme"?: "ios" | "md" | "ionic";
8229
9481
  /**
8230
9482
  * the value of the segment.
8231
9483
  */
@@ -8247,9 +9499,13 @@ declare namespace LocalJSX {
8247
9499
  */
8248
9500
  "layout"?: SegmentButtonLayout;
8249
9501
  /**
8250
- * The mode determines which platform styles to use.
9502
+ * The mode determines the platform behaviors of the component.
8251
9503
  */
8252
9504
  "mode"?: "ios" | "md";
9505
+ /**
9506
+ * The theme determines the visual appearance of the component.
9507
+ */
9508
+ "theme"?: "ios" | "md" | "ionic";
8253
9509
  /**
8254
9510
  * The type of the button.
8255
9511
  * @default 'button'
@@ -8298,11 +9554,11 @@ declare namespace LocalJSX {
8298
9554
  */
8299
9555
  "errorText"?: string;
8300
9556
  /**
8301
- * 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.
9557
+ * 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.
8302
9558
  */
8303
9559
  "expandedIcon"?: string;
8304
9560
  /**
8305
- * 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.
9561
+ * 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.
8306
9562
  */
8307
9563
  "fill"?: 'outline' | 'solid';
8308
9564
  /**
@@ -8333,7 +9589,7 @@ declare namespace LocalJSX {
8333
9589
  */
8334
9590
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
8335
9591
  /**
8336
- * The mode determines which platform styles to use.
9592
+ * The mode determines the platform behaviors of the component.
8337
9593
  */
8338
9594
  "mode"?: "ios" | "md";
8339
9595
  /**
@@ -8385,11 +9641,19 @@ declare namespace LocalJSX {
8385
9641
  */
8386
9642
  "selectedText"?: string | null;
8387
9643
  /**
8388
- * The shape of the select. If "round" it will have an increased border radius.
9644
+ * 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.
9645
+ */
9646
+ "shape"?: 'soft' | 'round' | 'rectangular';
9647
+ /**
9648
+ * 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.
9649
+ */
9650
+ "size"?: 'small' | 'medium' | 'large';
9651
+ /**
9652
+ * The theme determines the visual appearance of the component.
8389
9653
  */
8390
- "shape"?: 'round';
9654
+ "theme"?: "ios" | "md" | "ionic";
8391
9655
  /**
8392
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
9656
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
8393
9657
  */
8394
9658
  "toggleIcon"?: string;
8395
9659
  /**
@@ -8411,6 +9675,14 @@ declare namespace LocalJSX {
8411
9675
  * @default false
8412
9676
  */
8413
9677
  "disabled"?: boolean;
9678
+ /**
9679
+ * The mode determines the platform behaviors of the component.
9680
+ */
9681
+ "mode"?: "ios" | "md";
9682
+ /**
9683
+ * The theme determines the visual appearance of the component.
9684
+ */
9685
+ "theme"?: "ios" | "md" | "ionic";
8414
9686
  /**
8415
9687
  * The text value of the option.
8416
9688
  */
@@ -8425,6 +9697,10 @@ declare namespace LocalJSX {
8425
9697
  * The text content of the popover body
8426
9698
  */
8427
9699
  "message"?: string;
9700
+ /**
9701
+ * The mode determines the platform behaviors of the component.
9702
+ */
9703
+ "mode"?: "ios" | "md";
8428
9704
  /**
8429
9705
  * If true, the select accepts multiple values
8430
9706
  */
@@ -8438,6 +9714,10 @@ declare namespace LocalJSX {
8438
9714
  * The subheader text of the popover
8439
9715
  */
8440
9716
  "subHeader"?: string;
9717
+ /**
9718
+ * The theme determines the visual appearance of the component.
9719
+ */
9720
+ "theme"?: "ios" | "md" | "ionic";
8441
9721
  }
8442
9722
  interface IonSkeletonText {
8443
9723
  /**
@@ -8445,6 +9725,14 @@ declare namespace LocalJSX {
8445
9725
  * @default false
8446
9726
  */
8447
9727
  "animated"?: boolean;
9728
+ /**
9729
+ * The mode determines the platform behaviors of the component.
9730
+ */
9731
+ "mode"?: "ios" | "md";
9732
+ /**
9733
+ * The theme determines the visual appearance of the component.
9734
+ */
9735
+ "theme"?: "ios" | "md" | "ionic";
8448
9736
  }
8449
9737
  interface IonSpinner {
8450
9738
  /**
@@ -8455,6 +9743,10 @@ declare namespace LocalJSX {
8455
9743
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
8456
9744
  */
8457
9745
  "duration"?: number;
9746
+ /**
9747
+ * The mode determines the platform behaviors of the component.
9748
+ */
9749
+ "mode"?: "ios" | "md";
8458
9750
  /**
8459
9751
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
8460
9752
  */
@@ -8464,6 +9756,14 @@ declare namespace LocalJSX {
8464
9756
  * @default false
8465
9757
  */
8466
9758
  "paused"?: boolean;
9759
+ /**
9760
+ * 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.
9761
+ */
9762
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
9763
+ /**
9764
+ * The theme determines the visual appearance of the component.
9765
+ */
9766
+ "theme"?: "ios" | "md" | "ionic";
8467
9767
  }
8468
9768
  interface IonSplitPane {
8469
9769
  /**
@@ -8475,10 +9775,18 @@ declare namespace LocalJSX {
8475
9775
  * @default false
8476
9776
  */
8477
9777
  "disabled"?: boolean;
9778
+ /**
9779
+ * The mode determines the platform behaviors of the component.
9780
+ */
9781
+ "mode"?: "ios" | "md";
8478
9782
  /**
8479
9783
  * Expression to be called when the split-pane visibility has changed
8480
9784
  */
8481
9785
  "onIonSplitPaneVisible"?: (event: IonSplitPaneCustomEvent<{ visible: boolean }>) => void;
9786
+ /**
9787
+ * The theme determines the visual appearance of the component.
9788
+ */
9789
+ "theme"?: "ios" | "md" | "ionic";
8482
9790
  /**
8483
9791
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
8484
9792
  * @default QUERY['lg']
@@ -8490,10 +9798,18 @@ declare namespace LocalJSX {
8490
9798
  * The component to display inside of the tab.
8491
9799
  */
8492
9800
  "component"?: ComponentRef;
9801
+ /**
9802
+ * The mode determines the platform behaviors of the component.
9803
+ */
9804
+ "mode"?: "ios" | "md";
8493
9805
  /**
8494
9806
  * 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.
8495
9807
  */
8496
9808
  "tab": string;
9809
+ /**
9810
+ * The theme determines the visual appearance of the component.
9811
+ */
9812
+ "theme"?: "ios" | "md" | "ionic";
8497
9813
  }
8498
9814
  interface IonTabBar {
8499
9815
  /**
@@ -8501,7 +9817,12 @@ declare namespace LocalJSX {
8501
9817
  */
8502
9818
  "color"?: Color;
8503
9819
  /**
8504
- * The mode determines which platform styles to use.
9820
+ * 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"`.
9821
+ * @default 'full'
9822
+ */
9823
+ "expand"?: 'compact' | 'full';
9824
+ /**
9825
+ * The mode determines the platform behaviors of the component.
8505
9826
  */
8506
9827
  "mode"?: "ios" | "md";
8507
9828
  /**
@@ -8509,7 +9830,15 @@ declare namespace LocalJSX {
8509
9830
  */
8510
9831
  "selectedTab"?: string;
8511
9832
  /**
8512
- * 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).
9833
+ * 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.
9834
+ */
9835
+ "shape"?: 'soft' | 'round' | 'rectangular';
9836
+ /**
9837
+ * The theme determines the visual appearance of the component.
9838
+ */
9839
+ "theme"?: "ios" | "md" | "ionic";
9840
+ /**
9841
+ * 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).
8513
9842
  * @default false
8514
9843
  */
8515
9844
  "translucent"?: boolean;
@@ -8533,7 +9862,7 @@ declare namespace LocalJSX {
8533
9862
  */
8534
9863
  "layout"?: TabButtonLayout;
8535
9864
  /**
8536
- * The mode determines which platform styles to use.
9865
+ * The mode determines the platform behaviors of the component.
8537
9866
  */
8538
9867
  "mode"?: "ios" | "md";
8539
9868
  /**
@@ -8545,6 +9874,10 @@ declare namespace LocalJSX {
8545
9874
  * @default false
8546
9875
  */
8547
9876
  "selected"?: boolean;
9877
+ /**
9878
+ * 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.
9879
+ */
9880
+ "shape"?: 'soft' | 'round' | 'rectangular';
8548
9881
  /**
8549
9882
  * 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.
8550
9883
  */
@@ -8553,8 +9886,16 @@ declare namespace LocalJSX {
8553
9886
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8554
9887
  */
8555
9888
  "target"?: string | undefined;
9889
+ /**
9890
+ * The theme determines the visual appearance of the component.
9891
+ */
9892
+ "theme"?: "ios" | "md" | "ionic";
8556
9893
  }
8557
9894
  interface IonTabs {
9895
+ /**
9896
+ * The mode determines the platform behaviors of the component.
9897
+ */
9898
+ "mode"?: "ios" | "md";
8558
9899
  /**
8559
9900
  * Emitted when the navigation has finished transitioning to a new component.
8560
9901
  */
@@ -8563,6 +9904,10 @@ declare namespace LocalJSX {
8563
9904
  * Emitted when the navigation is about to transition to a new component.
8564
9905
  */
8565
9906
  "onIonTabsWillChange"?: (event: IonTabsCustomEvent<{ tab: string }>) => void;
9907
+ /**
9908
+ * The theme determines the visual appearance of the component.
9909
+ */
9910
+ "theme"?: "ios" | "md" | "ionic";
8566
9911
  }
8567
9912
  interface IonText {
8568
9913
  /**
@@ -8570,9 +9915,13 @@ declare namespace LocalJSX {
8570
9915
  */
8571
9916
  "color"?: Color;
8572
9917
  /**
8573
- * The mode determines which platform styles to use.
9918
+ * The mode determines the platform behaviors of the component.
8574
9919
  */
8575
9920
  "mode"?: "ios" | "md";
9921
+ /**
9922
+ * The theme determines the visual appearance of the component.
9923
+ */
9924
+ "theme"?: "ios" | "md" | "ionic";
8576
9925
  }
8577
9926
  interface IonTextarea {
8578
9927
  /**
@@ -8630,7 +9979,7 @@ declare namespace LocalJSX {
8630
9979
  */
8631
9980
  "errorText"?: string;
8632
9981
  /**
8633
- * 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.
9982
+ * 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"`.
8634
9983
  */
8635
9984
  "fill"?: 'outline' | 'solid';
8636
9985
  /**
@@ -8659,7 +10008,7 @@ declare namespace LocalJSX {
8659
10008
  */
8660
10009
  "minlength"?: number;
8661
10010
  /**
8662
- * The mode determines which platform styles to use.
10011
+ * The mode determines the platform behaviors of the component.
8663
10012
  */
8664
10013
  "mode"?: "ios" | "md";
8665
10014
  /**
@@ -8702,14 +10051,23 @@ declare namespace LocalJSX {
8702
10051
  */
8703
10052
  "rows"?: number;
8704
10053
  /**
8705
- * The shape of the textarea. If "round" it will have an increased border radius.
10054
+ * 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.
10055
+ */
10056
+ "shape"?: 'soft' | 'round' | 'rectangular';
10057
+ /**
10058
+ * 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.
10059
+ * @default 'medium'
8706
10060
  */
8707
- "shape"?: 'round';
10061
+ "size"?: 'small' | 'medium' | 'large';
8708
10062
  /**
8709
10063
  * If `true`, the element will have its spelling and grammar checked.
8710
10064
  * @default false
8711
10065
  */
8712
10066
  "spellcheck"?: boolean;
10067
+ /**
10068
+ * The theme determines the visual appearance of the component.
10069
+ */
10070
+ "theme"?: "ios" | "md" | "ionic";
8713
10071
  /**
8714
10072
  * The value of the textarea.
8715
10073
  * @default ''
@@ -8721,16 +10079,32 @@ declare namespace LocalJSX {
8721
10079
  "wrap"?: 'hard' | 'soft' | 'off';
8722
10080
  }
8723
10081
  interface IonThumbnail {
10082
+ /**
10083
+ * The mode determines the platform behaviors of the component.
10084
+ */
10085
+ "mode"?: "ios" | "md";
10086
+ /**
10087
+ * The theme determines the visual appearance of the component.
10088
+ */
10089
+ "theme"?: "ios" | "md" | "ionic";
8724
10090
  }
8725
10091
  interface IonTitle {
8726
10092
  /**
8727
10093
  * 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).
8728
10094
  */
8729
10095
  "color"?: Color;
10096
+ /**
10097
+ * The mode determines the platform behaviors of the component.
10098
+ */
10099
+ "mode"?: "ios" | "md";
8730
10100
  /**
8731
10101
  * The size of the toolbar title.
8732
10102
  */
8733
10103
  "size"?: 'large' | 'small';
10104
+ /**
10105
+ * The theme determines the visual appearance of the component.
10106
+ */
10107
+ "theme"?: "ios" | "md" | "ionic";
8734
10108
  }
8735
10109
  interface IonToast {
8736
10110
  /**
@@ -8767,6 +10141,11 @@ declare namespace LocalJSX {
8767
10141
  * Additional attributes to pass to the toast.
8768
10142
  */
8769
10143
  "htmlAttributes"?: { [key: string]: any };
10144
+ /**
10145
+ * 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.
10146
+ * @default 'subtle'
10147
+ */
10148
+ "hue"?: 'bold' | 'subtle';
8770
10149
  /**
8771
10150
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
8772
10151
  */
@@ -8795,7 +10174,7 @@ declare namespace LocalJSX {
8795
10174
  */
8796
10175
  "message"?: string | IonicSafeString;
8797
10176
  /**
8798
- * The mode determines which platform styles to use.
10177
+ * The mode determines the platform behaviors of the component.
8799
10178
  */
8800
10179
  "mode"?: "ios" | "md";
8801
10180
  /**
@@ -8839,12 +10218,20 @@ declare namespace LocalJSX {
8839
10218
  * 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.
8840
10219
  */
8841
10220
  "positionAnchor"?: HTMLElement | string;
10221
+ /**
10222
+ * 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.
10223
+ */
10224
+ "shape"?: 'soft' | 'round' | 'rectangular';
8842
10225
  /**
8843
10226
  * 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.
8844
10227
  */
8845
10228
  "swipeGesture"?: ToastSwipeGestureDirection;
8846
10229
  /**
8847
- * 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).
10230
+ * The theme determines the visual appearance of the component.
10231
+ */
10232
+ "theme"?: "ios" | "md" | "ionic";
10233
+ /**
10234
+ * 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).
8848
10235
  * @default false
8849
10236
  */
8850
10237
  "translucent"?: boolean;
@@ -8895,7 +10282,7 @@ declare namespace LocalJSX {
8895
10282
  */
8896
10283
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
8897
10284
  /**
8898
- * The mode determines which platform styles to use.
10285
+ * The mode determines the platform behaviors of the component.
8899
10286
  */
8900
10287
  "mode"?: "ios" | "md";
8901
10288
  /**
@@ -8920,6 +10307,10 @@ declare namespace LocalJSX {
8920
10307
  * @default false
8921
10308
  */
8922
10309
  "required"?: boolean;
10310
+ /**
10311
+ * The theme determines the visual appearance of the component.
10312
+ */
10313
+ "theme"?: "ios" | "md" | "ionic";
8923
10314
  /**
8924
10315
  * 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>`.
8925
10316
  * @default 'on'
@@ -8932,9 +10323,13 @@ declare namespace LocalJSX {
8932
10323
  */
8933
10324
  "color"?: Color;
8934
10325
  /**
8935
- * The mode determines which platform styles to use.
10326
+ * The mode determines the platform behaviors of the component.
8936
10327
  */
8937
10328
  "mode"?: "ios" | "md";
10329
+ /**
10330
+ * The theme determines the visual appearance of the component.
10331
+ */
10332
+ "theme"?: "ios" | "md" | "ionic";
8938
10333
  }
8939
10334
  interface IntrinsicElements {
8940
10335
  "ion-accordion": IonAccordion;
@@ -8961,6 +10356,7 @@ declare namespace LocalJSX {
8961
10356
  "ion-content": IonContent;
8962
10357
  "ion-datetime": IonDatetime;
8963
10358
  "ion-datetime-button": IonDatetimeButton;
10359
+ "ion-divider": IonDivider;
8964
10360
  "ion-fab": IonFab;
8965
10361
  "ion-fab-button": IonFabButton;
8966
10362
  "ion-fab-list": IonFabList;
@@ -9064,6 +10460,7 @@ declare module "@stencil/core" {
9064
10460
  "ion-content": LocalJSX.IonContent & JSXBase.HTMLAttributes<HTMLIonContentElement>;
9065
10461
  "ion-datetime": LocalJSX.IonDatetime & JSXBase.HTMLAttributes<HTMLIonDatetimeElement>;
9066
10462
  "ion-datetime-button": LocalJSX.IonDatetimeButton & JSXBase.HTMLAttributes<HTMLIonDatetimeButtonElement>;
10463
+ "ion-divider": LocalJSX.IonDivider & JSXBase.HTMLAttributes<HTMLIonDividerElement>;
9067
10464
  "ion-fab": LocalJSX.IonFab & JSXBase.HTMLAttributes<HTMLIonFabElement>;
9068
10465
  "ion-fab-button": LocalJSX.IonFabButton & JSXBase.HTMLAttributes<HTMLIonFabButtonElement>;
9069
10466
  "ion-fab-list": LocalJSX.IonFabList & JSXBase.HTMLAttributes<HTMLIonFabListElement>;