@ionic/core 8.0.0-dev.11713809015.1aabd368 → 8.0.0-dev.11713988726.1e82b9a0

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 (982) 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 +27 -10
  5. package/components/buttons.js +10 -6
  6. package/components/checkbox.js +26 -13
  7. package/components/data.js +4 -4
  8. package/components/index4.js +8 -7
  9. package/components/index6.js +27 -30
  10. package/components/index7.js +124 -27
  11. package/components/index8.js +150 -111
  12. package/components/input-shims.js +1 -1
  13. package/components/input.utils.js +1 -1
  14. package/components/ion-accordion-group.js +9 -6
  15. package/components/ion-accordion.js +30 -9
  16. package/components/ion-app.js +5 -6
  17. package/components/ion-avatar.js +9 -2
  18. package/components/ion-back-button.js +15 -11
  19. package/components/ion-badge.js +9 -5
  20. package/components/ion-breadcrumb.js +39 -11
  21. package/components/ion-breadcrumbs.js +9 -5
  22. package/components/ion-card-content.js +9 -5
  23. package/components/ion-card-header.js +9 -5
  24. package/components/ion-card-subtitle.js +9 -5
  25. package/components/ion-card-title.js +9 -5
  26. package/components/ion-card.js +18 -9
  27. package/components/ion-chip.js +16 -6
  28. package/components/ion-col.js +5 -5
  29. package/components/ion-content.js +14 -12
  30. package/components/ion-datetime-button.js +9 -6
  31. package/components/ion-datetime.js +86 -31
  32. package/components/ion-fab-button.js +31 -10
  33. package/components/ion-fab-list.js +5 -5
  34. package/components/ion-fab.js +6 -6
  35. package/components/ion-footer.js +15 -11
  36. package/components/ion-grid.js +5 -5
  37. package/components/ion-header.js +15 -11
  38. package/components/ion-img.js +5 -2
  39. package/components/ion-infinite-scroll-content.js +12 -8
  40. package/components/ion-infinite-scroll.js +5 -5
  41. package/components/ion-input-password-toggle.js +40 -10
  42. package/components/ion-input.js +38 -13
  43. package/components/ion-item-divider.js +9 -5
  44. package/components/ion-item-group.js +9 -5
  45. package/components/ion-item-option.js +11 -7
  46. package/components/ion-item-options.js +9 -5
  47. package/components/ion-item-sliding.js +5 -5
  48. package/components/ion-loading.js +12 -8
  49. package/components/ion-menu-button.js +13 -9
  50. package/components/ion-menu-toggle.js +5 -5
  51. package/components/ion-menu.js +11 -7
  52. package/components/ion-modal.js +13 -10
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +7 -6
  55. package/components/ion-note.js +9 -5
  56. package/components/ion-picker-legacy.js +7 -8
  57. package/components/ion-progress-bar.js +10 -6
  58. package/components/ion-range.js +11 -8
  59. package/components/ion-refresher-content.js +9 -8
  60. package/components/ion-refresher.js +11 -7
  61. package/components/ion-reorder-group.js +5 -5
  62. package/components/ion-reorder.js +25 -5
  63. package/components/ion-router-link.js +6 -6
  64. package/components/ion-router-outlet.js +2 -2
  65. package/components/ion-row.js +5 -2
  66. package/components/ion-searchbar.js +73 -16
  67. package/components/ion-segment-button.js +12 -8
  68. package/components/ion-segment.js +9 -5
  69. package/components/ion-select-option.js +5 -2
  70. package/components/ion-select.js +69 -25
  71. package/components/ion-skeleton-text.js +5 -5
  72. package/components/ion-split-pane.js +12 -8
  73. package/components/ion-tab-bar.js +9 -5
  74. package/components/ion-tab-button.js +11 -7
  75. package/components/ion-tab.js +2 -2
  76. package/components/ion-tabs.js +2 -2
  77. package/components/ion-text.js +5 -5
  78. package/components/ion-textarea.js +13 -9
  79. package/components/ion-thumbnail.js +5 -2
  80. package/components/ion-title.js +9 -5
  81. package/components/ion-toast.js +13 -9
  82. package/components/ion-toggle.js +47 -18
  83. package/components/ion-toolbar.js +11 -7
  84. package/components/ionic-global.js +191 -14
  85. package/components/ios.transition.js +1 -0
  86. package/components/item.js +32 -11
  87. package/components/label.js +9 -5
  88. package/components/list-header.js +9 -5
  89. package/components/list.js +10 -6
  90. package/components/overlays.js +1 -2
  91. package/components/picker-column-option.js +9 -5
  92. package/components/picker-column.js +17 -137
  93. package/components/picker-column2.js +4 -4
  94. package/components/picker.js +8 -4
  95. package/components/popover.js +11 -8
  96. package/components/radio-group.js +5 -3
  97. package/components/radio.js +12 -8
  98. package/components/ripple-effect.js +5 -5
  99. package/components/select-popover.js +9 -2
  100. package/components/spinner.js +6 -6
  101. package/components/status-tap.js +1 -1
  102. package/css/core.css +1 -1
  103. package/css/core.css.map +1 -1
  104. package/css/display.css.map +1 -1
  105. package/css/flex-utils.css.map +1 -1
  106. package/css/float-elements.css.map +1 -1
  107. package/css/global.bundle.css.map +1 -1
  108. package/css/ionic/bundle.ionic.css +1 -0
  109. package/css/ionic/bundle.ionic.css.map +1 -0
  110. package/css/ionic/core.ionic.css +1 -0
  111. package/css/ionic/core.ionic.css.map +1 -0
  112. package/css/ionic/global.bundle.ionic.css +1 -0
  113. package/css/ionic/global.bundle.ionic.css.map +1 -0
  114. package/css/ionic/ionic-swiper.ionic.css +1 -0
  115. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  116. package/css/ionic/link.ionic.css +1 -0
  117. package/css/ionic/link.ionic.css.map +1 -0
  118. package/css/ionic/structure.ionic.css +1 -0
  119. package/css/ionic/structure.ionic.css.map +1 -0
  120. package/css/ionic/typography.ionic.css +1 -0
  121. package/css/ionic/typography.ionic.css.map +1 -0
  122. package/css/ionic/utils.bundle.ionic.css +1 -0
  123. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  124. package/css/ionic-swiper.css +1 -1
  125. package/css/ionic-swiper.css.map +1 -1
  126. package/css/ionic.bundle.css +1 -1
  127. package/css/ionic.bundle.css.map +1 -1
  128. package/css/normalize.css.map +1 -1
  129. package/css/padding.css.map +1 -1
  130. package/css/palettes/dark.always.css +1 -1
  131. package/css/palettes/dark.always.css.map +1 -1
  132. package/css/palettes/dark.class.css +1 -1
  133. package/css/palettes/dark.class.css.map +1 -1
  134. package/css/palettes/dark.system.css +1 -1
  135. package/css/palettes/dark.system.css.map +1 -1
  136. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  137. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  138. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  139. package/css/palettes/high-contrast.always.css.map +1 -1
  140. package/css/palettes/high-contrast.class.css.map +1 -1
  141. package/css/palettes/high-contrast.system.css.map +1 -1
  142. package/css/structure.css.map +1 -1
  143. package/css/text-alignment.css.map +1 -1
  144. package/css/text-transformation.css.map +1 -1
  145. package/css/typography.css.map +1 -1
  146. package/css/utils.bundle.css.map +1 -1
  147. package/dist/cjs/{app-globals-63aebf89.js → app-globals-afaa9c54.js} +1 -1
  148. package/dist/cjs/{data-21dc0f81.js → data-99329b16.js} +6 -6
  149. package/dist/cjs/{hardware-back-button-ad9299b4.js → hardware-back-button-6084a439.js} +1 -1
  150. package/dist/cjs/{index-5b6a7459.js → index-18f2ba3b.js} +2 -2
  151. package/dist/cjs/{index-ff66cc7c.js → index-7c699f7b.js} +2 -2
  152. package/dist/cjs/{index-5cf05f94.js → index-f378621f.js} +13 -12
  153. package/dist/cjs/index.cjs.js +7 -8
  154. package/dist/cjs/{input-shims-20d639e6.js → input-shims-077ab038.js} +3 -2
  155. package/dist/cjs/{input.utils-611cde0b.js → input.utils-1aac63e6.js} +2 -2
  156. package/dist/cjs/ion-accordion_2.cjs.entry.js +38 -14
  157. package/dist/cjs/ion-action-sheet.cjs.entry.js +15 -11
  158. package/dist/cjs/ion-alert.cjs.entry.js +16 -13
  159. package/dist/cjs/ion-app_8.cjs.entry.js +88 -68
  160. package/dist/cjs/ion-avatar_3.cjs.entry.js +21 -7
  161. package/dist/cjs/ion-back-button.cjs.entry.js +14 -10
  162. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -6
  163. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +46 -14
  164. package/dist/cjs/ion-button_2.cjs.entry.js +30 -13
  165. package/dist/cjs/ion-card_5.cjs.entry.js +49 -25
  166. package/dist/cjs/ion-checkbox.cjs.entry.js +23 -12
  167. package/dist/cjs/ion-chip.cjs.entry.js +14 -5
  168. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  169. package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -11
  170. package/dist/cjs/ion-datetime_3.cjs.entry.js +167 -112
  171. package/dist/cjs/ion-fab_3.cjs.entry.js +39 -18
  172. package/dist/cjs/ion-img.cjs.entry.js +5 -2
  173. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +16 -13
  174. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +42 -12
  175. package/dist/cjs/ion-input.cjs.entry.js +37 -14
  176. package/dist/cjs/ion-item-option_3.cjs.entry.js +23 -16
  177. package/dist/cjs/ion-item_8.cjs.entry.js +84 -39
  178. package/dist/cjs/ion-loading.cjs.entry.js +14 -11
  179. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -22
  180. package/dist/cjs/ion-modal.cjs.entry.js +21 -18
  181. package/dist/cjs/ion-nav_2.cjs.entry.js +9 -7
  182. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -5
  183. package/dist/cjs/ion-picker-column.cjs.entry.js +17 -135
  184. package/dist/cjs/ion-picker.cjs.entry.js +8 -4
  185. package/dist/cjs/ion-popover.cjs.entry.js +17 -14
  186. package/dist/cjs/ion-progress-bar.cjs.entry.js +10 -6
  187. package/dist/cjs/ion-radio_2.cjs.entry.js +16 -10
  188. package/dist/cjs/ion-range.cjs.entry.js +16 -13
  189. package/dist/cjs/ion-refresher_2.cjs.entry.js +18 -14
  190. package/dist/cjs/ion-reorder_2.cjs.entry.js +28 -9
  191. package/dist/cjs/ion-ripple-effect.cjs.entry.js +5 -5
  192. package/dist/cjs/ion-route_4.cjs.entry.js +6 -6
  193. package/dist/cjs/ion-searchbar.cjs.entry.js +72 -15
  194. package/dist/cjs/ion-segment_2.cjs.entry.js +20 -12
  195. package/dist/cjs/ion-select_3.cjs.entry.js +82 -29
  196. package/dist/cjs/ion-spinner.cjs.entry.js +6 -6
  197. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -8
  198. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +19 -11
  199. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  200. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  201. package/dist/cjs/ion-textarea.cjs.entry.js +14 -11
  202. package/dist/cjs/ion-toast.cjs.entry.js +36 -32
  203. package/dist/cjs/ion-toggle.cjs.entry.js +46 -17
  204. package/dist/cjs/ionic-global-2734c454.js +411 -0
  205. package/dist/cjs/ionic.cjs.js +3 -3
  206. package/dist/cjs/{ios.transition-06673f18.js → ios.transition-07077689.js} +2 -1
  207. package/dist/cjs/loader.cjs.js +3 -3
  208. package/dist/cjs/{md.transition-4d7bb4b1.js → md.transition-a829ffba.js} +1 -1
  209. package/dist/cjs/{overlays-6487955a.js → overlays-a247b257.js} +3 -4
  210. package/dist/cjs/{status-tap-0be20572.js → status-tap-870d407b.js} +2 -2
  211. package/dist/collection/components/accordion/accordion.ios.css +12 -0
  212. package/dist/collection/components/accordion/accordion.js +34 -15
  213. package/dist/collection/components/accordion/accordion.md.css +6 -0
  214. package/dist/collection/components/accordion-group/accordion-group.ios.css +12 -0
  215. package/dist/collection/components/accordion-group/accordion-group.js +11 -8
  216. package/dist/collection/components/accordion-group/accordion-group.md.css +18 -0
  217. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  218. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  219. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  220. package/dist/collection/components/alert/alert.ios.css +19 -1
  221. package/dist/collection/components/alert/alert.js +15 -12
  222. package/dist/collection/components/alert/alert.md.css +19 -1
  223. package/dist/collection/components/app/app.js +8 -4
  224. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  225. package/dist/collection/components/avatar/avatar.js +13 -4
  226. package/dist/collection/components/avatar/avatar.md.css +12 -0
  227. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  228. package/dist/collection/components/back-button/back-button.js +14 -11
  229. package/dist/collection/components/back-button/back-button.md.css +60 -48
  230. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  231. package/dist/collection/components/backdrop/backdrop.js +12 -6
  232. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  233. package/dist/collection/components/badge/badge.ios.css +12 -0
  234. package/dist/collection/components/badge/badge.js +11 -8
  235. package/dist/collection/components/badge/badge.md.css +12 -0
  236. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  237. package/dist/collection/components/breadcrumb/breadcrumb.js +39 -11
  238. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  239. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  240. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  241. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  242. package/dist/collection/components/button/button.ionic.css +579 -0
  243. package/dist/collection/components/button/button.ios.css +23 -5
  244. package/dist/collection/components/button/button.js +31 -14
  245. package/dist/collection/components/button/button.md.css +22 -12
  246. package/dist/collection/components/button/test/clear/button.e2e.js +6 -3
  247. package/dist/collection/components/button/test/shape/button.e2e.js +88 -0
  248. package/dist/collection/components/button/test/size/button.e2e.js +18 -1
  249. package/dist/collection/components/button/test/states/button.e2e.js +51 -0
  250. package/dist/collection/components/buttons/buttons.ios.css +22 -4
  251. package/dist/collection/components/buttons/buttons.js +14 -8
  252. package/dist/collection/components/buttons/buttons.md.css +18 -0
  253. package/dist/collection/components/card/card.ionic.css +88 -0
  254. package/dist/collection/components/card/card.ios.css +16 -3
  255. package/dist/collection/components/card/card.js +34 -10
  256. package/dist/collection/components/card/card.md.css +16 -3
  257. package/dist/collection/components/card/test/shape/card.e2e.js +34 -0
  258. package/dist/collection/components/card-content/card-content.ios.css +12 -0
  259. package/dist/collection/components/card-content/card-content.js +11 -8
  260. package/dist/collection/components/card-content/card-content.md.css +12 -0
  261. package/dist/collection/components/card-header/card-header.ios.css +12 -0
  262. package/dist/collection/components/card-header/card-header.js +12 -9
  263. package/dist/collection/components/card-header/card-header.md.css +12 -0
  264. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  265. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  266. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  267. package/dist/collection/components/card-title/card-title.ios.css +12 -0
  268. package/dist/collection/components/card-title/card-title.js +11 -8
  269. package/dist/collection/components/card-title/card-title.md.css +12 -0
  270. package/dist/collection/components/checkbox/checkbox.ionic.css +496 -0
  271. package/dist/collection/components/checkbox/checkbox.ios.css +20 -3
  272. package/dist/collection/components/checkbox/checkbox.js +58 -13
  273. package/dist/collection/components/checkbox/checkbox.md.css +21 -4
  274. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +66 -1
  275. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +1 -1
  276. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +32 -1
  277. package/dist/collection/components/chip/chip.ionic.css +133 -0
  278. package/dist/collection/components/chip/chip.ios.css +6 -0
  279. package/dist/collection/components/chip/chip.js +33 -8
  280. package/dist/collection/components/chip/chip.md.css +6 -0
  281. package/dist/collection/components/chip/test/shape/chip.e2e.js +34 -0
  282. package/dist/collection/components/chip/test/states/chip.e2e.js +16 -0
  283. package/dist/collection/components/col/col.css +12 -0
  284. package/dist/collection/components/col/col.js +9 -5
  285. package/dist/collection/components/content/content.css +8 -2
  286. package/dist/collection/components/content/content.js +33 -11
  287. package/dist/collection/components/content/test/content.spec.js +27 -0
  288. package/dist/collection/components/datetime/datetime.ios.css +15 -3
  289. package/dist/collection/components/datetime/datetime.js +86 -30
  290. package/dist/collection/components/datetime/datetime.md.css +15 -3
  291. package/dist/collection/components/datetime/test/overlay-roles/datetime.e2e.js +34 -0
  292. package/dist/collection/components/datetime/utils/data.js +3 -3
  293. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  294. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  295. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  296. package/dist/collection/components/fab/fab.css +25 -1
  297. package/dist/collection/components/fab/fab.js +9 -5
  298. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  299. package/dist/collection/components/fab-button/fab-button.js +35 -15
  300. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  301. package/dist/collection/components/fab-list/fab-list.css +12 -0
  302. package/dist/collection/components/fab-list/fab-list.js +9 -5
  303. package/dist/collection/components/footer/footer.ios.css +14 -2
  304. package/dist/collection/components/footer/footer.js +17 -14
  305. package/dist/collection/components/footer/footer.md.css +12 -0
  306. package/dist/collection/components/grid/grid.css +12 -0
  307. package/dist/collection/components/grid/grid.js +9 -5
  308. package/dist/collection/components/header/header.ios.css +14 -2
  309. package/dist/collection/components/header/header.js +17 -14
  310. package/dist/collection/components/header/header.md.css +12 -0
  311. package/dist/collection/components/img/img.js +8 -2
  312. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  313. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  314. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  315. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  316. package/dist/collection/components/input/input.ios.css +20 -2
  317. package/dist/collection/components/input/input.js +55 -14
  318. package/dist/collection/components/input/input.md.css +42 -4
  319. package/dist/collection/components/input/test/input.spec.js +13 -0
  320. package/dist/collection/components/input-password-toggle/input-password-toggle.js +39 -7
  321. package/dist/collection/components/item/item.ios.css +20 -8
  322. package/dist/collection/components/item/item.js +36 -16
  323. package/dist/collection/components/item/item.md.css +31 -7
  324. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  325. package/dist/collection/components/item-divider/item-divider.js +11 -8
  326. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  327. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  328. package/dist/collection/components/item-group/item-group.js +13 -7
  329. package/dist/collection/components/item-group/item-group.md.css +12 -0
  330. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  331. package/dist/collection/components/item-option/item-option.js +11 -8
  332. package/dist/collection/components/item-option/item-option.md.css +14 -2
  333. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  334. package/dist/collection/components/item-options/item-options.js +13 -7
  335. package/dist/collection/components/item-options/item-options.md.css +18 -0
  336. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  337. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  338. package/dist/collection/components/label/label.ios.css +18 -0
  339. package/dist/collection/components/label/label.js +11 -8
  340. package/dist/collection/components/label/label.md.css +18 -0
  341. package/dist/collection/components/list/list.ios.css +18 -0
  342. package/dist/collection/components/list/list.js +12 -9
  343. package/dist/collection/components/list/list.md.css +18 -0
  344. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  345. package/dist/collection/components/list-header/list-header.js +11 -8
  346. package/dist/collection/components/list-header/list-header.md.css +18 -0
  347. package/dist/collection/components/loading/loading.ios.css +13 -1
  348. package/dist/collection/components/loading/loading.js +13 -10
  349. package/dist/collection/components/loading/loading.md.css +13 -1
  350. package/dist/collection/components/menu/menu.ios.css +15 -3
  351. package/dist/collection/components/menu/menu.js +12 -7
  352. package/dist/collection/components/menu/menu.md.css +15 -3
  353. package/dist/collection/components/menu-button/menu-button.ios.css +16 -4
  354. package/dist/collection/components/menu-button/menu-button.js +12 -9
  355. package/dist/collection/components/menu-button/menu-button.md.css +17 -5
  356. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  357. package/dist/collection/components/modal/modal.ios.css +14 -2
  358. package/dist/collection/components/modal/modal.js +12 -9
  359. package/dist/collection/components/modal/modal.md.css +14 -2
  360. package/dist/collection/components/nav/nav.css +7 -1
  361. package/dist/collection/components/nav/nav.js +11 -5
  362. package/dist/collection/components/nav-link/nav-link.js +5 -1
  363. package/dist/collection/components/note/note.ios.css +12 -0
  364. package/dist/collection/components/note/note.js +11 -8
  365. package/dist/collection/components/note/note.md.css +12 -0
  366. package/dist/collection/components/picker/picker.ios.css +15 -3
  367. package/dist/collection/components/picker/picker.js +8 -5
  368. package/dist/collection/components/picker/picker.md.css +15 -3
  369. package/dist/collection/components/picker-column/picker-column.css +8 -20
  370. package/dist/collection/components/picker-column/picker-column.js +18 -140
  371. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  372. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  373. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  374. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  375. package/dist/collection/components/picker-legacy/picker.js +7 -6
  376. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  377. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  378. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  379. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  380. package/dist/collection/components/popover/popover.ios.css +13 -1
  381. package/dist/collection/components/popover/popover.js +15 -12
  382. package/dist/collection/components/popover/popover.md.css +13 -1
  383. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  384. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  385. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  386. package/dist/collection/components/radio/radio.ios.css +20 -3
  387. package/dist/collection/components/radio/radio.js +12 -9
  388. package/dist/collection/components/radio/radio.md.css +20 -3
  389. package/dist/collection/components/radio-group/radio-group.js +9 -3
  390. package/dist/collection/components/range/range.ios.css +12 -0
  391. package/dist/collection/components/range/range.js +12 -9
  392. package/dist/collection/components/range/range.md.css +12 -0
  393. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  394. package/dist/collection/components/refresher/refresher.js +11 -8
  395. package/dist/collection/components/refresher/refresher.md.css +15 -2
  396. package/dist/collection/components/refresher-content/refresher-content.js +12 -7
  397. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  398. package/dist/collection/components/reorder/reorder.js +28 -6
  399. package/dist/collection/components/reorder/reorder.md.css +6 -0
  400. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  401. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  402. package/dist/collection/components/ripple-effect/ripple-effect.css +7 -1
  403. package/dist/collection/components/ripple-effect/ripple-effect.js +8 -4
  404. package/dist/collection/components/route/route.js +4 -0
  405. package/dist/collection/components/router/router.js +4 -0
  406. package/dist/collection/components/router-link/router-link.css +8 -2
  407. package/dist/collection/components/router-link/router-link.js +9 -5
  408. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  409. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  410. package/dist/collection/components/row/row.css +12 -0
  411. package/dist/collection/components/row/row.js +9 -2
  412. package/dist/collection/components/searchbar/searchbar.ios.css +14 -2
  413. package/dist/collection/components/searchbar/searchbar.js +79 -24
  414. package/dist/collection/components/searchbar/searchbar.md.css +14 -2
  415. package/dist/collection/components/segment/segment.ios.css +18 -0
  416. package/dist/collection/components/segment/segment.js +11 -8
  417. package/dist/collection/components/segment/segment.md.css +18 -0
  418. package/dist/collection/components/segment-button/segment-button.ios.css +16 -4
  419. package/dist/collection/components/segment-button/segment-button.js +12 -9
  420. package/dist/collection/components/segment-button/segment-button.md.css +18 -6
  421. package/dist/collection/components/select/select.ios.css +22 -3
  422. package/dist/collection/components/select/select.js +72 -28
  423. package/dist/collection/components/select/select.md.css +38 -5
  424. package/dist/collection/components/select-option/select-option.js +9 -2
  425. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  426. package/dist/collection/components/select-popover/select-popover.js +12 -4
  427. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  428. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  429. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  430. package/dist/collection/components/spinner/spinner.css +6 -0
  431. package/dist/collection/components/spinner/spinner.js +10 -6
  432. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  433. package/dist/collection/components/split-pane/split-pane.js +14 -8
  434. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  435. package/dist/collection/components/tab/tab.js +6 -2
  436. package/dist/collection/components/tab-bar/tab-bar.ionic.css +151 -0
  437. package/dist/collection/components/tab-bar/tab-bar.ios.css +18 -0
  438. package/dist/collection/components/tab-bar/tab-bar.js +12 -9
  439. package/dist/collection/components/tab-bar/tab-bar.md.css +18 -0
  440. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +34 -0
  441. package/dist/collection/components/tab-button/tab-button.ionic.css +258 -0
  442. package/dist/collection/components/tab-button/tab-button.ios.css +15 -3
  443. package/dist/collection/components/tab-button/tab-button.js +11 -8
  444. package/dist/collection/components/tab-button/tab-button.md.css +15 -3
  445. package/dist/collection/components/tabs/tabs.css +7 -1
  446. package/dist/collection/components/tabs/tabs.js +4 -1
  447. package/dist/collection/components/text/text.css +6 -0
  448. package/dist/collection/components/text/text.js +7 -6
  449. package/dist/collection/components/textarea/textarea.ios.css +26 -1
  450. package/dist/collection/components/textarea/textarea.js +15 -12
  451. package/dist/collection/components/textarea/textarea.md.css +39 -2
  452. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  453. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  454. package/dist/collection/components/title/title.ios.css +6 -0
  455. package/dist/collection/components/title/title.js +13 -7
  456. package/dist/collection/components/title/title.md.css +6 -0
  457. package/dist/collection/components/toast/animations/utils.js +1 -1
  458. package/dist/collection/components/toast/toast.ios.css +12 -0
  459. package/dist/collection/components/toast/toast.js +15 -11
  460. package/dist/collection/components/toast/toast.md.css +12 -0
  461. package/dist/collection/components/toggle/toggle.ios.css +20 -3
  462. package/dist/collection/components/toggle/toggle.js +46 -18
  463. package/dist/collection/components/toggle/toggle.md.css +20 -3
  464. package/dist/collection/components/toolbar/toolbar.ios.css +14 -2
  465. package/dist/collection/components/toolbar/toolbar.js +13 -10
  466. package/dist/collection/components/toolbar/toolbar.md.css +14 -2
  467. package/dist/collection/css/test/link/basic/link.e2e.js +35 -0
  468. package/dist/collection/css/test/{a11y → typography/a11y}/typography.e2e.js +1 -1
  469. package/dist/collection/css/test/typography/basic/typography.e2e.js +90 -0
  470. package/dist/collection/global/ionic-global.js +161 -13
  471. package/dist/collection/global/test/ionic-global.spec.js +109 -0
  472. package/dist/collection/themes/{test → native/test}/colors/theme.e2e.js +1 -1
  473. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  474. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  475. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  476. package/dist/collection/utils/test/playwright/generator.js +48 -23
  477. package/dist/collection/utils/test/playwright/page/utils/goto.js +13 -4
  478. package/dist/collection/utils/test/playwright/page/utils/set-content.js +13 -1
  479. package/dist/collection/utils/transition/ios.transition.js +1 -0
  480. package/dist/docs.json +3994 -276
  481. package/dist/esm/{app-globals-b8e5e7fa.js → app-globals-6b65a082.js} +1 -1
  482. package/dist/esm/{button-active-a411da52.js → button-active-b3a77616.js} +1 -1
  483. package/dist/esm/{data-ae11fd43.js → data-e73f49e1.js} +4 -4
  484. package/dist/esm/{hardware-back-button-329c81fd.js → hardware-back-button-7e31a4ae.js} +2 -2
  485. package/dist/esm/{index-5cc724f3.js → index-55408470.js} +1 -1
  486. package/dist/esm/{index-10916999.js → index-8137ebe0.js} +9 -8
  487. package/dist/esm/{index-6e4709ff.js → index-a19e0b91.js} +1 -1
  488. package/dist/esm/{index-f1f5de26.js → index-bf81c266.js} +3 -3
  489. package/dist/esm/index.js +8 -9
  490. package/dist/esm/{input-shims-4530285e.js → input-shims-8453cb67.js} +3 -2
  491. package/dist/esm/{input.utils-09c71bc7.js → input.utils-8bf2cdac.js} +1 -1
  492. package/dist/esm/ion-accordion_2.entry.js +38 -14
  493. package/dist/esm/ion-action-sheet.entry.js +17 -13
  494. package/dist/esm/ion-alert.entry.js +18 -15
  495. package/dist/esm/ion-app_8.entry.js +78 -58
  496. package/dist/esm/ion-avatar_3.entry.js +22 -8
  497. package/dist/esm/ion-back-button.entry.js +15 -11
  498. package/dist/esm/ion-backdrop.entry.js +11 -7
  499. package/dist/esm/ion-breadcrumb_2.entry.js +47 -15
  500. package/dist/esm/ion-button_2.entry.js +28 -11
  501. package/dist/esm/ion-card_5.entry.js +50 -26
  502. package/dist/esm/ion-checkbox.entry.js +24 -13
  503. package/dist/esm/ion-chip.entry.js +15 -6
  504. package/dist/esm/ion-col_3.entry.js +14 -11
  505. package/dist/esm/ion-datetime-button.entry.js +11 -8
  506. package/dist/esm/ion-datetime_3.entry.js +99 -44
  507. package/dist/esm/ion-fab_3.entry.js +40 -19
  508. package/dist/esm/ion-img.entry.js +6 -3
  509. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -14
  510. package/dist/esm/ion-input-password-toggle.entry.js +40 -10
  511. package/dist/esm/ion-input.entry.js +38 -15
  512. package/dist/esm/ion-item-option_3.entry.js +24 -17
  513. package/dist/esm/ion-item_8.entry.js +85 -40
  514. package/dist/esm/ion-loading.entry.js +15 -12
  515. package/dist/esm/ion-menu_3.entry.js +30 -23
  516. package/dist/esm/ion-modal.entry.js +17 -14
  517. package/dist/esm/ion-nav_2.entry.js +10 -8
  518. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  519. package/dist/esm/ion-picker-column.entry.js +18 -136
  520. package/dist/esm/ion-picker.entry.js +9 -5
  521. package/dist/esm/ion-popover.entry.js +15 -12
  522. package/dist/esm/ion-progress-bar.entry.js +11 -7
  523. package/dist/esm/ion-radio_2.entry.js +17 -11
  524. package/dist/esm/ion-range.entry.js +12 -9
  525. package/dist/esm/ion-refresher_2.entry.js +19 -15
  526. package/dist/esm/ion-reorder_2.entry.js +29 -10
  527. package/dist/esm/ion-ripple-effect.entry.js +6 -6
  528. package/dist/esm/ion-route_4.entry.js +7 -7
  529. package/dist/esm/ion-searchbar.entry.js +73 -16
  530. package/dist/esm/ion-segment_2.entry.js +21 -13
  531. package/dist/esm/ion-select_3.entry.js +83 -30
  532. package/dist/esm/ion-spinner.entry.js +7 -7
  533. package/dist/esm/ion-split-pane.entry.js +13 -9
  534. package/dist/esm/ion-tab-bar_2.entry.js +20 -12
  535. package/dist/esm/ion-tab_2.entry.js +5 -5
  536. package/dist/esm/ion-text.entry.js +6 -6
  537. package/dist/esm/ion-textarea.entry.js +15 -12
  538. package/dist/esm/ion-toast.entry.js +16 -12
  539. package/dist/esm/ion-toggle.entry.js +47 -18
  540. package/dist/esm/ionic-global-ccd91ba4.js +401 -0
  541. package/dist/esm/ionic.js +5 -5
  542. package/dist/esm/{ios.transition-8e181a7e.js → ios.transition-b169aa46.js} +3 -2
  543. package/dist/esm/loader.js +5 -5
  544. package/dist/esm/{md.transition-f1c3c737.js → md.transition-ecde7aa6.js} +2 -2
  545. package/dist/esm/{overlays-9472c98b.js → overlays-7125a1f5.js} +2 -3
  546. package/dist/esm/{status-tap-39da9160.js → status-tap-6bfbede6.js} +3 -3
  547. package/dist/esm-es5/app-globals-6b65a082.js +4 -0
  548. package/dist/esm-es5/{button-active-a411da52.js → button-active-b3a77616.js} +1 -1
  549. package/dist/esm-es5/data-e73f49e1.js +4 -0
  550. package/dist/esm-es5/{hardware-back-button-329c81fd.js → hardware-back-button-7e31a4ae.js} +1 -1
  551. package/dist/esm-es5/index-55408470.js +4 -0
  552. package/dist/esm-es5/index-8137ebe0.js +4 -0
  553. package/dist/esm-es5/{index-6e4709ff.js → index-a19e0b91.js} +1 -1
  554. package/dist/esm-es5/{index-f1f5de26.js → index-bf81c266.js} +1 -1
  555. package/dist/esm-es5/index.js +1 -1
  556. package/dist/esm-es5/input-shims-8453cb67.js +4 -0
  557. package/dist/esm-es5/input.utils-8bf2cdac.js +4 -0
  558. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  559. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  560. package/dist/esm-es5/ion-alert.entry.js +1 -1
  561. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  562. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  563. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  564. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  565. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  566. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  567. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  568. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  569. package/dist/esm-es5/ion-chip.entry.js +1 -1
  570. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  571. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  572. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  573. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  574. package/dist/esm-es5/ion-img.entry.js +1 -1
  575. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  576. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  577. package/dist/esm-es5/ion-input.entry.js +1 -1
  578. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  579. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  580. package/dist/esm-es5/ion-loading.entry.js +1 -1
  581. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  582. package/dist/esm-es5/ion-modal.entry.js +1 -1
  583. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  584. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  585. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  586. package/dist/esm-es5/ion-picker.entry.js +1 -1
  587. package/dist/esm-es5/ion-popover.entry.js +1 -1
  588. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  589. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  590. package/dist/esm-es5/ion-range.entry.js +1 -1
  591. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  592. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  593. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  594. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  595. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  596. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  597. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  598. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  599. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  600. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  601. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  602. package/dist/esm-es5/ion-text.entry.js +1 -1
  603. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  604. package/dist/esm-es5/ion-toast.entry.js +1 -1
  605. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  606. package/dist/esm-es5/ionic-global-ccd91ba4.js +4 -0
  607. package/dist/esm-es5/ionic.js +1 -1
  608. package/dist/esm-es5/ios.transition-b169aa46.js +4 -0
  609. package/dist/esm-es5/loader.js +1 -1
  610. package/dist/esm-es5/md.transition-ecde7aa6.js +4 -0
  611. package/dist/esm-es5/overlays-7125a1f5.js +4 -0
  612. package/dist/esm-es5/status-tap-6bfbede6.js +4 -0
  613. package/dist/html.html-data.json +1944 -88
  614. package/dist/ionic/index.esm.js +1 -1
  615. package/dist/ionic/ionic.esm.js +1 -1
  616. package/dist/ionic/ionic.js +1 -1
  617. package/dist/ionic/p-00e85b08.js +4 -0
  618. package/dist/ionic/{p-43505ff8.system.entry.js → p-047dbdb1.system.entry.js} +1 -1
  619. package/dist/ionic/p-053d229a.system.js +4 -0
  620. package/dist/ionic/p-053d3fb1.entry.js +4 -0
  621. package/dist/ionic/{p-4dd82d9d.system.js → p-077ebefa.system.js} +1 -1
  622. package/dist/ionic/p-0817ca20.system.js +4 -0
  623. package/dist/ionic/{p-3d6e882f.system.entry.js → p-09e29b0f.system.entry.js} +1 -1
  624. package/dist/ionic/{p-58ea73f7.system.entry.js → p-0a567068.system.entry.js} +1 -1
  625. package/dist/ionic/p-0a5bb1da.entry.js +4 -0
  626. package/dist/ionic/p-0a60889a.system.entry.js +4 -0
  627. package/dist/ionic/p-0b803b36.system.entry.js +4 -0
  628. package/dist/ionic/p-0cbb7a38.entry.js +4 -0
  629. package/dist/ionic/p-0d959052.entry.js +4 -0
  630. package/dist/ionic/p-0ff8a4e7.entry.js +4 -0
  631. package/dist/ionic/p-1378644b.system.entry.js +4 -0
  632. package/dist/ionic/{p-17978fce.entry.js → p-13aa82f5.entry.js} +1 -1
  633. package/dist/ionic/p-14bc1127.entry.js +4 -0
  634. package/dist/ionic/p-15714c69.system.entry.js +4 -0
  635. package/dist/ionic/p-15c6083b.system.entry.js +4 -0
  636. package/dist/ionic/p-16c337e2.entry.js +4 -0
  637. package/dist/ionic/{p-3040730e.js → p-17f4c151.js} +1 -1
  638. package/dist/ionic/p-1ad4072e.entry.js +4 -0
  639. package/dist/ionic/{p-d60342e3.js → p-1b039c87.js} +1 -1
  640. package/dist/ionic/{p-0c06e09b.system.js → p-1d608fb3.system.js} +1 -1
  641. package/dist/ionic/p-1fcfcb94.js +4 -0
  642. package/dist/ionic/{p-71215c1d.system.js → p-2172efcb.system.js} +1 -1
  643. package/dist/ionic/p-21ee6d54.system.entry.js +4 -0
  644. package/dist/ionic/p-26a955b2.system.entry.js +4 -0
  645. package/dist/ionic/p-2bb19623.system.entry.js +4 -0
  646. package/dist/ionic/p-2e4abd54.entry.js +4 -0
  647. package/dist/ionic/p-2f0454a4.system.entry.js +4 -0
  648. package/dist/ionic/{p-fda4872f.entry.js → p-34a79000.entry.js} +1 -1
  649. package/dist/ionic/p-3dd3cb26.system.entry.js +4 -0
  650. package/dist/ionic/p-3f073322.system.js +4 -0
  651. package/dist/ionic/p-41444ceb.entry.js +4 -0
  652. package/dist/ionic/p-42a60fc6.entry.js +4 -0
  653. package/dist/ionic/{p-96cc4814.js → p-4c463790.js} +1 -1
  654. package/dist/ionic/p-4f728192.system.entry.js +4 -0
  655. package/dist/ionic/p-507bf356.system.entry.js +4 -0
  656. package/dist/ionic/p-510c8716.entry.js +4 -0
  657. package/dist/ionic/p-541e2e0a.system.js +4 -0
  658. package/dist/ionic/p-55882fc4.system.entry.js +4 -0
  659. package/dist/ionic/p-560b4cfa.entry.js +4 -0
  660. package/dist/ionic/p-594923b2.entry.js +4 -0
  661. package/dist/ionic/p-5bef1e83.js +4 -0
  662. package/dist/ionic/p-5cbdd9e3.entry.js +4 -0
  663. package/dist/ionic/p-65fe9b29.system.entry.js +4 -0
  664. package/dist/ionic/p-6bc5f5db.entry.js +4 -0
  665. package/dist/ionic/p-6bd8a3f8.system.entry.js +4 -0
  666. package/dist/ionic/p-6bee0fd7.system.entry.js +4 -0
  667. package/dist/ionic/p-6d2aa487.entry.js +4 -0
  668. package/dist/ionic/p-6d9b2c33.system.entry.js +4 -0
  669. package/dist/ionic/p-6eb11291.entry.js +4 -0
  670. package/dist/ionic/p-73e3a38e.system.js +4 -0
  671. package/dist/ionic/p-748469e5.entry.js +4 -0
  672. package/dist/ionic/p-7872a01f.system.entry.js +4 -0
  673. package/dist/ionic/p-79119dca.system.entry.js +4 -0
  674. package/dist/ionic/p-7b053f42.system.entry.js +4 -0
  675. package/dist/ionic/p-7c319cce.entry.js +4 -0
  676. package/dist/ionic/p-809dc691.system.js +4 -0
  677. package/dist/ionic/p-8304afaa.js +4 -0
  678. package/dist/ionic/p-84dfeae5.entry.js +4 -0
  679. package/dist/ionic/p-864309ff.entry.js +4 -0
  680. package/dist/ionic/p-899dfb1b.entry.js +4 -0
  681. package/dist/ionic/p-8c11da86.entry.js +4 -0
  682. package/dist/ionic/p-8f03847e.system.entry.js +4 -0
  683. package/dist/ionic/p-9143716d.js +4 -0
  684. package/dist/ionic/p-91e0fae3.system.entry.js +4 -0
  685. package/dist/ionic/p-925c3274.system.entry.js +4 -0
  686. package/dist/ionic/p-9486ad09.entry.js +4 -0
  687. package/dist/ionic/p-95382987.entry.js +4 -0
  688. package/dist/ionic/p-958392b3.system.entry.js +4 -0
  689. package/dist/ionic/p-9a3a8dae.system.entry.js +4 -0
  690. package/dist/ionic/p-9ade14d0.entry.js +4 -0
  691. package/dist/ionic/p-9b13de79.js +4 -0
  692. package/dist/ionic/p-9be416f1.entry.js +4 -0
  693. package/dist/ionic/p-9c452996.entry.js +4 -0
  694. package/dist/ionic/p-9e3fc5c4.entry.js +4 -0
  695. package/dist/ionic/p-9e81053f.system.entry.js +4 -0
  696. package/dist/ionic/p-9eda6c5d.system.entry.js +4 -0
  697. package/dist/ionic/p-a16903c4.system.entry.js +4 -0
  698. package/dist/ionic/p-a35191f4.entry.js +4 -0
  699. package/dist/ionic/{p-c222f76a.js → p-a3e86f85.js} +1 -1
  700. package/dist/ionic/p-a4d1b5cc.js +4 -0
  701. package/dist/ionic/p-a5223322.entry.js +4 -0
  702. package/dist/ionic/p-a6fbf92e.system.entry.js +4 -0
  703. package/dist/ionic/p-a7727720.system.entry.js +4 -0
  704. package/dist/ionic/p-ac8bf1dc.system.entry.js +4 -0
  705. package/dist/ionic/p-ae5ef403.js +4 -0
  706. package/dist/ionic/p-b036467b.system.entry.js +4 -0
  707. package/dist/ionic/p-b18961ff.entry.js +4 -0
  708. package/dist/ionic/p-b1abddbc.system.entry.js +4 -0
  709. package/dist/ionic/{p-c1d1d004.system.entry.js → p-b2f88f88.system.entry.js} +1 -1
  710. package/dist/ionic/p-b61a2062.js +4 -0
  711. package/dist/ionic/p-b68096c3.js +4 -0
  712. package/dist/ionic/p-b96df23f.system.entry.js +4 -0
  713. package/dist/ionic/p-bc302e69.entry.js +4 -0
  714. package/dist/ionic/p-bfdfa197.system.entry.js +4 -0
  715. package/dist/ionic/p-c1373383.entry.js +4 -0
  716. package/dist/ionic/{p-f687573e.system.js → p-c3db3abe.system.js} +1 -1
  717. package/dist/ionic/p-c46c441e.system.entry.js +4 -0
  718. package/dist/ionic/p-c78743ee.entry.js +4 -0
  719. package/dist/ionic/p-cb1a9f57.system.js +4 -0
  720. package/dist/ionic/p-cb40aff5.entry.js +4 -0
  721. package/dist/ionic/p-ccc12f7c.system.js +4 -0
  722. package/dist/ionic/p-cda2e303.system.entry.js +4 -0
  723. package/dist/ionic/p-cdc68278.system.entry.js +4 -0
  724. package/dist/ionic/p-d24eee88.entry.js +4 -0
  725. package/dist/ionic/p-d26ef51c.system.js +4 -0
  726. package/dist/ionic/p-d4755af4.entry.js +4 -0
  727. package/dist/ionic/p-d4fe6131.entry.js +4 -0
  728. package/dist/ionic/p-da4bd7e1.system.entry.js +4 -0
  729. package/dist/ionic/p-da907c11.entry.js +4 -0
  730. package/dist/ionic/p-dba9dc96.entry.js +4 -0
  731. package/dist/ionic/p-dbc7e0bc.system.entry.js +4 -0
  732. package/dist/ionic/p-dde515cb.system.entry.js +4 -0
  733. package/dist/ionic/{p-04070329.system.entry.js → p-dfe87e18.system.entry.js} +1 -1
  734. package/dist/ionic/p-eb0c6a8b.system.js +4 -0
  735. package/dist/ionic/p-ec6b6448.entry.js +4 -0
  736. package/dist/ionic/{p-74a9cafe.system.js → p-ed5175cf.system.js} +2 -2
  737. package/dist/ionic/p-eed178ea.system.js +4 -0
  738. package/dist/ionic/p-f5003c30.entry.js +4 -0
  739. package/dist/ionic/{p-99daf8b7.entry.js → p-f8f6cf70.entry.js} +1 -1
  740. package/dist/ionic/p-f91ea85e.system.entry.js +4 -0
  741. package/dist/ionic/p-f9fc539a.system.entry.js +4 -0
  742. package/dist/ionic/{p-9ad82dba.js → p-fc0aa455.js} +1 -1
  743. package/dist/ionic/{p-d98c0112.entry.js → p-fdf42961.entry.js} +1 -1
  744. package/dist/ionic/p-fdfb6054.system.js +4 -0
  745. package/dist/types/components/accordion/accordion.d.ts +13 -2
  746. package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
  747. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  748. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  749. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  750. package/dist/types/components/alert/alert.d.ts +3 -2
  751. package/dist/types/components/app/app.d.ts +4 -0
  752. package/dist/types/components/avatar/avatar.d.ts +4 -0
  753. package/dist/types/components/back-button/back-button.d.ts +2 -1
  754. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  755. package/dist/types/components/badge/badge.d.ts +2 -1
  756. package/dist/types/components/breadcrumb/breadcrumb.d.ts +22 -1
  757. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  758. package/dist/types/components/button/button.d.ts +8 -3
  759. package/dist/types/components/buttons/buttons.d.ts +5 -1
  760. package/dist/types/components/card/card.d.ts +6 -1
  761. package/dist/types/components/card-content/card-content.d.ts +2 -1
  762. package/dist/types/components/card-header/card-header.d.ts +3 -2
  763. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  764. package/dist/types/components/card-title/card-title.d.ts +2 -1
  765. package/dist/types/components/checkbox/checkbox.d.ts +10 -1
  766. package/dist/types/components/chip/chip.d.ts +6 -1
  767. package/dist/types/components/col/col.d.ts +4 -0
  768. package/dist/types/components/content/content.d.ts +11 -0
  769. package/dist/types/components/datetime/datetime.d.ts +42 -1
  770. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  771. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  772. package/dist/types/components/fab/fab.d.ts +4 -0
  773. package/dist/types/components/fab-button/fab-button.d.ts +14 -3
  774. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  775. package/dist/types/components/footer/footer.d.ts +4 -3
  776. package/dist/types/components/grid/grid.d.ts +4 -0
  777. package/dist/types/components/header/header.d.ts +4 -3
  778. package/dist/types/components/img/img.d.ts +3 -0
  779. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  780. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  781. package/dist/types/components/input/input.d.ts +17 -2
  782. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +20 -0
  783. package/dist/types/components/item/item.d.ts +15 -4
  784. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  785. package/dist/types/components/item-group/item-group.d.ts +4 -0
  786. package/dist/types/components/item-option/item-option.d.ts +2 -1
  787. package/dist/types/components/item-options/item-options.d.ts +4 -0
  788. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  789. package/dist/types/components/label/label.d.ts +2 -1
  790. package/dist/types/components/list/list.d.ts +2 -1
  791. package/dist/types/components/list-header/list-header.d.ts +2 -1
  792. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  793. package/dist/types/components/loading/loading.d.ts +3 -2
  794. package/dist/types/components/menu/menu.d.ts +3 -0
  795. package/dist/types/components/menu-button/menu-button.d.ts +2 -1
  796. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  797. package/dist/types/components/modal/modal-interface.d.ts +3 -7
  798. package/dist/types/components/modal/modal.d.ts +2 -1
  799. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  800. package/dist/types/components/nav/nav.d.ts +5 -1
  801. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  802. package/dist/types/components/note/note.d.ts +2 -1
  803. package/dist/types/components/picker/picker.d.ts +2 -1
  804. package/dist/types/components/picker-column/picker-column.d.ts +3 -34
  805. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  806. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  807. package/dist/types/components/popover/popover-interface.d.ts +3 -7
  808. package/dist/types/components/popover/popover.d.ts +6 -5
  809. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  810. package/dist/types/components/radio/radio.d.ts +2 -1
  811. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  812. package/dist/types/components/range/range.d.ts +2 -1
  813. package/dist/types/components/refresher/refresher.d.ts +2 -1
  814. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  815. package/dist/types/components/reorder/reorder.d.ts +13 -0
  816. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  817. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  818. package/dist/types/components/route/route.d.ts +4 -0
  819. package/dist/types/components/router/router.d.ts +4 -0
  820. package/dist/types/components/router-link/router-link.d.ts +4 -0
  821. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  822. package/dist/types/components/row/row.d.ts +4 -0
  823. package/dist/types/components/searchbar/searchbar.d.ts +39 -8
  824. package/dist/types/components/segment/segment.d.ts +2 -1
  825. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  826. package/dist/types/components/select/select.d.ts +26 -5
  827. package/dist/types/components/select-option/select-option.d.ts +4 -0
  828. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  829. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  830. package/dist/types/components/spinner/spinner.d.ts +4 -0
  831. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  832. package/dist/types/components/tab/tab.d.ts +4 -0
  833. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -2
  834. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  835. package/dist/types/components/tabs/tabs.d.ts +3 -0
  836. package/dist/types/components/text/text.d.ts +2 -1
  837. package/dist/types/components/textarea/textarea.d.ts +3 -2
  838. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  839. package/dist/types/components/title/title.d.ts +4 -0
  840. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  841. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  842. package/dist/types/components/toast/toast.d.ts +3 -2
  843. package/dist/types/components/toggle/toggle.d.ts +22 -1
  844. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  845. package/dist/types/components.d.ts +1240 -168
  846. package/dist/types/global/ionic-global.d.ts +25 -2
  847. package/dist/types/interface.d.ts +3 -0
  848. package/dist/types/utils/config.d.ts +99 -2
  849. package/dist/types/utils/overlays-interface.d.ts +31 -1
  850. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  851. package/hydrate/index.js +1594 -751
  852. package/package.json +7 -4
  853. package/components/index9.js +0 -167
  854. package/dist/cjs/index-5915f9b3.js +0 -38
  855. package/dist/cjs/ionic-global-1adf9bc4.js +0 -230
  856. package/dist/collection/components/button/test/round/button.e2e.js +0 -52
  857. package/dist/collection/components/picker-column/test/picker-column.spec.js +0 -103
  858. package/dist/esm/index-9b0d46f4.js +0 -34
  859. package/dist/esm/ionic-global-c4e0c089.js +0 -224
  860. package/dist/esm-es5/app-globals-b8e5e7fa.js +0 -4
  861. package/dist/esm-es5/data-ae11fd43.js +0 -4
  862. package/dist/esm-es5/index-10916999.js +0 -4
  863. package/dist/esm-es5/index-5cc724f3.js +0 -4
  864. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  865. package/dist/esm-es5/input-shims-4530285e.js +0 -4
  866. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  867. package/dist/esm-es5/ionic-global-c4e0c089.js +0 -4
  868. package/dist/esm-es5/ios.transition-8e181a7e.js +0 -4
  869. package/dist/esm-es5/md.transition-f1c3c737.js +0 -4
  870. package/dist/esm-es5/overlays-9472c98b.js +0 -4
  871. package/dist/esm-es5/status-tap-39da9160.js +0 -4
  872. package/dist/ionic/p-012cc611.system.entry.js +0 -4
  873. package/dist/ionic/p-0307a5ce.entry.js +0 -4
  874. package/dist/ionic/p-06e58c4e.js +0 -4
  875. package/dist/ionic/p-06fee233.js +0 -4
  876. package/dist/ionic/p-07ae133d.system.entry.js +0 -4
  877. package/dist/ionic/p-0aa4682e.entry.js +0 -4
  878. package/dist/ionic/p-0bbb6edf.system.entry.js +0 -4
  879. package/dist/ionic/p-0ebb1fe7.system.entry.js +0 -4
  880. package/dist/ionic/p-0f2d99a6.entry.js +0 -4
  881. package/dist/ionic/p-100bedc4.system.entry.js +0 -4
  882. package/dist/ionic/p-105f7d62.system.entry.js +0 -4
  883. package/dist/ionic/p-155f1939.entry.js +0 -4
  884. package/dist/ionic/p-1672c4fd.system.entry.js +0 -4
  885. package/dist/ionic/p-18057853.entry.js +0 -4
  886. package/dist/ionic/p-1c451f69.entry.js +0 -4
  887. package/dist/ionic/p-1cff9cad.entry.js +0 -4
  888. package/dist/ionic/p-1f9cdee2.entry.js +0 -4
  889. package/dist/ionic/p-25575222.system.js +0 -4
  890. package/dist/ionic/p-266fc56e.system.js +0 -4
  891. package/dist/ionic/p-2e12bda2.entry.js +0 -4
  892. package/dist/ionic/p-2f6cedaf.system.entry.js +0 -4
  893. package/dist/ionic/p-352f7037.system.entry.js +0 -4
  894. package/dist/ionic/p-35722bba.system.entry.js +0 -4
  895. package/dist/ionic/p-35b9e842.entry.js +0 -4
  896. package/dist/ionic/p-37a63e79.system.entry.js +0 -4
  897. package/dist/ionic/p-3c70b01b.entry.js +0 -4
  898. package/dist/ionic/p-3e3b34f7.system.entry.js +0 -4
  899. package/dist/ionic/p-3f70bfba.entry.js +0 -4
  900. package/dist/ionic/p-4196b2d1.system.entry.js +0 -4
  901. package/dist/ionic/p-4429fc97.system.entry.js +0 -4
  902. package/dist/ionic/p-46111310.js +0 -4
  903. package/dist/ionic/p-46f407f0.system.js +0 -4
  904. package/dist/ionic/p-49b6fee0.system.entry.js +0 -4
  905. package/dist/ionic/p-4a615fea.entry.js +0 -4
  906. package/dist/ionic/p-5033128d.system.js +0 -4
  907. package/dist/ionic/p-510578f3.system.entry.js +0 -4
  908. package/dist/ionic/p-51b68ec9.system.entry.js +0 -4
  909. package/dist/ionic/p-51ff648c.entry.js +0 -4
  910. package/dist/ionic/p-5270f8e8.entry.js +0 -4
  911. package/dist/ionic/p-546433d2.js +0 -4
  912. package/dist/ionic/p-54f76ced.js +0 -4
  913. package/dist/ionic/p-56c3b69c.entry.js +0 -4
  914. package/dist/ionic/p-596e0cf8.system.entry.js +0 -4
  915. package/dist/ionic/p-5ae49f12.entry.js +0 -4
  916. package/dist/ionic/p-5b1273f4.system.entry.js +0 -4
  917. package/dist/ionic/p-5d3f6707.entry.js +0 -4
  918. package/dist/ionic/p-5da04d11.entry.js +0 -4
  919. package/dist/ionic/p-5e7c32e8.system.entry.js +0 -4
  920. package/dist/ionic/p-5fa8587e.system.entry.js +0 -4
  921. package/dist/ionic/p-6771c0a9.system.entry.js +0 -4
  922. package/dist/ionic/p-68a1e274.system.entry.js +0 -4
  923. package/dist/ionic/p-6994c97a.js +0 -4
  924. package/dist/ionic/p-69bc14fd.entry.js +0 -4
  925. package/dist/ionic/p-6a7eac5a.js +0 -4
  926. package/dist/ionic/p-6f4db5ce.system.entry.js +0 -4
  927. package/dist/ionic/p-71688099.system.entry.js +0 -4
  928. package/dist/ionic/p-716ab5f8.system.entry.js +0 -4
  929. package/dist/ionic/p-75cddcc9.js +0 -4
  930. package/dist/ionic/p-7d9eefb3.system.js +0 -4
  931. package/dist/ionic/p-7fc505bf.entry.js +0 -4
  932. package/dist/ionic/p-83321ee8.entry.js +0 -4
  933. package/dist/ionic/p-83b070b7.entry.js +0 -4
  934. package/dist/ionic/p-88cff52d.entry.js +0 -4
  935. package/dist/ionic/p-896111fa.entry.js +0 -4
  936. package/dist/ionic/p-89b59bd7.entry.js +0 -4
  937. package/dist/ionic/p-8bd567ba.system.entry.js +0 -4
  938. package/dist/ionic/p-8e9ac22d.entry.js +0 -4
  939. package/dist/ionic/p-9540561f.entry.js +0 -4
  940. package/dist/ionic/p-9958874b.system.entry.js +0 -4
  941. package/dist/ionic/p-9d7fc908.system.js +0 -4
  942. package/dist/ionic/p-9ea607bd.system.js +0 -4
  943. package/dist/ionic/p-a1b4e619.system.entry.js +0 -4
  944. package/dist/ionic/p-a7ba2dcc.system.js +0 -4
  945. package/dist/ionic/p-a8f02173.system.js +0 -4
  946. package/dist/ionic/p-aa110ca0.system.entry.js +0 -4
  947. package/dist/ionic/p-aa682cb9.system.entry.js +0 -4
  948. package/dist/ionic/p-ab85debb.entry.js +0 -4
  949. package/dist/ionic/p-ac4e2a74.system.entry.js +0 -4
  950. package/dist/ionic/p-ac9f44a8.system.entry.js +0 -4
  951. package/dist/ionic/p-bae993f0.entry.js +0 -4
  952. package/dist/ionic/p-c04d5a75.entry.js +0 -4
  953. package/dist/ionic/p-c41af68a.entry.js +0 -4
  954. package/dist/ionic/p-c478747f.system.js +0 -4
  955. package/dist/ionic/p-c80d05c9.js +0 -4
  956. package/dist/ionic/p-c8f2b769.entry.js +0 -4
  957. package/dist/ionic/p-c99ccdc9.entry.js +0 -4
  958. package/dist/ionic/p-c9c39c98.system.entry.js +0 -4
  959. package/dist/ionic/p-cae889f9.entry.js +0 -4
  960. package/dist/ionic/p-d2544865.system.js +0 -4
  961. package/dist/ionic/p-d45c59a6.system.entry.js +0 -4
  962. package/dist/ionic/p-d5f48185.system.entry.js +0 -4
  963. package/dist/ionic/p-d79542bd.system.js +0 -4
  964. package/dist/ionic/p-d8067ea4.system.entry.js +0 -4
  965. package/dist/ionic/p-d8f66669.entry.js +0 -4
  966. package/dist/ionic/p-dc1372e0.entry.js +0 -4
  967. package/dist/ionic/p-df48edd6.entry.js +0 -4
  968. package/dist/ionic/p-df6fa126.entry.js +0 -4
  969. package/dist/ionic/p-e8a0e731.entry.js +0 -4
  970. package/dist/ionic/p-e8c7fa1b.system.entry.js +0 -4
  971. package/dist/ionic/p-e955bf61.entry.js +0 -4
  972. package/dist/ionic/p-ea2c16b5.system.entry.js +0 -4
  973. package/dist/ionic/p-f0392d49.entry.js +0 -4
  974. package/dist/ionic/p-f4cb521c.js +0 -4
  975. package/dist/ionic/p-f818b01a.entry.js +0 -4
  976. package/dist/ionic/p-f94cbfe9.js +0 -4
  977. package/dist/ionic/p-fab4ecad.system.entry.js +0 -4
  978. package/dist/ionic/p-fb02eeec.system.entry.js +0 -4
  979. package/dist/ionic/p-fb97326f.system.entry.js +0 -4
  980. package/dist/ionic/p-fbd30ec7.entry.js +0 -4
  981. package/dist/ionic/p-ff2323ba.system.entry.js +0 -4
  982. 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,25 @@ 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
+ * The theme determines the visual appearance of the component.
340
+ */
341
+ "theme"?: "ios" | "md" | "ionic";
310
342
  }
311
343
  interface IonBackButton {
312
344
  /**
@@ -326,7 +358,7 @@ export namespace Components {
326
358
  */
327
359
  "icon"?: string | null;
328
360
  /**
329
- * The mode determines which platform styles to use.
361
+ * The mode determines the platform behaviors of the component.
330
362
  */
331
363
  "mode"?: "ios" | "md";
332
364
  /**
@@ -337,12 +369,20 @@ export namespace Components {
337
369
  * The text to display in the back button.
338
370
  */
339
371
  "text"?: string | null;
372
+ /**
373
+ * The theme determines the visual appearance of the component.
374
+ */
375
+ "theme"?: "ios" | "md" | "ionic";
340
376
  /**
341
377
  * The type of the button.
342
378
  */
343
379
  "type": 'submit' | 'reset' | 'button';
344
380
  }
345
381
  interface IonBackdrop {
382
+ /**
383
+ * The mode determines the platform behaviors of the component.
384
+ */
385
+ "mode"?: "ios" | "md";
346
386
  /**
347
387
  * If `true`, the backdrop will stop propagation on tap.
348
388
  */
@@ -351,6 +391,10 @@ export namespace Components {
351
391
  * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
352
392
  */
353
393
  "tappable": boolean;
394
+ /**
395
+ * The theme determines the visual appearance of the component.
396
+ */
397
+ "theme"?: "ios" | "md" | "ionic";
354
398
  /**
355
399
  * If `true`, the backdrop will be visible.
356
400
  */
@@ -362,9 +406,13 @@ export namespace Components {
362
406
  */
363
407
  "color"?: Color;
364
408
  /**
365
- * The mode determines which platform styles to use.
409
+ * The mode determines the platform behaviors of the component.
366
410
  */
367
411
  "mode"?: "ios" | "md";
412
+ /**
413
+ * The theme determines the visual appearance of the component.
414
+ */
415
+ "theme"?: "ios" | "md" | "ionic";
368
416
  }
369
417
  interface IonBreadcrumb {
370
418
  /**
@@ -390,7 +438,7 @@ export namespace Components {
390
438
  "href": string | undefined;
391
439
  "last": boolean;
392
440
  /**
393
- * The mode determines which platform styles to use.
441
+ * The mode determines the platform behaviors of the component.
394
442
  */
395
443
  "mode"?: "ios" | "md";
396
444
  /**
@@ -414,6 +462,10 @@ export namespace Components {
414
462
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
415
463
  */
416
464
  "target": string | undefined;
465
+ /**
466
+ * The theme determines the visual appearance of the component.
467
+ */
468
+ "theme"?: "ios" | "md" | "ionic";
417
469
  }
418
470
  interface IonBreadcrumbs {
419
471
  /**
@@ -433,9 +485,13 @@ export namespace Components {
433
485
  */
434
486
  "maxItems"?: number;
435
487
  /**
436
- * The mode determines which platform styles to use.
488
+ * The mode determines the platform behaviors of the component.
437
489
  */
438
490
  "mode"?: "ios" | "md";
491
+ /**
492
+ * The theme determines the visual appearance of the component.
493
+ */
494
+ "theme"?: "ios" | "md" | "ionic";
439
495
  }
440
496
  interface IonButton {
441
497
  /**
@@ -471,7 +527,7 @@ export namespace Components {
471
527
  */
472
528
  "href": string | undefined;
473
529
  /**
474
- * The mode determines which platform styles to use.
530
+ * The mode determines the platform behaviors of the component.
475
531
  */
476
532
  "mode"?: "ios" | "md";
477
533
  /**
@@ -489,11 +545,11 @@ export namespace Components {
489
545
  /**
490
546
  * Set to `"round"` for a button with more rounded corners.
491
547
  */
492
- "shape"?: 'round';
548
+ "shape"?: 'round' | 'rectangular';
493
549
  /**
494
550
  * 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
551
  */
496
- "size"?: 'small' | 'default' | 'large';
552
+ "size"?: 'xsmall' | 'small' | 'default' | 'large' | 'xlarge';
497
553
  /**
498
554
  * If `true`, activates a button with a heavier font weight.
499
555
  */
@@ -502,6 +558,10 @@ export namespace Components {
502
558
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
503
559
  */
504
560
  "target": string | undefined;
561
+ /**
562
+ * The theme determines the visual appearance of the component.
563
+ */
564
+ "theme"?: "ios" | "md" | "ionic";
505
565
  /**
506
566
  * The type of the button.
507
567
  */
@@ -509,9 +569,17 @@ export namespace Components {
509
569
  }
510
570
  interface IonButtons {
511
571
  /**
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)
572
+ * 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
573
  */
514
574
  "collapse": boolean;
575
+ /**
576
+ * The mode determines the platform behaviors of the component.
577
+ */
578
+ "mode"?: "ios" | "md";
579
+ /**
580
+ * The theme determines the visual appearance of the component.
581
+ */
582
+ "theme"?: "ios" | "md" | "ionic";
515
583
  }
516
584
  interface IonCard {
517
585
  /**
@@ -535,7 +603,7 @@ export namespace Components {
535
603
  */
536
604
  "href": string | undefined;
537
605
  /**
538
- * The mode determines which platform styles to use.
606
+ * The mode determines the platform behaviors of the component.
539
607
  */
540
608
  "mode"?: "ios" | "md";
541
609
  /**
@@ -550,10 +618,18 @@ export namespace Components {
550
618
  * When using a router, it specifies the transition direction when navigating to another page using `href`.
551
619
  */
552
620
  "routerDirection": RouterDirection;
621
+ /**
622
+ * Set to `"round"` for a card with more rounded corners, or `"rectangular"` for a card without rounded corners.
623
+ */
624
+ "shape"?: 'round' | 'rectangular';
553
625
  /**
554
626
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
555
627
  */
556
628
  "target": string | undefined;
629
+ /**
630
+ * The theme determines the visual appearance of the component.
631
+ */
632
+ "theme"?: "ios" | "md" | "ionic";
557
633
  /**
558
634
  * The type of the button. Only used when an `onclick` or `button` property is present.
559
635
  */
@@ -561,9 +637,13 @@ export namespace Components {
561
637
  }
562
638
  interface IonCardContent {
563
639
  /**
564
- * The mode determines which platform styles to use.
640
+ * The mode determines the platform behaviors of the component.
565
641
  */
566
642
  "mode"?: "ios" | "md";
643
+ /**
644
+ * The theme determines the visual appearance of the component.
645
+ */
646
+ "theme"?: "ios" | "md" | "ionic";
567
647
  }
568
648
  interface IonCardHeader {
569
649
  /**
@@ -571,11 +651,15 @@ export namespace Components {
571
651
  */
572
652
  "color"?: Color;
573
653
  /**
574
- * The mode determines which platform styles to use.
654
+ * The mode determines the platform behaviors of the component.
575
655
  */
576
656
  "mode"?: "ios" | "md";
577
657
  /**
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).
658
+ * The theme determines the visual appearance of the component.
659
+ */
660
+ "theme"?: "ios" | "md" | "ionic";
661
+ /**
662
+ * 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
663
  */
580
664
  "translucent": boolean;
581
665
  }
@@ -585,9 +669,13 @@ export namespace Components {
585
669
  */
586
670
  "color"?: Color;
587
671
  /**
588
- * The mode determines which platform styles to use.
672
+ * The mode determines the platform behaviors of the component.
589
673
  */
590
674
  "mode"?: "ios" | "md";
675
+ /**
676
+ * The theme determines the visual appearance of the component.
677
+ */
678
+ "theme"?: "ios" | "md" | "ionic";
591
679
  }
592
680
  interface IonCardTitle {
593
681
  /**
@@ -595,9 +683,13 @@ export namespace Components {
595
683
  */
596
684
  "color"?: Color;
597
685
  /**
598
- * The mode determines which platform styles to use.
686
+ * The mode determines the platform behaviors of the component.
599
687
  */
600
688
  "mode"?: "ios" | "md";
689
+ /**
690
+ * The theme determines the visual appearance of the component.
691
+ */
692
+ "theme"?: "ios" | "md" | "ionic";
601
693
  }
602
694
  interface IonCheckbox {
603
695
  /**
@@ -629,13 +721,25 @@ export namespace Components {
629
721
  */
630
722
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
631
723
  /**
632
- * The mode determines which platform styles to use.
724
+ * The mode determines the platform behaviors of the component.
633
725
  */
634
726
  "mode"?: "ios" | "md";
635
727
  /**
636
728
  * The name of the control, which is submitted with the form data.
637
729
  */
638
730
  "name": string;
731
+ /**
732
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
733
+ */
734
+ "shape"?: 'soft' | 'rectangular';
735
+ /**
736
+ * Set to `"small"` for a checkbox with less height and padding.
737
+ */
738
+ "size"?: 'small';
739
+ /**
740
+ * The theme determines the visual appearance of the component.
741
+ */
742
+ "theme"?: "ios" | "md" | "ionic";
639
743
  /**
640
744
  * 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
745
  */
@@ -651,15 +755,27 @@ export namespace Components {
651
755
  */
652
756
  "disabled": boolean;
653
757
  /**
654
- * The mode determines which platform styles to use.
758
+ * The mode determines the platform behaviors of the component.
655
759
  */
656
760
  "mode"?: "ios" | "md";
657
761
  /**
658
762
  * Display an outline style button.
659
763
  */
660
764
  "outline": boolean;
765
+ /**
766
+ * Define the Chip corner shape, when using the Ionic Theme.
767
+ */
768
+ "shape"?: 'round' | 'rectangular';
769
+ /**
770
+ * The theme determines the visual appearance of the component.
771
+ */
772
+ "theme"?: "ios" | "md" | "ionic";
661
773
  }
662
774
  interface IonCol {
775
+ /**
776
+ * The mode determines the platform behaviors of the component.
777
+ */
778
+ "mode"?: "ios" | "md";
663
779
  /**
664
780
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
665
781
  */
@@ -756,12 +872,20 @@ export namespace Components {
756
872
  * 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
873
  */
758
874
  "sizeXs"?: string;
875
+ /**
876
+ * The theme determines the visual appearance of the component.
877
+ */
878
+ "theme"?: "ios" | "md" | "ionic";
759
879
  }
760
880
  interface IonContent {
761
881
  /**
762
882
  * 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).
763
883
  */
764
884
  "color"?: Color;
885
+ /**
886
+ * Controls where the fixed content is placed relative to the main content in the DOM. This can be used to control the order in which fixed elements receive keyboard focus. For example, if a FAB in the fixed slot should receive keyboard focus before the main page content, set this property to `'before'`.
887
+ */
888
+ "fixedSlotPlacement": 'after' | 'before';
765
889
  /**
766
890
  * If `true` and the content does not cause an overflow scroll, the scroll interaction will cause a bounce. If the content exceeds the bounds of ionContent, nothing will change. Note, this does not disable the system bounce on iOS. That is an OS level setting.
767
891
  */
@@ -778,6 +902,10 @@ export namespace Components {
778
902
  * 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.
779
903
  */
780
904
  "getScrollElement": () => Promise<HTMLElement>;
905
+ /**
906
+ * The mode determines the platform behaviors of the component.
907
+ */
908
+ "mode"?: "ios" | "md";
781
909
  /**
782
910
  * Scroll by a specified X/Y distance in the component.
783
911
  * @param x The amount to scroll by on the horizontal axis.
@@ -814,6 +942,10 @@ export namespace Components {
814
942
  * If you want to disable the content scrolling in the Y axis, set this property to `false`.
815
943
  */
816
944
  "scrollY": boolean;
945
+ /**
946
+ * The theme determines the visual appearance of the component.
947
+ */
948
+ "theme"?: "ios" | "md" | "ionic";
817
949
  }
818
950
  interface IonDatetime {
819
951
  /**
@@ -889,7 +1021,7 @@ export namespace Components {
889
1021
  */
890
1022
  "minuteValues"?: number[] | number | string;
891
1023
  /**
892
- * The mode determines which platform styles to use.
1024
+ * The mode determines the platform behaviors of the component.
893
1025
  */
894
1026
  "mode"?: "ios" | "md";
895
1027
  /**
@@ -940,6 +1072,10 @@ export namespace Components {
940
1072
  * 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.
941
1073
  */
942
1074
  "size": 'cover' | 'fixed';
1075
+ /**
1076
+ * The theme determines the visual appearance of the component.
1077
+ */
1078
+ "theme"?: "ios" | "md" | "ionic";
943
1079
  /**
944
1080
  * 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.
945
1081
  */
@@ -967,9 +1103,13 @@ export namespace Components {
967
1103
  */
968
1104
  "disabled": boolean;
969
1105
  /**
970
- * The mode determines which platform styles to use.
1106
+ * The mode determines the platform behaviors of the component.
971
1107
  */
972
1108
  "mode"?: "ios" | "md";
1109
+ /**
1110
+ * The theme determines the visual appearance of the component.
1111
+ */
1112
+ "theme"?: "ios" | "md" | "ionic";
973
1113
  }
974
1114
  interface IonFab {
975
1115
  /**
@@ -988,6 +1128,14 @@ export namespace Components {
988
1128
  * Where to align the fab horizontally in the viewport.
989
1129
  */
990
1130
  "horizontal"?: 'start' | 'end' | 'center';
1131
+ /**
1132
+ * The mode determines the platform behaviors of the component.
1133
+ */
1134
+ "mode"?: "ios" | "md";
1135
+ /**
1136
+ * The theme determines the visual appearance of the component.
1137
+ */
1138
+ "theme"?: "ios" | "md" | "ionic";
991
1139
  /**
992
1140
  * Opens/Closes the FAB list container.
993
1141
  */
@@ -1005,7 +1153,7 @@ export namespace Components {
1005
1153
  /**
1006
1154
  * 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.
1007
1155
  */
1008
- "closeIcon": string;
1156
+ "closeIcon"?: string;
1009
1157
  /**
1010
1158
  * 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).
1011
1159
  */
@@ -1023,7 +1171,7 @@ export namespace Components {
1023
1171
  */
1024
1172
  "href": string | undefined;
1025
1173
  /**
1026
- * The mode determines which platform styles to use.
1174
+ * The mode determines the platform behaviors of the component.
1027
1175
  */
1028
1176
  "mode"?: "ios" | "md";
1029
1177
  /**
@@ -1051,7 +1199,11 @@ export namespace Components {
1051
1199
  */
1052
1200
  "target": string | undefined;
1053
1201
  /**
1054
- * 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).
1202
+ * The theme determines the visual appearance of the component.
1203
+ */
1204
+ "theme"?: "ios" | "md" | "ionic";
1205
+ /**
1206
+ * 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).
1055
1207
  */
1056
1208
  "translucent": boolean;
1057
1209
  /**
@@ -1064,22 +1216,34 @@ export namespace Components {
1064
1216
  * If `true`, the fab list will show all fab buttons in the list.
1065
1217
  */
1066
1218
  "activated": boolean;
1219
+ /**
1220
+ * The mode determines the platform behaviors of the component.
1221
+ */
1222
+ "mode"?: "ios" | "md";
1067
1223
  /**
1068
1224
  * The side the fab list will show on relative to the main fab button.
1069
1225
  */
1070
1226
  "side": 'start' | 'end' | 'top' | 'bottom';
1227
+ /**
1228
+ * The theme determines the visual appearance of the component.
1229
+ */
1230
+ "theme"?: "ios" | "md" | "ionic";
1071
1231
  }
1072
1232
  interface IonFooter {
1073
1233
  /**
1074
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
1234
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
1075
1235
  */
1076
1236
  "collapse"?: 'fade';
1077
1237
  /**
1078
- * The mode determines which platform styles to use.
1238
+ * The mode determines the platform behaviors of the component.
1079
1239
  */
1080
1240
  "mode"?: "ios" | "md";
1081
1241
  /**
1082
- * 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.
1242
+ * The theme determines the visual appearance of the component.
1243
+ */
1244
+ "theme"?: "ios" | "md" | "ionic";
1245
+ /**
1246
+ * 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.
1083
1247
  */
1084
1248
  "translucent": boolean;
1085
1249
  }
@@ -1088,18 +1252,30 @@ export namespace Components {
1088
1252
  * If `true`, the grid will have a fixed width based on the screen size.
1089
1253
  */
1090
1254
  "fixed": boolean;
1255
+ /**
1256
+ * The mode determines the platform behaviors of the component.
1257
+ */
1258
+ "mode"?: "ios" | "md";
1259
+ /**
1260
+ * The theme determines the visual appearance of the component.
1261
+ */
1262
+ "theme"?: "ios" | "md" | "ionic";
1091
1263
  }
1092
1264
  interface IonHeader {
1093
1265
  /**
1094
- * 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)
1266
+ * 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)
1095
1267
  */
1096
1268
  "collapse"?: 'condense' | 'fade';
1097
1269
  /**
1098
- * The mode determines which platform styles to use.
1270
+ * The mode determines the platform behaviors of the component.
1099
1271
  */
1100
1272
  "mode"?: "ios" | "md";
1101
1273
  /**
1102
- * 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.
1274
+ * The theme determines the visual appearance of the component.
1275
+ */
1276
+ "theme"?: "ios" | "md" | "ionic";
1277
+ /**
1278
+ * 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.
1103
1279
  */
1104
1280
  "translucent": boolean;
1105
1281
  }
@@ -1108,10 +1284,18 @@ export namespace Components {
1108
1284
  * 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.
1109
1285
  */
1110
1286
  "alt"?: string;
1287
+ /**
1288
+ * The mode determines the platform behaviors of the component.
1289
+ */
1290
+ "mode"?: "ios" | "md";
1111
1291
  /**
1112
1292
  * The image URL. This attribute is mandatory for the `<img>` element.
1113
1293
  */
1114
1294
  "src"?: string;
1295
+ /**
1296
+ * The theme determines the visual appearance of the component.
1297
+ */
1298
+ "theme"?: "ios" | "md" | "ionic";
1115
1299
  }
1116
1300
  interface IonInfiniteScroll {
1117
1301
  /**
@@ -1122,10 +1306,18 @@ export namespace Components {
1122
1306
  * 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.
1123
1307
  */
1124
1308
  "disabled": boolean;
1309
+ /**
1310
+ * The mode determines the platform behaviors of the component.
1311
+ */
1312
+ "mode"?: "ios" | "md";
1125
1313
  /**
1126
1314
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
1127
1315
  */
1128
1316
  "position": 'top' | 'bottom';
1317
+ /**
1318
+ * The theme determines the visual appearance of the component.
1319
+ */
1320
+ "theme"?: "ios" | "md" | "ionic";
1129
1321
  /**
1130
1322
  * 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.
1131
1323
  */
@@ -1140,6 +1332,14 @@ export namespace Components {
1140
1332
  * 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.
1141
1333
  */
1142
1334
  "loadingText"?: string | IonicSafeString;
1335
+ /**
1336
+ * The mode determines the platform behaviors of the component.
1337
+ */
1338
+ "mode"?: "ios" | "md";
1339
+ /**
1340
+ * The theme determines the visual appearance of the component.
1341
+ */
1342
+ "theme"?: "ios" | "md" | "ionic";
1143
1343
  }
1144
1344
  interface IonInput {
1145
1345
  /**
@@ -1162,6 +1362,10 @@ export namespace Components {
1162
1362
  * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.
1163
1363
  */
1164
1364
  "clearInput": boolean;
1365
+ /**
1366
+ * The icon to use for the clear button. Only applies when `clearInput` is set to `true`.
1367
+ */
1368
+ "clearInputIcon"?: string;
1165
1369
  /**
1166
1370
  * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types.
1167
1371
  */
@@ -1195,7 +1399,7 @@ export namespace Components {
1195
1399
  */
1196
1400
  "errorText"?: string;
1197
1401
  /**
1198
- * 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.
1402
+ * 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"`.
1199
1403
  */
1200
1404
  "fill"?: 'outline' | 'solid';
1201
1405
  /**
@@ -1235,7 +1439,7 @@ export namespace Components {
1235
1439
  */
1236
1440
  "minlength"?: number;
1237
1441
  /**
1238
- * The mode determines which platform styles to use.
1442
+ * The mode determines the platform behaviors of the component.
1239
1443
  */
1240
1444
  "mode"?: "ios" | "md";
1241
1445
  /**
@@ -1278,6 +1482,10 @@ export namespace Components {
1278
1482
  * 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.
1279
1483
  */
1280
1484
  "step"?: string;
1485
+ /**
1486
+ * The theme determines the visual appearance of the component.
1487
+ */
1488
+ "theme"?: "ios" | "md" | "ionic";
1281
1489
  /**
1282
1490
  * The type of control to display. The default type is text.
1283
1491
  */
@@ -1316,13 +1524,13 @@ export namespace Components {
1316
1524
  */
1317
1525
  "color"?: Color;
1318
1526
  /**
1319
- * 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.
1527
+ * 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.
1320
1528
  */
1321
1529
  "detail"?: boolean;
1322
1530
  /**
1323
1531
  * The icon to use when `detail` is set to `true`.
1324
1532
  */
1325
- "detailIcon": string;
1533
+ "detailIcon"?: string;
1326
1534
  /**
1327
1535
  * If `true`, the user cannot interact with the item.
1328
1536
  */
@@ -1340,7 +1548,7 @@ export namespace Components {
1340
1548
  */
1341
1549
  "lines"?: 'full' | 'inset' | 'none';
1342
1550
  /**
1343
- * The mode determines which platform styles to use.
1551
+ * The mode determines the platform behaviors of the component.
1344
1552
  */
1345
1553
  "mode"?: "ios" | "md";
1346
1554
  /**
@@ -1359,6 +1567,10 @@ export namespace Components {
1359
1567
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1360
1568
  */
1361
1569
  "target": string | undefined;
1570
+ /**
1571
+ * The theme determines the visual appearance of the component.
1572
+ */
1573
+ "theme"?: "ios" | "md" | "ionic";
1362
1574
  /**
1363
1575
  * The type of the button. Only used when an `onclick` or `button` property is present.
1364
1576
  */
@@ -1370,15 +1582,27 @@ export namespace Components {
1370
1582
  */
1371
1583
  "color"?: Color;
1372
1584
  /**
1373
- * The mode determines which platform styles to use.
1585
+ * The mode determines the platform behaviors of the component.
1374
1586
  */
1375
1587
  "mode"?: "ios" | "md";
1376
1588
  /**
1377
1589
  * 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
1378
1590
  */
1379
1591
  "sticky": boolean;
1592
+ /**
1593
+ * The theme determines the visual appearance of the component.
1594
+ */
1595
+ "theme"?: "ios" | "md" | "ionic";
1380
1596
  }
1381
1597
  interface IonItemGroup {
1598
+ /**
1599
+ * The mode determines the platform behaviors of the component.
1600
+ */
1601
+ "mode"?: "ios" | "md";
1602
+ /**
1603
+ * The theme determines the visual appearance of the component.
1604
+ */
1605
+ "theme"?: "ios" | "md" | "ionic";
1382
1606
  }
1383
1607
  interface IonItemOption {
1384
1608
  /**
@@ -1402,7 +1626,7 @@ export namespace Components {
1402
1626
  */
1403
1627
  "href": string | undefined;
1404
1628
  /**
1405
- * The mode determines which platform styles to use.
1629
+ * The mode determines the platform behaviors of the component.
1406
1630
  */
1407
1631
  "mode"?: "ios" | "md";
1408
1632
  /**
@@ -1413,6 +1637,10 @@ export namespace Components {
1413
1637
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1414
1638
  */
1415
1639
  "target": string | undefined;
1640
+ /**
1641
+ * The theme determines the visual appearance of the component.
1642
+ */
1643
+ "theme"?: "ios" | "md" | "ionic";
1416
1644
  /**
1417
1645
  * The type of the button.
1418
1646
  */
@@ -1420,10 +1648,18 @@ export namespace Components {
1420
1648
  }
1421
1649
  interface IonItemOptions {
1422
1650
  "fireSwipeEvent": () => Promise<void>;
1651
+ /**
1652
+ * The mode determines the platform behaviors of the component.
1653
+ */
1654
+ "mode"?: "ios" | "md";
1423
1655
  /**
1424
1656
  * 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.
1425
1657
  */
1426
1658
  "side": Side;
1659
+ /**
1660
+ * The theme determines the visual appearance of the component.
1661
+ */
1662
+ "theme"?: "ios" | "md" | "ionic";
1427
1663
  }
1428
1664
  interface IonItemSliding {
1429
1665
  /**
@@ -1446,11 +1682,19 @@ export namespace Components {
1446
1682
  * 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.
1447
1683
  */
1448
1684
  "getSlidingRatio": () => Promise<number>;
1685
+ /**
1686
+ * The mode determines the platform behaviors of the component.
1687
+ */
1688
+ "mode"?: "ios" | "md";
1449
1689
  /**
1450
1690
  * Open the sliding item.
1451
1691
  * @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.
1452
1692
  */
1453
1693
  "open": (side: Side | undefined) => Promise<void>;
1694
+ /**
1695
+ * The theme determines the visual appearance of the component.
1696
+ */
1697
+ "theme"?: "ios" | "md" | "ionic";
1454
1698
  }
1455
1699
  interface IonLabel {
1456
1700
  /**
@@ -1458,13 +1702,17 @@ export namespace Components {
1458
1702
  */
1459
1703
  "color"?: Color;
1460
1704
  /**
1461
- * The mode determines which platform styles to use.
1705
+ * The mode determines the platform behaviors of the component.
1462
1706
  */
1463
1707
  "mode"?: "ios" | "md";
1464
1708
  /**
1465
1709
  * The position determines where and how the label behaves inside an item.
1466
1710
  */
1467
1711
  "position"?: 'fixed' | 'stacked' | 'floating';
1712
+ /**
1713
+ * The theme determines the visual appearance of the component.
1714
+ */
1715
+ "theme"?: "ios" | "md" | "ionic";
1468
1716
  }
1469
1717
  interface IonList {
1470
1718
  /**
@@ -1480,9 +1728,13 @@ export namespace Components {
1480
1728
  */
1481
1729
  "lines"?: 'full' | 'inset' | 'none';
1482
1730
  /**
1483
- * The mode determines which platform styles to use.
1731
+ * The mode determines the platform behaviors of the component.
1484
1732
  */
1485
1733
  "mode"?: "ios" | "md";
1734
+ /**
1735
+ * The theme determines the visual appearance of the component.
1736
+ */
1737
+ "theme"?: "ios" | "md" | "ionic";
1486
1738
  }
1487
1739
  interface IonListHeader {
1488
1740
  /**
@@ -1494,9 +1746,13 @@ export namespace Components {
1494
1746
  */
1495
1747
  "lines"?: 'full' | 'inset' | 'none';
1496
1748
  /**
1497
- * The mode determines which platform styles to use.
1749
+ * The mode determines the platform behaviors of the component.
1498
1750
  */
1499
1751
  "mode"?: "ios" | "md";
1752
+ /**
1753
+ * The theme determines the visual appearance of the component.
1754
+ */
1755
+ "theme"?: "ios" | "md" | "ionic";
1500
1756
  }
1501
1757
  interface IonLoading {
1502
1758
  /**
@@ -1548,7 +1804,7 @@ export namespace Components {
1548
1804
  */
1549
1805
  "message"?: string | IonicSafeString;
1550
1806
  /**
1551
- * The mode determines which platform styles to use.
1807
+ * The mode determines the platform behaviors of the component.
1552
1808
  */
1553
1809
  "mode"?: "ios" | "md";
1554
1810
  /**
@@ -1573,7 +1829,11 @@ export namespace Components {
1573
1829
  */
1574
1830
  "spinner"?: SpinnerTypes | null;
1575
1831
  /**
1576
- * 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).
1832
+ * The theme determines the visual appearance of the component.
1833
+ */
1834
+ "theme"?: "ios" | "md" | "ionic";
1835
+ /**
1836
+ * 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).
1577
1837
  */
1578
1838
  "translucent": boolean;
1579
1839
  /**
@@ -1610,6 +1870,10 @@ export namespace Components {
1610
1870
  * An id for the menu.
1611
1871
  */
1612
1872
  "menuId"?: string;
1873
+ /**
1874
+ * The mode determines the platform behaviors of the component.
1875
+ */
1876
+ "mode"?: "ios" | "md";
1613
1877
  /**
1614
1878
  * Opens the menu. If the menu is already open or it can't be opened, it returns `false`.
1615
1879
  */
@@ -1626,6 +1890,10 @@ export namespace Components {
1626
1890
  * If `true`, swiping the menu is enabled.
1627
1891
  */
1628
1892
  "swipeGesture": boolean;
1893
+ /**
1894
+ * The theme determines the visual appearance of the component.
1895
+ */
1896
+ "theme"?: "ios" | "md" | "ionic";
1629
1897
  /**
1630
1898
  * 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`.
1631
1899
  */
@@ -1653,9 +1921,13 @@ export namespace Components {
1653
1921
  */
1654
1922
  "menu"?: string;
1655
1923
  /**
1656
- * The mode determines which platform styles to use.
1924
+ * The mode determines the platform behaviors of the component.
1657
1925
  */
1658
1926
  "mode"?: "ios" | "md";
1927
+ /**
1928
+ * The theme determines the visual appearance of the component.
1929
+ */
1930
+ "theme"?: "ios" | "md" | "ionic";
1659
1931
  /**
1660
1932
  * The type of the button.
1661
1933
  */
@@ -1670,6 +1942,14 @@ export namespace Components {
1670
1942
  * 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.
1671
1943
  */
1672
1944
  "menu"?: string;
1945
+ /**
1946
+ * The mode determines the platform behaviors of the component.
1947
+ */
1948
+ "mode"?: "ios" | "md";
1949
+ /**
1950
+ * The theme determines the visual appearance of the component.
1951
+ */
1952
+ "theme"?: "ios" | "md" | "ionic";
1673
1953
  }
1674
1954
  interface IonModal {
1675
1955
  /**
@@ -1753,7 +2033,7 @@ export namespace Components {
1753
2033
  */
1754
2034
  "leaveAnimation"?: AnimationBuilder;
1755
2035
  /**
1756
- * The mode determines which platform styles to use.
2036
+ * The mode determines the platform behaviors of the component.
1757
2037
  */
1758
2038
  "mode"?: "ios" | "md";
1759
2039
  /**
@@ -1781,6 +2061,10 @@ export namespace Components {
1781
2061
  * 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.
1782
2062
  */
1783
2063
  "showBackdrop": boolean;
2064
+ /**
2065
+ * The theme determines the visual appearance of the component.
2066
+ */
2067
+ "theme"?: "ios" | "md" | "ionic";
1784
2068
  /**
1785
2069
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
1786
2070
  */
@@ -1792,7 +2076,7 @@ export namespace Components {
1792
2076
  */
1793
2077
  "animated": boolean;
1794
2078
  /**
1795
- * 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.
2079
+ * 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.
1796
2080
  */
1797
2081
  "animation"?: AnimationBuilder;
1798
2082
  /**
@@ -1840,6 +2124,10 @@ export namespace Components {
1840
2124
  * @param done The transition complete function.
1841
2125
  */
1842
2126
  "insertPages": (insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean>;
2127
+ /**
2128
+ * The mode determines the platform behaviors of the component.
2129
+ */
2130
+ "mode"?: "ios" | "md";
1843
2131
  /**
1844
2132
  * Pop a component off of the navigation stack. Navigates back from the current component.
1845
2133
  * @param opts The navigation options.
@@ -1911,6 +2199,10 @@ export namespace Components {
1911
2199
  * If the nav component should allow for swipe-to-go-back.
1912
2200
  */
1913
2201
  "swipeGesture"?: boolean;
2202
+ /**
2203
+ * The theme determines the visual appearance of the component.
2204
+ */
2205
+ "theme"?: "ios" | "md" | "ionic";
1914
2206
  }
1915
2207
  interface IonNavLink {
1916
2208
  /**
@@ -1921,6 +2213,10 @@ export namespace Components {
1921
2213
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
1922
2214
  */
1923
2215
  "componentProps"?: ComponentProps;
2216
+ /**
2217
+ * The mode determines the platform behaviors of the component.
2218
+ */
2219
+ "mode"?: "ios" | "md";
1924
2220
  /**
1925
2221
  * The transition animation when navigating to another page.
1926
2222
  */
@@ -1929,6 +2225,10 @@ export namespace Components {
1929
2225
  * The transition direction when navigating to another page.
1930
2226
  */
1931
2227
  "routerDirection": RouterDirection;
2228
+ /**
2229
+ * The theme determines the visual appearance of the component.
2230
+ */
2231
+ "theme"?: "ios" | "md" | "ionic";
1932
2232
  }
1933
2233
  interface IonNote {
1934
2234
  /**
@@ -1936,16 +2236,24 @@ export namespace Components {
1936
2236
  */
1937
2237
  "color"?: Color;
1938
2238
  /**
1939
- * The mode determines which platform styles to use.
2239
+ * The mode determines the platform behaviors of the component.
1940
2240
  */
1941
2241
  "mode"?: "ios" | "md";
2242
+ /**
2243
+ * The theme determines the visual appearance of the component.
2244
+ */
2245
+ "theme"?: "ios" | "md" | "ionic";
1942
2246
  }
1943
2247
  interface IonPicker {
1944
2248
  "exitInputMode": () => Promise<void>;
1945
2249
  /**
1946
- * The mode determines which platform styles to use.
2250
+ * The mode determines the platform behaviors of the component.
1947
2251
  */
1948
2252
  "mode"?: "ios" | "md";
2253
+ /**
2254
+ * The theme determines the visual appearance of the component.
2255
+ */
2256
+ "theme"?: "ios" | "md" | "ionic";
1949
2257
  }
1950
2258
  interface IonPickerColumn {
1951
2259
  /**
@@ -1957,7 +2265,7 @@ export namespace Components {
1957
2265
  */
1958
2266
  "disabled": boolean;
1959
2267
  /**
1960
- * The mode determines which platform styles to use.
2268
+ * The mode determines the platform behaviors of the component.
1961
2269
  */
1962
2270
  "mode"?: "ios" | "md";
1963
2271
  /**
@@ -1973,6 +2281,10 @@ export namespace Components {
1973
2281
  * 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.
1974
2282
  */
1975
2283
  "setValue": (value: PickerColumnValue) => Promise<void>;
2284
+ /**
2285
+ * The theme determines the visual appearance of the component.
2286
+ */
2287
+ "theme"?: "ios" | "md" | "ionic";
1976
2288
  /**
1977
2289
  * The selected option in the picker.
1978
2290
  */
@@ -1987,6 +2299,14 @@ export namespace Components {
1987
2299
  * If `true`, the user cannot interact with the picker column option.
1988
2300
  */
1989
2301
  "disabled": boolean;
2302
+ /**
2303
+ * The mode determines the platform behaviors of the component.
2304
+ */
2305
+ "mode"?: "ios" | "md";
2306
+ /**
2307
+ * The theme determines the visual appearance of the component.
2308
+ */
2309
+ "theme"?: "ios" | "md" | "ionic";
1990
2310
  /**
1991
2311
  * The text value of the option.
1992
2312
  */
@@ -2051,7 +2371,7 @@ export namespace Components {
2051
2371
  */
2052
2372
  "leaveAnimation"?: AnimationBuilder;
2053
2373
  /**
2054
- * The mode determines which platform styles to use.
2374
+ * The mode determines the platform behaviors of the component.
2055
2375
  */
2056
2376
  "mode"?: "ios" | "md";
2057
2377
  /**
@@ -2071,6 +2391,10 @@ export namespace Components {
2071
2391
  * If `true`, a backdrop will be displayed behind the picker.
2072
2392
  */
2073
2393
  "showBackdrop": boolean;
2394
+ /**
2395
+ * The theme determines the visual appearance of the component.
2396
+ */
2397
+ "theme"?: "ios" | "md" | "ionic";
2074
2398
  /**
2075
2399
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
2076
2400
  */
@@ -2084,7 +2408,7 @@ export namespace Components {
2084
2408
  }
2085
2409
  interface IonPopover {
2086
2410
  /**
2087
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
2411
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
2088
2412
  */
2089
2413
  "alignment"?: PositionAlign;
2090
2414
  /**
@@ -2092,7 +2416,7 @@ export namespace Components {
2092
2416
  */
2093
2417
  "animated": boolean;
2094
2418
  /**
2095
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
2419
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
2096
2420
  */
2097
2421
  "arrow": boolean;
2098
2422
  /**
@@ -2155,7 +2479,7 @@ export namespace Components {
2155
2479
  */
2156
2480
  "leaveAnimation"?: AnimationBuilder;
2157
2481
  /**
2158
- * The mode determines which platform styles to use.
2482
+ * The mode determines the platform behaviors of the component.
2159
2483
  */
2160
2484
  "mode"?: "ios" | "md";
2161
2485
  /**
@@ -2192,7 +2516,11 @@ export namespace Components {
2192
2516
  */
2193
2517
  "size": PopoverSize;
2194
2518
  /**
2195
- * 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).
2519
+ * The theme determines the visual appearance of the component.
2520
+ */
2521
+ "theme"?: "ios" | "md" | "ionic";
2522
+ /**
2523
+ * 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).
2196
2524
  */
2197
2525
  "translucent": boolean;
2198
2526
  /**
@@ -2214,13 +2542,17 @@ export namespace Components {
2214
2542
  */
2215
2543
  "color"?: Color;
2216
2544
  /**
2217
- * The mode determines which platform styles to use.
2545
+ * The mode determines the platform behaviors of the component.
2218
2546
  */
2219
2547
  "mode"?: "ios" | "md";
2220
2548
  /**
2221
2549
  * If true, reverse the progress bar direction.
2222
2550
  */
2223
2551
  "reversed": boolean;
2552
+ /**
2553
+ * The theme determines the visual appearance of the component.
2554
+ */
2555
+ "theme"?: "ios" | "md" | "ionic";
2224
2556
  /**
2225
2557
  * 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).
2226
2558
  */
@@ -2252,7 +2584,7 @@ export namespace Components {
2252
2584
  */
2253
2585
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
2254
2586
  /**
2255
- * The mode determines which platform styles to use.
2587
+ * The mode determines the platform behaviors of the component.
2256
2588
  */
2257
2589
  "mode"?: "ios" | "md";
2258
2590
  /**
@@ -2261,6 +2593,10 @@ export namespace Components {
2261
2593
  "name": string;
2262
2594
  "setButtonTabindex": (value: number) => Promise<void>;
2263
2595
  "setFocus": (ev: globalThis.Event) => Promise<void>;
2596
+ /**
2597
+ * The theme determines the visual appearance of the component.
2598
+ */
2599
+ "theme"?: "ios" | "md" | "ionic";
2264
2600
  /**
2265
2601
  * the value of the radio.
2266
2602
  */
@@ -2275,10 +2611,18 @@ export namespace Components {
2275
2611
  * 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.
2276
2612
  */
2277
2613
  "compareWith"?: string | RadioGroupCompareFn | null;
2614
+ /**
2615
+ * The mode determines the platform behaviors of the component.
2616
+ */
2617
+ "mode"?: "ios" | "md";
2278
2618
  /**
2279
2619
  * The name of the control, which is submitted with the form data.
2280
2620
  */
2281
2621
  "name": string;
2622
+ /**
2623
+ * The theme determines the visual appearance of the component.
2624
+ */
2625
+ "theme"?: "ios" | "md" | "ionic";
2282
2626
  /**
2283
2627
  * the value of the radio group.
2284
2628
  */
@@ -2322,7 +2666,7 @@ export namespace Components {
2322
2666
  */
2323
2667
  "min": number;
2324
2668
  /**
2325
- * The mode determines which platform styles to use.
2669
+ * The mode determines the platform behaviors of the component.
2326
2670
  */
2327
2671
  "mode"?: "ios" | "md";
2328
2672
  /**
@@ -2345,6 +2689,10 @@ export namespace Components {
2345
2689
  * Specifies the value granularity.
2346
2690
  */
2347
2691
  "step": number;
2692
+ /**
2693
+ * The theme determines the visual appearance of the component.
2694
+ */
2695
+ "theme"?: "ios" | "md" | "ionic";
2348
2696
  /**
2349
2697
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
2350
2698
  */
@@ -2376,7 +2724,7 @@ export namespace Components {
2376
2724
  */
2377
2725
  "getProgress": () => Promise<number>;
2378
2726
  /**
2379
- * The mode determines which platform styles to use.
2727
+ * The mode determines the platform behaviors of the component.
2380
2728
  */
2381
2729
  "mode"?: "ios" | "md";
2382
2730
  /**
@@ -2395,8 +2743,16 @@ export namespace Components {
2395
2743
  * 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.
2396
2744
  */
2397
2745
  "snapbackDuration": string;
2746
+ /**
2747
+ * The theme determines the visual appearance of the component.
2748
+ */
2749
+ "theme"?: "ios" | "md" | "ionic";
2398
2750
  }
2399
2751
  interface IonRefresherContent {
2752
+ /**
2753
+ * The mode determines the platform behaviors of the component.
2754
+ */
2755
+ "mode"?: "ios" | "md";
2400
2756
  /**
2401
2757
  * 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.
2402
2758
  */
@@ -2413,8 +2769,20 @@ export namespace Components {
2413
2769
  * 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.
2414
2770
  */
2415
2771
  "refreshingText"?: string | IonicSafeString;
2772
+ /**
2773
+ * The theme determines the visual appearance of the component.
2774
+ */
2775
+ "theme"?: "ios" | "md" | "ionic";
2416
2776
  }
2417
2777
  interface IonReorder {
2778
+ /**
2779
+ * The mode determines the platform behaviors of the component.
2780
+ */
2781
+ "mode"?: "ios" | "md";
2782
+ /**
2783
+ * The theme determines the visual appearance of the component.
2784
+ */
2785
+ "theme"?: "ios" | "md" | "ionic";
2418
2786
  }
2419
2787
  interface IonReorderGroup {
2420
2788
  /**
@@ -2426,14 +2794,30 @@ export namespace Components {
2426
2794
  * If `true`, the reorder will be hidden.
2427
2795
  */
2428
2796
  "disabled": boolean;
2429
- }
2430
- interface IonRippleEffect {
2431
2797
  /**
2432
- * Adds the ripple effect to the parent element.
2433
- * @param x The horizontal coordinate of where the ripple should start.
2798
+ * The mode determines the platform behaviors of the component.
2799
+ */
2800
+ "mode"?: "ios" | "md";
2801
+ /**
2802
+ * The theme determines the visual appearance of the component.
2803
+ */
2804
+ "theme"?: "ios" | "md" | "ionic";
2805
+ }
2806
+ interface IonRippleEffect {
2807
+ /**
2808
+ * Adds the ripple effect to the parent element.
2809
+ * @param x The horizontal coordinate of where the ripple should start.
2434
2810
  * @param y The vertical coordinate of where the ripple should start.
2435
2811
  */
2436
2812
  "addRipple": (x: number, y: number) => Promise<() => void>;
2813
+ /**
2814
+ * The mode determines the platform behaviors of the component.
2815
+ */
2816
+ "mode"?: "ios" | "md";
2817
+ /**
2818
+ * The theme determines the visual appearance of the component.
2819
+ */
2820
+ "theme"?: "ios" | "md" | "ionic";
2437
2821
  /**
2438
2822
  * 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.
2439
2823
  */
@@ -2456,6 +2840,14 @@ export namespace Components {
2456
2840
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
2457
2841
  */
2458
2842
  "componentProps"?: { [key: string]: any };
2843
+ /**
2844
+ * The mode determines the platform behaviors of the component.
2845
+ */
2846
+ "mode"?: "ios" | "md";
2847
+ /**
2848
+ * The theme determines the visual appearance of the component.
2849
+ */
2850
+ "theme"?: "ios" | "md" | "ionic";
2459
2851
  /**
2460
2852
  * 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.
2461
2853
  */
@@ -2477,6 +2869,10 @@ export namespace Components {
2477
2869
  */
2478
2870
  "back": () => Promise<void>;
2479
2871
  "canTransition": () => Promise<string | boolean>;
2872
+ /**
2873
+ * The mode determines the platform behaviors of the component.
2874
+ */
2875
+ "mode"?: "ios" | "md";
2480
2876
  "navChanged": (direction: RouterDirection) => Promise<boolean>;
2481
2877
  "printDebug": () => Promise<void>;
2482
2878
  /**
@@ -2489,6 +2885,10 @@ export namespace Components {
2489
2885
  * 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.
2490
2886
  */
2491
2887
  "root": string;
2888
+ /**
2889
+ * The theme determines the visual appearance of the component.
2890
+ */
2891
+ "theme"?: "ios" | "md" | "ionic";
2492
2892
  /**
2493
2893
  * 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.
2494
2894
  */
@@ -2503,6 +2903,10 @@ export namespace Components {
2503
2903
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2504
2904
  */
2505
2905
  "href": string | undefined;
2906
+ /**
2907
+ * The mode determines the platform behaviors of the component.
2908
+ */
2909
+ "mode"?: "ios" | "md";
2506
2910
  /**
2507
2911
  * 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).
2508
2912
  */
@@ -2519,6 +2923,10 @@ export namespace Components {
2519
2923
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2520
2924
  */
2521
2925
  "target": string | undefined;
2926
+ /**
2927
+ * The theme determines the visual appearance of the component.
2928
+ */
2929
+ "theme"?: "ios" | "md" | "ionic";
2522
2930
  }
2523
2931
  interface IonRouterOutlet {
2524
2932
  /**
@@ -2533,13 +2941,25 @@ export namespace Components {
2533
2941
  "delegate"?: FrameworkDelegate;
2534
2942
  "getRouteId": () => Promise<RouteID | undefined>;
2535
2943
  /**
2536
- * The mode determines which platform styles to use.
2944
+ * The mode determines the platform behaviors of the component.
2537
2945
  */
2538
2946
  "mode": "ios" | "md";
2539
2947
  "setRouteId": (id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>;
2540
2948
  "swipeHandler"?: SwipeGestureHandler;
2949
+ /**
2950
+ * The theme determines the visual appearance of the component.
2951
+ */
2952
+ "theme"?: "ios" | "md" | "ionic";
2541
2953
  }
2542
2954
  interface IonRow {
2955
+ /**
2956
+ * The mode determines the platform behaviors of the component.
2957
+ */
2958
+ "mode"?: "ios" | "md";
2959
+ /**
2960
+ * The theme determines the visual appearance of the component.
2961
+ */
2962
+ "theme"?: "ios" | "md" | "ionic";
2543
2963
  }
2544
2964
  interface IonSearchbar {
2545
2965
  /**
@@ -2559,15 +2979,15 @@ export namespace Components {
2559
2979
  */
2560
2980
  "autocorrect": 'on' | 'off';
2561
2981
  /**
2562
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
2982
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
2563
2983
  */
2564
- "cancelButtonIcon": string;
2984
+ "cancelButtonIcon"?: string;
2565
2985
  /**
2566
- * Set the the cancel button text. Only applies to `ios` mode.
2986
+ * Set the the cancel button text. Only available when the theme is `"ios"`.
2567
2987
  */
2568
2988
  "cancelButtonText": string;
2569
2989
  /**
2570
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
2990
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
2571
2991
  */
2572
2992
  "clearIcon"?: string;
2573
2993
  /**
@@ -2603,7 +3023,7 @@ export namespace Components {
2603
3023
  */
2604
3024
  "minlength"?: number;
2605
3025
  /**
2606
- * The mode determines which platform styles to use.
3026
+ * The mode determines the platform behaviors of the component.
2607
3027
  */
2608
3028
  "mode"?: "ios" | "md";
2609
3029
  /**
@@ -2615,7 +3035,7 @@ export namespace Components {
2615
3035
  */
2616
3036
  "placeholder": string;
2617
3037
  /**
2618
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
3038
+ * 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.
2619
3039
  */
2620
3040
  "searchIcon"?: string;
2621
3041
  /**
@@ -2634,6 +3054,10 @@ export namespace Components {
2634
3054
  * If `true`, enable spellcheck on the input.
2635
3055
  */
2636
3056
  "spellcheck": boolean;
3057
+ /**
3058
+ * The theme determines the visual appearance of the component.
3059
+ */
3060
+ "theme"?: "ios" | "md" | "ionic";
2637
3061
  /**
2638
3062
  * Set the type of the input.
2639
3063
  */
@@ -2653,7 +3077,7 @@ export namespace Components {
2653
3077
  */
2654
3078
  "disabled": boolean;
2655
3079
  /**
2656
- * The mode determines which platform styles to use.
3080
+ * The mode determines the platform behaviors of the component.
2657
3081
  */
2658
3082
  "mode"?: "ios" | "md";
2659
3083
  /**
@@ -2668,6 +3092,10 @@ export namespace Components {
2668
3092
  * If `true`, users will be able to swipe between segment buttons to activate them.
2669
3093
  */
2670
3094
  "swipeGesture": boolean;
3095
+ /**
3096
+ * The theme determines the visual appearance of the component.
3097
+ */
3098
+ "theme"?: "ios" | "md" | "ionic";
2671
3099
  /**
2672
3100
  * the value of the segment.
2673
3101
  */
@@ -2683,10 +3111,14 @@ export namespace Components {
2683
3111
  */
2684
3112
  "layout"?: SegmentButtonLayout;
2685
3113
  /**
2686
- * The mode determines which platform styles to use.
3114
+ * The mode determines the platform behaviors of the component.
2687
3115
  */
2688
3116
  "mode"?: "ios" | "md";
2689
3117
  "setFocus": () => Promise<void>;
3118
+ /**
3119
+ * The theme determines the visual appearance of the component.
3120
+ */
3121
+ "theme"?: "ios" | "md" | "ionic";
2690
3122
  /**
2691
3123
  * The type of the button.
2692
3124
  */
@@ -2714,11 +3146,11 @@ export namespace Components {
2714
3146
  */
2715
3147
  "disabled": boolean;
2716
3148
  /**
2717
- * 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.
3149
+ * 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.
2718
3150
  */
2719
3151
  "expandedIcon"?: string;
2720
3152
  /**
2721
- * 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.
3153
+ * 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.
2722
3154
  */
2723
3155
  "fill"?: 'outline' | 'solid';
2724
3156
  /**
@@ -2742,7 +3174,7 @@ export namespace Components {
2742
3174
  */
2743
3175
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
2744
3176
  /**
2745
- * The mode determines which platform styles to use.
3177
+ * The mode determines the platform behaviors of the component.
2746
3178
  */
2747
3179
  "mode"?: "ios" | "md";
2748
3180
  /**
@@ -2775,7 +3207,11 @@ export namespace Components {
2775
3207
  */
2776
3208
  "shape"?: 'round';
2777
3209
  /**
2778
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
3210
+ * The theme determines the visual appearance of the component.
3211
+ */
3212
+ "theme"?: "ios" | "md" | "ionic";
3213
+ /**
3214
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
2779
3215
  */
2780
3216
  "toggleIcon"?: string;
2781
3217
  /**
@@ -2788,6 +3224,14 @@ export namespace Components {
2788
3224
  * 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.
2789
3225
  */
2790
3226
  "disabled": boolean;
3227
+ /**
3228
+ * The mode determines the platform behaviors of the component.
3229
+ */
3230
+ "mode"?: "ios" | "md";
3231
+ /**
3232
+ * The theme determines the visual appearance of the component.
3233
+ */
3234
+ "theme"?: "ios" | "md" | "ionic";
2791
3235
  /**
2792
3236
  * The text value of the option.
2793
3237
  */
@@ -2802,6 +3246,10 @@ export namespace Components {
2802
3246
  * The text content of the popover body
2803
3247
  */
2804
3248
  "message"?: string;
3249
+ /**
3250
+ * The mode determines the platform behaviors of the component.
3251
+ */
3252
+ "mode"?: "ios" | "md";
2805
3253
  /**
2806
3254
  * If true, the select accepts multiple values
2807
3255
  */
@@ -2814,12 +3262,24 @@ export namespace Components {
2814
3262
  * The subheader text of the popover
2815
3263
  */
2816
3264
  "subHeader"?: string;
3265
+ /**
3266
+ * The theme determines the visual appearance of the component.
3267
+ */
3268
+ "theme"?: "ios" | "md" | "ionic";
2817
3269
  }
2818
3270
  interface IonSkeletonText {
2819
3271
  /**
2820
3272
  * If `true`, the skeleton text will animate.
2821
3273
  */
2822
3274
  "animated": boolean;
3275
+ /**
3276
+ * The mode determines the platform behaviors of the component.
3277
+ */
3278
+ "mode"?: "ios" | "md";
3279
+ /**
3280
+ * The theme determines the visual appearance of the component.
3281
+ */
3282
+ "theme"?: "ios" | "md" | "ionic";
2823
3283
  }
2824
3284
  interface IonSpinner {
2825
3285
  /**
@@ -2830,6 +3290,10 @@ export namespace Components {
2830
3290
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
2831
3291
  */
2832
3292
  "duration"?: number;
3293
+ /**
3294
+ * The mode determines the platform behaviors of the component.
3295
+ */
3296
+ "mode"?: "ios" | "md";
2833
3297
  /**
2834
3298
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
2835
3299
  */
@@ -2838,6 +3302,10 @@ export namespace Components {
2838
3302
  * If `true`, the spinner's animation will be paused.
2839
3303
  */
2840
3304
  "paused": boolean;
3305
+ /**
3306
+ * The theme determines the visual appearance of the component.
3307
+ */
3308
+ "theme"?: "ios" | "md" | "ionic";
2841
3309
  }
2842
3310
  interface IonSplitPane {
2843
3311
  /**
@@ -2849,6 +3317,14 @@ export namespace Components {
2849
3317
  */
2850
3318
  "disabled": boolean;
2851
3319
  "isVisible": () => Promise<boolean>;
3320
+ /**
3321
+ * The mode determines the platform behaviors of the component.
3322
+ */
3323
+ "mode"?: "ios" | "md";
3324
+ /**
3325
+ * The theme determines the visual appearance of the component.
3326
+ */
3327
+ "theme"?: "ios" | "md" | "ionic";
2852
3328
  /**
2853
3329
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
2854
3330
  */
@@ -2861,6 +3337,10 @@ export namespace Components {
2861
3337
  */
2862
3338
  "component"?: ComponentRef;
2863
3339
  "delegate"?: FrameworkDelegate;
3340
+ /**
3341
+ * The mode determines the platform behaviors of the component.
3342
+ */
3343
+ "mode"?: "ios" | "md";
2864
3344
  /**
2865
3345
  * Set the active component for the tab
2866
3346
  */
@@ -2869,6 +3349,10 @@ export namespace Components {
2869
3349
  * 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.
2870
3350
  */
2871
3351
  "tab": string;
3352
+ /**
3353
+ * The theme determines the visual appearance of the component.
3354
+ */
3355
+ "theme"?: "ios" | "md" | "ionic";
2872
3356
  }
2873
3357
  interface IonTabBar {
2874
3358
  /**
@@ -2876,7 +3360,7 @@ export namespace Components {
2876
3360
  */
2877
3361
  "color"?: Color;
2878
3362
  /**
2879
- * The mode determines which platform styles to use.
3363
+ * The mode determines the platform behaviors of the component.
2880
3364
  */
2881
3365
  "mode"?: "ios" | "md";
2882
3366
  /**
@@ -2884,7 +3368,11 @@ export namespace Components {
2884
3368
  */
2885
3369
  "selectedTab"?: string;
2886
3370
  /**
2887
- * 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).
3371
+ * The theme determines the visual appearance of the component.
3372
+ */
3373
+ "theme"?: "ios" | "md" | "ionic";
3374
+ /**
3375
+ * 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).
2888
3376
  */
2889
3377
  "translucent": boolean;
2890
3378
  }
@@ -2906,7 +3394,7 @@ export namespace Components {
2906
3394
  */
2907
3395
  "layout"?: TabButtonLayout;
2908
3396
  /**
2909
- * The mode determines which platform styles to use.
3397
+ * The mode determines the platform behaviors of the component.
2910
3398
  */
2911
3399
  "mode"?: "ios" | "md";
2912
3400
  /**
@@ -2925,6 +3413,10 @@ export namespace Components {
2925
3413
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2926
3414
  */
2927
3415
  "target": string | undefined;
3416
+ /**
3417
+ * The theme determines the visual appearance of the component.
3418
+ */
3419
+ "theme"?: "ios" | "md" | "ionic";
2928
3420
  }
2929
3421
  interface IonTabs {
2930
3422
  "getRouteId": () => Promise<RouteID | undefined>;
@@ -2937,12 +3429,20 @@ export namespace Components {
2937
3429
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
2938
3430
  */
2939
3431
  "getTab": (tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined>;
3432
+ /**
3433
+ * The mode determines the platform behaviors of the component.
3434
+ */
3435
+ "mode"?: "ios" | "md";
2940
3436
  /**
2941
3437
  * 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.
2942
3438
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
2943
3439
  */
2944
3440
  "select": (tab: string | HTMLIonTabElement) => Promise<boolean>;
2945
3441
  "setRouteId": (id: string) => Promise<RouteWrite>;
3442
+ /**
3443
+ * The theme determines the visual appearance of the component.
3444
+ */
3445
+ "theme"?: "ios" | "md" | "ionic";
2946
3446
  "useRouter": boolean;
2947
3447
  }
2948
3448
  interface IonText {
@@ -2951,9 +3451,13 @@ export namespace Components {
2951
3451
  */
2952
3452
  "color"?: Color;
2953
3453
  /**
2954
- * The mode determines which platform styles to use.
3454
+ * The mode determines the platform behaviors of the component.
2955
3455
  */
2956
3456
  "mode"?: "ios" | "md";
3457
+ /**
3458
+ * The theme determines the visual appearance of the component.
3459
+ */
3460
+ "theme"?: "ios" | "md" | "ionic";
2957
3461
  }
2958
3462
  interface IonTextarea {
2959
3463
  /**
@@ -3005,7 +3509,7 @@ export namespace Components {
3005
3509
  */
3006
3510
  "errorText"?: string;
3007
3511
  /**
3008
- * 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.
3512
+ * 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"`.
3009
3513
  */
3010
3514
  "fill"?: 'outline' | 'solid';
3011
3515
  /**
@@ -3037,7 +3541,7 @@ export namespace Components {
3037
3541
  */
3038
3542
  "minlength"?: number;
3039
3543
  /**
3040
- * The mode determines which platform styles to use.
3544
+ * The mode determines the platform behaviors of the component.
3041
3545
  */
3042
3546
  "mode"?: "ios" | "md";
3043
3547
  /**
@@ -3072,6 +3576,10 @@ export namespace Components {
3072
3576
  * If `true`, the element will have its spelling and grammar checked.
3073
3577
  */
3074
3578
  "spellcheck": boolean;
3579
+ /**
3580
+ * The theme determines the visual appearance of the component.
3581
+ */
3582
+ "theme"?: "ios" | "md" | "ionic";
3075
3583
  /**
3076
3584
  * The value of the textarea.
3077
3585
  */
@@ -3082,16 +3590,32 @@ export namespace Components {
3082
3590
  "wrap"?: 'hard' | 'soft' | 'off';
3083
3591
  }
3084
3592
  interface IonThumbnail {
3593
+ /**
3594
+ * The mode determines the platform behaviors of the component.
3595
+ */
3596
+ "mode"?: "ios" | "md";
3597
+ /**
3598
+ * The theme determines the visual appearance of the component.
3599
+ */
3600
+ "theme"?: "ios" | "md" | "ionic";
3085
3601
  }
3086
3602
  interface IonTitle {
3087
3603
  /**
3088
3604
  * 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).
3089
3605
  */
3090
3606
  "color"?: Color;
3607
+ /**
3608
+ * The mode determines the platform behaviors of the component.
3609
+ */
3610
+ "mode"?: "ios" | "md";
3091
3611
  /**
3092
3612
  * The size of the toolbar title.
3093
3613
  */
3094
3614
  "size"?: 'large' | 'small';
3615
+ /**
3616
+ * The theme determines the visual appearance of the component.
3617
+ */
3618
+ "theme"?: "ios" | "md" | "ionic";
3095
3619
  }
3096
3620
  interface IonToast {
3097
3621
  /**
@@ -3159,7 +3683,7 @@ export namespace Components {
3159
3683
  */
3160
3684
  "message"?: string | IonicSafeString;
3161
3685
  /**
3162
- * The mode determines which platform styles to use.
3686
+ * The mode determines the platform behaviors of the component.
3163
3687
  */
3164
3688
  "mode"?: "ios" | "md";
3165
3689
  /**
@@ -3188,7 +3712,11 @@ export namespace Components {
3188
3712
  */
3189
3713
  "swipeGesture"?: ToastSwipeGestureDirection;
3190
3714
  /**
3191
- * 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).
3715
+ * The theme determines the visual appearance of the component.
3716
+ */
3717
+ "theme"?: "ios" | "md" | "ionic";
3718
+ /**
3719
+ * 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).
3192
3720
  */
3193
3721
  "translucent": boolean;
3194
3722
  /**
@@ -3226,13 +3754,17 @@ export namespace Components {
3226
3754
  */
3227
3755
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
3228
3756
  /**
3229
- * The mode determines which platform styles to use.
3757
+ * The mode determines the platform behaviors of the component.
3230
3758
  */
3231
3759
  "mode"?: "ios" | "md";
3232
3760
  /**
3233
3761
  * The name of the control, which is submitted with the form data.
3234
3762
  */
3235
3763
  "name": string;
3764
+ /**
3765
+ * The theme determines the visual appearance of the component.
3766
+ */
3767
+ "theme"?: "ios" | "md" | "ionic";
3236
3768
  /**
3237
3769
  * 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>`.
3238
3770
  */
@@ -3244,9 +3776,13 @@ export namespace Components {
3244
3776
  */
3245
3777
  "color"?: Color;
3246
3778
  /**
3247
- * The mode determines which platform styles to use.
3779
+ * The mode determines the platform behaviors of the component.
3248
3780
  */
3249
3781
  "mode"?: "ios" | "md";
3782
+ /**
3783
+ * The theme determines the visual appearance of the component.
3784
+ */
3785
+ "theme"?: "ios" | "md" | "ionic";
3250
3786
  }
3251
3787
  }
3252
3788
  export interface IonAccordionGroupCustomEvent<T> extends CustomEvent<T> {
@@ -4728,13 +5264,17 @@ declare namespace LocalJSX {
4728
5264
  */
4729
5265
  "disabled"?: boolean;
4730
5266
  /**
4731
- * The mode determines which platform styles to use.
5267
+ * The mode determines the platform behaviors of the component.
4732
5268
  */
4733
5269
  "mode"?: "ios" | "md";
4734
5270
  /**
4735
5271
  * If `true`, the accordion cannot be interacted with, but does not alter the opacity.
4736
5272
  */
4737
5273
  "readonly"?: boolean;
5274
+ /**
5275
+ * The theme determines the visual appearance of the component.
5276
+ */
5277
+ "theme"?: "ios" | "md" | "ionic";
4738
5278
  /**
4739
5279
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
4740
5280
  */
@@ -4762,7 +5302,7 @@ declare namespace LocalJSX {
4762
5302
  */
4763
5303
  "expand"?: 'compact' | 'inset';
4764
5304
  /**
4765
- * The mode determines which platform styles to use.
5305
+ * The mode determines the platform behaviors of the component.
4766
5306
  */
4767
5307
  "mode"?: "ios" | "md";
4768
5308
  /**
@@ -4777,6 +5317,10 @@ declare namespace LocalJSX {
4777
5317
  * If `true`, the accordion group cannot be interacted with, but does not alter the opacity.
4778
5318
  */
4779
5319
  "readonly"?: boolean;
5320
+ /**
5321
+ * The theme determines the visual appearance of the component.
5322
+ */
5323
+ "theme"?: "ios" | "md" | "ionic";
4780
5324
  /**
4781
5325
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
4782
5326
  */
@@ -4824,7 +5368,7 @@ declare namespace LocalJSX {
4824
5368
  */
4825
5369
  "leaveAnimation"?: AnimationBuilder;
4826
5370
  /**
4827
- * The mode determines which platform styles to use.
5371
+ * The mode determines the platform behaviors of the component.
4828
5372
  */
4829
5373
  "mode"?: "ios" | "md";
4830
5374
  /**
@@ -4864,7 +5408,11 @@ declare namespace LocalJSX {
4864
5408
  */
4865
5409
  "subHeader"?: string;
4866
5410
  /**
4867
- * 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).
5411
+ * The theme determines the visual appearance of the component.
5412
+ */
5413
+ "theme"?: "ios" | "md" | "ionic";
5414
+ /**
5415
+ * 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).
4868
5416
  */
4869
5417
  "translucent"?: boolean;
4870
5418
  /**
@@ -4922,7 +5470,7 @@ declare namespace LocalJSX {
4922
5470
  */
4923
5471
  "message"?: string | IonicSafeString;
4924
5472
  /**
4925
- * The mode determines which platform styles to use.
5473
+ * The mode determines the platform behaviors of the component.
4926
5474
  */
4927
5475
  "mode"?: "ios" | "md";
4928
5476
  /**
@@ -4962,7 +5510,11 @@ declare namespace LocalJSX {
4962
5510
  */
4963
5511
  "subHeader"?: string;
4964
5512
  /**
4965
- * 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).
5513
+ * The theme determines the visual appearance of the component.
5514
+ */
5515
+ "theme"?: "ios" | "md" | "ionic";
5516
+ /**
5517
+ * 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).
4966
5518
  */
4967
5519
  "translucent"?: boolean;
4968
5520
  /**
@@ -4971,8 +5523,24 @@ declare namespace LocalJSX {
4971
5523
  "trigger"?: string | undefined;
4972
5524
  }
4973
5525
  interface IonApp {
5526
+ /**
5527
+ * The mode determines the platform behaviors of the component.
5528
+ */
5529
+ "mode"?: "ios" | "md";
5530
+ /**
5531
+ * The theme determines the visual appearance of the component.
5532
+ */
5533
+ "theme"?: "ios" | "md" | "ionic";
4974
5534
  }
4975
5535
  interface IonAvatar {
5536
+ /**
5537
+ * The mode determines the platform behaviors of the component.
5538
+ */
5539
+ "mode"?: "ios" | "md";
5540
+ /**
5541
+ * The theme determines the visual appearance of the component.
5542
+ */
5543
+ "theme"?: "ios" | "md" | "ionic";
4976
5544
  }
4977
5545
  interface IonBackButton {
4978
5546
  /**
@@ -4992,7 +5560,7 @@ declare namespace LocalJSX {
4992
5560
  */
4993
5561
  "icon"?: string | null;
4994
5562
  /**
4995
- * The mode determines which platform styles to use.
5563
+ * The mode determines the platform behaviors of the component.
4996
5564
  */
4997
5565
  "mode"?: "ios" | "md";
4998
5566
  /**
@@ -5003,12 +5571,20 @@ declare namespace LocalJSX {
5003
5571
  * The text to display in the back button.
5004
5572
  */
5005
5573
  "text"?: string | null;
5574
+ /**
5575
+ * The theme determines the visual appearance of the component.
5576
+ */
5577
+ "theme"?: "ios" | "md" | "ionic";
5006
5578
  /**
5007
5579
  * The type of the button.
5008
5580
  */
5009
5581
  "type"?: 'submit' | 'reset' | 'button';
5010
5582
  }
5011
5583
  interface IonBackdrop {
5584
+ /**
5585
+ * The mode determines the platform behaviors of the component.
5586
+ */
5587
+ "mode"?: "ios" | "md";
5012
5588
  /**
5013
5589
  * Emitted when the backdrop is tapped.
5014
5590
  */
@@ -5021,6 +5597,10 @@ declare namespace LocalJSX {
5021
5597
  * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
5022
5598
  */
5023
5599
  "tappable"?: boolean;
5600
+ /**
5601
+ * The theme determines the visual appearance of the component.
5602
+ */
5603
+ "theme"?: "ios" | "md" | "ionic";
5024
5604
  /**
5025
5605
  * If `true`, the backdrop will be visible.
5026
5606
  */
@@ -5032,9 +5612,13 @@ declare namespace LocalJSX {
5032
5612
  */
5033
5613
  "color"?: Color;
5034
5614
  /**
5035
- * The mode determines which platform styles to use.
5615
+ * The mode determines the platform behaviors of the component.
5036
5616
  */
5037
5617
  "mode"?: "ios" | "md";
5618
+ /**
5619
+ * The theme determines the visual appearance of the component.
5620
+ */
5621
+ "theme"?: "ios" | "md" | "ionic";
5038
5622
  }
5039
5623
  interface IonBreadcrumb {
5040
5624
  /**
@@ -5058,7 +5642,7 @@ declare namespace LocalJSX {
5058
5642
  */
5059
5643
  "href"?: string | undefined;
5060
5644
  /**
5061
- * The mode determines which platform styles to use.
5645
+ * The mode determines the platform behaviors of the component.
5062
5646
  */
5063
5647
  "mode"?: "ios" | "md";
5064
5648
  /**
@@ -5089,6 +5673,10 @@ declare namespace LocalJSX {
5089
5673
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5090
5674
  */
5091
5675
  "target"?: string | undefined;
5676
+ /**
5677
+ * The theme determines the visual appearance of the component.
5678
+ */
5679
+ "theme"?: "ios" | "md" | "ionic";
5092
5680
  }
5093
5681
  interface IonBreadcrumbs {
5094
5682
  /**
@@ -5108,13 +5696,17 @@ declare namespace LocalJSX {
5108
5696
  */
5109
5697
  "maxItems"?: number;
5110
5698
  /**
5111
- * The mode determines which platform styles to use.
5699
+ * The mode determines the platform behaviors of the component.
5112
5700
  */
5113
5701
  "mode"?: "ios" | "md";
5114
5702
  /**
5115
5703
  * Emitted when the collapsed indicator is clicked on.
5116
5704
  */
5117
5705
  "onIonCollapsedClick"?: (event: IonBreadcrumbsCustomEvent<BreadcrumbCollapsedClickEventDetail>) => void;
5706
+ /**
5707
+ * The theme determines the visual appearance of the component.
5708
+ */
5709
+ "theme"?: "ios" | "md" | "ionic";
5118
5710
  }
5119
5711
  interface IonButton {
5120
5712
  /**
@@ -5150,7 +5742,7 @@ declare namespace LocalJSX {
5150
5742
  */
5151
5743
  "href"?: string | undefined;
5152
5744
  /**
5153
- * The mode determines which platform styles to use.
5745
+ * The mode determines the platform behaviors of the component.
5154
5746
  */
5155
5747
  "mode"?: "ios" | "md";
5156
5748
  /**
@@ -5176,11 +5768,11 @@ declare namespace LocalJSX {
5176
5768
  /**
5177
5769
  * Set to `"round"` for a button with more rounded corners.
5178
5770
  */
5179
- "shape"?: 'round';
5771
+ "shape"?: 'round' | 'rectangular';
5180
5772
  /**
5181
5773
  * 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.
5182
5774
  */
5183
- "size"?: 'small' | 'default' | 'large';
5775
+ "size"?: 'xsmall' | 'small' | 'default' | 'large' | 'xlarge';
5184
5776
  /**
5185
5777
  * If `true`, activates a button with a heavier font weight.
5186
5778
  */
@@ -5189,6 +5781,10 @@ declare namespace LocalJSX {
5189
5781
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5190
5782
  */
5191
5783
  "target"?: string | undefined;
5784
+ /**
5785
+ * The theme determines the visual appearance of the component.
5786
+ */
5787
+ "theme"?: "ios" | "md" | "ionic";
5192
5788
  /**
5193
5789
  * The type of the button.
5194
5790
  */
@@ -5196,9 +5792,17 @@ declare namespace LocalJSX {
5196
5792
  }
5197
5793
  interface IonButtons {
5198
5794
  /**
5199
- * 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)
5795
+ * 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)
5200
5796
  */
5201
5797
  "collapse"?: boolean;
5798
+ /**
5799
+ * The mode determines the platform behaviors of the component.
5800
+ */
5801
+ "mode"?: "ios" | "md";
5802
+ /**
5803
+ * The theme determines the visual appearance of the component.
5804
+ */
5805
+ "theme"?: "ios" | "md" | "ionic";
5202
5806
  }
5203
5807
  interface IonCard {
5204
5808
  /**
@@ -5222,7 +5826,7 @@ declare namespace LocalJSX {
5222
5826
  */
5223
5827
  "href"?: string | undefined;
5224
5828
  /**
5225
- * The mode determines which platform styles to use.
5829
+ * The mode determines the platform behaviors of the component.
5226
5830
  */
5227
5831
  "mode"?: "ios" | "md";
5228
5832
  /**
@@ -5237,10 +5841,18 @@ declare namespace LocalJSX {
5237
5841
  * When using a router, it specifies the transition direction when navigating to another page using `href`.
5238
5842
  */
5239
5843
  "routerDirection"?: RouterDirection;
5844
+ /**
5845
+ * Set to `"round"` for a card with more rounded corners, or `"rectangular"` for a card without rounded corners.
5846
+ */
5847
+ "shape"?: 'round' | 'rectangular';
5240
5848
  /**
5241
5849
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5242
5850
  */
5243
5851
  "target"?: string | undefined;
5852
+ /**
5853
+ * The theme determines the visual appearance of the component.
5854
+ */
5855
+ "theme"?: "ios" | "md" | "ionic";
5244
5856
  /**
5245
5857
  * The type of the button. Only used when an `onclick` or `button` property is present.
5246
5858
  */
@@ -5248,9 +5860,13 @@ declare namespace LocalJSX {
5248
5860
  }
5249
5861
  interface IonCardContent {
5250
5862
  /**
5251
- * The mode determines which platform styles to use.
5863
+ * The mode determines the platform behaviors of the component.
5252
5864
  */
5253
5865
  "mode"?: "ios" | "md";
5866
+ /**
5867
+ * The theme determines the visual appearance of the component.
5868
+ */
5869
+ "theme"?: "ios" | "md" | "ionic";
5254
5870
  }
5255
5871
  interface IonCardHeader {
5256
5872
  /**
@@ -5258,11 +5874,15 @@ declare namespace LocalJSX {
5258
5874
  */
5259
5875
  "color"?: Color;
5260
5876
  /**
5261
- * The mode determines which platform styles to use.
5877
+ * The mode determines the platform behaviors of the component.
5262
5878
  */
5263
5879
  "mode"?: "ios" | "md";
5264
5880
  /**
5265
- * 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).
5881
+ * The theme determines the visual appearance of the component.
5882
+ */
5883
+ "theme"?: "ios" | "md" | "ionic";
5884
+ /**
5885
+ * 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).
5266
5886
  */
5267
5887
  "translucent"?: boolean;
5268
5888
  }
@@ -5272,9 +5892,13 @@ declare namespace LocalJSX {
5272
5892
  */
5273
5893
  "color"?: Color;
5274
5894
  /**
5275
- * The mode determines which platform styles to use.
5895
+ * The mode determines the platform behaviors of the component.
5276
5896
  */
5277
5897
  "mode"?: "ios" | "md";
5898
+ /**
5899
+ * The theme determines the visual appearance of the component.
5900
+ */
5901
+ "theme"?: "ios" | "md" | "ionic";
5278
5902
  }
5279
5903
  interface IonCardTitle {
5280
5904
  /**
@@ -5282,9 +5906,13 @@ declare namespace LocalJSX {
5282
5906
  */
5283
5907
  "color"?: Color;
5284
5908
  /**
5285
- * The mode determines which platform styles to use.
5909
+ * The mode determines the platform behaviors of the component.
5286
5910
  */
5287
5911
  "mode"?: "ios" | "md";
5912
+ /**
5913
+ * The theme determines the visual appearance of the component.
5914
+ */
5915
+ "theme"?: "ios" | "md" | "ionic";
5288
5916
  }
5289
5917
  interface IonCheckbox {
5290
5918
  /**
@@ -5316,7 +5944,7 @@ declare namespace LocalJSX {
5316
5944
  */
5317
5945
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
5318
5946
  /**
5319
- * The mode determines which platform styles to use.
5947
+ * The mode determines the platform behaviors of the component.
5320
5948
  */
5321
5949
  "mode"?: "ios" | "md";
5322
5950
  /**
@@ -5335,6 +5963,18 @@ declare namespace LocalJSX {
5335
5963
  * Emitted when the checkbox has focus.
5336
5964
  */
5337
5965
  "onIonFocus"?: (event: IonCheckboxCustomEvent<void>) => void;
5966
+ /**
5967
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
5968
+ */
5969
+ "shape"?: 'soft' | 'rectangular';
5970
+ /**
5971
+ * Set to `"small"` for a checkbox with less height and padding.
5972
+ */
5973
+ "size"?: 'small';
5974
+ /**
5975
+ * The theme determines the visual appearance of the component.
5976
+ */
5977
+ "theme"?: "ios" | "md" | "ionic";
5338
5978
  /**
5339
5979
  * 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>`.
5340
5980
  */
@@ -5350,15 +5990,27 @@ declare namespace LocalJSX {
5350
5990
  */
5351
5991
  "disabled"?: boolean;
5352
5992
  /**
5353
- * The mode determines which platform styles to use.
5993
+ * The mode determines the platform behaviors of the component.
5354
5994
  */
5355
5995
  "mode"?: "ios" | "md";
5356
5996
  /**
5357
5997
  * Display an outline style button.
5358
5998
  */
5359
5999
  "outline"?: boolean;
6000
+ /**
6001
+ * Define the Chip corner shape, when using the Ionic Theme.
6002
+ */
6003
+ "shape"?: 'round' | 'rectangular';
6004
+ /**
6005
+ * The theme determines the visual appearance of the component.
6006
+ */
6007
+ "theme"?: "ios" | "md" | "ionic";
5360
6008
  }
5361
6009
  interface IonCol {
6010
+ /**
6011
+ * The mode determines the platform behaviors of the component.
6012
+ */
6013
+ "mode"?: "ios" | "md";
5362
6014
  /**
5363
6015
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
5364
6016
  */
@@ -5455,12 +6107,20 @@ declare namespace LocalJSX {
5455
6107
  * 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.
5456
6108
  */
5457
6109
  "sizeXs"?: string;
6110
+ /**
6111
+ * The theme determines the visual appearance of the component.
6112
+ */
6113
+ "theme"?: "ios" | "md" | "ionic";
5458
6114
  }
5459
6115
  interface IonContent {
5460
6116
  /**
5461
6117
  * 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).
5462
6118
  */
5463
6119
  "color"?: Color;
6120
+ /**
6121
+ * Controls where the fixed content is placed relative to the main content in the DOM. This can be used to control the order in which fixed elements receive keyboard focus. For example, if a FAB in the fixed slot should receive keyboard focus before the main page content, set this property to `'before'`.
6122
+ */
6123
+ "fixedSlotPlacement"?: 'after' | 'before';
5464
6124
  /**
5465
6125
  * If `true` and the content does not cause an overflow scroll, the scroll interaction will cause a bounce. If the content exceeds the bounds of ionContent, nothing will change. Note, this does not disable the system bounce on iOS. That is an OS level setting.
5466
6126
  */
@@ -5469,6 +6129,10 @@ declare namespace LocalJSX {
5469
6129
  * If `true`, the content will scroll behind the headers and footers. This effect can easily be seen by setting the toolbar to transparent.
5470
6130
  */
5471
6131
  "fullscreen"?: boolean;
6132
+ /**
6133
+ * The mode determines the platform behaviors of the component.
6134
+ */
6135
+ "mode"?: "ios" | "md";
5472
6136
  /**
5473
6137
  * Emitted while scrolling. This event is disabled by default. Set `scrollEvents` to `true` to enable.
5474
6138
  */
@@ -5493,6 +6157,10 @@ declare namespace LocalJSX {
5493
6157
  * If you want to disable the content scrolling in the Y axis, set this property to `false`.
5494
6158
  */
5495
6159
  "scrollY"?: boolean;
6160
+ /**
6161
+ * The theme determines the visual appearance of the component.
6162
+ */
6163
+ "theme"?: "ios" | "md" | "ionic";
5496
6164
  }
5497
6165
  interface IonDatetime {
5498
6166
  /**
@@ -5560,7 +6228,7 @@ declare namespace LocalJSX {
5560
6228
  */
5561
6229
  "minuteValues"?: number[] | number | string;
5562
6230
  /**
5563
- * The mode determines which platform styles to use.
6231
+ * The mode determines the platform behaviors of the component.
5564
6232
  */
5565
6233
  "mode"?: "ios" | "md";
5566
6234
  /**
@@ -5623,6 +6291,10 @@ declare namespace LocalJSX {
5623
6291
  * 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.
5624
6292
  */
5625
6293
  "size"?: 'cover' | 'fixed';
6294
+ /**
6295
+ * The theme determines the visual appearance of the component.
6296
+ */
6297
+ "theme"?: "ios" | "md" | "ionic";
5626
6298
  /**
5627
6299
  * 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.
5628
6300
  */
@@ -5650,9 +6322,13 @@ declare namespace LocalJSX {
5650
6322
  */
5651
6323
  "disabled"?: boolean;
5652
6324
  /**
5653
- * The mode determines which platform styles to use.
6325
+ * The mode determines the platform behaviors of the component.
5654
6326
  */
5655
6327
  "mode"?: "ios" | "md";
6328
+ /**
6329
+ * The theme determines the visual appearance of the component.
6330
+ */
6331
+ "theme"?: "ios" | "md" | "ionic";
5656
6332
  }
5657
6333
  interface IonFab {
5658
6334
  /**
@@ -5667,6 +6343,14 @@ declare namespace LocalJSX {
5667
6343
  * Where to align the fab horizontally in the viewport.
5668
6344
  */
5669
6345
  "horizontal"?: 'start' | 'end' | 'center';
6346
+ /**
6347
+ * The mode determines the platform behaviors of the component.
6348
+ */
6349
+ "mode"?: "ios" | "md";
6350
+ /**
6351
+ * The theme determines the visual appearance of the component.
6352
+ */
6353
+ "theme"?: "ios" | "md" | "ionic";
5670
6354
  /**
5671
6355
  * Where to align the fab vertically in the viewport.
5672
6356
  */
@@ -5698,7 +6382,7 @@ declare namespace LocalJSX {
5698
6382
  */
5699
6383
  "href"?: string | undefined;
5700
6384
  /**
5701
- * The mode determines which platform styles to use.
6385
+ * The mode determines the platform behaviors of the component.
5702
6386
  */
5703
6387
  "mode"?: "ios" | "md";
5704
6388
  /**
@@ -5734,7 +6418,11 @@ declare namespace LocalJSX {
5734
6418
  */
5735
6419
  "target"?: string | undefined;
5736
6420
  /**
5737
- * 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).
6421
+ * The theme determines the visual appearance of the component.
6422
+ */
6423
+ "theme"?: "ios" | "md" | "ionic";
6424
+ /**
6425
+ * 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).
5738
6426
  */
5739
6427
  "translucent"?: boolean;
5740
6428
  /**
@@ -5747,22 +6435,34 @@ declare namespace LocalJSX {
5747
6435
  * If `true`, the fab list will show all fab buttons in the list.
5748
6436
  */
5749
6437
  "activated"?: boolean;
6438
+ /**
6439
+ * The mode determines the platform behaviors of the component.
6440
+ */
6441
+ "mode"?: "ios" | "md";
5750
6442
  /**
5751
6443
  * The side the fab list will show on relative to the main fab button.
5752
6444
  */
5753
6445
  "side"?: 'start' | 'end' | 'top' | 'bottom';
6446
+ /**
6447
+ * The theme determines the visual appearance of the component.
6448
+ */
6449
+ "theme"?: "ios" | "md" | "ionic";
5754
6450
  }
5755
6451
  interface IonFooter {
5756
6452
  /**
5757
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
6453
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
5758
6454
  */
5759
6455
  "collapse"?: 'fade';
5760
6456
  /**
5761
- * The mode determines which platform styles to use.
6457
+ * The mode determines the platform behaviors of the component.
5762
6458
  */
5763
6459
  "mode"?: "ios" | "md";
5764
6460
  /**
5765
- * 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.
6461
+ * The theme determines the visual appearance of the component.
6462
+ */
6463
+ "theme"?: "ios" | "md" | "ionic";
6464
+ /**
6465
+ * 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.
5766
6466
  */
5767
6467
  "translucent"?: boolean;
5768
6468
  }
@@ -5771,18 +6471,30 @@ declare namespace LocalJSX {
5771
6471
  * If `true`, the grid will have a fixed width based on the screen size.
5772
6472
  */
5773
6473
  "fixed"?: boolean;
6474
+ /**
6475
+ * The mode determines the platform behaviors of the component.
6476
+ */
6477
+ "mode"?: "ios" | "md";
6478
+ /**
6479
+ * The theme determines the visual appearance of the component.
6480
+ */
6481
+ "theme"?: "ios" | "md" | "ionic";
5774
6482
  }
5775
6483
  interface IonHeader {
5776
6484
  /**
5777
- * 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)
6485
+ * 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)
5778
6486
  */
5779
6487
  "collapse"?: 'condense' | 'fade';
5780
6488
  /**
5781
- * The mode determines which platform styles to use.
6489
+ * The mode determines the platform behaviors of the component.
5782
6490
  */
5783
6491
  "mode"?: "ios" | "md";
5784
6492
  /**
5785
- * 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.
6493
+ * The theme determines the visual appearance of the component.
6494
+ */
6495
+ "theme"?: "ios" | "md" | "ionic";
6496
+ /**
6497
+ * 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.
5786
6498
  */
5787
6499
  "translucent"?: boolean;
5788
6500
  }
@@ -5791,6 +6503,10 @@ declare namespace LocalJSX {
5791
6503
  * 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.
5792
6504
  */
5793
6505
  "alt"?: string;
6506
+ /**
6507
+ * The mode determines the platform behaviors of the component.
6508
+ */
6509
+ "mode"?: "ios" | "md";
5794
6510
  /**
5795
6511
  * Emitted when the img fails to load
5796
6512
  */
@@ -5807,12 +6523,20 @@ declare namespace LocalJSX {
5807
6523
  * The image URL. This attribute is mandatory for the `<img>` element.
5808
6524
  */
5809
6525
  "src"?: string;
6526
+ /**
6527
+ * The theme determines the visual appearance of the component.
6528
+ */
6529
+ "theme"?: "ios" | "md" | "ionic";
5810
6530
  }
5811
6531
  interface IonInfiniteScroll {
5812
6532
  /**
5813
6533
  * 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.
5814
6534
  */
5815
6535
  "disabled"?: boolean;
6536
+ /**
6537
+ * The mode determines the platform behaviors of the component.
6538
+ */
6539
+ "mode"?: "ios" | "md";
5816
6540
  /**
5817
6541
  * 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.
5818
6542
  */
@@ -5821,6 +6545,10 @@ declare namespace LocalJSX {
5821
6545
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
5822
6546
  */
5823
6547
  "position"?: 'top' | 'bottom';
6548
+ /**
6549
+ * The theme determines the visual appearance of the component.
6550
+ */
6551
+ "theme"?: "ios" | "md" | "ionic";
5824
6552
  /**
5825
6553
  * 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.
5826
6554
  */
@@ -5835,6 +6563,14 @@ declare namespace LocalJSX {
5835
6563
  * 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.
5836
6564
  */
5837
6565
  "loadingText"?: string | IonicSafeString;
6566
+ /**
6567
+ * The mode determines the platform behaviors of the component.
6568
+ */
6569
+ "mode"?: "ios" | "md";
6570
+ /**
6571
+ * The theme determines the visual appearance of the component.
6572
+ */
6573
+ "theme"?: "ios" | "md" | "ionic";
5838
6574
  }
5839
6575
  interface IonInput {
5840
6576
  /**
@@ -5857,6 +6593,10 @@ declare namespace LocalJSX {
5857
6593
  * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.
5858
6594
  */
5859
6595
  "clearInput"?: boolean;
6596
+ /**
6597
+ * The icon to use for the clear button. Only applies when `clearInput` is set to `true`.
6598
+ */
6599
+ "clearInputIcon"?: string;
5860
6600
  /**
5861
6601
  * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types.
5862
6602
  */
@@ -5890,7 +6630,7 @@ declare namespace LocalJSX {
5890
6630
  */
5891
6631
  "errorText"?: string;
5892
6632
  /**
5893
- * 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.
6633
+ * 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"`.
5894
6634
  */
5895
6635
  "fill"?: 'outline' | 'solid';
5896
6636
  /**
@@ -5926,7 +6666,7 @@ declare namespace LocalJSX {
5926
6666
  */
5927
6667
  "minlength"?: number;
5928
6668
  /**
5929
- * The mode determines which platform styles to use.
6669
+ * The mode determines the platform behaviors of the component.
5930
6670
  */
5931
6671
  "mode"?: "ios" | "md";
5932
6672
  /**
@@ -5981,6 +6721,10 @@ declare namespace LocalJSX {
5981
6721
  * 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.
5982
6722
  */
5983
6723
  "step"?: string;
6724
+ /**
6725
+ * The theme determines the visual appearance of the component.
6726
+ */
6727
+ "theme"?: "ios" | "md" | "ionic";
5984
6728
  /**
5985
6729
  * The type of control to display. The default type is text.
5986
6730
  */
@@ -6018,7 +6762,7 @@ declare namespace LocalJSX {
6018
6762
  */
6019
6763
  "color"?: Color;
6020
6764
  /**
6021
- * 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.
6765
+ * 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.
6022
6766
  */
6023
6767
  "detail"?: boolean;
6024
6768
  /**
@@ -6042,7 +6786,7 @@ declare namespace LocalJSX {
6042
6786
  */
6043
6787
  "lines"?: 'full' | 'inset' | 'none';
6044
6788
  /**
6045
- * The mode determines which platform styles to use.
6789
+ * The mode determines the platform behaviors of the component.
6046
6790
  */
6047
6791
  "mode"?: "ios" | "md";
6048
6792
  /**
@@ -6061,6 +6805,10 @@ declare namespace LocalJSX {
6061
6805
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6062
6806
  */
6063
6807
  "target"?: string | undefined;
6808
+ /**
6809
+ * The theme determines the visual appearance of the component.
6810
+ */
6811
+ "theme"?: "ios" | "md" | "ionic";
6064
6812
  /**
6065
6813
  * The type of the button. Only used when an `onclick` or `button` property is present.
6066
6814
  */
@@ -6072,15 +6820,27 @@ declare namespace LocalJSX {
6072
6820
  */
6073
6821
  "color"?: Color;
6074
6822
  /**
6075
- * The mode determines which platform styles to use.
6823
+ * The mode determines the platform behaviors of the component.
6076
6824
  */
6077
6825
  "mode"?: "ios" | "md";
6078
6826
  /**
6079
6827
  * 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
6080
6828
  */
6081
6829
  "sticky"?: boolean;
6830
+ /**
6831
+ * The theme determines the visual appearance of the component.
6832
+ */
6833
+ "theme"?: "ios" | "md" | "ionic";
6082
6834
  }
6083
6835
  interface IonItemGroup {
6836
+ /**
6837
+ * The mode determines the platform behaviors of the component.
6838
+ */
6839
+ "mode"?: "ios" | "md";
6840
+ /**
6841
+ * The theme determines the visual appearance of the component.
6842
+ */
6843
+ "theme"?: "ios" | "md" | "ionic";
6084
6844
  }
6085
6845
  interface IonItemOption {
6086
6846
  /**
@@ -6104,7 +6864,7 @@ declare namespace LocalJSX {
6104
6864
  */
6105
6865
  "href"?: string | undefined;
6106
6866
  /**
6107
- * The mode determines which platform styles to use.
6867
+ * The mode determines the platform behaviors of the component.
6108
6868
  */
6109
6869
  "mode"?: "ios" | "md";
6110
6870
  /**
@@ -6115,12 +6875,20 @@ declare namespace LocalJSX {
6115
6875
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6116
6876
  */
6117
6877
  "target"?: string | undefined;
6878
+ /**
6879
+ * The theme determines the visual appearance of the component.
6880
+ */
6881
+ "theme"?: "ios" | "md" | "ionic";
6118
6882
  /**
6119
6883
  * The type of the button.
6120
6884
  */
6121
6885
  "type"?: 'submit' | 'reset' | 'button';
6122
6886
  }
6123
6887
  interface IonItemOptions {
6888
+ /**
6889
+ * The mode determines the platform behaviors of the component.
6890
+ */
6891
+ "mode"?: "ios" | "md";
6124
6892
  /**
6125
6893
  * Emitted when the item has been fully swiped.
6126
6894
  */
@@ -6129,16 +6897,28 @@ declare namespace LocalJSX {
6129
6897
  * 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.
6130
6898
  */
6131
6899
  "side"?: Side;
6900
+ /**
6901
+ * The theme determines the visual appearance of the component.
6902
+ */
6903
+ "theme"?: "ios" | "md" | "ionic";
6132
6904
  }
6133
6905
  interface IonItemSliding {
6134
6906
  /**
6135
6907
  * If `true`, the user cannot interact with the sliding item.
6136
6908
  */
6137
6909
  "disabled"?: boolean;
6910
+ /**
6911
+ * The mode determines the platform behaviors of the component.
6912
+ */
6913
+ "mode"?: "ios" | "md";
6138
6914
  /**
6139
6915
  * Emitted when the sliding position changes.
6140
6916
  */
6141
6917
  "onIonDrag"?: (event: IonItemSlidingCustomEvent<any>) => void;
6918
+ /**
6919
+ * The theme determines the visual appearance of the component.
6920
+ */
6921
+ "theme"?: "ios" | "md" | "ionic";
6142
6922
  }
6143
6923
  interface IonLabel {
6144
6924
  /**
@@ -6146,13 +6926,17 @@ declare namespace LocalJSX {
6146
6926
  */
6147
6927
  "color"?: Color;
6148
6928
  /**
6149
- * The mode determines which platform styles to use.
6929
+ * The mode determines the platform behaviors of the component.
6150
6930
  */
6151
6931
  "mode"?: "ios" | "md";
6152
6932
  /**
6153
6933
  * The position determines where and how the label behaves inside an item.
6154
6934
  */
6155
6935
  "position"?: 'fixed' | 'stacked' | 'floating';
6936
+ /**
6937
+ * The theme determines the visual appearance of the component.
6938
+ */
6939
+ "theme"?: "ios" | "md" | "ionic";
6156
6940
  }
6157
6941
  interface IonList {
6158
6942
  /**
@@ -6164,9 +6948,13 @@ declare namespace LocalJSX {
6164
6948
  */
6165
6949
  "lines"?: 'full' | 'inset' | 'none';
6166
6950
  /**
6167
- * The mode determines which platform styles to use.
6951
+ * The mode determines the platform behaviors of the component.
6168
6952
  */
6169
6953
  "mode"?: "ios" | "md";
6954
+ /**
6955
+ * The theme determines the visual appearance of the component.
6956
+ */
6957
+ "theme"?: "ios" | "md" | "ionic";
6170
6958
  }
6171
6959
  interface IonListHeader {
6172
6960
  /**
@@ -6178,9 +6966,13 @@ declare namespace LocalJSX {
6178
6966
  */
6179
6967
  "lines"?: 'full' | 'inset' | 'none';
6180
6968
  /**
6181
- * The mode determines which platform styles to use.
6969
+ * The mode determines the platform behaviors of the component.
6182
6970
  */
6183
6971
  "mode"?: "ios" | "md";
6972
+ /**
6973
+ * The theme determines the visual appearance of the component.
6974
+ */
6975
+ "theme"?: "ios" | "md" | "ionic";
6184
6976
  }
6185
6977
  interface IonLoading {
6186
6978
  /**
@@ -6224,7 +7016,7 @@ declare namespace LocalJSX {
6224
7016
  */
6225
7017
  "message"?: string | IonicSafeString;
6226
7018
  /**
6227
- * The mode determines which platform styles to use.
7019
+ * The mode determines the platform behaviors of the component.
6228
7020
  */
6229
7021
  "mode"?: "ios" | "md";
6230
7022
  /**
@@ -6268,7 +7060,11 @@ declare namespace LocalJSX {
6268
7060
  */
6269
7061
  "spinner"?: SpinnerTypes | null;
6270
7062
  /**
6271
- * 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).
7063
+ * The theme determines the visual appearance of the component.
7064
+ */
7065
+ "theme"?: "ios" | "md" | "ionic";
7066
+ /**
7067
+ * 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).
6272
7068
  */
6273
7069
  "translucent"?: boolean;
6274
7070
  /**
@@ -6293,6 +7089,10 @@ declare namespace LocalJSX {
6293
7089
  * An id for the menu.
6294
7090
  */
6295
7091
  "menuId"?: string;
7092
+ /**
7093
+ * The mode determines the platform behaviors of the component.
7094
+ */
7095
+ "mode"?: "ios" | "md";
6296
7096
  /**
6297
7097
  * Emitted when the menu is closed.
6298
7098
  */
@@ -6317,6 +7117,10 @@ declare namespace LocalJSX {
6317
7117
  * If `true`, swiping the menu is enabled.
6318
7118
  */
6319
7119
  "swipeGesture"?: boolean;
7120
+ /**
7121
+ * The theme determines the visual appearance of the component.
7122
+ */
7123
+ "theme"?: "ios" | "md" | "ionic";
6320
7124
  /**
6321
7125
  * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
6322
7126
  */
@@ -6340,9 +7144,13 @@ declare namespace LocalJSX {
6340
7144
  */
6341
7145
  "menu"?: string;
6342
7146
  /**
6343
- * The mode determines which platform styles to use.
7147
+ * The mode determines the platform behaviors of the component.
6344
7148
  */
6345
7149
  "mode"?: "ios" | "md";
7150
+ /**
7151
+ * The theme determines the visual appearance of the component.
7152
+ */
7153
+ "theme"?: "ios" | "md" | "ionic";
6346
7154
  /**
6347
7155
  * The type of the button.
6348
7156
  */
@@ -6357,6 +7165,14 @@ declare namespace LocalJSX {
6357
7165
  * 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.
6358
7166
  */
6359
7167
  "menu"?: string;
7168
+ /**
7169
+ * The mode determines the platform behaviors of the component.
7170
+ */
7171
+ "mode"?: "ios" | "md";
7172
+ /**
7173
+ * The theme determines the visual appearance of the component.
7174
+ */
7175
+ "theme"?: "ios" | "md" | "ionic";
6360
7176
  }
6361
7177
  interface IonModal {
6362
7178
  /**
@@ -6416,7 +7232,7 @@ declare namespace LocalJSX {
6416
7232
  */
6417
7233
  "leaveAnimation"?: AnimationBuilder;
6418
7234
  /**
6419
- * The mode determines which platform styles to use.
7235
+ * The mode determines the platform behaviors of the component.
6420
7236
  */
6421
7237
  "mode"?: "ios" | "md";
6422
7238
  /**
@@ -6463,6 +7279,10 @@ declare namespace LocalJSX {
6463
7279
  * 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.
6464
7280
  */
6465
7281
  "showBackdrop"?: boolean;
7282
+ /**
7283
+ * The theme determines the visual appearance of the component.
7284
+ */
7285
+ "theme"?: "ios" | "md" | "ionic";
6466
7286
  /**
6467
7287
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
6468
7288
  */
@@ -6474,9 +7294,13 @@ declare namespace LocalJSX {
6474
7294
  */
6475
7295
  "animated"?: boolean;
6476
7296
  /**
6477
- * 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.
7297
+ * 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.
6478
7298
  */
6479
7299
  "animation"?: AnimationBuilder;
7300
+ /**
7301
+ * The mode determines the platform behaviors of the component.
7302
+ */
7303
+ "mode"?: "ios" | "md";
6480
7304
  /**
6481
7305
  * Event fired when the nav has changed components
6482
7306
  */
@@ -6497,6 +7321,10 @@ declare namespace LocalJSX {
6497
7321
  * If the nav component should allow for swipe-to-go-back.
6498
7322
  */
6499
7323
  "swipeGesture"?: boolean;
7324
+ /**
7325
+ * The theme determines the visual appearance of the component.
7326
+ */
7327
+ "theme"?: "ios" | "md" | "ionic";
6500
7328
  }
6501
7329
  interface IonNavLink {
6502
7330
  /**
@@ -6507,6 +7335,10 @@ declare namespace LocalJSX {
6507
7335
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
6508
7336
  */
6509
7337
  "componentProps"?: ComponentProps;
7338
+ /**
7339
+ * The mode determines the platform behaviors of the component.
7340
+ */
7341
+ "mode"?: "ios" | "md";
6510
7342
  /**
6511
7343
  * The transition animation when navigating to another page.
6512
7344
  */
@@ -6515,6 +7347,10 @@ declare namespace LocalJSX {
6515
7347
  * The transition direction when navigating to another page.
6516
7348
  */
6517
7349
  "routerDirection"?: RouterDirection;
7350
+ /**
7351
+ * The theme determines the visual appearance of the component.
7352
+ */
7353
+ "theme"?: "ios" | "md" | "ionic";
6518
7354
  }
6519
7355
  interface IonNote {
6520
7356
  /**
@@ -6522,15 +7358,23 @@ declare namespace LocalJSX {
6522
7358
  */
6523
7359
  "color"?: Color;
6524
7360
  /**
6525
- * The mode determines which platform styles to use.
7361
+ * The mode determines the platform behaviors of the component.
6526
7362
  */
6527
7363
  "mode"?: "ios" | "md";
7364
+ /**
7365
+ * The theme determines the visual appearance of the component.
7366
+ */
7367
+ "theme"?: "ios" | "md" | "ionic";
6528
7368
  }
6529
7369
  interface IonPicker {
6530
7370
  /**
6531
- * The mode determines which platform styles to use.
7371
+ * The mode determines the platform behaviors of the component.
6532
7372
  */
6533
7373
  "mode"?: "ios" | "md";
7374
+ /**
7375
+ * The theme determines the visual appearance of the component.
7376
+ */
7377
+ "theme"?: "ios" | "md" | "ionic";
6534
7378
  }
6535
7379
  interface IonPickerColumn {
6536
7380
  /**
@@ -6542,13 +7386,17 @@ declare namespace LocalJSX {
6542
7386
  */
6543
7387
  "disabled"?: boolean;
6544
7388
  /**
6545
- * The mode determines which platform styles to use.
7389
+ * The mode determines the platform behaviors of the component.
6546
7390
  */
6547
7391
  "mode"?: "ios" | "md";
6548
7392
  /**
6549
7393
  * Emitted when the value has changed.
6550
7394
  */
6551
7395
  "onIonChange"?: (event: IonPickerColumnCustomEvent<PickerColumnChangeEventDetail>) => void;
7396
+ /**
7397
+ * The theme determines the visual appearance of the component.
7398
+ */
7399
+ "theme"?: "ios" | "md" | "ionic";
6552
7400
  /**
6553
7401
  * The selected option in the picker.
6554
7402
  */
@@ -6563,6 +7411,14 @@ declare namespace LocalJSX {
6563
7411
  * If `true`, the user cannot interact with the picker column option.
6564
7412
  */
6565
7413
  "disabled"?: boolean;
7414
+ /**
7415
+ * The mode determines the platform behaviors of the component.
7416
+ */
7417
+ "mode"?: "ios" | "md";
7418
+ /**
7419
+ * The theme determines the visual appearance of the component.
7420
+ */
7421
+ "theme"?: "ios" | "md" | "ionic";
6566
7422
  /**
6567
7423
  * The text value of the option.
6568
7424
  */
@@ -6614,7 +7470,7 @@ declare namespace LocalJSX {
6614
7470
  */
6615
7471
  "leaveAnimation"?: AnimationBuilder;
6616
7472
  /**
6617
- * The mode determines which platform styles to use.
7473
+ * The mode determines the platform behaviors of the component.
6618
7474
  */
6619
7475
  "mode"?: "ios" | "md";
6620
7476
  /**
@@ -6653,6 +7509,10 @@ declare namespace LocalJSX {
6653
7509
  * If `true`, a backdrop will be displayed behind the picker.
6654
7510
  */
6655
7511
  "showBackdrop"?: boolean;
7512
+ /**
7513
+ * The theme determines the visual appearance of the component.
7514
+ */
7515
+ "theme"?: "ios" | "md" | "ionic";
6656
7516
  /**
6657
7517
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
6658
7518
  */
@@ -6666,7 +7526,7 @@ declare namespace LocalJSX {
6666
7526
  }
6667
7527
  interface IonPopover {
6668
7528
  /**
6669
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
7529
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
6670
7530
  */
6671
7531
  "alignment"?: PositionAlign;
6672
7532
  /**
@@ -6674,7 +7534,7 @@ declare namespace LocalJSX {
6674
7534
  */
6675
7535
  "animated"?: boolean;
6676
7536
  /**
6677
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
7537
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
6678
7538
  */
6679
7539
  "arrow"?: boolean;
6680
7540
  /**
@@ -6722,7 +7582,7 @@ declare namespace LocalJSX {
6722
7582
  */
6723
7583
  "leaveAnimation"?: AnimationBuilder;
6724
7584
  /**
6725
- * The mode determines which platform styles to use.
7585
+ * The mode determines the platform behaviors of the component.
6726
7586
  */
6727
7587
  "mode"?: "ios" | "md";
6728
7588
  /**
@@ -6774,7 +7634,11 @@ declare namespace LocalJSX {
6774
7634
  */
6775
7635
  "size"?: PopoverSize;
6776
7636
  /**
6777
- * 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).
7637
+ * The theme determines the visual appearance of the component.
7638
+ */
7639
+ "theme"?: "ios" | "md" | "ionic";
7640
+ /**
7641
+ * 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).
6778
7642
  */
6779
7643
  "translucent"?: boolean;
6780
7644
  /**
@@ -6796,13 +7660,17 @@ declare namespace LocalJSX {
6796
7660
  */
6797
7661
  "color"?: Color;
6798
7662
  /**
6799
- * The mode determines which platform styles to use.
7663
+ * The mode determines the platform behaviors of the component.
6800
7664
  */
6801
7665
  "mode"?: "ios" | "md";
6802
7666
  /**
6803
7667
  * If true, reverse the progress bar direction.
6804
7668
  */
6805
7669
  "reversed"?: boolean;
7670
+ /**
7671
+ * The theme determines the visual appearance of the component.
7672
+ */
7673
+ "theme"?: "ios" | "md" | "ionic";
6806
7674
  /**
6807
7675
  * 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).
6808
7676
  */
@@ -6834,7 +7702,7 @@ declare namespace LocalJSX {
6834
7702
  */
6835
7703
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
6836
7704
  /**
6837
- * The mode determines which platform styles to use.
7705
+ * The mode determines the platform behaviors of the component.
6838
7706
  */
6839
7707
  "mode"?: "ios" | "md";
6840
7708
  /**
@@ -6849,6 +7717,10 @@ declare namespace LocalJSX {
6849
7717
  * Emitted when the radio button has focus.
6850
7718
  */
6851
7719
  "onIonFocus"?: (event: IonRadioCustomEvent<void>) => void;
7720
+ /**
7721
+ * The theme determines the visual appearance of the component.
7722
+ */
7723
+ "theme"?: "ios" | "md" | "ionic";
6852
7724
  /**
6853
7725
  * the value of the radio.
6854
7726
  */
@@ -6863,6 +7735,10 @@ declare namespace LocalJSX {
6863
7735
  * 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.
6864
7736
  */
6865
7737
  "compareWith"?: string | RadioGroupCompareFn | null;
7738
+ /**
7739
+ * The mode determines the platform behaviors of the component.
7740
+ */
7741
+ "mode"?: "ios" | "md";
6866
7742
  /**
6867
7743
  * The name of the control, which is submitted with the form data.
6868
7744
  */
@@ -6871,6 +7747,10 @@ declare namespace LocalJSX {
6871
7747
  * Emitted when the value has changed.
6872
7748
  */
6873
7749
  "onIonChange"?: (event: IonRadioGroupCustomEvent<RadioGroupChangeEventDetail>) => void;
7750
+ /**
7751
+ * The theme determines the visual appearance of the component.
7752
+ */
7753
+ "theme"?: "ios" | "md" | "ionic";
6874
7754
  /**
6875
7755
  * the value of the radio group.
6876
7756
  */
@@ -6914,7 +7794,7 @@ declare namespace LocalJSX {
6914
7794
  */
6915
7795
  "min"?: number;
6916
7796
  /**
6917
- * The mode determines which platform styles to use.
7797
+ * The mode determines the platform behaviors of the component.
6918
7798
  */
6919
7799
  "mode"?: "ios" | "md";
6920
7800
  /**
@@ -6961,6 +7841,10 @@ declare namespace LocalJSX {
6961
7841
  * Specifies the value granularity.
6962
7842
  */
6963
7843
  "step"?: number;
7844
+ /**
7845
+ * The theme determines the visual appearance of the component.
7846
+ */
7847
+ "theme"?: "ios" | "md" | "ionic";
6964
7848
  /**
6965
7849
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
6966
7850
  */
@@ -6980,7 +7864,7 @@ declare namespace LocalJSX {
6980
7864
  */
6981
7865
  "disabled"?: boolean;
6982
7866
  /**
6983
- * The mode determines which platform styles to use.
7867
+ * The mode determines the platform behaviors of the component.
6984
7868
  */
6985
7869
  "mode"?: "ios" | "md";
6986
7870
  /**
@@ -7011,8 +7895,16 @@ declare namespace LocalJSX {
7011
7895
  * 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.
7012
7896
  */
7013
7897
  "snapbackDuration"?: string;
7898
+ /**
7899
+ * The theme determines the visual appearance of the component.
7900
+ */
7901
+ "theme"?: "ios" | "md" | "ionic";
7014
7902
  }
7015
7903
  interface IonRefresherContent {
7904
+ /**
7905
+ * The mode determines the platform behaviors of the component.
7906
+ */
7907
+ "mode"?: "ios" | "md";
7016
7908
  /**
7017
7909
  * 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.
7018
7910
  */
@@ -7029,20 +7921,48 @@ declare namespace LocalJSX {
7029
7921
  * 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.
7030
7922
  */
7031
7923
  "refreshingText"?: string | IonicSafeString;
7924
+ /**
7925
+ * The theme determines the visual appearance of the component.
7926
+ */
7927
+ "theme"?: "ios" | "md" | "ionic";
7032
7928
  }
7033
7929
  interface IonReorder {
7930
+ /**
7931
+ * The mode determines the platform behaviors of the component.
7932
+ */
7933
+ "mode"?: "ios" | "md";
7934
+ /**
7935
+ * The theme determines the visual appearance of the component.
7936
+ */
7937
+ "theme"?: "ios" | "md" | "ionic";
7034
7938
  }
7035
7939
  interface IonReorderGroup {
7036
7940
  /**
7037
7941
  * If `true`, the reorder will be hidden.
7038
7942
  */
7039
7943
  "disabled"?: boolean;
7944
+ /**
7945
+ * The mode determines the platform behaviors of the component.
7946
+ */
7947
+ "mode"?: "ios" | "md";
7040
7948
  /**
7041
7949
  * 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.
7042
7950
  */
7043
7951
  "onIonItemReorder"?: (event: IonReorderGroupCustomEvent<ItemReorderEventDetail>) => void;
7952
+ /**
7953
+ * The theme determines the visual appearance of the component.
7954
+ */
7955
+ "theme"?: "ios" | "md" | "ionic";
7044
7956
  }
7045
7957
  interface IonRippleEffect {
7958
+ /**
7959
+ * The mode determines the platform behaviors of the component.
7960
+ */
7961
+ "mode"?: "ios" | "md";
7962
+ /**
7963
+ * The theme determines the visual appearance of the component.
7964
+ */
7965
+ "theme"?: "ios" | "md" | "ionic";
7046
7966
  /**
7047
7967
  * 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.
7048
7968
  */
@@ -7065,10 +7985,18 @@ declare namespace LocalJSX {
7065
7985
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
7066
7986
  */
7067
7987
  "componentProps"?: { [key: string]: any };
7988
+ /**
7989
+ * The mode determines the platform behaviors of the component.
7990
+ */
7991
+ "mode"?: "ios" | "md";
7068
7992
  /**
7069
7993
  * Used internally by `ion-router` to know when this route did change.
7070
7994
  */
7071
7995
  "onIonRouteDataChanged"?: (event: IonRouteCustomEvent<any>) => void;
7996
+ /**
7997
+ * The theme determines the visual appearance of the component.
7998
+ */
7999
+ "theme"?: "ios" | "md" | "ionic";
7072
8000
  /**
7073
8001
  * 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.
7074
8002
  */
@@ -7089,6 +8017,10 @@ declare namespace LocalJSX {
7089
8017
  "to": string | undefined | null;
7090
8018
  }
7091
8019
  interface IonRouter {
8020
+ /**
8021
+ * The mode determines the platform behaviors of the component.
8022
+ */
8023
+ "mode"?: "ios" | "md";
7092
8024
  /**
7093
8025
  * Emitted when the route had changed
7094
8026
  */
@@ -7101,6 +8033,10 @@ declare namespace LocalJSX {
7101
8033
  * 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.
7102
8034
  */
7103
8035
  "root"?: string;
8036
+ /**
8037
+ * The theme determines the visual appearance of the component.
8038
+ */
8039
+ "theme"?: "ios" | "md" | "ionic";
7104
8040
  /**
7105
8041
  * 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.
7106
8042
  */
@@ -7115,6 +8051,10 @@ declare namespace LocalJSX {
7115
8051
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
7116
8052
  */
7117
8053
  "href"?: string | undefined;
8054
+ /**
8055
+ * The mode determines the platform behaviors of the component.
8056
+ */
8057
+ "mode"?: "ios" | "md";
7118
8058
  /**
7119
8059
  * 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).
7120
8060
  */
@@ -7131,6 +8071,10 @@ declare namespace LocalJSX {
7131
8071
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
7132
8072
  */
7133
8073
  "target"?: string | undefined;
8074
+ /**
8075
+ * The theme determines the visual appearance of the component.
8076
+ */
8077
+ "theme"?: "ios" | "md" | "ionic";
7134
8078
  }
7135
8079
  interface IonRouterOutlet {
7136
8080
  /**
@@ -7142,11 +8086,23 @@ declare namespace LocalJSX {
7142
8086
  */
7143
8087
  "animation"?: AnimationBuilder;
7144
8088
  /**
7145
- * The mode determines which platform styles to use.
8089
+ * The mode determines the platform behaviors of the component.
7146
8090
  */
7147
8091
  "mode"?: "ios" | "md";
8092
+ /**
8093
+ * The theme determines the visual appearance of the component.
8094
+ */
8095
+ "theme"?: "ios" | "md" | "ionic";
7148
8096
  }
7149
8097
  interface IonRow {
8098
+ /**
8099
+ * The mode determines the platform behaviors of the component.
8100
+ */
8101
+ "mode"?: "ios" | "md";
8102
+ /**
8103
+ * The theme determines the visual appearance of the component.
8104
+ */
8105
+ "theme"?: "ios" | "md" | "ionic";
7150
8106
  }
7151
8107
  interface IonSearchbar {
7152
8108
  /**
@@ -7166,15 +8122,15 @@ declare namespace LocalJSX {
7166
8122
  */
7167
8123
  "autocorrect"?: 'on' | 'off';
7168
8124
  /**
7169
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
8125
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
7170
8126
  */
7171
8127
  "cancelButtonIcon"?: string;
7172
8128
  /**
7173
- * Set the the cancel button text. Only applies to `ios` mode.
8129
+ * Set the the cancel button text. Only available when the theme is `"ios"`.
7174
8130
  */
7175
8131
  "cancelButtonText"?: string;
7176
8132
  /**
7177
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
8133
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
7178
8134
  */
7179
8135
  "clearIcon"?: string;
7180
8136
  /**
@@ -7206,7 +8162,7 @@ declare namespace LocalJSX {
7206
8162
  */
7207
8163
  "minlength"?: number;
7208
8164
  /**
7209
- * The mode determines which platform styles to use.
8165
+ * The mode determines the platform behaviors of the component.
7210
8166
  */
7211
8167
  "mode"?: "ios" | "md";
7212
8168
  /**
@@ -7242,7 +8198,7 @@ declare namespace LocalJSX {
7242
8198
  */
7243
8199
  "placeholder"?: string;
7244
8200
  /**
7245
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
8201
+ * 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.
7246
8202
  */
7247
8203
  "searchIcon"?: string;
7248
8204
  /**
@@ -7257,6 +8213,10 @@ declare namespace LocalJSX {
7257
8213
  * If `true`, enable spellcheck on the input.
7258
8214
  */
7259
8215
  "spellcheck"?: boolean;
8216
+ /**
8217
+ * The theme determines the visual appearance of the component.
8218
+ */
8219
+ "theme"?: "ios" | "md" | "ionic";
7260
8220
  /**
7261
8221
  * Set the type of the input.
7262
8222
  */
@@ -7276,7 +8236,7 @@ declare namespace LocalJSX {
7276
8236
  */
7277
8237
  "disabled"?: boolean;
7278
8238
  /**
7279
- * The mode determines which platform styles to use.
8239
+ * The mode determines the platform behaviors of the component.
7280
8240
  */
7281
8241
  "mode"?: "ios" | "md";
7282
8242
  /**
@@ -7295,6 +8255,10 @@ declare namespace LocalJSX {
7295
8255
  * If `true`, users will be able to swipe between segment buttons to activate them.
7296
8256
  */
7297
8257
  "swipeGesture"?: boolean;
8258
+ /**
8259
+ * The theme determines the visual appearance of the component.
8260
+ */
8261
+ "theme"?: "ios" | "md" | "ionic";
7298
8262
  /**
7299
8263
  * the value of the segment.
7300
8264
  */
@@ -7310,9 +8274,13 @@ declare namespace LocalJSX {
7310
8274
  */
7311
8275
  "layout"?: SegmentButtonLayout;
7312
8276
  /**
7313
- * The mode determines which platform styles to use.
8277
+ * The mode determines the platform behaviors of the component.
7314
8278
  */
7315
8279
  "mode"?: "ios" | "md";
8280
+ /**
8281
+ * The theme determines the visual appearance of the component.
8282
+ */
8283
+ "theme"?: "ios" | "md" | "ionic";
7316
8284
  /**
7317
8285
  * The type of the button.
7318
8286
  */
@@ -7340,11 +8308,11 @@ declare namespace LocalJSX {
7340
8308
  */
7341
8309
  "disabled"?: boolean;
7342
8310
  /**
7343
- * 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.
8311
+ * 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.
7344
8312
  */
7345
8313
  "expandedIcon"?: string;
7346
8314
  /**
7347
- * 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.
8315
+ * 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.
7348
8316
  */
7349
8317
  "fill"?: 'outline' | 'solid';
7350
8318
  /**
@@ -7368,7 +8336,7 @@ declare namespace LocalJSX {
7368
8336
  */
7369
8337
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
7370
8338
  /**
7371
- * The mode determines which platform styles to use.
8339
+ * The mode determines the platform behaviors of the component.
7372
8340
  */
7373
8341
  "mode"?: "ios" | "md";
7374
8342
  /**
@@ -7416,7 +8384,11 @@ declare namespace LocalJSX {
7416
8384
  */
7417
8385
  "shape"?: 'round';
7418
8386
  /**
7419
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
8387
+ * The theme determines the visual appearance of the component.
8388
+ */
8389
+ "theme"?: "ios" | "md" | "ionic";
8390
+ /**
8391
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
7420
8392
  */
7421
8393
  "toggleIcon"?: string;
7422
8394
  /**
@@ -7429,6 +8401,14 @@ declare namespace LocalJSX {
7429
8401
  * 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.
7430
8402
  */
7431
8403
  "disabled"?: boolean;
8404
+ /**
8405
+ * The mode determines the platform behaviors of the component.
8406
+ */
8407
+ "mode"?: "ios" | "md";
8408
+ /**
8409
+ * The theme determines the visual appearance of the component.
8410
+ */
8411
+ "theme"?: "ios" | "md" | "ionic";
7432
8412
  /**
7433
8413
  * The text value of the option.
7434
8414
  */
@@ -7443,6 +8423,10 @@ declare namespace LocalJSX {
7443
8423
  * The text content of the popover body
7444
8424
  */
7445
8425
  "message"?: string;
8426
+ /**
8427
+ * The mode determines the platform behaviors of the component.
8428
+ */
8429
+ "mode"?: "ios" | "md";
7446
8430
  /**
7447
8431
  * If true, the select accepts multiple values
7448
8432
  */
@@ -7455,12 +8439,24 @@ declare namespace LocalJSX {
7455
8439
  * The subheader text of the popover
7456
8440
  */
7457
8441
  "subHeader"?: string;
8442
+ /**
8443
+ * The theme determines the visual appearance of the component.
8444
+ */
8445
+ "theme"?: "ios" | "md" | "ionic";
7458
8446
  }
7459
8447
  interface IonSkeletonText {
7460
8448
  /**
7461
8449
  * If `true`, the skeleton text will animate.
7462
8450
  */
7463
8451
  "animated"?: boolean;
8452
+ /**
8453
+ * The mode determines the platform behaviors of the component.
8454
+ */
8455
+ "mode"?: "ios" | "md";
8456
+ /**
8457
+ * The theme determines the visual appearance of the component.
8458
+ */
8459
+ "theme"?: "ios" | "md" | "ionic";
7464
8460
  }
7465
8461
  interface IonSpinner {
7466
8462
  /**
@@ -7471,6 +8467,10 @@ declare namespace LocalJSX {
7471
8467
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
7472
8468
  */
7473
8469
  "duration"?: number;
8470
+ /**
8471
+ * The mode determines the platform behaviors of the component.
8472
+ */
8473
+ "mode"?: "ios" | "md";
7474
8474
  /**
7475
8475
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
7476
8476
  */
@@ -7479,6 +8479,10 @@ declare namespace LocalJSX {
7479
8479
  * If `true`, the spinner's animation will be paused.
7480
8480
  */
7481
8481
  "paused"?: boolean;
8482
+ /**
8483
+ * The theme determines the visual appearance of the component.
8484
+ */
8485
+ "theme"?: "ios" | "md" | "ionic";
7482
8486
  }
7483
8487
  interface IonSplitPane {
7484
8488
  /**
@@ -7489,10 +8493,18 @@ declare namespace LocalJSX {
7489
8493
  * If `true`, the split pane will be hidden.
7490
8494
  */
7491
8495
  "disabled"?: boolean;
8496
+ /**
8497
+ * The mode determines the platform behaviors of the component.
8498
+ */
8499
+ "mode"?: "ios" | "md";
7492
8500
  /**
7493
8501
  * Expression to be called when the split-pane visibility has changed
7494
8502
  */
7495
8503
  "onIonSplitPaneVisible"?: (event: IonSplitPaneCustomEvent<{ visible: boolean }>) => void;
8504
+ /**
8505
+ * The theme determines the visual appearance of the component.
8506
+ */
8507
+ "theme"?: "ios" | "md" | "ionic";
7496
8508
  /**
7497
8509
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
7498
8510
  */
@@ -7503,10 +8515,18 @@ declare namespace LocalJSX {
7503
8515
  * The component to display inside of the tab.
7504
8516
  */
7505
8517
  "component"?: ComponentRef;
8518
+ /**
8519
+ * The mode determines the platform behaviors of the component.
8520
+ */
8521
+ "mode"?: "ios" | "md";
7506
8522
  /**
7507
8523
  * 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.
7508
8524
  */
7509
8525
  "tab": string;
8526
+ /**
8527
+ * The theme determines the visual appearance of the component.
8528
+ */
8529
+ "theme"?: "ios" | "md" | "ionic";
7510
8530
  }
7511
8531
  interface IonTabBar {
7512
8532
  /**
@@ -7514,7 +8534,7 @@ declare namespace LocalJSX {
7514
8534
  */
7515
8535
  "color"?: Color;
7516
8536
  /**
7517
- * The mode determines which platform styles to use.
8537
+ * The mode determines the platform behaviors of the component.
7518
8538
  */
7519
8539
  "mode"?: "ios" | "md";
7520
8540
  /**
@@ -7522,7 +8542,11 @@ declare namespace LocalJSX {
7522
8542
  */
7523
8543
  "selectedTab"?: string;
7524
8544
  /**
7525
- * 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).
8545
+ * The theme determines the visual appearance of the component.
8546
+ */
8547
+ "theme"?: "ios" | "md" | "ionic";
8548
+ /**
8549
+ * 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).
7526
8550
  */
7527
8551
  "translucent"?: boolean;
7528
8552
  }
@@ -7544,7 +8568,7 @@ declare namespace LocalJSX {
7544
8568
  */
7545
8569
  "layout"?: TabButtonLayout;
7546
8570
  /**
7547
- * The mode determines which platform styles to use.
8571
+ * The mode determines the platform behaviors of the component.
7548
8572
  */
7549
8573
  "mode"?: "ios" | "md";
7550
8574
  /**
@@ -7563,8 +8587,16 @@ declare namespace LocalJSX {
7563
8587
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
7564
8588
  */
7565
8589
  "target"?: string | undefined;
8590
+ /**
8591
+ * The theme determines the visual appearance of the component.
8592
+ */
8593
+ "theme"?: "ios" | "md" | "ionic";
7566
8594
  }
7567
8595
  interface IonTabs {
8596
+ /**
8597
+ * The mode determines the platform behaviors of the component.
8598
+ */
8599
+ "mode"?: "ios" | "md";
7568
8600
  /**
7569
8601
  * Emitted when the navigation has finished transitioning to a new component.
7570
8602
  */
@@ -7573,6 +8605,10 @@ declare namespace LocalJSX {
7573
8605
  * Emitted when the navigation is about to transition to a new component.
7574
8606
  */
7575
8607
  "onIonTabsWillChange"?: (event: IonTabsCustomEvent<{ tab: string }>) => void;
8608
+ /**
8609
+ * The theme determines the visual appearance of the component.
8610
+ */
8611
+ "theme"?: "ios" | "md" | "ionic";
7576
8612
  }
7577
8613
  interface IonText {
7578
8614
  /**
@@ -7580,9 +8616,13 @@ declare namespace LocalJSX {
7580
8616
  */
7581
8617
  "color"?: Color;
7582
8618
  /**
7583
- * The mode determines which platform styles to use.
8619
+ * The mode determines the platform behaviors of the component.
7584
8620
  */
7585
8621
  "mode"?: "ios" | "md";
8622
+ /**
8623
+ * The theme determines the visual appearance of the component.
8624
+ */
8625
+ "theme"?: "ios" | "md" | "ionic";
7586
8626
  }
7587
8627
  interface IonTextarea {
7588
8628
  /**
@@ -7634,7 +8674,7 @@ declare namespace LocalJSX {
7634
8674
  */
7635
8675
  "errorText"?: string;
7636
8676
  /**
7637
- * 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.
8677
+ * 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"`.
7638
8678
  */
7639
8679
  "fill"?: 'outline' | 'solid';
7640
8680
  /**
@@ -7662,7 +8702,7 @@ declare namespace LocalJSX {
7662
8702
  */
7663
8703
  "minlength"?: number;
7664
8704
  /**
7665
- * The mode determines which platform styles to use.
8705
+ * The mode determines the platform behaviors of the component.
7666
8706
  */
7667
8707
  "mode"?: "ios" | "md";
7668
8708
  /**
@@ -7709,6 +8749,10 @@ declare namespace LocalJSX {
7709
8749
  * If `true`, the element will have its spelling and grammar checked.
7710
8750
  */
7711
8751
  "spellcheck"?: boolean;
8752
+ /**
8753
+ * The theme determines the visual appearance of the component.
8754
+ */
8755
+ "theme"?: "ios" | "md" | "ionic";
7712
8756
  /**
7713
8757
  * The value of the textarea.
7714
8758
  */
@@ -7719,16 +8763,32 @@ declare namespace LocalJSX {
7719
8763
  "wrap"?: 'hard' | 'soft' | 'off';
7720
8764
  }
7721
8765
  interface IonThumbnail {
8766
+ /**
8767
+ * The mode determines the platform behaviors of the component.
8768
+ */
8769
+ "mode"?: "ios" | "md";
8770
+ /**
8771
+ * The theme determines the visual appearance of the component.
8772
+ */
8773
+ "theme"?: "ios" | "md" | "ionic";
7722
8774
  }
7723
8775
  interface IonTitle {
7724
8776
  /**
7725
8777
  * 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).
7726
8778
  */
7727
8779
  "color"?: Color;
8780
+ /**
8781
+ * The mode determines the platform behaviors of the component.
8782
+ */
8783
+ "mode"?: "ios" | "md";
7728
8784
  /**
7729
8785
  * The size of the toolbar title.
7730
8786
  */
7731
8787
  "size"?: 'large' | 'small';
8788
+ /**
8789
+ * The theme determines the visual appearance of the component.
8790
+ */
8791
+ "theme"?: "ios" | "md" | "ionic";
7732
8792
  }
7733
8793
  interface IonToast {
7734
8794
  /**
@@ -7788,7 +8848,7 @@ declare namespace LocalJSX {
7788
8848
  */
7789
8849
  "message"?: string | IonicSafeString;
7790
8850
  /**
7791
- * The mode determines which platform styles to use.
8851
+ * The mode determines the platform behaviors of the component.
7792
8852
  */
7793
8853
  "mode"?: "ios" | "md";
7794
8854
  /**
@@ -7836,7 +8896,11 @@ declare namespace LocalJSX {
7836
8896
  */
7837
8897
  "swipeGesture"?: ToastSwipeGestureDirection;
7838
8898
  /**
7839
- * 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).
8899
+ * The theme determines the visual appearance of the component.
8900
+ */
8901
+ "theme"?: "ios" | "md" | "ionic";
8902
+ /**
8903
+ * 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).
7840
8904
  */
7841
8905
  "translucent"?: boolean;
7842
8906
  /**
@@ -7874,7 +8938,7 @@ declare namespace LocalJSX {
7874
8938
  */
7875
8939
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
7876
8940
  /**
7877
- * The mode determines which platform styles to use.
8941
+ * The mode determines the platform behaviors of the component.
7878
8942
  */
7879
8943
  "mode"?: "ios" | "md";
7880
8944
  /**
@@ -7893,6 +8957,10 @@ declare namespace LocalJSX {
7893
8957
  * Emitted when the toggle has focus.
7894
8958
  */
7895
8959
  "onIonFocus"?: (event: IonToggleCustomEvent<void>) => void;
8960
+ /**
8961
+ * The theme determines the visual appearance of the component.
8962
+ */
8963
+ "theme"?: "ios" | "md" | "ionic";
7896
8964
  /**
7897
8965
  * 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>`.
7898
8966
  */
@@ -7904,9 +8972,13 @@ declare namespace LocalJSX {
7904
8972
  */
7905
8973
  "color"?: Color;
7906
8974
  /**
7907
- * The mode determines which platform styles to use.
8975
+ * The mode determines the platform behaviors of the component.
7908
8976
  */
7909
8977
  "mode"?: "ios" | "md";
8978
+ /**
8979
+ * The theme determines the visual appearance of the component.
8980
+ */
8981
+ "theme"?: "ios" | "md" | "ionic";
7910
8982
  }
7911
8983
  interface IntrinsicElements {
7912
8984
  "ion-accordion": IonAccordion;