@ionic/core 8.3.2-dev.11726766329.1f0ae0fa → 8.3.2-dev.11727124492.1f555a14

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 (1021) hide show
  1. package/components/action-sheet.js +13 -8
  2. package/components/alert.js +14 -10
  3. package/components/backdrop.js +10 -6
  4. package/components/button.js +41 -11
  5. package/components/buttons.js +11 -7
  6. package/components/caret-down.js +6 -0
  7. package/components/caret-left.js +6 -0
  8. package/components/caret-right.js +6 -0
  9. package/components/checkbox.js +30 -13
  10. package/components/data.js +4 -4
  11. package/components/index2.js +1 -2
  12. package/components/index4.js +8 -7
  13. package/components/index6.js +27 -30
  14. package/components/index7.js +124 -27
  15. package/components/index8.js +150 -111
  16. package/components/input-shims.js +1 -1
  17. package/components/input.utils.js +1 -1
  18. package/components/ion-accordion-group.js +9 -6
  19. package/components/ion-accordion.js +31 -9
  20. package/components/ion-app.js +5 -6
  21. package/components/ion-avatar.js +52 -3
  22. package/components/ion-back-button.js +28 -19
  23. package/components/ion-badge.js +44 -8
  24. package/components/ion-breadcrumb.js +44 -11
  25. package/components/ion-breadcrumbs.js +9 -5
  26. package/components/ion-card-content.js +11 -7
  27. package/components/ion-card-header.js +9 -5
  28. package/components/ion-card-subtitle.js +9 -5
  29. package/components/ion-card-title.js +9 -5
  30. package/components/ion-card.js +17 -9
  31. package/components/ion-chip.js +45 -8
  32. package/components/ion-col.js +5 -5
  33. package/components/ion-content.js +11 -11
  34. package/components/ion-datetime-button.js +9 -6
  35. package/components/ion-datetime.js +95 -20
  36. package/components/ion-fab-button.js +32 -10
  37. package/components/ion-fab-list.js +5 -5
  38. package/components/ion-fab.js +6 -6
  39. package/components/ion-footer.js +15 -11
  40. package/components/ion-grid.js +5 -5
  41. package/components/ion-header.js +20 -13
  42. package/components/ion-img.js +5 -2
  43. package/components/ion-infinite-scroll-content.js +12 -8
  44. package/components/ion-infinite-scroll.js +5 -5
  45. package/components/ion-input-password-toggle.js +52 -14
  46. package/components/ion-input.js +117 -20
  47. package/components/ion-item-divider.js +9 -5
  48. package/components/ion-item-group.js +9 -5
  49. package/components/ion-item-option.js +28 -8
  50. package/components/ion-item-options.js +9 -5
  51. package/components/ion-item-sliding.js +5 -5
  52. package/components/ion-loading.js +12 -8
  53. package/components/ion-menu-button.js +27 -10
  54. package/components/ion-menu-toggle.js +5 -5
  55. package/components/ion-menu.js +11 -7
  56. package/components/ion-modal.js +29 -11
  57. package/components/ion-nav-link.js +1 -1
  58. package/components/ion-nav.js +7 -6
  59. package/components/ion-note.js +9 -5
  60. package/components/ion-picker-legacy.js +7 -8
  61. package/components/ion-progress-bar.js +10 -6
  62. package/components/ion-range.js +11 -8
  63. package/components/ion-refresher-content.js +27 -9
  64. package/components/ion-refresher.js +11 -7
  65. package/components/ion-reorder-group.js +5 -5
  66. package/components/ion-reorder.js +30 -5
  67. package/components/ion-router-link.js +6 -6
  68. package/components/ion-router-outlet.js +2 -2
  69. package/components/ion-row.js +5 -2
  70. package/components/ion-searchbar.js +92 -16
  71. package/components/ion-segment-button.js +12 -8
  72. package/components/ion-segment.js +12 -21
  73. package/components/ion-select-option.js +5 -2
  74. package/components/ion-select.js +76 -28
  75. package/components/ion-skeleton-text.js +5 -5
  76. package/components/ion-split-pane.js +12 -8
  77. package/components/ion-tab-bar.js +18 -8
  78. package/components/ion-tab-button.js +11 -7
  79. package/components/ion-tab.js +2 -2
  80. package/components/ion-tabs.js +2 -2
  81. package/components/ion-text.js +5 -5
  82. package/components/ion-textarea.js +38 -11
  83. package/components/ion-thumbnail.js +5 -2
  84. package/components/ion-title.js +11 -7
  85. package/components/ion-toast.js +13 -9
  86. package/components/ion-toggle.js +76 -18
  87. package/components/ion-toolbar.js +11 -7
  88. package/components/ionic-global.js +191 -14
  89. package/components/ios.transition.js +1 -0
  90. package/components/item.js +40 -11
  91. package/components/label.js +9 -5
  92. package/components/list-header.js +9 -5
  93. package/components/list.js +29 -6
  94. package/components/list2.js +6 -0
  95. package/components/overlays.js +1 -2
  96. package/components/picker-column-option.js +9 -5
  97. package/components/picker-column.js +7 -7
  98. package/components/picker-column2.js +4 -4
  99. package/components/picker.js +8 -4
  100. package/components/popover.js +11 -8
  101. package/components/radio-group.js +5 -3
  102. package/components/radio.js +12 -8
  103. package/components/ripple-effect.js +18 -8
  104. package/components/select-popover.js +9 -2
  105. package/components/spinner.js +35 -9
  106. package/components/status-tap.js +1 -1
  107. package/components/x.js +6 -0
  108. package/css/core.css +1 -1
  109. package/css/core.css.map +1 -1
  110. package/css/display.css.map +1 -1
  111. package/css/flex-utils.css.map +1 -1
  112. package/css/float-elements.css.map +1 -1
  113. package/css/global.bundle.css.map +1 -1
  114. package/css/ionic/bundle.ionic.css +1 -0
  115. package/css/ionic/bundle.ionic.css.map +1 -0
  116. package/css/ionic/core.ionic.css +1 -0
  117. package/css/ionic/core.ionic.css.map +1 -0
  118. package/css/ionic/global.bundle.ionic.css +1 -0
  119. package/css/ionic/global.bundle.ionic.css.map +1 -0
  120. package/css/ionic/ionic-swiper.ionic.css +1 -0
  121. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  122. package/css/ionic/link.ionic.css +1 -0
  123. package/css/ionic/link.ionic.css.map +1 -0
  124. package/css/ionic/structure.ionic.css +1 -0
  125. package/css/ionic/structure.ionic.css.map +1 -0
  126. package/css/ionic/typography.ionic.css +1 -0
  127. package/css/ionic/typography.ionic.css.map +1 -0
  128. package/css/ionic/utils.bundle.ionic.css +1 -0
  129. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  130. package/css/ionic-swiper.css +1 -1
  131. package/css/ionic-swiper.css.map +1 -1
  132. package/css/ionic.bundle.css +1 -1
  133. package/css/ionic.bundle.css.map +1 -1
  134. package/css/normalize.css.map +1 -1
  135. package/css/padding.css.map +1 -1
  136. package/css/palettes/dark.always.css.map +1 -1
  137. package/css/palettes/dark.class.css.map +1 -1
  138. package/css/palettes/dark.system.css.map +1 -1
  139. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  140. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  141. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  142. package/css/palettes/high-contrast.always.css.map +1 -1
  143. package/css/palettes/high-contrast.class.css.map +1 -1
  144. package/css/palettes/high-contrast.system.css.map +1 -1
  145. package/css/structure.css.map +1 -1
  146. package/css/text-alignment.css.map +1 -1
  147. package/css/text-transformation.css.map +1 -1
  148. package/css/typography.css.map +1 -1
  149. package/css/utils.bundle.css.map +1 -1
  150. package/dist/cjs/{app-globals-21afee77.js → app-globals-38bbc401.js} +1 -1
  151. package/dist/cjs/caret-down-3c215cff.js +8 -0
  152. package/dist/cjs/caret-left-2bb66970.js +8 -0
  153. package/dist/cjs/caret-right-88e03970.js +8 -0
  154. package/dist/cjs/{data-21dc0f81.js → data-b3a1a686.js} +6 -6
  155. package/dist/cjs/{hardware-back-button-9e8a2c4f.js → hardware-back-button-d37054f2.js} +1 -1
  156. package/dist/cjs/{index-5b6a7459.js → index-2fa32189.js} +2 -2
  157. package/dist/cjs/{index-f05acd21.js → index-694a3808.js} +7 -8
  158. package/dist/cjs/{index-9cd00dc3.js → index-ed0f67a3.js} +13 -12
  159. package/dist/cjs/index.cjs.js +7 -8
  160. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-ab680ecf.js} +3 -2
  161. package/dist/cjs/{input.utils-611cde0b.js → input.utils-44ff82f0.js} +2 -2
  162. package/dist/cjs/ion-accordion_2.cjs.entry.js +39 -14
  163. package/dist/cjs/ion-action-sheet.cjs.entry.js +15 -11
  164. package/dist/cjs/ion-alert.cjs.entry.js +16 -13
  165. package/dist/cjs/ion-app_8.cjs.entry.js +93 -72
  166. package/dist/cjs/ion-avatar_3.cjs.entry.js +92 -9
  167. package/dist/cjs/ion-back-button.cjs.entry.js +27 -18
  168. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -6
  169. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +51 -14
  170. package/dist/cjs/ion-button_2.cjs.entry.js +44 -14
  171. package/dist/cjs/ion-card_5.cjs.entry.js +50 -27
  172. package/dist/cjs/ion-checkbox.cjs.entry.js +27 -12
  173. package/dist/cjs/ion-chip.cjs.entry.js +42 -7
  174. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  175. package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -11
  176. package/dist/cjs/ion-datetime_3.cjs.entry.js +183 -108
  177. package/dist/cjs/ion-fab_3.cjs.entry.js +40 -18
  178. package/dist/cjs/ion-img.cjs.entry.js +5 -2
  179. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +16 -13
  180. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +54 -16
  181. package/dist/cjs/ion-input.cjs.entry.js +115 -20
  182. package/dist/cjs/ion-item-option_3.cjs.entry.js +38 -16
  183. package/dist/cjs/ion-item_8.cjs.entry.js +110 -39
  184. package/dist/cjs/ion-loading.cjs.entry.js +14 -11
  185. package/dist/cjs/ion-menu_3.cjs.entry.js +43 -23
  186. package/dist/cjs/ion-modal.cjs.entry.js +36 -19
  187. package/dist/cjs/ion-nav_2.cjs.entry.js +9 -8
  188. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -5
  189. package/dist/cjs/ion-picker-column.cjs.entry.js +7 -7
  190. package/dist/cjs/ion-picker.cjs.entry.js +8 -4
  191. package/dist/cjs/ion-popover.cjs.entry.js +17 -14
  192. package/dist/cjs/ion-progress-bar.cjs.entry.js +10 -6
  193. package/dist/cjs/ion-radio_2.cjs.entry.js +16 -10
  194. package/dist/cjs/ion-range.cjs.entry.js +16 -13
  195. package/dist/cjs/ion-refresher_2.cjs.entry.js +35 -14
  196. package/dist/cjs/ion-reorder_2.cjs.entry.js +33 -9
  197. package/dist/cjs/ion-ripple-effect.cjs.entry.js +17 -7
  198. package/dist/cjs/ion-route_4.cjs.entry.js +6 -6
  199. package/dist/cjs/ion-searchbar.cjs.entry.js +91 -15
  200. package/dist/cjs/ion-segment_2.cjs.entry.js +23 -28
  201. package/dist/cjs/ion-select_3.cjs.entry.js +89 -32
  202. package/dist/cjs/ion-spinner.cjs.entry.js +32 -7
  203. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -8
  204. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +26 -14
  205. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  206. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  207. package/dist/cjs/ion-textarea.cjs.entry.js +38 -13
  208. package/dist/cjs/ion-toast.cjs.entry.js +36 -32
  209. package/dist/cjs/ion-toggle.cjs.entry.js +75 -17
  210. package/dist/cjs/ionic-global-5df85d73.js +418 -0
  211. package/dist/cjs/ionic.cjs.js +3 -3
  212. package/dist/cjs/{ios.transition-cf40433b.js → ios.transition-7574ba71.js} +3 -3
  213. package/dist/cjs/list-2930c629.js +8 -0
  214. package/dist/cjs/loader.cjs.js +3 -3
  215. package/dist/cjs/{md.transition-ededf99f.js → md.transition-d9d90911.js} +2 -3
  216. package/dist/cjs/{overlays-0123d7d4.js → overlays-faf6f843.js} +3 -4
  217. package/dist/cjs/{status-tap-37681226.js → status-tap-28780caa.js} +2 -2
  218. package/dist/cjs/x-81a8f51c.js +8 -0
  219. package/dist/collection/components/accordion/accordion.ios.css +12 -0
  220. package/dist/collection/components/accordion/accordion.js +35 -15
  221. package/dist/collection/components/accordion/accordion.md.css +6 -0
  222. package/dist/collection/components/accordion-group/accordion-group.ios.css +12 -0
  223. package/dist/collection/components/accordion-group/accordion-group.js +11 -8
  224. package/dist/collection/components/accordion-group/accordion-group.md.css +18 -0
  225. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  226. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  227. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  228. package/dist/collection/components/alert/alert.ios.css +19 -1
  229. package/dist/collection/components/alert/alert.js +15 -12
  230. package/dist/collection/components/alert/alert.md.css +19 -1
  231. package/dist/collection/components/app/app.js +8 -4
  232. package/dist/collection/components/avatar/avatar.ionic.css +271 -0
  233. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  234. package/dist/collection/components/avatar/avatar.js +92 -4
  235. package/dist/collection/components/avatar/avatar.md.css +12 -0
  236. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  237. package/dist/collection/components/back-button/back-button.js +27 -19
  238. package/dist/collection/components/back-button/back-button.md.css +60 -48
  239. package/dist/collection/components/backdrop/backdrop.ionic.css +153 -0
  240. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  241. package/dist/collection/components/backdrop/backdrop.js +12 -6
  242. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  243. package/dist/collection/components/badge/badge.ionic.css +251 -0
  244. package/dist/collection/components/badge/badge.ios.css +106 -3
  245. package/dist/collection/components/badge/badge.js +75 -8
  246. package/dist/collection/components/badge/badge.md.css +106 -3
  247. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  248. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  249. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  250. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  251. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  252. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  253. package/dist/collection/components/button/button.ionic.css +591 -0
  254. package/dist/collection/components/button/button.ios.css +129 -36
  255. package/dist/collection/components/button/button.js +46 -16
  256. package/dist/collection/components/button/button.md.css +120 -40
  257. package/dist/collection/components/buttons/buttons.ionic.css +101 -0
  258. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  259. package/dist/collection/components/buttons/buttons.js +14 -8
  260. package/dist/collection/components/buttons/buttons.md.css +55 -3
  261. package/dist/collection/components/card/card.ionic.css +139 -0
  262. package/dist/collection/components/card/card.ios.css +65 -14
  263. package/dist/collection/components/card/card.js +34 -10
  264. package/dist/collection/components/card/card.md.css +65 -14
  265. package/dist/collection/components/card-content/card-content.ionic.css +92 -0
  266. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  267. package/dist/collection/components/card-content/card-content.js +11 -8
  268. package/dist/collection/components/card-content/card-content.md.css +16 -1
  269. package/dist/collection/components/card-header/card-header.ionic.css +89 -0
  270. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  271. package/dist/collection/components/card-header/card-header.js +12 -9
  272. package/dist/collection/components/card-header/card-header.md.css +27 -15
  273. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +148 -0
  274. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  275. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  276. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  277. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  278. package/dist/collection/components/card-title/card-title.js +11 -8
  279. package/dist/collection/components/card-title/card-title.md.css +73 -0
  280. package/dist/collection/components/checkbox/checkbox.ionic.css +408 -0
  281. package/dist/collection/components/checkbox/checkbox.ios.css +20 -2
  282. package/dist/collection/components/checkbox/checkbox.js +63 -14
  283. package/dist/collection/components/checkbox/checkbox.md.css +21 -3
  284. package/dist/collection/components/chip/chip.ionic.css +162 -0
  285. package/dist/collection/components/chip/chip.ios.css +20 -1
  286. package/dist/collection/components/chip/chip.js +77 -8
  287. package/dist/collection/components/chip/chip.md.css +20 -1
  288. package/dist/collection/components/col/col.css +12 -0
  289. package/dist/collection/components/col/col.js +9 -5
  290. package/dist/collection/components/content/content.css +8 -2
  291. package/dist/collection/components/content/content.js +13 -10
  292. package/dist/collection/components/datetime/datetime.ionic.css +670 -0
  293. package/dist/collection/components/datetime/datetime.ios.css +232 -73
  294. package/dist/collection/components/datetime/datetime.js +95 -19
  295. package/dist/collection/components/datetime/datetime.md.css +232 -73
  296. package/dist/collection/components/datetime/utils/data.js +3 -3
  297. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  298. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  299. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  300. package/dist/collection/components/fab/fab.css +25 -1
  301. package/dist/collection/components/fab/fab.js +9 -5
  302. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  303. package/dist/collection/components/fab-button/fab-button.js +36 -15
  304. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  305. package/dist/collection/components/fab-list/fab-list.css +12 -0
  306. package/dist/collection/components/fab-list/fab-list.js +9 -5
  307. package/dist/collection/components/footer/footer.ios.css +14 -2
  308. package/dist/collection/components/footer/footer.js +17 -14
  309. package/dist/collection/components/footer/footer.md.css +12 -0
  310. package/dist/collection/components/grid/grid.css +12 -0
  311. package/dist/collection/components/grid/grid.js +9 -5
  312. package/dist/collection/components/header/header.ionic.css +88 -0
  313. package/dist/collection/components/header/header.ios.css +25 -10
  314. package/dist/collection/components/header/header.js +38 -15
  315. package/dist/collection/components/header/header.md.css +23 -8
  316. package/dist/collection/components/img/img.js +8 -2
  317. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  318. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  319. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  320. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  321. package/dist/collection/components/input/input.ionic.css +1099 -0
  322. package/dist/collection/components/input/input.ios.css +21 -2
  323. package/dist/collection/components/input/input.js +143 -29
  324. package/dist/collection/components/input/input.md.css +43 -4
  325. package/dist/collection/components/input-password-toggle/input-password-toggle.common.css +61 -0
  326. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +143 -0
  327. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  328. package/dist/collection/components/item/item.ionic.css +494 -0
  329. package/dist/collection/components/item/item.ios.css +108 -69
  330. package/dist/collection/components/item/item.js +44 -16
  331. package/dist/collection/components/item/item.md.css +119 -68
  332. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  333. package/dist/collection/components/item-divider/item-divider.js +11 -8
  334. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  335. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  336. package/dist/collection/components/item-group/item-group.js +13 -7
  337. package/dist/collection/components/item-group/item-group.md.css +12 -0
  338. package/dist/collection/components/item-option/item-option.ionic.css +334 -0
  339. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  340. package/dist/collection/components/item-option/item-option.js +43 -8
  341. package/dist/collection/components/item-option/item-option.md.css +14 -2
  342. package/dist/collection/components/item-options/item-options.ionic.css +260 -0
  343. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  344. package/dist/collection/components/item-options/item-options.js +13 -7
  345. package/dist/collection/components/item-options/item-options.md.css +18 -0
  346. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  347. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  348. package/dist/collection/components/label/label.ios.css +18 -0
  349. package/dist/collection/components/label/label.js +11 -8
  350. package/dist/collection/components/label/label.md.css +18 -0
  351. package/dist/collection/components/list/list.ionic.css +196 -0
  352. package/dist/collection/components/list/list.ios.css +18 -0
  353. package/dist/collection/components/list/list.js +47 -9
  354. package/dist/collection/components/list/list.md.css +20 -2
  355. package/dist/collection/components/list-header/list-header.ionic.css +238 -0
  356. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  357. package/dist/collection/components/list-header/list-header.js +11 -8
  358. package/dist/collection/components/list-header/list-header.md.css +18 -0
  359. package/dist/collection/components/loading/loading.ios.css +13 -1
  360. package/dist/collection/components/loading/loading.js +13 -10
  361. package/dist/collection/components/loading/loading.md.css +13 -1
  362. package/dist/collection/components/menu/menu.ios.css +15 -3
  363. package/dist/collection/components/menu/menu.js +12 -7
  364. package/dist/collection/components/menu/menu.md.css +15 -3
  365. package/dist/collection/components/menu-button/menu-button.ionic.css +240 -0
  366. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  367. package/dist/collection/components/menu-button/menu-button.js +26 -10
  368. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  369. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  370. package/dist/collection/components/modal/modal.ionic.css +241 -0
  371. package/dist/collection/components/modal/modal.ios.css +106 -63
  372. package/dist/collection/components/modal/modal.js +44 -10
  373. package/dist/collection/components/modal/modal.md.css +106 -63
  374. package/dist/collection/components/nav/nav.css +7 -1
  375. package/dist/collection/components/nav/nav.js +11 -5
  376. package/dist/collection/components/nav-link/nav-link.js +5 -1
  377. package/dist/collection/components/note/note.ios.css +12 -0
  378. package/dist/collection/components/note/note.js +11 -8
  379. package/dist/collection/components/note/note.md.css +12 -0
  380. package/dist/collection/components/picker/picker.ios.css +15 -3
  381. package/dist/collection/components/picker/picker.js +8 -5
  382. package/dist/collection/components/picker/picker.md.css +15 -3
  383. package/dist/collection/components/picker-column/picker-column.css +9 -2
  384. package/dist/collection/components/picker-column/picker-column.js +8 -7
  385. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  386. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  387. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  388. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  389. package/dist/collection/components/picker-legacy/picker.js +7 -6
  390. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  391. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  392. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  393. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  394. package/dist/collection/components/popover/popover.ios.css +13 -1
  395. package/dist/collection/components/popover/popover.js +15 -12
  396. package/dist/collection/components/popover/popover.md.css +13 -1
  397. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  398. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  399. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  400. package/dist/collection/components/radio/radio.ionic.css +420 -0
  401. package/dist/collection/components/radio/radio.ios.css +134 -91
  402. package/dist/collection/components/radio/radio.js +12 -9
  403. package/dist/collection/components/radio/radio.md.css +134 -91
  404. package/dist/collection/components/radio-group/radio-group.js +9 -3
  405. package/dist/collection/components/range/range.ios.css +12 -0
  406. package/dist/collection/components/range/range.js +12 -9
  407. package/dist/collection/components/range/range.md.css +12 -0
  408. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  409. package/dist/collection/components/refresher/refresher.js +11 -8
  410. package/dist/collection/components/refresher/refresher.md.css +15 -2
  411. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  412. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  413. package/dist/collection/components/reorder/reorder.js +33 -6
  414. package/dist/collection/components/reorder/reorder.md.css +6 -0
  415. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  416. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  417. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  418. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +154 -0
  419. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  420. package/dist/collection/components/route/route.js +4 -0
  421. package/dist/collection/components/router/router.js +4 -0
  422. package/dist/collection/components/router-link/router-link.css +8 -2
  423. package/dist/collection/components/router-link/router-link.js +9 -5
  424. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  425. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  426. package/dist/collection/components/row/row.css +12 -0
  427. package/dist/collection/components/row/row.js +9 -2
  428. package/dist/collection/components/searchbar/searchbar.ionic.css +270 -0
  429. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  430. package/dist/collection/components/searchbar/searchbar.js +96 -24
  431. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  432. package/dist/collection/components/segment/segment.ios.css +18 -0
  433. package/dist/collection/components/segment/segment.js +14 -24
  434. package/dist/collection/components/segment/segment.md.css +18 -0
  435. package/dist/collection/components/segment-button/segment-button.ios.css +16 -4
  436. package/dist/collection/components/segment-button/segment-button.js +12 -9
  437. package/dist/collection/components/segment-button/segment-button.md.css +18 -6
  438. package/dist/collection/components/select/select.ios.css +22 -3
  439. package/dist/collection/components/select/select.js +79 -31
  440. package/dist/collection/components/select/select.md.css +38 -5
  441. package/dist/collection/components/select-option/select-option.js +9 -2
  442. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  443. package/dist/collection/components/select-popover/select-popover.js +12 -4
  444. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  445. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  446. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  447. package/dist/collection/components/spinner/spinner.common.css +199 -0
  448. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +61 -0
  449. package/dist/collection/components/spinner/spinner.js +46 -6
  450. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  451. package/dist/collection/components/split-pane/split-pane.js +14 -8
  452. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  453. package/dist/collection/components/tab/tab.js +6 -2
  454. package/dist/collection/components/tab-bar/tab-bar.ionic.css +236 -0
  455. package/dist/collection/components/tab-bar/tab-bar.ios.css +68 -43
  456. package/dist/collection/components/tab-bar/tab-bar.js +52 -10
  457. package/dist/collection/components/tab-bar/tab-bar.md.css +68 -43
  458. package/dist/collection/components/tab-button/tab-button.ionic.css +273 -0
  459. package/dist/collection/components/tab-button/tab-button.ios.css +103 -88
  460. package/dist/collection/components/tab-button/tab-button.js +11 -8
  461. package/dist/collection/components/tab-button/tab-button.md.css +103 -88
  462. package/dist/collection/components/tabs/tabs.css +7 -1
  463. package/dist/collection/components/tabs/tabs.js +4 -1
  464. package/dist/collection/components/text/text.css +6 -0
  465. package/dist/collection/components/text/text.js +7 -6
  466. package/dist/collection/components/textarea/textarea.ionic.css +801 -0
  467. package/dist/collection/components/textarea/textarea.ios.css +201 -96
  468. package/dist/collection/components/textarea/textarea.js +59 -16
  469. package/dist/collection/components/textarea/textarea.md.css +214 -97
  470. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  471. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  472. package/dist/collection/components/title/title.ionic.css +147 -0
  473. package/dist/collection/components/title/title.ios.css +32 -4
  474. package/dist/collection/components/title/title.js +13 -7
  475. package/dist/collection/components/title/title.md.css +32 -4
  476. package/dist/collection/components/toast/animations/utils.js +1 -1
  477. package/dist/collection/components/toast/toast.ios.css +12 -0
  478. package/dist/collection/components/toast/toast.js +15 -11
  479. package/dist/collection/components/toast/toast.md.css +12 -0
  480. package/dist/collection/components/toggle/toggle.ionic.css +421 -0
  481. package/dist/collection/components/toggle/toggle.ios.css +166 -120
  482. package/dist/collection/components/toggle/toggle.js +73 -18
  483. package/dist/collection/components/toggle/toggle.md.css +163 -120
  484. package/dist/collection/components/toolbar/toolbar.ionic.css +235 -0
  485. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  486. package/dist/collection/components/toolbar/toolbar.js +13 -10
  487. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  488. package/dist/collection/global/ionic-global.js +161 -13
  489. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  490. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  491. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  492. package/dist/collection/utils/test/playwright/generator.js +48 -23
  493. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  494. package/dist/collection/utils/test/playwright/page/utils/set-content.js +13 -1
  495. package/dist/collection/utils/transition/ios.transition.js +1 -0
  496. package/dist/docs.json +6876 -215
  497. package/dist/esm/{app-globals-5dbb61a5.js → app-globals-c45950ba.js} +1 -1
  498. package/dist/esm/{button-active-f6503382.js → button-active-873732e5.js} +1 -1
  499. package/dist/esm/caret-down-3eaad1cc.js +6 -0
  500. package/dist/esm/caret-left-33424bb0.js +6 -0
  501. package/dist/esm/caret-right-68d856ad.js +6 -0
  502. package/dist/esm/{data-ae11fd43.js → data-fde041b0.js} +4 -4
  503. package/dist/esm/{hardware-back-button-06ef3c3e.js → hardware-back-button-2bb5194f.js} +2 -2
  504. package/dist/esm/{index-3ad7f18b.js → index-29be96b3.js} +4 -5
  505. package/dist/esm/{index-fe1782b1.js → index-2d8b49ae.js} +9 -8
  506. package/dist/esm/{index-5cc724f3.js → index-56cab0d6.js} +1 -1
  507. package/dist/esm/{index-28849c61.js → index-723c0e5d.js} +1 -1
  508. package/dist/esm/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  509. package/dist/esm/index.js +8 -9
  510. package/dist/esm/{input-shims-0314bbe5.js → input-shims-59f93016.js} +3 -2
  511. package/dist/esm/{input.utils-09c71bc7.js → input.utils-8755322f.js} +1 -1
  512. package/dist/esm/ion-accordion_2.entry.js +40 -15
  513. package/dist/esm/ion-action-sheet.entry.js +17 -13
  514. package/dist/esm/ion-alert.entry.js +18 -15
  515. package/dist/esm/ion-app_8.entry.js +83 -62
  516. package/dist/esm/ion-avatar_3.entry.js +93 -10
  517. package/dist/esm/ion-back-button.entry.js +29 -20
  518. package/dist/esm/ion-backdrop.entry.js +11 -7
  519. package/dist/esm/ion-breadcrumb_2.entry.js +53 -16
  520. package/dist/esm/ion-button_2.entry.js +42 -12
  521. package/dist/esm/ion-card_5.entry.js +51 -28
  522. package/dist/esm/ion-checkbox.entry.js +28 -13
  523. package/dist/esm/ion-chip.entry.js +43 -8
  524. package/dist/esm/ion-col_3.entry.js +14 -11
  525. package/dist/esm/ion-datetime-button.entry.js +11 -8
  526. package/dist/esm/ion-datetime_3.entry.js +108 -33
  527. package/dist/esm/ion-fab_3.entry.js +42 -20
  528. package/dist/esm/ion-img.entry.js +6 -3
  529. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -14
  530. package/dist/esm/ion-input-password-toggle.entry.js +53 -15
  531. package/dist/esm/ion-input.entry.js +117 -22
  532. package/dist/esm/ion-item-option_3.entry.js +39 -17
  533. package/dist/esm/ion-item_8.entry.js +112 -41
  534. package/dist/esm/ion-loading.entry.js +15 -12
  535. package/dist/esm/ion-menu_3.entry.js +45 -25
  536. package/dist/esm/ion-modal.entry.js +32 -15
  537. package/dist/esm/ion-nav_2.entry.js +10 -9
  538. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  539. package/dist/esm/ion-picker-column.entry.js +8 -8
  540. package/dist/esm/ion-picker.entry.js +9 -5
  541. package/dist/esm/ion-popover.entry.js +15 -12
  542. package/dist/esm/ion-progress-bar.entry.js +11 -7
  543. package/dist/esm/ion-radio_2.entry.js +17 -11
  544. package/dist/esm/ion-range.entry.js +12 -9
  545. package/dist/esm/ion-refresher_2.entry.js +37 -16
  546. package/dist/esm/ion-reorder_2.entry.js +35 -11
  547. package/dist/esm/ion-ripple-effect.entry.js +18 -8
  548. package/dist/esm/ion-route_4.entry.js +7 -7
  549. package/dist/esm/ion-searchbar.entry.js +93 -17
  550. package/dist/esm/ion-segment_2.entry.js +24 -29
  551. package/dist/esm/ion-select_3.entry.js +91 -34
  552. package/dist/esm/ion-spinner.entry.js +33 -8
  553. package/dist/esm/ion-split-pane.entry.js +13 -9
  554. package/dist/esm/ion-tab-bar_2.entry.js +27 -15
  555. package/dist/esm/ion-tab_2.entry.js +5 -5
  556. package/dist/esm/ion-text.entry.js +6 -6
  557. package/dist/esm/ion-textarea.entry.js +39 -14
  558. package/dist/esm/ion-toast.entry.js +16 -12
  559. package/dist/esm/ion-toggle.entry.js +77 -19
  560. package/dist/esm/ionic-global-a8cbb8b0.js +408 -0
  561. package/dist/esm/ionic.js +5 -5
  562. package/dist/esm/{ios.transition-4ee1a3af.js → ios.transition-4706aa28.js} +4 -4
  563. package/dist/esm/list-6524700c.js +6 -0
  564. package/dist/esm/loader.js +5 -5
  565. package/dist/esm/{md.transition-5106a0d2.js → md.transition-20ad6960.js} +3 -4
  566. package/dist/esm/{overlays-9c75ec54.js → overlays-40e86f77.js} +2 -3
  567. package/dist/esm/{status-tap-f472b09f.js → status-tap-0433b6a6.js} +3 -3
  568. package/dist/esm/x-a64bcd9f.js +6 -0
  569. package/dist/esm-es5/app-globals-c45950ba.js +4 -0
  570. package/dist/esm-es5/{button-active-f6503382.js → button-active-873732e5.js} +1 -1
  571. package/dist/esm-es5/caret-down-3eaad1cc.js +4 -0
  572. package/dist/esm-es5/caret-left-33424bb0.js +4 -0
  573. package/dist/esm-es5/caret-right-68d856ad.js +4 -0
  574. package/dist/esm-es5/data-fde041b0.js +4 -0
  575. package/dist/esm-es5/{hardware-back-button-06ef3c3e.js → hardware-back-button-2bb5194f.js} +1 -1
  576. package/dist/esm-es5/index-29be96b3.js +4 -0
  577. package/dist/esm-es5/index-2d8b49ae.js +4 -0
  578. package/dist/esm-es5/index-56cab0d6.js +4 -0
  579. package/dist/esm-es5/{index-28849c61.js → index-723c0e5d.js} +1 -1
  580. package/dist/esm-es5/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  581. package/dist/esm-es5/index.js +1 -1
  582. package/dist/esm-es5/input-shims-59f93016.js +4 -0
  583. package/dist/esm-es5/input.utils-8755322f.js +4 -0
  584. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  585. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  586. package/dist/esm-es5/ion-alert.entry.js +1 -1
  587. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  588. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  589. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  590. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  591. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  592. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  593. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  594. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  595. package/dist/esm-es5/ion-chip.entry.js +1 -1
  596. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  597. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  598. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  599. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  600. package/dist/esm-es5/ion-img.entry.js +1 -1
  601. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  602. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  603. package/dist/esm-es5/ion-input.entry.js +1 -1
  604. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  605. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  606. package/dist/esm-es5/ion-loading.entry.js +1 -1
  607. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  608. package/dist/esm-es5/ion-modal.entry.js +1 -1
  609. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  610. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  611. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  612. package/dist/esm-es5/ion-picker.entry.js +1 -1
  613. package/dist/esm-es5/ion-popover.entry.js +1 -1
  614. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  615. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  616. package/dist/esm-es5/ion-range.entry.js +1 -1
  617. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  618. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  619. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  620. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  621. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  622. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  623. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  624. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  625. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  626. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  627. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  628. package/dist/esm-es5/ion-text.entry.js +1 -1
  629. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  630. package/dist/esm-es5/ion-toast.entry.js +1 -1
  631. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  632. package/dist/esm-es5/ionic-global-a8cbb8b0.js +4 -0
  633. package/dist/esm-es5/ionic.js +1 -1
  634. package/dist/esm-es5/ios.transition-4706aa28.js +4 -0
  635. package/dist/esm-es5/list-6524700c.js +4 -0
  636. package/dist/esm-es5/loader.js +1 -1
  637. package/dist/esm-es5/md.transition-20ad6960.js +4 -0
  638. package/dist/esm-es5/overlays-40e86f77.js +4 -0
  639. package/dist/esm-es5/status-tap-0433b6a6.js +4 -0
  640. package/dist/esm-es5/x-a64bcd9f.js +4 -0
  641. package/dist/html.html-data.json +2186 -114
  642. package/dist/ionic/index.esm.js +1 -1
  643. package/dist/ionic/ionic.esm.js +1 -1
  644. package/dist/ionic/ionic.js +1 -1
  645. package/dist/ionic/p-00093fc0.entry.js +4 -0
  646. package/dist/ionic/p-01d80901.system.js +4 -0
  647. package/dist/ionic/p-0328213e.system.entry.js +4 -0
  648. package/dist/ionic/p-06ec4706.js +4 -0
  649. package/dist/ionic/p-09b9918f.system.entry.js +4 -0
  650. package/dist/ionic/{p-d60342e3.js → p-0b120b1d.js} +1 -1
  651. package/dist/ionic/{p-ecceeb90.js → p-0bfbe380.js} +1 -1
  652. package/dist/ionic/p-0cd67533.js +4 -0
  653. package/dist/ionic/{p-25180df3.system.js → p-0fa218e9.system.js} +1 -1
  654. package/dist/ionic/p-0fd7a8cb.system.entry.js +4 -0
  655. package/dist/ionic/p-10dacd80.entry.js +4 -0
  656. package/dist/ionic/p-1158a829.entry.js +4 -0
  657. package/dist/ionic/{p-1e955a45.system.js → p-115d74cd.system.js} +1 -1
  658. package/dist/ionic/p-175821bc.entry.js +4 -0
  659. package/dist/ionic/p-1f6507e4.entry.js +4 -0
  660. package/dist/ionic/p-1f7b26cc.entry.js +4 -0
  661. package/dist/ionic/{p-f687573e.system.js → p-1fd1d157.system.js} +1 -1
  662. package/dist/ionic/p-1fe2380b.system.entry.js +4 -0
  663. package/dist/ionic/p-2282c878.system.entry.js +4 -0
  664. package/dist/ionic/p-22b0483a.system.entry.js +4 -0
  665. package/dist/ionic/p-243adf8c.js +4 -0
  666. package/dist/ionic/p-28be0cf9.js +4 -0
  667. package/dist/ionic/{p-baffaf8d.system.entry.js → p-2b98e44b.system.entry.js} +1 -1
  668. package/dist/ionic/p-2f0f1db6.system.entry.js +4 -0
  669. package/dist/ionic/p-30c8168f.system.entry.js +4 -0
  670. package/dist/ionic/p-3281aaeb.entry.js +4 -0
  671. package/dist/ionic/p-35b66bbc.system.entry.js +4 -0
  672. package/dist/ionic/p-36db29d9.system.js +4 -0
  673. package/dist/ionic/p-3c1b93db.system.entry.js +4 -0
  674. package/dist/ionic/p-3dfa54e6.js +4 -0
  675. package/dist/ionic/{p-836d39d4.system.entry.js → p-3efc5d47.system.entry.js} +1 -1
  676. package/dist/ionic/p-3f8a3fb4.system.entry.js +4 -0
  677. package/dist/ionic/p-429dd2b5.system.js +4 -0
  678. package/dist/ionic/p-4478ea45.entry.js +4 -0
  679. package/dist/ionic/{p-68c4df55.entry.js → p-44c281df.entry.js} +1 -1
  680. package/dist/ionic/p-46f790b3.entry.js +4 -0
  681. package/dist/ionic/p-48cd1ced.entry.js +4 -0
  682. package/dist/ionic/{p-0c06e09b.system.js → p-4c38fcdd.system.js} +1 -1
  683. package/dist/ionic/p-4ca47744.entry.js +4 -0
  684. package/dist/ionic/{p-5da94421.system.js → p-4ccbf702.system.js} +2 -2
  685. package/dist/ionic/p-4de02483.entry.js +4 -0
  686. package/dist/ionic/p-4e6c9480.system.entry.js +4 -0
  687. package/dist/ionic/p-52c8442b.system.entry.js +4 -0
  688. package/dist/ionic/{p-d743e981.js → p-5771eacd.js} +1 -1
  689. package/dist/ionic/{p-da2b833b.js → p-58f16ef6.js} +1 -1
  690. package/dist/ionic/p-5a583b1a.entry.js +4 -0
  691. package/dist/ionic/p-5b57d327.system.js +4 -0
  692. package/dist/ionic/p-5c766439.entry.js +4 -0
  693. package/dist/ionic/p-5c8fa89d.system.js +4 -0
  694. package/dist/ionic/p-5cc80c49.system.js +4 -0
  695. package/dist/ionic/p-600b69a0.entry.js +4 -0
  696. package/dist/ionic/p-607c9c33.js +4 -0
  697. package/dist/ionic/p-614c3822.system.js +4 -0
  698. package/dist/ionic/p-614d974e.system.entry.js +4 -0
  699. package/dist/ionic/p-62836b01.js +4 -0
  700. package/dist/ionic/p-63fe75bc.js +4 -0
  701. package/dist/ionic/p-6474f012.system.entry.js +4 -0
  702. package/dist/ionic/p-64755b44.entry.js +4 -0
  703. package/dist/ionic/p-664480c8.system.entry.js +4 -0
  704. package/dist/ionic/p-6a0dd6bc.js +4 -0
  705. package/dist/ionic/p-6b6ee9ca.system.entry.js +4 -0
  706. package/dist/ionic/p-6c555957.system.entry.js +4 -0
  707. package/dist/ionic/{p-96cc4814.js → p-6d7c455f.js} +1 -1
  708. package/dist/ionic/p-6f418011.system.entry.js +4 -0
  709. package/dist/ionic/p-713374f2.entry.js +4 -0
  710. package/dist/ionic/p-727aa804.system.entry.js +4 -0
  711. package/dist/ionic/p-737d64f9.entry.js +4 -0
  712. package/dist/ionic/p-77c3fe69.entry.js +4 -0
  713. package/dist/ionic/p-7b341352.js +4 -0
  714. package/dist/ionic/p-7c9d5354.entry.js +4 -0
  715. package/dist/ionic/p-7ccf7f29.entry.js +4 -0
  716. package/dist/ionic/p-80ff4e55.entry.js +4 -0
  717. package/dist/ionic/p-82028c01.system.entry.js +4 -0
  718. package/dist/ionic/{p-fcd71204.system.entry.js → p-8285d686.system.entry.js} +1 -1
  719. package/dist/ionic/p-82d80c8f.entry.js +4 -0
  720. package/dist/ionic/{p-d836d43e.js → p-83948e48.js} +1 -1
  721. package/dist/ionic/p-83f68992.entry.js +4 -0
  722. package/dist/ionic/p-854b1e11.system.entry.js +4 -0
  723. package/dist/ionic/p-87365857.system.entry.js +4 -0
  724. package/dist/ionic/p-87a81a63.system.entry.js +4 -0
  725. package/dist/ionic/p-8fa4ae3e.entry.js +4 -0
  726. package/dist/ionic/p-916f6c1d.entry.js +4 -0
  727. package/dist/ionic/p-927b5898.entry.js +4 -0
  728. package/dist/ionic/p-93cf45ec.system.entry.js +4 -0
  729. package/dist/ionic/p-9493acfe.entry.js +4 -0
  730. package/dist/ionic/p-9805b25a.system.entry.js +4 -0
  731. package/dist/ionic/p-9c8e5275.system.entry.js +4 -0
  732. package/dist/ionic/p-a1b80dd6.system.js +4 -0
  733. package/dist/ionic/{p-372ae7f4.system.js → p-a4519424.system.js} +1 -1
  734. package/dist/ionic/p-a48fa08b.system.entry.js +4 -0
  735. package/dist/ionic/p-a8a04757.system.entry.js +4 -0
  736. package/dist/ionic/p-a9af4103.js +4 -0
  737. package/dist/ionic/p-b016e5d7.system.entry.js +4 -0
  738. package/dist/ionic/p-b24c259e.entry.js +4 -0
  739. package/dist/ionic/p-b33b643b.entry.js +4 -0
  740. package/dist/ionic/{p-49bc6544.entry.js → p-b6d72f12.entry.js} +1 -1
  741. package/dist/ionic/p-ba45ad7d.entry.js +4 -0
  742. package/dist/ionic/p-bc8e48de.entry.js +4 -0
  743. package/dist/ionic/p-bcfa9bb5.system.entry.js +4 -0
  744. package/dist/ionic/p-bd7fb7b4.js +4 -0
  745. package/dist/ionic/p-bdd4e026.entry.js +4 -0
  746. package/dist/ionic/p-bf673222.system.entry.js +4 -0
  747. package/dist/ionic/p-c248c88d.system.js +4 -0
  748. package/dist/ionic/{p-313ccc01.system.entry.js → p-c32229bb.system.entry.js} +1 -1
  749. package/dist/ionic/{p-9ea607bd.system.js → p-c4ae4d32.system.js} +2 -2
  750. package/dist/ionic/p-c628bdcb.system.js +4 -0
  751. package/dist/ionic/p-c6f1b434.js +4 -0
  752. package/dist/ionic/p-c872ac0c.entry.js +4 -0
  753. package/dist/ionic/p-c9ecc338.entry.js +4 -0
  754. package/dist/ionic/p-ca3bf740.system.entry.js +4 -0
  755. package/dist/ionic/p-cb3dc48f.entry.js +4 -0
  756. package/dist/ionic/p-cd40baea.entry.js +4 -0
  757. package/dist/ionic/p-cde755fc.system.entry.js +4 -0
  758. package/dist/ionic/p-ce5c2902.system.js +4 -0
  759. package/dist/ionic/p-d05aabdf.system.entry.js +4 -0
  760. package/dist/ionic/p-d3fd2c98.entry.js +4 -0
  761. package/dist/ionic/p-d53e0b4b.entry.js +4 -0
  762. package/dist/ionic/p-d6eda1bb.system.entry.js +4 -0
  763. package/dist/ionic/p-d79ed7b3.system.js +4 -0
  764. package/dist/ionic/p-d878447e.entry.js +4 -0
  765. package/dist/ionic/p-d9c8bac9.system.entry.js +4 -0
  766. package/dist/ionic/p-db63907a.system.entry.js +4 -0
  767. package/dist/ionic/p-dbb02a23.system.entry.js +4 -0
  768. package/dist/ionic/p-dd79c031.js +4 -0
  769. package/dist/ionic/p-dde3a646.entry.js +4 -0
  770. package/dist/ionic/p-dfd995cc.system.entry.js +4 -0
  771. package/dist/ionic/p-e050dad9.system.js +4 -0
  772. package/dist/ionic/p-e259208f.entry.js +4 -0
  773. package/dist/ionic/p-e2bd011e.js +4 -0
  774. package/dist/ionic/p-e34e037d.system.entry.js +4 -0
  775. package/dist/ionic/p-e3b70846.system.js +4 -0
  776. package/dist/ionic/p-e61c9280.entry.js +4 -0
  777. package/dist/ionic/p-eafeb1ff.system.js +4 -0
  778. package/dist/ionic/{p-176b372f.entry.js → p-ed419a44.entry.js} +1 -1
  779. package/dist/ionic/{p-973f0b15.system.entry.js → p-eef611dc.system.entry.js} +1 -1
  780. package/dist/ionic/{p-fd0cb4ef.entry.js → p-f3cfb48a.entry.js} +1 -1
  781. package/dist/ionic/p-f4ad1cf6.system.entry.js +4 -0
  782. package/dist/ionic/{p-3c8e5c23.system.js → p-f7712c17.system.js} +1 -1
  783. package/dist/ionic/p-f9782d44.system.entry.js +4 -0
  784. package/dist/ionic/p-fadc15c0.entry.js +4 -0
  785. package/dist/types/components/accordion/accordion.d.ts +4 -2
  786. package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
  787. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  788. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  789. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  790. package/dist/types/components/alert/alert.d.ts +3 -2
  791. package/dist/types/components/app/app.d.ts +4 -0
  792. package/dist/types/components/avatar/avatar.d.ts +28 -0
  793. package/dist/types/components/back-button/back-button.d.ts +2 -1
  794. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  795. package/dist/types/components/badge/badge.d.ts +23 -1
  796. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  797. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  798. package/dist/types/components/button/button.d.ts +15 -4
  799. package/dist/types/components/buttons/buttons.d.ts +5 -1
  800. package/dist/types/components/card/card.d.ts +8 -1
  801. package/dist/types/components/card-content/card-content.d.ts +2 -1
  802. package/dist/types/components/card-header/card-header.d.ts +3 -2
  803. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  804. package/dist/types/components/card-title/card-title.d.ts +2 -1
  805. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  806. package/dist/types/components/chip/chip.d.ts +19 -1
  807. package/dist/types/components/col/col.d.ts +4 -0
  808. package/dist/types/components/content/content.d.ts +3 -0
  809. package/dist/types/components/datetime/datetime.d.ts +26 -1
  810. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  811. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  812. package/dist/types/components/fab/fab.d.ts +4 -0
  813. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  814. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  815. package/dist/types/components/footer/footer.d.ts +4 -3
  816. package/dist/types/components/grid/grid.d.ts +4 -0
  817. package/dist/types/components/header/header.d.ts +9 -3
  818. package/dist/types/components/img/img.d.ts +3 -0
  819. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  820. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  821. package/dist/types/components/input/input.d.ts +31 -5
  822. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  823. package/dist/types/components/item/item.d.ts +11 -4
  824. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  825. package/dist/types/components/item-group/item-group.d.ts +4 -0
  826. package/dist/types/components/item-option/item-option.d.ts +11 -1
  827. package/dist/types/components/item-options/item-options.d.ts +4 -0
  828. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  829. package/dist/types/components/label/label.d.ts +2 -1
  830. package/dist/types/components/list/list.d.ts +15 -1
  831. package/dist/types/components/list-header/list-header.d.ts +2 -1
  832. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  833. package/dist/types/components/loading/loading.d.ts +3 -2
  834. package/dist/types/components/menu/menu.d.ts +3 -0
  835. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  836. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  837. package/dist/types/components/modal/modal-interface.d.ts +3 -7
  838. package/dist/types/components/modal/modal.d.ts +11 -1
  839. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  840. package/dist/types/components/nav/nav.d.ts +5 -1
  841. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  842. package/dist/types/components/note/note.d.ts +2 -1
  843. package/dist/types/components/picker/picker.d.ts +2 -1
  844. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  845. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  846. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  847. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  848. package/dist/types/components/popover/popover.d.ts +6 -5
  849. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  850. package/dist/types/components/radio/radio.d.ts +2 -1
  851. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  852. package/dist/types/components/range/range.d.ts +2 -1
  853. package/dist/types/components/refresher/refresher.d.ts +2 -1
  854. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  855. package/dist/types/components/reorder/reorder.d.ts +9 -0
  856. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  857. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  858. package/dist/types/components/route/route.d.ts +4 -0
  859. package/dist/types/components/router/router.d.ts +4 -0
  860. package/dist/types/components/router-link/router-link.d.ts +4 -0
  861. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  862. package/dist/types/components/row/row.d.ts +4 -0
  863. package/dist/types/components/searchbar/searchbar.d.ts +30 -8
  864. package/dist/types/components/segment/segment.d.ts +2 -1
  865. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  866. package/dist/types/components/select/select.d.ts +20 -5
  867. package/dist/types/components/select-option/select-option.d.ts +4 -0
  868. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  869. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  870. package/dist/types/components/spinner/spinner.d.ts +15 -0
  871. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  872. package/dist/types/components/tab/tab.d.ts +4 -0
  873. package/dist/types/components/tab-bar/tab-bar.d.ts +21 -2
  874. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  875. package/dist/types/components/tabs/tabs.d.ts +3 -0
  876. package/dist/types/components/text/text.d.ts +2 -1
  877. package/dist/types/components/textarea/textarea.d.ts +16 -4
  878. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  879. package/dist/types/components/title/title.d.ts +4 -0
  880. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  881. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  882. package/dist/types/components/toast/toast.d.ts +3 -2
  883. package/dist/types/components/toggle/toggle.d.ts +15 -1
  884. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  885. package/dist/types/components.d.ts +1346 -178
  886. package/dist/types/global/ionic-global.d.ts +25 -2
  887. package/dist/types/interface.d.ts +3 -0
  888. package/dist/types/utils/config.d.ts +99 -2
  889. package/dist/types/utils/overlays-interface.d.ts +31 -1
  890. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  891. package/hydrate/index.js +2012 -669
  892. package/hydrate/index.mjs +2012 -669
  893. package/package.json +9 -5
  894. package/components/index9.js +0 -167
  895. package/dist/cjs/index-5915f9b3.js +0 -38
  896. package/dist/cjs/ionic-global-d9a8bb5b.js +0 -237
  897. package/dist/esm/index-9b0d46f4.js +0 -34
  898. package/dist/esm/ionic-global-c81d82ab.js +0 -231
  899. package/dist/esm-es5/app-globals-5dbb61a5.js +0 -4
  900. package/dist/esm-es5/data-ae11fd43.js +0 -4
  901. package/dist/esm-es5/index-3ad7f18b.js +0 -4
  902. package/dist/esm-es5/index-5cc724f3.js +0 -4
  903. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  904. package/dist/esm-es5/index-fe1782b1.js +0 -4
  905. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  906. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  907. package/dist/esm-es5/ionic-global-c81d82ab.js +0 -4
  908. package/dist/esm-es5/ios.transition-4ee1a3af.js +0 -4
  909. package/dist/esm-es5/md.transition-5106a0d2.js +0 -4
  910. package/dist/esm-es5/overlays-9c75ec54.js +0 -4
  911. package/dist/esm-es5/status-tap-f472b09f.js +0 -4
  912. package/dist/ionic/p-003eecb9.entry.js +0 -4
  913. package/dist/ionic/p-00b01a55.system.entry.js +0 -4
  914. package/dist/ionic/p-01503bbd.system.entry.js +0 -4
  915. package/dist/ionic/p-0303d0f8.js +0 -4
  916. package/dist/ionic/p-0373d924.system.entry.js +0 -4
  917. package/dist/ionic/p-0574e87e.js +0 -4
  918. package/dist/ionic/p-05beda73.entry.js +0 -4
  919. package/dist/ionic/p-06e58c4e.js +0 -4
  920. package/dist/ionic/p-06fee233.js +0 -4
  921. package/dist/ionic/p-0fa0c92b.entry.js +0 -4
  922. package/dist/ionic/p-100b83fd.system.entry.js +0 -4
  923. package/dist/ionic/p-17474161.system.js +0 -4
  924. package/dist/ionic/p-21cfd4de.entry.js +0 -4
  925. package/dist/ionic/p-21e5e7e4.js +0 -4
  926. package/dist/ionic/p-2200e26b.entry.js +0 -4
  927. package/dist/ionic/p-22c020db.system.entry.js +0 -4
  928. package/dist/ionic/p-233e6c93.entry.js +0 -4
  929. package/dist/ionic/p-25928b83.system.entry.js +0 -4
  930. package/dist/ionic/p-2690b1de.js +0 -4
  931. package/dist/ionic/p-293ed6ac.system.entry.js +0 -4
  932. package/dist/ionic/p-2b7c93b4.entry.js +0 -4
  933. package/dist/ionic/p-2c4bdd9d.entry.js +0 -4
  934. package/dist/ionic/p-2ca6eac2.system.entry.js +0 -4
  935. package/dist/ionic/p-2ea1ca4f.system.entry.js +0 -4
  936. package/dist/ionic/p-322c5fb4.system.js +0 -4
  937. package/dist/ionic/p-3c968c7f.system.entry.js +0 -4
  938. package/dist/ionic/p-4a0a4204.system.entry.js +0 -4
  939. package/dist/ionic/p-4a82bd1c.system.entry.js +0 -4
  940. package/dist/ionic/p-4b0fedb7.system.entry.js +0 -4
  941. package/dist/ionic/p-4c8fceb0.entry.js +0 -4
  942. package/dist/ionic/p-521eca2e.entry.js +0 -4
  943. package/dist/ionic/p-53854390.entry.js +0 -4
  944. package/dist/ionic/p-5417b9bb.entry.js +0 -4
  945. package/dist/ionic/p-58191231.entry.js +0 -4
  946. package/dist/ionic/p-58b5dfe7.system.entry.js +0 -4
  947. package/dist/ionic/p-5e66bcf2.entry.js +0 -4
  948. package/dist/ionic/p-5e842258.entry.js +0 -4
  949. package/dist/ionic/p-6562e0a9.system.entry.js +0 -4
  950. package/dist/ionic/p-6817cf42.system.entry.js +0 -4
  951. package/dist/ionic/p-69066a53.js +0 -4
  952. package/dist/ionic/p-6b8893dd.entry.js +0 -4
  953. package/dist/ionic/p-6d7931cc.system.entry.js +0 -4
  954. package/dist/ionic/p-6e85e450.entry.js +0 -4
  955. package/dist/ionic/p-7243df6f.entry.js +0 -4
  956. package/dist/ionic/p-7251fed5.entry.js +0 -4
  957. package/dist/ionic/p-72ffd137.system.entry.js +0 -4
  958. package/dist/ionic/p-755b27f0.system.entry.js +0 -4
  959. package/dist/ionic/p-75c0dc65.system.entry.js +0 -4
  960. package/dist/ionic/p-772dacba.system.entry.js +0 -4
  961. package/dist/ionic/p-773d118d.entry.js +0 -4
  962. package/dist/ionic/p-7740e32c.system.js +0 -4
  963. package/dist/ionic/p-7c50965e.entry.js +0 -4
  964. package/dist/ionic/p-8836d0eb.system.entry.js +0 -4
  965. package/dist/ionic/p-88e63c7d.js +0 -4
  966. package/dist/ionic/p-89a0a446.entry.js +0 -4
  967. package/dist/ionic/p-8b6232a6.system.entry.js +0 -4
  968. package/dist/ionic/p-8d44cf1f.entry.js +0 -4
  969. package/dist/ionic/p-8ed31163.system.entry.js +0 -4
  970. package/dist/ionic/p-9172535c.entry.js +0 -4
  971. package/dist/ionic/p-92d7a3d1.entry.js +0 -4
  972. package/dist/ionic/p-93f37ceb.system.entry.js +0 -4
  973. package/dist/ionic/p-95823c62.system.entry.js +0 -4
  974. package/dist/ionic/p-960803fc.system.entry.js +0 -4
  975. package/dist/ionic/p-98871496.system.js +0 -4
  976. package/dist/ionic/p-9b6c6302.system.entry.js +0 -4
  977. package/dist/ionic/p-9c23044d.entry.js +0 -4
  978. package/dist/ionic/p-9cc3bcc5.system.entry.js +0 -4
  979. package/dist/ionic/p-9ece8dcf.entry.js +0 -4
  980. package/dist/ionic/p-9f3008d4.system.js +0 -4
  981. package/dist/ionic/p-9fef1364.entry.js +0 -4
  982. package/dist/ionic/p-a0c88dc2.system.entry.js +0 -4
  983. package/dist/ionic/p-a3711608.system.entry.js +0 -4
  984. package/dist/ionic/p-a41699db.entry.js +0 -4
  985. package/dist/ionic/p-a440397c.js +0 -4
  986. package/dist/ionic/p-a4565eb5.system.js +0 -4
  987. package/dist/ionic/p-a4d51b8d.system.js +0 -4
  988. package/dist/ionic/p-a69b9fc5.system.js +0 -4
  989. package/dist/ionic/p-a72fb8a1.system.entry.js +0 -4
  990. package/dist/ionic/p-a879ecb7.system.entry.js +0 -4
  991. package/dist/ionic/p-a90e2708.system.entry.js +0 -4
  992. package/dist/ionic/p-ab8a2ff1.entry.js +0 -4
  993. package/dist/ionic/p-af999a31.entry.js +0 -4
  994. package/dist/ionic/p-b0568945.system.entry.js +0 -4
  995. package/dist/ionic/p-b4c950f8.entry.js +0 -4
  996. package/dist/ionic/p-b54fc1ae.entry.js +0 -4
  997. package/dist/ionic/p-b7657e8d.entry.js +0 -4
  998. package/dist/ionic/p-bd25d639.system.entry.js +0 -4
  999. package/dist/ionic/p-bfa2e81c.entry.js +0 -4
  1000. package/dist/ionic/p-c34659b9.entry.js +0 -4
  1001. package/dist/ionic/p-c45bd24c.entry.js +0 -4
  1002. package/dist/ionic/p-cdb11938.system.entry.js +0 -4
  1003. package/dist/ionic/p-ce705aac.system.entry.js +0 -4
  1004. package/dist/ionic/p-cff5585e.system.entry.js +0 -4
  1005. package/dist/ionic/p-d6841eac.js +0 -4
  1006. package/dist/ionic/p-d77e12ca.entry.js +0 -4
  1007. package/dist/ionic/p-da263d8e.entry.js +0 -4
  1008. package/dist/ionic/p-df83e308.system.entry.js +0 -4
  1009. package/dist/ionic/p-dfb78785.system.js +0 -4
  1010. package/dist/ionic/p-e3a5da9d.entry.js +0 -4
  1011. package/dist/ionic/p-e3e1e3de.entry.js +0 -4
  1012. package/dist/ionic/p-e3f13b08.js +0 -4
  1013. package/dist/ionic/p-ecb57d24.system.entry.js +0 -4
  1014. package/dist/ionic/p-efaffe74.entry.js +0 -4
  1015. package/dist/ionic/p-f1acf541.system.entry.js +0 -4
  1016. package/dist/ionic/p-f50ae0d5.system.entry.js +0 -4
  1017. package/dist/ionic/p-f88ebc36.entry.js +0 -4
  1018. package/dist/ionic/p-f8c8b9ba.entry.js +0 -4
  1019. package/dist/ionic/p-f9a53abb.system.js +0 -4
  1020. package/dist/ionic/p-ff4b7e40.system.js +0 -4
  1021. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -82,17 +82,21 @@ export namespace Components {
82
82
  */
83
83
  "disabled": boolean;
84
84
  /**
85
- * The mode determines which platform styles to use.
85
+ * The mode determines the platform behaviors of the component.
86
86
  */
87
87
  "mode"?: "ios" | "md";
88
88
  /**
89
89
  * If `true`, the accordion cannot be interacted with, but does not alter the opacity.
90
90
  */
91
91
  "readonly": boolean;
92
+ /**
93
+ * The theme determines the visual appearance of the component.
94
+ */
95
+ "theme"?: "ios" | "md" | "ionic";
92
96
  /**
93
97
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
94
98
  */
95
- "toggleIcon": string;
99
+ "toggleIcon"?: string;
96
100
  /**
97
101
  * The slot inside of `ion-item` to place the toggle icon. Defaults to `"end"`.
98
102
  */
@@ -117,7 +121,7 @@ export namespace Components {
117
121
  "expand": 'compact' | 'inset';
118
122
  "getAccordions": () => Promise<HTMLIonAccordionElement[]>;
119
123
  /**
120
- * The mode determines which platform styles to use.
124
+ * The mode determines the platform behaviors of the component.
121
125
  */
122
126
  "mode"?: "ios" | "md";
123
127
  /**
@@ -132,6 +136,10 @@ export namespace Components {
132
136
  * This method is used to ensure that the value of ion-accordion-group is being set in a valid way. This method should only be called in response to a user generated action.
133
137
  */
134
138
  "requestAccordionToggle": (accordionValue: string | undefined, accordionExpand: boolean) => Promise<void>;
139
+ /**
140
+ * The theme determines the visual appearance of the component.
141
+ */
142
+ "theme"?: "ios" | "md" | "ionic";
135
143
  /**
136
144
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
137
145
  */
@@ -187,7 +195,7 @@ export namespace Components {
187
195
  */
188
196
  "leaveAnimation"?: AnimationBuilder;
189
197
  /**
190
- * The mode determines which platform styles to use.
198
+ * The mode determines the platform behaviors of the component.
191
199
  */
192
200
  "mode"?: "ios" | "md";
193
201
  /**
@@ -208,7 +216,11 @@ export namespace Components {
208
216
  */
209
217
  "subHeader"?: string;
210
218
  /**
211
- * If `true`, the action sheet will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
219
+ * The theme determines the visual appearance of the component.
220
+ */
221
+ "theme"?: "ios" | "md" | "ionic";
222
+ /**
223
+ * If `true`, the action sheet will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
212
224
  */
213
225
  "translucent": boolean;
214
226
  /**
@@ -274,7 +286,7 @@ export namespace Components {
274
286
  */
275
287
  "message"?: string | IonicSafeString;
276
288
  /**
277
- * The mode determines which platform styles to use.
289
+ * The mode determines the platform behaviors of the component.
278
290
  */
279
291
  "mode"?: "ios" | "md";
280
292
  /**
@@ -295,7 +307,11 @@ export namespace Components {
295
307
  */
296
308
  "subHeader"?: string;
297
309
  /**
298
- * If `true`, the alert will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
310
+ * The theme determines the visual appearance of the component.
311
+ */
312
+ "theme"?: "ios" | "md" | "ionic";
313
+ /**
314
+ * If `true`, the alert will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
299
315
  */
300
316
  "translucent": boolean;
301
317
  /**
@@ -304,9 +320,33 @@ export namespace Components {
304
320
  "trigger": string | undefined;
305
321
  }
306
322
  interface IonApp {
323
+ /**
324
+ * The mode determines the platform behaviors of the component.
325
+ */
326
+ "mode"?: "ios" | "md";
307
327
  "setFocus": (elements: HTMLElement[]) => Promise<void>;
328
+ /**
329
+ * The theme determines the visual appearance of the component.
330
+ */
331
+ "theme"?: "ios" | "md" | "ionic";
308
332
  }
309
333
  interface IonAvatar {
334
+ /**
335
+ * The mode determines the platform behaviors of the component.
336
+ */
337
+ "mode"?: "ios" | "md";
338
+ /**
339
+ * Set to `"soft"` for an avatar with slightly rounded corners, `"round"` for an avatar with fully rounded corners, or `"rectangular"` for an avatar without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
340
+ */
341
+ "shape"?: 'soft' | 'round' | 'rectangular';
342
+ /**
343
+ * Set to `"xxsmall"` for the smallest size. Set to `"xsmall"` for a very small size. Set to `"small"` for a compact size. Set to `"medium"` for the default height and width. Set to `"large"` for a larger size. Set to `"xlarge"` for the largest dimensions. Defaults to `"medium"` for the `ionic` theme, undefined for all other themes.
344
+ */
345
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
346
+ /**
347
+ * The theme determines the visual appearance of the component.
348
+ */
349
+ "theme"?: "ios" | "md" | "ionic";
310
350
  }
311
351
  interface IonBackButton {
312
352
  /**
@@ -326,7 +366,7 @@ export namespace Components {
326
366
  */
327
367
  "icon"?: string | null;
328
368
  /**
329
- * The mode determines which platform styles to use.
369
+ * The mode determines the platform behaviors of the component.
330
370
  */
331
371
  "mode"?: "ios" | "md";
332
372
  /**
@@ -337,12 +377,20 @@ export namespace Components {
337
377
  * The text to display in the back button.
338
378
  */
339
379
  "text"?: string | null;
380
+ /**
381
+ * The theme determines the visual appearance of the component.
382
+ */
383
+ "theme"?: "ios" | "md" | "ionic";
340
384
  /**
341
385
  * The type of the button.
342
386
  */
343
387
  "type": 'submit' | 'reset' | 'button';
344
388
  }
345
389
  interface IonBackdrop {
390
+ /**
391
+ * The mode determines the platform behaviors of the component.
392
+ */
393
+ "mode"?: "ios" | "md";
346
394
  /**
347
395
  * If `true`, the backdrop will stop propagation on tap.
348
396
  */
@@ -351,6 +399,10 @@ export namespace Components {
351
399
  * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
352
400
  */
353
401
  "tappable": boolean;
402
+ /**
403
+ * The theme determines the visual appearance of the component.
404
+ */
405
+ "theme"?: "ios" | "md" | "ionic";
354
406
  /**
355
407
  * If `true`, the backdrop will be visible.
356
408
  */
@@ -362,9 +414,21 @@ export namespace Components {
362
414
  */
363
415
  "color"?: Color;
364
416
  /**
365
- * The mode determines which platform styles to use.
417
+ * The mode determines the platform behaviors of the component.
366
418
  */
367
419
  "mode"?: "ios" | "md";
420
+ /**
421
+ * Set to `"rectangular"` for non-rounded corners. Set to `"soft"` for slightly rounded corners. Set to `"round"` for fully rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
422
+ */
423
+ "shape"?: 'soft' | 'round | rectangular';
424
+ /**
425
+ * Set to `"xxsmall"` for the smallest badge. Set to "xsmall" for a very small badge. Set to `"small"` for a small badge. Set to "medium" for a medium badge. Set to "large" for a large badge. Set to `"xlarge"` for the largest badge. Defaults to `"small"` for the `ionic` theme, undefined for all other themes.
426
+ */
427
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
428
+ /**
429
+ * The theme determines the visual appearance of the component.
430
+ */
431
+ "theme"?: "ios" | "md" | "ionic";
368
432
  }
369
433
  interface IonBreadcrumb {
370
434
  /**
@@ -390,7 +454,7 @@ export namespace Components {
390
454
  "href": string | undefined;
391
455
  "last": boolean;
392
456
  /**
393
- * The mode determines which platform styles to use.
457
+ * The mode determines the platform behaviors of the component.
394
458
  */
395
459
  "mode"?: "ios" | "md";
396
460
  /**
@@ -414,6 +478,10 @@ export namespace Components {
414
478
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
415
479
  */
416
480
  "target": string | undefined;
481
+ /**
482
+ * The theme determines the visual appearance of the component.
483
+ */
484
+ "theme"?: "ios" | "md" | "ionic";
417
485
  }
418
486
  interface IonBreadcrumbs {
419
487
  /**
@@ -433,9 +501,13 @@ export namespace Components {
433
501
  */
434
502
  "maxItems"?: number;
435
503
  /**
436
- * The mode determines which platform styles to use.
504
+ * The mode determines the platform behaviors of the component.
437
505
  */
438
506
  "mode"?: "ios" | "md";
507
+ /**
508
+ * The theme determines the visual appearance of the component.
509
+ */
510
+ "theme"?: "ios" | "md" | "ionic";
439
511
  }
440
512
  interface IonButton {
441
513
  /**
@@ -471,7 +543,7 @@ export namespace Components {
471
543
  */
472
544
  "href": string | undefined;
473
545
  /**
474
- * The mode determines which platform styles to use.
546
+ * The mode determines the platform behaviors of the component.
475
547
  */
476
548
  "mode"?: "ios" | "md";
477
549
  /**
@@ -487,13 +559,13 @@ export namespace Components {
487
559
  */
488
560
  "routerDirection": RouterDirection;
489
561
  /**
490
- * Set to `"round"` for a button with more rounded corners.
562
+ * Set to `"soft"` for a button with slightly rounded corners, `"round"` for a button with fully rounded corners, or `"rectangular"` for a button without rounded corners. Defaults to `"soft"` for the `"ios"` theme and `"round"` for all other themes.
491
563
  */
492
- "shape"?: 'round';
564
+ "shape"?: 'soft' | 'round' | 'rectangular';
493
565
  /**
494
566
  * Set to `"small"` for a button with less height and padding, to `"default"` for a button with the default height and padding, or to `"large"` for a button with more height and padding. By default the size is unset, unless the button is inside of an item, where the size is `"small"` by default. Set the size to `"default"` inside of an item to make it a standard size button.
495
567
  */
496
- "size"?: 'small' | 'default' | 'large';
568
+ "size"?: 'xsmall' | 'small' | 'default' | 'large' | 'xlarge';
497
569
  /**
498
570
  * If `true`, activates a button with a heavier font weight.
499
571
  */
@@ -502,6 +574,10 @@ export namespace Components {
502
574
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
503
575
  */
504
576
  "target": string | undefined;
577
+ /**
578
+ * The theme determines the visual appearance of the component.
579
+ */
580
+ "theme"?: "ios" | "md" | "ionic";
505
581
  /**
506
582
  * The type of the button.
507
583
  */
@@ -509,9 +585,17 @@ export namespace Components {
509
585
  }
510
586
  interface IonButtons {
511
587
  /**
512
- * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in `ios` mode with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
588
+ * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in the `ios` theme with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
513
589
  */
514
590
  "collapse": boolean;
591
+ /**
592
+ * The mode determines the platform behaviors of the component.
593
+ */
594
+ "mode"?: "ios" | "md";
595
+ /**
596
+ * The theme determines the visual appearance of the component.
597
+ */
598
+ "theme"?: "ios" | "md" | "ionic";
515
599
  }
516
600
  interface IonCard {
517
601
  /**
@@ -535,7 +619,7 @@ export namespace Components {
535
619
  */
536
620
  "href": string | undefined;
537
621
  /**
538
- * The mode determines which platform styles to use.
622
+ * The mode determines the platform behaviors of the component.
539
623
  */
540
624
  "mode"?: "ios" | "md";
541
625
  /**
@@ -550,10 +634,18 @@ export namespace Components {
550
634
  * When using a router, it specifies the transition direction when navigating to another page using `href`.
551
635
  */
552
636
  "routerDirection": RouterDirection;
637
+ /**
638
+ * Set to `"soft"` for a card with slightly rounded corners, `"round"` for a card with more rounded corners, or `"rectangular"` for a card without rounded corners. Defaults to `"round"`.
639
+ */
640
+ "shape"?: 'soft' | 'round' | 'rectangular';
553
641
  /**
554
642
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
555
643
  */
556
644
  "target": string | undefined;
645
+ /**
646
+ * The theme determines the visual appearance of the component.
647
+ */
648
+ "theme"?: "ios" | "md" | "ionic";
557
649
  /**
558
650
  * The type of the button. Only used when an `onclick` or `button` property is present.
559
651
  */
@@ -561,9 +653,13 @@ export namespace Components {
561
653
  }
562
654
  interface IonCardContent {
563
655
  /**
564
- * The mode determines which platform styles to use.
656
+ * The mode determines the platform behaviors of the component.
565
657
  */
566
658
  "mode"?: "ios" | "md";
659
+ /**
660
+ * The theme determines the visual appearance of the component.
661
+ */
662
+ "theme"?: "ios" | "md" | "ionic";
567
663
  }
568
664
  interface IonCardHeader {
569
665
  /**
@@ -571,11 +667,15 @@ export namespace Components {
571
667
  */
572
668
  "color"?: Color;
573
669
  /**
574
- * The mode determines which platform styles to use.
670
+ * The mode determines the platform behaviors of the component.
575
671
  */
576
672
  "mode"?: "ios" | "md";
577
673
  /**
578
- * If `true`, the card header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
674
+ * The theme determines the visual appearance of the component.
675
+ */
676
+ "theme"?: "ios" | "md" | "ionic";
677
+ /**
678
+ * If `true`, the card header will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
579
679
  */
580
680
  "translucent": boolean;
581
681
  }
@@ -585,9 +685,13 @@ export namespace Components {
585
685
  */
586
686
  "color"?: Color;
587
687
  /**
588
- * The mode determines which platform styles to use.
688
+ * The mode determines the platform behaviors of the component.
589
689
  */
590
690
  "mode"?: "ios" | "md";
691
+ /**
692
+ * The theme determines the visual appearance of the component.
693
+ */
694
+ "theme"?: "ios" | "md" | "ionic";
591
695
  }
592
696
  interface IonCardTitle {
593
697
  /**
@@ -595,9 +699,13 @@ export namespace Components {
595
699
  */
596
700
  "color"?: Color;
597
701
  /**
598
- * The mode determines which platform styles to use.
702
+ * The mode determines the platform behaviors of the component.
599
703
  */
600
704
  "mode"?: "ios" | "md";
705
+ /**
706
+ * The theme determines the visual appearance of the component.
707
+ */
708
+ "theme"?: "ios" | "md" | "ionic";
601
709
  }
602
710
  interface IonCheckbox {
603
711
  /**
@@ -629,13 +737,25 @@ export namespace Components {
629
737
  */
630
738
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
631
739
  /**
632
- * The mode determines which platform styles to use.
740
+ * The mode determines the platform behaviors of the component.
633
741
  */
634
742
  "mode"?: "ios" | "md";
635
743
  /**
636
744
  * The name of the control, which is submitted with the form data.
637
745
  */
638
746
  "name": string;
747
+ /**
748
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
749
+ */
750
+ "shape"?: 'soft' | 'rectangular';
751
+ /**
752
+ * Set to `"small"` for a checkbox with less height and padding.
753
+ */
754
+ "size"?: 'small';
755
+ /**
756
+ * The theme determines the visual appearance of the component.
757
+ */
758
+ "theme"?: "ios" | "md" | "ionic";
639
759
  /**
640
760
  * The value of the checkbox does not mean if it's checked or not, use the `checked` property for that. The value of a checkbox is analogous to the value of an `<input type="checkbox">`, it's only used when the checkbox participates in a native `<form>`.
641
761
  */
@@ -651,15 +771,31 @@ export namespace Components {
651
771
  */
652
772
  "disabled": boolean;
653
773
  /**
654
- * The mode determines which platform styles to use.
774
+ * The mode determines the platform behaviors of the component.
655
775
  */
656
776
  "mode"?: "ios" | "md";
657
777
  /**
658
778
  * Display an outline style button.
659
779
  */
660
780
  "outline": boolean;
781
+ /**
782
+ * Set to `"soft"` for a chip with slightly rounded corners, `"round"` for a chip with fully rounded corners, or `"rectangular"` for a chip without rounded corners. Defaults to `"round"` for the `"ionic"` theme and `"soft"` for all other themes.
783
+ */
784
+ "shape"?: 'soft' | 'round' | 'rectangular';
785
+ /**
786
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
787
+ */
788
+ "size"?: 'small' | 'large';
789
+ /**
790
+ * The theme determines the visual appearance of the component.
791
+ */
792
+ "theme"?: "ios" | "md" | "ionic";
661
793
  }
662
794
  interface IonCol {
795
+ /**
796
+ * The mode determines the platform behaviors of the component.
797
+ */
798
+ "mode"?: "ios" | "md";
663
799
  /**
664
800
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
665
801
  */
@@ -756,6 +892,10 @@ export namespace Components {
756
892
  * The size of the column for xs screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
757
893
  */
758
894
  "sizeXs"?: string;
895
+ /**
896
+ * The theme determines the visual appearance of the component.
897
+ */
898
+ "theme"?: "ios" | "md" | "ionic";
759
899
  }
760
900
  interface IonContent {
761
901
  /**
@@ -782,6 +922,10 @@ export namespace Components {
782
922
  * Get the element where the actual scrolling takes place. This element can be used to subscribe to `scroll` events or manually modify `scrollTop`. However, it's recommended to use the API provided by `ion-content`: i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events and `scrollToPoint()` to scroll the content into a certain point.
783
923
  */
784
924
  "getScrollElement": () => Promise<HTMLElement>;
925
+ /**
926
+ * The mode determines the platform behaviors of the component.
927
+ */
928
+ "mode"?: "ios" | "md";
785
929
  /**
786
930
  * Scroll by a specified X/Y distance in the component.
787
931
  * @param x The amount to scroll by on the horizontal axis.
@@ -818,6 +962,10 @@ export namespace Components {
818
962
  * If you want to disable the content scrolling in the Y axis, set this property to `false`.
819
963
  */
820
964
  "scrollY": boolean;
965
+ /**
966
+ * The theme determines the visual appearance of the component.
967
+ */
968
+ "theme"?: "ios" | "md" | "ionic";
821
969
  }
822
970
  interface IonDatetime {
823
971
  /**
@@ -893,7 +1041,7 @@ export namespace Components {
893
1041
  */
894
1042
  "minuteValues"?: number[] | number | string;
895
1043
  /**
896
- * The mode determines which platform styles to use.
1044
+ * The mode determines the platform behaviors of the component.
897
1045
  */
898
1046
  "mode"?: "ios" | "md";
899
1047
  /**
@@ -944,6 +1092,10 @@ export namespace Components {
944
1092
  * If `cover`, the `ion-datetime` will expand to cover the full width of its container. If `fixed`, the `ion-datetime` will have a fixed width.
945
1093
  */
946
1094
  "size": 'cover' | 'fixed';
1095
+ /**
1096
+ * The theme determines the visual appearance of the component.
1097
+ */
1098
+ "theme"?: "ios" | "md" | "ionic";
947
1099
  /**
948
1100
  * A callback used to format the header text that shows how many dates are selected. Only used if there are 0 or more than 1 selected (i.e. unused for exactly 1). By default, the header text is set to "numberOfDates days". See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this if you need to access `this` from within the callback.
949
1101
  */
@@ -971,9 +1123,13 @@ export namespace Components {
971
1123
  */
972
1124
  "disabled": boolean;
973
1125
  /**
974
- * The mode determines which platform styles to use.
1126
+ * The mode determines the platform behaviors of the component.
975
1127
  */
976
1128
  "mode"?: "ios" | "md";
1129
+ /**
1130
+ * The theme determines the visual appearance of the component.
1131
+ */
1132
+ "theme"?: "ios" | "md" | "ionic";
977
1133
  }
978
1134
  interface IonFab {
979
1135
  /**
@@ -992,6 +1148,14 @@ export namespace Components {
992
1148
  * Where to align the fab horizontally in the viewport.
993
1149
  */
994
1150
  "horizontal"?: 'start' | 'end' | 'center';
1151
+ /**
1152
+ * The mode determines the platform behaviors of the component.
1153
+ */
1154
+ "mode"?: "ios" | "md";
1155
+ /**
1156
+ * The theme determines the visual appearance of the component.
1157
+ */
1158
+ "theme"?: "ios" | "md" | "ionic";
995
1159
  /**
996
1160
  * Opens/Closes the FAB list container.
997
1161
  */
@@ -1009,7 +1173,7 @@ export namespace Components {
1009
1173
  /**
1010
1174
  * The icon name to use for the close icon. This will appear when the fab button is pressed. Only applies if it is the main button inside of a fab containing a fab list.
1011
1175
  */
1012
- "closeIcon": string;
1176
+ "closeIcon"?: string;
1013
1177
  /**
1014
1178
  * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1015
1179
  */
@@ -1027,7 +1191,7 @@ export namespace Components {
1027
1191
  */
1028
1192
  "href": string | undefined;
1029
1193
  /**
1030
- * The mode determines which platform styles to use.
1194
+ * The mode determines the platform behaviors of the component.
1031
1195
  */
1032
1196
  "mode"?: "ios" | "md";
1033
1197
  /**
@@ -1055,7 +1219,11 @@ export namespace Components {
1055
1219
  */
1056
1220
  "target": string | undefined;
1057
1221
  /**
1058
- * If `true`, the fab button will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1222
+ * The theme determines the visual appearance of the component.
1223
+ */
1224
+ "theme"?: "ios" | "md" | "ionic";
1225
+ /**
1226
+ * If `true`, the fab button will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1059
1227
  */
1060
1228
  "translucent": boolean;
1061
1229
  /**
@@ -1068,22 +1236,34 @@ export namespace Components {
1068
1236
  * If `true`, the fab list will show all fab buttons in the list.
1069
1237
  */
1070
1238
  "activated": boolean;
1239
+ /**
1240
+ * The mode determines the platform behaviors of the component.
1241
+ */
1242
+ "mode"?: "ios" | "md";
1071
1243
  /**
1072
1244
  * The side the fab list will show on relative to the main fab button.
1073
1245
  */
1074
1246
  "side": 'start' | 'end' | 'top' | 'bottom';
1247
+ /**
1248
+ * The theme determines the visual appearance of the component.
1249
+ */
1250
+ "theme"?: "ios" | "md" | "ionic";
1075
1251
  }
1076
1252
  interface IonFooter {
1077
1253
  /**
1078
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
1254
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
1079
1255
  */
1080
1256
  "collapse"?: 'fade';
1081
1257
  /**
1082
- * The mode determines which platform styles to use.
1258
+ * The mode determines the platform behaviors of the component.
1083
1259
  */
1084
1260
  "mode"?: "ios" | "md";
1085
1261
  /**
1086
- * If `true`, the footer will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
1262
+ * The theme determines the visual appearance of the component.
1263
+ */
1264
+ "theme"?: "ios" | "md" | "ionic";
1265
+ /**
1266
+ * If `true`, the footer will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
1087
1267
  */
1088
1268
  "translucent": boolean;
1089
1269
  }
@@ -1092,18 +1272,34 @@ export namespace Components {
1092
1272
  * If `true`, the grid will have a fixed width based on the screen size.
1093
1273
  */
1094
1274
  "fixed": boolean;
1275
+ /**
1276
+ * The mode determines the platform behaviors of the component.
1277
+ */
1278
+ "mode"?: "ios" | "md";
1279
+ /**
1280
+ * The theme determines the visual appearance of the component.
1281
+ */
1282
+ "theme"?: "ios" | "md" | "ionic";
1095
1283
  }
1096
1284
  interface IonHeader {
1097
1285
  /**
1098
- * Describes the scroll effect that will be applied to the header. Only applies in iOS mode. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
1286
+ * Describes the scroll effect that will be applied to the header. Only applies when the theme is `"ios"`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
1099
1287
  */
1100
1288
  "collapse"?: 'condense' | 'fade';
1101
1289
  /**
1102
- * The mode determines which platform styles to use.
1290
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
1291
+ */
1292
+ "divider": boolean;
1293
+ /**
1294
+ * The mode determines the platform behaviors of the component.
1103
1295
  */
1104
1296
  "mode"?: "ios" | "md";
1105
1297
  /**
1106
- * If `true`, the header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
1298
+ * The theme determines the visual appearance of the component.
1299
+ */
1300
+ "theme"?: "ios" | "md" | "ionic";
1301
+ /**
1302
+ * If `true`, the header will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
1107
1303
  */
1108
1304
  "translucent": boolean;
1109
1305
  }
@@ -1112,10 +1308,18 @@ export namespace Components {
1112
1308
  * This attribute defines the alternative text describing the image. Users will see this text displayed if the image URL is wrong, the image is not in one of the supported formats, or if the image is not yet downloaded.
1113
1309
  */
1114
1310
  "alt"?: string;
1311
+ /**
1312
+ * The mode determines the platform behaviors of the component.
1313
+ */
1314
+ "mode"?: "ios" | "md";
1115
1315
  /**
1116
1316
  * The image URL. This attribute is mandatory for the `<img>` element.
1117
1317
  */
1118
1318
  "src"?: string;
1319
+ /**
1320
+ * The theme determines the visual appearance of the component.
1321
+ */
1322
+ "theme"?: "ios" | "md" | "ionic";
1119
1323
  }
1120
1324
  interface IonInfiniteScroll {
1121
1325
  /**
@@ -1126,10 +1330,18 @@ export namespace Components {
1126
1330
  * If `true`, the infinite scroll will be hidden and scroll event listeners will be removed. Set this to true to disable the infinite scroll from actively trying to receive new data while scrolling. This is useful when it is known that there is no more data that can be added, and the infinite scroll is no longer needed.
1127
1331
  */
1128
1332
  "disabled": boolean;
1333
+ /**
1334
+ * The mode determines the platform behaviors of the component.
1335
+ */
1336
+ "mode"?: "ios" | "md";
1129
1337
  /**
1130
1338
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
1131
1339
  */
1132
1340
  "position": 'top' | 'bottom';
1341
+ /**
1342
+ * The theme determines the visual appearance of the component.
1343
+ */
1344
+ "theme"?: "ios" | "md" | "ionic";
1133
1345
  /**
1134
1346
  * The threshold distance from the bottom of the content to call the `infinite` output event when scrolled. The threshold value can be either a percent, or in pixels. For example, use the value of `10%` for the `infinite` output event to get called when the user has scrolled 10% from the bottom of the page. Use the value `100px` when the scroll is within 100 pixels from the bottom of the page.
1135
1347
  */
@@ -1144,6 +1356,14 @@ export namespace Components {
1144
1356
  * Optional text to display while loading. `loadingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) This property accepts custom HTML as a string. Content is parsed as plaintext by default. `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config before custom HTML can be used.
1145
1357
  */
1146
1358
  "loadingText"?: string | IonicSafeString;
1359
+ /**
1360
+ * The mode determines the platform behaviors of the component.
1361
+ */
1362
+ "mode"?: "ios" | "md";
1363
+ /**
1364
+ * The theme determines the visual appearance of the component.
1365
+ */
1366
+ "theme"?: "ios" | "md" | "ionic";
1147
1367
  }
1148
1368
  interface IonInput {
1149
1369
  /**
@@ -1203,7 +1423,7 @@ export namespace Components {
1203
1423
  */
1204
1424
  "errorText"?: string;
1205
1425
  /**
1206
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
1426
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available when the theme is `"md"`.
1207
1427
  */
1208
1428
  "fill"?: 'outline' | 'solid';
1209
1429
  /**
@@ -1223,9 +1443,9 @@ export namespace Components {
1223
1443
  */
1224
1444
  "label"?: string;
1225
1445
  /**
1226
- * Where to place the label relative to the input. `"start"`: The label will appear to the left of the input in LTR and to the right in RTL. `"end"`: The label will appear to the right of the input in LTR and to the left in RTL. `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input. `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
1446
+ * Where to place the label relative to the input. `"start"`: The label will appear to the left of the input in LTR and to the right in RTL. `"end"`: The label will appear to the right of the input in LTR and to the left in RTL. `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input. `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("..."). Defaults to "stacked" for the ionic theme, or "start" for all other themes. In the ionic theme, only the values "stacked" and "floating" are supported.
1227
1447
  */
1228
- "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1448
+ "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1229
1449
  /**
1230
1450
  * The maximum value, which must not be less than its minimum (min attribute) value.
1231
1451
  */
@@ -1243,7 +1463,7 @@ export namespace Components {
1243
1463
  */
1244
1464
  "minlength"?: number;
1245
1465
  /**
1246
- * The mode determines which platform styles to use.
1466
+ * The mode determines the platform behaviors of the component.
1247
1467
  */
1248
1468
  "mode"?: "ios" | "md";
1249
1469
  /**
@@ -1275,9 +1495,13 @@ export namespace Components {
1275
1495
  */
1276
1496
  "setFocus": () => Promise<void>;
1277
1497
  /**
1278
- * The shape of the input. If "round" it will have an increased border radius.
1498
+ * Set to `"soft"` for an input with slightly rounded corners, `"round"` for an input with fully rounded corners, or `"rectangular"` for an input without rounded corners. Defaults to `"round"` for the ionic theme, and `undefined` for all other themes. Only applies when the fill is set to `"solid"` or `"outline"`.
1279
1499
  */
1280
- "shape"?: 'round';
1500
+ "shape"?: 'soft' | 'round' | 'rectangular';
1501
+ /**
1502
+ * The size of the input. If "large", it will have an increased height. By default the size is medium. This property only applies to the `"ionic"` theme.
1503
+ */
1504
+ "size"?: 'medium' | 'large' | 'xlarge';
1281
1505
  /**
1282
1506
  * If `true`, the element will have its spelling and grammar checked.
1283
1507
  */
@@ -1286,6 +1510,10 @@ export namespace Components {
1286
1510
  * Works with the min and max attributes to limit the increments at which a value can be set. Possible values are: `"any"` or a positive floating point number.
1287
1511
  */
1288
1512
  "step"?: string;
1513
+ /**
1514
+ * The theme determines the visual appearance of the component.
1515
+ */
1516
+ "theme"?: "ios" | "md" | "ionic";
1289
1517
  /**
1290
1518
  * The type of control to display. The default type is text.
1291
1519
  */
@@ -1324,13 +1552,13 @@ export namespace Components {
1324
1552
  */
1325
1553
  "color"?: Color;
1326
1554
  /**
1327
- * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `mode` is `ios` and an `href` or `button` property is present.
1555
+ * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `theme` is `"ios"` and an `href` or `button` property is present.
1328
1556
  */
1329
1557
  "detail"?: boolean;
1330
1558
  /**
1331
1559
  * The icon to use when `detail` is set to `true`.
1332
1560
  */
1333
- "detailIcon": string;
1561
+ "detailIcon"?: string;
1334
1562
  /**
1335
1563
  * If `true`, the user cannot interact with the item.
1336
1564
  */
@@ -1348,7 +1576,7 @@ export namespace Components {
1348
1576
  */
1349
1577
  "lines"?: 'full' | 'inset' | 'none';
1350
1578
  /**
1351
- * The mode determines which platform styles to use.
1579
+ * The mode determines the platform behaviors of the component.
1352
1580
  */
1353
1581
  "mode"?: "ios" | "md";
1354
1582
  /**
@@ -1367,6 +1595,10 @@ export namespace Components {
1367
1595
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1368
1596
  */
1369
1597
  "target": string | undefined;
1598
+ /**
1599
+ * The theme determines the visual appearance of the component.
1600
+ */
1601
+ "theme"?: "ios" | "md" | "ionic";
1370
1602
  /**
1371
1603
  * The type of the button. Only used when an `onclick` or `button` property is present.
1372
1604
  */
@@ -1378,15 +1610,27 @@ export namespace Components {
1378
1610
  */
1379
1611
  "color"?: Color;
1380
1612
  /**
1381
- * The mode determines which platform styles to use.
1613
+ * The mode determines the platform behaviors of the component.
1382
1614
  */
1383
1615
  "mode"?: "ios" | "md";
1384
1616
  /**
1385
1617
  * When it's set to `true`, the item-divider will stay visible when it reaches the top of the viewport until the next `ion-item-divider` replaces it. This feature relies in `position:sticky`: https://caniuse.com/#feat=css-sticky
1386
1618
  */
1387
1619
  "sticky": boolean;
1620
+ /**
1621
+ * The theme determines the visual appearance of the component.
1622
+ */
1623
+ "theme"?: "ios" | "md" | "ionic";
1388
1624
  }
1389
1625
  interface IonItemGroup {
1626
+ /**
1627
+ * The mode determines the platform behaviors of the component.
1628
+ */
1629
+ "mode"?: "ios" | "md";
1630
+ /**
1631
+ * The theme determines the visual appearance of the component.
1632
+ */
1633
+ "theme"?: "ios" | "md" | "ionic";
1390
1634
  }
1391
1635
  interface IonItemOption {
1392
1636
  /**
@@ -1410,17 +1654,25 @@ export namespace Components {
1410
1654
  */
1411
1655
  "href": string | undefined;
1412
1656
  /**
1413
- * The mode determines which platform styles to use.
1657
+ * The mode determines the platform behaviors of the component.
1414
1658
  */
1415
1659
  "mode"?: "ios" | "md";
1416
1660
  /**
1417
1661
  * 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).
1418
1662
  */
1419
1663
  "rel": string | undefined;
1664
+ /**
1665
+ * Set to `"rectangular"` for non-rounded corners. Set to `"soft"` for slightly rounded corners. Set to `"round"` for fully rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
1666
+ */
1667
+ "shape"?: 'soft' | 'round' | 'rectangular';
1420
1668
  /**
1421
1669
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1422
1670
  */
1423
1671
  "target": string | undefined;
1672
+ /**
1673
+ * The theme determines the visual appearance of the component.
1674
+ */
1675
+ "theme"?: "ios" | "md" | "ionic";
1424
1676
  /**
1425
1677
  * The type of the button.
1426
1678
  */
@@ -1428,10 +1680,18 @@ export namespace Components {
1428
1680
  }
1429
1681
  interface IonItemOptions {
1430
1682
  "fireSwipeEvent": () => Promise<void>;
1683
+ /**
1684
+ * The mode determines the platform behaviors of the component.
1685
+ */
1686
+ "mode"?: "ios" | "md";
1431
1687
  /**
1432
1688
  * The side the option button should be on. Possible values: `"start"` and `"end"`. If you have multiple `ion-item-options`, a side must be provided for each.
1433
1689
  */
1434
1690
  "side": Side;
1691
+ /**
1692
+ * The theme determines the visual appearance of the component.
1693
+ */
1694
+ "theme"?: "ios" | "md" | "ionic";
1435
1695
  }
1436
1696
  interface IonItemSliding {
1437
1697
  /**
@@ -1454,11 +1714,19 @@ export namespace Components {
1454
1714
  * Get the ratio of the open amount of the item compared to the width of the options. If the number returned is positive, then the options on the right side are open. If the number returned is negative, then the options on the left side are open. If the absolute value of the number is greater than 1, the item is open more than the width of the options.
1455
1715
  */
1456
1716
  "getSlidingRatio": () => Promise<number>;
1717
+ /**
1718
+ * The mode determines the platform behaviors of the component.
1719
+ */
1720
+ "mode"?: "ios" | "md";
1457
1721
  /**
1458
1722
  * Open the sliding item.
1459
1723
  * @param side The side of the options to open. If a side is not provided, it will open the first set of options it finds within the item.
1460
1724
  */
1461
1725
  "open": (side: Side | undefined) => Promise<void>;
1726
+ /**
1727
+ * The theme determines the visual appearance of the component.
1728
+ */
1729
+ "theme"?: "ios" | "md" | "ionic";
1462
1730
  }
1463
1731
  interface IonLabel {
1464
1732
  /**
@@ -1466,13 +1734,17 @@ export namespace Components {
1466
1734
  */
1467
1735
  "color"?: Color;
1468
1736
  /**
1469
- * The mode determines which platform styles to use.
1737
+ * The mode determines the platform behaviors of the component.
1470
1738
  */
1471
1739
  "mode"?: "ios" | "md";
1472
1740
  /**
1473
1741
  * The position determines where and how the label behaves inside an item.
1474
1742
  */
1475
1743
  "position"?: 'fixed' | 'stacked' | 'floating';
1744
+ /**
1745
+ * The theme determines the visual appearance of the component.
1746
+ */
1747
+ "theme"?: "ios" | "md" | "ionic";
1476
1748
  }
1477
1749
  interface IonList {
1478
1750
  /**
@@ -1488,9 +1760,17 @@ export namespace Components {
1488
1760
  */
1489
1761
  "lines"?: 'full' | 'inset' | 'none';
1490
1762
  /**
1491
- * The mode determines which platform styles to use.
1763
+ * The mode determines the platform behaviors of the component.
1492
1764
  */
1493
1765
  "mode"?: "ios" | "md";
1766
+ /**
1767
+ * Set to `"soft"` for slightly rounded corners, `"round"` for fully rounded corners, or `"rectangular"` for no rounded corners. Defaults to `"round"` for the `ionic` theme when inset is `true` defaults to `"rectangular"` for the `ionic` theme when inset is `false`, undefined for all other themes.
1768
+ */
1769
+ "shape"?: 'soft' | 'round' | 'rectangular';
1770
+ /**
1771
+ * The theme determines the visual appearance of the component.
1772
+ */
1773
+ "theme"?: "ios" | "md" | "ionic";
1494
1774
  }
1495
1775
  interface IonListHeader {
1496
1776
  /**
@@ -1502,9 +1782,13 @@ export namespace Components {
1502
1782
  */
1503
1783
  "lines"?: 'full' | 'inset' | 'none';
1504
1784
  /**
1505
- * The mode determines which platform styles to use.
1785
+ * The mode determines the platform behaviors of the component.
1506
1786
  */
1507
1787
  "mode"?: "ios" | "md";
1788
+ /**
1789
+ * The theme determines the visual appearance of the component.
1790
+ */
1791
+ "theme"?: "ios" | "md" | "ionic";
1508
1792
  }
1509
1793
  interface IonLoading {
1510
1794
  /**
@@ -1556,7 +1840,7 @@ export namespace Components {
1556
1840
  */
1557
1841
  "message"?: string | IonicSafeString;
1558
1842
  /**
1559
- * The mode determines which platform styles to use.
1843
+ * The mode determines the platform behaviors of the component.
1560
1844
  */
1561
1845
  "mode"?: "ios" | "md";
1562
1846
  /**
@@ -1581,7 +1865,11 @@ export namespace Components {
1581
1865
  */
1582
1866
  "spinner"?: SpinnerTypes | null;
1583
1867
  /**
1584
- * If `true`, the loading indicator will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1868
+ * The theme determines the visual appearance of the component.
1869
+ */
1870
+ "theme"?: "ios" | "md" | "ionic";
1871
+ /**
1872
+ * If `true`, the loading indicator will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1585
1873
  */
1586
1874
  "translucent": boolean;
1587
1875
  /**
@@ -1618,6 +1906,10 @@ export namespace Components {
1618
1906
  * An id for the menu.
1619
1907
  */
1620
1908
  "menuId"?: string;
1909
+ /**
1910
+ * The mode determines the platform behaviors of the component.
1911
+ */
1912
+ "mode"?: "ios" | "md";
1621
1913
  /**
1622
1914
  * Opens the menu. If the menu is already open or it can't be opened, it returns `false`.
1623
1915
  */
@@ -1634,6 +1926,10 @@ export namespace Components {
1634
1926
  * If `true`, swiping the menu is enabled.
1635
1927
  */
1636
1928
  "swipeGesture": boolean;
1929
+ /**
1930
+ * The theme determines the visual appearance of the component.
1931
+ */
1932
+ "theme"?: "ios" | "md" | "ionic";
1637
1933
  /**
1638
1934
  * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it. If the operation can't be completed successfully, it returns `false`.
1639
1935
  */
@@ -1661,9 +1957,13 @@ export namespace Components {
1661
1957
  */
1662
1958
  "menu"?: string;
1663
1959
  /**
1664
- * The mode determines which platform styles to use.
1960
+ * The mode determines the platform behaviors of the component.
1665
1961
  */
1666
1962
  "mode"?: "ios" | "md";
1963
+ /**
1964
+ * The theme determines the visual appearance of the component.
1965
+ */
1966
+ "theme"?: "ios" | "md" | "ionic";
1667
1967
  /**
1668
1968
  * The type of the button.
1669
1969
  */
@@ -1678,6 +1978,14 @@ export namespace Components {
1678
1978
  * Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle. If this property is not used, `ion-menu-toggle` will toggle the first menu that is active.
1679
1979
  */
1680
1980
  "menu"?: string;
1981
+ /**
1982
+ * The mode determines the platform behaviors of the component.
1983
+ */
1984
+ "mode"?: "ios" | "md";
1985
+ /**
1986
+ * The theme determines the visual appearance of the component.
1987
+ */
1988
+ "theme"?: "ios" | "md" | "ionic";
1681
1989
  }
1682
1990
  interface IonModal {
1683
1991
  /**
@@ -1765,7 +2073,7 @@ export namespace Components {
1765
2073
  */
1766
2074
  "leaveAnimation"?: AnimationBuilder;
1767
2075
  /**
1768
- * The mode determines which platform styles to use.
2076
+ * The mode determines the platform behaviors of the component.
1769
2077
  */
1770
2078
  "mode"?: "ios" | "md";
1771
2079
  /**
@@ -1789,10 +2097,18 @@ export namespace Components {
1789
2097
  * Move a sheet style modal to a specific breakpoint. The breakpoint value must be a value defined in your `breakpoints` array.
1790
2098
  */
1791
2099
  "setCurrentBreakpoint": (breakpoint: number) => Promise<void>;
2100
+ /**
2101
+ * Set to `"soft"` for a modal with slightly rounded corners, `"round"` for a modal with fully rounded corners, or `"rectangular"` for a modal without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
2102
+ */
2103
+ "shape"?: 'soft' | 'round' | 'rectangular';
1792
2104
  /**
1793
2105
  * If `true`, a backdrop will be displayed behind the modal. This property controls whether or not the backdrop darkens the screen when the modal is presented. It does not control whether or not the backdrop is active or present in the DOM.
1794
2106
  */
1795
2107
  "showBackdrop": boolean;
2108
+ /**
2109
+ * The theme determines the visual appearance of the component.
2110
+ */
2111
+ "theme"?: "ios" | "md" | "ionic";
1796
2112
  /**
1797
2113
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
1798
2114
  */
@@ -1804,7 +2120,7 @@ export namespace Components {
1804
2120
  */
1805
2121
  "animated": boolean;
1806
2122
  /**
1807
- * By default `ion-nav` animates transition between pages based in the mode (ios or material design). However, this property allows to create custom transition using `AnimationBuilder` functions.
2123
+ * By default `ion-nav` animates transition between pages based on the mode ("ios" or "md"). However, this property allows to create custom transition using `AnimationBuilder` functions.
1808
2124
  */
1809
2125
  "animation"?: AnimationBuilder;
1810
2126
  /**
@@ -1852,6 +2168,10 @@ export namespace Components {
1852
2168
  * @param done The transition complete function.
1853
2169
  */
1854
2170
  "insertPages": (insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean>;
2171
+ /**
2172
+ * The mode determines the platform behaviors of the component.
2173
+ */
2174
+ "mode"?: "ios" | "md";
1855
2175
  /**
1856
2176
  * Pop a component off of the navigation stack. Navigates back from the current component.
1857
2177
  * @param opts The navigation options.
@@ -1923,6 +2243,10 @@ export namespace Components {
1923
2243
  * If the nav component should allow for swipe-to-go-back.
1924
2244
  */
1925
2245
  "swipeGesture"?: boolean;
2246
+ /**
2247
+ * The theme determines the visual appearance of the component.
2248
+ */
2249
+ "theme"?: "ios" | "md" | "ionic";
1926
2250
  }
1927
2251
  interface IonNavLink {
1928
2252
  /**
@@ -1933,6 +2257,10 @@ export namespace Components {
1933
2257
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
1934
2258
  */
1935
2259
  "componentProps"?: ComponentProps;
2260
+ /**
2261
+ * The mode determines the platform behaviors of the component.
2262
+ */
2263
+ "mode"?: "ios" | "md";
1936
2264
  /**
1937
2265
  * The transition animation when navigating to another page.
1938
2266
  */
@@ -1941,6 +2269,10 @@ export namespace Components {
1941
2269
  * The transition direction when navigating to another page.
1942
2270
  */
1943
2271
  "routerDirection": RouterDirection;
2272
+ /**
2273
+ * The theme determines the visual appearance of the component.
2274
+ */
2275
+ "theme"?: "ios" | "md" | "ionic";
1944
2276
  }
1945
2277
  interface IonNote {
1946
2278
  /**
@@ -1948,16 +2280,24 @@ export namespace Components {
1948
2280
  */
1949
2281
  "color"?: Color;
1950
2282
  /**
1951
- * The mode determines which platform styles to use.
2283
+ * The mode determines the platform behaviors of the component.
1952
2284
  */
1953
2285
  "mode"?: "ios" | "md";
2286
+ /**
2287
+ * The theme determines the visual appearance of the component.
2288
+ */
2289
+ "theme"?: "ios" | "md" | "ionic";
1954
2290
  }
1955
2291
  interface IonPicker {
1956
2292
  "exitInputMode": () => Promise<void>;
1957
2293
  /**
1958
- * The mode determines which platform styles to use.
2294
+ * The mode determines the platform behaviors of the component.
1959
2295
  */
1960
2296
  "mode"?: "ios" | "md";
2297
+ /**
2298
+ * The theme determines the visual appearance of the component.
2299
+ */
2300
+ "theme"?: "ios" | "md" | "ionic";
1961
2301
  }
1962
2302
  interface IonPickerColumn {
1963
2303
  /**
@@ -1969,7 +2309,7 @@ export namespace Components {
1969
2309
  */
1970
2310
  "disabled": boolean;
1971
2311
  /**
1972
- * The mode determines which platform styles to use.
2312
+ * The mode determines the platform behaviors of the component.
1973
2313
  */
1974
2314
  "mode"?: "ios" | "md";
1975
2315
  /**
@@ -1985,6 +2325,10 @@ export namespace Components {
1985
2325
  * Sets the value prop and fires the ionChange event. This is used when we need to fire ionChange from user-generated events that cannot be caught with normal input/change event listeners.
1986
2326
  */
1987
2327
  "setValue": (value: PickerColumnValue) => Promise<void>;
2328
+ /**
2329
+ * The theme determines the visual appearance of the component.
2330
+ */
2331
+ "theme"?: "ios" | "md" | "ionic";
1988
2332
  /**
1989
2333
  * The selected option in the picker.
1990
2334
  */
@@ -1999,6 +2343,14 @@ export namespace Components {
1999
2343
  * If `true`, the user cannot interact with the picker column option.
2000
2344
  */
2001
2345
  "disabled": boolean;
2346
+ /**
2347
+ * The mode determines the platform behaviors of the component.
2348
+ */
2349
+ "mode"?: "ios" | "md";
2350
+ /**
2351
+ * The theme determines the visual appearance of the component.
2352
+ */
2353
+ "theme"?: "ios" | "md" | "ionic";
2002
2354
  /**
2003
2355
  * The text value of the option.
2004
2356
  */
@@ -2063,7 +2415,7 @@ export namespace Components {
2063
2415
  */
2064
2416
  "leaveAnimation"?: AnimationBuilder;
2065
2417
  /**
2066
- * The mode determines which platform styles to use.
2418
+ * The mode determines the platform behaviors of the component.
2067
2419
  */
2068
2420
  "mode"?: "ios" | "md";
2069
2421
  /**
@@ -2083,6 +2435,10 @@ export namespace Components {
2083
2435
  * If `true`, a backdrop will be displayed behind the picker.
2084
2436
  */
2085
2437
  "showBackdrop": boolean;
2438
+ /**
2439
+ * The theme determines the visual appearance of the component.
2440
+ */
2441
+ "theme"?: "ios" | "md" | "ionic";
2086
2442
  /**
2087
2443
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
2088
2444
  */
@@ -2096,7 +2452,7 @@ export namespace Components {
2096
2452
  }
2097
2453
  interface IonPopover {
2098
2454
  /**
2099
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
2455
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
2100
2456
  */
2101
2457
  "alignment"?: PositionAlign;
2102
2458
  /**
@@ -2104,7 +2460,7 @@ export namespace Components {
2104
2460
  */
2105
2461
  "animated": boolean;
2106
2462
  /**
2107
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
2463
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
2108
2464
  */
2109
2465
  "arrow": boolean;
2110
2466
  /**
@@ -2171,7 +2527,7 @@ export namespace Components {
2171
2527
  */
2172
2528
  "leaveAnimation"?: AnimationBuilder;
2173
2529
  /**
2174
- * The mode determines which platform styles to use.
2530
+ * The mode determines the platform behaviors of the component.
2175
2531
  */
2176
2532
  "mode"?: "ios" | "md";
2177
2533
  /**
@@ -2208,7 +2564,11 @@ export namespace Components {
2208
2564
  */
2209
2565
  "size": PopoverSize;
2210
2566
  /**
2211
- * If `true`, the popover will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
2567
+ * The theme determines the visual appearance of the component.
2568
+ */
2569
+ "theme"?: "ios" | "md" | "ionic";
2570
+ /**
2571
+ * If `true`, the popover will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
2212
2572
  */
2213
2573
  "translucent": boolean;
2214
2574
  /**
@@ -2230,13 +2590,17 @@ export namespace Components {
2230
2590
  */
2231
2591
  "color"?: Color;
2232
2592
  /**
2233
- * The mode determines which platform styles to use.
2593
+ * The mode determines the platform behaviors of the component.
2234
2594
  */
2235
2595
  "mode"?: "ios" | "md";
2236
2596
  /**
2237
2597
  * If true, reverse the progress bar direction.
2238
2598
  */
2239
2599
  "reversed": boolean;
2600
+ /**
2601
+ * The theme determines the visual appearance of the component.
2602
+ */
2603
+ "theme"?: "ios" | "md" | "ionic";
2240
2604
  /**
2241
2605
  * The state of the progress bar, based on if the time the process takes is known or not. Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right).
2242
2606
  */
@@ -2268,7 +2632,7 @@ export namespace Components {
2268
2632
  */
2269
2633
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
2270
2634
  /**
2271
- * The mode determines which platform styles to use.
2635
+ * The mode determines the platform behaviors of the component.
2272
2636
  */
2273
2637
  "mode"?: "ios" | "md";
2274
2638
  /**
@@ -2277,6 +2641,10 @@ export namespace Components {
2277
2641
  "name": string;
2278
2642
  "setButtonTabindex": (value: number) => Promise<void>;
2279
2643
  "setFocus": (ev: globalThis.Event) => Promise<void>;
2644
+ /**
2645
+ * The theme determines the visual appearance of the component.
2646
+ */
2647
+ "theme"?: "ios" | "md" | "ionic";
2280
2648
  /**
2281
2649
  * the value of the radio.
2282
2650
  */
@@ -2291,10 +2659,18 @@ export namespace Components {
2291
2659
  * This property allows developers to specify a custom function or property name for comparing objects when determining the selected option in the ion-radio-group. When not specified, the default behavior will use strict equality (===) for comparison.
2292
2660
  */
2293
2661
  "compareWith"?: string | RadioGroupCompareFn | null;
2662
+ /**
2663
+ * The mode determines the platform behaviors of the component.
2664
+ */
2665
+ "mode"?: "ios" | "md";
2294
2666
  /**
2295
2667
  * The name of the control, which is submitted with the form data.
2296
2668
  */
2297
2669
  "name": string;
2670
+ /**
2671
+ * The theme determines the visual appearance of the component.
2672
+ */
2673
+ "theme"?: "ios" | "md" | "ionic";
2298
2674
  /**
2299
2675
  * the value of the radio group.
2300
2676
  */
@@ -2338,7 +2714,7 @@ export namespace Components {
2338
2714
  */
2339
2715
  "min": number;
2340
2716
  /**
2341
- * The mode determines which platform styles to use.
2717
+ * The mode determines the platform behaviors of the component.
2342
2718
  */
2343
2719
  "mode"?: "ios" | "md";
2344
2720
  /**
@@ -2361,6 +2737,10 @@ export namespace Components {
2361
2737
  * Specifies the value granularity.
2362
2738
  */
2363
2739
  "step": number;
2740
+ /**
2741
+ * The theme determines the visual appearance of the component.
2742
+ */
2743
+ "theme"?: "ios" | "md" | "ionic";
2364
2744
  /**
2365
2745
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
2366
2746
  */
@@ -2392,7 +2772,7 @@ export namespace Components {
2392
2772
  */
2393
2773
  "getProgress": () => Promise<number>;
2394
2774
  /**
2395
- * The mode determines which platform styles to use.
2775
+ * The mode determines the platform behaviors of the component.
2396
2776
  */
2397
2777
  "mode"?: "ios" | "md";
2398
2778
  /**
@@ -2411,8 +2791,16 @@ export namespace Components {
2411
2791
  * Time it takes the refresher to snap back to the `refreshing` state. Does not apply when the refresher content uses a spinner, enabling the native refresher.
2412
2792
  */
2413
2793
  "snapbackDuration": string;
2794
+ /**
2795
+ * The theme determines the visual appearance of the component.
2796
+ */
2797
+ "theme"?: "ios" | "md" | "ionic";
2414
2798
  }
2415
2799
  interface IonRefresherContent {
2800
+ /**
2801
+ * The mode determines the platform behaviors of the component.
2802
+ */
2803
+ "mode"?: "ios" | "md";
2416
2804
  /**
2417
2805
  * A static icon or a spinner to display when you begin to pull down. A spinner name can be provided to gradually show tick marks when pulling down on iOS devices.
2418
2806
  */
@@ -2429,8 +2817,20 @@ export namespace Components {
2429
2817
  * The text you want to display when performing a refresh. `refreshingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) Content is parsed as plaintext by default. `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config before custom HTML can be used.
2430
2818
  */
2431
2819
  "refreshingText"?: string | IonicSafeString;
2820
+ /**
2821
+ * The theme determines the visual appearance of the component.
2822
+ */
2823
+ "theme"?: "ios" | "md" | "ionic";
2432
2824
  }
2433
2825
  interface IonReorder {
2826
+ /**
2827
+ * The mode determines the platform behaviors of the component.
2828
+ */
2829
+ "mode"?: "ios" | "md";
2830
+ /**
2831
+ * The theme determines the visual appearance of the component.
2832
+ */
2833
+ "theme"?: "ios" | "md" | "ionic";
2434
2834
  }
2435
2835
  interface IonReorderGroup {
2436
2836
  /**
@@ -2442,6 +2842,14 @@ export namespace Components {
2442
2842
  * If `true`, the reorder will be hidden.
2443
2843
  */
2444
2844
  "disabled": boolean;
2845
+ /**
2846
+ * The mode determines the platform behaviors of the component.
2847
+ */
2848
+ "mode"?: "ios" | "md";
2849
+ /**
2850
+ * The theme determines the visual appearance of the component.
2851
+ */
2852
+ "theme"?: "ios" | "md" | "ionic";
2445
2853
  }
2446
2854
  interface IonRippleEffect {
2447
2855
  /**
@@ -2450,6 +2858,14 @@ export namespace Components {
2450
2858
  * @param y The vertical coordinate of where the ripple should start.
2451
2859
  */
2452
2860
  "addRipple": (x: number, y: number) => Promise<() => void>;
2861
+ /**
2862
+ * The mode determines the platform behaviors of the component.
2863
+ */
2864
+ "mode"?: "ios" | "md";
2865
+ /**
2866
+ * The theme determines the visual appearance of the component.
2867
+ */
2868
+ "theme"?: "ios" | "md" | "ionic";
2453
2869
  /**
2454
2870
  * Sets the type of ripple-effect: - `bounded`: the ripple effect expands from the user's click position - `unbounded`: the ripple effect expands from the center of the button and overflows the container. NOTE: Surfaces for bounded ripples should have the overflow property set to hidden, while surfaces for unbounded ripples should have it set to visible.
2455
2871
  */
@@ -2472,6 +2888,14 @@ export namespace Components {
2472
2888
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
2473
2889
  */
2474
2890
  "componentProps"?: { [key: string]: any };
2891
+ /**
2892
+ * The mode determines the platform behaviors of the component.
2893
+ */
2894
+ "mode"?: "ios" | "md";
2895
+ /**
2896
+ * The theme determines the visual appearance of the component.
2897
+ */
2898
+ "theme"?: "ios" | "md" | "ionic";
2475
2899
  /**
2476
2900
  * Relative path that needs to match in order for this route to apply. Accepts paths similar to expressjs so that you can define parameters in the url /foo/:bar where bar would be available in incoming props.
2477
2901
  */
@@ -2493,6 +2917,10 @@ export namespace Components {
2493
2917
  */
2494
2918
  "back": () => Promise<void>;
2495
2919
  "canTransition": () => Promise<string | boolean>;
2920
+ /**
2921
+ * The mode determines the platform behaviors of the component.
2922
+ */
2923
+ "mode"?: "ios" | "md";
2496
2924
  "navChanged": (direction: RouterDirection) => Promise<boolean>;
2497
2925
  "printDebug": () => Promise<void>;
2498
2926
  /**
@@ -2505,6 +2933,10 @@ export namespace Components {
2505
2933
  * The root path to use when matching URLs. By default, this is set to "/", but you can specify an alternate prefix for all URL paths.
2506
2934
  */
2507
2935
  "root": string;
2936
+ /**
2937
+ * The theme determines the visual appearance of the component.
2938
+ */
2939
+ "theme"?: "ios" | "md" | "ionic";
2508
2940
  /**
2509
2941
  * The router can work in two "modes": - With hash: `/index.html#/path/to/page` - Without hash: `/path/to/page` Using one or another might depend in the requirements of your app and/or where it's deployed. Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might requires additional server-side configuration in order to properly work. On the other side hash-navigation is much easier to deploy, it even works over the file protocol. By default, this property is `true`, change to `false` to allow hash-less URLs.
2510
2942
  */
@@ -2519,6 +2951,10 @@ export namespace Components {
2519
2951
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2520
2952
  */
2521
2953
  "href": string | undefined;
2954
+ /**
2955
+ * The mode determines the platform behaviors of the component.
2956
+ */
2957
+ "mode"?: "ios" | "md";
2522
2958
  /**
2523
2959
  * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
2524
2960
  */
@@ -2535,6 +2971,10 @@ export namespace Components {
2535
2971
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2536
2972
  */
2537
2973
  "target": string | undefined;
2974
+ /**
2975
+ * The theme determines the visual appearance of the component.
2976
+ */
2977
+ "theme"?: "ios" | "md" | "ionic";
2538
2978
  }
2539
2979
  interface IonRouterOutlet {
2540
2980
  /**
@@ -2549,13 +2989,25 @@ export namespace Components {
2549
2989
  "delegate"?: FrameworkDelegate;
2550
2990
  "getRouteId": () => Promise<RouteID | undefined>;
2551
2991
  /**
2552
- * The mode determines which platform styles to use.
2992
+ * The mode determines the platform behaviors of the component.
2553
2993
  */
2554
2994
  "mode": "ios" | "md";
2555
2995
  "setRouteId": (id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>;
2556
2996
  "swipeHandler"?: SwipeGestureHandler;
2997
+ /**
2998
+ * The theme determines the visual appearance of the component.
2999
+ */
3000
+ "theme"?: "ios" | "md" | "ionic";
2557
3001
  }
2558
3002
  interface IonRow {
3003
+ /**
3004
+ * The mode determines the platform behaviors of the component.
3005
+ */
3006
+ "mode"?: "ios" | "md";
3007
+ /**
3008
+ * The theme determines the visual appearance of the component.
3009
+ */
3010
+ "theme"?: "ios" | "md" | "ionic";
2559
3011
  }
2560
3012
  interface IonSearchbar {
2561
3013
  /**
@@ -2575,15 +3027,15 @@ export namespace Components {
2575
3027
  */
2576
3028
  "autocorrect": 'on' | 'off';
2577
3029
  /**
2578
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
3030
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
2579
3031
  */
2580
- "cancelButtonIcon": string;
3032
+ "cancelButtonIcon"?: string;
2581
3033
  /**
2582
- * Set the the cancel button text. Only applies to `ios` mode.
3034
+ * Set the the cancel button text. Only available when the theme is `"ios"`.
2583
3035
  */
2584
3036
  "cancelButtonText": string;
2585
3037
  /**
2586
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
3038
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
2587
3039
  */
2588
3040
  "clearIcon"?: string;
2589
3041
  /**
@@ -2619,7 +3071,7 @@ export namespace Components {
2619
3071
  */
2620
3072
  "minlength"?: number;
2621
3073
  /**
2622
- * The mode determines which platform styles to use.
3074
+ * The mode determines the platform behaviors of the component.
2623
3075
  */
2624
3076
  "mode"?: "ios" | "md";
2625
3077
  /**
@@ -2631,7 +3083,7 @@ export namespace Components {
2631
3083
  */
2632
3084
  "placeholder": string;
2633
3085
  /**
2634
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
3086
+ * The icon to use as the search icon. Defaults to `"search-outline"` in the `"ios"` theme and `"search-sharp"` in the `"md"` and `"ionic"` themes.
2635
3087
  */
2636
3088
  "searchIcon"?: string;
2637
3089
  /**
@@ -2650,6 +3102,10 @@ export namespace Components {
2650
3102
  * If `true`, enable spellcheck on the input.
2651
3103
  */
2652
3104
  "spellcheck": boolean;
3105
+ /**
3106
+ * The theme determines the visual appearance of the component.
3107
+ */
3108
+ "theme"?: "ios" | "md" | "ionic";
2653
3109
  /**
2654
3110
  * Set the type of the input.
2655
3111
  */
@@ -2669,7 +3125,7 @@ export namespace Components {
2669
3125
  */
2670
3126
  "disabled": boolean;
2671
3127
  /**
2672
- * The mode determines which platform styles to use.
3128
+ * The mode determines the platform behaviors of the component.
2673
3129
  */
2674
3130
  "mode"?: "ios" | "md";
2675
3131
  /**
@@ -2684,6 +3140,10 @@ export namespace Components {
2684
3140
  * If `true`, users will be able to swipe between segment buttons to activate them.
2685
3141
  */
2686
3142
  "swipeGesture": boolean;
3143
+ /**
3144
+ * The theme determines the visual appearance of the component.
3145
+ */
3146
+ "theme"?: "ios" | "md" | "ionic";
2687
3147
  /**
2688
3148
  * the value of the segment.
2689
3149
  */
@@ -2699,10 +3159,14 @@ export namespace Components {
2699
3159
  */
2700
3160
  "layout"?: SegmentButtonLayout;
2701
3161
  /**
2702
- * The mode determines which platform styles to use.
3162
+ * The mode determines the platform behaviors of the component.
2703
3163
  */
2704
3164
  "mode"?: "ios" | "md";
2705
3165
  "setFocus": () => Promise<void>;
3166
+ /**
3167
+ * The theme determines the visual appearance of the component.
3168
+ */
3169
+ "theme"?: "ios" | "md" | "ionic";
2706
3170
  /**
2707
3171
  * The type of the button.
2708
3172
  */
@@ -2730,11 +3194,11 @@ export namespace Components {
2730
3194
  */
2731
3195
  "disabled": boolean;
2732
3196
  /**
2733
- * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `md` mode will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed.
3197
+ * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `"md"` theme will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed.
2734
3198
  */
2735
3199
  "expandedIcon"?: string;
2736
3200
  /**
2737
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
3201
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in the `"md"` theme.
2738
3202
  */
2739
3203
  "fill"?: 'outline' | 'solid';
2740
3204
  /**
@@ -2758,7 +3222,7 @@ export namespace Components {
2758
3222
  */
2759
3223
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
2760
3224
  /**
2761
- * The mode determines which platform styles to use.
3225
+ * The mode determines the platform behaviors of the component.
2762
3226
  */
2763
3227
  "mode"?: "ios" | "md";
2764
3228
  /**
@@ -2791,7 +3255,11 @@ export namespace Components {
2791
3255
  */
2792
3256
  "shape"?: 'round';
2793
3257
  /**
2794
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
3258
+ * The theme determines the visual appearance of the component.
3259
+ */
3260
+ "theme"?: "ios" | "md" | "ionic";
3261
+ /**
3262
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
2795
3263
  */
2796
3264
  "toggleIcon"?: string;
2797
3265
  /**
@@ -2804,6 +3272,14 @@ export namespace Components {
2804
3272
  * If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons.
2805
3273
  */
2806
3274
  "disabled": 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";
2807
3283
  /**
2808
3284
  * The text value of the option.
2809
3285
  */
@@ -2818,6 +3294,10 @@ export namespace Components {
2818
3294
  * The text content of the popover body
2819
3295
  */
2820
3296
  "message"?: string;
3297
+ /**
3298
+ * The mode determines the platform behaviors of the component.
3299
+ */
3300
+ "mode"?: "ios" | "md";
2821
3301
  /**
2822
3302
  * If true, the select accepts multiple values
2823
3303
  */
@@ -2830,12 +3310,24 @@ export namespace Components {
2830
3310
  * The subheader text of the popover
2831
3311
  */
2832
3312
  "subHeader"?: string;
3313
+ /**
3314
+ * The theme determines the visual appearance of the component.
3315
+ */
3316
+ "theme"?: "ios" | "md" | "ionic";
2833
3317
  }
2834
3318
  interface IonSkeletonText {
2835
3319
  /**
2836
3320
  * If `true`, the skeleton text will animate.
2837
3321
  */
2838
3322
  "animated": boolean;
3323
+ /**
3324
+ * The mode determines the platform behaviors of the component.
3325
+ */
3326
+ "mode"?: "ios" | "md";
3327
+ /**
3328
+ * The theme determines the visual appearance of the component.
3329
+ */
3330
+ "theme"?: "ios" | "md" | "ionic";
2839
3331
  }
2840
3332
  interface IonSpinner {
2841
3333
  /**
@@ -2846,6 +3338,10 @@ export namespace Components {
2846
3338
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
2847
3339
  */
2848
3340
  "duration"?: number;
3341
+ /**
3342
+ * The mode determines the platform behaviors of the component.
3343
+ */
3344
+ "mode"?: "ios" | "md";
2849
3345
  /**
2850
3346
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
2851
3347
  */
@@ -2854,6 +3350,14 @@ export namespace Components {
2854
3350
  * If `true`, the spinner's animation will be paused.
2855
3351
  */
2856
3352
  "paused": boolean;
3353
+ /**
3354
+ * Set to `"xsmall"` for the smallest size. Set to `"small"` for a smaller size. Set to `"medium"` for a medium size. Set to `"large"` for a large size. Set to `"xlarge"` for the largest size. Defaults to `"xsmall"` for the `ionic` theme, undefined for all other themes.
3355
+ */
3356
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
3357
+ /**
3358
+ * The theme determines the visual appearance of the component.
3359
+ */
3360
+ "theme"?: "ios" | "md" | "ionic";
2857
3361
  }
2858
3362
  interface IonSplitPane {
2859
3363
  /**
@@ -2865,6 +3369,14 @@ export namespace Components {
2865
3369
  */
2866
3370
  "disabled": boolean;
2867
3371
  "isVisible": () => Promise<boolean>;
3372
+ /**
3373
+ * The mode determines the platform behaviors of the component.
3374
+ */
3375
+ "mode"?: "ios" | "md";
3376
+ /**
3377
+ * The theme determines the visual appearance of the component.
3378
+ */
3379
+ "theme"?: "ios" | "md" | "ionic";
2868
3380
  /**
2869
3381
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
2870
3382
  */
@@ -2877,6 +3389,10 @@ export namespace Components {
2877
3389
  */
2878
3390
  "component"?: ComponentRef;
2879
3391
  "delegate"?: FrameworkDelegate;
3392
+ /**
3393
+ * The mode determines the platform behaviors of the component.
3394
+ */
3395
+ "mode"?: "ios" | "md";
2880
3396
  /**
2881
3397
  * Set the active component for the tab
2882
3398
  */
@@ -2885,6 +3401,10 @@ export namespace Components {
2885
3401
  * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
2886
3402
  */
2887
3403
  "tab": string;
3404
+ /**
3405
+ * The theme determines the visual appearance of the component.
3406
+ */
3407
+ "theme"?: "ios" | "md" | "ionic";
2888
3408
  }
2889
3409
  interface IonTabBar {
2890
3410
  /**
@@ -2892,7 +3412,11 @@ export namespace Components {
2892
3412
  */
2893
3413
  "color"?: Color;
2894
3414
  /**
2895
- * The mode determines which platform styles to use.
3415
+ * Set to `"compact"` to display a width based on the items inside the tab bar. This value will only work for the `ionic` theme. Set to `"full"` to display a full width tab bar. Defaults to `"full"`.
3416
+ */
3417
+ "expand": 'compact' | 'full';
3418
+ /**
3419
+ * The mode determines the platform behaviors of the component.
2896
3420
  */
2897
3421
  "mode"?: "ios" | "md";
2898
3422
  /**
@@ -2900,7 +3424,15 @@ export namespace Components {
2900
3424
  */
2901
3425
  "selectedTab"?: string;
2902
3426
  /**
2903
- * If `true`, the tab bar will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
3427
+ * Set to `"soft"` for a tab bar with slightly rounded corners, `"round"` for a tab bar with fully rounded corners, or `"rectangular"` for a tab bar without rounded corners. Defaults to `"round"` for the `"ionic"` theme, undefined for all other themes.
3428
+ */
3429
+ "shape"?: 'soft' | 'round' | 'rectangular';
3430
+ /**
3431
+ * The theme determines the visual appearance of the component.
3432
+ */
3433
+ "theme"?: "ios" | "md" | "ionic";
3434
+ /**
3435
+ * If `true`, the tab bar will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
2904
3436
  */
2905
3437
  "translucent": boolean;
2906
3438
  }
@@ -2922,7 +3454,7 @@ export namespace Components {
2922
3454
  */
2923
3455
  "layout"?: TabButtonLayout;
2924
3456
  /**
2925
- * The mode determines which platform styles to use.
3457
+ * The mode determines the platform behaviors of the component.
2926
3458
  */
2927
3459
  "mode"?: "ios" | "md";
2928
3460
  /**
@@ -2941,6 +3473,10 @@ export namespace Components {
2941
3473
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2942
3474
  */
2943
3475
  "target": string | undefined;
3476
+ /**
3477
+ * The theme determines the visual appearance of the component.
3478
+ */
3479
+ "theme"?: "ios" | "md" | "ionic";
2944
3480
  }
2945
3481
  interface IonTabs {
2946
3482
  "getRouteId": () => Promise<RouteID | undefined>;
@@ -2953,12 +3489,20 @@ export namespace Components {
2953
3489
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
2954
3490
  */
2955
3491
  "getTab": (tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined>;
3492
+ /**
3493
+ * The mode determines the platform behaviors of the component.
3494
+ */
3495
+ "mode"?: "ios" | "md";
2956
3496
  /**
2957
3497
  * Select a tab by the value of its `tab` property or an element reference. This method is only available for vanilla JavaScript projects. The Angular, React, and Vue implementations of tabs are coupled to each framework's router.
2958
3498
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
2959
3499
  */
2960
3500
  "select": (tab: string | HTMLIonTabElement) => Promise<boolean>;
2961
3501
  "setRouteId": (id: string) => Promise<RouteWrite>;
3502
+ /**
3503
+ * The theme determines the visual appearance of the component.
3504
+ */
3505
+ "theme"?: "ios" | "md" | "ionic";
2962
3506
  "useRouter": boolean;
2963
3507
  }
2964
3508
  interface IonText {
@@ -2967,9 +3511,13 @@ export namespace Components {
2967
3511
  */
2968
3512
  "color"?: Color;
2969
3513
  /**
2970
- * The mode determines which platform styles to use.
3514
+ * The mode determines the platform behaviors of the component.
2971
3515
  */
2972
3516
  "mode"?: "ios" | "md";
3517
+ /**
3518
+ * The theme determines the visual appearance of the component.
3519
+ */
3520
+ "theme"?: "ios" | "md" | "ionic";
2973
3521
  }
2974
3522
  interface IonTextarea {
2975
3523
  /**
@@ -3021,7 +3569,7 @@ export namespace Components {
3021
3569
  */
3022
3570
  "errorText"?: string;
3023
3571
  /**
3024
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
3572
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available when the theme is `"md"`.
3025
3573
  */
3026
3574
  "fill"?: 'outline' | 'solid';
3027
3575
  /**
@@ -3053,7 +3601,7 @@ export namespace Components {
3053
3601
  */
3054
3602
  "minlength"?: number;
3055
3603
  /**
3056
- * The mode determines which platform styles to use.
3604
+ * The mode determines the platform behaviors of the component.
3057
3605
  */
3058
3606
  "mode"?: "ios" | "md";
3059
3607
  /**
@@ -3081,13 +3629,21 @@ export namespace Components {
3081
3629
  */
3082
3630
  "setFocus": () => Promise<void>;
3083
3631
  /**
3084
- * The shape of the textarea. If "round" it will have an increased border radius.
3632
+ * Set to `"soft"` for a textarea with slightly rounded corners, `"round"` for a textarea with fully rounded corners, or `"rectangular"` for a textarea without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
3085
3633
  */
3086
- "shape"?: 'round';
3634
+ "shape"?: 'soft' | 'round' | 'rectangular';
3635
+ /**
3636
+ * The size of the textarea. If "large" it will increase the height of the textarea, while "small" and "medium" provide progressively smaller heights. The default size is "medium". This property only applies to the `"ionic"` theme.
3637
+ */
3638
+ "size"?: 'small' | 'medium' | 'large';
3087
3639
  /**
3088
3640
  * If `true`, the element will have its spelling and grammar checked.
3089
3641
  */
3090
3642
  "spellcheck": boolean;
3643
+ /**
3644
+ * The theme determines the visual appearance of the component.
3645
+ */
3646
+ "theme"?: "ios" | "md" | "ionic";
3091
3647
  /**
3092
3648
  * The value of the textarea.
3093
3649
  */
@@ -3098,16 +3654,32 @@ export namespace Components {
3098
3654
  "wrap"?: 'hard' | 'soft' | 'off';
3099
3655
  }
3100
3656
  interface IonThumbnail {
3657
+ /**
3658
+ * The mode determines the platform behaviors of the component.
3659
+ */
3660
+ "mode"?: "ios" | "md";
3661
+ /**
3662
+ * The theme determines the visual appearance of the component.
3663
+ */
3664
+ "theme"?: "ios" | "md" | "ionic";
3101
3665
  }
3102
3666
  interface IonTitle {
3103
3667
  /**
3104
3668
  * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
3105
3669
  */
3106
3670
  "color"?: Color;
3671
+ /**
3672
+ * The mode determines the platform behaviors of the component.
3673
+ */
3674
+ "mode"?: "ios" | "md";
3107
3675
  /**
3108
3676
  * The size of the toolbar title.
3109
3677
  */
3110
3678
  "size"?: 'large' | 'small';
3679
+ /**
3680
+ * The theme determines the visual appearance of the component.
3681
+ */
3682
+ "theme"?: "ios" | "md" | "ionic";
3111
3683
  }
3112
3684
  interface IonToast {
3113
3685
  /**
@@ -3175,7 +3747,7 @@ export namespace Components {
3175
3747
  */
3176
3748
  "message"?: string | IonicSafeString;
3177
3749
  /**
3178
- * The mode determines which platform styles to use.
3750
+ * The mode determines the platform behaviors of the component.
3179
3751
  */
3180
3752
  "mode"?: "ios" | "md";
3181
3753
  /**
@@ -3204,7 +3776,11 @@ export namespace Components {
3204
3776
  */
3205
3777
  "swipeGesture"?: ToastSwipeGestureDirection;
3206
3778
  /**
3207
- * If `true`, the toast will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
3779
+ * The theme determines the visual appearance of the component.
3780
+ */
3781
+ "theme"?: "ios" | "md" | "ionic";
3782
+ /**
3783
+ * If `true`, the toast will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
3208
3784
  */
3209
3785
  "translucent": boolean;
3210
3786
  /**
@@ -3242,13 +3818,17 @@ export namespace Components {
3242
3818
  */
3243
3819
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
3244
3820
  /**
3245
- * The mode determines which platform styles to use.
3821
+ * The mode determines the platform behaviors of the component.
3246
3822
  */
3247
3823
  "mode"?: "ios" | "md";
3248
3824
  /**
3249
3825
  * The name of the control, which is submitted with the form data.
3250
3826
  */
3251
3827
  "name": string;
3828
+ /**
3829
+ * The theme determines the visual appearance of the component.
3830
+ */
3831
+ "theme"?: "ios" | "md" | "ionic";
3252
3832
  /**
3253
3833
  * The value of the toggle does not mean if it's checked or not, use the `checked` property for that. The value of a toggle is analogous to the value of a `<input type="checkbox">`, it's only used when the toggle participates in a native `<form>`.
3254
3834
  */
@@ -3260,9 +3840,13 @@ export namespace Components {
3260
3840
  */
3261
3841
  "color"?: Color;
3262
3842
  /**
3263
- * The mode determines which platform styles to use.
3843
+ * The mode determines the platform behaviors of the component.
3264
3844
  */
3265
3845
  "mode"?: "ios" | "md";
3846
+ /**
3847
+ * The theme determines the visual appearance of the component.
3848
+ */
3849
+ "theme"?: "ios" | "md" | "ionic";
3266
3850
  }
3267
3851
  }
3268
3852
  export interface IonAccordionGroupCustomEvent<T> extends CustomEvent<T> {
@@ -4744,13 +5328,17 @@ declare namespace LocalJSX {
4744
5328
  */
4745
5329
  "disabled"?: boolean;
4746
5330
  /**
4747
- * The mode determines which platform styles to use.
5331
+ * The mode determines the platform behaviors of the component.
4748
5332
  */
4749
5333
  "mode"?: "ios" | "md";
4750
5334
  /**
4751
5335
  * If `true`, the accordion cannot be interacted with, but does not alter the opacity.
4752
5336
  */
4753
5337
  "readonly"?: boolean;
5338
+ /**
5339
+ * The theme determines the visual appearance of the component.
5340
+ */
5341
+ "theme"?: "ios" | "md" | "ionic";
4754
5342
  /**
4755
5343
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
4756
5344
  */
@@ -4778,7 +5366,7 @@ declare namespace LocalJSX {
4778
5366
  */
4779
5367
  "expand"?: 'compact' | 'inset';
4780
5368
  /**
4781
- * The mode determines which platform styles to use.
5369
+ * The mode determines the platform behaviors of the component.
4782
5370
  */
4783
5371
  "mode"?: "ios" | "md";
4784
5372
  /**
@@ -4793,6 +5381,10 @@ declare namespace LocalJSX {
4793
5381
  * If `true`, the accordion group cannot be interacted with, but does not alter the opacity.
4794
5382
  */
4795
5383
  "readonly"?: boolean;
5384
+ /**
5385
+ * The theme determines the visual appearance of the component.
5386
+ */
5387
+ "theme"?: "ios" | "md" | "ionic";
4796
5388
  /**
4797
5389
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
4798
5390
  */
@@ -4840,7 +5432,7 @@ declare namespace LocalJSX {
4840
5432
  */
4841
5433
  "leaveAnimation"?: AnimationBuilder;
4842
5434
  /**
4843
- * The mode determines which platform styles to use.
5435
+ * The mode determines the platform behaviors of the component.
4844
5436
  */
4845
5437
  "mode"?: "ios" | "md";
4846
5438
  /**
@@ -4880,7 +5472,11 @@ declare namespace LocalJSX {
4880
5472
  */
4881
5473
  "subHeader"?: string;
4882
5474
  /**
4883
- * If `true`, the action sheet will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5475
+ * The theme determines the visual appearance of the component.
5476
+ */
5477
+ "theme"?: "ios" | "md" | "ionic";
5478
+ /**
5479
+ * If `true`, the action sheet will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
4884
5480
  */
4885
5481
  "translucent"?: boolean;
4886
5482
  /**
@@ -4938,7 +5534,7 @@ declare namespace LocalJSX {
4938
5534
  */
4939
5535
  "message"?: string | IonicSafeString;
4940
5536
  /**
4941
- * The mode determines which platform styles to use.
5537
+ * The mode determines the platform behaviors of the component.
4942
5538
  */
4943
5539
  "mode"?: "ios" | "md";
4944
5540
  /**
@@ -4978,7 +5574,11 @@ declare namespace LocalJSX {
4978
5574
  */
4979
5575
  "subHeader"?: string;
4980
5576
  /**
4981
- * If `true`, the alert will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5577
+ * The theme determines the visual appearance of the component.
5578
+ */
5579
+ "theme"?: "ios" | "md" | "ionic";
5580
+ /**
5581
+ * If `true`, the alert will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
4982
5582
  */
4983
5583
  "translucent"?: boolean;
4984
5584
  /**
@@ -4987,8 +5587,32 @@ declare namespace LocalJSX {
4987
5587
  "trigger"?: string | undefined;
4988
5588
  }
4989
5589
  interface IonApp {
5590
+ /**
5591
+ * The mode determines the platform behaviors of the component.
5592
+ */
5593
+ "mode"?: "ios" | "md";
5594
+ /**
5595
+ * The theme determines the visual appearance of the component.
5596
+ */
5597
+ "theme"?: "ios" | "md" | "ionic";
4990
5598
  }
4991
5599
  interface IonAvatar {
5600
+ /**
5601
+ * The mode determines the platform behaviors of the component.
5602
+ */
5603
+ "mode"?: "ios" | "md";
5604
+ /**
5605
+ * Set to `"soft"` for an avatar with slightly rounded corners, `"round"` for an avatar with fully rounded corners, or `"rectangular"` for an avatar without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
5606
+ */
5607
+ "shape"?: 'soft' | 'round' | 'rectangular';
5608
+ /**
5609
+ * Set to `"xxsmall"` for the smallest size. Set to `"xsmall"` for a very small size. Set to `"small"` for a compact size. Set to `"medium"` for the default height and width. Set to `"large"` for a larger size. Set to `"xlarge"` for the largest dimensions. Defaults to `"medium"` for the `ionic` theme, undefined for all other themes.
5610
+ */
5611
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
5612
+ /**
5613
+ * The theme determines the visual appearance of the component.
5614
+ */
5615
+ "theme"?: "ios" | "md" | "ionic";
4992
5616
  }
4993
5617
  interface IonBackButton {
4994
5618
  /**
@@ -5008,7 +5632,7 @@ declare namespace LocalJSX {
5008
5632
  */
5009
5633
  "icon"?: string | null;
5010
5634
  /**
5011
- * The mode determines which platform styles to use.
5635
+ * The mode determines the platform behaviors of the component.
5012
5636
  */
5013
5637
  "mode"?: "ios" | "md";
5014
5638
  /**
@@ -5019,12 +5643,20 @@ declare namespace LocalJSX {
5019
5643
  * The text to display in the back button.
5020
5644
  */
5021
5645
  "text"?: string | null;
5646
+ /**
5647
+ * The theme determines the visual appearance of the component.
5648
+ */
5649
+ "theme"?: "ios" | "md" | "ionic";
5022
5650
  /**
5023
5651
  * The type of the button.
5024
5652
  */
5025
5653
  "type"?: 'submit' | 'reset' | 'button';
5026
5654
  }
5027
5655
  interface IonBackdrop {
5656
+ /**
5657
+ * The mode determines the platform behaviors of the component.
5658
+ */
5659
+ "mode"?: "ios" | "md";
5028
5660
  /**
5029
5661
  * Emitted when the backdrop is tapped.
5030
5662
  */
@@ -5037,6 +5669,10 @@ declare namespace LocalJSX {
5037
5669
  * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
5038
5670
  */
5039
5671
  "tappable"?: boolean;
5672
+ /**
5673
+ * The theme determines the visual appearance of the component.
5674
+ */
5675
+ "theme"?: "ios" | "md" | "ionic";
5040
5676
  /**
5041
5677
  * If `true`, the backdrop will be visible.
5042
5678
  */
@@ -5048,9 +5684,21 @@ declare namespace LocalJSX {
5048
5684
  */
5049
5685
  "color"?: Color;
5050
5686
  /**
5051
- * The mode determines which platform styles to use.
5687
+ * The mode determines the platform behaviors of the component.
5052
5688
  */
5053
5689
  "mode"?: "ios" | "md";
5690
+ /**
5691
+ * Set to `"rectangular"` for non-rounded corners. Set to `"soft"` for slightly rounded corners. Set to `"round"` for fully rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
5692
+ */
5693
+ "shape"?: 'soft' | 'round | rectangular';
5694
+ /**
5695
+ * Set to `"xxsmall"` for the smallest badge. Set to "xsmall" for a very small badge. Set to `"small"` for a small badge. Set to "medium" for a medium badge. Set to "large" for a large badge. Set to `"xlarge"` for the largest badge. Defaults to `"small"` for the `ionic` theme, undefined for all other themes.
5696
+ */
5697
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
5698
+ /**
5699
+ * The theme determines the visual appearance of the component.
5700
+ */
5701
+ "theme"?: "ios" | "md" | "ionic";
5054
5702
  }
5055
5703
  interface IonBreadcrumb {
5056
5704
  /**
@@ -5074,7 +5722,7 @@ declare namespace LocalJSX {
5074
5722
  */
5075
5723
  "href"?: string | undefined;
5076
5724
  /**
5077
- * The mode determines which platform styles to use.
5725
+ * The mode determines the platform behaviors of the component.
5078
5726
  */
5079
5727
  "mode"?: "ios" | "md";
5080
5728
  /**
@@ -5105,6 +5753,10 @@ declare namespace LocalJSX {
5105
5753
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5106
5754
  */
5107
5755
  "target"?: string | undefined;
5756
+ /**
5757
+ * The theme determines the visual appearance of the component.
5758
+ */
5759
+ "theme"?: "ios" | "md" | "ionic";
5108
5760
  }
5109
5761
  interface IonBreadcrumbs {
5110
5762
  /**
@@ -5124,13 +5776,17 @@ declare namespace LocalJSX {
5124
5776
  */
5125
5777
  "maxItems"?: number;
5126
5778
  /**
5127
- * The mode determines which platform styles to use.
5779
+ * The mode determines the platform behaviors of the component.
5128
5780
  */
5129
5781
  "mode"?: "ios" | "md";
5130
5782
  /**
5131
5783
  * Emitted when the collapsed indicator is clicked on.
5132
5784
  */
5133
5785
  "onIonCollapsedClick"?: (event: IonBreadcrumbsCustomEvent<BreadcrumbCollapsedClickEventDetail>) => void;
5786
+ /**
5787
+ * The theme determines the visual appearance of the component.
5788
+ */
5789
+ "theme"?: "ios" | "md" | "ionic";
5134
5790
  }
5135
5791
  interface IonButton {
5136
5792
  /**
@@ -5166,7 +5822,7 @@ declare namespace LocalJSX {
5166
5822
  */
5167
5823
  "href"?: string | undefined;
5168
5824
  /**
5169
- * The mode determines which platform styles to use.
5825
+ * The mode determines the platform behaviors of the component.
5170
5826
  */
5171
5827
  "mode"?: "ios" | "md";
5172
5828
  /**
@@ -5190,13 +5846,13 @@ declare namespace LocalJSX {
5190
5846
  */
5191
5847
  "routerDirection"?: RouterDirection;
5192
5848
  /**
5193
- * Set to `"round"` for a button with more rounded corners.
5849
+ * Set to `"soft"` for a button with slightly rounded corners, `"round"` for a button with fully rounded corners, or `"rectangular"` for a button without rounded corners. Defaults to `"soft"` for the `"ios"` theme and `"round"` for all other themes.
5194
5850
  */
5195
- "shape"?: 'round';
5851
+ "shape"?: 'soft' | 'round' | 'rectangular';
5196
5852
  /**
5197
5853
  * Set to `"small"` for a button with less height and padding, to `"default"` for a button with the default height and padding, or to `"large"` for a button with more height and padding. By default the size is unset, unless the button is inside of an item, where the size is `"small"` by default. Set the size to `"default"` inside of an item to make it a standard size button.
5198
5854
  */
5199
- "size"?: 'small' | 'default' | 'large';
5855
+ "size"?: 'xsmall' | 'small' | 'default' | 'large' | 'xlarge';
5200
5856
  /**
5201
5857
  * If `true`, activates a button with a heavier font weight.
5202
5858
  */
@@ -5205,6 +5861,10 @@ declare namespace LocalJSX {
5205
5861
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5206
5862
  */
5207
5863
  "target"?: string | undefined;
5864
+ /**
5865
+ * The theme determines the visual appearance of the component.
5866
+ */
5867
+ "theme"?: "ios" | "md" | "ionic";
5208
5868
  /**
5209
5869
  * The type of the button.
5210
5870
  */
@@ -5212,9 +5872,17 @@ declare namespace LocalJSX {
5212
5872
  }
5213
5873
  interface IonButtons {
5214
5874
  /**
5215
- * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in `ios` mode with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
5875
+ * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in the `ios` theme with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
5216
5876
  */
5217
5877
  "collapse"?: boolean;
5878
+ /**
5879
+ * The mode determines the platform behaviors of the component.
5880
+ */
5881
+ "mode"?: "ios" | "md";
5882
+ /**
5883
+ * The theme determines the visual appearance of the component.
5884
+ */
5885
+ "theme"?: "ios" | "md" | "ionic";
5218
5886
  }
5219
5887
  interface IonCard {
5220
5888
  /**
@@ -5238,7 +5906,7 @@ declare namespace LocalJSX {
5238
5906
  */
5239
5907
  "href"?: string | undefined;
5240
5908
  /**
5241
- * The mode determines which platform styles to use.
5909
+ * The mode determines the platform behaviors of the component.
5242
5910
  */
5243
5911
  "mode"?: "ios" | "md";
5244
5912
  /**
@@ -5253,10 +5921,18 @@ declare namespace LocalJSX {
5253
5921
  * When using a router, it specifies the transition direction when navigating to another page using `href`.
5254
5922
  */
5255
5923
  "routerDirection"?: RouterDirection;
5924
+ /**
5925
+ * Set to `"soft"` for a card with slightly rounded corners, `"round"` for a card with more rounded corners, or `"rectangular"` for a card without rounded corners. Defaults to `"round"`.
5926
+ */
5927
+ "shape"?: 'soft' | 'round' | 'rectangular';
5256
5928
  /**
5257
5929
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5258
5930
  */
5259
5931
  "target"?: string | undefined;
5932
+ /**
5933
+ * The theme determines the visual appearance of the component.
5934
+ */
5935
+ "theme"?: "ios" | "md" | "ionic";
5260
5936
  /**
5261
5937
  * The type of the button. Only used when an `onclick` or `button` property is present.
5262
5938
  */
@@ -5264,9 +5940,13 @@ declare namespace LocalJSX {
5264
5940
  }
5265
5941
  interface IonCardContent {
5266
5942
  /**
5267
- * The mode determines which platform styles to use.
5943
+ * The mode determines the platform behaviors of the component.
5268
5944
  */
5269
5945
  "mode"?: "ios" | "md";
5946
+ /**
5947
+ * The theme determines the visual appearance of the component.
5948
+ */
5949
+ "theme"?: "ios" | "md" | "ionic";
5270
5950
  }
5271
5951
  interface IonCardHeader {
5272
5952
  /**
@@ -5274,11 +5954,15 @@ declare namespace LocalJSX {
5274
5954
  */
5275
5955
  "color"?: Color;
5276
5956
  /**
5277
- * The mode determines which platform styles to use.
5957
+ * The mode determines the platform behaviors of the component.
5278
5958
  */
5279
5959
  "mode"?: "ios" | "md";
5280
5960
  /**
5281
- * If `true`, the card header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5961
+ * The theme determines the visual appearance of the component.
5962
+ */
5963
+ "theme"?: "ios" | "md" | "ionic";
5964
+ /**
5965
+ * If `true`, the card header will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5282
5966
  */
5283
5967
  "translucent"?: boolean;
5284
5968
  }
@@ -5288,9 +5972,13 @@ declare namespace LocalJSX {
5288
5972
  */
5289
5973
  "color"?: Color;
5290
5974
  /**
5291
- * The mode determines which platform styles to use.
5975
+ * The mode determines the platform behaviors of the component.
5292
5976
  */
5293
5977
  "mode"?: "ios" | "md";
5978
+ /**
5979
+ * The theme determines the visual appearance of the component.
5980
+ */
5981
+ "theme"?: "ios" | "md" | "ionic";
5294
5982
  }
5295
5983
  interface IonCardTitle {
5296
5984
  /**
@@ -5298,9 +5986,13 @@ declare namespace LocalJSX {
5298
5986
  */
5299
5987
  "color"?: Color;
5300
5988
  /**
5301
- * The mode determines which platform styles to use.
5989
+ * The mode determines the platform behaviors of the component.
5302
5990
  */
5303
5991
  "mode"?: "ios" | "md";
5992
+ /**
5993
+ * The theme determines the visual appearance of the component.
5994
+ */
5995
+ "theme"?: "ios" | "md" | "ionic";
5304
5996
  }
5305
5997
  interface IonCheckbox {
5306
5998
  /**
@@ -5332,7 +6024,7 @@ declare namespace LocalJSX {
5332
6024
  */
5333
6025
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
5334
6026
  /**
5335
- * The mode determines which platform styles to use.
6027
+ * The mode determines the platform behaviors of the component.
5336
6028
  */
5337
6029
  "mode"?: "ios" | "md";
5338
6030
  /**
@@ -5344,13 +6036,25 @@ declare namespace LocalJSX {
5344
6036
  */
5345
6037
  "onIonBlur"?: (event: IonCheckboxCustomEvent<void>) => void;
5346
6038
  /**
5347
- * Emitted when the checked property has changed as a result of a user action such as a click. This event will not emit when programmatically setting the `checked` property.
6039
+ * Emitted when the checked property has changed as a result of a user action such as a click. This event will not emit when programmatically setting the `checked` property.
5348
6040
  */
5349
6041
  "onIonChange"?: (event: IonCheckboxCustomEvent<CheckboxChangeEventDetail>) => void;
5350
6042
  /**
5351
6043
  * Emitted when the checkbox has focus.
5352
6044
  */
5353
6045
  "onIonFocus"?: (event: IonCheckboxCustomEvent<void>) => void;
6046
+ /**
6047
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
6048
+ */
6049
+ "shape"?: 'soft' | 'rectangular';
6050
+ /**
6051
+ * Set to `"small"` for a checkbox with less height and padding.
6052
+ */
6053
+ "size"?: 'small';
6054
+ /**
6055
+ * The theme determines the visual appearance of the component.
6056
+ */
6057
+ "theme"?: "ios" | "md" | "ionic";
5354
6058
  /**
5355
6059
  * The value of the checkbox does not mean if it's checked or not, use the `checked` property for that. The value of a checkbox is analogous to the value of an `<input type="checkbox">`, it's only used when the checkbox participates in a native `<form>`.
5356
6060
  */
@@ -5366,15 +6070,31 @@ declare namespace LocalJSX {
5366
6070
  */
5367
6071
  "disabled"?: boolean;
5368
6072
  /**
5369
- * The mode determines which platform styles to use.
6073
+ * The mode determines the platform behaviors of the component.
5370
6074
  */
5371
6075
  "mode"?: "ios" | "md";
5372
6076
  /**
5373
6077
  * Display an outline style button.
5374
6078
  */
5375
6079
  "outline"?: boolean;
6080
+ /**
6081
+ * Set to `"soft"` for a chip with slightly rounded corners, `"round"` for a chip with fully rounded corners, or `"rectangular"` for a chip without rounded corners. Defaults to `"round"` for the `"ionic"` theme and `"soft"` for all other themes.
6082
+ */
6083
+ "shape"?: 'soft' | 'round' | 'rectangular';
6084
+ /**
6085
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
6086
+ */
6087
+ "size"?: 'small' | 'large';
6088
+ /**
6089
+ * The theme determines the visual appearance of the component.
6090
+ */
6091
+ "theme"?: "ios" | "md" | "ionic";
5376
6092
  }
5377
6093
  interface IonCol {
6094
+ /**
6095
+ * The mode determines the platform behaviors of the component.
6096
+ */
6097
+ "mode"?: "ios" | "md";
5378
6098
  /**
5379
6099
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
5380
6100
  */
@@ -5471,6 +6191,10 @@ declare namespace LocalJSX {
5471
6191
  * The size of the column for xs screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
5472
6192
  */
5473
6193
  "sizeXs"?: string;
6194
+ /**
6195
+ * The theme determines the visual appearance of the component.
6196
+ */
6197
+ "theme"?: "ios" | "md" | "ionic";
5474
6198
  }
5475
6199
  interface IonContent {
5476
6200
  /**
@@ -5489,6 +6213,10 @@ declare namespace LocalJSX {
5489
6213
  * If `true`, the content will scroll behind the headers and footers. This effect can easily be seen by setting the toolbar to transparent.
5490
6214
  */
5491
6215
  "fullscreen"?: boolean;
6216
+ /**
6217
+ * The mode determines the platform behaviors of the component.
6218
+ */
6219
+ "mode"?: "ios" | "md";
5492
6220
  /**
5493
6221
  * Emitted while scrolling. This event is disabled by default. Set `scrollEvents` to `true` to enable.
5494
6222
  */
@@ -5513,6 +6241,10 @@ declare namespace LocalJSX {
5513
6241
  * If you want to disable the content scrolling in the Y axis, set this property to `false`.
5514
6242
  */
5515
6243
  "scrollY"?: boolean;
6244
+ /**
6245
+ * The theme determines the visual appearance of the component.
6246
+ */
6247
+ "theme"?: "ios" | "md" | "ionic";
5516
6248
  }
5517
6249
  interface IonDatetime {
5518
6250
  /**
@@ -5580,7 +6312,7 @@ declare namespace LocalJSX {
5580
6312
  */
5581
6313
  "minuteValues"?: number[] | number | string;
5582
6314
  /**
5583
- * The mode determines which platform styles to use.
6315
+ * The mode determines the platform behaviors of the component.
5584
6316
  */
5585
6317
  "mode"?: "ios" | "md";
5586
6318
  /**
@@ -5643,6 +6375,10 @@ declare namespace LocalJSX {
5643
6375
  * If `cover`, the `ion-datetime` will expand to cover the full width of its container. If `fixed`, the `ion-datetime` will have a fixed width.
5644
6376
  */
5645
6377
  "size"?: 'cover' | 'fixed';
6378
+ /**
6379
+ * The theme determines the visual appearance of the component.
6380
+ */
6381
+ "theme"?: "ios" | "md" | "ionic";
5646
6382
  /**
5647
6383
  * A callback used to format the header text that shows how many dates are selected. Only used if there are 0 or more than 1 selected (i.e. unused for exactly 1). By default, the header text is set to "numberOfDates days". See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this if you need to access `this` from within the callback.
5648
6384
  */
@@ -5670,9 +6406,13 @@ declare namespace LocalJSX {
5670
6406
  */
5671
6407
  "disabled"?: boolean;
5672
6408
  /**
5673
- * The mode determines which platform styles to use.
6409
+ * The mode determines the platform behaviors of the component.
5674
6410
  */
5675
6411
  "mode"?: "ios" | "md";
6412
+ /**
6413
+ * The theme determines the visual appearance of the component.
6414
+ */
6415
+ "theme"?: "ios" | "md" | "ionic";
5676
6416
  }
5677
6417
  interface IonFab {
5678
6418
  /**
@@ -5687,6 +6427,14 @@ declare namespace LocalJSX {
5687
6427
  * Where to align the fab horizontally in the viewport.
5688
6428
  */
5689
6429
  "horizontal"?: 'start' | 'end' | 'center';
6430
+ /**
6431
+ * The mode determines the platform behaviors of the component.
6432
+ */
6433
+ "mode"?: "ios" | "md";
6434
+ /**
6435
+ * The theme determines the visual appearance of the component.
6436
+ */
6437
+ "theme"?: "ios" | "md" | "ionic";
5690
6438
  /**
5691
6439
  * Where to align the fab vertically in the viewport.
5692
6440
  */
@@ -5718,7 +6466,7 @@ declare namespace LocalJSX {
5718
6466
  */
5719
6467
  "href"?: string | undefined;
5720
6468
  /**
5721
- * The mode determines which platform styles to use.
6469
+ * The mode determines the platform behaviors of the component.
5722
6470
  */
5723
6471
  "mode"?: "ios" | "md";
5724
6472
  /**
@@ -5754,7 +6502,11 @@ declare namespace LocalJSX {
5754
6502
  */
5755
6503
  "target"?: string | undefined;
5756
6504
  /**
5757
- * If `true`, the fab button will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6505
+ * The theme determines the visual appearance of the component.
6506
+ */
6507
+ "theme"?: "ios" | "md" | "ionic";
6508
+ /**
6509
+ * If `true`, the fab button will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5758
6510
  */
5759
6511
  "translucent"?: boolean;
5760
6512
  /**
@@ -5767,22 +6519,34 @@ declare namespace LocalJSX {
5767
6519
  * If `true`, the fab list will show all fab buttons in the list.
5768
6520
  */
5769
6521
  "activated"?: boolean;
6522
+ /**
6523
+ * The mode determines the platform behaviors of the component.
6524
+ */
6525
+ "mode"?: "ios" | "md";
5770
6526
  /**
5771
6527
  * The side the fab list will show on relative to the main fab button.
5772
6528
  */
5773
6529
  "side"?: 'start' | 'end' | 'top' | 'bottom';
6530
+ /**
6531
+ * The theme determines the visual appearance of the component.
6532
+ */
6533
+ "theme"?: "ios" | "md" | "ionic";
5774
6534
  }
5775
6535
  interface IonFooter {
5776
6536
  /**
5777
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
6537
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
5778
6538
  */
5779
6539
  "collapse"?: 'fade';
5780
6540
  /**
5781
- * The mode determines which platform styles to use.
6541
+ * The mode determines the platform behaviors of the component.
5782
6542
  */
5783
6543
  "mode"?: "ios" | "md";
5784
6544
  /**
5785
- * If `true`, the footer will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
6545
+ * The theme determines the visual appearance of the component.
6546
+ */
6547
+ "theme"?: "ios" | "md" | "ionic";
6548
+ /**
6549
+ * If `true`, the footer will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
5786
6550
  */
5787
6551
  "translucent"?: boolean;
5788
6552
  }
@@ -5791,18 +6555,34 @@ declare namespace LocalJSX {
5791
6555
  * If `true`, the grid will have a fixed width based on the screen size.
5792
6556
  */
5793
6557
  "fixed"?: boolean;
6558
+ /**
6559
+ * The mode determines the platform behaviors of the component.
6560
+ */
6561
+ "mode"?: "ios" | "md";
6562
+ /**
6563
+ * The theme determines the visual appearance of the component.
6564
+ */
6565
+ "theme"?: "ios" | "md" | "ionic";
5794
6566
  }
5795
6567
  interface IonHeader {
5796
6568
  /**
5797
- * Describes the scroll effect that will be applied to the header. Only applies in iOS mode. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
6569
+ * Describes the scroll effect that will be applied to the header. Only applies when the theme is `"ios"`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
5798
6570
  */
5799
6571
  "collapse"?: 'condense' | 'fade';
5800
6572
  /**
5801
- * The mode determines which platform styles to use.
6573
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
6574
+ */
6575
+ "divider"?: boolean;
6576
+ /**
6577
+ * The mode determines the platform behaviors of the component.
5802
6578
  */
5803
6579
  "mode"?: "ios" | "md";
5804
6580
  /**
5805
- * If `true`, the header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
6581
+ * The theme determines the visual appearance of the component.
6582
+ */
6583
+ "theme"?: "ios" | "md" | "ionic";
6584
+ /**
6585
+ * If `true`, the header will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
5806
6586
  */
5807
6587
  "translucent"?: boolean;
5808
6588
  }
@@ -5811,6 +6591,10 @@ declare namespace LocalJSX {
5811
6591
  * This attribute defines the alternative text describing the image. Users will see this text displayed if the image URL is wrong, the image is not in one of the supported formats, or if the image is not yet downloaded.
5812
6592
  */
5813
6593
  "alt"?: string;
6594
+ /**
6595
+ * The mode determines the platform behaviors of the component.
6596
+ */
6597
+ "mode"?: "ios" | "md";
5814
6598
  /**
5815
6599
  * Emitted when the img fails to load
5816
6600
  */
@@ -5827,12 +6611,20 @@ declare namespace LocalJSX {
5827
6611
  * The image URL. This attribute is mandatory for the `<img>` element.
5828
6612
  */
5829
6613
  "src"?: string;
6614
+ /**
6615
+ * The theme determines the visual appearance of the component.
6616
+ */
6617
+ "theme"?: "ios" | "md" | "ionic";
5830
6618
  }
5831
6619
  interface IonInfiniteScroll {
5832
6620
  /**
5833
6621
  * If `true`, the infinite scroll will be hidden and scroll event listeners will be removed. Set this to true to disable the infinite scroll from actively trying to receive new data while scrolling. This is useful when it is known that there is no more data that can be added, and the infinite scroll is no longer needed.
5834
6622
  */
5835
6623
  "disabled"?: boolean;
6624
+ /**
6625
+ * The mode determines the platform behaviors of the component.
6626
+ */
6627
+ "mode"?: "ios" | "md";
5836
6628
  /**
5837
6629
  * Emitted when the scroll reaches the threshold distance. From within your infinite handler, you must call the infinite scroll's `complete()` method when your async operation has completed.
5838
6630
  */
@@ -5841,6 +6633,10 @@ declare namespace LocalJSX {
5841
6633
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
5842
6634
  */
5843
6635
  "position"?: 'top' | 'bottom';
6636
+ /**
6637
+ * The theme determines the visual appearance of the component.
6638
+ */
6639
+ "theme"?: "ios" | "md" | "ionic";
5844
6640
  /**
5845
6641
  * The threshold distance from the bottom of the content to call the `infinite` output event when scrolled. The threshold value can be either a percent, or in pixels. For example, use the value of `10%` for the `infinite` output event to get called when the user has scrolled 10% from the bottom of the page. Use the value `100px` when the scroll is within 100 pixels from the bottom of the page.
5846
6642
  */
@@ -5855,6 +6651,14 @@ declare namespace LocalJSX {
5855
6651
  * Optional text to display while loading. `loadingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) This property accepts custom HTML as a string. Content is parsed as plaintext by default. `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config before custom HTML can be used.
5856
6652
  */
5857
6653
  "loadingText"?: string | IonicSafeString;
6654
+ /**
6655
+ * The mode determines the platform behaviors of the component.
6656
+ */
6657
+ "mode"?: "ios" | "md";
6658
+ /**
6659
+ * The theme determines the visual appearance of the component.
6660
+ */
6661
+ "theme"?: "ios" | "md" | "ionic";
5858
6662
  }
5859
6663
  interface IonInput {
5860
6664
  /**
@@ -5914,7 +6718,7 @@ declare namespace LocalJSX {
5914
6718
  */
5915
6719
  "errorText"?: string;
5916
6720
  /**
5917
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
6721
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available when the theme is `"md"`.
5918
6722
  */
5919
6723
  "fill"?: 'outline' | 'solid';
5920
6724
  /**
@@ -5930,7 +6734,7 @@ declare namespace LocalJSX {
5930
6734
  */
5931
6735
  "label"?: string;
5932
6736
  /**
5933
- * Where to place the label relative to the input. `"start"`: The label will appear to the left of the input in LTR and to the right in RTL. `"end"`: The label will appear to the right of the input in LTR and to the left in RTL. `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input. `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
6737
+ * Where to place the label relative to the input. `"start"`: The label will appear to the left of the input in LTR and to the right in RTL. `"end"`: The label will appear to the right of the input in LTR and to the left in RTL. `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input. `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("..."). Defaults to "stacked" for the ionic theme, or "start" for all other themes. In the ionic theme, only the values "stacked" and "floating" are supported.
5934
6738
  */
5935
6739
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
5936
6740
  /**
@@ -5950,7 +6754,7 @@ declare namespace LocalJSX {
5950
6754
  */
5951
6755
  "minlength"?: number;
5952
6756
  /**
5953
- * The mode determines which platform styles to use.
6757
+ * The mode determines the platform behaviors of the component.
5954
6758
  */
5955
6759
  "mode"?: "ios" | "md";
5956
6760
  /**
@@ -5994,9 +6798,13 @@ declare namespace LocalJSX {
5994
6798
  */
5995
6799
  "required"?: boolean;
5996
6800
  /**
5997
- * The shape of the input. If "round" it will have an increased border radius.
6801
+ * Set to `"soft"` for an input with slightly rounded corners, `"round"` for an input with fully rounded corners, or `"rectangular"` for an input without rounded corners. Defaults to `"round"` for the ionic theme, and `undefined` for all other themes. Only applies when the fill is set to `"solid"` or `"outline"`.
5998
6802
  */
5999
- "shape"?: 'round';
6803
+ "shape"?: 'soft' | 'round' | 'rectangular';
6804
+ /**
6805
+ * The size of the input. If "large", it will have an increased height. By default the size is medium. This property only applies to the `"ionic"` theme.
6806
+ */
6807
+ "size"?: 'medium' | 'large' | 'xlarge';
6000
6808
  /**
6001
6809
  * If `true`, the element will have its spelling and grammar checked.
6002
6810
  */
@@ -6005,6 +6813,10 @@ declare namespace LocalJSX {
6005
6813
  * Works with the min and max attributes to limit the increments at which a value can be set. Possible values are: `"any"` or a positive floating point number.
6006
6814
  */
6007
6815
  "step"?: string;
6816
+ /**
6817
+ * The theme determines the visual appearance of the component.
6818
+ */
6819
+ "theme"?: "ios" | "md" | "ionic";
6008
6820
  /**
6009
6821
  * The type of control to display. The default type is text.
6010
6822
  */
@@ -6042,7 +6854,7 @@ declare namespace LocalJSX {
6042
6854
  */
6043
6855
  "color"?: Color;
6044
6856
  /**
6045
- * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `mode` is `ios` and an `href` or `button` property is present.
6857
+ * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `theme` is `"ios"` and an `href` or `button` property is present.
6046
6858
  */
6047
6859
  "detail"?: boolean;
6048
6860
  /**
@@ -6066,7 +6878,7 @@ declare namespace LocalJSX {
6066
6878
  */
6067
6879
  "lines"?: 'full' | 'inset' | 'none';
6068
6880
  /**
6069
- * The mode determines which platform styles to use.
6881
+ * The mode determines the platform behaviors of the component.
6070
6882
  */
6071
6883
  "mode"?: "ios" | "md";
6072
6884
  /**
@@ -6085,6 +6897,10 @@ declare namespace LocalJSX {
6085
6897
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6086
6898
  */
6087
6899
  "target"?: string | undefined;
6900
+ /**
6901
+ * The theme determines the visual appearance of the component.
6902
+ */
6903
+ "theme"?: "ios" | "md" | "ionic";
6088
6904
  /**
6089
6905
  * The type of the button. Only used when an `onclick` or `button` property is present.
6090
6906
  */
@@ -6096,15 +6912,27 @@ declare namespace LocalJSX {
6096
6912
  */
6097
6913
  "color"?: Color;
6098
6914
  /**
6099
- * The mode determines which platform styles to use.
6915
+ * The mode determines the platform behaviors of the component.
6100
6916
  */
6101
6917
  "mode"?: "ios" | "md";
6102
6918
  /**
6103
6919
  * When it's set to `true`, the item-divider will stay visible when it reaches the top of the viewport until the next `ion-item-divider` replaces it. This feature relies in `position:sticky`: https://caniuse.com/#feat=css-sticky
6104
6920
  */
6105
6921
  "sticky"?: boolean;
6922
+ /**
6923
+ * The theme determines the visual appearance of the component.
6924
+ */
6925
+ "theme"?: "ios" | "md" | "ionic";
6106
6926
  }
6107
6927
  interface IonItemGroup {
6928
+ /**
6929
+ * The mode determines the platform behaviors of the component.
6930
+ */
6931
+ "mode"?: "ios" | "md";
6932
+ /**
6933
+ * The theme determines the visual appearance of the component.
6934
+ */
6935
+ "theme"?: "ios" | "md" | "ionic";
6108
6936
  }
6109
6937
  interface IonItemOption {
6110
6938
  /**
@@ -6128,23 +6956,35 @@ declare namespace LocalJSX {
6128
6956
  */
6129
6957
  "href"?: string | undefined;
6130
6958
  /**
6131
- * The mode determines which platform styles to use.
6959
+ * The mode determines the platform behaviors of the component.
6132
6960
  */
6133
6961
  "mode"?: "ios" | "md";
6134
6962
  /**
6135
6963
  * 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).
6136
6964
  */
6137
6965
  "rel"?: string | undefined;
6966
+ /**
6967
+ * Set to `"rectangular"` for non-rounded corners. Set to `"soft"` for slightly rounded corners. Set to `"round"` for fully rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
6968
+ */
6969
+ "shape"?: 'soft' | 'round' | 'rectangular';
6138
6970
  /**
6139
6971
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6140
6972
  */
6141
6973
  "target"?: string | undefined;
6974
+ /**
6975
+ * The theme determines the visual appearance of the component.
6976
+ */
6977
+ "theme"?: "ios" | "md" | "ionic";
6142
6978
  /**
6143
6979
  * The type of the button.
6144
6980
  */
6145
6981
  "type"?: 'submit' | 'reset' | 'button';
6146
6982
  }
6147
6983
  interface IonItemOptions {
6984
+ /**
6985
+ * The mode determines the platform behaviors of the component.
6986
+ */
6987
+ "mode"?: "ios" | "md";
6148
6988
  /**
6149
6989
  * Emitted when the item has been fully swiped.
6150
6990
  */
@@ -6153,16 +6993,28 @@ declare namespace LocalJSX {
6153
6993
  * The side the option button should be on. Possible values: `"start"` and `"end"`. If you have multiple `ion-item-options`, a side must be provided for each.
6154
6994
  */
6155
6995
  "side"?: Side;
6996
+ /**
6997
+ * The theme determines the visual appearance of the component.
6998
+ */
6999
+ "theme"?: "ios" | "md" | "ionic";
6156
7000
  }
6157
7001
  interface IonItemSliding {
6158
7002
  /**
6159
7003
  * If `true`, the user cannot interact with the sliding item.
6160
7004
  */
6161
7005
  "disabled"?: boolean;
7006
+ /**
7007
+ * The mode determines the platform behaviors of the component.
7008
+ */
7009
+ "mode"?: "ios" | "md";
6162
7010
  /**
6163
7011
  * Emitted when the sliding position changes.
6164
7012
  */
6165
7013
  "onIonDrag"?: (event: IonItemSlidingCustomEvent<any>) => void;
7014
+ /**
7015
+ * The theme determines the visual appearance of the component.
7016
+ */
7017
+ "theme"?: "ios" | "md" | "ionic";
6166
7018
  }
6167
7019
  interface IonLabel {
6168
7020
  /**
@@ -6170,13 +7022,17 @@ declare namespace LocalJSX {
6170
7022
  */
6171
7023
  "color"?: Color;
6172
7024
  /**
6173
- * The mode determines which platform styles to use.
7025
+ * The mode determines the platform behaviors of the component.
6174
7026
  */
6175
7027
  "mode"?: "ios" | "md";
6176
7028
  /**
6177
7029
  * The position determines where and how the label behaves inside an item.
6178
7030
  */
6179
7031
  "position"?: 'fixed' | 'stacked' | 'floating';
7032
+ /**
7033
+ * The theme determines the visual appearance of the component.
7034
+ */
7035
+ "theme"?: "ios" | "md" | "ionic";
6180
7036
  }
6181
7037
  interface IonList {
6182
7038
  /**
@@ -6188,9 +7044,17 @@ declare namespace LocalJSX {
6188
7044
  */
6189
7045
  "lines"?: 'full' | 'inset' | 'none';
6190
7046
  /**
6191
- * The mode determines which platform styles to use.
7047
+ * The mode determines the platform behaviors of the component.
6192
7048
  */
6193
7049
  "mode"?: "ios" | "md";
7050
+ /**
7051
+ * Set to `"soft"` for slightly rounded corners, `"round"` for fully rounded corners, or `"rectangular"` for no rounded corners. Defaults to `"round"` for the `ionic` theme when inset is `true` defaults to `"rectangular"` for the `ionic` theme when inset is `false`, undefined for all other themes.
7052
+ */
7053
+ "shape"?: 'soft' | 'round' | 'rectangular';
7054
+ /**
7055
+ * The theme determines the visual appearance of the component.
7056
+ */
7057
+ "theme"?: "ios" | "md" | "ionic";
6194
7058
  }
6195
7059
  interface IonListHeader {
6196
7060
  /**
@@ -6202,9 +7066,13 @@ declare namespace LocalJSX {
6202
7066
  */
6203
7067
  "lines"?: 'full' | 'inset' | 'none';
6204
7068
  /**
6205
- * The mode determines which platform styles to use.
7069
+ * The mode determines the platform behaviors of the component.
6206
7070
  */
6207
7071
  "mode"?: "ios" | "md";
7072
+ /**
7073
+ * The theme determines the visual appearance of the component.
7074
+ */
7075
+ "theme"?: "ios" | "md" | "ionic";
6208
7076
  }
6209
7077
  interface IonLoading {
6210
7078
  /**
@@ -6248,7 +7116,7 @@ declare namespace LocalJSX {
6248
7116
  */
6249
7117
  "message"?: string | IonicSafeString;
6250
7118
  /**
6251
- * The mode determines which platform styles to use.
7119
+ * The mode determines the platform behaviors of the component.
6252
7120
  */
6253
7121
  "mode"?: "ios" | "md";
6254
7122
  /**
@@ -6292,7 +7160,11 @@ declare namespace LocalJSX {
6292
7160
  */
6293
7161
  "spinner"?: SpinnerTypes | null;
6294
7162
  /**
6295
- * If `true`, the loading indicator will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
7163
+ * The theme determines the visual appearance of the component.
7164
+ */
7165
+ "theme"?: "ios" | "md" | "ionic";
7166
+ /**
7167
+ * If `true`, the loading indicator will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6296
7168
  */
6297
7169
  "translucent"?: boolean;
6298
7170
  /**
@@ -6317,6 +7189,10 @@ declare namespace LocalJSX {
6317
7189
  * An id for the menu.
6318
7190
  */
6319
7191
  "menuId"?: string;
7192
+ /**
7193
+ * The mode determines the platform behaviors of the component.
7194
+ */
7195
+ "mode"?: "ios" | "md";
6320
7196
  /**
6321
7197
  * Emitted when the menu is closed.
6322
7198
  */
@@ -6341,6 +7217,10 @@ declare namespace LocalJSX {
6341
7217
  * If `true`, swiping the menu is enabled.
6342
7218
  */
6343
7219
  "swipeGesture"?: boolean;
7220
+ /**
7221
+ * The theme determines the visual appearance of the component.
7222
+ */
7223
+ "theme"?: "ios" | "md" | "ionic";
6344
7224
  /**
6345
7225
  * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
6346
7226
  */
@@ -6364,9 +7244,13 @@ declare namespace LocalJSX {
6364
7244
  */
6365
7245
  "menu"?: string;
6366
7246
  /**
6367
- * The mode determines which platform styles to use.
7247
+ * The mode determines the platform behaviors of the component.
6368
7248
  */
6369
7249
  "mode"?: "ios" | "md";
7250
+ /**
7251
+ * The theme determines the visual appearance of the component.
7252
+ */
7253
+ "theme"?: "ios" | "md" | "ionic";
6370
7254
  /**
6371
7255
  * The type of the button.
6372
7256
  */
@@ -6381,6 +7265,14 @@ declare namespace LocalJSX {
6381
7265
  * Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle. If this property is not used, `ion-menu-toggle` will toggle the first menu that is active.
6382
7266
  */
6383
7267
  "menu"?: string;
7268
+ /**
7269
+ * The mode determines the platform behaviors of the component.
7270
+ */
7271
+ "mode"?: "ios" | "md";
7272
+ /**
7273
+ * The theme determines the visual appearance of the component.
7274
+ */
7275
+ "theme"?: "ios" | "md" | "ionic";
6384
7276
  }
6385
7277
  interface IonModal {
6386
7278
  /**
@@ -6444,7 +7336,7 @@ declare namespace LocalJSX {
6444
7336
  */
6445
7337
  "leaveAnimation"?: AnimationBuilder;
6446
7338
  /**
6447
- * The mode determines which platform styles to use.
7339
+ * The mode determines the platform behaviors of the component.
6448
7340
  */
6449
7341
  "mode"?: "ios" | "md";
6450
7342
  /**
@@ -6487,10 +7379,18 @@ declare namespace LocalJSX {
6487
7379
  * The element that presented the modal. This is used for card presentation effects and for stacking multiple modals on top of each other. Only applies in iOS mode.
6488
7380
  */
6489
7381
  "presentingElement"?: HTMLElement;
7382
+ /**
7383
+ * Set to `"soft"` for a modal with slightly rounded corners, `"round"` for a modal with fully rounded corners, or `"rectangular"` for a modal without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
7384
+ */
7385
+ "shape"?: 'soft' | 'round' | 'rectangular';
6490
7386
  /**
6491
7387
  * If `true`, a backdrop will be displayed behind the modal. This property controls whether or not the backdrop darkens the screen when the modal is presented. It does not control whether or not the backdrop is active or present in the DOM.
6492
7388
  */
6493
7389
  "showBackdrop"?: boolean;
7390
+ /**
7391
+ * The theme determines the visual appearance of the component.
7392
+ */
7393
+ "theme"?: "ios" | "md" | "ionic";
6494
7394
  /**
6495
7395
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
6496
7396
  */
@@ -6502,9 +7402,13 @@ declare namespace LocalJSX {
6502
7402
  */
6503
7403
  "animated"?: boolean;
6504
7404
  /**
6505
- * By default `ion-nav` animates transition between pages based in the mode (ios or material design). However, this property allows to create custom transition using `AnimationBuilder` functions.
7405
+ * By default `ion-nav` animates transition between pages based on the mode ("ios" or "md"). However, this property allows to create custom transition using `AnimationBuilder` functions.
6506
7406
  */
6507
7407
  "animation"?: AnimationBuilder;
7408
+ /**
7409
+ * The mode determines the platform behaviors of the component.
7410
+ */
7411
+ "mode"?: "ios" | "md";
6508
7412
  /**
6509
7413
  * Event fired when the nav has changed components
6510
7414
  */
@@ -6525,6 +7429,10 @@ declare namespace LocalJSX {
6525
7429
  * If the nav component should allow for swipe-to-go-back.
6526
7430
  */
6527
7431
  "swipeGesture"?: boolean;
7432
+ /**
7433
+ * The theme determines the visual appearance of the component.
7434
+ */
7435
+ "theme"?: "ios" | "md" | "ionic";
6528
7436
  }
6529
7437
  interface IonNavLink {
6530
7438
  /**
@@ -6535,6 +7443,10 @@ declare namespace LocalJSX {
6535
7443
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
6536
7444
  */
6537
7445
  "componentProps"?: ComponentProps;
7446
+ /**
7447
+ * The mode determines the platform behaviors of the component.
7448
+ */
7449
+ "mode"?: "ios" | "md";
6538
7450
  /**
6539
7451
  * The transition animation when navigating to another page.
6540
7452
  */
@@ -6543,6 +7455,10 @@ declare namespace LocalJSX {
6543
7455
  * The transition direction when navigating to another page.
6544
7456
  */
6545
7457
  "routerDirection"?: RouterDirection;
7458
+ /**
7459
+ * The theme determines the visual appearance of the component.
7460
+ */
7461
+ "theme"?: "ios" | "md" | "ionic";
6546
7462
  }
6547
7463
  interface IonNote {
6548
7464
  /**
@@ -6550,15 +7466,23 @@ declare namespace LocalJSX {
6550
7466
  */
6551
7467
  "color"?: Color;
6552
7468
  /**
6553
- * The mode determines which platform styles to use.
7469
+ * The mode determines the platform behaviors of the component.
6554
7470
  */
6555
7471
  "mode"?: "ios" | "md";
7472
+ /**
7473
+ * The theme determines the visual appearance of the component.
7474
+ */
7475
+ "theme"?: "ios" | "md" | "ionic";
6556
7476
  }
6557
7477
  interface IonPicker {
6558
7478
  /**
6559
- * The mode determines which platform styles to use.
7479
+ * The mode determines the platform behaviors of the component.
6560
7480
  */
6561
7481
  "mode"?: "ios" | "md";
7482
+ /**
7483
+ * The theme determines the visual appearance of the component.
7484
+ */
7485
+ "theme"?: "ios" | "md" | "ionic";
6562
7486
  }
6563
7487
  interface IonPickerColumn {
6564
7488
  /**
@@ -6570,13 +7494,17 @@ declare namespace LocalJSX {
6570
7494
  */
6571
7495
  "disabled"?: boolean;
6572
7496
  /**
6573
- * The mode determines which platform styles to use.
7497
+ * The mode determines the platform behaviors of the component.
6574
7498
  */
6575
7499
  "mode"?: "ios" | "md";
6576
7500
  /**
6577
7501
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
6578
7502
  */
6579
7503
  "onIonChange"?: (event: IonPickerColumnCustomEvent<PickerColumnChangeEventDetail>) => void;
7504
+ /**
7505
+ * The theme determines the visual appearance of the component.
7506
+ */
7507
+ "theme"?: "ios" | "md" | "ionic";
6580
7508
  /**
6581
7509
  * The selected option in the picker.
6582
7510
  */
@@ -6591,6 +7519,14 @@ declare namespace LocalJSX {
6591
7519
  * If `true`, the user cannot interact with the picker column option.
6592
7520
  */
6593
7521
  "disabled"?: boolean;
7522
+ /**
7523
+ * The mode determines the platform behaviors of the component.
7524
+ */
7525
+ "mode"?: "ios" | "md";
7526
+ /**
7527
+ * The theme determines the visual appearance of the component.
7528
+ */
7529
+ "theme"?: "ios" | "md" | "ionic";
6594
7530
  /**
6595
7531
  * The text value of the option.
6596
7532
  */
@@ -6642,7 +7578,7 @@ declare namespace LocalJSX {
6642
7578
  */
6643
7579
  "leaveAnimation"?: AnimationBuilder;
6644
7580
  /**
6645
- * The mode determines which platform styles to use.
7581
+ * The mode determines the platform behaviors of the component.
6646
7582
  */
6647
7583
  "mode"?: "ios" | "md";
6648
7584
  /**
@@ -6681,6 +7617,10 @@ declare namespace LocalJSX {
6681
7617
  * If `true`, a backdrop will be displayed behind the picker.
6682
7618
  */
6683
7619
  "showBackdrop"?: boolean;
7620
+ /**
7621
+ * The theme determines the visual appearance of the component.
7622
+ */
7623
+ "theme"?: "ios" | "md" | "ionic";
6684
7624
  /**
6685
7625
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
6686
7626
  */
@@ -6694,7 +7634,7 @@ declare namespace LocalJSX {
6694
7634
  }
6695
7635
  interface IonPopover {
6696
7636
  /**
6697
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
7637
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
6698
7638
  */
6699
7639
  "alignment"?: PositionAlign;
6700
7640
  /**
@@ -6702,7 +7642,7 @@ declare namespace LocalJSX {
6702
7642
  */
6703
7643
  "animated"?: boolean;
6704
7644
  /**
6705
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
7645
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
6706
7646
  */
6707
7647
  "arrow"?: boolean;
6708
7648
  /**
@@ -6754,7 +7694,7 @@ declare namespace LocalJSX {
6754
7694
  */
6755
7695
  "leaveAnimation"?: AnimationBuilder;
6756
7696
  /**
6757
- * The mode determines which platform styles to use.
7697
+ * The mode determines the platform behaviors of the component.
6758
7698
  */
6759
7699
  "mode"?: "ios" | "md";
6760
7700
  /**
@@ -6806,7 +7746,11 @@ declare namespace LocalJSX {
6806
7746
  */
6807
7747
  "size"?: PopoverSize;
6808
7748
  /**
6809
- * If `true`, the popover will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
7749
+ * The theme determines the visual appearance of the component.
7750
+ */
7751
+ "theme"?: "ios" | "md" | "ionic";
7752
+ /**
7753
+ * If `true`, the popover will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6810
7754
  */
6811
7755
  "translucent"?: boolean;
6812
7756
  /**
@@ -6828,13 +7772,17 @@ declare namespace LocalJSX {
6828
7772
  */
6829
7773
  "color"?: Color;
6830
7774
  /**
6831
- * The mode determines which platform styles to use.
7775
+ * The mode determines the platform behaviors of the component.
6832
7776
  */
6833
7777
  "mode"?: "ios" | "md";
6834
7778
  /**
6835
7779
  * If true, reverse the progress bar direction.
6836
7780
  */
6837
7781
  "reversed"?: boolean;
7782
+ /**
7783
+ * The theme determines the visual appearance of the component.
7784
+ */
7785
+ "theme"?: "ios" | "md" | "ionic";
6838
7786
  /**
6839
7787
  * The state of the progress bar, based on if the time the process takes is known or not. Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right).
6840
7788
  */
@@ -6866,7 +7814,7 @@ declare namespace LocalJSX {
6866
7814
  */
6867
7815
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
6868
7816
  /**
6869
- * The mode determines which platform styles to use.
7817
+ * The mode determines the platform behaviors of the component.
6870
7818
  */
6871
7819
  "mode"?: "ios" | "md";
6872
7820
  /**
@@ -6881,6 +7829,10 @@ declare namespace LocalJSX {
6881
7829
  * Emitted when the radio button has focus.
6882
7830
  */
6883
7831
  "onIonFocus"?: (event: IonRadioCustomEvent<void>) => void;
7832
+ /**
7833
+ * The theme determines the visual appearance of the component.
7834
+ */
7835
+ "theme"?: "ios" | "md" | "ionic";
6884
7836
  /**
6885
7837
  * the value of the radio.
6886
7838
  */
@@ -6895,6 +7847,10 @@ declare namespace LocalJSX {
6895
7847
  * This property allows developers to specify a custom function or property name for comparing objects when determining the selected option in the ion-radio-group. When not specified, the default behavior will use strict equality (===) for comparison.
6896
7848
  */
6897
7849
  "compareWith"?: string | RadioGroupCompareFn | null;
7850
+ /**
7851
+ * The mode determines the platform behaviors of the component.
7852
+ */
7853
+ "mode"?: "ios" | "md";
6898
7854
  /**
6899
7855
  * The name of the control, which is submitted with the form data.
6900
7856
  */
@@ -6903,6 +7859,10 @@ declare namespace LocalJSX {
6903
7859
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
6904
7860
  */
6905
7861
  "onIonChange"?: (event: IonRadioGroupCustomEvent<RadioGroupChangeEventDetail>) => void;
7862
+ /**
7863
+ * The theme determines the visual appearance of the component.
7864
+ */
7865
+ "theme"?: "ios" | "md" | "ionic";
6906
7866
  /**
6907
7867
  * the value of the radio group.
6908
7868
  */
@@ -6946,7 +7906,7 @@ declare namespace LocalJSX {
6946
7906
  */
6947
7907
  "min"?: number;
6948
7908
  /**
6949
- * The mode determines which platform styles to use.
7909
+ * The mode determines the platform behaviors of the component.
6950
7910
  */
6951
7911
  "mode"?: "ios" | "md";
6952
7912
  /**
@@ -6993,6 +7953,10 @@ declare namespace LocalJSX {
6993
7953
  * Specifies the value granularity.
6994
7954
  */
6995
7955
  "step"?: number;
7956
+ /**
7957
+ * The theme determines the visual appearance of the component.
7958
+ */
7959
+ "theme"?: "ios" | "md" | "ionic";
6996
7960
  /**
6997
7961
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
6998
7962
  */
@@ -7012,7 +7976,7 @@ declare namespace LocalJSX {
7012
7976
  */
7013
7977
  "disabled"?: boolean;
7014
7978
  /**
7015
- * The mode determines which platform styles to use.
7979
+ * The mode determines the platform behaviors of the component.
7016
7980
  */
7017
7981
  "mode"?: "ios" | "md";
7018
7982
  /**
@@ -7043,8 +8007,16 @@ declare namespace LocalJSX {
7043
8007
  * Time it takes the refresher to snap back to the `refreshing` state. Does not apply when the refresher content uses a spinner, enabling the native refresher.
7044
8008
  */
7045
8009
  "snapbackDuration"?: string;
8010
+ /**
8011
+ * The theme determines the visual appearance of the component.
8012
+ */
8013
+ "theme"?: "ios" | "md" | "ionic";
7046
8014
  }
7047
8015
  interface IonRefresherContent {
8016
+ /**
8017
+ * The mode determines the platform behaviors of the component.
8018
+ */
8019
+ "mode"?: "ios" | "md";
7048
8020
  /**
7049
8021
  * A static icon or a spinner to display when you begin to pull down. A spinner name can be provided to gradually show tick marks when pulling down on iOS devices.
7050
8022
  */
@@ -7061,20 +8033,48 @@ declare namespace LocalJSX {
7061
8033
  * The text you want to display when performing a refresh. `refreshingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) Content is parsed as plaintext by default. `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config before custom HTML can be used.
7062
8034
  */
7063
8035
  "refreshingText"?: string | IonicSafeString;
8036
+ /**
8037
+ * The theme determines the visual appearance of the component.
8038
+ */
8039
+ "theme"?: "ios" | "md" | "ionic";
7064
8040
  }
7065
8041
  interface IonReorder {
8042
+ /**
8043
+ * The mode determines the platform behaviors of the component.
8044
+ */
8045
+ "mode"?: "ios" | "md";
8046
+ /**
8047
+ * The theme determines the visual appearance of the component.
8048
+ */
8049
+ "theme"?: "ios" | "md" | "ionic";
7066
8050
  }
7067
8051
  interface IonReorderGroup {
7068
8052
  /**
7069
8053
  * If `true`, the reorder will be hidden.
7070
8054
  */
7071
8055
  "disabled"?: boolean;
8056
+ /**
8057
+ * The mode determines the platform behaviors of the component.
8058
+ */
8059
+ "mode"?: "ios" | "md";
7072
8060
  /**
7073
8061
  * Event that needs to be listened to in order to complete the reorder action. Once the event has been emitted, the `complete()` method then needs to be called in order to finalize the reorder action.
7074
8062
  */
7075
8063
  "onIonItemReorder"?: (event: IonReorderGroupCustomEvent<ItemReorderEventDetail>) => void;
8064
+ /**
8065
+ * The theme determines the visual appearance of the component.
8066
+ */
8067
+ "theme"?: "ios" | "md" | "ionic";
7076
8068
  }
7077
8069
  interface IonRippleEffect {
8070
+ /**
8071
+ * The mode determines the platform behaviors of the component.
8072
+ */
8073
+ "mode"?: "ios" | "md";
8074
+ /**
8075
+ * The theme determines the visual appearance of the component.
8076
+ */
8077
+ "theme"?: "ios" | "md" | "ionic";
7078
8078
  /**
7079
8079
  * Sets the type of ripple-effect: - `bounded`: the ripple effect expands from the user's click position - `unbounded`: the ripple effect expands from the center of the button and overflows the container. NOTE: Surfaces for bounded ripples should have the overflow property set to hidden, while surfaces for unbounded ripples should have it set to visible.
7080
8080
  */
@@ -7097,10 +8097,18 @@ declare namespace LocalJSX {
7097
8097
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
7098
8098
  */
7099
8099
  "componentProps"?: { [key: string]: any };
8100
+ /**
8101
+ * The mode determines the platform behaviors of the component.
8102
+ */
8103
+ "mode"?: "ios" | "md";
7100
8104
  /**
7101
8105
  * Used internally by `ion-router` to know when this route did change.
7102
8106
  */
7103
8107
  "onIonRouteDataChanged"?: (event: IonRouteCustomEvent<any>) => void;
8108
+ /**
8109
+ * The theme determines the visual appearance of the component.
8110
+ */
8111
+ "theme"?: "ios" | "md" | "ionic";
7104
8112
  /**
7105
8113
  * Relative path that needs to match in order for this route to apply. Accepts paths similar to expressjs so that you can define parameters in the url /foo/:bar where bar would be available in incoming props.
7106
8114
  */
@@ -7121,6 +8129,10 @@ declare namespace LocalJSX {
7121
8129
  "to": string | undefined | null;
7122
8130
  }
7123
8131
  interface IonRouter {
8132
+ /**
8133
+ * The mode determines the platform behaviors of the component.
8134
+ */
8135
+ "mode"?: "ios" | "md";
7124
8136
  /**
7125
8137
  * Emitted when the route had changed
7126
8138
  */
@@ -7133,6 +8145,10 @@ declare namespace LocalJSX {
7133
8145
  * The root path to use when matching URLs. By default, this is set to "/", but you can specify an alternate prefix for all URL paths.
7134
8146
  */
7135
8147
  "root"?: string;
8148
+ /**
8149
+ * The theme determines the visual appearance of the component.
8150
+ */
8151
+ "theme"?: "ios" | "md" | "ionic";
7136
8152
  /**
7137
8153
  * The router can work in two "modes": - With hash: `/index.html#/path/to/page` - Without hash: `/path/to/page` Using one or another might depend in the requirements of your app and/or where it's deployed. Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might requires additional server-side configuration in order to properly work. On the other side hash-navigation is much easier to deploy, it even works over the file protocol. By default, this property is `true`, change to `false` to allow hash-less URLs.
7138
8154
  */
@@ -7147,6 +8163,10 @@ declare namespace LocalJSX {
7147
8163
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
7148
8164
  */
7149
8165
  "href"?: string | undefined;
8166
+ /**
8167
+ * The mode determines the platform behaviors of the component.
8168
+ */
8169
+ "mode"?: "ios" | "md";
7150
8170
  /**
7151
8171
  * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
7152
8172
  */
@@ -7163,6 +8183,10 @@ declare namespace LocalJSX {
7163
8183
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
7164
8184
  */
7165
8185
  "target"?: string | undefined;
8186
+ /**
8187
+ * The theme determines the visual appearance of the component.
8188
+ */
8189
+ "theme"?: "ios" | "md" | "ionic";
7166
8190
  }
7167
8191
  interface IonRouterOutlet {
7168
8192
  /**
@@ -7174,11 +8198,23 @@ declare namespace LocalJSX {
7174
8198
  */
7175
8199
  "animation"?: AnimationBuilder;
7176
8200
  /**
7177
- * The mode determines which platform styles to use.
8201
+ * The mode determines the platform behaviors of the component.
7178
8202
  */
7179
8203
  "mode"?: "ios" | "md";
8204
+ /**
8205
+ * The theme determines the visual appearance of the component.
8206
+ */
8207
+ "theme"?: "ios" | "md" | "ionic";
7180
8208
  }
7181
8209
  interface IonRow {
8210
+ /**
8211
+ * The mode determines the platform behaviors of the component.
8212
+ */
8213
+ "mode"?: "ios" | "md";
8214
+ /**
8215
+ * The theme determines the visual appearance of the component.
8216
+ */
8217
+ "theme"?: "ios" | "md" | "ionic";
7182
8218
  }
7183
8219
  interface IonSearchbar {
7184
8220
  /**
@@ -7198,15 +8234,15 @@ declare namespace LocalJSX {
7198
8234
  */
7199
8235
  "autocorrect"?: 'on' | 'off';
7200
8236
  /**
7201
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
8237
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
7202
8238
  */
7203
8239
  "cancelButtonIcon"?: string;
7204
8240
  /**
7205
- * Set the the cancel button text. Only applies to `ios` mode.
8241
+ * Set the the cancel button text. Only available when the theme is `"ios"`.
7206
8242
  */
7207
8243
  "cancelButtonText"?: string;
7208
8244
  /**
7209
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
8245
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
7210
8246
  */
7211
8247
  "clearIcon"?: string;
7212
8248
  /**
@@ -7238,7 +8274,7 @@ declare namespace LocalJSX {
7238
8274
  */
7239
8275
  "minlength"?: number;
7240
8276
  /**
7241
- * The mode determines which platform styles to use.
8277
+ * The mode determines the platform behaviors of the component.
7242
8278
  */
7243
8279
  "mode"?: "ios" | "md";
7244
8280
  /**
@@ -7274,7 +8310,7 @@ declare namespace LocalJSX {
7274
8310
  */
7275
8311
  "placeholder"?: string;
7276
8312
  /**
7277
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
8313
+ * The icon to use as the search icon. Defaults to `"search-outline"` in the `"ios"` theme and `"search-sharp"` in the `"md"` and `"ionic"` themes.
7278
8314
  */
7279
8315
  "searchIcon"?: string;
7280
8316
  /**
@@ -7289,6 +8325,10 @@ declare namespace LocalJSX {
7289
8325
  * If `true`, enable spellcheck on the input.
7290
8326
  */
7291
8327
  "spellcheck"?: boolean;
8328
+ /**
8329
+ * The theme determines the visual appearance of the component.
8330
+ */
8331
+ "theme"?: "ios" | "md" | "ionic";
7292
8332
  /**
7293
8333
  * Set the type of the input.
7294
8334
  */
@@ -7308,7 +8348,7 @@ declare namespace LocalJSX {
7308
8348
  */
7309
8349
  "disabled"?: boolean;
7310
8350
  /**
7311
- * The mode determines which platform styles to use.
8351
+ * The mode determines the platform behaviors of the component.
7312
8352
  */
7313
8353
  "mode"?: "ios" | "md";
7314
8354
  /**
@@ -7327,6 +8367,10 @@ declare namespace LocalJSX {
7327
8367
  * If `true`, users will be able to swipe between segment buttons to activate them.
7328
8368
  */
7329
8369
  "swipeGesture"?: boolean;
8370
+ /**
8371
+ * The theme determines the visual appearance of the component.
8372
+ */
8373
+ "theme"?: "ios" | "md" | "ionic";
7330
8374
  /**
7331
8375
  * the value of the segment.
7332
8376
  */
@@ -7342,9 +8386,13 @@ declare namespace LocalJSX {
7342
8386
  */
7343
8387
  "layout"?: SegmentButtonLayout;
7344
8388
  /**
7345
- * The mode determines which platform styles to use.
8389
+ * The mode determines the platform behaviors of the component.
7346
8390
  */
7347
8391
  "mode"?: "ios" | "md";
8392
+ /**
8393
+ * The theme determines the visual appearance of the component.
8394
+ */
8395
+ "theme"?: "ios" | "md" | "ionic";
7348
8396
  /**
7349
8397
  * The type of the button.
7350
8398
  */
@@ -7372,11 +8420,11 @@ declare namespace LocalJSX {
7372
8420
  */
7373
8421
  "disabled"?: boolean;
7374
8422
  /**
7375
- * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `md` mode will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed.
8423
+ * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `"md"` theme will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed.
7376
8424
  */
7377
8425
  "expandedIcon"?: string;
7378
8426
  /**
7379
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
8427
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in the `"md"` theme.
7380
8428
  */
7381
8429
  "fill"?: 'outline' | 'solid';
7382
8430
  /**
@@ -7400,7 +8448,7 @@ declare namespace LocalJSX {
7400
8448
  */
7401
8449
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
7402
8450
  /**
7403
- * The mode determines which platform styles to use.
8451
+ * The mode determines the platform behaviors of the component.
7404
8452
  */
7405
8453
  "mode"?: "ios" | "md";
7406
8454
  /**
@@ -7448,7 +8496,11 @@ declare namespace LocalJSX {
7448
8496
  */
7449
8497
  "shape"?: 'round';
7450
8498
  /**
7451
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
8499
+ * The theme determines the visual appearance of the component.
8500
+ */
8501
+ "theme"?: "ios" | "md" | "ionic";
8502
+ /**
8503
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
7452
8504
  */
7453
8505
  "toggleIcon"?: string;
7454
8506
  /**
@@ -7461,6 +8513,14 @@ declare namespace LocalJSX {
7461
8513
  * If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons.
7462
8514
  */
7463
8515
  "disabled"?: boolean;
8516
+ /**
8517
+ * The mode determines the platform behaviors of the component.
8518
+ */
8519
+ "mode"?: "ios" | "md";
8520
+ /**
8521
+ * The theme determines the visual appearance of the component.
8522
+ */
8523
+ "theme"?: "ios" | "md" | "ionic";
7464
8524
  /**
7465
8525
  * The text value of the option.
7466
8526
  */
@@ -7475,6 +8535,10 @@ declare namespace LocalJSX {
7475
8535
  * The text content of the popover body
7476
8536
  */
7477
8537
  "message"?: string;
8538
+ /**
8539
+ * The mode determines the platform behaviors of the component.
8540
+ */
8541
+ "mode"?: "ios" | "md";
7478
8542
  /**
7479
8543
  * If true, the select accepts multiple values
7480
8544
  */
@@ -7487,12 +8551,24 @@ declare namespace LocalJSX {
7487
8551
  * The subheader text of the popover
7488
8552
  */
7489
8553
  "subHeader"?: string;
8554
+ /**
8555
+ * The theme determines the visual appearance of the component.
8556
+ */
8557
+ "theme"?: "ios" | "md" | "ionic";
7490
8558
  }
7491
8559
  interface IonSkeletonText {
7492
8560
  /**
7493
8561
  * If `true`, the skeleton text will animate.
7494
8562
  */
7495
8563
  "animated"?: boolean;
8564
+ /**
8565
+ * The mode determines the platform behaviors of the component.
8566
+ */
8567
+ "mode"?: "ios" | "md";
8568
+ /**
8569
+ * The theme determines the visual appearance of the component.
8570
+ */
8571
+ "theme"?: "ios" | "md" | "ionic";
7496
8572
  }
7497
8573
  interface IonSpinner {
7498
8574
  /**
@@ -7503,6 +8579,10 @@ declare namespace LocalJSX {
7503
8579
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
7504
8580
  */
7505
8581
  "duration"?: number;
8582
+ /**
8583
+ * The mode determines the platform behaviors of the component.
8584
+ */
8585
+ "mode"?: "ios" | "md";
7506
8586
  /**
7507
8587
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
7508
8588
  */
@@ -7511,6 +8591,14 @@ declare namespace LocalJSX {
7511
8591
  * If `true`, the spinner's animation will be paused.
7512
8592
  */
7513
8593
  "paused"?: boolean;
8594
+ /**
8595
+ * Set to `"xsmall"` for the smallest size. Set to `"small"` for a smaller size. Set to `"medium"` for a medium size. Set to `"large"` for a large size. Set to `"xlarge"` for the largest size. Defaults to `"xsmall"` for the `ionic` theme, undefined for all other themes.
8596
+ */
8597
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
8598
+ /**
8599
+ * The theme determines the visual appearance of the component.
8600
+ */
8601
+ "theme"?: "ios" | "md" | "ionic";
7514
8602
  }
7515
8603
  interface IonSplitPane {
7516
8604
  /**
@@ -7521,10 +8609,18 @@ declare namespace LocalJSX {
7521
8609
  * If `true`, the split pane will be hidden.
7522
8610
  */
7523
8611
  "disabled"?: boolean;
8612
+ /**
8613
+ * The mode determines the platform behaviors of the component.
8614
+ */
8615
+ "mode"?: "ios" | "md";
7524
8616
  /**
7525
8617
  * Expression to be called when the split-pane visibility has changed
7526
8618
  */
7527
8619
  "onIonSplitPaneVisible"?: (event: IonSplitPaneCustomEvent<{ visible: boolean }>) => void;
8620
+ /**
8621
+ * The theme determines the visual appearance of the component.
8622
+ */
8623
+ "theme"?: "ios" | "md" | "ionic";
7528
8624
  /**
7529
8625
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
7530
8626
  */
@@ -7535,10 +8631,18 @@ declare namespace LocalJSX {
7535
8631
  * The component to display inside of the tab.
7536
8632
  */
7537
8633
  "component"?: ComponentRef;
8634
+ /**
8635
+ * The mode determines the platform behaviors of the component.
8636
+ */
8637
+ "mode"?: "ios" | "md";
7538
8638
  /**
7539
8639
  * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
7540
8640
  */
7541
8641
  "tab": string;
8642
+ /**
8643
+ * The theme determines the visual appearance of the component.
8644
+ */
8645
+ "theme"?: "ios" | "md" | "ionic";
7542
8646
  }
7543
8647
  interface IonTabBar {
7544
8648
  /**
@@ -7546,7 +8650,11 @@ declare namespace LocalJSX {
7546
8650
  */
7547
8651
  "color"?: Color;
7548
8652
  /**
7549
- * The mode determines which platform styles to use.
8653
+ * Set to `"compact"` to display a width based on the items inside the tab bar. This value will only work for the `ionic` theme. Set to `"full"` to display a full width tab bar. Defaults to `"full"`.
8654
+ */
8655
+ "expand"?: 'compact' | 'full';
8656
+ /**
8657
+ * The mode determines the platform behaviors of the component.
7550
8658
  */
7551
8659
  "mode"?: "ios" | "md";
7552
8660
  /**
@@ -7554,7 +8662,15 @@ declare namespace LocalJSX {
7554
8662
  */
7555
8663
  "selectedTab"?: string;
7556
8664
  /**
7557
- * If `true`, the tab bar will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
8665
+ * Set to `"soft"` for a tab bar with slightly rounded corners, `"round"` for a tab bar with fully rounded corners, or `"rectangular"` for a tab bar without rounded corners. Defaults to `"round"` for the `"ionic"` theme, undefined for all other themes.
8666
+ */
8667
+ "shape"?: 'soft' | 'round' | 'rectangular';
8668
+ /**
8669
+ * The theme determines the visual appearance of the component.
8670
+ */
8671
+ "theme"?: "ios" | "md" | "ionic";
8672
+ /**
8673
+ * If `true`, the tab bar will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
7558
8674
  */
7559
8675
  "translucent"?: boolean;
7560
8676
  }
@@ -7576,7 +8692,7 @@ declare namespace LocalJSX {
7576
8692
  */
7577
8693
  "layout"?: TabButtonLayout;
7578
8694
  /**
7579
- * The mode determines which platform styles to use.
8695
+ * The mode determines the platform behaviors of the component.
7580
8696
  */
7581
8697
  "mode"?: "ios" | "md";
7582
8698
  /**
@@ -7595,8 +8711,16 @@ declare namespace LocalJSX {
7595
8711
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
7596
8712
  */
7597
8713
  "target"?: string | undefined;
8714
+ /**
8715
+ * The theme determines the visual appearance of the component.
8716
+ */
8717
+ "theme"?: "ios" | "md" | "ionic";
7598
8718
  }
7599
8719
  interface IonTabs {
8720
+ /**
8721
+ * The mode determines the platform behaviors of the component.
8722
+ */
8723
+ "mode"?: "ios" | "md";
7600
8724
  /**
7601
8725
  * Emitted when the navigation has finished transitioning to a new component.
7602
8726
  */
@@ -7605,6 +8729,10 @@ declare namespace LocalJSX {
7605
8729
  * Emitted when the navigation is about to transition to a new component.
7606
8730
  */
7607
8731
  "onIonTabsWillChange"?: (event: IonTabsCustomEvent<{ tab: string }>) => void;
8732
+ /**
8733
+ * The theme determines the visual appearance of the component.
8734
+ */
8735
+ "theme"?: "ios" | "md" | "ionic";
7608
8736
  }
7609
8737
  interface IonText {
7610
8738
  /**
@@ -7612,9 +8740,13 @@ declare namespace LocalJSX {
7612
8740
  */
7613
8741
  "color"?: Color;
7614
8742
  /**
7615
- * The mode determines which platform styles to use.
8743
+ * The mode determines the platform behaviors of the component.
7616
8744
  */
7617
8745
  "mode"?: "ios" | "md";
8746
+ /**
8747
+ * The theme determines the visual appearance of the component.
8748
+ */
8749
+ "theme"?: "ios" | "md" | "ionic";
7618
8750
  }
7619
8751
  interface IonTextarea {
7620
8752
  /**
@@ -7666,7 +8798,7 @@ declare namespace LocalJSX {
7666
8798
  */
7667
8799
  "errorText"?: string;
7668
8800
  /**
7669
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
8801
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available when the theme is `"md"`.
7670
8802
  */
7671
8803
  "fill"?: 'outline' | 'solid';
7672
8804
  /**
@@ -7694,7 +8826,7 @@ declare namespace LocalJSX {
7694
8826
  */
7695
8827
  "minlength"?: number;
7696
8828
  /**
7697
- * The mode determines which platform styles to use.
8829
+ * The mode determines the platform behaviors of the component.
7698
8830
  */
7699
8831
  "mode"?: "ios" | "md";
7700
8832
  /**
@@ -7734,13 +8866,21 @@ declare namespace LocalJSX {
7734
8866
  */
7735
8867
  "rows"?: number;
7736
8868
  /**
7737
- * The shape of the textarea. If "round" it will have an increased border radius.
8869
+ * Set to `"soft"` for a textarea with slightly rounded corners, `"round"` for a textarea with fully rounded corners, or `"rectangular"` for a textarea without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
7738
8870
  */
7739
- "shape"?: 'round';
8871
+ "shape"?: 'soft' | 'round' | 'rectangular';
8872
+ /**
8873
+ * The size of the textarea. If "large" it will increase the height of the textarea, while "small" and "medium" provide progressively smaller heights. The default size is "medium". This property only applies to the `"ionic"` theme.
8874
+ */
8875
+ "size"?: 'small' | 'medium' | 'large';
7740
8876
  /**
7741
8877
  * If `true`, the element will have its spelling and grammar checked.
7742
8878
  */
7743
8879
  "spellcheck"?: boolean;
8880
+ /**
8881
+ * The theme determines the visual appearance of the component.
8882
+ */
8883
+ "theme"?: "ios" | "md" | "ionic";
7744
8884
  /**
7745
8885
  * The value of the textarea.
7746
8886
  */
@@ -7751,16 +8891,32 @@ declare namespace LocalJSX {
7751
8891
  "wrap"?: 'hard' | 'soft' | 'off';
7752
8892
  }
7753
8893
  interface IonThumbnail {
8894
+ /**
8895
+ * The mode determines the platform behaviors of the component.
8896
+ */
8897
+ "mode"?: "ios" | "md";
8898
+ /**
8899
+ * The theme determines the visual appearance of the component.
8900
+ */
8901
+ "theme"?: "ios" | "md" | "ionic";
7754
8902
  }
7755
8903
  interface IonTitle {
7756
8904
  /**
7757
8905
  * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
7758
8906
  */
7759
8907
  "color"?: Color;
8908
+ /**
8909
+ * The mode determines the platform behaviors of the component.
8910
+ */
8911
+ "mode"?: "ios" | "md";
7760
8912
  /**
7761
8913
  * The size of the toolbar title.
7762
8914
  */
7763
8915
  "size"?: 'large' | 'small';
8916
+ /**
8917
+ * The theme determines the visual appearance of the component.
8918
+ */
8919
+ "theme"?: "ios" | "md" | "ionic";
7764
8920
  }
7765
8921
  interface IonToast {
7766
8922
  /**
@@ -7820,7 +8976,7 @@ declare namespace LocalJSX {
7820
8976
  */
7821
8977
  "message"?: string | IonicSafeString;
7822
8978
  /**
7823
- * The mode determines which platform styles to use.
8979
+ * The mode determines the platform behaviors of the component.
7824
8980
  */
7825
8981
  "mode"?: "ios" | "md";
7826
8982
  /**
@@ -7868,7 +9024,11 @@ declare namespace LocalJSX {
7868
9024
  */
7869
9025
  "swipeGesture"?: ToastSwipeGestureDirection;
7870
9026
  /**
7871
- * If `true`, the toast will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
9027
+ * The theme determines the visual appearance of the component.
9028
+ */
9029
+ "theme"?: "ios" | "md" | "ionic";
9030
+ /**
9031
+ * If `true`, the toast will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
7872
9032
  */
7873
9033
  "translucent"?: boolean;
7874
9034
  /**
@@ -7906,7 +9066,7 @@ declare namespace LocalJSX {
7906
9066
  */
7907
9067
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
7908
9068
  /**
7909
- * The mode determines which platform styles to use.
9069
+ * The mode determines the platform behaviors of the component.
7910
9070
  */
7911
9071
  "mode"?: "ios" | "md";
7912
9072
  /**
@@ -7925,6 +9085,10 @@ declare namespace LocalJSX {
7925
9085
  * Emitted when the toggle has focus.
7926
9086
  */
7927
9087
  "onIonFocus"?: (event: IonToggleCustomEvent<void>) => void;
9088
+ /**
9089
+ * The theme determines the visual appearance of the component.
9090
+ */
9091
+ "theme"?: "ios" | "md" | "ionic";
7928
9092
  /**
7929
9093
  * The value of the toggle does not mean if it's checked or not, use the `checked` property for that. The value of a toggle is analogous to the value of a `<input type="checkbox">`, it's only used when the toggle participates in a native `<form>`.
7930
9094
  */
@@ -7936,9 +9100,13 @@ declare namespace LocalJSX {
7936
9100
  */
7937
9101
  "color"?: Color;
7938
9102
  /**
7939
- * The mode determines which platform styles to use.
9103
+ * The mode determines the platform behaviors of the component.
7940
9104
  */
7941
9105
  "mode"?: "ios" | "md";
9106
+ /**
9107
+ * The theme determines the visual appearance of the component.
9108
+ */
9109
+ "theme"?: "ios" | "md" | "ionic";
7942
9110
  }
7943
9111
  interface IntrinsicElements {
7944
9112
  "ion-accordion": IonAccordion;