@ionic/core 8.2.1 → 8.2.2-dev.11717790867.100c8d5e

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 (987) hide show
  1. package/components/action-sheet.js +13 -8
  2. package/components/alert.js +14 -10
  3. package/components/backdrop.js +10 -6
  4. package/components/button.js +41 -12
  5. package/components/buttons.js +10 -6
  6. package/components/checkbox.js +26 -13
  7. package/components/data.js +4 -4
  8. package/components/index2.js +1 -2
  9. package/components/index4.js +8 -7
  10. package/components/index6.js +27 -30
  11. package/components/index7.js +124 -27
  12. package/components/index8.js +150 -111
  13. package/components/input-shims.js +1 -1
  14. package/components/input.utils.js +1 -1
  15. package/components/ion-accordion-group.js +9 -6
  16. package/components/ion-accordion.js +15 -9
  17. package/components/ion-app.js +5 -6
  18. package/components/ion-avatar.js +52 -3
  19. package/components/ion-back-button.js +15 -11
  20. package/components/ion-badge.js +42 -6
  21. package/components/ion-breadcrumb.js +16 -10
  22. package/components/ion-breadcrumbs.js +9 -5
  23. package/components/ion-card-content.js +9 -5
  24. package/components/ion-card-header.js +9 -5
  25. package/components/ion-card-subtitle.js +9 -5
  26. package/components/ion-card-title.js +9 -5
  27. package/components/ion-card.js +17 -9
  28. package/components/ion-chip.js +45 -8
  29. package/components/ion-col.js +5 -5
  30. package/components/ion-content.js +11 -11
  31. package/components/ion-datetime-button.js +9 -6
  32. package/components/ion-datetime.js +47 -20
  33. package/components/ion-fab-button.js +15 -9
  34. package/components/ion-fab-list.js +5 -5
  35. package/components/ion-fab.js +6 -6
  36. package/components/ion-footer.js +15 -11
  37. package/components/ion-grid.js +5 -5
  38. package/components/ion-header.js +15 -11
  39. package/components/ion-img.js +5 -2
  40. package/components/ion-infinite-scroll-content.js +12 -8
  41. package/components/ion-infinite-scroll.js +5 -5
  42. package/components/ion-input-password-toggle.js +7 -8
  43. package/components/ion-input.js +101 -20
  44. package/components/ion-item-divider.js +9 -5
  45. package/components/ion-item-group.js +9 -5
  46. package/components/ion-item-option.js +11 -7
  47. package/components/ion-item-options.js +9 -5
  48. package/components/ion-item-sliding.js +5 -5
  49. package/components/ion-loading.js +12 -8
  50. package/components/ion-menu-button.js +13 -9
  51. package/components/ion-menu-toggle.js +5 -5
  52. package/components/ion-menu.js +11 -7
  53. package/components/ion-modal.js +14 -11
  54. package/components/ion-nav-link.js +1 -1
  55. package/components/ion-nav.js +7 -6
  56. package/components/ion-note.js +9 -5
  57. package/components/ion-picker-legacy.js +7 -8
  58. package/components/ion-progress-bar.js +10 -6
  59. package/components/ion-range.js +11 -8
  60. package/components/ion-refresher-content.js +9 -8
  61. package/components/ion-refresher.js +11 -7
  62. package/components/ion-reorder-group.js +5 -5
  63. package/components/ion-reorder.js +23 -5
  64. package/components/ion-router-link.js +6 -6
  65. package/components/ion-router-outlet.js +2 -2
  66. package/components/ion-row.js +5 -2
  67. package/components/ion-searchbar.js +62 -16
  68. package/components/ion-segment-button.js +12 -8
  69. package/components/ion-segment.js +9 -5
  70. package/components/ion-select-option.js +5 -2
  71. package/components/ion-select.js +67 -28
  72. package/components/ion-skeleton-text.js +5 -5
  73. package/components/ion-split-pane.js +12 -8
  74. package/components/ion-tab-bar.js +9 -5
  75. package/components/ion-tab-button.js +11 -7
  76. package/components/ion-tab.js +2 -2
  77. package/components/ion-tabs.js +2 -2
  78. package/components/ion-text.js +5 -5
  79. package/components/ion-textarea.js +13 -9
  80. package/components/ion-thumbnail.js +5 -2
  81. package/components/ion-title.js +9 -5
  82. package/components/ion-toast.js +13 -9
  83. package/components/ion-toggle.js +56 -18
  84. package/components/ion-toolbar.js +11 -7
  85. package/components/ionic-global.js +191 -14
  86. package/components/ios.transition.js +1 -0
  87. package/components/item.js +17 -11
  88. package/components/label.js +9 -5
  89. package/components/list-header.js +9 -5
  90. package/components/list.js +10 -6
  91. package/components/overlays.js +1 -2
  92. package/components/picker-column-option.js +9 -5
  93. package/components/picker-column.js +7 -7
  94. package/components/picker-column2.js +4 -4
  95. package/components/picker.js +8 -4
  96. package/components/popover.js +11 -8
  97. package/components/radio-group.js +5 -3
  98. package/components/radio.js +12 -8
  99. package/components/ripple-effect.js +5 -5
  100. package/components/select-popover.js +9 -2
  101. package/components/spinner.js +6 -6
  102. package/components/status-tap.js +1 -1
  103. package/css/core.css +1 -1
  104. package/css/core.css.map +1 -1
  105. package/css/display.css.map +1 -1
  106. package/css/flex-utils.css.map +1 -1
  107. package/css/float-elements.css.map +1 -1
  108. package/css/global.bundle.css.map +1 -1
  109. package/css/ionic/bundle.ionic.css +1 -0
  110. package/css/ionic/bundle.ionic.css.map +1 -0
  111. package/css/ionic/core.ionic.css +1 -0
  112. package/css/ionic/core.ionic.css.map +1 -0
  113. package/css/ionic/global.bundle.ionic.css +1 -0
  114. package/css/ionic/global.bundle.ionic.css.map +1 -0
  115. package/css/ionic/ionic-swiper.ionic.css +1 -0
  116. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  117. package/css/ionic/link.ionic.css +1 -0
  118. package/css/ionic/link.ionic.css.map +1 -0
  119. package/css/ionic/structure.ionic.css +1 -0
  120. package/css/ionic/structure.ionic.css.map +1 -0
  121. package/css/ionic/typography.ionic.css +1 -0
  122. package/css/ionic/typography.ionic.css.map +1 -0
  123. package/css/ionic/utils.bundle.ionic.css +1 -0
  124. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  125. package/css/ionic-swiper.css +1 -1
  126. package/css/ionic-swiper.css.map +1 -1
  127. package/css/ionic.bundle.css +1 -1
  128. package/css/ionic.bundle.css.map +1 -1
  129. package/css/normalize.css.map +1 -1
  130. package/css/padding.css.map +1 -1
  131. package/css/palettes/dark.always.css.map +1 -1
  132. package/css/palettes/dark.class.css.map +1 -1
  133. package/css/palettes/dark.system.css.map +1 -1
  134. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  135. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  136. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  137. package/css/palettes/high-contrast.always.css.map +1 -1
  138. package/css/palettes/high-contrast.class.css.map +1 -1
  139. package/css/palettes/high-contrast.system.css.map +1 -1
  140. package/css/structure.css.map +1 -1
  141. package/css/text-alignment.css.map +1 -1
  142. package/css/text-transformation.css.map +1 -1
  143. package/css/typography.css.map +1 -1
  144. package/css/utils.bundle.css.map +1 -1
  145. package/dist/cjs/{app-globals-64aa7919.js → app-globals-5b0a3f95.js} +1 -1
  146. package/dist/cjs/{data-21dc0f81.js → data-7d67d1e3.js} +6 -6
  147. package/dist/cjs/{hardware-back-button-9931602c.js → hardware-back-button-a90bf4cd.js} +1 -1
  148. package/dist/cjs/{index-63e64bb7.js → index-59095e03.js} +13 -12
  149. package/dist/cjs/{index-8a653282.js → index-71f7488c.js} +7 -8
  150. package/dist/cjs/{index-5b6a7459.js → index-ca6de37f.js} +2 -2
  151. package/dist/cjs/index.cjs.js +7 -8
  152. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-58aadbb2.js} +3 -2
  153. package/dist/cjs/{input.utils-611cde0b.js → input.utils-d9907cfc.js} +2 -2
  154. package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -14
  155. package/dist/cjs/ion-action-sheet.cjs.entry.js +15 -11
  156. package/dist/cjs/ion-alert.cjs.entry.js +16 -13
  157. package/dist/cjs/ion-app_8.cjs.entry.js +86 -67
  158. package/dist/cjs/ion-avatar_3.cjs.entry.js +90 -7
  159. package/dist/cjs/ion-back-button.cjs.entry.js +14 -10
  160. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -6
  161. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +23 -13
  162. package/dist/cjs/ion-button_2.cjs.entry.js +44 -15
  163. package/dist/cjs/ion-card_5.cjs.entry.js +48 -25
  164. package/dist/cjs/ion-checkbox.cjs.entry.js +23 -12
  165. package/dist/cjs/ion-chip.cjs.entry.js +42 -7
  166. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  167. package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -11
  168. package/dist/cjs/ion-datetime_3.cjs.entry.js +135 -108
  169. package/dist/cjs/ion-fab_3.cjs.entry.js +23 -17
  170. package/dist/cjs/ion-img.cjs.entry.js +5 -2
  171. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +16 -13
  172. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -10
  173. package/dist/cjs/ion-input.cjs.entry.js +99 -20
  174. package/dist/cjs/ion-item-option_3.cjs.entry.js +23 -16
  175. package/dist/cjs/ion-item_8.cjs.entry.js +69 -39
  176. package/dist/cjs/ion-loading.cjs.entry.js +14 -11
  177. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -22
  178. package/dist/cjs/ion-modal.cjs.entry.js +22 -19
  179. package/dist/cjs/ion-nav_2.cjs.entry.js +9 -8
  180. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -5
  181. package/dist/cjs/ion-picker-column.cjs.entry.js +7 -7
  182. package/dist/cjs/ion-picker.cjs.entry.js +8 -4
  183. package/dist/cjs/ion-popover.cjs.entry.js +17 -14
  184. package/dist/cjs/ion-progress-bar.cjs.entry.js +10 -6
  185. package/dist/cjs/ion-radio_2.cjs.entry.js +16 -10
  186. package/dist/cjs/ion-range.cjs.entry.js +16 -13
  187. package/dist/cjs/ion-refresher_2.cjs.entry.js +18 -14
  188. package/dist/cjs/ion-reorder_2.cjs.entry.js +26 -9
  189. package/dist/cjs/ion-ripple-effect.cjs.entry.js +5 -5
  190. package/dist/cjs/ion-route_4.cjs.entry.js +6 -6
  191. package/dist/cjs/ion-searchbar.cjs.entry.js +61 -15
  192. package/dist/cjs/ion-segment_2.cjs.entry.js +20 -12
  193. package/dist/cjs/ion-select_3.cjs.entry.js +80 -32
  194. package/dist/cjs/ion-spinner.cjs.entry.js +6 -6
  195. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -8
  196. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +19 -11
  197. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  198. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  199. package/dist/cjs/ion-textarea.cjs.entry.js +14 -11
  200. package/dist/cjs/ion-toast.cjs.entry.js +36 -32
  201. package/dist/cjs/ion-toggle.cjs.entry.js +55 -17
  202. package/dist/cjs/ionic-global-2bd379ad.js +418 -0
  203. package/dist/cjs/ionic.cjs.js +3 -3
  204. package/dist/cjs/{ios.transition-d94b6863.js → ios.transition-4a91b726.js} +3 -3
  205. package/dist/cjs/loader.cjs.js +3 -3
  206. package/dist/cjs/{md.transition-297be114.js → md.transition-1d783fa9.js} +2 -3
  207. package/dist/cjs/{overlays-569f7878.js → overlays-0c0d0193.js} +3 -4
  208. package/dist/cjs/{status-tap-607c6244.js → status-tap-87959a2f.js} +2 -2
  209. package/dist/collection/components/accordion/accordion.ios.css +12 -0
  210. package/dist/collection/components/accordion/accordion.js +19 -15
  211. package/dist/collection/components/accordion/accordion.md.css +6 -0
  212. package/dist/collection/components/accordion-group/accordion-group.ios.css +12 -0
  213. package/dist/collection/components/accordion-group/accordion-group.js +11 -8
  214. package/dist/collection/components/accordion-group/accordion-group.md.css +18 -0
  215. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  216. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  217. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  218. package/dist/collection/components/alert/alert.ios.css +19 -1
  219. package/dist/collection/components/alert/alert.js +15 -12
  220. package/dist/collection/components/alert/alert.md.css +19 -1
  221. package/dist/collection/components/app/app.js +8 -4
  222. package/dist/collection/components/avatar/avatar.ionic.css +255 -0
  223. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  224. package/dist/collection/components/avatar/avatar.js +92 -4
  225. package/dist/collection/components/avatar/avatar.md.css +12 -0
  226. package/dist/collection/components/avatar/test/shape/avatar.e2e.js +134 -0
  227. package/dist/collection/components/avatar/test/size/avatar.e2e.js +147 -0
  228. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  229. package/dist/collection/components/back-button/back-button.js +14 -11
  230. package/dist/collection/components/back-button/back-button.md.css +60 -48
  231. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  232. package/dist/collection/components/backdrop/backdrop.js +12 -6
  233. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  234. package/dist/collection/components/badge/badge.ionic.css +256 -0
  235. package/dist/collection/components/badge/badge.ios.css +12 -0
  236. package/dist/collection/components/badge/badge.js +75 -8
  237. package/dist/collection/components/badge/badge.md.css +12 -0
  238. package/dist/collection/components/badge/test/shape/badge.e2e.js +84 -0
  239. package/dist/collection/components/badge/test/size/badge.e2e.js +96 -0
  240. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  241. package/dist/collection/components/breadcrumb/breadcrumb.js +16 -10
  242. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  243. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  244. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  245. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  246. package/dist/collection/components/button/button.ionic.css +417 -0
  247. package/dist/collection/components/button/button.ios.css +42 -16
  248. package/dist/collection/components/button/button.js +46 -17
  249. package/dist/collection/components/button/button.md.css +33 -20
  250. package/dist/collection/components/button/test/clear/button.e2e.js +6 -3
  251. package/dist/collection/components/button/test/outline/button.e2e.js +1 -0
  252. package/dist/collection/components/button/test/shape/button.e2e.js +250 -0
  253. package/dist/collection/components/button/test/size/button.e2e.js +18 -1
  254. package/dist/collection/components/button/test/states/button.e2e.js +51 -0
  255. package/dist/collection/components/buttons/buttons.ios.css +22 -4
  256. package/dist/collection/components/buttons/buttons.js +14 -8
  257. package/dist/collection/components/buttons/buttons.md.css +18 -0
  258. package/dist/collection/components/card/card.ionic.css +88 -0
  259. package/dist/collection/components/card/card.ios.css +30 -4
  260. package/dist/collection/components/card/card.js +34 -10
  261. package/dist/collection/components/card/card.md.css +30 -4
  262. package/dist/collection/components/card/test/shape/card.e2e.js +40 -0
  263. package/dist/collection/components/card-content/card-content.ios.css +12 -0
  264. package/dist/collection/components/card-content/card-content.js +11 -8
  265. package/dist/collection/components/card-content/card-content.md.css +12 -0
  266. package/dist/collection/components/card-header/card-header.ios.css +12 -0
  267. package/dist/collection/components/card-header/card-header.js +12 -9
  268. package/dist/collection/components/card-header/card-header.md.css +12 -0
  269. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  270. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  271. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  272. package/dist/collection/components/card-title/card-title.ios.css +12 -0
  273. package/dist/collection/components/card-title/card-title.js +11 -8
  274. package/dist/collection/components/card-title/card-title.md.css +12 -0
  275. package/dist/collection/components/checkbox/checkbox.ionic.css +386 -0
  276. package/dist/collection/components/checkbox/checkbox.ios.css +20 -2
  277. package/dist/collection/components/checkbox/checkbox.js +59 -14
  278. package/dist/collection/components/checkbox/checkbox.md.css +21 -3
  279. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +66 -1
  280. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +1 -1
  281. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +32 -1
  282. package/dist/collection/components/chip/chip.ionic.css +141 -0
  283. package/dist/collection/components/chip/chip.ios.css +20 -1
  284. package/dist/collection/components/chip/chip.js +77 -8
  285. package/dist/collection/components/chip/chip.md.css +20 -1
  286. package/dist/collection/components/chip/test/shape/chip.e2e.js +39 -0
  287. package/dist/collection/components/chip/test/size/chip.e2e.js +26 -0
  288. package/dist/collection/components/chip/test/states/chip.e2e.js +16 -0
  289. package/dist/collection/components/col/col.css +12 -0
  290. package/dist/collection/components/col/col.js +9 -5
  291. package/dist/collection/components/content/content.css +8 -2
  292. package/dist/collection/components/content/content.js +13 -10
  293. package/dist/collection/components/datetime/datetime.ios.css +15 -3
  294. package/dist/collection/components/datetime/datetime.js +47 -19
  295. package/dist/collection/components/datetime/datetime.md.css +15 -3
  296. package/dist/collection/components/datetime/utils/data.js +3 -3
  297. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  298. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  299. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  300. package/dist/collection/components/fab/fab.css +25 -1
  301. package/dist/collection/components/fab/fab.js +9 -5
  302. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  303. package/dist/collection/components/fab-button/fab-button.js +19 -14
  304. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  305. package/dist/collection/components/fab-list/fab-list.css +12 -0
  306. package/dist/collection/components/fab-list/fab-list.js +9 -5
  307. package/dist/collection/components/footer/footer.ios.css +14 -2
  308. package/dist/collection/components/footer/footer.js +17 -14
  309. package/dist/collection/components/footer/footer.md.css +12 -0
  310. package/dist/collection/components/grid/grid.css +12 -0
  311. package/dist/collection/components/grid/grid.js +9 -5
  312. package/dist/collection/components/header/header.ios.css +14 -2
  313. package/dist/collection/components/header/header.js +17 -14
  314. package/dist/collection/components/header/header.md.css +12 -0
  315. package/dist/collection/components/img/img.js +8 -2
  316. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  317. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  318. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  319. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  320. package/dist/collection/components/input/input.ionic.css +1031 -0
  321. package/dist/collection/components/input/input.ios.css +21 -2
  322. package/dist/collection/components/input/input.js +127 -29
  323. package/dist/collection/components/input/input.md.css +43 -4
  324. package/dist/collection/components/input/test/basic/input.e2e.js +66 -0
  325. package/dist/collection/components/input/test/bottom-content/input.e2e.js +24 -5
  326. package/dist/collection/components/input/test/fill/input.e2e.js +37 -39
  327. package/dist/collection/components/input/test/highlight/input.e2e.js +94 -0
  328. package/dist/collection/components/input/test/shape/input.e2e.js +165 -0
  329. package/dist/collection/components/input/test/size/input.e2e.js +164 -0
  330. package/dist/collection/components/input/test/slot/input.e2e.js +14 -0
  331. package/dist/collection/components/input/test/states/input.e2e.js +173 -0
  332. package/dist/collection/components/input-password-toggle/input-password-toggle.js +6 -5
  333. package/dist/collection/components/item/item.ionic.css +169 -0
  334. package/dist/collection/components/item/item.ios.css +20 -8
  335. package/dist/collection/components/item/item.js +21 -16
  336. package/dist/collection/components/item/item.md.css +31 -7
  337. package/dist/collection/components/item/test/disabled/item.e2e.js +1 -1
  338. package/dist/collection/components/item/test/states/item.e2e.js +1 -1
  339. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  340. package/dist/collection/components/item-divider/item-divider.js +11 -8
  341. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  342. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  343. package/dist/collection/components/item-group/item-group.js +13 -7
  344. package/dist/collection/components/item-group/item-group.md.css +12 -0
  345. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  346. package/dist/collection/components/item-option/item-option.js +11 -8
  347. package/dist/collection/components/item-option/item-option.md.css +14 -2
  348. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  349. package/dist/collection/components/item-options/item-options.js +13 -7
  350. package/dist/collection/components/item-options/item-options.md.css +18 -0
  351. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  352. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  353. package/dist/collection/components/label/label.ios.css +18 -0
  354. package/dist/collection/components/label/label.js +11 -8
  355. package/dist/collection/components/label/label.md.css +18 -0
  356. package/dist/collection/components/list/list.ios.css +18 -0
  357. package/dist/collection/components/list/list.js +12 -9
  358. package/dist/collection/components/list/list.md.css +18 -0
  359. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  360. package/dist/collection/components/list-header/list-header.js +11 -8
  361. package/dist/collection/components/list-header/list-header.md.css +18 -0
  362. package/dist/collection/components/loading/loading.ios.css +13 -1
  363. package/dist/collection/components/loading/loading.js +13 -10
  364. package/dist/collection/components/loading/loading.md.css +13 -1
  365. package/dist/collection/components/menu/menu.ios.css +15 -3
  366. package/dist/collection/components/menu/menu.js +12 -7
  367. package/dist/collection/components/menu/menu.md.css +15 -3
  368. package/dist/collection/components/menu-button/menu-button.ios.css +16 -4
  369. package/dist/collection/components/menu-button/menu-button.js +12 -9
  370. package/dist/collection/components/menu-button/menu-button.md.css +17 -5
  371. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  372. package/dist/collection/components/modal/modal.ios.css +14 -2
  373. package/dist/collection/components/modal/modal.js +13 -10
  374. package/dist/collection/components/modal/modal.md.css +14 -2
  375. package/dist/collection/components/nav/nav.css +7 -1
  376. package/dist/collection/components/nav/nav.js +11 -5
  377. package/dist/collection/components/nav-link/nav-link.js +5 -1
  378. package/dist/collection/components/note/note.ios.css +12 -0
  379. package/dist/collection/components/note/note.js +11 -8
  380. package/dist/collection/components/note/note.md.css +12 -0
  381. package/dist/collection/components/picker/picker.ios.css +15 -3
  382. package/dist/collection/components/picker/picker.js +8 -5
  383. package/dist/collection/components/picker/picker.md.css +15 -3
  384. package/dist/collection/components/picker-column/picker-column.css +9 -2
  385. package/dist/collection/components/picker-column/picker-column.js +8 -7
  386. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  387. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  388. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  389. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  390. package/dist/collection/components/picker-legacy/picker.js +7 -6
  391. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  392. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  393. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  394. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  395. package/dist/collection/components/popover/popover.ios.css +13 -1
  396. package/dist/collection/components/popover/popover.js +15 -12
  397. package/dist/collection/components/popover/popover.md.css +13 -1
  398. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  399. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  400. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  401. package/dist/collection/components/radio/radio.ios.css +20 -2
  402. package/dist/collection/components/radio/radio.js +12 -9
  403. package/dist/collection/components/radio/radio.md.css +20 -2
  404. package/dist/collection/components/radio-group/radio-group.js +9 -3
  405. package/dist/collection/components/range/range.ios.css +12 -0
  406. package/dist/collection/components/range/range.js +12 -9
  407. package/dist/collection/components/range/range.md.css +12 -0
  408. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  409. package/dist/collection/components/refresher/refresher.js +11 -8
  410. package/dist/collection/components/refresher/refresher.md.css +15 -2
  411. package/dist/collection/components/refresher-content/refresher-content.js +12 -7
  412. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  413. package/dist/collection/components/reorder/reorder.js +26 -6
  414. package/dist/collection/components/reorder/reorder.md.css +6 -0
  415. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  416. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  417. package/dist/collection/components/ripple-effect/ripple-effect.css +7 -1
  418. package/dist/collection/components/ripple-effect/ripple-effect.js +8 -4
  419. package/dist/collection/components/route/route.js +4 -0
  420. package/dist/collection/components/router/router.js +4 -0
  421. package/dist/collection/components/router-link/router-link.css +8 -2
  422. package/dist/collection/components/router-link/router-link.js +9 -5
  423. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  424. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  425. package/dist/collection/components/row/row.css +12 -0
  426. package/dist/collection/components/row/row.js +9 -2
  427. package/dist/collection/components/searchbar/searchbar.ios.css +14 -2
  428. package/dist/collection/components/searchbar/searchbar.js +68 -24
  429. package/dist/collection/components/searchbar/searchbar.md.css +14 -2
  430. package/dist/collection/components/segment/segment.ios.css +18 -0
  431. package/dist/collection/components/segment/segment.js +11 -8
  432. package/dist/collection/components/segment/segment.md.css +18 -0
  433. package/dist/collection/components/segment-button/segment-button.ios.css +16 -4
  434. package/dist/collection/components/segment-button/segment-button.js +12 -9
  435. package/dist/collection/components/segment-button/segment-button.md.css +18 -6
  436. package/dist/collection/components/select/select.ios.css +22 -3
  437. package/dist/collection/components/select/select.js +70 -31
  438. package/dist/collection/components/select/select.md.css +38 -5
  439. package/dist/collection/components/select-option/select-option.js +9 -2
  440. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  441. package/dist/collection/components/select-popover/select-popover.js +12 -4
  442. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  443. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  444. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  445. package/dist/collection/components/spinner/spinner.css +6 -0
  446. package/dist/collection/components/spinner/spinner.js +10 -6
  447. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  448. package/dist/collection/components/split-pane/split-pane.js +14 -8
  449. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  450. package/dist/collection/components/tab/tab.js +6 -2
  451. package/dist/collection/components/tab-bar/tab-bar.ionic.css +163 -0
  452. package/dist/collection/components/tab-bar/tab-bar.ios.css +18 -0
  453. package/dist/collection/components/tab-bar/tab-bar.js +12 -9
  454. package/dist/collection/components/tab-bar/tab-bar.md.css +18 -0
  455. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +34 -0
  456. package/dist/collection/components/tab-button/tab-button.ionic.css +264 -0
  457. package/dist/collection/components/tab-button/tab-button.ios.css +15 -3
  458. package/dist/collection/components/tab-button/tab-button.js +11 -8
  459. package/dist/collection/components/tab-button/tab-button.md.css +15 -3
  460. package/dist/collection/components/tabs/tabs.css +7 -1
  461. package/dist/collection/components/tabs/tabs.js +4 -1
  462. package/dist/collection/components/text/text.css +6 -0
  463. package/dist/collection/components/text/text.js +7 -6
  464. package/dist/collection/components/textarea/textarea.ios.css +26 -1
  465. package/dist/collection/components/textarea/textarea.js +15 -12
  466. package/dist/collection/components/textarea/textarea.md.css +39 -2
  467. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  468. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  469. package/dist/collection/components/title/title.ios.css +6 -0
  470. package/dist/collection/components/title/title.js +13 -7
  471. package/dist/collection/components/title/title.md.css +6 -0
  472. package/dist/collection/components/toast/animations/utils.js +1 -1
  473. package/dist/collection/components/toast/toast.ios.css +12 -0
  474. package/dist/collection/components/toast/toast.js +15 -11
  475. package/dist/collection/components/toast/toast.md.css +12 -0
  476. package/dist/collection/components/toggle/toggle.ios.css +23 -2
  477. package/dist/collection/components/toggle/toggle.js +55 -18
  478. package/dist/collection/components/toggle/toggle.md.css +20 -2
  479. package/dist/collection/components/toolbar/toolbar.ios.css +14 -2
  480. package/dist/collection/components/toolbar/toolbar.js +13 -10
  481. package/dist/collection/components/toolbar/toolbar.md.css +14 -2
  482. package/dist/collection/css/test/link/basic/link.e2e.js +35 -0
  483. package/dist/collection/css/test/{a11y → typography/a11y}/typography.e2e.js +1 -1
  484. package/dist/collection/css/test/typography/basic/typography.e2e.js +90 -0
  485. package/dist/collection/global/ionic-global.js +161 -13
  486. package/dist/collection/global/test/ionic-global.spec.js +109 -0
  487. package/dist/collection/themes/{test → native/test}/colors/theme.e2e.js +1 -1
  488. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  489. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  490. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  491. package/dist/collection/utils/test/playwright/generator.js +48 -23
  492. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  493. package/dist/collection/utils/test/playwright/page/utils/set-content.js +13 -1
  494. package/dist/collection/utils/transition/ios.transition.js +1 -0
  495. package/dist/docs.json +6439 -325
  496. package/dist/esm/{app-globals-232dc3ed.js → app-globals-1fabe499.js} +1 -1
  497. package/dist/esm/{button-active-f7898f4b.js → button-active-367a8e84.js} +1 -1
  498. package/dist/esm/{data-ae11fd43.js → data-63b889c5.js} +4 -4
  499. package/dist/esm/{hardware-back-button-7f93f261.js → hardware-back-button-2da817f5.js} +2 -2
  500. package/dist/esm/{index-5cc724f3.js → index-00b4cca5.js} +1 -1
  501. package/dist/esm/{index-c71c5417.js → index-3321c202.js} +1 -1
  502. package/dist/esm/{index-92f14156.js → index-33a3d901.js} +4 -5
  503. package/dist/esm/{index-c8c3afda.js → index-44013081.js} +9 -8
  504. package/dist/esm/index.js +8 -9
  505. package/dist/esm/{input-shims-0314bbe5.js → input-shims-c142630d.js} +3 -2
  506. package/dist/esm/{input.utils-09c71bc7.js → input.utils-68c66dbc.js} +1 -1
  507. package/dist/esm/ion-accordion_2.entry.js +23 -14
  508. package/dist/esm/ion-action-sheet.entry.js +17 -13
  509. package/dist/esm/ion-alert.entry.js +18 -15
  510. package/dist/esm/ion-app_8.entry.js +76 -57
  511. package/dist/esm/ion-avatar_3.entry.js +91 -8
  512. package/dist/esm/ion-back-button.entry.js +15 -11
  513. package/dist/esm/ion-backdrop.entry.js +11 -7
  514. package/dist/esm/ion-breadcrumb_2.entry.js +24 -14
  515. package/dist/esm/ion-button_2.entry.js +42 -13
  516. package/dist/esm/ion-card_5.entry.js +49 -26
  517. package/dist/esm/ion-checkbox.entry.js +24 -13
  518. package/dist/esm/ion-chip.entry.js +43 -8
  519. package/dist/esm/ion-col_3.entry.js +14 -11
  520. package/dist/esm/ion-datetime-button.entry.js +11 -8
  521. package/dist/esm/ion-datetime_3.entry.js +60 -33
  522. package/dist/esm/ion-fab_3.entry.js +24 -18
  523. package/dist/esm/ion-img.entry.js +6 -3
  524. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -14
  525. package/dist/esm/ion-input-password-toggle.entry.js +7 -8
  526. package/dist/esm/ion-input.entry.js +100 -21
  527. package/dist/esm/ion-item-option_3.entry.js +24 -17
  528. package/dist/esm/ion-item_8.entry.js +70 -40
  529. package/dist/esm/ion-loading.entry.js +15 -12
  530. package/dist/esm/ion-menu_3.entry.js +30 -23
  531. package/dist/esm/ion-modal.entry.js +18 -15
  532. package/dist/esm/ion-nav_2.entry.js +10 -9
  533. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  534. package/dist/esm/ion-picker-column.entry.js +8 -8
  535. package/dist/esm/ion-picker.entry.js +9 -5
  536. package/dist/esm/ion-popover.entry.js +15 -12
  537. package/dist/esm/ion-progress-bar.entry.js +11 -7
  538. package/dist/esm/ion-radio_2.entry.js +17 -11
  539. package/dist/esm/ion-range.entry.js +12 -9
  540. package/dist/esm/ion-refresher_2.entry.js +19 -15
  541. package/dist/esm/ion-reorder_2.entry.js +27 -10
  542. package/dist/esm/ion-ripple-effect.entry.js +6 -6
  543. package/dist/esm/ion-route_4.entry.js +7 -7
  544. package/dist/esm/ion-searchbar.entry.js +62 -16
  545. package/dist/esm/ion-segment_2.entry.js +21 -13
  546. package/dist/esm/ion-select_3.entry.js +81 -33
  547. package/dist/esm/ion-spinner.entry.js +7 -7
  548. package/dist/esm/ion-split-pane.entry.js +13 -9
  549. package/dist/esm/ion-tab-bar_2.entry.js +20 -12
  550. package/dist/esm/ion-tab_2.entry.js +5 -5
  551. package/dist/esm/ion-text.entry.js +6 -6
  552. package/dist/esm/ion-textarea.entry.js +15 -12
  553. package/dist/esm/ion-toast.entry.js +16 -12
  554. package/dist/esm/ion-toggle.entry.js +56 -18
  555. package/dist/esm/ionic-global-be8fa30a.js +408 -0
  556. package/dist/esm/ionic.js +5 -5
  557. package/dist/esm/{ios.transition-2f45f5c1.js → ios.transition-688eab99.js} +4 -4
  558. package/dist/esm/loader.js +5 -5
  559. package/dist/esm/{md.transition-6fcc955f.js → md.transition-0540d1d2.js} +3 -4
  560. package/dist/esm/{overlays-0d212972.js → overlays-a0e93007.js} +2 -3
  561. package/dist/esm/{status-tap-53150009.js → status-tap-8d02be66.js} +3 -3
  562. package/dist/esm-es5/app-globals-1fabe499.js +4 -0
  563. package/dist/esm-es5/{button-active-f7898f4b.js → button-active-367a8e84.js} +1 -1
  564. package/dist/esm-es5/data-63b889c5.js +4 -0
  565. package/dist/esm-es5/{hardware-back-button-7f93f261.js → hardware-back-button-2da817f5.js} +1 -1
  566. package/dist/esm-es5/index-00b4cca5.js +4 -0
  567. package/dist/esm-es5/{index-c71c5417.js → index-3321c202.js} +1 -1
  568. package/dist/esm-es5/index-33a3d901.js +4 -0
  569. package/dist/esm-es5/index-44013081.js +4 -0
  570. package/dist/esm-es5/index.js +1 -1
  571. package/dist/esm-es5/input-shims-c142630d.js +4 -0
  572. package/dist/esm-es5/input.utils-68c66dbc.js +4 -0
  573. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  574. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  575. package/dist/esm-es5/ion-alert.entry.js +1 -1
  576. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  577. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  578. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  579. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  580. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  581. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  582. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  583. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  584. package/dist/esm-es5/ion-chip.entry.js +1 -1
  585. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  586. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  587. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  588. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  589. package/dist/esm-es5/ion-img.entry.js +1 -1
  590. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  591. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  592. package/dist/esm-es5/ion-input.entry.js +1 -1
  593. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  594. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  595. package/dist/esm-es5/ion-loading.entry.js +1 -1
  596. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  597. package/dist/esm-es5/ion-modal.entry.js +1 -1
  598. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  599. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  600. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  601. package/dist/esm-es5/ion-picker.entry.js +1 -1
  602. package/dist/esm-es5/ion-popover.entry.js +1 -1
  603. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  604. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  605. package/dist/esm-es5/ion-range.entry.js +1 -1
  606. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  607. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  608. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  609. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  610. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  611. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  612. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  613. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  614. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  615. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  616. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  617. package/dist/esm-es5/ion-text.entry.js +1 -1
  618. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  619. package/dist/esm-es5/ion-toast.entry.js +1 -1
  620. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  621. package/dist/esm-es5/ionic-global-be8fa30a.js +4 -0
  622. package/dist/esm-es5/ionic.js +1 -1
  623. package/dist/esm-es5/ios.transition-688eab99.js +4 -0
  624. package/dist/esm-es5/loader.js +1 -1
  625. package/dist/esm-es5/md.transition-0540d1d2.js +4 -0
  626. package/dist/esm-es5/overlays-a0e93007.js +4 -0
  627. package/dist/esm-es5/status-tap-8d02be66.js +4 -0
  628. package/dist/html.html-data.json +2054 -100
  629. package/dist/ionic/index.esm.js +1 -1
  630. package/dist/ionic/ionic.esm.js +1 -1
  631. package/dist/ionic/ionic.js +1 -1
  632. package/dist/ionic/p-0116d120.entry.js +4 -0
  633. package/dist/ionic/p-01ae1aa0.entry.js +4 -0
  634. package/dist/ionic/p-021bee2f.system.entry.js +4 -0
  635. package/dist/ionic/p-036d86ec.system.entry.js +4 -0
  636. package/dist/ionic/p-0a93c048.system.js +4 -0
  637. package/dist/ionic/p-1219eea0.system.entry.js +4 -0
  638. package/dist/ionic/{p-bbc5329a.system.entry.js → p-128f0f15.system.entry.js} +2 -2
  639. package/dist/ionic/p-12c07c03.system.entry.js +4 -0
  640. package/dist/ionic/p-132e1004.entry.js +4 -0
  641. package/dist/ionic/{p-395a0dd7.js → p-15901e6c.js} +1 -1
  642. package/dist/ionic/p-1745dc66.system.entry.js +4 -0
  643. package/dist/ionic/{p-9ea607bd.system.js → p-1b75a2d2.system.js} +2 -2
  644. package/dist/ionic/p-1d548fea.system.entry.js +4 -0
  645. package/dist/ionic/p-1dbb7fa3.entry.js +4 -0
  646. package/dist/ionic/{p-a688052d.system.js → p-1ecfe64f.system.js} +1 -1
  647. package/dist/ionic/p-22fef691.js +4 -0
  648. package/dist/ionic/p-24592a4d.system.entry.js +4 -0
  649. package/dist/ionic/p-27e42c9e.system.js +4 -0
  650. package/dist/ionic/p-28a10445.system.js +4 -0
  651. package/dist/ionic/{p-0c06e09b.system.js → p-2ac68c59.system.js} +1 -1
  652. package/dist/ionic/{p-c350c8f8.system.entry.js → p-2d618ba6.system.entry.js} +1 -1
  653. package/dist/ionic/{p-99a4d7c7.system.js → p-2df16673.system.js} +2 -2
  654. package/dist/ionic/{p-06e58c4e.js → p-2fa9c16c.js} +1 -1
  655. package/dist/ionic/{p-ea4f2b31.entry.js → p-2fdc82b4.entry.js} +1 -1
  656. package/dist/ionic/p-302c9c7a.system.entry.js +4 -0
  657. package/dist/ionic/p-350462f9.system.entry.js +4 -0
  658. package/dist/ionic/p-359afeb0.system.entry.js +4 -0
  659. package/dist/ionic/p-37e801db.entry.js +4 -0
  660. package/dist/ionic/{p-60eb4c0d.system.entry.js → p-3862d08b.system.entry.js} +1 -1
  661. package/dist/ionic/p-3b989be4.entry.js +4 -0
  662. package/dist/ionic/p-3c031826.system.entry.js +4 -0
  663. package/dist/ionic/p-3c18022f.entry.js +4 -0
  664. package/dist/ionic/p-3c6eae03.system.entry.js +4 -0
  665. package/dist/ionic/p-3cccd1c7.system.entry.js +4 -0
  666. package/dist/ionic/p-3d25c6d9.entry.js +4 -0
  667. package/dist/ionic/p-3e2568b9.system.js +4 -0
  668. package/dist/ionic/p-3e9a1680.js +4 -0
  669. package/dist/ionic/{p-ac34105e.entry.js → p-4058051c.entry.js} +1 -1
  670. package/dist/ionic/{p-266db4b6.entry.js → p-4079d071.entry.js} +1 -1
  671. package/dist/ionic/p-40c14f53.system.entry.js +4 -0
  672. package/dist/ionic/{p-f3ff1e58.entry.js → p-41c9fb60.entry.js} +1 -1
  673. package/dist/ionic/p-42452dc9.entry.js +4 -0
  674. package/dist/ionic/p-42816eab.entry.js +4 -0
  675. package/dist/ionic/p-42bb5ed7.system.entry.js +4 -0
  676. package/dist/ionic/p-44314b44.system.entry.js +4 -0
  677. package/dist/ionic/p-479bec54.entry.js +4 -0
  678. package/dist/ionic/{p-e6964b3a.js → p-493a4548.js} +1 -1
  679. package/dist/ionic/p-4b9c6418.system.entry.js +4 -0
  680. package/dist/ionic/p-4d6c2031.system.entry.js +4 -0
  681. package/dist/ionic/p-4ec67d0a.entry.js +4 -0
  682. package/dist/ionic/p-546438d8.js +4 -0
  683. package/dist/ionic/p-563a8d3b.entry.js +4 -0
  684. package/dist/ionic/p-56c72f65.system.entry.js +4 -0
  685. package/dist/ionic/p-59cd0dd7.system.entry.js +4 -0
  686. package/dist/ionic/p-61dd8967.system.entry.js +4 -0
  687. package/dist/ionic/p-61ddbdb9.entry.js +4 -0
  688. package/dist/ionic/{p-44c6eb74.js → p-644c505f.js} +1 -1
  689. package/dist/ionic/p-645a7748.entry.js +4 -0
  690. package/dist/ionic/{p-d60342e3.js → p-6649365e.js} +1 -1
  691. package/dist/ionic/p-6746c32a.entry.js +4 -0
  692. package/dist/ionic/{p-eb8098d5.system.entry.js → p-67f85d9a.system.entry.js} +1 -1
  693. package/dist/ionic/p-6c57ed08.js +4 -0
  694. package/dist/ionic/p-6daa3633.entry.js +4 -0
  695. package/dist/ionic/p-72e98815.system.js +4 -0
  696. package/dist/ionic/p-752e285d.entry.js +4 -0
  697. package/dist/ionic/p-79113968.js +4 -0
  698. package/dist/ionic/p-7b590e46.system.js +4 -0
  699. package/dist/ionic/p-7b914bfb.entry.js +4 -0
  700. package/dist/ionic/p-7bf2087e.entry.js +4 -0
  701. package/dist/ionic/p-7dad531c.system.entry.js +4 -0
  702. package/dist/ionic/p-7f5f8a14.entry.js +4 -0
  703. package/dist/ionic/p-82df3737.system.entry.js +4 -0
  704. package/dist/ionic/p-87e823ce.js +4 -0
  705. package/dist/ionic/p-89efe86f.entry.js +4 -0
  706. package/dist/ionic/p-8a04868b.system.entry.js +4 -0
  707. package/dist/ionic/p-8ac5efa9.entry.js +4 -0
  708. package/dist/ionic/p-8ed0cef4.system.entry.js +4 -0
  709. package/dist/ionic/p-90027267.system.js +4 -0
  710. package/dist/ionic/p-935801cc.entry.js +4 -0
  711. package/dist/ionic/p-96f109ca.entry.js +4 -0
  712. package/dist/ionic/p-9771abb4.entry.js +4 -0
  713. package/dist/ionic/p-9b925d37.system.entry.js +4 -0
  714. package/dist/ionic/p-9ba25d15.entry.js +4 -0
  715. package/dist/ionic/p-9ead4417.js +4 -0
  716. package/dist/ionic/p-a06d7e6a.system.js +4 -0
  717. package/dist/ionic/{p-5d6e77bd.system.entry.js → p-a2b60239.system.entry.js} +1 -1
  718. package/dist/ionic/p-a3b856e6.system.entry.js +4 -0
  719. package/dist/ionic/{p-00333e13.js → p-a42e4adb.js} +1 -1
  720. package/dist/ionic/p-ada5e8bb.entry.js +4 -0
  721. package/dist/ionic/{p-9286b16d.system.entry.js → p-b5cc6e57.system.entry.js} +2 -2
  722. package/dist/ionic/p-bab398d1.entry.js +4 -0
  723. package/dist/ionic/p-bb7162de.system.js +4 -0
  724. package/dist/ionic/p-bee73070.entry.js +4 -0
  725. package/dist/ionic/{p-13260c59.entry.js → p-c23822f8.entry.js} +1 -1
  726. package/dist/ionic/p-c24b81cc.entry.js +4 -0
  727. package/dist/ionic/p-c374ab05.system.js +4 -0
  728. package/dist/ionic/{p-1de7f9e4.entry.js → p-c47b75e3.entry.js} +1 -1
  729. package/dist/ionic/p-c79decb5.system.entry.js +4 -0
  730. package/dist/ionic/p-ca5aaed3.system.entry.js +4 -0
  731. package/dist/ionic/p-cce8c245.entry.js +4 -0
  732. package/dist/ionic/{p-96cc4814.js → p-cd99310b.js} +1 -1
  733. package/dist/ionic/p-cdc9a11c.system.entry.js +4 -0
  734. package/dist/ionic/p-d281c150.system.entry.js +4 -0
  735. package/dist/ionic/p-d2a580db.entry.js +4 -0
  736. package/dist/ionic/p-d4f55a93.entry.js +4 -0
  737. package/dist/ionic/p-d5fc7d63.entry.js +4 -0
  738. package/dist/ionic/{p-f687573e.system.js → p-d98a1d99.system.js} +1 -1
  739. package/dist/ionic/p-db08a2d0.system.entry.js +4 -0
  740. package/dist/ionic/p-db3f14c1.system.entry.js +4 -0
  741. package/dist/ionic/p-db8fac3d.system.entry.js +4 -0
  742. package/dist/ionic/p-dc60009b.system.entry.js +4 -0
  743. package/dist/ionic/p-dc8a3888.entry.js +4 -0
  744. package/dist/ionic/p-e2313846.entry.js +4 -0
  745. package/dist/ionic/{p-e6a47e94.entry.js → p-e59d16bd.entry.js} +1 -1
  746. package/dist/ionic/{p-8d3e57a0.system.entry.js → p-e7e3ba54.system.entry.js} +1 -1
  747. package/dist/ionic/p-e8aa220a.js +4 -0
  748. package/dist/ionic/p-eb72562c.entry.js +4 -0
  749. package/dist/ionic/p-ebc71ff5.system.entry.js +4 -0
  750. package/dist/ionic/p-f0fab903.system.entry.js +4 -0
  751. package/dist/ionic/p-f621b019.entry.js +4 -0
  752. package/dist/ionic/p-f997141e.entry.js +4 -0
  753. package/dist/ionic/{p-6ad705f8.system.js → p-fa019443.system.js} +1 -1
  754. package/dist/ionic/p-fb17d462.entry.js +4 -0
  755. package/dist/ionic/p-fb8ecdb4.system.entry.js +4 -0
  756. package/dist/ionic/p-fc0922fa.system.entry.js +4 -0
  757. package/dist/ionic/{p-7a43878b.system.js → p-fc9f9e4d.system.js} +1 -1
  758. package/dist/ionic/p-fcb1218a.system.entry.js +4 -0
  759. package/dist/ionic/p-ff54800f.system.entry.js +4 -0
  760. package/dist/types/components/accordion/accordion.d.ts +3 -2
  761. package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
  762. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  763. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  764. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  765. package/dist/types/components/alert/alert.d.ts +3 -2
  766. package/dist/types/components/app/app.d.ts +4 -0
  767. package/dist/types/components/avatar/avatar.d.ts +25 -0
  768. package/dist/types/components/back-button/back-button.d.ts +2 -1
  769. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  770. package/dist/types/components/badge/badge.d.ts +23 -1
  771. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -1
  772. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  773. package/dist/types/components/button/button.d.ts +15 -4
  774. package/dist/types/components/buttons/buttons.d.ts +5 -1
  775. package/dist/types/components/card/card.d.ts +8 -1
  776. package/dist/types/components/card-content/card-content.d.ts +2 -1
  777. package/dist/types/components/card-header/card-header.d.ts +3 -2
  778. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  779. package/dist/types/components/card-title/card-title.d.ts +2 -1
  780. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  781. package/dist/types/components/chip/chip.d.ts +19 -1
  782. package/dist/types/components/col/col.d.ts +4 -0
  783. package/dist/types/components/content/content.d.ts +3 -0
  784. package/dist/types/components/datetime/datetime.d.ts +18 -1
  785. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  786. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  787. package/dist/types/components/fab/fab.d.ts +4 -0
  788. package/dist/types/components/fab-button/fab-button.d.ts +4 -3
  789. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  790. package/dist/types/components/footer/footer.d.ts +4 -3
  791. package/dist/types/components/grid/grid.d.ts +4 -0
  792. package/dist/types/components/header/header.d.ts +4 -3
  793. package/dist/types/components/img/img.d.ts +3 -0
  794. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  795. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  796. package/dist/types/components/input/input.d.ts +31 -5
  797. package/dist/types/components/item/item.d.ts +5 -4
  798. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  799. package/dist/types/components/item-group/item-group.d.ts +4 -0
  800. package/dist/types/components/item-option/item-option.d.ts +2 -1
  801. package/dist/types/components/item-options/item-options.d.ts +4 -0
  802. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  803. package/dist/types/components/label/label.d.ts +2 -1
  804. package/dist/types/components/list/list.d.ts +2 -1
  805. package/dist/types/components/list-header/list-header.d.ts +2 -1
  806. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  807. package/dist/types/components/loading/loading.d.ts +3 -2
  808. package/dist/types/components/menu/menu.d.ts +3 -0
  809. package/dist/types/components/menu-button/menu-button.d.ts +2 -1
  810. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  811. package/dist/types/components/modal/modal-interface.d.ts +3 -7
  812. package/dist/types/components/modal/modal.d.ts +2 -1
  813. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  814. package/dist/types/components/nav/nav.d.ts +5 -1
  815. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  816. package/dist/types/components/note/note.d.ts +2 -1
  817. package/dist/types/components/picker/picker.d.ts +2 -1
  818. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  819. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  820. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  821. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  822. package/dist/types/components/popover/popover.d.ts +6 -5
  823. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  824. package/dist/types/components/radio/radio.d.ts +2 -1
  825. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  826. package/dist/types/components/range/range.d.ts +2 -1
  827. package/dist/types/components/refresher/refresher.d.ts +2 -1
  828. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  829. package/dist/types/components/reorder/reorder.d.ts +11 -0
  830. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  831. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  832. package/dist/types/components/route/route.d.ts +4 -0
  833. package/dist/types/components/router/router.d.ts +4 -0
  834. package/dist/types/components/router-link/router-link.d.ts +4 -0
  835. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  836. package/dist/types/components/row/row.d.ts +4 -0
  837. package/dist/types/components/searchbar/searchbar.d.ts +27 -8
  838. package/dist/types/components/segment/segment.d.ts +2 -1
  839. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  840. package/dist/types/components/select/select.d.ts +24 -5
  841. package/dist/types/components/select-option/select-option.d.ts +4 -0
  842. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  843. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  844. package/dist/types/components/spinner/spinner.d.ts +4 -0
  845. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  846. package/dist/types/components/tab/tab.d.ts +4 -0
  847. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -2
  848. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  849. package/dist/types/components/tabs/tabs.d.ts +3 -0
  850. package/dist/types/components/text/text.d.ts +2 -1
  851. package/dist/types/components/textarea/textarea.d.ts +3 -2
  852. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  853. package/dist/types/components/title/title.d.ts +4 -0
  854. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  855. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  856. package/dist/types/components/toast/toast.d.ts +3 -2
  857. package/dist/types/components/toggle/toggle.d.ts +19 -1
  858. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  859. package/dist/types/components.d.ts +1278 -174
  860. package/dist/types/global/ionic-global.d.ts +25 -2
  861. package/dist/types/interface.d.ts +3 -0
  862. package/dist/types/utils/config.d.ts +99 -2
  863. package/dist/types/utils/overlays-interface.d.ts +31 -1
  864. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  865. package/hydrate/index.js +1563 -614
  866. package/package.json +7 -4
  867. package/components/index9.js +0 -167
  868. package/dist/cjs/index-5915f9b3.js +0 -38
  869. package/dist/cjs/ionic-global-46459c38.js +0 -237
  870. package/dist/collection/components/button/test/round/button.e2e.js +0 -52
  871. package/dist/esm/index-9b0d46f4.js +0 -34
  872. package/dist/esm/ionic-global-b9c0d1da.js +0 -231
  873. package/dist/esm-es5/app-globals-232dc3ed.js +0 -4
  874. package/dist/esm-es5/data-ae11fd43.js +0 -4
  875. package/dist/esm-es5/index-5cc724f3.js +0 -4
  876. package/dist/esm-es5/index-92f14156.js +0 -4
  877. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  878. package/dist/esm-es5/index-c8c3afda.js +0 -4
  879. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  880. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  881. package/dist/esm-es5/ionic-global-b9c0d1da.js +0 -4
  882. package/dist/esm-es5/ios.transition-2f45f5c1.js +0 -4
  883. package/dist/esm-es5/md.transition-6fcc955f.js +0 -4
  884. package/dist/esm-es5/overlays-0d212972.js +0 -4
  885. package/dist/esm-es5/status-tap-53150009.js +0 -4
  886. package/dist/ionic/p-0471d705.entry.js +0 -4
  887. package/dist/ionic/p-05bbe79d.entry.js +0 -4
  888. package/dist/ionic/p-06fee233.js +0 -4
  889. package/dist/ionic/p-0769896d.system.entry.js +0 -4
  890. package/dist/ionic/p-13d3abce.system.entry.js +0 -4
  891. package/dist/ionic/p-1731ab58.system.entry.js +0 -4
  892. package/dist/ionic/p-17c10451.system.entry.js +0 -4
  893. package/dist/ionic/p-184fc032.system.js +0 -4
  894. package/dist/ionic/p-18fd2107.entry.js +0 -4
  895. package/dist/ionic/p-1a0848af.system.entry.js +0 -4
  896. package/dist/ionic/p-1cebad78.system.entry.js +0 -4
  897. package/dist/ionic/p-2690b1de.js +0 -4
  898. package/dist/ionic/p-26e469a2.system.entry.js +0 -4
  899. package/dist/ionic/p-2b13fb8c.entry.js +0 -4
  900. package/dist/ionic/p-2e7673a0.system.entry.js +0 -4
  901. package/dist/ionic/p-3886b5d0.entry.js +0 -4
  902. package/dist/ionic/p-38c67b66.system.entry.js +0 -4
  903. package/dist/ionic/p-3a0091c2.system.entry.js +0 -4
  904. package/dist/ionic/p-3b199ab6.entry.js +0 -4
  905. package/dist/ionic/p-3c1b674f.entry.js +0 -4
  906. package/dist/ionic/p-3dba7283.entry.js +0 -4
  907. package/dist/ionic/p-3ea44c31.system.entry.js +0 -4
  908. package/dist/ionic/p-418ad596.entry.js +0 -4
  909. package/dist/ionic/p-44f6a3e4.system.entry.js +0 -4
  910. package/dist/ionic/p-4c3d1c73.entry.js +0 -4
  911. package/dist/ionic/p-4d6b6aef.system.entry.js +0 -4
  912. package/dist/ionic/p-4d7ab66a.system.entry.js +0 -4
  913. package/dist/ionic/p-4f610234.entry.js +0 -4
  914. package/dist/ionic/p-52df00b5.entry.js +0 -4
  915. package/dist/ionic/p-56cb7d41.entry.js +0 -4
  916. package/dist/ionic/p-591528fc.entry.js +0 -4
  917. package/dist/ionic/p-5b121ea3.system.entry.js +0 -4
  918. package/dist/ionic/p-5bbd2b10.entry.js +0 -4
  919. package/dist/ionic/p-5c22c8fa.system.js +0 -4
  920. package/dist/ionic/p-5f2dc7f9.entry.js +0 -4
  921. package/dist/ionic/p-6017cbeb.system.js +0 -4
  922. package/dist/ionic/p-6167004c.system.entry.js +0 -4
  923. package/dist/ionic/p-617caf82.entry.js +0 -4
  924. package/dist/ionic/p-624e1ca6.system.js +0 -4
  925. package/dist/ionic/p-646d46b1.entry.js +0 -4
  926. package/dist/ionic/p-64e15640.system.entry.js +0 -4
  927. package/dist/ionic/p-65fd47cb.system.entry.js +0 -4
  928. package/dist/ionic/p-66621486.system.entry.js +0 -4
  929. package/dist/ionic/p-666583e1.system.entry.js +0 -4
  930. package/dist/ionic/p-68e5bec9.system.entry.js +0 -4
  931. package/dist/ionic/p-6c76eff8.system.entry.js +0 -4
  932. package/dist/ionic/p-6cf5d476.system.js +0 -4
  933. package/dist/ionic/p-6ee1e402.system.js +0 -4
  934. package/dist/ionic/p-705c21cb.system.entry.js +0 -4
  935. package/dist/ionic/p-72ee2cd6.entry.js +0 -4
  936. package/dist/ionic/p-733db888.entry.js +0 -4
  937. package/dist/ionic/p-738cb3bd.entry.js +0 -4
  938. package/dist/ionic/p-75cb6744.system.js +0 -4
  939. package/dist/ionic/p-796cfde4.entry.js +0 -4
  940. package/dist/ionic/p-7a86bd75.js +0 -4
  941. package/dist/ionic/p-7f84a4c8.system.entry.js +0 -4
  942. package/dist/ionic/p-8ee5c5bf.js +0 -4
  943. package/dist/ionic/p-943bc98f.system.entry.js +0 -4
  944. package/dist/ionic/p-94953ea1.system.entry.js +0 -4
  945. package/dist/ionic/p-94c6f6ab.system.entry.js +0 -4
  946. package/dist/ionic/p-9690c79d.system.entry.js +0 -4
  947. package/dist/ionic/p-98f199c6.system.entry.js +0 -4
  948. package/dist/ionic/p-9f5f3485.js +0 -4
  949. package/dist/ionic/p-a07f9cb7.system.entry.js +0 -4
  950. package/dist/ionic/p-a3aaeca8.system.entry.js +0 -4
  951. package/dist/ionic/p-ab27a195.system.entry.js +0 -4
  952. package/dist/ionic/p-af9d3f33.entry.js +0 -4
  953. package/dist/ionic/p-b1e856df.entry.js +0 -4
  954. package/dist/ionic/p-b6fe4a42.entry.js +0 -4
  955. package/dist/ionic/p-b7fa6074.js +0 -4
  956. package/dist/ionic/p-b9fcfe50.system.js +0 -4
  957. package/dist/ionic/p-c1859486.system.js +0 -4
  958. package/dist/ionic/p-c5477854.system.entry.js +0 -4
  959. package/dist/ionic/p-c91c13d2.js +0 -4
  960. package/dist/ionic/p-cb5d9dd4.entry.js +0 -4
  961. package/dist/ionic/p-ccab4d05.system.entry.js +0 -4
  962. package/dist/ionic/p-cdddc32e.entry.js +0 -4
  963. package/dist/ionic/p-d2293261.system.entry.js +0 -4
  964. package/dist/ionic/p-d2753e35.js +0 -4
  965. package/dist/ionic/p-d2db72d1.entry.js +0 -4
  966. package/dist/ionic/p-d529141b.entry.js +0 -4
  967. package/dist/ionic/p-d5f62e4e.entry.js +0 -4
  968. package/dist/ionic/p-d7b97091.entry.js +0 -4
  969. package/dist/ionic/p-d820d1f1.entry.js +0 -4
  970. package/dist/ionic/p-d9e26540.system.entry.js +0 -4
  971. package/dist/ionic/p-da0001cd.system.entry.js +0 -4
  972. package/dist/ionic/p-dbee9e95.system.entry.js +0 -4
  973. package/dist/ionic/p-df3ebee9.system.entry.js +0 -4
  974. package/dist/ionic/p-df4bdf05.entry.js +0 -4
  975. package/dist/ionic/p-dfb78785.system.js +0 -4
  976. package/dist/ionic/p-e08fb9c2.system.entry.js +0 -4
  977. package/dist/ionic/p-e12d7323.entry.js +0 -4
  978. package/dist/ionic/p-e4587da1.js +0 -4
  979. package/dist/ionic/p-eaed7394.entry.js +0 -4
  980. package/dist/ionic/p-ecf5f3e0.entry.js +0 -4
  981. package/dist/ionic/p-ed72bc6c.system.entry.js +0 -4
  982. package/dist/ionic/p-ef1c5743.entry.js +0 -4
  983. package/dist/ionic/p-f181073a.entry.js +0 -4
  984. package/dist/ionic/p-f52c2d9a.entry.js +0 -4
  985. package/dist/ionic/p-f654e4df.entry.js +0 -4
  986. package/dist/ionic/p-fa2abaef.entry.js +0 -4
  987. package/dist/ionic/p-ff4b7e40.system.js +0 -4
@@ -82,17 +82,21 @@ export namespace Components {
82
82
  */
83
83
  "disabled": boolean;
84
84
  /**
85
- * The mode determines which platform styles to use.
85
+ * The mode determines the platform behaviors of the component.
86
86
  */
87
87
  "mode"?: "ios" | "md";
88
88
  /**
89
89
  * If `true`, the accordion cannot be interacted with, but does not alter the opacity.
90
90
  */
91
91
  "readonly": boolean;
92
+ /**
93
+ * The theme determines the visual appearance of the component.
94
+ */
95
+ "theme"?: "ios" | "md" | "ionic";
92
96
  /**
93
97
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
94
98
  */
95
- "toggleIcon": string;
99
+ "toggleIcon"?: string;
96
100
  /**
97
101
  * The slot inside of `ion-item` to place the toggle icon. Defaults to `"end"`.
98
102
  */
@@ -117,7 +121,7 @@ export namespace Components {
117
121
  "expand": 'compact' | 'inset';
118
122
  "getAccordions": () => Promise<HTMLIonAccordionElement[]>;
119
123
  /**
120
- * The mode determines which platform styles to use.
124
+ * The mode determines the platform behaviors of the component.
121
125
  */
122
126
  "mode"?: "ios" | "md";
123
127
  /**
@@ -132,6 +136,10 @@ export namespace Components {
132
136
  * 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.
133
137
  */
134
138
  "requestAccordionToggle": (accordionValue: string | undefined, accordionExpand: boolean) => Promise<void>;
139
+ /**
140
+ * The theme determines the visual appearance of the component.
141
+ */
142
+ "theme"?: "ios" | "md" | "ionic";
135
143
  /**
136
144
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
137
145
  */
@@ -187,7 +195,7 @@ export namespace Components {
187
195
  */
188
196
  "leaveAnimation"?: AnimationBuilder;
189
197
  /**
190
- * The mode determines which platform styles to use.
198
+ * The mode determines the platform behaviors of the component.
191
199
  */
192
200
  "mode"?: "ios" | "md";
193
201
  /**
@@ -208,7 +216,11 @@ export namespace Components {
208
216
  */
209
217
  "subHeader"?: string;
210
218
  /**
211
- * 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).
219
+ * The theme determines the visual appearance of the component.
220
+ */
221
+ "theme"?: "ios" | "md" | "ionic";
222
+ /**
223
+ * 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).
212
224
  */
213
225
  "translucent": boolean;
214
226
  /**
@@ -274,7 +286,7 @@ export namespace Components {
274
286
  */
275
287
  "message"?: string | IonicSafeString;
276
288
  /**
277
- * The mode determines which platform styles to use.
289
+ * The mode determines the platform behaviors of the component.
278
290
  */
279
291
  "mode"?: "ios" | "md";
280
292
  /**
@@ -295,7 +307,11 @@ export namespace Components {
295
307
  */
296
308
  "subHeader"?: string;
297
309
  /**
298
- * 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).
310
+ * The theme determines the visual appearance of the component.
311
+ */
312
+ "theme"?: "ios" | "md" | "ionic";
313
+ /**
314
+ * 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).
299
315
  */
300
316
  "translucent": boolean;
301
317
  /**
@@ -304,9 +320,33 @@ export namespace Components {
304
320
  "trigger": string | undefined;
305
321
  }
306
322
  interface IonApp {
323
+ /**
324
+ * The mode determines the platform behaviors of the component.
325
+ */
326
+ "mode"?: "ios" | "md";
307
327
  "setFocus": (elements: HTMLElement[]) => Promise<void>;
328
+ /**
329
+ * The theme determines the visual appearance of the component.
330
+ */
331
+ "theme"?: "ios" | "md" | "ionic";
308
332
  }
309
333
  interface IonAvatar {
334
+ /**
335
+ * The mode determines the platform behaviors of the component.
336
+ */
337
+ "mode"?: "ios" | "md";
338
+ /**
339
+ * 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.
340
+ */
341
+ "shape"?: 'soft' | 'round' | 'rectangular';
342
+ /**
343
+ * Set to `"xsmall"` for the smallest size, `"small"` for a compact size, `"medium"` for the default height and width, `"large"` for a larger size, or `"xlarge"` for the largest dimensions. Defaults to `"medium"` for the `ionic` theme, undefined for all other themes.
344
+ */
345
+ "size"?: `xsmall` | 'small' | 'medium' | 'large' | 'xlarge';
346
+ /**
347
+ * The theme determines the visual appearance of the component.
348
+ */
349
+ "theme"?: "ios" | "md" | "ionic";
310
350
  }
311
351
  interface IonBackButton {
312
352
  /**
@@ -326,7 +366,7 @@ export namespace Components {
326
366
  */
327
367
  "icon"?: string | null;
328
368
  /**
329
- * The mode determines which platform styles to use.
369
+ * The mode determines the platform behaviors of the component.
330
370
  */
331
371
  "mode"?: "ios" | "md";
332
372
  /**
@@ -337,12 +377,20 @@ export namespace Components {
337
377
  * The text to display in the back button.
338
378
  */
339
379
  "text"?: string | null;
380
+ /**
381
+ * The theme determines the visual appearance of the component.
382
+ */
383
+ "theme"?: "ios" | "md" | "ionic";
340
384
  /**
341
385
  * The type of the button.
342
386
  */
343
387
  "type": 'submit' | 'reset' | 'button';
344
388
  }
345
389
  interface IonBackdrop {
390
+ /**
391
+ * The mode determines the platform behaviors of the component.
392
+ */
393
+ "mode"?: "ios" | "md";
346
394
  /**
347
395
  * If `true`, the backdrop will stop propagation on tap.
348
396
  */
@@ -351,6 +399,10 @@ export namespace Components {
351
399
  * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
352
400
  */
353
401
  "tappable": boolean;
402
+ /**
403
+ * The theme determines the visual appearance of the component.
404
+ */
405
+ "theme"?: "ios" | "md" | "ionic";
354
406
  /**
355
407
  * If `true`, the backdrop will be visible.
356
408
  */
@@ -362,9 +414,21 @@ export namespace Components {
362
414
  */
363
415
  "color"?: Color;
364
416
  /**
365
- * The mode determines which platform styles to use.
417
+ * The mode determines the platform behaviors of the component.
366
418
  */
367
419
  "mode"?: "ios" | "md";
420
+ /**
421
+ * 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.
422
+ */
423
+ "shape"?: 'soft' | 'round';
424
+ /**
425
+ * Set to `"xxsmall"` for the smallest badge. Set to "xsmall" for a very small badge. Set to `"small"` for a small badge. Set to "medium" for a medium badge. Set to "large" for a large badge. Set to `"xlarge"` for the largest badge. Defaults to `"small"` for the `ionic` theme, undefined for all other themes.
426
+ */
427
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
428
+ /**
429
+ * The theme determines the visual appearance of the component.
430
+ */
431
+ "theme"?: "ios" | "md" | "ionic";
368
432
  }
369
433
  interface IonBreadcrumb {
370
434
  /**
@@ -390,7 +454,7 @@ export namespace Components {
390
454
  "href": string | undefined;
391
455
  "last": boolean;
392
456
  /**
393
- * The mode determines which platform styles to use.
457
+ * The mode determines the platform behaviors of the component.
394
458
  */
395
459
  "mode"?: "ios" | "md";
396
460
  /**
@@ -414,6 +478,10 @@ export namespace Components {
414
478
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
415
479
  */
416
480
  "target": string | undefined;
481
+ /**
482
+ * The theme determines the visual appearance of the component.
483
+ */
484
+ "theme"?: "ios" | "md" | "ionic";
417
485
  }
418
486
  interface IonBreadcrumbs {
419
487
  /**
@@ -433,9 +501,13 @@ export namespace Components {
433
501
  */
434
502
  "maxItems"?: number;
435
503
  /**
436
- * The mode determines which platform styles to use.
504
+ * The mode determines the platform behaviors of the component.
437
505
  */
438
506
  "mode"?: "ios" | "md";
507
+ /**
508
+ * The theme determines the visual appearance of the component.
509
+ */
510
+ "theme"?: "ios" | "md" | "ionic";
439
511
  }
440
512
  interface IonButton {
441
513
  /**
@@ -471,7 +543,7 @@ export namespace Components {
471
543
  */
472
544
  "href": string | undefined;
473
545
  /**
474
- * The mode determines which platform styles to use.
546
+ * The mode determines the platform behaviors of the component.
475
547
  */
476
548
  "mode"?: "ios" | "md";
477
549
  /**
@@ -487,13 +559,13 @@ export namespace Components {
487
559
  */
488
560
  "routerDirection": RouterDirection;
489
561
  /**
490
- * Set to `"round"` for a button with more rounded corners.
562
+ * 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.
491
563
  */
492
- "shape"?: 'round';
564
+ "shape"?: 'soft' | 'round' | 'rectangular';
493
565
  /**
494
566
  * 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.
495
567
  */
496
- "size"?: 'small' | 'default' | 'large';
568
+ "size"?: 'xsmall' | 'small' | 'default' | 'large' | 'xlarge';
497
569
  /**
498
570
  * If `true`, activates a button with a heavier font weight.
499
571
  */
@@ -502,6 +574,10 @@ export namespace Components {
502
574
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
503
575
  */
504
576
  "target": string | undefined;
577
+ /**
578
+ * The theme determines the visual appearance of the component.
579
+ */
580
+ "theme"?: "ios" | "md" | "ionic";
505
581
  /**
506
582
  * The type of the button.
507
583
  */
@@ -509,9 +585,17 @@ export namespace Components {
509
585
  }
510
586
  interface IonButtons {
511
587
  /**
512
- * 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)
588
+ * 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)
513
589
  */
514
590
  "collapse": boolean;
591
+ /**
592
+ * The mode determines the platform behaviors of the component.
593
+ */
594
+ "mode"?: "ios" | "md";
595
+ /**
596
+ * The theme determines the visual appearance of the component.
597
+ */
598
+ "theme"?: "ios" | "md" | "ionic";
515
599
  }
516
600
  interface IonCard {
517
601
  /**
@@ -535,7 +619,7 @@ export namespace Components {
535
619
  */
536
620
  "href": string | undefined;
537
621
  /**
538
- * The mode determines which platform styles to use.
622
+ * The mode determines the platform behaviors of the component.
539
623
  */
540
624
  "mode"?: "ios" | "md";
541
625
  /**
@@ -550,10 +634,18 @@ export namespace Components {
550
634
  * When using a router, it specifies the transition direction when navigating to another page using `href`.
551
635
  */
552
636
  "routerDirection": RouterDirection;
637
+ /**
638
+ * 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"`.
639
+ */
640
+ "shape"?: 'soft' | 'round' | 'rectangular';
553
641
  /**
554
642
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
555
643
  */
556
644
  "target": string | undefined;
645
+ /**
646
+ * The theme determines the visual appearance of the component.
647
+ */
648
+ "theme"?: "ios" | "md" | "ionic";
557
649
  /**
558
650
  * The type of the button. Only used when an `onclick` or `button` property is present.
559
651
  */
@@ -561,9 +653,13 @@ export namespace Components {
561
653
  }
562
654
  interface IonCardContent {
563
655
  /**
564
- * The mode determines which platform styles to use.
656
+ * The mode determines the platform behaviors of the component.
565
657
  */
566
658
  "mode"?: "ios" | "md";
659
+ /**
660
+ * The theme determines the visual appearance of the component.
661
+ */
662
+ "theme"?: "ios" | "md" | "ionic";
567
663
  }
568
664
  interface IonCardHeader {
569
665
  /**
@@ -571,11 +667,15 @@ export namespace Components {
571
667
  */
572
668
  "color"?: Color;
573
669
  /**
574
- * The mode determines which platform styles to use.
670
+ * The mode determines the platform behaviors of the component.
575
671
  */
576
672
  "mode"?: "ios" | "md";
577
673
  /**
578
- * 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).
674
+ * The theme determines the visual appearance of the component.
675
+ */
676
+ "theme"?: "ios" | "md" | "ionic";
677
+ /**
678
+ * 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).
579
679
  */
580
680
  "translucent": boolean;
581
681
  }
@@ -585,9 +685,13 @@ export namespace Components {
585
685
  */
586
686
  "color"?: Color;
587
687
  /**
588
- * The mode determines which platform styles to use.
688
+ * The mode determines the platform behaviors of the component.
589
689
  */
590
690
  "mode"?: "ios" | "md";
691
+ /**
692
+ * The theme determines the visual appearance of the component.
693
+ */
694
+ "theme"?: "ios" | "md" | "ionic";
591
695
  }
592
696
  interface IonCardTitle {
593
697
  /**
@@ -595,9 +699,13 @@ export namespace Components {
595
699
  */
596
700
  "color"?: Color;
597
701
  /**
598
- * The mode determines which platform styles to use.
702
+ * The mode determines the platform behaviors of the component.
599
703
  */
600
704
  "mode"?: "ios" | "md";
705
+ /**
706
+ * The theme determines the visual appearance of the component.
707
+ */
708
+ "theme"?: "ios" | "md" | "ionic";
601
709
  }
602
710
  interface IonCheckbox {
603
711
  /**
@@ -629,13 +737,25 @@ export namespace Components {
629
737
  */
630
738
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
631
739
  /**
632
- * The mode determines which platform styles to use.
740
+ * The mode determines the platform behaviors of the component.
633
741
  */
634
742
  "mode"?: "ios" | "md";
635
743
  /**
636
744
  * The name of the control, which is submitted with the form data.
637
745
  */
638
746
  "name": string;
747
+ /**
748
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
749
+ */
750
+ "shape"?: 'soft' | 'rectangular';
751
+ /**
752
+ * Set to `"small"` for a checkbox with less height and padding.
753
+ */
754
+ "size"?: 'small';
755
+ /**
756
+ * The theme determines the visual appearance of the component.
757
+ */
758
+ "theme"?: "ios" | "md" | "ionic";
639
759
  /**
640
760
  * 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>`.
641
761
  */
@@ -651,15 +771,31 @@ export namespace Components {
651
771
  */
652
772
  "disabled": boolean;
653
773
  /**
654
- * The mode determines which platform styles to use.
774
+ * The mode determines the platform behaviors of the component.
655
775
  */
656
776
  "mode"?: "ios" | "md";
657
777
  /**
658
778
  * Display an outline style button.
659
779
  */
660
780
  "outline": boolean;
781
+ /**
782
+ * 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.
783
+ */
784
+ "shape"?: 'soft' | 'round' | 'rectangular';
785
+ /**
786
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
787
+ */
788
+ "size"?: 'small' | 'large';
789
+ /**
790
+ * The theme determines the visual appearance of the component.
791
+ */
792
+ "theme"?: "ios" | "md" | "ionic";
661
793
  }
662
794
  interface IonCol {
795
+ /**
796
+ * The mode determines the platform behaviors of the component.
797
+ */
798
+ "mode"?: "ios" | "md";
663
799
  /**
664
800
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
665
801
  */
@@ -756,6 +892,10 @@ export namespace Components {
756
892
  * 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.
757
893
  */
758
894
  "sizeXs"?: string;
895
+ /**
896
+ * The theme determines the visual appearance of the component.
897
+ */
898
+ "theme"?: "ios" | "md" | "ionic";
759
899
  }
760
900
  interface IonContent {
761
901
  /**
@@ -782,6 +922,10 @@ export namespace Components {
782
922
  * 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.
783
923
  */
784
924
  "getScrollElement": () => Promise<HTMLElement>;
925
+ /**
926
+ * The mode determines the platform behaviors of the component.
927
+ */
928
+ "mode"?: "ios" | "md";
785
929
  /**
786
930
  * Scroll by a specified X/Y distance in the component.
787
931
  * @param x The amount to scroll by on the horizontal axis.
@@ -818,6 +962,10 @@ export namespace Components {
818
962
  * If you want to disable the content scrolling in the Y axis, set this property to `false`.
819
963
  */
820
964
  "scrollY": boolean;
965
+ /**
966
+ * The theme determines the visual appearance of the component.
967
+ */
968
+ "theme"?: "ios" | "md" | "ionic";
821
969
  }
822
970
  interface IonDatetime {
823
971
  /**
@@ -893,7 +1041,7 @@ export namespace Components {
893
1041
  */
894
1042
  "minuteValues"?: number[] | number | string;
895
1043
  /**
896
- * The mode determines which platform styles to use.
1044
+ * The mode determines the platform behaviors of the component.
897
1045
  */
898
1046
  "mode"?: "ios" | "md";
899
1047
  /**
@@ -944,6 +1092,10 @@ export namespace Components {
944
1092
  * If `cover`, the `ion-datetime` will expand to cover the full width of its container. If `fixed`, the `ion-datetime` will have a fixed width.
945
1093
  */
946
1094
  "size": 'cover' | 'fixed';
1095
+ /**
1096
+ * The theme determines the visual appearance of the component.
1097
+ */
1098
+ "theme"?: "ios" | "md" | "ionic";
947
1099
  /**
948
1100
  * 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.
949
1101
  */
@@ -971,9 +1123,13 @@ export namespace Components {
971
1123
  */
972
1124
  "disabled": boolean;
973
1125
  /**
974
- * The mode determines which platform styles to use.
1126
+ * The mode determines the platform behaviors of the component.
975
1127
  */
976
1128
  "mode"?: "ios" | "md";
1129
+ /**
1130
+ * The theme determines the visual appearance of the component.
1131
+ */
1132
+ "theme"?: "ios" | "md" | "ionic";
977
1133
  }
978
1134
  interface IonFab {
979
1135
  /**
@@ -992,6 +1148,14 @@ export namespace Components {
992
1148
  * Where to align the fab horizontally in the viewport.
993
1149
  */
994
1150
  "horizontal"?: 'start' | 'end' | 'center';
1151
+ /**
1152
+ * The mode determines the platform behaviors of the component.
1153
+ */
1154
+ "mode"?: "ios" | "md";
1155
+ /**
1156
+ * The theme determines the visual appearance of the component.
1157
+ */
1158
+ "theme"?: "ios" | "md" | "ionic";
995
1159
  /**
996
1160
  * Opens/Closes the FAB list container.
997
1161
  */
@@ -1009,7 +1173,7 @@ export namespace Components {
1009
1173
  /**
1010
1174
  * 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.
1011
1175
  */
1012
- "closeIcon": string;
1176
+ "closeIcon"?: string;
1013
1177
  /**
1014
1178
  * 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).
1015
1179
  */
@@ -1027,7 +1191,7 @@ export namespace Components {
1027
1191
  */
1028
1192
  "href": string | undefined;
1029
1193
  /**
1030
- * The mode determines which platform styles to use.
1194
+ * The mode determines the platform behaviors of the component.
1031
1195
  */
1032
1196
  "mode"?: "ios" | "md";
1033
1197
  /**
@@ -1055,7 +1219,11 @@ export namespace Components {
1055
1219
  */
1056
1220
  "target": string | undefined;
1057
1221
  /**
1058
- * 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).
1222
+ * The theme determines the visual appearance of the component.
1223
+ */
1224
+ "theme"?: "ios" | "md" | "ionic";
1225
+ /**
1226
+ * 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).
1059
1227
  */
1060
1228
  "translucent": boolean;
1061
1229
  /**
@@ -1068,22 +1236,34 @@ export namespace Components {
1068
1236
  * If `true`, the fab list will show all fab buttons in the list.
1069
1237
  */
1070
1238
  "activated": boolean;
1239
+ /**
1240
+ * The mode determines the platform behaviors of the component.
1241
+ */
1242
+ "mode"?: "ios" | "md";
1071
1243
  /**
1072
1244
  * The side the fab list will show on relative to the main fab button.
1073
1245
  */
1074
1246
  "side": 'start' | 'end' | 'top' | 'bottom';
1247
+ /**
1248
+ * The theme determines the visual appearance of the component.
1249
+ */
1250
+ "theme"?: "ios" | "md" | "ionic";
1075
1251
  }
1076
1252
  interface IonFooter {
1077
1253
  /**
1078
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
1254
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
1079
1255
  */
1080
1256
  "collapse"?: 'fade';
1081
1257
  /**
1082
- * The mode determines which platform styles to use.
1258
+ * The mode determines the platform behaviors of the component.
1083
1259
  */
1084
1260
  "mode"?: "ios" | "md";
1085
1261
  /**
1086
- * 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.
1262
+ * The theme determines the visual appearance of the component.
1263
+ */
1264
+ "theme"?: "ios" | "md" | "ionic";
1265
+ /**
1266
+ * 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.
1087
1267
  */
1088
1268
  "translucent": boolean;
1089
1269
  }
@@ -1092,18 +1272,30 @@ export namespace Components {
1092
1272
  * If `true`, the grid will have a fixed width based on the screen size.
1093
1273
  */
1094
1274
  "fixed": boolean;
1275
+ /**
1276
+ * The mode determines the platform behaviors of the component.
1277
+ */
1278
+ "mode"?: "ios" | "md";
1279
+ /**
1280
+ * The theme determines the visual appearance of the component.
1281
+ */
1282
+ "theme"?: "ios" | "md" | "ionic";
1095
1283
  }
1096
1284
  interface IonHeader {
1097
1285
  /**
1098
- * 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)
1286
+ * 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)
1099
1287
  */
1100
1288
  "collapse"?: 'condense' | 'fade';
1101
1289
  /**
1102
- * The mode determines which platform styles to use.
1290
+ * The mode determines the platform behaviors of the component.
1103
1291
  */
1104
1292
  "mode"?: "ios" | "md";
1105
1293
  /**
1106
- * 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.
1294
+ * The theme determines the visual appearance of the component.
1295
+ */
1296
+ "theme"?: "ios" | "md" | "ionic";
1297
+ /**
1298
+ * If `true`, the 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). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
1107
1299
  */
1108
1300
  "translucent": boolean;
1109
1301
  }
@@ -1112,10 +1304,18 @@ export namespace Components {
1112
1304
  * 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.
1113
1305
  */
1114
1306
  "alt"?: string;
1307
+ /**
1308
+ * The mode determines the platform behaviors of the component.
1309
+ */
1310
+ "mode"?: "ios" | "md";
1115
1311
  /**
1116
1312
  * The image URL. This attribute is mandatory for the `<img>` element.
1117
1313
  */
1118
1314
  "src"?: string;
1315
+ /**
1316
+ * The theme determines the visual appearance of the component.
1317
+ */
1318
+ "theme"?: "ios" | "md" | "ionic";
1119
1319
  }
1120
1320
  interface IonInfiniteScroll {
1121
1321
  /**
@@ -1126,10 +1326,18 @@ export namespace Components {
1126
1326
  * If `true`, the infinite scroll will be hidden and scroll event listeners will be removed. Set this to true to disable the infinite scroll from actively trying to receive new data while scrolling. This is useful when it is known that there is no more data that can be added, and the infinite scroll is no longer needed.
1127
1327
  */
1128
1328
  "disabled": boolean;
1329
+ /**
1330
+ * The mode determines the platform behaviors of the component.
1331
+ */
1332
+ "mode"?: "ios" | "md";
1129
1333
  /**
1130
1334
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
1131
1335
  */
1132
1336
  "position": 'top' | 'bottom';
1337
+ /**
1338
+ * The theme determines the visual appearance of the component.
1339
+ */
1340
+ "theme"?: "ios" | "md" | "ionic";
1133
1341
  /**
1134
1342
  * 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.
1135
1343
  */
@@ -1144,6 +1352,14 @@ export namespace Components {
1144
1352
  * 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.
1145
1353
  */
1146
1354
  "loadingText"?: string | IonicSafeString;
1355
+ /**
1356
+ * The mode determines the platform behaviors of the component.
1357
+ */
1358
+ "mode"?: "ios" | "md";
1359
+ /**
1360
+ * The theme determines the visual appearance of the component.
1361
+ */
1362
+ "theme"?: "ios" | "md" | "ionic";
1147
1363
  }
1148
1364
  interface IonInput {
1149
1365
  /**
@@ -1203,7 +1419,7 @@ export namespace Components {
1203
1419
  */
1204
1420
  "errorText"?: string;
1205
1421
  /**
1206
- * 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.
1422
+ * 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"`.
1207
1423
  */
1208
1424
  "fill"?: 'outline' | 'solid';
1209
1425
  /**
@@ -1223,9 +1439,9 @@ export namespace Components {
1223
1439
  */
1224
1440
  "label"?: string;
1225
1441
  /**
1226
- * 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 ("...").
1442
+ * 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.
1227
1443
  */
1228
- "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1444
+ "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1229
1445
  /**
1230
1446
  * The maximum value, which must not be less than its minimum (min attribute) value.
1231
1447
  */
@@ -1243,7 +1459,7 @@ export namespace Components {
1243
1459
  */
1244
1460
  "minlength"?: number;
1245
1461
  /**
1246
- * The mode determines which platform styles to use.
1462
+ * The mode determines the platform behaviors of the component.
1247
1463
  */
1248
1464
  "mode"?: "ios" | "md";
1249
1465
  /**
@@ -1275,9 +1491,13 @@ export namespace Components {
1275
1491
  */
1276
1492
  "setFocus": () => Promise<void>;
1277
1493
  /**
1278
- * The shape of the input. If "round" it will have an increased border radius.
1494
+ * 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"`.
1279
1495
  */
1280
- "shape"?: 'round';
1496
+ "shape"?: 'soft' | 'round' | 'rectangular';
1497
+ /**
1498
+ * 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.
1499
+ */
1500
+ "size"?: 'medium' | 'large' | 'xlarge';
1281
1501
  /**
1282
1502
  * If `true`, the element will have its spelling and grammar checked.
1283
1503
  */
@@ -1286,6 +1506,10 @@ export namespace Components {
1286
1506
  * 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.
1287
1507
  */
1288
1508
  "step"?: string;
1509
+ /**
1510
+ * The theme determines the visual appearance of the component.
1511
+ */
1512
+ "theme"?: "ios" | "md" | "ionic";
1289
1513
  /**
1290
1514
  * The type of control to display. The default type is text.
1291
1515
  */
@@ -1324,13 +1548,13 @@ export namespace Components {
1324
1548
  */
1325
1549
  "color"?: Color;
1326
1550
  /**
1327
- * 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.
1551
+ * 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.
1328
1552
  */
1329
1553
  "detail"?: boolean;
1330
1554
  /**
1331
1555
  * The icon to use when `detail` is set to `true`.
1332
1556
  */
1333
- "detailIcon": string;
1557
+ "detailIcon"?: string;
1334
1558
  /**
1335
1559
  * If `true`, the user cannot interact with the item.
1336
1560
  */
@@ -1348,7 +1572,7 @@ export namespace Components {
1348
1572
  */
1349
1573
  "lines"?: 'full' | 'inset' | 'none';
1350
1574
  /**
1351
- * The mode determines which platform styles to use.
1575
+ * The mode determines the platform behaviors of the component.
1352
1576
  */
1353
1577
  "mode"?: "ios" | "md";
1354
1578
  /**
@@ -1367,6 +1591,10 @@ export namespace Components {
1367
1591
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1368
1592
  */
1369
1593
  "target": string | undefined;
1594
+ /**
1595
+ * The theme determines the visual appearance of the component.
1596
+ */
1597
+ "theme"?: "ios" | "md" | "ionic";
1370
1598
  /**
1371
1599
  * The type of the button. Only used when an `onclick` or `button` property is present.
1372
1600
  */
@@ -1378,15 +1606,27 @@ export namespace Components {
1378
1606
  */
1379
1607
  "color"?: Color;
1380
1608
  /**
1381
- * The mode determines which platform styles to use.
1609
+ * The mode determines the platform behaviors of the component.
1382
1610
  */
1383
1611
  "mode"?: "ios" | "md";
1384
1612
  /**
1385
1613
  * When it's set to `true`, the item-divider will stay visible when it reaches the top of the viewport until the next `ion-item-divider` replaces it. This feature relies in `position:sticky`: https://caniuse.com/#feat=css-sticky
1386
1614
  */
1387
1615
  "sticky": boolean;
1616
+ /**
1617
+ * The theme determines the visual appearance of the component.
1618
+ */
1619
+ "theme"?: "ios" | "md" | "ionic";
1388
1620
  }
1389
1621
  interface IonItemGroup {
1622
+ /**
1623
+ * The mode determines the platform behaviors of the component.
1624
+ */
1625
+ "mode"?: "ios" | "md";
1626
+ /**
1627
+ * The theme determines the visual appearance of the component.
1628
+ */
1629
+ "theme"?: "ios" | "md" | "ionic";
1390
1630
  }
1391
1631
  interface IonItemOption {
1392
1632
  /**
@@ -1410,7 +1650,7 @@ export namespace Components {
1410
1650
  */
1411
1651
  "href": string | undefined;
1412
1652
  /**
1413
- * The mode determines which platform styles to use.
1653
+ * The mode determines the platform behaviors of the component.
1414
1654
  */
1415
1655
  "mode"?: "ios" | "md";
1416
1656
  /**
@@ -1421,6 +1661,10 @@ export namespace Components {
1421
1661
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1422
1662
  */
1423
1663
  "target": string | undefined;
1664
+ /**
1665
+ * The theme determines the visual appearance of the component.
1666
+ */
1667
+ "theme"?: "ios" | "md" | "ionic";
1424
1668
  /**
1425
1669
  * The type of the button.
1426
1670
  */
@@ -1428,10 +1672,18 @@ export namespace Components {
1428
1672
  }
1429
1673
  interface IonItemOptions {
1430
1674
  "fireSwipeEvent": () => Promise<void>;
1675
+ /**
1676
+ * The mode determines the platform behaviors of the component.
1677
+ */
1678
+ "mode"?: "ios" | "md";
1431
1679
  /**
1432
1680
  * 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.
1433
1681
  */
1434
1682
  "side": Side;
1683
+ /**
1684
+ * The theme determines the visual appearance of the component.
1685
+ */
1686
+ "theme"?: "ios" | "md" | "ionic";
1435
1687
  }
1436
1688
  interface IonItemSliding {
1437
1689
  /**
@@ -1454,11 +1706,19 @@ export namespace Components {
1454
1706
  * 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.
1455
1707
  */
1456
1708
  "getSlidingRatio": () => Promise<number>;
1709
+ /**
1710
+ * The mode determines the platform behaviors of the component.
1711
+ */
1712
+ "mode"?: "ios" | "md";
1457
1713
  /**
1458
1714
  * Open the sliding item.
1459
1715
  * @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.
1460
1716
  */
1461
1717
  "open": (side: Side | undefined) => Promise<void>;
1718
+ /**
1719
+ * The theme determines the visual appearance of the component.
1720
+ */
1721
+ "theme"?: "ios" | "md" | "ionic";
1462
1722
  }
1463
1723
  interface IonLabel {
1464
1724
  /**
@@ -1466,13 +1726,17 @@ export namespace Components {
1466
1726
  */
1467
1727
  "color"?: Color;
1468
1728
  /**
1469
- * The mode determines which platform styles to use.
1729
+ * The mode determines the platform behaviors of the component.
1470
1730
  */
1471
1731
  "mode"?: "ios" | "md";
1472
1732
  /**
1473
1733
  * The position determines where and how the label behaves inside an item.
1474
1734
  */
1475
1735
  "position"?: 'fixed' | 'stacked' | 'floating';
1736
+ /**
1737
+ * The theme determines the visual appearance of the component.
1738
+ */
1739
+ "theme"?: "ios" | "md" | "ionic";
1476
1740
  }
1477
1741
  interface IonList {
1478
1742
  /**
@@ -1488,9 +1752,13 @@ export namespace Components {
1488
1752
  */
1489
1753
  "lines"?: 'full' | 'inset' | 'none';
1490
1754
  /**
1491
- * The mode determines which platform styles to use.
1755
+ * The mode determines the platform behaviors of the component.
1492
1756
  */
1493
1757
  "mode"?: "ios" | "md";
1758
+ /**
1759
+ * The theme determines the visual appearance of the component.
1760
+ */
1761
+ "theme"?: "ios" | "md" | "ionic";
1494
1762
  }
1495
1763
  interface IonListHeader {
1496
1764
  /**
@@ -1502,9 +1770,13 @@ export namespace Components {
1502
1770
  */
1503
1771
  "lines"?: 'full' | 'inset' | 'none';
1504
1772
  /**
1505
- * The mode determines which platform styles to use.
1773
+ * The mode determines the platform behaviors of the component.
1506
1774
  */
1507
1775
  "mode"?: "ios" | "md";
1776
+ /**
1777
+ * The theme determines the visual appearance of the component.
1778
+ */
1779
+ "theme"?: "ios" | "md" | "ionic";
1508
1780
  }
1509
1781
  interface IonLoading {
1510
1782
  /**
@@ -1556,7 +1828,7 @@ export namespace Components {
1556
1828
  */
1557
1829
  "message"?: string | IonicSafeString;
1558
1830
  /**
1559
- * The mode determines which platform styles to use.
1831
+ * The mode determines the platform behaviors of the component.
1560
1832
  */
1561
1833
  "mode"?: "ios" | "md";
1562
1834
  /**
@@ -1581,7 +1853,11 @@ export namespace Components {
1581
1853
  */
1582
1854
  "spinner"?: SpinnerTypes | null;
1583
1855
  /**
1584
- * 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).
1856
+ * The theme determines the visual appearance of the component.
1857
+ */
1858
+ "theme"?: "ios" | "md" | "ionic";
1859
+ /**
1860
+ * 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).
1585
1861
  */
1586
1862
  "translucent": boolean;
1587
1863
  /**
@@ -1618,6 +1894,10 @@ export namespace Components {
1618
1894
  * An id for the menu.
1619
1895
  */
1620
1896
  "menuId"?: string;
1897
+ /**
1898
+ * The mode determines the platform behaviors of the component.
1899
+ */
1900
+ "mode"?: "ios" | "md";
1621
1901
  /**
1622
1902
  * Opens the menu. If the menu is already open or it can't be opened, it returns `false`.
1623
1903
  */
@@ -1634,6 +1914,10 @@ export namespace Components {
1634
1914
  * If `true`, swiping the menu is enabled.
1635
1915
  */
1636
1916
  "swipeGesture": boolean;
1917
+ /**
1918
+ * The theme determines the visual appearance of the component.
1919
+ */
1920
+ "theme"?: "ios" | "md" | "ionic";
1637
1921
  /**
1638
1922
  * 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`.
1639
1923
  */
@@ -1661,9 +1945,13 @@ export namespace Components {
1661
1945
  */
1662
1946
  "menu"?: string;
1663
1947
  /**
1664
- * The mode determines which platform styles to use.
1948
+ * The mode determines the platform behaviors of the component.
1665
1949
  */
1666
1950
  "mode"?: "ios" | "md";
1951
+ /**
1952
+ * The theme determines the visual appearance of the component.
1953
+ */
1954
+ "theme"?: "ios" | "md" | "ionic";
1667
1955
  /**
1668
1956
  * The type of the button.
1669
1957
  */
@@ -1678,6 +1966,14 @@ export namespace Components {
1678
1966
  * 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.
1679
1967
  */
1680
1968
  "menu"?: string;
1969
+ /**
1970
+ * The mode determines the platform behaviors of the component.
1971
+ */
1972
+ "mode"?: "ios" | "md";
1973
+ /**
1974
+ * The theme determines the visual appearance of the component.
1975
+ */
1976
+ "theme"?: "ios" | "md" | "ionic";
1681
1977
  }
1682
1978
  interface IonModal {
1683
1979
  /**
@@ -1765,7 +2061,7 @@ export namespace Components {
1765
2061
  */
1766
2062
  "leaveAnimation"?: AnimationBuilder;
1767
2063
  /**
1768
- * The mode determines which platform styles to use.
2064
+ * The mode determines the platform behaviors of the component.
1769
2065
  */
1770
2066
  "mode"?: "ios" | "md";
1771
2067
  /**
@@ -1793,6 +2089,10 @@ export namespace Components {
1793
2089
  * 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.
1794
2090
  */
1795
2091
  "showBackdrop": boolean;
2092
+ /**
2093
+ * The theme determines the visual appearance of the component.
2094
+ */
2095
+ "theme"?: "ios" | "md" | "ionic";
1796
2096
  /**
1797
2097
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
1798
2098
  */
@@ -1804,7 +2104,7 @@ export namespace Components {
1804
2104
  */
1805
2105
  "animated": boolean;
1806
2106
  /**
1807
- * 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.
2107
+ * 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.
1808
2108
  */
1809
2109
  "animation"?: AnimationBuilder;
1810
2110
  /**
@@ -1852,6 +2152,10 @@ export namespace Components {
1852
2152
  * @param done The transition complete function.
1853
2153
  */
1854
2154
  "insertPages": (insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean>;
2155
+ /**
2156
+ * The mode determines the platform behaviors of the component.
2157
+ */
2158
+ "mode"?: "ios" | "md";
1855
2159
  /**
1856
2160
  * Pop a component off of the navigation stack. Navigates back from the current component.
1857
2161
  * @param opts The navigation options.
@@ -1923,6 +2227,10 @@ export namespace Components {
1923
2227
  * If the nav component should allow for swipe-to-go-back.
1924
2228
  */
1925
2229
  "swipeGesture"?: boolean;
2230
+ /**
2231
+ * The theme determines the visual appearance of the component.
2232
+ */
2233
+ "theme"?: "ios" | "md" | "ionic";
1926
2234
  }
1927
2235
  interface IonNavLink {
1928
2236
  /**
@@ -1933,6 +2241,10 @@ export namespace Components {
1933
2241
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
1934
2242
  */
1935
2243
  "componentProps"?: ComponentProps;
2244
+ /**
2245
+ * The mode determines the platform behaviors of the component.
2246
+ */
2247
+ "mode"?: "ios" | "md";
1936
2248
  /**
1937
2249
  * The transition animation when navigating to another page.
1938
2250
  */
@@ -1941,6 +2253,10 @@ export namespace Components {
1941
2253
  * The transition direction when navigating to another page.
1942
2254
  */
1943
2255
  "routerDirection": RouterDirection;
2256
+ /**
2257
+ * The theme determines the visual appearance of the component.
2258
+ */
2259
+ "theme"?: "ios" | "md" | "ionic";
1944
2260
  }
1945
2261
  interface IonNote {
1946
2262
  /**
@@ -1948,16 +2264,24 @@ export namespace Components {
1948
2264
  */
1949
2265
  "color"?: Color;
1950
2266
  /**
1951
- * The mode determines which platform styles to use.
2267
+ * The mode determines the platform behaviors of the component.
1952
2268
  */
1953
2269
  "mode"?: "ios" | "md";
2270
+ /**
2271
+ * The theme determines the visual appearance of the component.
2272
+ */
2273
+ "theme"?: "ios" | "md" | "ionic";
1954
2274
  }
1955
2275
  interface IonPicker {
1956
2276
  "exitInputMode": () => Promise<void>;
1957
2277
  /**
1958
- * The mode determines which platform styles to use.
2278
+ * The mode determines the platform behaviors of the component.
1959
2279
  */
1960
2280
  "mode"?: "ios" | "md";
2281
+ /**
2282
+ * The theme determines the visual appearance of the component.
2283
+ */
2284
+ "theme"?: "ios" | "md" | "ionic";
1961
2285
  }
1962
2286
  interface IonPickerColumn {
1963
2287
  /**
@@ -1969,7 +2293,7 @@ export namespace Components {
1969
2293
  */
1970
2294
  "disabled": boolean;
1971
2295
  /**
1972
- * The mode determines which platform styles to use.
2296
+ * The mode determines the platform behaviors of the component.
1973
2297
  */
1974
2298
  "mode"?: "ios" | "md";
1975
2299
  /**
@@ -1985,6 +2309,10 @@ export namespace Components {
1985
2309
  * 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.
1986
2310
  */
1987
2311
  "setValue": (value: PickerColumnValue) => Promise<void>;
2312
+ /**
2313
+ * The theme determines the visual appearance of the component.
2314
+ */
2315
+ "theme"?: "ios" | "md" | "ionic";
1988
2316
  /**
1989
2317
  * The selected option in the picker.
1990
2318
  */
@@ -1999,6 +2327,14 @@ export namespace Components {
1999
2327
  * If `true`, the user cannot interact with the picker column option.
2000
2328
  */
2001
2329
  "disabled": boolean;
2330
+ /**
2331
+ * The mode determines the platform behaviors of the component.
2332
+ */
2333
+ "mode"?: "ios" | "md";
2334
+ /**
2335
+ * The theme determines the visual appearance of the component.
2336
+ */
2337
+ "theme"?: "ios" | "md" | "ionic";
2002
2338
  /**
2003
2339
  * The text value of the option.
2004
2340
  */
@@ -2063,7 +2399,7 @@ export namespace Components {
2063
2399
  */
2064
2400
  "leaveAnimation"?: AnimationBuilder;
2065
2401
  /**
2066
- * The mode determines which platform styles to use.
2402
+ * The mode determines the platform behaviors of the component.
2067
2403
  */
2068
2404
  "mode"?: "ios" | "md";
2069
2405
  /**
@@ -2083,6 +2419,10 @@ export namespace Components {
2083
2419
  * If `true`, a backdrop will be displayed behind the picker.
2084
2420
  */
2085
2421
  "showBackdrop": boolean;
2422
+ /**
2423
+ * The theme determines the visual appearance of the component.
2424
+ */
2425
+ "theme"?: "ios" | "md" | "ionic";
2086
2426
  /**
2087
2427
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
2088
2428
  */
@@ -2096,7 +2436,7 @@ export namespace Components {
2096
2436
  }
2097
2437
  interface IonPopover {
2098
2438
  /**
2099
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
2439
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
2100
2440
  */
2101
2441
  "alignment"?: PositionAlign;
2102
2442
  /**
@@ -2104,7 +2444,7 @@ export namespace Components {
2104
2444
  */
2105
2445
  "animated": boolean;
2106
2446
  /**
2107
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
2447
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
2108
2448
  */
2109
2449
  "arrow": boolean;
2110
2450
  /**
@@ -2171,7 +2511,7 @@ export namespace Components {
2171
2511
  */
2172
2512
  "leaveAnimation"?: AnimationBuilder;
2173
2513
  /**
2174
- * The mode determines which platform styles to use.
2514
+ * The mode determines the platform behaviors of the component.
2175
2515
  */
2176
2516
  "mode"?: "ios" | "md";
2177
2517
  /**
@@ -2208,7 +2548,11 @@ export namespace Components {
2208
2548
  */
2209
2549
  "size": PopoverSize;
2210
2550
  /**
2211
- * 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).
2551
+ * The theme determines the visual appearance of the component.
2552
+ */
2553
+ "theme"?: "ios" | "md" | "ionic";
2554
+ /**
2555
+ * 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).
2212
2556
  */
2213
2557
  "translucent": boolean;
2214
2558
  /**
@@ -2230,13 +2574,17 @@ export namespace Components {
2230
2574
  */
2231
2575
  "color"?: Color;
2232
2576
  /**
2233
- * The mode determines which platform styles to use.
2577
+ * The mode determines the platform behaviors of the component.
2234
2578
  */
2235
2579
  "mode"?: "ios" | "md";
2236
2580
  /**
2237
2581
  * If true, reverse the progress bar direction.
2238
2582
  */
2239
2583
  "reversed": boolean;
2584
+ /**
2585
+ * The theme determines the visual appearance of the component.
2586
+ */
2587
+ "theme"?: "ios" | "md" | "ionic";
2240
2588
  /**
2241
2589
  * 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).
2242
2590
  */
@@ -2268,7 +2616,7 @@ export namespace Components {
2268
2616
  */
2269
2617
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
2270
2618
  /**
2271
- * The mode determines which platform styles to use.
2619
+ * The mode determines the platform behaviors of the component.
2272
2620
  */
2273
2621
  "mode"?: "ios" | "md";
2274
2622
  /**
@@ -2277,6 +2625,10 @@ export namespace Components {
2277
2625
  "name": string;
2278
2626
  "setButtonTabindex": (value: number) => Promise<void>;
2279
2627
  "setFocus": (ev: globalThis.Event) => Promise<void>;
2628
+ /**
2629
+ * The theme determines the visual appearance of the component.
2630
+ */
2631
+ "theme"?: "ios" | "md" | "ionic";
2280
2632
  /**
2281
2633
  * the value of the radio.
2282
2634
  */
@@ -2291,10 +2643,18 @@ export namespace Components {
2291
2643
  * This property allows developers to specify a custom function or property name for comparing objects when determining the selected option in the ion-radio-group. When not specified, the default behavior will use strict equality (===) for comparison.
2292
2644
  */
2293
2645
  "compareWith"?: string | RadioGroupCompareFn | null;
2646
+ /**
2647
+ * The mode determines the platform behaviors of the component.
2648
+ */
2649
+ "mode"?: "ios" | "md";
2294
2650
  /**
2295
2651
  * The name of the control, which is submitted with the form data.
2296
2652
  */
2297
2653
  "name": string;
2654
+ /**
2655
+ * The theme determines the visual appearance of the component.
2656
+ */
2657
+ "theme"?: "ios" | "md" | "ionic";
2298
2658
  /**
2299
2659
  * the value of the radio group.
2300
2660
  */
@@ -2338,7 +2698,7 @@ export namespace Components {
2338
2698
  */
2339
2699
  "min": number;
2340
2700
  /**
2341
- * The mode determines which platform styles to use.
2701
+ * The mode determines the platform behaviors of the component.
2342
2702
  */
2343
2703
  "mode"?: "ios" | "md";
2344
2704
  /**
@@ -2361,6 +2721,10 @@ export namespace Components {
2361
2721
  * Specifies the value granularity.
2362
2722
  */
2363
2723
  "step": number;
2724
+ /**
2725
+ * The theme determines the visual appearance of the component.
2726
+ */
2727
+ "theme"?: "ios" | "md" | "ionic";
2364
2728
  /**
2365
2729
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
2366
2730
  */
@@ -2392,7 +2756,7 @@ export namespace Components {
2392
2756
  */
2393
2757
  "getProgress": () => Promise<number>;
2394
2758
  /**
2395
- * The mode determines which platform styles to use.
2759
+ * The mode determines the platform behaviors of the component.
2396
2760
  */
2397
2761
  "mode"?: "ios" | "md";
2398
2762
  /**
@@ -2411,8 +2775,16 @@ export namespace Components {
2411
2775
  * Time it takes the refresher to snap back to the `refreshing` state. Does not apply when the refresher content uses a spinner, enabling the native refresher.
2412
2776
  */
2413
2777
  "snapbackDuration": string;
2778
+ /**
2779
+ * The theme determines the visual appearance of the component.
2780
+ */
2781
+ "theme"?: "ios" | "md" | "ionic";
2414
2782
  }
2415
2783
  interface IonRefresherContent {
2784
+ /**
2785
+ * The mode determines the platform behaviors of the component.
2786
+ */
2787
+ "mode"?: "ios" | "md";
2416
2788
  /**
2417
2789
  * 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.
2418
2790
  */
@@ -2429,8 +2801,20 @@ export namespace Components {
2429
2801
  * 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.
2430
2802
  */
2431
2803
  "refreshingText"?: string | IonicSafeString;
2804
+ /**
2805
+ * The theme determines the visual appearance of the component.
2806
+ */
2807
+ "theme"?: "ios" | "md" | "ionic";
2432
2808
  }
2433
2809
  interface IonReorder {
2810
+ /**
2811
+ * The mode determines the platform behaviors of the component.
2812
+ */
2813
+ "mode"?: "ios" | "md";
2814
+ /**
2815
+ * The theme determines the visual appearance of the component.
2816
+ */
2817
+ "theme"?: "ios" | "md" | "ionic";
2434
2818
  }
2435
2819
  interface IonReorderGroup {
2436
2820
  /**
@@ -2442,6 +2826,14 @@ export namespace Components {
2442
2826
  * If `true`, the reorder will be hidden.
2443
2827
  */
2444
2828
  "disabled": boolean;
2829
+ /**
2830
+ * The mode determines the platform behaviors of the component.
2831
+ */
2832
+ "mode"?: "ios" | "md";
2833
+ /**
2834
+ * The theme determines the visual appearance of the component.
2835
+ */
2836
+ "theme"?: "ios" | "md" | "ionic";
2445
2837
  }
2446
2838
  interface IonRippleEffect {
2447
2839
  /**
@@ -2450,6 +2842,14 @@ export namespace Components {
2450
2842
  * @param y The vertical coordinate of where the ripple should start.
2451
2843
  */
2452
2844
  "addRipple": (x: number, y: number) => Promise<() => void>;
2845
+ /**
2846
+ * The mode determines the platform behaviors of the component.
2847
+ */
2848
+ "mode"?: "ios" | "md";
2849
+ /**
2850
+ * The theme determines the visual appearance of the component.
2851
+ */
2852
+ "theme"?: "ios" | "md" | "ionic";
2453
2853
  /**
2454
2854
  * 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.
2455
2855
  */
@@ -2472,6 +2872,14 @@ export namespace Components {
2472
2872
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
2473
2873
  */
2474
2874
  "componentProps"?: { [key: string]: any };
2875
+ /**
2876
+ * The mode determines the platform behaviors of the component.
2877
+ */
2878
+ "mode"?: "ios" | "md";
2879
+ /**
2880
+ * The theme determines the visual appearance of the component.
2881
+ */
2882
+ "theme"?: "ios" | "md" | "ionic";
2475
2883
  /**
2476
2884
  * 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.
2477
2885
  */
@@ -2493,6 +2901,10 @@ export namespace Components {
2493
2901
  */
2494
2902
  "back": () => Promise<void>;
2495
2903
  "canTransition": () => Promise<string | boolean>;
2904
+ /**
2905
+ * The mode determines the platform behaviors of the component.
2906
+ */
2907
+ "mode"?: "ios" | "md";
2496
2908
  "navChanged": (direction: RouterDirection) => Promise<boolean>;
2497
2909
  "printDebug": () => Promise<void>;
2498
2910
  /**
@@ -2505,6 +2917,10 @@ export namespace Components {
2505
2917
  * The root path to use when matching URLs. By default, this is set to "/", but you can specify an alternate prefix for all URL paths.
2506
2918
  */
2507
2919
  "root": string;
2920
+ /**
2921
+ * The theme determines the visual appearance of the component.
2922
+ */
2923
+ "theme"?: "ios" | "md" | "ionic";
2508
2924
  /**
2509
2925
  * 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.
2510
2926
  */
@@ -2519,6 +2935,10 @@ export namespace Components {
2519
2935
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2520
2936
  */
2521
2937
  "href": string | undefined;
2938
+ /**
2939
+ * The mode determines the platform behaviors of the component.
2940
+ */
2941
+ "mode"?: "ios" | "md";
2522
2942
  /**
2523
2943
  * 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).
2524
2944
  */
@@ -2535,6 +2955,10 @@ export namespace Components {
2535
2955
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2536
2956
  */
2537
2957
  "target": string | undefined;
2958
+ /**
2959
+ * The theme determines the visual appearance of the component.
2960
+ */
2961
+ "theme"?: "ios" | "md" | "ionic";
2538
2962
  }
2539
2963
  interface IonRouterOutlet {
2540
2964
  /**
@@ -2549,13 +2973,25 @@ export namespace Components {
2549
2973
  "delegate"?: FrameworkDelegate;
2550
2974
  "getRouteId": () => Promise<RouteID | undefined>;
2551
2975
  /**
2552
- * The mode determines which platform styles to use.
2976
+ * The mode determines the platform behaviors of the component.
2553
2977
  */
2554
2978
  "mode": "ios" | "md";
2555
2979
  "setRouteId": (id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>;
2556
2980
  "swipeHandler"?: SwipeGestureHandler;
2981
+ /**
2982
+ * The theme determines the visual appearance of the component.
2983
+ */
2984
+ "theme"?: "ios" | "md" | "ionic";
2557
2985
  }
2558
2986
  interface IonRow {
2987
+ /**
2988
+ * The mode determines the platform behaviors of the component.
2989
+ */
2990
+ "mode"?: "ios" | "md";
2991
+ /**
2992
+ * The theme determines the visual appearance of the component.
2993
+ */
2994
+ "theme"?: "ios" | "md" | "ionic";
2559
2995
  }
2560
2996
  interface IonSearchbar {
2561
2997
  /**
@@ -2575,15 +3011,15 @@ export namespace Components {
2575
3011
  */
2576
3012
  "autocorrect": 'on' | 'off';
2577
3013
  /**
2578
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
3014
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
2579
3015
  */
2580
- "cancelButtonIcon": string;
3016
+ "cancelButtonIcon"?: string;
2581
3017
  /**
2582
- * Set the the cancel button text. Only applies to `ios` mode.
3018
+ * Set the the cancel button text. Only available when the theme is `"ios"`.
2583
3019
  */
2584
3020
  "cancelButtonText": string;
2585
3021
  /**
2586
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
3022
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
2587
3023
  */
2588
3024
  "clearIcon"?: string;
2589
3025
  /**
@@ -2619,7 +3055,7 @@ export namespace Components {
2619
3055
  */
2620
3056
  "minlength"?: number;
2621
3057
  /**
2622
- * The mode determines which platform styles to use.
3058
+ * The mode determines the platform behaviors of the component.
2623
3059
  */
2624
3060
  "mode"?: "ios" | "md";
2625
3061
  /**
@@ -2631,7 +3067,7 @@ export namespace Components {
2631
3067
  */
2632
3068
  "placeholder": string;
2633
3069
  /**
2634
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
3070
+ * 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.
2635
3071
  */
2636
3072
  "searchIcon"?: string;
2637
3073
  /**
@@ -2650,6 +3086,10 @@ export namespace Components {
2650
3086
  * If `true`, enable spellcheck on the input.
2651
3087
  */
2652
3088
  "spellcheck": boolean;
3089
+ /**
3090
+ * The theme determines the visual appearance of the component.
3091
+ */
3092
+ "theme"?: "ios" | "md" | "ionic";
2653
3093
  /**
2654
3094
  * Set the type of the input.
2655
3095
  */
@@ -2669,7 +3109,7 @@ export namespace Components {
2669
3109
  */
2670
3110
  "disabled": boolean;
2671
3111
  /**
2672
- * The mode determines which platform styles to use.
3112
+ * The mode determines the platform behaviors of the component.
2673
3113
  */
2674
3114
  "mode"?: "ios" | "md";
2675
3115
  /**
@@ -2684,6 +3124,10 @@ export namespace Components {
2684
3124
  * If `true`, users will be able to swipe between segment buttons to activate them.
2685
3125
  */
2686
3126
  "swipeGesture": boolean;
3127
+ /**
3128
+ * The theme determines the visual appearance of the component.
3129
+ */
3130
+ "theme"?: "ios" | "md" | "ionic";
2687
3131
  /**
2688
3132
  * the value of the segment.
2689
3133
  */
@@ -2699,10 +3143,14 @@ export namespace Components {
2699
3143
  */
2700
3144
  "layout"?: SegmentButtonLayout;
2701
3145
  /**
2702
- * The mode determines which platform styles to use.
3146
+ * The mode determines the platform behaviors of the component.
2703
3147
  */
2704
3148
  "mode"?: "ios" | "md";
2705
3149
  "setFocus": () => Promise<void>;
3150
+ /**
3151
+ * The theme determines the visual appearance of the component.
3152
+ */
3153
+ "theme"?: "ios" | "md" | "ionic";
2706
3154
  /**
2707
3155
  * The type of the button.
2708
3156
  */
@@ -2730,11 +3178,11 @@ export namespace Components {
2730
3178
  */
2731
3179
  "disabled": boolean;
2732
3180
  /**
2733
- * 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.
3181
+ * 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.
2734
3182
  */
2735
3183
  "expandedIcon"?: string;
2736
3184
  /**
2737
- * 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.
3185
+ * 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.
2738
3186
  */
2739
3187
  "fill"?: 'outline' | 'solid';
2740
3188
  /**
@@ -2758,7 +3206,7 @@ export namespace Components {
2758
3206
  */
2759
3207
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
2760
3208
  /**
2761
- * The mode determines which platform styles to use.
3209
+ * The mode determines the platform behaviors of the component.
2762
3210
  */
2763
3211
  "mode"?: "ios" | "md";
2764
3212
  /**
@@ -2791,7 +3239,11 @@ export namespace Components {
2791
3239
  */
2792
3240
  "shape"?: 'round';
2793
3241
  /**
2794
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
3242
+ * The theme determines the visual appearance of the component.
3243
+ */
3244
+ "theme"?: "ios" | "md" | "ionic";
3245
+ /**
3246
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
2795
3247
  */
2796
3248
  "toggleIcon"?: string;
2797
3249
  /**
@@ -2804,6 +3256,14 @@ export namespace Components {
2804
3256
  * If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons.
2805
3257
  */
2806
3258
  "disabled": boolean;
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";
2807
3267
  /**
2808
3268
  * The text value of the option.
2809
3269
  */
@@ -2818,6 +3278,10 @@ export namespace Components {
2818
3278
  * The text content of the popover body
2819
3279
  */
2820
3280
  "message"?: string;
3281
+ /**
3282
+ * The mode determines the platform behaviors of the component.
3283
+ */
3284
+ "mode"?: "ios" | "md";
2821
3285
  /**
2822
3286
  * If true, the select accepts multiple values
2823
3287
  */
@@ -2830,12 +3294,24 @@ export namespace Components {
2830
3294
  * The subheader text of the popover
2831
3295
  */
2832
3296
  "subHeader"?: string;
3297
+ /**
3298
+ * The theme determines the visual appearance of the component.
3299
+ */
3300
+ "theme"?: "ios" | "md" | "ionic";
2833
3301
  }
2834
3302
  interface IonSkeletonText {
2835
3303
  /**
2836
3304
  * If `true`, the skeleton text will animate.
2837
3305
  */
2838
3306
  "animated": boolean;
3307
+ /**
3308
+ * The mode determines the platform behaviors of the component.
3309
+ */
3310
+ "mode"?: "ios" | "md";
3311
+ /**
3312
+ * The theme determines the visual appearance of the component.
3313
+ */
3314
+ "theme"?: "ios" | "md" | "ionic";
2839
3315
  }
2840
3316
  interface IonSpinner {
2841
3317
  /**
@@ -2846,6 +3322,10 @@ export namespace Components {
2846
3322
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
2847
3323
  */
2848
3324
  "duration"?: number;
3325
+ /**
3326
+ * The mode determines the platform behaviors of the component.
3327
+ */
3328
+ "mode"?: "ios" | "md";
2849
3329
  /**
2850
3330
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
2851
3331
  */
@@ -2854,6 +3334,10 @@ export namespace Components {
2854
3334
  * If `true`, the spinner's animation will be paused.
2855
3335
  */
2856
3336
  "paused": boolean;
3337
+ /**
3338
+ * The theme determines the visual appearance of the component.
3339
+ */
3340
+ "theme"?: "ios" | "md" | "ionic";
2857
3341
  }
2858
3342
  interface IonSplitPane {
2859
3343
  /**
@@ -2865,6 +3349,14 @@ export namespace Components {
2865
3349
  */
2866
3350
  "disabled": boolean;
2867
3351
  "isVisible": () => Promise<boolean>;
3352
+ /**
3353
+ * The mode determines the platform behaviors of the component.
3354
+ */
3355
+ "mode"?: "ios" | "md";
3356
+ /**
3357
+ * The theme determines the visual appearance of the component.
3358
+ */
3359
+ "theme"?: "ios" | "md" | "ionic";
2868
3360
  /**
2869
3361
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
2870
3362
  */
@@ -2877,6 +3369,10 @@ export namespace Components {
2877
3369
  */
2878
3370
  "component"?: ComponentRef;
2879
3371
  "delegate"?: FrameworkDelegate;
3372
+ /**
3373
+ * The mode determines the platform behaviors of the component.
3374
+ */
3375
+ "mode"?: "ios" | "md";
2880
3376
  /**
2881
3377
  * Set the active component for the tab
2882
3378
  */
@@ -2885,6 +3381,10 @@ export namespace Components {
2885
3381
  * 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.
2886
3382
  */
2887
3383
  "tab": string;
3384
+ /**
3385
+ * The theme determines the visual appearance of the component.
3386
+ */
3387
+ "theme"?: "ios" | "md" | "ionic";
2888
3388
  }
2889
3389
  interface IonTabBar {
2890
3390
  /**
@@ -2892,7 +3392,7 @@ export namespace Components {
2892
3392
  */
2893
3393
  "color"?: Color;
2894
3394
  /**
2895
- * The mode determines which platform styles to use.
3395
+ * The mode determines the platform behaviors of the component.
2896
3396
  */
2897
3397
  "mode"?: "ios" | "md";
2898
3398
  /**
@@ -2900,7 +3400,11 @@ export namespace Components {
2900
3400
  */
2901
3401
  "selectedTab"?: string;
2902
3402
  /**
2903
- * 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).
3403
+ * The theme determines the visual appearance of the component.
3404
+ */
3405
+ "theme"?: "ios" | "md" | "ionic";
3406
+ /**
3407
+ * 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).
2904
3408
  */
2905
3409
  "translucent": boolean;
2906
3410
  }
@@ -2922,7 +3426,7 @@ export namespace Components {
2922
3426
  */
2923
3427
  "layout"?: TabButtonLayout;
2924
3428
  /**
2925
- * The mode determines which platform styles to use.
3429
+ * The mode determines the platform behaviors of the component.
2926
3430
  */
2927
3431
  "mode"?: "ios" | "md";
2928
3432
  /**
@@ -2941,6 +3445,10 @@ export namespace Components {
2941
3445
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2942
3446
  */
2943
3447
  "target": string | undefined;
3448
+ /**
3449
+ * The theme determines the visual appearance of the component.
3450
+ */
3451
+ "theme"?: "ios" | "md" | "ionic";
2944
3452
  }
2945
3453
  interface IonTabs {
2946
3454
  "getRouteId": () => Promise<RouteID | undefined>;
@@ -2953,12 +3461,20 @@ export namespace Components {
2953
3461
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
2954
3462
  */
2955
3463
  "getTab": (tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined>;
3464
+ /**
3465
+ * The mode determines the platform behaviors of the component.
3466
+ */
3467
+ "mode"?: "ios" | "md";
2956
3468
  /**
2957
3469
  * 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.
2958
3470
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
2959
3471
  */
2960
3472
  "select": (tab: string | HTMLIonTabElement) => Promise<boolean>;
2961
3473
  "setRouteId": (id: string) => Promise<RouteWrite>;
3474
+ /**
3475
+ * The theme determines the visual appearance of the component.
3476
+ */
3477
+ "theme"?: "ios" | "md" | "ionic";
2962
3478
  "useRouter": boolean;
2963
3479
  }
2964
3480
  interface IonText {
@@ -2967,9 +3483,13 @@ export namespace Components {
2967
3483
  */
2968
3484
  "color"?: Color;
2969
3485
  /**
2970
- * The mode determines which platform styles to use.
3486
+ * The mode determines the platform behaviors of the component.
2971
3487
  */
2972
3488
  "mode"?: "ios" | "md";
3489
+ /**
3490
+ * The theme determines the visual appearance of the component.
3491
+ */
3492
+ "theme"?: "ios" | "md" | "ionic";
2973
3493
  }
2974
3494
  interface IonTextarea {
2975
3495
  /**
@@ -3021,7 +3541,7 @@ export namespace Components {
3021
3541
  */
3022
3542
  "errorText"?: string;
3023
3543
  /**
3024
- * 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.
3544
+ * 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"`.
3025
3545
  */
3026
3546
  "fill"?: 'outline' | 'solid';
3027
3547
  /**
@@ -3053,7 +3573,7 @@ export namespace Components {
3053
3573
  */
3054
3574
  "minlength"?: number;
3055
3575
  /**
3056
- * The mode determines which platform styles to use.
3576
+ * The mode determines the platform behaviors of the component.
3057
3577
  */
3058
3578
  "mode"?: "ios" | "md";
3059
3579
  /**
@@ -3088,6 +3608,10 @@ export namespace Components {
3088
3608
  * If `true`, the element will have its spelling and grammar checked.
3089
3609
  */
3090
3610
  "spellcheck": boolean;
3611
+ /**
3612
+ * The theme determines the visual appearance of the component.
3613
+ */
3614
+ "theme"?: "ios" | "md" | "ionic";
3091
3615
  /**
3092
3616
  * The value of the textarea.
3093
3617
  */
@@ -3098,16 +3622,32 @@ export namespace Components {
3098
3622
  "wrap"?: 'hard' | 'soft' | 'off';
3099
3623
  }
3100
3624
  interface IonThumbnail {
3625
+ /**
3626
+ * The mode determines the platform behaviors of the component.
3627
+ */
3628
+ "mode"?: "ios" | "md";
3629
+ /**
3630
+ * The theme determines the visual appearance of the component.
3631
+ */
3632
+ "theme"?: "ios" | "md" | "ionic";
3101
3633
  }
3102
3634
  interface IonTitle {
3103
3635
  /**
3104
3636
  * 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).
3105
3637
  */
3106
3638
  "color"?: Color;
3639
+ /**
3640
+ * The mode determines the platform behaviors of the component.
3641
+ */
3642
+ "mode"?: "ios" | "md";
3107
3643
  /**
3108
3644
  * The size of the toolbar title.
3109
3645
  */
3110
3646
  "size"?: 'large' | 'small';
3647
+ /**
3648
+ * The theme determines the visual appearance of the component.
3649
+ */
3650
+ "theme"?: "ios" | "md" | "ionic";
3111
3651
  }
3112
3652
  interface IonToast {
3113
3653
  /**
@@ -3175,7 +3715,7 @@ export namespace Components {
3175
3715
  */
3176
3716
  "message"?: string | IonicSafeString;
3177
3717
  /**
3178
- * The mode determines which platform styles to use.
3718
+ * The mode determines the platform behaviors of the component.
3179
3719
  */
3180
3720
  "mode"?: "ios" | "md";
3181
3721
  /**
@@ -3204,7 +3744,11 @@ export namespace Components {
3204
3744
  */
3205
3745
  "swipeGesture"?: ToastSwipeGestureDirection;
3206
3746
  /**
3207
- * 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).
3747
+ * The theme determines the visual appearance of the component.
3748
+ */
3749
+ "theme"?: "ios" | "md" | "ionic";
3750
+ /**
3751
+ * 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).
3208
3752
  */
3209
3753
  "translucent": boolean;
3210
3754
  /**
@@ -3242,13 +3786,17 @@ export namespace Components {
3242
3786
  */
3243
3787
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
3244
3788
  /**
3245
- * The mode determines which platform styles to use.
3789
+ * The mode determines the platform behaviors of the component.
3246
3790
  */
3247
3791
  "mode"?: "ios" | "md";
3248
3792
  /**
3249
3793
  * The name of the control, which is submitted with the form data.
3250
3794
  */
3251
3795
  "name": string;
3796
+ /**
3797
+ * The theme determines the visual appearance of the component.
3798
+ */
3799
+ "theme"?: "ios" | "md" | "ionic";
3252
3800
  /**
3253
3801
  * 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>`.
3254
3802
  */
@@ -3260,9 +3808,13 @@ export namespace Components {
3260
3808
  */
3261
3809
  "color"?: Color;
3262
3810
  /**
3263
- * The mode determines which platform styles to use.
3811
+ * The mode determines the platform behaviors of the component.
3264
3812
  */
3265
3813
  "mode"?: "ios" | "md";
3814
+ /**
3815
+ * The theme determines the visual appearance of the component.
3816
+ */
3817
+ "theme"?: "ios" | "md" | "ionic";
3266
3818
  }
3267
3819
  }
3268
3820
  export interface IonAccordionGroupCustomEvent<T> extends CustomEvent<T> {
@@ -4744,13 +5296,17 @@ declare namespace LocalJSX {
4744
5296
  */
4745
5297
  "disabled"?: boolean;
4746
5298
  /**
4747
- * The mode determines which platform styles to use.
5299
+ * The mode determines the platform behaviors of the component.
4748
5300
  */
4749
5301
  "mode"?: "ios" | "md";
4750
5302
  /**
4751
5303
  * If `true`, the accordion cannot be interacted with, but does not alter the opacity.
4752
5304
  */
4753
5305
  "readonly"?: boolean;
5306
+ /**
5307
+ * The theme determines the visual appearance of the component.
5308
+ */
5309
+ "theme"?: "ios" | "md" | "ionic";
4754
5310
  /**
4755
5311
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
4756
5312
  */
@@ -4778,7 +5334,7 @@ declare namespace LocalJSX {
4778
5334
  */
4779
5335
  "expand"?: 'compact' | 'inset';
4780
5336
  /**
4781
- * The mode determines which platform styles to use.
5337
+ * The mode determines the platform behaviors of the component.
4782
5338
  */
4783
5339
  "mode"?: "ios" | "md";
4784
5340
  /**
@@ -4793,6 +5349,10 @@ declare namespace LocalJSX {
4793
5349
  * If `true`, the accordion group cannot be interacted with, but does not alter the opacity.
4794
5350
  */
4795
5351
  "readonly"?: boolean;
5352
+ /**
5353
+ * The theme determines the visual appearance of the component.
5354
+ */
5355
+ "theme"?: "ios" | "md" | "ionic";
4796
5356
  /**
4797
5357
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
4798
5358
  */
@@ -4840,7 +5400,7 @@ declare namespace LocalJSX {
4840
5400
  */
4841
5401
  "leaveAnimation"?: AnimationBuilder;
4842
5402
  /**
4843
- * The mode determines which platform styles to use.
5403
+ * The mode determines the platform behaviors of the component.
4844
5404
  */
4845
5405
  "mode"?: "ios" | "md";
4846
5406
  /**
@@ -4880,7 +5440,11 @@ declare namespace LocalJSX {
4880
5440
  */
4881
5441
  "subHeader"?: string;
4882
5442
  /**
4883
- * 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).
5443
+ * The theme determines the visual appearance of the component.
5444
+ */
5445
+ "theme"?: "ios" | "md" | "ionic";
5446
+ /**
5447
+ * 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).
4884
5448
  */
4885
5449
  "translucent"?: boolean;
4886
5450
  /**
@@ -4938,7 +5502,7 @@ declare namespace LocalJSX {
4938
5502
  */
4939
5503
  "message"?: string | IonicSafeString;
4940
5504
  /**
4941
- * The mode determines which platform styles to use.
5505
+ * The mode determines the platform behaviors of the component.
4942
5506
  */
4943
5507
  "mode"?: "ios" | "md";
4944
5508
  /**
@@ -4978,7 +5542,11 @@ declare namespace LocalJSX {
4978
5542
  */
4979
5543
  "subHeader"?: string;
4980
5544
  /**
4981
- * 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).
5545
+ * The theme determines the visual appearance of the component.
5546
+ */
5547
+ "theme"?: "ios" | "md" | "ionic";
5548
+ /**
5549
+ * 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).
4982
5550
  */
4983
5551
  "translucent"?: boolean;
4984
5552
  /**
@@ -4987,8 +5555,32 @@ declare namespace LocalJSX {
4987
5555
  "trigger"?: string | undefined;
4988
5556
  }
4989
5557
  interface IonApp {
5558
+ /**
5559
+ * The mode determines the platform behaviors of the component.
5560
+ */
5561
+ "mode"?: "ios" | "md";
5562
+ /**
5563
+ * The theme determines the visual appearance of the component.
5564
+ */
5565
+ "theme"?: "ios" | "md" | "ionic";
4990
5566
  }
4991
5567
  interface IonAvatar {
5568
+ /**
5569
+ * The mode determines the platform behaviors of the component.
5570
+ */
5571
+ "mode"?: "ios" | "md";
5572
+ /**
5573
+ * 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.
5574
+ */
5575
+ "shape"?: 'soft' | 'round' | 'rectangular';
5576
+ /**
5577
+ * Set to `"xsmall"` for the smallest size, `"small"` for a compact size, `"medium"` for the default height and width, `"large"` for a larger size, or `"xlarge"` for the largest dimensions. Defaults to `"medium"` for the `ionic` theme, undefined for all other themes.
5578
+ */
5579
+ "size"?: `xsmall` | 'small' | 'medium' | 'large' | 'xlarge';
5580
+ /**
5581
+ * The theme determines the visual appearance of the component.
5582
+ */
5583
+ "theme"?: "ios" | "md" | "ionic";
4992
5584
  }
4993
5585
  interface IonBackButton {
4994
5586
  /**
@@ -5008,7 +5600,7 @@ declare namespace LocalJSX {
5008
5600
  */
5009
5601
  "icon"?: string | null;
5010
5602
  /**
5011
- * The mode determines which platform styles to use.
5603
+ * The mode determines the platform behaviors of the component.
5012
5604
  */
5013
5605
  "mode"?: "ios" | "md";
5014
5606
  /**
@@ -5019,12 +5611,20 @@ declare namespace LocalJSX {
5019
5611
  * The text to display in the back button.
5020
5612
  */
5021
5613
  "text"?: string | null;
5614
+ /**
5615
+ * The theme determines the visual appearance of the component.
5616
+ */
5617
+ "theme"?: "ios" | "md" | "ionic";
5022
5618
  /**
5023
5619
  * The type of the button.
5024
5620
  */
5025
5621
  "type"?: 'submit' | 'reset' | 'button';
5026
5622
  }
5027
5623
  interface IonBackdrop {
5624
+ /**
5625
+ * The mode determines the platform behaviors of the component.
5626
+ */
5627
+ "mode"?: "ios" | "md";
5028
5628
  /**
5029
5629
  * Emitted when the backdrop is tapped.
5030
5630
  */
@@ -5037,6 +5637,10 @@ declare namespace LocalJSX {
5037
5637
  * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
5038
5638
  */
5039
5639
  "tappable"?: boolean;
5640
+ /**
5641
+ * The theme determines the visual appearance of the component.
5642
+ */
5643
+ "theme"?: "ios" | "md" | "ionic";
5040
5644
  /**
5041
5645
  * If `true`, the backdrop will be visible.
5042
5646
  */
@@ -5048,9 +5652,21 @@ declare namespace LocalJSX {
5048
5652
  */
5049
5653
  "color"?: Color;
5050
5654
  /**
5051
- * The mode determines which platform styles to use.
5655
+ * The mode determines the platform behaviors of the component.
5052
5656
  */
5053
5657
  "mode"?: "ios" | "md";
5658
+ /**
5659
+ * 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.
5660
+ */
5661
+ "shape"?: 'soft' | 'round';
5662
+ /**
5663
+ * Set to `"xxsmall"` for the smallest badge. Set to "xsmall" for a very small badge. Set to `"small"` for a small badge. Set to "medium" for a medium badge. Set to "large" for a large badge. Set to `"xlarge"` for the largest badge. Defaults to `"small"` for the `ionic` theme, undefined for all other themes.
5664
+ */
5665
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
5666
+ /**
5667
+ * The theme determines the visual appearance of the component.
5668
+ */
5669
+ "theme"?: "ios" | "md" | "ionic";
5054
5670
  }
5055
5671
  interface IonBreadcrumb {
5056
5672
  /**
@@ -5074,7 +5690,7 @@ declare namespace LocalJSX {
5074
5690
  */
5075
5691
  "href"?: string | undefined;
5076
5692
  /**
5077
- * The mode determines which platform styles to use.
5693
+ * The mode determines the platform behaviors of the component.
5078
5694
  */
5079
5695
  "mode"?: "ios" | "md";
5080
5696
  /**
@@ -5105,6 +5721,10 @@ declare namespace LocalJSX {
5105
5721
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5106
5722
  */
5107
5723
  "target"?: string | undefined;
5724
+ /**
5725
+ * The theme determines the visual appearance of the component.
5726
+ */
5727
+ "theme"?: "ios" | "md" | "ionic";
5108
5728
  }
5109
5729
  interface IonBreadcrumbs {
5110
5730
  /**
@@ -5124,13 +5744,17 @@ declare namespace LocalJSX {
5124
5744
  */
5125
5745
  "maxItems"?: number;
5126
5746
  /**
5127
- * The mode determines which platform styles to use.
5747
+ * The mode determines the platform behaviors of the component.
5128
5748
  */
5129
5749
  "mode"?: "ios" | "md";
5130
5750
  /**
5131
5751
  * Emitted when the collapsed indicator is clicked on.
5132
5752
  */
5133
5753
  "onIonCollapsedClick"?: (event: IonBreadcrumbsCustomEvent<BreadcrumbCollapsedClickEventDetail>) => void;
5754
+ /**
5755
+ * The theme determines the visual appearance of the component.
5756
+ */
5757
+ "theme"?: "ios" | "md" | "ionic";
5134
5758
  }
5135
5759
  interface IonButton {
5136
5760
  /**
@@ -5166,7 +5790,7 @@ declare namespace LocalJSX {
5166
5790
  */
5167
5791
  "href"?: string | undefined;
5168
5792
  /**
5169
- * The mode determines which platform styles to use.
5793
+ * The mode determines the platform behaviors of the component.
5170
5794
  */
5171
5795
  "mode"?: "ios" | "md";
5172
5796
  /**
@@ -5190,13 +5814,13 @@ declare namespace LocalJSX {
5190
5814
  */
5191
5815
  "routerDirection"?: RouterDirection;
5192
5816
  /**
5193
- * Set to `"round"` for a button with more rounded corners.
5817
+ * 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.
5194
5818
  */
5195
- "shape"?: 'round';
5819
+ "shape"?: 'soft' | 'round' | 'rectangular';
5196
5820
  /**
5197
5821
  * 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.
5198
5822
  */
5199
- "size"?: 'small' | 'default' | 'large';
5823
+ "size"?: 'xsmall' | 'small' | 'default' | 'large' | 'xlarge';
5200
5824
  /**
5201
5825
  * If `true`, activates a button with a heavier font weight.
5202
5826
  */
@@ -5205,6 +5829,10 @@ declare namespace LocalJSX {
5205
5829
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5206
5830
  */
5207
5831
  "target"?: string | undefined;
5832
+ /**
5833
+ * The theme determines the visual appearance of the component.
5834
+ */
5835
+ "theme"?: "ios" | "md" | "ionic";
5208
5836
  /**
5209
5837
  * The type of the button.
5210
5838
  */
@@ -5212,9 +5840,17 @@ declare namespace LocalJSX {
5212
5840
  }
5213
5841
  interface IonButtons {
5214
5842
  /**
5215
- * 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)
5843
+ * 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)
5216
5844
  */
5217
5845
  "collapse"?: boolean;
5846
+ /**
5847
+ * The mode determines the platform behaviors of the component.
5848
+ */
5849
+ "mode"?: "ios" | "md";
5850
+ /**
5851
+ * The theme determines the visual appearance of the component.
5852
+ */
5853
+ "theme"?: "ios" | "md" | "ionic";
5218
5854
  }
5219
5855
  interface IonCard {
5220
5856
  /**
@@ -5238,7 +5874,7 @@ declare namespace LocalJSX {
5238
5874
  */
5239
5875
  "href"?: string | undefined;
5240
5876
  /**
5241
- * The mode determines which platform styles to use.
5877
+ * The mode determines the platform behaviors of the component.
5242
5878
  */
5243
5879
  "mode"?: "ios" | "md";
5244
5880
  /**
@@ -5253,10 +5889,18 @@ declare namespace LocalJSX {
5253
5889
  * When using a router, it specifies the transition direction when navigating to another page using `href`.
5254
5890
  */
5255
5891
  "routerDirection"?: RouterDirection;
5892
+ /**
5893
+ * 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"`.
5894
+ */
5895
+ "shape"?: 'soft' | 'round' | 'rectangular';
5256
5896
  /**
5257
5897
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5258
5898
  */
5259
5899
  "target"?: string | undefined;
5900
+ /**
5901
+ * The theme determines the visual appearance of the component.
5902
+ */
5903
+ "theme"?: "ios" | "md" | "ionic";
5260
5904
  /**
5261
5905
  * The type of the button. Only used when an `onclick` or `button` property is present.
5262
5906
  */
@@ -5264,9 +5908,13 @@ declare namespace LocalJSX {
5264
5908
  }
5265
5909
  interface IonCardContent {
5266
5910
  /**
5267
- * The mode determines which platform styles to use.
5911
+ * The mode determines the platform behaviors of the component.
5268
5912
  */
5269
5913
  "mode"?: "ios" | "md";
5914
+ /**
5915
+ * The theme determines the visual appearance of the component.
5916
+ */
5917
+ "theme"?: "ios" | "md" | "ionic";
5270
5918
  }
5271
5919
  interface IonCardHeader {
5272
5920
  /**
@@ -5274,11 +5922,15 @@ declare namespace LocalJSX {
5274
5922
  */
5275
5923
  "color"?: Color;
5276
5924
  /**
5277
- * The mode determines which platform styles to use.
5925
+ * The mode determines the platform behaviors of the component.
5278
5926
  */
5279
5927
  "mode"?: "ios" | "md";
5280
5928
  /**
5281
- * 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).
5929
+ * The theme determines the visual appearance of the component.
5930
+ */
5931
+ "theme"?: "ios" | "md" | "ionic";
5932
+ /**
5933
+ * 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).
5282
5934
  */
5283
5935
  "translucent"?: boolean;
5284
5936
  }
@@ -5288,9 +5940,13 @@ declare namespace LocalJSX {
5288
5940
  */
5289
5941
  "color"?: Color;
5290
5942
  /**
5291
- * The mode determines which platform styles to use.
5943
+ * The mode determines the platform behaviors of the component.
5292
5944
  */
5293
5945
  "mode"?: "ios" | "md";
5946
+ /**
5947
+ * The theme determines the visual appearance of the component.
5948
+ */
5949
+ "theme"?: "ios" | "md" | "ionic";
5294
5950
  }
5295
5951
  interface IonCardTitle {
5296
5952
  /**
@@ -5298,9 +5954,13 @@ declare namespace LocalJSX {
5298
5954
  */
5299
5955
  "color"?: Color;
5300
5956
  /**
5301
- * The mode determines which platform styles to use.
5957
+ * The mode determines the platform behaviors of the component.
5302
5958
  */
5303
5959
  "mode"?: "ios" | "md";
5960
+ /**
5961
+ * The theme determines the visual appearance of the component.
5962
+ */
5963
+ "theme"?: "ios" | "md" | "ionic";
5304
5964
  }
5305
5965
  interface IonCheckbox {
5306
5966
  /**
@@ -5332,7 +5992,7 @@ declare namespace LocalJSX {
5332
5992
  */
5333
5993
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
5334
5994
  /**
5335
- * The mode determines which platform styles to use.
5995
+ * The mode determines the platform behaviors of the component.
5336
5996
  */
5337
5997
  "mode"?: "ios" | "md";
5338
5998
  /**
@@ -5344,13 +6004,25 @@ declare namespace LocalJSX {
5344
6004
  */
5345
6005
  "onIonBlur"?: (event: IonCheckboxCustomEvent<void>) => void;
5346
6006
  /**
5347
- * 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.
6007
+ * 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.
5348
6008
  */
5349
6009
  "onIonChange"?: (event: IonCheckboxCustomEvent<CheckboxChangeEventDetail>) => void;
5350
6010
  /**
5351
6011
  * Emitted when the checkbox has focus.
5352
6012
  */
5353
6013
  "onIonFocus"?: (event: IonCheckboxCustomEvent<void>) => void;
6014
+ /**
6015
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
6016
+ */
6017
+ "shape"?: 'soft' | 'rectangular';
6018
+ /**
6019
+ * Set to `"small"` for a checkbox with less height and padding.
6020
+ */
6021
+ "size"?: 'small';
6022
+ /**
6023
+ * The theme determines the visual appearance of the component.
6024
+ */
6025
+ "theme"?: "ios" | "md" | "ionic";
5354
6026
  /**
5355
6027
  * 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>`.
5356
6028
  */
@@ -5366,15 +6038,31 @@ declare namespace LocalJSX {
5366
6038
  */
5367
6039
  "disabled"?: boolean;
5368
6040
  /**
5369
- * The mode determines which platform styles to use.
6041
+ * The mode determines the platform behaviors of the component.
5370
6042
  */
5371
6043
  "mode"?: "ios" | "md";
5372
6044
  /**
5373
6045
  * Display an outline style button.
5374
6046
  */
5375
6047
  "outline"?: boolean;
6048
+ /**
6049
+ * 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.
6050
+ */
6051
+ "shape"?: 'soft' | 'round' | 'rectangular';
6052
+ /**
6053
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
6054
+ */
6055
+ "size"?: 'small' | 'large';
6056
+ /**
6057
+ * The theme determines the visual appearance of the component.
6058
+ */
6059
+ "theme"?: "ios" | "md" | "ionic";
5376
6060
  }
5377
6061
  interface IonCol {
6062
+ /**
6063
+ * The mode determines the platform behaviors of the component.
6064
+ */
6065
+ "mode"?: "ios" | "md";
5378
6066
  /**
5379
6067
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
5380
6068
  */
@@ -5471,6 +6159,10 @@ declare namespace LocalJSX {
5471
6159
  * 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.
5472
6160
  */
5473
6161
  "sizeXs"?: string;
6162
+ /**
6163
+ * The theme determines the visual appearance of the component.
6164
+ */
6165
+ "theme"?: "ios" | "md" | "ionic";
5474
6166
  }
5475
6167
  interface IonContent {
5476
6168
  /**
@@ -5489,6 +6181,10 @@ declare namespace LocalJSX {
5489
6181
  * If `true`, the content will scroll behind the headers and footers. This effect can easily be seen by setting the toolbar to transparent.
5490
6182
  */
5491
6183
  "fullscreen"?: boolean;
6184
+ /**
6185
+ * The mode determines the platform behaviors of the component.
6186
+ */
6187
+ "mode"?: "ios" | "md";
5492
6188
  /**
5493
6189
  * Emitted while scrolling. This event is disabled by default. Set `scrollEvents` to `true` to enable.
5494
6190
  */
@@ -5513,6 +6209,10 @@ declare namespace LocalJSX {
5513
6209
  * If you want to disable the content scrolling in the Y axis, set this property to `false`.
5514
6210
  */
5515
6211
  "scrollY"?: boolean;
6212
+ /**
6213
+ * The theme determines the visual appearance of the component.
6214
+ */
6215
+ "theme"?: "ios" | "md" | "ionic";
5516
6216
  }
5517
6217
  interface IonDatetime {
5518
6218
  /**
@@ -5580,7 +6280,7 @@ declare namespace LocalJSX {
5580
6280
  */
5581
6281
  "minuteValues"?: number[] | number | string;
5582
6282
  /**
5583
- * The mode determines which platform styles to use.
6283
+ * The mode determines the platform behaviors of the component.
5584
6284
  */
5585
6285
  "mode"?: "ios" | "md";
5586
6286
  /**
@@ -5643,6 +6343,10 @@ declare namespace LocalJSX {
5643
6343
  * If `cover`, the `ion-datetime` will expand to cover the full width of its container. If `fixed`, the `ion-datetime` will have a fixed width.
5644
6344
  */
5645
6345
  "size"?: 'cover' | 'fixed';
6346
+ /**
6347
+ * The theme determines the visual appearance of the component.
6348
+ */
6349
+ "theme"?: "ios" | "md" | "ionic";
5646
6350
  /**
5647
6351
  * 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.
5648
6352
  */
@@ -5670,9 +6374,13 @@ declare namespace LocalJSX {
5670
6374
  */
5671
6375
  "disabled"?: boolean;
5672
6376
  /**
5673
- * The mode determines which platform styles to use.
6377
+ * The mode determines the platform behaviors of the component.
5674
6378
  */
5675
6379
  "mode"?: "ios" | "md";
6380
+ /**
6381
+ * The theme determines the visual appearance of the component.
6382
+ */
6383
+ "theme"?: "ios" | "md" | "ionic";
5676
6384
  }
5677
6385
  interface IonFab {
5678
6386
  /**
@@ -5687,6 +6395,14 @@ declare namespace LocalJSX {
5687
6395
  * Where to align the fab horizontally in the viewport.
5688
6396
  */
5689
6397
  "horizontal"?: 'start' | 'end' | 'center';
6398
+ /**
6399
+ * The mode determines the platform behaviors of the component.
6400
+ */
6401
+ "mode"?: "ios" | "md";
6402
+ /**
6403
+ * The theme determines the visual appearance of the component.
6404
+ */
6405
+ "theme"?: "ios" | "md" | "ionic";
5690
6406
  /**
5691
6407
  * Where to align the fab vertically in the viewport.
5692
6408
  */
@@ -5718,7 +6434,7 @@ declare namespace LocalJSX {
5718
6434
  */
5719
6435
  "href"?: string | undefined;
5720
6436
  /**
5721
- * The mode determines which platform styles to use.
6437
+ * The mode determines the platform behaviors of the component.
5722
6438
  */
5723
6439
  "mode"?: "ios" | "md";
5724
6440
  /**
@@ -5754,7 +6470,11 @@ declare namespace LocalJSX {
5754
6470
  */
5755
6471
  "target"?: string | undefined;
5756
6472
  /**
5757
- * 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).
6473
+ * The theme determines the visual appearance of the component.
6474
+ */
6475
+ "theme"?: "ios" | "md" | "ionic";
6476
+ /**
6477
+ * 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).
5758
6478
  */
5759
6479
  "translucent"?: boolean;
5760
6480
  /**
@@ -5767,22 +6487,34 @@ declare namespace LocalJSX {
5767
6487
  * If `true`, the fab list will show all fab buttons in the list.
5768
6488
  */
5769
6489
  "activated"?: boolean;
6490
+ /**
6491
+ * The mode determines the platform behaviors of the component.
6492
+ */
6493
+ "mode"?: "ios" | "md";
5770
6494
  /**
5771
6495
  * The side the fab list will show on relative to the main fab button.
5772
6496
  */
5773
6497
  "side"?: 'start' | 'end' | 'top' | 'bottom';
6498
+ /**
6499
+ * The theme determines the visual appearance of the component.
6500
+ */
6501
+ "theme"?: "ios" | "md" | "ionic";
5774
6502
  }
5775
6503
  interface IonFooter {
5776
6504
  /**
5777
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
6505
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
5778
6506
  */
5779
6507
  "collapse"?: 'fade';
5780
6508
  /**
5781
- * The mode determines which platform styles to use.
6509
+ * The mode determines the platform behaviors of the component.
5782
6510
  */
5783
6511
  "mode"?: "ios" | "md";
5784
6512
  /**
5785
- * 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.
6513
+ * The theme determines the visual appearance of the component.
6514
+ */
6515
+ "theme"?: "ios" | "md" | "ionic";
6516
+ /**
6517
+ * 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.
5786
6518
  */
5787
6519
  "translucent"?: boolean;
5788
6520
  }
@@ -5791,18 +6523,30 @@ declare namespace LocalJSX {
5791
6523
  * If `true`, the grid will have a fixed width based on the screen size.
5792
6524
  */
5793
6525
  "fixed"?: boolean;
6526
+ /**
6527
+ * The mode determines the platform behaviors of the component.
6528
+ */
6529
+ "mode"?: "ios" | "md";
6530
+ /**
6531
+ * The theme determines the visual appearance of the component.
6532
+ */
6533
+ "theme"?: "ios" | "md" | "ionic";
5794
6534
  }
5795
6535
  interface IonHeader {
5796
6536
  /**
5797
- * 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)
6537
+ * 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)
5798
6538
  */
5799
6539
  "collapse"?: 'condense' | 'fade';
5800
6540
  /**
5801
- * The mode determines which platform styles to use.
6541
+ * The mode determines the platform behaviors of the component.
5802
6542
  */
5803
6543
  "mode"?: "ios" | "md";
5804
6544
  /**
5805
- * 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.
6545
+ * The theme determines the visual appearance of the component.
6546
+ */
6547
+ "theme"?: "ios" | "md" | "ionic";
6548
+ /**
6549
+ * If `true`, the 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). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
5806
6550
  */
5807
6551
  "translucent"?: boolean;
5808
6552
  }
@@ -5811,6 +6555,10 @@ declare namespace LocalJSX {
5811
6555
  * 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.
5812
6556
  */
5813
6557
  "alt"?: string;
6558
+ /**
6559
+ * The mode determines the platform behaviors of the component.
6560
+ */
6561
+ "mode"?: "ios" | "md";
5814
6562
  /**
5815
6563
  * Emitted when the img fails to load
5816
6564
  */
@@ -5827,12 +6575,20 @@ declare namespace LocalJSX {
5827
6575
  * The image URL. This attribute is mandatory for the `<img>` element.
5828
6576
  */
5829
6577
  "src"?: string;
6578
+ /**
6579
+ * The theme determines the visual appearance of the component.
6580
+ */
6581
+ "theme"?: "ios" | "md" | "ionic";
5830
6582
  }
5831
6583
  interface IonInfiniteScroll {
5832
6584
  /**
5833
6585
  * If `true`, the infinite scroll will be hidden and scroll event listeners will be removed. Set this to true to disable the infinite scroll from actively trying to receive new data while scrolling. This is useful when it is known that there is no more data that can be added, and the infinite scroll is no longer needed.
5834
6586
  */
5835
6587
  "disabled"?: boolean;
6588
+ /**
6589
+ * The mode determines the platform behaviors of the component.
6590
+ */
6591
+ "mode"?: "ios" | "md";
5836
6592
  /**
5837
6593
  * 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.
5838
6594
  */
@@ -5841,6 +6597,10 @@ declare namespace LocalJSX {
5841
6597
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
5842
6598
  */
5843
6599
  "position"?: 'top' | 'bottom';
6600
+ /**
6601
+ * The theme determines the visual appearance of the component.
6602
+ */
6603
+ "theme"?: "ios" | "md" | "ionic";
5844
6604
  /**
5845
6605
  * 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.
5846
6606
  */
@@ -5855,6 +6615,14 @@ declare namespace LocalJSX {
5855
6615
  * 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.
5856
6616
  */
5857
6617
  "loadingText"?: string | IonicSafeString;
6618
+ /**
6619
+ * The mode determines the platform behaviors of the component.
6620
+ */
6621
+ "mode"?: "ios" | "md";
6622
+ /**
6623
+ * The theme determines the visual appearance of the component.
6624
+ */
6625
+ "theme"?: "ios" | "md" | "ionic";
5858
6626
  }
5859
6627
  interface IonInput {
5860
6628
  /**
@@ -5914,7 +6682,7 @@ declare namespace LocalJSX {
5914
6682
  */
5915
6683
  "errorText"?: string;
5916
6684
  /**
5917
- * 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.
6685
+ * 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"`.
5918
6686
  */
5919
6687
  "fill"?: 'outline' | 'solid';
5920
6688
  /**
@@ -5930,7 +6698,7 @@ declare namespace LocalJSX {
5930
6698
  */
5931
6699
  "label"?: string;
5932
6700
  /**
5933
- * 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 ("...").
6701
+ * 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.
5934
6702
  */
5935
6703
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
5936
6704
  /**
@@ -5950,7 +6718,7 @@ declare namespace LocalJSX {
5950
6718
  */
5951
6719
  "minlength"?: number;
5952
6720
  /**
5953
- * The mode determines which platform styles to use.
6721
+ * The mode determines the platform behaviors of the component.
5954
6722
  */
5955
6723
  "mode"?: "ios" | "md";
5956
6724
  /**
@@ -5994,9 +6762,13 @@ declare namespace LocalJSX {
5994
6762
  */
5995
6763
  "required"?: boolean;
5996
6764
  /**
5997
- * The shape of the input. If "round" it will have an increased border radius.
6765
+ * 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"`.
5998
6766
  */
5999
- "shape"?: 'round';
6767
+ "shape"?: 'soft' | 'round' | 'rectangular';
6768
+ /**
6769
+ * 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.
6770
+ */
6771
+ "size"?: 'medium' | 'large' | 'xlarge';
6000
6772
  /**
6001
6773
  * If `true`, the element will have its spelling and grammar checked.
6002
6774
  */
@@ -6005,6 +6777,10 @@ declare namespace LocalJSX {
6005
6777
  * 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.
6006
6778
  */
6007
6779
  "step"?: string;
6780
+ /**
6781
+ * The theme determines the visual appearance of the component.
6782
+ */
6783
+ "theme"?: "ios" | "md" | "ionic";
6008
6784
  /**
6009
6785
  * The type of control to display. The default type is text.
6010
6786
  */
@@ -6042,7 +6818,7 @@ declare namespace LocalJSX {
6042
6818
  */
6043
6819
  "color"?: Color;
6044
6820
  /**
6045
- * 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.
6821
+ * 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.
6046
6822
  */
6047
6823
  "detail"?: boolean;
6048
6824
  /**
@@ -6066,7 +6842,7 @@ declare namespace LocalJSX {
6066
6842
  */
6067
6843
  "lines"?: 'full' | 'inset' | 'none';
6068
6844
  /**
6069
- * The mode determines which platform styles to use.
6845
+ * The mode determines the platform behaviors of the component.
6070
6846
  */
6071
6847
  "mode"?: "ios" | "md";
6072
6848
  /**
@@ -6085,6 +6861,10 @@ declare namespace LocalJSX {
6085
6861
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6086
6862
  */
6087
6863
  "target"?: string | undefined;
6864
+ /**
6865
+ * The theme determines the visual appearance of the component.
6866
+ */
6867
+ "theme"?: "ios" | "md" | "ionic";
6088
6868
  /**
6089
6869
  * The type of the button. Only used when an `onclick` or `button` property is present.
6090
6870
  */
@@ -6096,15 +6876,27 @@ declare namespace LocalJSX {
6096
6876
  */
6097
6877
  "color"?: Color;
6098
6878
  /**
6099
- * The mode determines which platform styles to use.
6879
+ * The mode determines the platform behaviors of the component.
6100
6880
  */
6101
6881
  "mode"?: "ios" | "md";
6102
6882
  /**
6103
6883
  * When it's set to `true`, the item-divider will stay visible when it reaches the top of the viewport until the next `ion-item-divider` replaces it. This feature relies in `position:sticky`: https://caniuse.com/#feat=css-sticky
6104
6884
  */
6105
6885
  "sticky"?: boolean;
6886
+ /**
6887
+ * The theme determines the visual appearance of the component.
6888
+ */
6889
+ "theme"?: "ios" | "md" | "ionic";
6106
6890
  }
6107
6891
  interface IonItemGroup {
6892
+ /**
6893
+ * The mode determines the platform behaviors of the component.
6894
+ */
6895
+ "mode"?: "ios" | "md";
6896
+ /**
6897
+ * The theme determines the visual appearance of the component.
6898
+ */
6899
+ "theme"?: "ios" | "md" | "ionic";
6108
6900
  }
6109
6901
  interface IonItemOption {
6110
6902
  /**
@@ -6128,7 +6920,7 @@ declare namespace LocalJSX {
6128
6920
  */
6129
6921
  "href"?: string | undefined;
6130
6922
  /**
6131
- * The mode determines which platform styles to use.
6923
+ * The mode determines the platform behaviors of the component.
6132
6924
  */
6133
6925
  "mode"?: "ios" | "md";
6134
6926
  /**
@@ -6139,12 +6931,20 @@ declare namespace LocalJSX {
6139
6931
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6140
6932
  */
6141
6933
  "target"?: string | undefined;
6934
+ /**
6935
+ * The theme determines the visual appearance of the component.
6936
+ */
6937
+ "theme"?: "ios" | "md" | "ionic";
6142
6938
  /**
6143
6939
  * The type of the button.
6144
6940
  */
6145
6941
  "type"?: 'submit' | 'reset' | 'button';
6146
6942
  }
6147
6943
  interface IonItemOptions {
6944
+ /**
6945
+ * The mode determines the platform behaviors of the component.
6946
+ */
6947
+ "mode"?: "ios" | "md";
6148
6948
  /**
6149
6949
  * Emitted when the item has been fully swiped.
6150
6950
  */
@@ -6153,16 +6953,28 @@ declare namespace LocalJSX {
6153
6953
  * 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.
6154
6954
  */
6155
6955
  "side"?: Side;
6956
+ /**
6957
+ * The theme determines the visual appearance of the component.
6958
+ */
6959
+ "theme"?: "ios" | "md" | "ionic";
6156
6960
  }
6157
6961
  interface IonItemSliding {
6158
6962
  /**
6159
6963
  * If `true`, the user cannot interact with the sliding item.
6160
6964
  */
6161
6965
  "disabled"?: boolean;
6966
+ /**
6967
+ * The mode determines the platform behaviors of the component.
6968
+ */
6969
+ "mode"?: "ios" | "md";
6162
6970
  /**
6163
6971
  * Emitted when the sliding position changes.
6164
6972
  */
6165
6973
  "onIonDrag"?: (event: IonItemSlidingCustomEvent<any>) => void;
6974
+ /**
6975
+ * The theme determines the visual appearance of the component.
6976
+ */
6977
+ "theme"?: "ios" | "md" | "ionic";
6166
6978
  }
6167
6979
  interface IonLabel {
6168
6980
  /**
@@ -6170,13 +6982,17 @@ declare namespace LocalJSX {
6170
6982
  */
6171
6983
  "color"?: Color;
6172
6984
  /**
6173
- * The mode determines which platform styles to use.
6985
+ * The mode determines the platform behaviors of the component.
6174
6986
  */
6175
6987
  "mode"?: "ios" | "md";
6176
6988
  /**
6177
6989
  * The position determines where and how the label behaves inside an item.
6178
6990
  */
6179
6991
  "position"?: 'fixed' | 'stacked' | 'floating';
6992
+ /**
6993
+ * The theme determines the visual appearance of the component.
6994
+ */
6995
+ "theme"?: "ios" | "md" | "ionic";
6180
6996
  }
6181
6997
  interface IonList {
6182
6998
  /**
@@ -6188,9 +7004,13 @@ declare namespace LocalJSX {
6188
7004
  */
6189
7005
  "lines"?: 'full' | 'inset' | 'none';
6190
7006
  /**
6191
- * The mode determines which platform styles to use.
7007
+ * The mode determines the platform behaviors of the component.
6192
7008
  */
6193
7009
  "mode"?: "ios" | "md";
7010
+ /**
7011
+ * The theme determines the visual appearance of the component.
7012
+ */
7013
+ "theme"?: "ios" | "md" | "ionic";
6194
7014
  }
6195
7015
  interface IonListHeader {
6196
7016
  /**
@@ -6202,9 +7022,13 @@ declare namespace LocalJSX {
6202
7022
  */
6203
7023
  "lines"?: 'full' | 'inset' | 'none';
6204
7024
  /**
6205
- * The mode determines which platform styles to use.
7025
+ * The mode determines the platform behaviors of the component.
6206
7026
  */
6207
7027
  "mode"?: "ios" | "md";
7028
+ /**
7029
+ * The theme determines the visual appearance of the component.
7030
+ */
7031
+ "theme"?: "ios" | "md" | "ionic";
6208
7032
  }
6209
7033
  interface IonLoading {
6210
7034
  /**
@@ -6248,7 +7072,7 @@ declare namespace LocalJSX {
6248
7072
  */
6249
7073
  "message"?: string | IonicSafeString;
6250
7074
  /**
6251
- * The mode determines which platform styles to use.
7075
+ * The mode determines the platform behaviors of the component.
6252
7076
  */
6253
7077
  "mode"?: "ios" | "md";
6254
7078
  /**
@@ -6292,7 +7116,11 @@ declare namespace LocalJSX {
6292
7116
  */
6293
7117
  "spinner"?: SpinnerTypes | null;
6294
7118
  /**
6295
- * 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).
7119
+ * The theme determines the visual appearance of the component.
7120
+ */
7121
+ "theme"?: "ios" | "md" | "ionic";
7122
+ /**
7123
+ * 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).
6296
7124
  */
6297
7125
  "translucent"?: boolean;
6298
7126
  /**
@@ -6317,6 +7145,10 @@ declare namespace LocalJSX {
6317
7145
  * An id for the menu.
6318
7146
  */
6319
7147
  "menuId"?: string;
7148
+ /**
7149
+ * The mode determines the platform behaviors of the component.
7150
+ */
7151
+ "mode"?: "ios" | "md";
6320
7152
  /**
6321
7153
  * Emitted when the menu is closed.
6322
7154
  */
@@ -6341,6 +7173,10 @@ declare namespace LocalJSX {
6341
7173
  * If `true`, swiping the menu is enabled.
6342
7174
  */
6343
7175
  "swipeGesture"?: boolean;
7176
+ /**
7177
+ * The theme determines the visual appearance of the component.
7178
+ */
7179
+ "theme"?: "ios" | "md" | "ionic";
6344
7180
  /**
6345
7181
  * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
6346
7182
  */
@@ -6364,9 +7200,13 @@ declare namespace LocalJSX {
6364
7200
  */
6365
7201
  "menu"?: string;
6366
7202
  /**
6367
- * The mode determines which platform styles to use.
7203
+ * The mode determines the platform behaviors of the component.
6368
7204
  */
6369
7205
  "mode"?: "ios" | "md";
7206
+ /**
7207
+ * The theme determines the visual appearance of the component.
7208
+ */
7209
+ "theme"?: "ios" | "md" | "ionic";
6370
7210
  /**
6371
7211
  * The type of the button.
6372
7212
  */
@@ -6381,6 +7221,14 @@ declare namespace LocalJSX {
6381
7221
  * 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.
6382
7222
  */
6383
7223
  "menu"?: string;
7224
+ /**
7225
+ * The mode determines the platform behaviors of the component.
7226
+ */
7227
+ "mode"?: "ios" | "md";
7228
+ /**
7229
+ * The theme determines the visual appearance of the component.
7230
+ */
7231
+ "theme"?: "ios" | "md" | "ionic";
6384
7232
  }
6385
7233
  interface IonModal {
6386
7234
  /**
@@ -6444,7 +7292,7 @@ declare namespace LocalJSX {
6444
7292
  */
6445
7293
  "leaveAnimation"?: AnimationBuilder;
6446
7294
  /**
6447
- * The mode determines which platform styles to use.
7295
+ * The mode determines the platform behaviors of the component.
6448
7296
  */
6449
7297
  "mode"?: "ios" | "md";
6450
7298
  /**
@@ -6491,6 +7339,10 @@ declare namespace LocalJSX {
6491
7339
  * 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.
6492
7340
  */
6493
7341
  "showBackdrop"?: boolean;
7342
+ /**
7343
+ * The theme determines the visual appearance of the component.
7344
+ */
7345
+ "theme"?: "ios" | "md" | "ionic";
6494
7346
  /**
6495
7347
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
6496
7348
  */
@@ -6502,9 +7354,13 @@ declare namespace LocalJSX {
6502
7354
  */
6503
7355
  "animated"?: boolean;
6504
7356
  /**
6505
- * 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.
7357
+ * 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.
6506
7358
  */
6507
7359
  "animation"?: AnimationBuilder;
7360
+ /**
7361
+ * The mode determines the platform behaviors of the component.
7362
+ */
7363
+ "mode"?: "ios" | "md";
6508
7364
  /**
6509
7365
  * Event fired when the nav has changed components
6510
7366
  */
@@ -6525,6 +7381,10 @@ declare namespace LocalJSX {
6525
7381
  * If the nav component should allow for swipe-to-go-back.
6526
7382
  */
6527
7383
  "swipeGesture"?: boolean;
7384
+ /**
7385
+ * The theme determines the visual appearance of the component.
7386
+ */
7387
+ "theme"?: "ios" | "md" | "ionic";
6528
7388
  }
6529
7389
  interface IonNavLink {
6530
7390
  /**
@@ -6535,6 +7395,10 @@ declare namespace LocalJSX {
6535
7395
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
6536
7396
  */
6537
7397
  "componentProps"?: ComponentProps;
7398
+ /**
7399
+ * The mode determines the platform behaviors of the component.
7400
+ */
7401
+ "mode"?: "ios" | "md";
6538
7402
  /**
6539
7403
  * The transition animation when navigating to another page.
6540
7404
  */
@@ -6543,6 +7407,10 @@ declare namespace LocalJSX {
6543
7407
  * The transition direction when navigating to another page.
6544
7408
  */
6545
7409
  "routerDirection"?: RouterDirection;
7410
+ /**
7411
+ * The theme determines the visual appearance of the component.
7412
+ */
7413
+ "theme"?: "ios" | "md" | "ionic";
6546
7414
  }
6547
7415
  interface IonNote {
6548
7416
  /**
@@ -6550,15 +7418,23 @@ declare namespace LocalJSX {
6550
7418
  */
6551
7419
  "color"?: Color;
6552
7420
  /**
6553
- * The mode determines which platform styles to use.
7421
+ * The mode determines the platform behaviors of the component.
6554
7422
  */
6555
7423
  "mode"?: "ios" | "md";
7424
+ /**
7425
+ * The theme determines the visual appearance of the component.
7426
+ */
7427
+ "theme"?: "ios" | "md" | "ionic";
6556
7428
  }
6557
7429
  interface IonPicker {
6558
7430
  /**
6559
- * The mode determines which platform styles to use.
7431
+ * The mode determines the platform behaviors of the component.
6560
7432
  */
6561
7433
  "mode"?: "ios" | "md";
7434
+ /**
7435
+ * The theme determines the visual appearance of the component.
7436
+ */
7437
+ "theme"?: "ios" | "md" | "ionic";
6562
7438
  }
6563
7439
  interface IonPickerColumn {
6564
7440
  /**
@@ -6570,13 +7446,17 @@ declare namespace LocalJSX {
6570
7446
  */
6571
7447
  "disabled"?: boolean;
6572
7448
  /**
6573
- * The mode determines which platform styles to use.
7449
+ * The mode determines the platform behaviors of the component.
6574
7450
  */
6575
7451
  "mode"?: "ios" | "md";
6576
7452
  /**
6577
7453
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
6578
7454
  */
6579
7455
  "onIonChange"?: (event: IonPickerColumnCustomEvent<PickerColumnChangeEventDetail>) => void;
7456
+ /**
7457
+ * The theme determines the visual appearance of the component.
7458
+ */
7459
+ "theme"?: "ios" | "md" | "ionic";
6580
7460
  /**
6581
7461
  * The selected option in the picker.
6582
7462
  */
@@ -6591,6 +7471,14 @@ declare namespace LocalJSX {
6591
7471
  * If `true`, the user cannot interact with the picker column option.
6592
7472
  */
6593
7473
  "disabled"?: boolean;
7474
+ /**
7475
+ * The mode determines the platform behaviors of the component.
7476
+ */
7477
+ "mode"?: "ios" | "md";
7478
+ /**
7479
+ * The theme determines the visual appearance of the component.
7480
+ */
7481
+ "theme"?: "ios" | "md" | "ionic";
6594
7482
  /**
6595
7483
  * The text value of the option.
6596
7484
  */
@@ -6642,7 +7530,7 @@ declare namespace LocalJSX {
6642
7530
  */
6643
7531
  "leaveAnimation"?: AnimationBuilder;
6644
7532
  /**
6645
- * The mode determines which platform styles to use.
7533
+ * The mode determines the platform behaviors of the component.
6646
7534
  */
6647
7535
  "mode"?: "ios" | "md";
6648
7536
  /**
@@ -6681,6 +7569,10 @@ declare namespace LocalJSX {
6681
7569
  * If `true`, a backdrop will be displayed behind the picker.
6682
7570
  */
6683
7571
  "showBackdrop"?: boolean;
7572
+ /**
7573
+ * The theme determines the visual appearance of the component.
7574
+ */
7575
+ "theme"?: "ios" | "md" | "ionic";
6684
7576
  /**
6685
7577
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
6686
7578
  */
@@ -6694,7 +7586,7 @@ declare namespace LocalJSX {
6694
7586
  }
6695
7587
  interface IonPopover {
6696
7588
  /**
6697
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
7589
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
6698
7590
  */
6699
7591
  "alignment"?: PositionAlign;
6700
7592
  /**
@@ -6702,7 +7594,7 @@ declare namespace LocalJSX {
6702
7594
  */
6703
7595
  "animated"?: boolean;
6704
7596
  /**
6705
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
7597
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
6706
7598
  */
6707
7599
  "arrow"?: boolean;
6708
7600
  /**
@@ -6754,7 +7646,7 @@ declare namespace LocalJSX {
6754
7646
  */
6755
7647
  "leaveAnimation"?: AnimationBuilder;
6756
7648
  /**
6757
- * The mode determines which platform styles to use.
7649
+ * The mode determines the platform behaviors of the component.
6758
7650
  */
6759
7651
  "mode"?: "ios" | "md";
6760
7652
  /**
@@ -6806,7 +7698,11 @@ declare namespace LocalJSX {
6806
7698
  */
6807
7699
  "size"?: PopoverSize;
6808
7700
  /**
6809
- * 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).
7701
+ * The theme determines the visual appearance of the component.
7702
+ */
7703
+ "theme"?: "ios" | "md" | "ionic";
7704
+ /**
7705
+ * 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).
6810
7706
  */
6811
7707
  "translucent"?: boolean;
6812
7708
  /**
@@ -6828,13 +7724,17 @@ declare namespace LocalJSX {
6828
7724
  */
6829
7725
  "color"?: Color;
6830
7726
  /**
6831
- * The mode determines which platform styles to use.
7727
+ * The mode determines the platform behaviors of the component.
6832
7728
  */
6833
7729
  "mode"?: "ios" | "md";
6834
7730
  /**
6835
7731
  * If true, reverse the progress bar direction.
6836
7732
  */
6837
7733
  "reversed"?: boolean;
7734
+ /**
7735
+ * The theme determines the visual appearance of the component.
7736
+ */
7737
+ "theme"?: "ios" | "md" | "ionic";
6838
7738
  /**
6839
7739
  * 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).
6840
7740
  */
@@ -6866,7 +7766,7 @@ declare namespace LocalJSX {
6866
7766
  */
6867
7767
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
6868
7768
  /**
6869
- * The mode determines which platform styles to use.
7769
+ * The mode determines the platform behaviors of the component.
6870
7770
  */
6871
7771
  "mode"?: "ios" | "md";
6872
7772
  /**
@@ -6881,6 +7781,10 @@ declare namespace LocalJSX {
6881
7781
  * Emitted when the radio button has focus.
6882
7782
  */
6883
7783
  "onIonFocus"?: (event: IonRadioCustomEvent<void>) => void;
7784
+ /**
7785
+ * The theme determines the visual appearance of the component.
7786
+ */
7787
+ "theme"?: "ios" | "md" | "ionic";
6884
7788
  /**
6885
7789
  * the value of the radio.
6886
7790
  */
@@ -6895,6 +7799,10 @@ declare namespace LocalJSX {
6895
7799
  * This property allows developers to specify a custom function or property name for comparing objects when determining the selected option in the ion-radio-group. When not specified, the default behavior will use strict equality (===) for comparison.
6896
7800
  */
6897
7801
  "compareWith"?: string | RadioGroupCompareFn | null;
7802
+ /**
7803
+ * The mode determines the platform behaviors of the component.
7804
+ */
7805
+ "mode"?: "ios" | "md";
6898
7806
  /**
6899
7807
  * The name of the control, which is submitted with the form data.
6900
7808
  */
@@ -6903,6 +7811,10 @@ declare namespace LocalJSX {
6903
7811
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
6904
7812
  */
6905
7813
  "onIonChange"?: (event: IonRadioGroupCustomEvent<RadioGroupChangeEventDetail>) => void;
7814
+ /**
7815
+ * The theme determines the visual appearance of the component.
7816
+ */
7817
+ "theme"?: "ios" | "md" | "ionic";
6906
7818
  /**
6907
7819
  * the value of the radio group.
6908
7820
  */
@@ -6946,7 +7858,7 @@ declare namespace LocalJSX {
6946
7858
  */
6947
7859
  "min"?: number;
6948
7860
  /**
6949
- * The mode determines which platform styles to use.
7861
+ * The mode determines the platform behaviors of the component.
6950
7862
  */
6951
7863
  "mode"?: "ios" | "md";
6952
7864
  /**
@@ -6993,6 +7905,10 @@ declare namespace LocalJSX {
6993
7905
  * Specifies the value granularity.
6994
7906
  */
6995
7907
  "step"?: number;
7908
+ /**
7909
+ * The theme determines the visual appearance of the component.
7910
+ */
7911
+ "theme"?: "ios" | "md" | "ionic";
6996
7912
  /**
6997
7913
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
6998
7914
  */
@@ -7012,7 +7928,7 @@ declare namespace LocalJSX {
7012
7928
  */
7013
7929
  "disabled"?: boolean;
7014
7930
  /**
7015
- * The mode determines which platform styles to use.
7931
+ * The mode determines the platform behaviors of the component.
7016
7932
  */
7017
7933
  "mode"?: "ios" | "md";
7018
7934
  /**
@@ -7043,8 +7959,16 @@ declare namespace LocalJSX {
7043
7959
  * Time it takes the refresher to snap back to the `refreshing` state. Does not apply when the refresher content uses a spinner, enabling the native refresher.
7044
7960
  */
7045
7961
  "snapbackDuration"?: string;
7962
+ /**
7963
+ * The theme determines the visual appearance of the component.
7964
+ */
7965
+ "theme"?: "ios" | "md" | "ionic";
7046
7966
  }
7047
7967
  interface IonRefresherContent {
7968
+ /**
7969
+ * The mode determines the platform behaviors of the component.
7970
+ */
7971
+ "mode"?: "ios" | "md";
7048
7972
  /**
7049
7973
  * 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.
7050
7974
  */
@@ -7061,20 +7985,48 @@ declare namespace LocalJSX {
7061
7985
  * 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.
7062
7986
  */
7063
7987
  "refreshingText"?: string | IonicSafeString;
7988
+ /**
7989
+ * The theme determines the visual appearance of the component.
7990
+ */
7991
+ "theme"?: "ios" | "md" | "ionic";
7064
7992
  }
7065
7993
  interface IonReorder {
7994
+ /**
7995
+ * The mode determines the platform behaviors of the component.
7996
+ */
7997
+ "mode"?: "ios" | "md";
7998
+ /**
7999
+ * The theme determines the visual appearance of the component.
8000
+ */
8001
+ "theme"?: "ios" | "md" | "ionic";
7066
8002
  }
7067
8003
  interface IonReorderGroup {
7068
8004
  /**
7069
8005
  * If `true`, the reorder will be hidden.
7070
8006
  */
7071
8007
  "disabled"?: boolean;
8008
+ /**
8009
+ * The mode determines the platform behaviors of the component.
8010
+ */
8011
+ "mode"?: "ios" | "md";
7072
8012
  /**
7073
8013
  * Event that needs to be listened to in order to complete the reorder action. Once the event has been emitted, the `complete()` method then needs to be called in order to finalize the reorder action.
7074
8014
  */
7075
8015
  "onIonItemReorder"?: (event: IonReorderGroupCustomEvent<ItemReorderEventDetail>) => void;
8016
+ /**
8017
+ * The theme determines the visual appearance of the component.
8018
+ */
8019
+ "theme"?: "ios" | "md" | "ionic";
7076
8020
  }
7077
8021
  interface IonRippleEffect {
8022
+ /**
8023
+ * The mode determines the platform behaviors of the component.
8024
+ */
8025
+ "mode"?: "ios" | "md";
8026
+ /**
8027
+ * The theme determines the visual appearance of the component.
8028
+ */
8029
+ "theme"?: "ios" | "md" | "ionic";
7078
8030
  /**
7079
8031
  * 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.
7080
8032
  */
@@ -7097,10 +8049,18 @@ declare namespace LocalJSX {
7097
8049
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
7098
8050
  */
7099
8051
  "componentProps"?: { [key: string]: any };
8052
+ /**
8053
+ * The mode determines the platform behaviors of the component.
8054
+ */
8055
+ "mode"?: "ios" | "md";
7100
8056
  /**
7101
8057
  * Used internally by `ion-router` to know when this route did change.
7102
8058
  */
7103
8059
  "onIonRouteDataChanged"?: (event: IonRouteCustomEvent<any>) => void;
8060
+ /**
8061
+ * The theme determines the visual appearance of the component.
8062
+ */
8063
+ "theme"?: "ios" | "md" | "ionic";
7104
8064
  /**
7105
8065
  * 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.
7106
8066
  */
@@ -7121,6 +8081,10 @@ declare namespace LocalJSX {
7121
8081
  "to": string | undefined | null;
7122
8082
  }
7123
8083
  interface IonRouter {
8084
+ /**
8085
+ * The mode determines the platform behaviors of the component.
8086
+ */
8087
+ "mode"?: "ios" | "md";
7124
8088
  /**
7125
8089
  * Emitted when the route had changed
7126
8090
  */
@@ -7133,6 +8097,10 @@ declare namespace LocalJSX {
7133
8097
  * The root path to use when matching URLs. By default, this is set to "/", but you can specify an alternate prefix for all URL paths.
7134
8098
  */
7135
8099
  "root"?: string;
8100
+ /**
8101
+ * The theme determines the visual appearance of the component.
8102
+ */
8103
+ "theme"?: "ios" | "md" | "ionic";
7136
8104
  /**
7137
8105
  * 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.
7138
8106
  */
@@ -7147,6 +8115,10 @@ declare namespace LocalJSX {
7147
8115
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
7148
8116
  */
7149
8117
  "href"?: string | undefined;
8118
+ /**
8119
+ * The mode determines the platform behaviors of the component.
8120
+ */
8121
+ "mode"?: "ios" | "md";
7150
8122
  /**
7151
8123
  * 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).
7152
8124
  */
@@ -7163,6 +8135,10 @@ declare namespace LocalJSX {
7163
8135
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
7164
8136
  */
7165
8137
  "target"?: string | undefined;
8138
+ /**
8139
+ * The theme determines the visual appearance of the component.
8140
+ */
8141
+ "theme"?: "ios" | "md" | "ionic";
7166
8142
  }
7167
8143
  interface IonRouterOutlet {
7168
8144
  /**
@@ -7174,11 +8150,23 @@ declare namespace LocalJSX {
7174
8150
  */
7175
8151
  "animation"?: AnimationBuilder;
7176
8152
  /**
7177
- * The mode determines which platform styles to use.
8153
+ * The mode determines the platform behaviors of the component.
7178
8154
  */
7179
8155
  "mode"?: "ios" | "md";
8156
+ /**
8157
+ * The theme determines the visual appearance of the component.
8158
+ */
8159
+ "theme"?: "ios" | "md" | "ionic";
7180
8160
  }
7181
8161
  interface IonRow {
8162
+ /**
8163
+ * The mode determines the platform behaviors of the component.
8164
+ */
8165
+ "mode"?: "ios" | "md";
8166
+ /**
8167
+ * The theme determines the visual appearance of the component.
8168
+ */
8169
+ "theme"?: "ios" | "md" | "ionic";
7182
8170
  }
7183
8171
  interface IonSearchbar {
7184
8172
  /**
@@ -7198,15 +8186,15 @@ declare namespace LocalJSX {
7198
8186
  */
7199
8187
  "autocorrect"?: 'on' | 'off';
7200
8188
  /**
7201
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
8189
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
7202
8190
  */
7203
8191
  "cancelButtonIcon"?: string;
7204
8192
  /**
7205
- * Set the the cancel button text. Only applies to `ios` mode.
8193
+ * Set the the cancel button text. Only available when the theme is `"ios"`.
7206
8194
  */
7207
8195
  "cancelButtonText"?: string;
7208
8196
  /**
7209
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
8197
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
7210
8198
  */
7211
8199
  "clearIcon"?: string;
7212
8200
  /**
@@ -7238,7 +8226,7 @@ declare namespace LocalJSX {
7238
8226
  */
7239
8227
  "minlength"?: number;
7240
8228
  /**
7241
- * The mode determines which platform styles to use.
8229
+ * The mode determines the platform behaviors of the component.
7242
8230
  */
7243
8231
  "mode"?: "ios" | "md";
7244
8232
  /**
@@ -7274,7 +8262,7 @@ declare namespace LocalJSX {
7274
8262
  */
7275
8263
  "placeholder"?: string;
7276
8264
  /**
7277
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
8265
+ * 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.
7278
8266
  */
7279
8267
  "searchIcon"?: string;
7280
8268
  /**
@@ -7289,6 +8277,10 @@ declare namespace LocalJSX {
7289
8277
  * If `true`, enable spellcheck on the input.
7290
8278
  */
7291
8279
  "spellcheck"?: boolean;
8280
+ /**
8281
+ * The theme determines the visual appearance of the component.
8282
+ */
8283
+ "theme"?: "ios" | "md" | "ionic";
7292
8284
  /**
7293
8285
  * Set the type of the input.
7294
8286
  */
@@ -7308,7 +8300,7 @@ declare namespace LocalJSX {
7308
8300
  */
7309
8301
  "disabled"?: boolean;
7310
8302
  /**
7311
- * The mode determines which platform styles to use.
8303
+ * The mode determines the platform behaviors of the component.
7312
8304
  */
7313
8305
  "mode"?: "ios" | "md";
7314
8306
  /**
@@ -7327,6 +8319,10 @@ declare namespace LocalJSX {
7327
8319
  * If `true`, users will be able to swipe between segment buttons to activate them.
7328
8320
  */
7329
8321
  "swipeGesture"?: boolean;
8322
+ /**
8323
+ * The theme determines the visual appearance of the component.
8324
+ */
8325
+ "theme"?: "ios" | "md" | "ionic";
7330
8326
  /**
7331
8327
  * the value of the segment.
7332
8328
  */
@@ -7342,9 +8338,13 @@ declare namespace LocalJSX {
7342
8338
  */
7343
8339
  "layout"?: SegmentButtonLayout;
7344
8340
  /**
7345
- * The mode determines which platform styles to use.
8341
+ * The mode determines the platform behaviors of the component.
7346
8342
  */
7347
8343
  "mode"?: "ios" | "md";
8344
+ /**
8345
+ * The theme determines the visual appearance of the component.
8346
+ */
8347
+ "theme"?: "ios" | "md" | "ionic";
7348
8348
  /**
7349
8349
  * The type of the button.
7350
8350
  */
@@ -7372,11 +8372,11 @@ declare namespace LocalJSX {
7372
8372
  */
7373
8373
  "disabled"?: boolean;
7374
8374
  /**
7375
- * 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.
8375
+ * 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.
7376
8376
  */
7377
8377
  "expandedIcon"?: string;
7378
8378
  /**
7379
- * 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.
8379
+ * 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.
7380
8380
  */
7381
8381
  "fill"?: 'outline' | 'solid';
7382
8382
  /**
@@ -7400,7 +8400,7 @@ declare namespace LocalJSX {
7400
8400
  */
7401
8401
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
7402
8402
  /**
7403
- * The mode determines which platform styles to use.
8403
+ * The mode determines the platform behaviors of the component.
7404
8404
  */
7405
8405
  "mode"?: "ios" | "md";
7406
8406
  /**
@@ -7448,7 +8448,11 @@ declare namespace LocalJSX {
7448
8448
  */
7449
8449
  "shape"?: 'round';
7450
8450
  /**
7451
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
8451
+ * The theme determines the visual appearance of the component.
8452
+ */
8453
+ "theme"?: "ios" | "md" | "ionic";
8454
+ /**
8455
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
7452
8456
  */
7453
8457
  "toggleIcon"?: string;
7454
8458
  /**
@@ -7461,6 +8465,14 @@ declare namespace LocalJSX {
7461
8465
  * If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons.
7462
8466
  */
7463
8467
  "disabled"?: boolean;
8468
+ /**
8469
+ * The mode determines the platform behaviors of the component.
8470
+ */
8471
+ "mode"?: "ios" | "md";
8472
+ /**
8473
+ * The theme determines the visual appearance of the component.
8474
+ */
8475
+ "theme"?: "ios" | "md" | "ionic";
7464
8476
  /**
7465
8477
  * The text value of the option.
7466
8478
  */
@@ -7475,6 +8487,10 @@ declare namespace LocalJSX {
7475
8487
  * The text content of the popover body
7476
8488
  */
7477
8489
  "message"?: string;
8490
+ /**
8491
+ * The mode determines the platform behaviors of the component.
8492
+ */
8493
+ "mode"?: "ios" | "md";
7478
8494
  /**
7479
8495
  * If true, the select accepts multiple values
7480
8496
  */
@@ -7487,12 +8503,24 @@ declare namespace LocalJSX {
7487
8503
  * The subheader text of the popover
7488
8504
  */
7489
8505
  "subHeader"?: string;
8506
+ /**
8507
+ * The theme determines the visual appearance of the component.
8508
+ */
8509
+ "theme"?: "ios" | "md" | "ionic";
7490
8510
  }
7491
8511
  interface IonSkeletonText {
7492
8512
  /**
7493
8513
  * If `true`, the skeleton text will animate.
7494
8514
  */
7495
8515
  "animated"?: boolean;
8516
+ /**
8517
+ * The mode determines the platform behaviors of the component.
8518
+ */
8519
+ "mode"?: "ios" | "md";
8520
+ /**
8521
+ * The theme determines the visual appearance of the component.
8522
+ */
8523
+ "theme"?: "ios" | "md" | "ionic";
7496
8524
  }
7497
8525
  interface IonSpinner {
7498
8526
  /**
@@ -7503,6 +8531,10 @@ declare namespace LocalJSX {
7503
8531
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
7504
8532
  */
7505
8533
  "duration"?: number;
8534
+ /**
8535
+ * The mode determines the platform behaviors of the component.
8536
+ */
8537
+ "mode"?: "ios" | "md";
7506
8538
  /**
7507
8539
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
7508
8540
  */
@@ -7511,6 +8543,10 @@ declare namespace LocalJSX {
7511
8543
  * If `true`, the spinner's animation will be paused.
7512
8544
  */
7513
8545
  "paused"?: boolean;
8546
+ /**
8547
+ * The theme determines the visual appearance of the component.
8548
+ */
8549
+ "theme"?: "ios" | "md" | "ionic";
7514
8550
  }
7515
8551
  interface IonSplitPane {
7516
8552
  /**
@@ -7521,10 +8557,18 @@ declare namespace LocalJSX {
7521
8557
  * If `true`, the split pane will be hidden.
7522
8558
  */
7523
8559
  "disabled"?: boolean;
8560
+ /**
8561
+ * The mode determines the platform behaviors of the component.
8562
+ */
8563
+ "mode"?: "ios" | "md";
7524
8564
  /**
7525
8565
  * Expression to be called when the split-pane visibility has changed
7526
8566
  */
7527
8567
  "onIonSplitPaneVisible"?: (event: IonSplitPaneCustomEvent<{ visible: boolean }>) => void;
8568
+ /**
8569
+ * The theme determines the visual appearance of the component.
8570
+ */
8571
+ "theme"?: "ios" | "md" | "ionic";
7528
8572
  /**
7529
8573
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
7530
8574
  */
@@ -7535,10 +8579,18 @@ declare namespace LocalJSX {
7535
8579
  * The component to display inside of the tab.
7536
8580
  */
7537
8581
  "component"?: ComponentRef;
8582
+ /**
8583
+ * The mode determines the platform behaviors of the component.
8584
+ */
8585
+ "mode"?: "ios" | "md";
7538
8586
  /**
7539
8587
  * 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.
7540
8588
  */
7541
8589
  "tab": string;
8590
+ /**
8591
+ * The theme determines the visual appearance of the component.
8592
+ */
8593
+ "theme"?: "ios" | "md" | "ionic";
7542
8594
  }
7543
8595
  interface IonTabBar {
7544
8596
  /**
@@ -7546,7 +8598,7 @@ declare namespace LocalJSX {
7546
8598
  */
7547
8599
  "color"?: Color;
7548
8600
  /**
7549
- * The mode determines which platform styles to use.
8601
+ * The mode determines the platform behaviors of the component.
7550
8602
  */
7551
8603
  "mode"?: "ios" | "md";
7552
8604
  /**
@@ -7554,7 +8606,11 @@ declare namespace LocalJSX {
7554
8606
  */
7555
8607
  "selectedTab"?: string;
7556
8608
  /**
7557
- * 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).
8609
+ * The theme determines the visual appearance of the component.
8610
+ */
8611
+ "theme"?: "ios" | "md" | "ionic";
8612
+ /**
8613
+ * 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).
7558
8614
  */
7559
8615
  "translucent"?: boolean;
7560
8616
  }
@@ -7576,7 +8632,7 @@ declare namespace LocalJSX {
7576
8632
  */
7577
8633
  "layout"?: TabButtonLayout;
7578
8634
  /**
7579
- * The mode determines which platform styles to use.
8635
+ * The mode determines the platform behaviors of the component.
7580
8636
  */
7581
8637
  "mode"?: "ios" | "md";
7582
8638
  /**
@@ -7595,8 +8651,16 @@ declare namespace LocalJSX {
7595
8651
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
7596
8652
  */
7597
8653
  "target"?: string | undefined;
8654
+ /**
8655
+ * The theme determines the visual appearance of the component.
8656
+ */
8657
+ "theme"?: "ios" | "md" | "ionic";
7598
8658
  }
7599
8659
  interface IonTabs {
8660
+ /**
8661
+ * The mode determines the platform behaviors of the component.
8662
+ */
8663
+ "mode"?: "ios" | "md";
7600
8664
  /**
7601
8665
  * Emitted when the navigation has finished transitioning to a new component.
7602
8666
  */
@@ -7605,6 +8669,10 @@ declare namespace LocalJSX {
7605
8669
  * Emitted when the navigation is about to transition to a new component.
7606
8670
  */
7607
8671
  "onIonTabsWillChange"?: (event: IonTabsCustomEvent<{ tab: string }>) => void;
8672
+ /**
8673
+ * The theme determines the visual appearance of the component.
8674
+ */
8675
+ "theme"?: "ios" | "md" | "ionic";
7608
8676
  }
7609
8677
  interface IonText {
7610
8678
  /**
@@ -7612,9 +8680,13 @@ declare namespace LocalJSX {
7612
8680
  */
7613
8681
  "color"?: Color;
7614
8682
  /**
7615
- * The mode determines which platform styles to use.
8683
+ * The mode determines the platform behaviors of the component.
7616
8684
  */
7617
8685
  "mode"?: "ios" | "md";
8686
+ /**
8687
+ * The theme determines the visual appearance of the component.
8688
+ */
8689
+ "theme"?: "ios" | "md" | "ionic";
7618
8690
  }
7619
8691
  interface IonTextarea {
7620
8692
  /**
@@ -7666,7 +8738,7 @@ declare namespace LocalJSX {
7666
8738
  */
7667
8739
  "errorText"?: string;
7668
8740
  /**
7669
- * 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.
8741
+ * 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"`.
7670
8742
  */
7671
8743
  "fill"?: 'outline' | 'solid';
7672
8744
  /**
@@ -7694,7 +8766,7 @@ declare namespace LocalJSX {
7694
8766
  */
7695
8767
  "minlength"?: number;
7696
8768
  /**
7697
- * The mode determines which platform styles to use.
8769
+ * The mode determines the platform behaviors of the component.
7698
8770
  */
7699
8771
  "mode"?: "ios" | "md";
7700
8772
  /**
@@ -7741,6 +8813,10 @@ declare namespace LocalJSX {
7741
8813
  * If `true`, the element will have its spelling and grammar checked.
7742
8814
  */
7743
8815
  "spellcheck"?: boolean;
8816
+ /**
8817
+ * The theme determines the visual appearance of the component.
8818
+ */
8819
+ "theme"?: "ios" | "md" | "ionic";
7744
8820
  /**
7745
8821
  * The value of the textarea.
7746
8822
  */
@@ -7751,16 +8827,32 @@ declare namespace LocalJSX {
7751
8827
  "wrap"?: 'hard' | 'soft' | 'off';
7752
8828
  }
7753
8829
  interface IonThumbnail {
8830
+ /**
8831
+ * The mode determines the platform behaviors of the component.
8832
+ */
8833
+ "mode"?: "ios" | "md";
8834
+ /**
8835
+ * The theme determines the visual appearance of the component.
8836
+ */
8837
+ "theme"?: "ios" | "md" | "ionic";
7754
8838
  }
7755
8839
  interface IonTitle {
7756
8840
  /**
7757
8841
  * 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).
7758
8842
  */
7759
8843
  "color"?: Color;
8844
+ /**
8845
+ * The mode determines the platform behaviors of the component.
8846
+ */
8847
+ "mode"?: "ios" | "md";
7760
8848
  /**
7761
8849
  * The size of the toolbar title.
7762
8850
  */
7763
8851
  "size"?: 'large' | 'small';
8852
+ /**
8853
+ * The theme determines the visual appearance of the component.
8854
+ */
8855
+ "theme"?: "ios" | "md" | "ionic";
7764
8856
  }
7765
8857
  interface IonToast {
7766
8858
  /**
@@ -7820,7 +8912,7 @@ declare namespace LocalJSX {
7820
8912
  */
7821
8913
  "message"?: string | IonicSafeString;
7822
8914
  /**
7823
- * The mode determines which platform styles to use.
8915
+ * The mode determines the platform behaviors of the component.
7824
8916
  */
7825
8917
  "mode"?: "ios" | "md";
7826
8918
  /**
@@ -7868,7 +8960,11 @@ declare namespace LocalJSX {
7868
8960
  */
7869
8961
  "swipeGesture"?: ToastSwipeGestureDirection;
7870
8962
  /**
7871
- * 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).
8963
+ * The theme determines the visual appearance of the component.
8964
+ */
8965
+ "theme"?: "ios" | "md" | "ionic";
8966
+ /**
8967
+ * 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).
7872
8968
  */
7873
8969
  "translucent"?: boolean;
7874
8970
  /**
@@ -7906,7 +9002,7 @@ declare namespace LocalJSX {
7906
9002
  */
7907
9003
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
7908
9004
  /**
7909
- * The mode determines which platform styles to use.
9005
+ * The mode determines the platform behaviors of the component.
7910
9006
  */
7911
9007
  "mode"?: "ios" | "md";
7912
9008
  /**
@@ -7925,6 +9021,10 @@ declare namespace LocalJSX {
7925
9021
  * Emitted when the toggle has focus.
7926
9022
  */
7927
9023
  "onIonFocus"?: (event: IonToggleCustomEvent<void>) => void;
9024
+ /**
9025
+ * The theme determines the visual appearance of the component.
9026
+ */
9027
+ "theme"?: "ios" | "md" | "ionic";
7928
9028
  /**
7929
9029
  * 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>`.
7930
9030
  */
@@ -7936,9 +9036,13 @@ declare namespace LocalJSX {
7936
9036
  */
7937
9037
  "color"?: Color;
7938
9038
  /**
7939
- * The mode determines which platform styles to use.
9039
+ * The mode determines the platform behaviors of the component.
7940
9040
  */
7941
9041
  "mode"?: "ios" | "md";
9042
+ /**
9043
+ * The theme determines the visual appearance of the component.
9044
+ */
9045
+ "theme"?: "ios" | "md" | "ionic";
7942
9046
  }
7943
9047
  interface IntrinsicElements {
7944
9048
  "ion-accordion": IonAccordion;