@ionic/core 8.4.2-dev.11737633140.1934dd0f → 8.4.2-dev.11739377372.17be7c08

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 (1184) hide show
  1. package/components/action-sheet.js +13 -8
  2. package/components/alert.js +15 -10
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +10 -6
  5. package/components/button.js +41 -11
  6. package/components/buttons.js +11 -7
  7. package/components/capacitor.js +1 -1
  8. package/components/caret-down.js +6 -0
  9. package/components/caret-left.js +6 -0
  10. package/components/caret-right.js +6 -0
  11. package/components/checkbox.js +30 -14
  12. package/components/config2.js +79 -0
  13. package/components/content.js +14 -12
  14. package/components/data.js +6 -6
  15. package/components/focus-visible.js +8 -1
  16. package/components/framework-delegate.js +3 -1
  17. package/components/header.js +24 -15
  18. package/components/helpers.js +4 -1
  19. package/components/index2.js +2 -2
  20. package/components/index4.js +8 -9
  21. package/components/index5.js +27 -3
  22. package/components/index6.js +114 -20
  23. package/components/index7.js +163 -27
  24. package/components/input-shims.js +2 -2
  25. package/components/input.utils.js +1 -2
  26. package/components/ion-accordion-group.js +25 -6
  27. package/components/ion-accordion.js +36 -17
  28. package/components/ion-app.js +9 -77
  29. package/components/ion-avatar.js +52 -3
  30. package/components/ion-back-button.js +29 -19
  31. package/components/ion-badge.js +44 -8
  32. package/components/ion-breadcrumb.js +45 -11
  33. package/components/ion-breadcrumbs.js +9 -5
  34. package/components/ion-card-content.js +11 -7
  35. package/components/ion-card-header.js +9 -5
  36. package/components/ion-card-subtitle.js +9 -5
  37. package/components/ion-card-title.js +9 -5
  38. package/components/ion-card.js +17 -9
  39. package/components/ion-chip.js +45 -8
  40. package/components/ion-col.js +5 -5
  41. package/components/ion-datetime-button.js +9 -6
  42. package/components/ion-datetime.js +99 -21
  43. package/components/ion-fab-button.js +33 -10
  44. package/components/ion-fab-list.js +5 -5
  45. package/components/ion-fab.js +6 -6
  46. package/components/ion-footer.js +18 -12
  47. package/components/ion-grid.js +5 -5
  48. package/components/ion-img.js +5 -2
  49. package/components/ion-infinite-scroll-content.js +13 -8
  50. package/components/ion-infinite-scroll.js +5 -5
  51. package/components/ion-input-password-toggle.js +53 -14
  52. package/components/ion-input.js +118 -20
  53. package/components/ion-item-divider.js +9 -5
  54. package/components/ion-item-group.js +9 -5
  55. package/components/ion-item-option.js +28 -8
  56. package/components/ion-item-options.js +9 -5
  57. package/components/ion-item-sliding.js +5 -5
  58. package/components/ion-loading.js +13 -8
  59. package/components/ion-menu-button.js +28 -10
  60. package/components/ion-menu-toggle.js +5 -5
  61. package/components/ion-menu.js +12 -8
  62. package/components/ion-nav-link.js +1 -1
  63. package/components/ion-nav.js +8 -6
  64. package/components/ion-note.js +9 -5
  65. package/components/ion-picker-legacy.js +7 -8
  66. package/components/ion-progress-bar.js +11 -6
  67. package/components/ion-range.js +13 -10
  68. package/components/ion-refresher-content.js +28 -9
  69. package/components/ion-refresher.js +11 -7
  70. package/components/ion-reorder-group.js +5 -5
  71. package/components/ion-reorder.js +31 -5
  72. package/components/ion-router-link.js +6 -6
  73. package/components/ion-router-outlet.js +4 -3
  74. package/components/ion-row.js +5 -2
  75. package/components/ion-searchbar.js +93 -16
  76. package/components/ion-segment-button.js +58 -13
  77. package/components/ion-segment-content.js +1 -1
  78. package/components/ion-segment-view.js +6 -2
  79. package/components/ion-segment.js +11 -7
  80. package/components/ion-select-option.js +5 -2
  81. package/components/ion-select.js +120 -35
  82. package/components/ion-skeleton-text.js +6 -5
  83. package/components/ion-split-pane.js +12 -8
  84. package/components/ion-tab-bar.js +31 -8
  85. package/components/ion-tab-button.js +28 -7
  86. package/components/ion-tab.js +2 -2
  87. package/components/ion-tabs.js +2 -2
  88. package/components/ion-text.js +5 -5
  89. package/components/ion-textarea.js +47 -11
  90. package/components/ion-thumbnail.js +5 -2
  91. package/components/ion-toast.js +30 -11
  92. package/components/ion-toggle.js +78 -21
  93. package/components/ionic-global.js +374 -84
  94. package/components/ios.transition.js +1 -0
  95. package/components/item.js +41 -11
  96. package/components/keyboard-controller.js +4 -2
  97. package/components/label.js +9 -5
  98. package/components/list-header.js +9 -5
  99. package/components/list.js +29 -6
  100. package/components/list2.js +6 -0
  101. package/components/modal.js +51 -21
  102. package/components/notch-controller.js +1 -1
  103. package/components/overlays.js +4 -5
  104. package/components/picker-column-option.js +9 -5
  105. package/components/picker-column.js +7 -8
  106. package/components/picker-column2.js +4 -4
  107. package/components/picker.js +8 -4
  108. package/components/popover.js +11 -8
  109. package/components/radio-group.js +6 -6
  110. package/components/radio.js +12 -8
  111. package/components/ripple-effect.js +18 -8
  112. package/components/select-modal.js +5 -5
  113. package/components/select-popover.js +9 -2
  114. package/components/spinner.js +36 -9
  115. package/components/status-tap.js +1 -1
  116. package/components/title.js +11 -7
  117. package/components/toolbar.js +11 -7
  118. package/components/x.js +6 -0
  119. package/css/core.css +1 -1
  120. package/css/core.css.map +1 -1
  121. package/css/display.css +1 -1
  122. package/css/display.css.map +1 -1
  123. package/css/flex-utils.css +1 -1
  124. package/css/flex-utils.css.map +1 -1
  125. package/css/float-elements.css.map +1 -1
  126. package/css/global.bundle.css.map +1 -1
  127. package/css/ionic/bundle.ionic.css +1 -0
  128. package/css/ionic/bundle.ionic.css.map +1 -0
  129. package/css/ionic/core.ionic.css +1 -0
  130. package/css/ionic/core.ionic.css.map +1 -0
  131. package/css/ionic/global.bundle.ionic.css +1 -0
  132. package/css/ionic/global.bundle.ionic.css.map +1 -0
  133. package/css/ionic/ionic-swiper.ionic.css +1 -0
  134. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  135. package/css/ionic/link.ionic.css +1 -0
  136. package/css/ionic/link.ionic.css.map +1 -0
  137. package/css/ionic/structure.ionic.css +1 -0
  138. package/css/ionic/structure.ionic.css.map +1 -0
  139. package/css/ionic/typography.ionic.css +1 -0
  140. package/css/ionic/typography.ionic.css.map +1 -0
  141. package/css/ionic/utils.bundle.ionic.css +1 -0
  142. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  143. package/css/ionic-swiper.css +1 -1
  144. package/css/ionic-swiper.css.map +1 -1
  145. package/css/ionic.bundle.css +1 -1
  146. package/css/ionic.bundle.css.map +1 -1
  147. package/css/normalize.css.map +1 -1
  148. package/css/padding.css.map +1 -1
  149. package/css/palettes/dark.always.css.map +1 -1
  150. package/css/palettes/dark.class.css.map +1 -1
  151. package/css/palettes/dark.system.css.map +1 -1
  152. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  153. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  154. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  155. package/css/palettes/high-contrast.always.css.map +1 -1
  156. package/css/palettes/high-contrast.class.css.map +1 -1
  157. package/css/palettes/high-contrast.system.css.map +1 -1
  158. package/css/structure.css.map +1 -1
  159. package/css/text-alignment.css.map +1 -1
  160. package/css/text-transformation.css.map +1 -1
  161. package/css/typography.css.map +1 -1
  162. package/css/utils.bundle.css +1 -1
  163. package/css/utils.bundle.css.map +1 -1
  164. package/dist/cjs/{animation-b4fdf128.js → animation-58015a44.js} +2 -2
  165. package/dist/cjs/{app-globals-21afee77.js → app-globals-d64148d3.js} +1 -1
  166. package/dist/cjs/{button-active-3f2f60b4.js → button-active-ec1fd1d8.js} +1 -1
  167. package/dist/cjs/{capacitor-c04564bf.js → capacitor-454dd071.js} +3 -3
  168. package/dist/cjs/caret-down-3c215cff.js +8 -0
  169. package/dist/cjs/caret-left-2bb66970.js +8 -0
  170. package/dist/cjs/caret-right-88e03970.js +8 -0
  171. package/dist/cjs/config-aff4ff52.js +84 -0
  172. package/dist/cjs/{data-21dc0f81.js → data-5a4013f1.js} +8 -8
  173. package/dist/cjs/{focus-visible-7a0ce04f.js → focus-visible-9aa87fa3.js} +8 -0
  174. package/dist/cjs/{framework-delegate-55f5683a.js → framework-delegate-32f1a0e4.js} +4 -2
  175. package/dist/cjs/{haptic-f6b37aa3.js → haptic-7c25be74.js} +1 -1
  176. package/dist/cjs/{helpers-afaa9001.js → helpers-4e2936d2.js} +4 -1
  177. package/dist/cjs/{index-8e789962.js → index-03fbee1d.js} +14 -15
  178. package/dist/cjs/{index-9509ecad.js → index-0e0c6196.js} +9 -7
  179. package/dist/cjs/{index-5b6a7459.js → index-604c36ae.js} +3 -3
  180. package/dist/cjs/{index-f05acd21.js → index-8f975cf4.js} +12 -12
  181. package/dist/cjs/index.cjs.js +10 -12
  182. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-4b4d2251.js} +18 -17
  183. package/dist/cjs/{input.utils-611cde0b.js → input.utils-fb1debe4.js} +4 -5
  184. package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -24
  185. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -18
  186. package/dist/cjs/ion-alert.cjs.entry.js +25 -23
  187. package/dist/cjs/ion-app_8.cjs.entry.js +108 -152
  188. package/dist/cjs/ion-avatar_3.cjs.entry.js +93 -9
  189. package/dist/cjs/ion-back-button.cjs.entry.js +31 -21
  190. package/dist/cjs/ion-backdrop.cjs.entry.js +11 -6
  191. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +53 -15
  192. package/dist/cjs/ion-button_2.cjs.entry.js +46 -15
  193. package/dist/cjs/ion-card_5.cjs.entry.js +52 -28
  194. package/dist/cjs/ion-checkbox.cjs.entry.js +30 -14
  195. package/dist/cjs/ion-chip.cjs.entry.js +43 -7
  196. package/dist/cjs/ion-col_3.cjs.entry.js +14 -10
  197. package/dist/cjs/ion-datetime-button.cjs.entry.js +16 -12
  198. package/dist/cjs/ion-datetime_3.cjs.entry.js +191 -115
  199. package/dist/cjs/ion-fab_3.cjs.entry.js +42 -19
  200. package/dist/cjs/ion-img.cjs.entry.js +7 -3
  201. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +21 -17
  202. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +55 -16
  203. package/dist/cjs/ion-input.cjs.entry.js +118 -23
  204. package/dist/cjs/ion-item-option_3.cjs.entry.js +40 -17
  205. package/dist/cjs/ion-item_8.cjs.entry.js +113 -41
  206. package/dist/cjs/ion-loading.cjs.entry.js +20 -18
  207. package/dist/cjs/ion-menu_3.cjs.entry.js +48 -29
  208. package/dist/cjs/ion-modal.cjs.entry.js +95 -67
  209. package/dist/cjs/ion-nav_2.cjs.entry.js +15 -13
  210. package/dist/cjs/ion-picker-column-option.cjs.entry.js +11 -6
  211. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
  212. package/dist/cjs/ion-picker.cjs.entry.js +10 -5
  213. package/dist/cjs/ion-popover.cjs.entry.js +20 -18
  214. package/dist/cjs/ion-progress-bar.cjs.entry.js +13 -8
  215. package/dist/cjs/ion-radio_2.cjs.entry.js +19 -13
  216. package/dist/cjs/ion-range.cjs.entry.js +20 -16
  217. package/dist/cjs/ion-refresher_2.cjs.entry.js +44 -23
  218. package/dist/cjs/ion-reorder_2.cjs.entry.js +37 -13
  219. package/dist/cjs/ion-ripple-effect.cjs.entry.js +18 -7
  220. package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
  221. package/dist/cjs/ion-searchbar.cjs.entry.js +94 -17
  222. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  223. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -2
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +70 -20
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +10 -12
  226. package/dist/cjs/ion-select_3.cjs.entry.js +134 -42
  227. package/dist/cjs/ion-spinner.cjs.entry.js +35 -9
  228. package/dist/cjs/ion-split-pane.cjs.entry.js +13 -8
  229. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +60 -20
  230. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -6
  231. package/dist/cjs/ion-text.cjs.entry.js +6 -5
  232. package/dist/cjs/ion-textarea.cjs.entry.js +50 -16
  233. package/dist/cjs/ion-toast.cjs.entry.js +59 -42
  234. package/dist/cjs/ion-toggle.cjs.entry.js +81 -24
  235. package/dist/cjs/ionic-global-14af9c21.js +535 -0
  236. package/dist/cjs/ionic.cjs.js +4 -3
  237. package/dist/cjs/{ios.transition-cf40433b.js → ios.transition-2bb0f7d5.js} +6 -6
  238. package/dist/cjs/{keyboard-af1bb365.js → keyboard-0a5d46dd.js} +5 -3
  239. package/dist/cjs/{keyboard-0272231f.js → keyboard-53c12a15.js} +1 -1
  240. package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-102bad3e.js} +11 -9
  241. package/dist/cjs/list-2930c629.js +8 -0
  242. package/dist/cjs/loader.cjs.js +4 -3
  243. package/dist/cjs/{md.transition-ededf99f.js → md.transition-cf600117.js} +5 -6
  244. package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-ea70e230.js} +4 -4
  245. package/dist/cjs/{overlays-aa669eb8.js → overlays-542a90b3.js} +19 -20
  246. package/dist/cjs/{status-tap-37681226.js → status-tap-aa97d209.js} +4 -3
  247. package/dist/cjs/{swipe-back-0303a5e4.js → swipe-back-27975274.js} +2 -1
  248. package/dist/cjs/x-81a8f51c.js +8 -0
  249. package/dist/collection/components/accordion/accordion.ionic.css +197 -0
  250. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  251. package/dist/collection/components/accordion/accordion.js +37 -21
  252. package/dist/collection/components/accordion/accordion.md.css +67 -59
  253. package/dist/collection/components/accordion-group/accordion-group.ionic.css +95 -0
  254. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  255. package/dist/collection/components/accordion-group/accordion-group.js +43 -8
  256. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  257. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  258. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  259. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  260. package/dist/collection/components/alert/alert.ios.css +19 -1
  261. package/dist/collection/components/alert/alert.js +15 -12
  262. package/dist/collection/components/alert/alert.md.css +19 -1
  263. package/dist/collection/components/app/app.js +12 -78
  264. package/dist/collection/components/avatar/avatar.ionic.css +268 -0
  265. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  266. package/dist/collection/components/avatar/avatar.js +92 -4
  267. package/dist/collection/components/avatar/avatar.md.css +12 -0
  268. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  269. package/dist/collection/components/back-button/back-button.js +27 -19
  270. package/dist/collection/components/back-button/back-button.md.css +60 -48
  271. package/dist/collection/components/backdrop/backdrop.ionic.css +151 -0
  272. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  273. package/dist/collection/components/backdrop/backdrop.js +12 -6
  274. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  275. package/dist/collection/components/badge/badge.ionic.css +249 -0
  276. package/dist/collection/components/badge/badge.ios.css +106 -3
  277. package/dist/collection/components/badge/badge.js +75 -8
  278. package/dist/collection/components/badge/badge.md.css +106 -3
  279. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  280. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  281. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  282. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  283. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  284. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  285. package/dist/collection/components/button/button.ionic.css +589 -0
  286. package/dist/collection/components/button/button.ios.css +129 -36
  287. package/dist/collection/components/button/button.js +46 -16
  288. package/dist/collection/components/button/button.md.css +120 -40
  289. package/dist/collection/components/buttons/buttons.ionic.css +100 -0
  290. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  291. package/dist/collection/components/buttons/buttons.js +14 -8
  292. package/dist/collection/components/buttons/buttons.md.css +55 -3
  293. package/dist/collection/components/card/card.ionic.css +137 -0
  294. package/dist/collection/components/card/card.ios.css +65 -14
  295. package/dist/collection/components/card/card.js +34 -10
  296. package/dist/collection/components/card/card.md.css +65 -14
  297. package/dist/collection/components/card-content/card-content.ionic.css +90 -0
  298. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  299. package/dist/collection/components/card-content/card-content.js +11 -8
  300. package/dist/collection/components/card-content/card-content.md.css +16 -1
  301. package/dist/collection/components/card-header/card-header.ionic.css +87 -0
  302. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  303. package/dist/collection/components/card-header/card-header.js +12 -9
  304. package/dist/collection/components/card-header/card-header.md.css +27 -15
  305. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +146 -0
  306. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  307. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  308. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  309. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  310. package/dist/collection/components/card-title/card-title.js +11 -8
  311. package/dist/collection/components/card-title/card-title.md.css +73 -0
  312. package/dist/collection/components/checkbox/checkbox.ionic.css +402 -0
  313. package/dist/collection/components/checkbox/checkbox.ios.css +20 -2
  314. package/dist/collection/components/checkbox/checkbox.js +54 -23
  315. package/dist/collection/components/checkbox/checkbox.md.css +21 -3
  316. package/dist/collection/components/chip/chip.ionic.css +160 -0
  317. package/dist/collection/components/chip/chip.ios.css +20 -1
  318. package/dist/collection/components/chip/chip.js +77 -8
  319. package/dist/collection/components/chip/chip.md.css +20 -1
  320. package/dist/collection/components/col/col.css +12 -0
  321. package/dist/collection/components/col/col.js +9 -5
  322. package/dist/collection/components/content/content.css +8 -2
  323. package/dist/collection/components/content/content.js +16 -11
  324. package/dist/collection/components/datetime/datetime.ionic.css +673 -0
  325. package/dist/collection/components/datetime/datetime.ios.css +237 -86
  326. package/dist/collection/components/datetime/datetime.js +98 -20
  327. package/dist/collection/components/datetime/datetime.md.css +237 -86
  328. package/dist/collection/components/datetime/utils/data.js +5 -5
  329. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  330. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  331. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  332. package/dist/collection/components/fab/fab.css +25 -1
  333. package/dist/collection/components/fab/fab.js +9 -5
  334. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  335. package/dist/collection/components/fab-button/fab-button.js +36 -15
  336. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  337. package/dist/collection/components/fab-list/fab-list.css +12 -0
  338. package/dist/collection/components/fab-list/fab-list.js +9 -5
  339. package/dist/collection/components/footer/footer.ios.css +14 -2
  340. package/dist/collection/components/footer/footer.js +20 -15
  341. package/dist/collection/components/footer/footer.md.css +12 -0
  342. package/dist/collection/components/grid/grid.css +12 -0
  343. package/dist/collection/components/grid/grid.js +9 -5
  344. package/dist/collection/components/header/header.ionic.css +86 -0
  345. package/dist/collection/components/header/header.ios.css +25 -10
  346. package/dist/collection/components/header/header.js +42 -17
  347. package/dist/collection/components/header/header.md.css +23 -8
  348. package/dist/collection/components/img/img.js +8 -2
  349. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  350. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  351. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  352. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  353. package/dist/collection/components/input/input.ionic.css +1078 -0
  354. package/dist/collection/components/input/input.ios.css +21 -2
  355. package/dist/collection/components/input/input.js +144 -30
  356. package/dist/collection/components/input/input.md.css +43 -4
  357. package/dist/collection/components/input-password-toggle/input-password-toggle.common.css +61 -0
  358. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +141 -0
  359. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  360. package/dist/collection/components/item/item.ionic.css +497 -0
  361. package/dist/collection/components/item/item.ios.css +109 -69
  362. package/dist/collection/components/item/item.js +44 -16
  363. package/dist/collection/components/item/item.md.css +120 -68
  364. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  365. package/dist/collection/components/item-divider/item-divider.js +11 -8
  366. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  367. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  368. package/dist/collection/components/item-group/item-group.js +13 -7
  369. package/dist/collection/components/item-group/item-group.md.css +12 -0
  370. package/dist/collection/components/item-option/item-option.ionic.css +332 -0
  371. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  372. package/dist/collection/components/item-option/item-option.js +43 -8
  373. package/dist/collection/components/item-option/item-option.md.css +14 -2
  374. package/dist/collection/components/item-options/item-options.ionic.css +259 -0
  375. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  376. package/dist/collection/components/item-options/item-options.js +13 -7
  377. package/dist/collection/components/item-options/item-options.md.css +18 -0
  378. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  379. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  380. package/dist/collection/components/label/label.ios.css +18 -0
  381. package/dist/collection/components/label/label.js +11 -8
  382. package/dist/collection/components/label/label.md.css +18 -0
  383. package/dist/collection/components/list/list.ionic.css +192 -0
  384. package/dist/collection/components/list/list.ios.css +18 -0
  385. package/dist/collection/components/list/list.js +47 -9
  386. package/dist/collection/components/list/list.md.css +20 -2
  387. package/dist/collection/components/list-header/list-header.ionic.css +236 -0
  388. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  389. package/dist/collection/components/list-header/list-header.js +11 -8
  390. package/dist/collection/components/list-header/list-header.md.css +18 -0
  391. package/dist/collection/components/loading/loading.ios.css +13 -1
  392. package/dist/collection/components/loading/loading.js +13 -10
  393. package/dist/collection/components/loading/loading.md.css +13 -1
  394. package/dist/collection/components/menu/menu.ios.css +15 -3
  395. package/dist/collection/components/menu/menu.js +12 -7
  396. package/dist/collection/components/menu/menu.md.css +15 -3
  397. package/dist/collection/components/menu-button/menu-button.ionic.css +238 -0
  398. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  399. package/dist/collection/components/menu-button/menu-button.js +26 -10
  400. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  401. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  402. package/dist/collection/components/modal/animations/sheet.js +8 -2
  403. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  404. package/dist/collection/components/modal/modal.ionic.css +239 -0
  405. package/dist/collection/components/modal/modal.ios.css +106 -63
  406. package/dist/collection/components/modal/modal.js +47 -11
  407. package/dist/collection/components/modal/modal.md.css +106 -63
  408. package/dist/collection/components/nav/nav.css +7 -1
  409. package/dist/collection/components/nav/nav.js +11 -5
  410. package/dist/collection/components/nav-link/nav-link.js +5 -1
  411. package/dist/collection/components/note/note.ios.css +12 -0
  412. package/dist/collection/components/note/note.js +11 -8
  413. package/dist/collection/components/note/note.md.css +12 -0
  414. package/dist/collection/components/picker/picker.ios.css +15 -3
  415. package/dist/collection/components/picker/picker.js +8 -5
  416. package/dist/collection/components/picker/picker.md.css +15 -3
  417. package/dist/collection/components/picker-column/picker-column.css +9 -2
  418. package/dist/collection/components/picker-column/picker-column.js +8 -7
  419. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  420. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  421. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  422. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  423. package/dist/collection/components/picker-legacy/picker.js +7 -6
  424. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  425. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  426. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  427. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  428. package/dist/collection/components/popover/popover.ios.css +13 -1
  429. package/dist/collection/components/popover/popover.js +15 -12
  430. package/dist/collection/components/popover/popover.md.css +13 -1
  431. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  432. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  433. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  434. package/dist/collection/components/radio/radio.ionic.css +424 -0
  435. package/dist/collection/components/radio/radio.ios.css +134 -91
  436. package/dist/collection/components/radio/radio.js +12 -9
  437. package/dist/collection/components/radio/radio.md.css +134 -91
  438. package/dist/collection/components/radio-group/radio-group.js +10 -23
  439. package/dist/collection/components/range/range.ionic.css +555 -0
  440. package/dist/collection/components/range/range.ios.css +128 -85
  441. package/dist/collection/components/range/range.js +12 -9
  442. package/dist/collection/components/range/range.md.css +128 -85
  443. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  444. package/dist/collection/components/refresher/refresher.js +11 -8
  445. package/dist/collection/components/refresher/refresher.md.css +15 -2
  446. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  447. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  448. package/dist/collection/components/reorder/reorder.js +33 -6
  449. package/dist/collection/components/reorder/reorder.md.css +6 -0
  450. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  451. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  452. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  453. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +154 -0
  454. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  455. package/dist/collection/components/route/route.js +4 -0
  456. package/dist/collection/components/router/router.js +4 -0
  457. package/dist/collection/components/router-link/router-link.css +8 -2
  458. package/dist/collection/components/router-link/router-link.js +9 -5
  459. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  460. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  461. package/dist/collection/components/row/row.css +12 -0
  462. package/dist/collection/components/row/row.js +9 -2
  463. package/dist/collection/components/searchbar/searchbar.ionic.css +345 -0
  464. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  465. package/dist/collection/components/searchbar/searchbar.js +97 -25
  466. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  467. package/dist/collection/components/segment/segment.ionic.css +117 -0
  468. package/dist/collection/components/segment/segment.ios.css +45 -2
  469. package/dist/collection/components/segment/segment.js +11 -8
  470. package/dist/collection/components/segment/segment.md.css +45 -2
  471. package/dist/collection/components/segment-button/segment-button.ionic.css +355 -0
  472. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  473. package/dist/collection/components/segment-button/segment-button.js +58 -14
  474. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  475. package/dist/collection/components/segment-content/segment-content.js +1 -1
  476. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  477. package/dist/collection/components/segment-view/segment-view.js +6 -4
  478. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  479. package/dist/collection/components/select/select.ionic.css +706 -0
  480. package/dist/collection/components/select/select.ios.css +187 -121
  481. package/dist/collection/components/select/select.js +132 -49
  482. package/dist/collection/components/select/select.md.css +184 -226
  483. package/dist/collection/components/select-modal/select-modal.ionic.css +121 -0
  484. package/dist/collection/components/select-modal/select-modal.ios.css +0 -186
  485. package/dist/collection/components/select-modal/select-modal.js +4 -4
  486. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  487. package/dist/collection/components/select-option/select-option.js +9 -2
  488. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  489. package/dist/collection/components/select-popover/select-popover.js +12 -4
  490. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  491. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  492. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  493. package/dist/collection/components/spinner/spinner.common.css +199 -0
  494. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +63 -0
  495. package/dist/collection/components/spinner/spinner.js +46 -6
  496. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  497. package/dist/collection/components/split-pane/split-pane.js +14 -8
  498. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  499. package/dist/collection/components/tab/tab.js +6 -2
  500. package/dist/collection/components/tab-bar/tab-bar.ionic.css +188 -0
  501. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  502. package/dist/collection/components/tab-bar/tab-bar.js +65 -10
  503. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  504. package/dist/collection/components/tab-button/tab-button.ionic.css +282 -0
  505. package/dist/collection/components/tab-button/tab-button.ios.css +103 -88
  506. package/dist/collection/components/tab-button/tab-button.js +43 -8
  507. package/dist/collection/components/tab-button/tab-button.md.css +103 -88
  508. package/dist/collection/components/tabs/tabs.css +7 -1
  509. package/dist/collection/components/tabs/tabs.js +4 -1
  510. package/dist/collection/components/text/text.css +6 -0
  511. package/dist/collection/components/text/text.js +7 -6
  512. package/dist/collection/components/textarea/textarea.ionic.css +834 -0
  513. package/dist/collection/components/textarea/textarea.ios.css +201 -96
  514. package/dist/collection/components/textarea/textarea.js +68 -16
  515. package/dist/collection/components/textarea/textarea.md.css +214 -97
  516. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  517. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  518. package/dist/collection/components/title/title.ionic.css +145 -0
  519. package/dist/collection/components/title/title.ios.css +32 -4
  520. package/dist/collection/components/title/title.js +13 -7
  521. package/dist/collection/components/title/title.md.css +32 -4
  522. package/dist/collection/components/toast/animations/utils.js +1 -1
  523. package/dist/collection/components/toast/toast.ionic.css +377 -0
  524. package/dist/collection/components/toast/toast.ios.css +74 -35
  525. package/dist/collection/components/toast/toast.js +45 -10
  526. package/dist/collection/components/toast/toast.md.css +74 -35
  527. package/dist/collection/components/toggle/toggle.ionic.css +419 -0
  528. package/dist/collection/components/toggle/toggle.ios.css +166 -120
  529. package/dist/collection/components/toggle/toggle.js +74 -38
  530. package/dist/collection/components/toggle/toggle.md.css +163 -120
  531. package/dist/collection/components/toolbar/toolbar.ionic.css +233 -0
  532. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  533. package/dist/collection/components/toolbar/toolbar.js +13 -10
  534. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  535. package/dist/collection/global/ionic-global.js +229 -13
  536. package/dist/collection/utils/focus-visible.js +7 -0
  537. package/dist/collection/utils/framework-delegate.js +3 -1
  538. package/dist/collection/utils/helpers.js +3 -1
  539. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  540. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  541. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  542. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  543. package/dist/collection/utils/overlays.js +2 -1
  544. package/dist/collection/utils/test/playwright/generator.js +48 -23
  545. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  546. package/dist/collection/utils/test/playwright/page/utils/set-content.js +16 -2
  547. package/dist/collection/utils/transition/ios.transition.js +1 -0
  548. package/dist/docs.json +7072 -377
  549. package/dist/esm/{animation-eab5a4ca.js → animation-f1a88600.js} +1 -1
  550. package/dist/esm/{app-globals-5dbb61a5.js → app-globals-eceadabb.js} +1 -1
  551. package/dist/esm/{button-active-f6503382.js → button-active-321f0dba.js} +2 -2
  552. package/dist/esm/{capacitor-59395cbd.js → capacitor-6b0341c8.js} +1 -1
  553. package/dist/esm/caret-down-3eaad1cc.js +6 -0
  554. package/dist/esm/caret-left-33424bb0.js +6 -0
  555. package/dist/esm/caret-right-68d856ad.js +6 -0
  556. package/dist/esm/config-84eb9670.js +79 -0
  557. package/dist/esm/{data-ae11fd43.js → data-98c06dea.js} +6 -6
  558. package/dist/esm/{focus-visible-dd40d69f.js → focus-visible-501aff19.js} +8 -1
  559. package/dist/esm/{framework-delegate-63d1a679.js → framework-delegate-3e4a8c9f.js} +4 -2
  560. package/dist/esm/{haptic-ac164e4c.js → haptic-dd6c0ea9.js} +1 -1
  561. package/dist/esm/{helpers-da915de8.js → helpers-f08d15bd.js} +4 -1
  562. package/dist/esm/{index-24b48b06.js → index-31109e63.js} +10 -11
  563. package/dist/esm/{index-3ad7f18b.js → index-59f81cb8.js} +6 -6
  564. package/{components/index9.js → dist/esm/index-62b4a18b.js} +4 -2
  565. package/dist/esm/{index-28849c61.js → index-723c0e5d.js} +1 -1
  566. package/dist/esm/{index-5cc724f3.js → index-7bd160c2.js} +2 -2
  567. package/dist/esm/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  568. package/dist/esm/index.js +11 -13
  569. package/dist/esm/{input-shims-0314bbe5.js → input-shims-6be83e59.js} +7 -6
  570. package/dist/esm/{input.utils-09c71bc7.js → input.utils-67459bae.js} +2 -3
  571. package/dist/esm/ion-accordion_2.entry.js +61 -24
  572. package/dist/esm/ion-action-sheet.entry.js +22 -19
  573. package/dist/esm/ion-alert.entry.js +23 -21
  574. package/dist/esm/ion-app_8.entry.js +96 -140
  575. package/dist/esm/ion-avatar_3.entry.js +94 -10
  576. package/dist/esm/ion-back-button.entry.js +31 -21
  577. package/dist/esm/ion-backdrop.entry.js +12 -7
  578. package/dist/esm/ion-breadcrumb_2.entry.js +55 -17
  579. package/dist/esm/ion-button_2.entry.js +44 -13
  580. package/dist/esm/ion-card_5.entry.js +53 -29
  581. package/dist/esm/ion-checkbox.entry.js +31 -15
  582. package/dist/esm/ion-chip.entry.js +44 -8
  583. package/dist/esm/ion-col_3.entry.js +15 -11
  584. package/dist/esm/ion-datetime-button.entry.js +13 -9
  585. package/dist/esm/ion-datetime_3.entry.js +117 -41
  586. package/dist/esm/ion-fab_3.entry.js +44 -21
  587. package/dist/esm/ion-img.entry.js +8 -4
  588. package/dist/esm/ion-infinite-scroll_2.entry.js +19 -15
  589. package/dist/esm/ion-input-password-toggle.entry.js +54 -15
  590. package/dist/esm/ion-input.entry.js +120 -25
  591. package/dist/esm/ion-item-option_3.entry.js +41 -18
  592. package/dist/esm/ion-item_8.entry.js +114 -42
  593. package/dist/esm/ion-loading.entry.js +18 -16
  594. package/dist/esm/ion-menu_3.entry.js +48 -29
  595. package/dist/esm/ion-modal.entry.js +59 -31
  596. package/dist/esm/ion-nav_2.entry.js +14 -12
  597. package/dist/esm/ion-picker-column-option.entry.js +12 -7
  598. package/dist/esm/ion-picker-column.entry.js +12 -12
  599. package/dist/esm/ion-picker.entry.js +11 -6
  600. package/dist/esm/ion-popover.entry.js +18 -16
  601. package/dist/esm/ion-progress-bar.entry.js +13 -8
  602. package/dist/esm/ion-radio_2.entry.js +20 -14
  603. package/dist/esm/ion-range.entry.js +16 -12
  604. package/dist/esm/ion-refresher_2.entry.js +42 -21
  605. package/dist/esm/ion-reorder_2.entry.js +39 -15
  606. package/dist/esm/ion-ripple-effect.entry.js +19 -8
  607. package/dist/esm/ion-route_4.entry.js +9 -8
  608. package/dist/esm/ion-searchbar.entry.js +95 -18
  609. package/dist/esm/ion-segment-content.entry.js +2 -2
  610. package/dist/esm/ion-segment-view.entry.js +7 -3
  611. package/dist/esm/ion-segment_2.entry.js +71 -21
  612. package/dist/esm/ion-select-modal.entry.js +11 -13
  613. package/dist/esm/ion-select_3.entry.js +136 -44
  614. package/dist/esm/ion-spinner.entry.js +34 -8
  615. package/dist/esm/ion-split-pane.entry.js +14 -9
  616. package/dist/esm/ion-tab-bar_2.entry.js +60 -20
  617. package/dist/esm/ion-tab_2.entry.js +8 -7
  618. package/dist/esm/ion-text.entry.js +7 -6
  619. package/dist/esm/ion-textarea.entry.js +51 -17
  620. package/dist/esm/ion-toast.entry.js +34 -17
  621. package/dist/esm/ion-toggle.entry.js +82 -25
  622. package/dist/esm/ionic-global-3c97a4aa.js +521 -0
  623. package/dist/esm/ionic.js +6 -5
  624. package/dist/esm/{ios.transition-4ee1a3af.js → ios.transition-06b78ea0.js} +7 -7
  625. package/dist/esm/{keyboard-52278bd7.js → keyboard-5b1b354d.js} +5 -3
  626. package/dist/esm/{keyboard-73175e24.js → keyboard-9bbd546a.js} +1 -1
  627. package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-aff395fd.js} +5 -3
  628. package/dist/esm/list-6524700c.js +6 -0
  629. package/dist/esm/loader.js +6 -5
  630. package/dist/esm/{md.transition-5106a0d2.js → md.transition-e5712bda.js} +6 -7
  631. package/dist/esm/{notch-controller-55b09e11.js → notch-controller-c0bd22ff.js} +2 -2
  632. package/dist/esm/{overlays-e7b9d6d9.js → overlays-66cb5522.js} +6 -7
  633. package/dist/esm/{status-tap-f472b09f.js → status-tap-edf9f395.js} +5 -4
  634. package/dist/esm/{swipe-back-e5394307.js → swipe-back-17c42610.js} +2 -1
  635. package/dist/esm/x-a64bcd9f.js +6 -0
  636. package/dist/esm-es5/animation-f1a88600.js +4 -0
  637. package/dist/esm-es5/app-globals-eceadabb.js +4 -0
  638. package/dist/esm-es5/{button-active-f6503382.js → button-active-321f0dba.js} +1 -1
  639. package/dist/esm-es5/capacitor-6b0341c8.js +4 -0
  640. package/dist/esm-es5/caret-down-3eaad1cc.js +4 -0
  641. package/dist/esm-es5/caret-left-33424bb0.js +4 -0
  642. package/dist/esm-es5/caret-right-68d856ad.js +4 -0
  643. package/dist/esm-es5/config-84eb9670.js +4 -0
  644. package/dist/esm-es5/data-98c06dea.js +4 -0
  645. package/dist/esm-es5/focus-visible-501aff19.js +4 -0
  646. package/dist/esm-es5/framework-delegate-3e4a8c9f.js +4 -0
  647. package/dist/esm-es5/{haptic-ac164e4c.js → haptic-dd6c0ea9.js} +1 -1
  648. package/dist/esm-es5/helpers-f08d15bd.js +4 -0
  649. package/dist/esm-es5/index-31109e63.js +4 -0
  650. package/dist/esm-es5/index-59f81cb8.js +4 -0
  651. package/dist/esm-es5/{index-79b30591.js → index-62b4a18b.js} +1 -1
  652. package/dist/esm-es5/{index-28849c61.js → index-723c0e5d.js} +1 -1
  653. package/dist/esm-es5/index-7bd160c2.js +4 -0
  654. package/dist/esm-es5/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  655. package/dist/esm-es5/index.js +1 -1
  656. package/dist/esm-es5/input-shims-6be83e59.js +4 -0
  657. package/dist/esm-es5/input.utils-67459bae.js +4 -0
  658. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  659. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  660. package/dist/esm-es5/ion-alert.entry.js +1 -1
  661. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  662. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  663. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  664. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  665. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  666. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  667. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  668. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  669. package/dist/esm-es5/ion-chip.entry.js +1 -1
  670. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  671. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  672. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  673. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  674. package/dist/esm-es5/ion-img.entry.js +1 -1
  675. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  676. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  677. package/dist/esm-es5/ion-input.entry.js +1 -1
  678. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  679. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  680. package/dist/esm-es5/ion-loading.entry.js +1 -1
  681. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  682. package/dist/esm-es5/ion-modal.entry.js +1 -1
  683. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  684. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  685. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  686. package/dist/esm-es5/ion-picker.entry.js +1 -1
  687. package/dist/esm-es5/ion-popover.entry.js +1 -1
  688. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  689. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  690. package/dist/esm-es5/ion-range.entry.js +1 -1
  691. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  692. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  693. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  694. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  695. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  696. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  697. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  698. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  699. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  700. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  701. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  702. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  703. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  704. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  705. package/dist/esm-es5/ion-text.entry.js +1 -1
  706. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  707. package/dist/esm-es5/ion-toast.entry.js +1 -1
  708. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  709. package/dist/esm-es5/ionic-global-3c97a4aa.js +4 -0
  710. package/dist/esm-es5/ionic.js +1 -1
  711. package/dist/esm-es5/ios.transition-06b78ea0.js +4 -0
  712. package/dist/esm-es5/{keyboard-52278bd7.js → keyboard-5b1b354d.js} +1 -1
  713. package/dist/esm-es5/{keyboard-73175e24.js → keyboard-9bbd546a.js} +1 -1
  714. package/dist/esm-es5/keyboard-controller-aff395fd.js +4 -0
  715. package/dist/esm-es5/list-6524700c.js +4 -0
  716. package/dist/esm-es5/loader.js +1 -1
  717. package/dist/esm-es5/md.transition-e5712bda.js +4 -0
  718. package/dist/esm-es5/notch-controller-c0bd22ff.js +4 -0
  719. package/dist/esm-es5/overlays-66cb5522.js +4 -0
  720. package/dist/esm-es5/status-tap-edf9f395.js +4 -0
  721. package/dist/esm-es5/swipe-back-17c42610.js +4 -0
  722. package/dist/esm-es5/x-a64bcd9f.js +4 -0
  723. package/dist/html.html-data.json +2341 -219
  724. package/dist/ionic/index.esm.js +1 -1
  725. package/dist/ionic/ionic.esm.js +1 -1
  726. package/dist/ionic/ionic.js +1 -1
  727. package/dist/ionic/p-01451762.entry.js +4 -0
  728. package/dist/ionic/p-01d80901.system.js +4 -0
  729. package/dist/ionic/p-038a6294.js +4 -0
  730. package/dist/ionic/p-06ec4706.js +4 -0
  731. package/dist/ionic/p-06f2f110.system.entry.js +4 -0
  732. package/dist/ionic/p-09125f4f.entry.js +4 -0
  733. package/dist/ionic/p-096e5f6d.system.entry.js +4 -0
  734. package/dist/ionic/p-09c6b5e4.js +4 -0
  735. package/dist/ionic/p-0a0ce78f.system.entry.js +4 -0
  736. package/dist/ionic/p-0db90e9b.entry.js +4 -0
  737. package/dist/ionic/{p-25180df3.system.js → p-0fa218e9.system.js} +1 -1
  738. package/dist/ionic/p-101ccd60.system.entry.js +4 -0
  739. package/dist/ionic/p-112120d7.system.js +4 -0
  740. package/dist/ionic/{p-c7e16491.js → p-11266916.js} +1 -1
  741. package/dist/ionic/{p-1e955a45.system.js → p-115d74cd.system.js} +1 -1
  742. package/dist/ionic/p-12337305.system.entry.js +4 -0
  743. package/dist/ionic/{p-34b11c24.js → p-12d6df53.js} +1 -1
  744. package/dist/ionic/p-156d17cd.js +4 -0
  745. package/dist/ionic/p-18892506.entry.js +4 -0
  746. package/dist/ionic/p-18bbe9a5.entry.js +4 -0
  747. package/dist/ionic/p-18c930a5.system.entry.js +4 -0
  748. package/dist/ionic/{p-b06ac4a5.system.js → p-18f86177.system.js} +1 -1
  749. package/dist/ionic/p-1abd1c99.entry.js +4 -0
  750. package/dist/ionic/p-1cf1141c.system.entry.js +4 -0
  751. package/dist/ionic/p-1dd2b0af.entry.js +4 -0
  752. package/dist/ionic/p-1eeb9796.entry.js +4 -0
  753. package/dist/ionic/p-1efa63f2.js +4 -0
  754. package/dist/ionic/p-23b31425.entry.js +4 -0
  755. package/dist/ionic/p-243adf8c.js +4 -0
  756. package/dist/ionic/p-24f15ce4.system.entry.js +4 -0
  757. package/dist/ionic/p-25cc2477.entry.js +4 -0
  758. package/dist/ionic/p-27258d5a.entry.js +4 -0
  759. package/dist/ionic/p-29ca4da2.entry.js +4 -0
  760. package/dist/ionic/p-2e35a770.system.js +4 -0
  761. package/dist/ionic/p-2ef115ec.system.entry.js +4 -0
  762. package/dist/ionic/p-330e703e.entry.js +4 -0
  763. package/dist/ionic/p-33dc4514.js +4 -0
  764. package/dist/ionic/p-346c67b0.js +4 -0
  765. package/dist/ionic/p-3583dd40.system.entry.js +4 -0
  766. package/dist/ionic/p-3608e72b.entry.js +4 -0
  767. package/dist/ionic/p-398b00a5.system.entry.js +4 -0
  768. package/dist/ionic/p-3b7adbc3.system.entry.js +4 -0
  769. package/dist/ionic/p-3ce95a91.entry.js +4 -0
  770. package/dist/ionic/p-3d61263b.system.entry.js +4 -0
  771. package/dist/ionic/{p-9ea607bd.system.js → p-3e91ea3a.system.js} +2 -2
  772. package/dist/ionic/{p-3c8e5c23.system.js → p-41c19986.system.js} +1 -1
  773. package/dist/ionic/p-41f06734.entry.js +4 -0
  774. package/dist/ionic/p-4219582c.system.js +4 -0
  775. package/dist/ionic/p-429dd2b5.system.js +4 -0
  776. package/dist/ionic/p-4385e3fb.system.entry.js +4 -0
  777. package/dist/ionic/p-4459a66e.system.js +4 -0
  778. package/dist/ionic/{p-8985cdb6.system.js → p-4626fb32.system.js} +1 -1
  779. package/dist/ionic/p-46787abb.system.js +4 -0
  780. package/dist/ionic/p-47fd935c.system.js +4 -0
  781. package/dist/ionic/p-4a39ba11.entry.js +4 -0
  782. package/dist/ionic/p-4a6d4288.entry.js +4 -0
  783. package/dist/ionic/p-4a869870.entry.js +4 -0
  784. package/dist/ionic/p-4ac4f52a.system.entry.js +4 -0
  785. package/dist/ionic/p-4b4e4592.system.entry.js +4 -0
  786. package/dist/ionic/{p-89b61afc.js → p-4c275462.js} +1 -1
  787. package/dist/ionic/p-4c9e1b2c.js +4 -0
  788. package/dist/ionic/p-51371e21.system.js +4 -0
  789. package/dist/ionic/p-530c591a.entry.js +4 -0
  790. package/dist/ionic/p-5377db51.system.entry.js +4 -0
  791. package/dist/ionic/p-55546d77.system.entry.js +4 -0
  792. package/dist/ionic/p-556778bd.system.js +4 -0
  793. package/dist/ionic/p-5684893b.system.entry.js +4 -0
  794. package/dist/ionic/p-57de8d54.system.entry.js +4 -0
  795. package/dist/ionic/{p-f9a53abb.system.js → p-58aa8a36.system.js} +1 -1
  796. package/dist/ionic/p-58c64779.system.entry.js +4 -0
  797. package/dist/ionic/{p-da2b833b.js → p-58f16ef6.js} +1 -1
  798. package/dist/ionic/p-5a6b3c0d.entry.js +4 -0
  799. package/dist/ionic/p-5a6d245d.system.entry.js +4 -0
  800. package/dist/ionic/p-5b57d327.system.js +4 -0
  801. package/dist/ionic/p-5ce35a03.js +4 -0
  802. package/dist/ionic/p-5eb8561f.system.entry.js +4 -0
  803. package/dist/ionic/p-5ff5d2bb.entry.js +4 -0
  804. package/dist/ionic/p-607c9c33.js +4 -0
  805. package/dist/ionic/p-60d21ee9.system.entry.js +4 -0
  806. package/dist/ionic/p-61f85a49.system.entry.js +4 -0
  807. package/dist/ionic/p-623fcccc.entry.js +4 -0
  808. package/dist/ionic/{p-9146695e.system.js → p-62887754.system.js} +1 -1
  809. package/dist/ionic/p-63fde7fe.entry.js +4 -0
  810. package/dist/ionic/p-6433742e.system.entry.js +4 -0
  811. package/dist/ionic/p-67b6e18d.entry.js +4 -0
  812. package/dist/ionic/p-697eee8c.system.entry.js +4 -0
  813. package/dist/ionic/p-6a0dd6bc.js +4 -0
  814. package/dist/ionic/p-6bc2795b.entry.js +4 -0
  815. package/dist/ionic/p-6bd1c0ee.system.entry.js +4 -0
  816. package/dist/ionic/p-6caa76ec.js +4 -0
  817. package/dist/ionic/p-6cbca6c5.system.entry.js +4 -0
  818. package/dist/ionic/p-6dc32e8b.entry.js +4 -0
  819. package/dist/ionic/p-6e53290f.system.entry.js +4 -0
  820. package/dist/ionic/p-7071d7ca.js +4 -0
  821. package/dist/ionic/{p-f687573e.system.js → p-728f5b22.system.js} +1 -1
  822. package/dist/ionic/p-72cbf799.system.entry.js +4 -0
  823. package/dist/ionic/p-74d76684.js +4 -0
  824. package/dist/ionic/p-7607d8ba.system.entry.js +4 -0
  825. package/dist/ionic/p-78ed8923.js +4 -0
  826. package/dist/ionic/p-7a858bae.system.js +4 -0
  827. package/dist/ionic/p-7d36cf9f.system.entry.js +4 -0
  828. package/dist/ionic/p-815f649a.system.entry.js +4 -0
  829. package/dist/ionic/p-81b72701.entry.js +4 -0
  830. package/dist/ionic/p-822e47a9.system.js +4 -0
  831. package/dist/ionic/p-82cb4235.js +4 -0
  832. package/dist/ionic/{p-d836d43e.js → p-83948e48.js} +1 -1
  833. package/dist/ionic/p-8463212e.js +4 -0
  834. package/dist/ionic/p-84667060.entry.js +4 -0
  835. package/dist/ionic/p-857ba8d4.entry.js +4 -0
  836. package/dist/ionic/p-86d98446.system.entry.js +4 -0
  837. package/dist/ionic/{p-58d5df0c.system.entry.js → p-86e9a917.system.entry.js} +1 -1
  838. package/dist/ionic/p-871f4046.entry.js +4 -0
  839. package/dist/ionic/p-8956f9a8.system.entry.js +4 -0
  840. package/dist/ionic/p-8b0f0a87.entry.js +4 -0
  841. package/dist/ionic/p-8dbfae64.entry.js +4 -0
  842. package/dist/ionic/p-903c544a.js +4 -0
  843. package/dist/ionic/p-916bc9ed.system.entry.js +4 -0
  844. package/dist/ionic/p-92646426.js +4 -0
  845. package/dist/ionic/{p-27281edd.js → p-93e47936.js} +1 -1
  846. package/dist/ionic/{p-a93873de.system.js → p-94816e7a.system.js} +1 -1
  847. package/dist/ionic/p-94fc2104.system.entry.js +4 -0
  848. package/dist/ionic/p-986855d6.js +4 -0
  849. package/dist/ionic/p-9abb7d9b.entry.js +4 -0
  850. package/dist/ionic/p-9ac1a506.system.js +4 -0
  851. package/dist/ionic/{p-d60342e3.js → p-9ed87d1b.js} +1 -1
  852. package/dist/ionic/p-a1cdc742.js +4 -0
  853. package/dist/ionic/p-a2814291.system.js +4 -0
  854. package/dist/ionic/{p-d743e981.js → p-a510e9c0.js} +1 -1
  855. package/dist/ionic/p-a538ab98.js +4 -0
  856. package/dist/ionic/p-a5a9206f.entry.js +4 -0
  857. package/dist/ionic/p-a685da08.system.entry.js +4 -0
  858. package/dist/ionic/p-a98061d0.entry.js +4 -0
  859. package/dist/ionic/p-a9af4103.js +4 -0
  860. package/dist/ionic/p-ac1c2b6a.js +4 -0
  861. package/dist/ionic/p-b18c52cd.entry.js +4 -0
  862. package/dist/ionic/p-b517144d.system.entry.js +4 -0
  863. package/dist/ionic/p-b5dc9a32.system.entry.js +4 -0
  864. package/dist/ionic/p-b80582fe.system.entry.js +4 -0
  865. package/dist/ionic/p-b9d2d554.entry.js +4 -0
  866. package/dist/ionic/p-bbcec459.system.js +4 -0
  867. package/dist/ionic/p-bcdd3eaf.entry.js +4 -0
  868. package/dist/ionic/p-be87ec25.entry.js +4 -0
  869. package/dist/ionic/p-c248c88d.system.js +4 -0
  870. package/dist/ionic/p-c373eebd.system.js +4 -0
  871. package/dist/ionic/p-cdff6a80.system.entry.js +4 -0
  872. package/dist/ionic/p-cea92c46.system.js +4 -0
  873. package/dist/ionic/p-d4862803.entry.js +4 -0
  874. package/dist/ionic/p-d6ed3be1.entry.js +4 -0
  875. package/dist/ionic/{p-19ea7bff.system.js → p-dbd39afd.system.js} +1 -1
  876. package/dist/ionic/p-dc286a59.entry.js +4 -0
  877. package/dist/ionic/p-df09db21.entry.js +4 -0
  878. package/dist/ionic/p-df4b88fc.system.entry.js +4 -0
  879. package/dist/ionic/p-e3b70846.system.js +4 -0
  880. package/dist/ionic/p-ea3ca474.system.js +4 -0
  881. package/dist/ionic/p-eb4ba253.entry.js +4 -0
  882. package/dist/ionic/p-ebd641e4.system.entry.js +4 -0
  883. package/dist/ionic/p-ebe94d15.entry.js +4 -0
  884. package/dist/ionic/p-eda736d7.entry.js +4 -0
  885. package/dist/ionic/p-ee17be82.entry.js +4 -0
  886. package/dist/ionic/p-eee899d5.system.entry.js +4 -0
  887. package/dist/ionic/p-f116fb3f.system.js +4 -0
  888. package/dist/ionic/{p-372ae7f4.system.js → p-f193945e.system.js} +1 -1
  889. package/dist/ionic/p-f1e11e93.entry.js +4 -0
  890. package/dist/ionic/p-f25ad420.system.entry.js +4 -0
  891. package/dist/ionic/p-f44c9c6e.system.entry.js +4 -0
  892. package/dist/ionic/p-f5be97b8.entry.js +4 -0
  893. package/dist/ionic/p-f8123284.entry.js +4 -0
  894. package/dist/ionic/{p-5da94421.system.js → p-f8c63ac0.system.js} +2 -2
  895. package/dist/ionic/p-fad81132.system.entry.js +4 -0
  896. package/dist/ionic/p-fff78cd2.system.entry.js +4 -0
  897. package/dist/types/components/accordion/accordion.d.ts +5 -3
  898. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  899. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  900. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  901. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  902. package/dist/types/components/alert/alert.d.ts +3 -2
  903. package/dist/types/components/app/app.d.ts +4 -2
  904. package/dist/types/components/avatar/avatar.d.ts +28 -0
  905. package/dist/types/components/back-button/back-button.d.ts +2 -1
  906. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  907. package/dist/types/components/badge/badge.d.ts +23 -1
  908. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  909. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  910. package/dist/types/components/button/button.d.ts +15 -4
  911. package/dist/types/components/buttons/buttons.d.ts +5 -1
  912. package/dist/types/components/card/card.d.ts +8 -1
  913. package/dist/types/components/card-content/card-content.d.ts +2 -1
  914. package/dist/types/components/card-header/card-header.d.ts +3 -2
  915. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  916. package/dist/types/components/card-title/card-title.d.ts +2 -1
  917. package/dist/types/components/checkbox/checkbox.d.ts +12 -6
  918. package/dist/types/components/chip/chip.d.ts +19 -1
  919. package/dist/types/components/col/col.d.ts +4 -0
  920. package/dist/types/components/content/content.d.ts +3 -0
  921. package/dist/types/components/datetime/datetime.d.ts +26 -1
  922. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  923. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  924. package/dist/types/components/fab/fab.d.ts +4 -0
  925. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  926. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  927. package/dist/types/components/footer/footer.d.ts +4 -3
  928. package/dist/types/components/grid/grid.d.ts +4 -0
  929. package/dist/types/components/header/header.d.ts +9 -3
  930. package/dist/types/components/img/img.d.ts +3 -0
  931. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  932. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  933. package/dist/types/components/input/input.d.ts +31 -5
  934. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  935. package/dist/types/components/item/item.d.ts +11 -4
  936. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  937. package/dist/types/components/item-group/item-group.d.ts +4 -0
  938. package/dist/types/components/item-option/item-option.d.ts +11 -1
  939. package/dist/types/components/item-options/item-options.d.ts +4 -0
  940. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  941. package/dist/types/components/label/label.d.ts +2 -1
  942. package/dist/types/components/list/list.d.ts +15 -1
  943. package/dist/types/components/list-header/list-header.d.ts +2 -1
  944. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  945. package/dist/types/components/loading/loading.d.ts +3 -2
  946. package/dist/types/components/menu/menu.d.ts +3 -0
  947. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  948. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  949. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  950. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  951. package/dist/types/components/modal/modal.d.ts +11 -1
  952. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  953. package/dist/types/components/nav/nav.d.ts +5 -1
  954. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  955. package/dist/types/components/note/note.d.ts +2 -1
  956. package/dist/types/components/picker/picker.d.ts +2 -1
  957. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  958. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  959. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  960. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  961. package/dist/types/components/popover/popover.d.ts +6 -5
  962. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  963. package/dist/types/components/radio/radio.d.ts +2 -1
  964. package/dist/types/components/radio-group/radio-group.d.ts +4 -4
  965. package/dist/types/components/range/range.d.ts +2 -1
  966. package/dist/types/components/refresher/refresher.d.ts +2 -1
  967. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  968. package/dist/types/components/reorder/reorder.d.ts +9 -0
  969. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  970. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  971. package/dist/types/components/route/route.d.ts +4 -0
  972. package/dist/types/components/router/router.d.ts +4 -0
  973. package/dist/types/components/router-link/router-link.d.ts +4 -0
  974. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  975. package/dist/types/components/row/row.d.ts +4 -0
  976. package/dist/types/components/searchbar/searchbar.d.ts +30 -8
  977. package/dist/types/components/segment/segment.d.ts +2 -1
  978. package/dist/types/components/segment-button/segment-button.d.ts +5 -2
  979. package/dist/types/components/select/select.d.ts +33 -9
  980. package/dist/types/components/select-option/select-option.d.ts +4 -0
  981. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  982. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  983. package/dist/types/components/spinner/spinner.d.ts +15 -0
  984. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  985. package/dist/types/components/tab/tab.d.ts +4 -0
  986. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  987. package/dist/types/components/tab-button/tab-button.d.ts +11 -1
  988. package/dist/types/components/tabs/tabs.d.ts +3 -0
  989. package/dist/types/components/text/text.d.ts +2 -1
  990. package/dist/types/components/textarea/textarea.d.ts +17 -4
  991. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  992. package/dist/types/components/title/title.d.ts +4 -0
  993. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  994. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  995. package/dist/types/components/toast/toast.d.ts +12 -2
  996. package/dist/types/components/toggle/toggle.d.ts +15 -5
  997. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  998. package/dist/types/components.d.ts +1374 -206
  999. package/dist/types/global/ionic-global.d.ts +27 -2
  1000. package/dist/types/interface.d.ts +3 -0
  1001. package/dist/types/utils/config.d.ts +106 -2
  1002. package/dist/types/utils/focus-visible.d.ts +1 -0
  1003. package/dist/types/utils/overlays-interface.d.ts +31 -1
  1004. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1005. package/hydrate/index.js +2460 -939
  1006. package/hydrate/index.mjs +2460 -939
  1007. package/package.json +11 -6
  1008. package/components/hardware-back-button.js +0 -115
  1009. package/components/index8.js +0 -128
  1010. package/dist/cjs/hardware-back-button-9e8a2c4f.js +0 -122
  1011. package/dist/cjs/index-5915f9b3.js +0 -38
  1012. package/dist/cjs/index-c8d52405.js +0 -10
  1013. package/dist/cjs/ionic-global-d9a8bb5b.js +0 -237
  1014. package/dist/esm/hardware-back-button-06ef3c3e.js +0 -116
  1015. package/dist/esm/index-79b30591.js +0 -167
  1016. package/dist/esm/index-9b0d46f4.js +0 -34
  1017. package/dist/esm/index-a5d50daf.js +0 -7
  1018. package/dist/esm/ionic-global-c81d82ab.js +0 -231
  1019. package/dist/esm-es5/animation-eab5a4ca.js +0 -4
  1020. package/dist/esm-es5/app-globals-5dbb61a5.js +0 -4
  1021. package/dist/esm-es5/capacitor-59395cbd.js +0 -4
  1022. package/dist/esm-es5/data-ae11fd43.js +0 -4
  1023. package/dist/esm-es5/focus-visible-dd40d69f.js +0 -4
  1024. package/dist/esm-es5/framework-delegate-63d1a679.js +0 -4
  1025. package/dist/esm-es5/hardware-back-button-06ef3c3e.js +0 -4
  1026. package/dist/esm-es5/helpers-da915de8.js +0 -4
  1027. package/dist/esm-es5/index-24b48b06.js +0 -4
  1028. package/dist/esm-es5/index-3ad7f18b.js +0 -4
  1029. package/dist/esm-es5/index-5cc724f3.js +0 -4
  1030. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  1031. package/dist/esm-es5/index-a5d50daf.js +0 -4
  1032. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  1033. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  1034. package/dist/esm-es5/ionic-global-c81d82ab.js +0 -4
  1035. package/dist/esm-es5/ios.transition-4ee1a3af.js +0 -4
  1036. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +0 -4
  1037. package/dist/esm-es5/md.transition-5106a0d2.js +0 -4
  1038. package/dist/esm-es5/notch-controller-55b09e11.js +0 -4
  1039. package/dist/esm-es5/overlays-e7b9d6d9.js +0 -4
  1040. package/dist/esm-es5/status-tap-f472b09f.js +0 -4
  1041. package/dist/esm-es5/swipe-back-e5394307.js +0 -4
  1042. package/dist/ionic/p-001f0962.entry.js +0 -4
  1043. package/dist/ionic/p-01186920.system.entry.js +0 -4
  1044. package/dist/ionic/p-0303d0f8.js +0 -4
  1045. package/dist/ionic/p-0574e87e.js +0 -4
  1046. package/dist/ionic/p-06e58c4e.js +0 -4
  1047. package/dist/ionic/p-06fee233.js +0 -4
  1048. package/dist/ionic/p-081a4ce4.entry.js +0 -4
  1049. package/dist/ionic/p-0aa833fb.system.js +0 -4
  1050. package/dist/ionic/p-0abaa255.entry.js +0 -4
  1051. package/dist/ionic/p-0c06e09b.system.js +0 -4
  1052. package/dist/ionic/p-1046866e.system.entry.js +0 -4
  1053. package/dist/ionic/p-12a722b8.system.entry.js +0 -4
  1054. package/dist/ionic/p-14be4015.entry.js +0 -4
  1055. package/dist/ionic/p-14e159ea.system.entry.js +0 -4
  1056. package/dist/ionic/p-15e76dd1.entry.js +0 -4
  1057. package/dist/ionic/p-16188af7.entry.js +0 -4
  1058. package/dist/ionic/p-16799667.system.entry.js +0 -4
  1059. package/dist/ionic/p-16bfb979.system.entry.js +0 -4
  1060. package/dist/ionic/p-17474161.system.js +0 -4
  1061. package/dist/ionic/p-19a5be0a.entry.js +0 -4
  1062. package/dist/ionic/p-19ec4f42.entry.js +0 -4
  1063. package/dist/ionic/p-1dfc11b3.system.js +0 -4
  1064. package/dist/ionic/p-1e010627.system.entry.js +0 -4
  1065. package/dist/ionic/p-1e4371bd.js +0 -4
  1066. package/dist/ionic/p-1e67b266.system.entry.js +0 -4
  1067. package/dist/ionic/p-1fe02220.system.entry.js +0 -4
  1068. package/dist/ionic/p-2172893e.system.entry.js +0 -4
  1069. package/dist/ionic/p-21e5e7e4.js +0 -4
  1070. package/dist/ionic/p-2507278c.system.entry.js +0 -4
  1071. package/dist/ionic/p-2690b1de.js +0 -4
  1072. package/dist/ionic/p-2799c6d3.system.entry.js +0 -4
  1073. package/dist/ionic/p-29a5d6ed.system.entry.js +0 -4
  1074. package/dist/ionic/p-2abae1cc.system.entry.js +0 -4
  1075. package/dist/ionic/p-2b7827c7.js +0 -4
  1076. package/dist/ionic/p-2b838f86.system.entry.js +0 -4
  1077. package/dist/ionic/p-2bd0ae94.system.entry.js +0 -4
  1078. package/dist/ionic/p-2e46590d.system.entry.js +0 -4
  1079. package/dist/ionic/p-2fc0dafe.entry.js +0 -4
  1080. package/dist/ionic/p-322c5fb4.system.js +0 -4
  1081. package/dist/ionic/p-32d44024.system.entry.js +0 -4
  1082. package/dist/ionic/p-33a8a71b.entry.js +0 -4
  1083. package/dist/ionic/p-37cb43bd.system.entry.js +0 -4
  1084. package/dist/ionic/p-3ad285e3.system.js +0 -4
  1085. package/dist/ionic/p-3cc276f4.js +0 -4
  1086. package/dist/ionic/p-424eb140.system.entry.js +0 -4
  1087. package/dist/ionic/p-4439fc2a.entry.js +0 -4
  1088. package/dist/ionic/p-45693d7e.entry.js +0 -4
  1089. package/dist/ionic/p-49a0e74c.entry.js +0 -4
  1090. package/dist/ionic/p-4c2d5b80.system.js +0 -4
  1091. package/dist/ionic/p-4ec778aa.entry.js +0 -4
  1092. package/dist/ionic/p-508d024a.entry.js +0 -4
  1093. package/dist/ionic/p-52d7a191.entry.js +0 -4
  1094. package/dist/ionic/p-567de071.system.entry.js +0 -4
  1095. package/dist/ionic/p-5823babc.system.entry.js +0 -4
  1096. package/dist/ionic/p-58dc63cc.system.entry.js +0 -4
  1097. package/dist/ionic/p-5b932840.entry.js +0 -4
  1098. package/dist/ionic/p-5fce0c0b.system.entry.js +0 -4
  1099. package/dist/ionic/p-61e3f887.entry.js +0 -4
  1100. package/dist/ionic/p-62af944c.entry.js +0 -4
  1101. package/dist/ionic/p-63b0abde.system.entry.js +0 -4
  1102. package/dist/ionic/p-6499df44.system.entry.js +0 -4
  1103. package/dist/ionic/p-66640ff7.system.entry.js +0 -4
  1104. package/dist/ionic/p-677f0eb7.system.entry.js +0 -4
  1105. package/dist/ionic/p-69066a53.js +0 -4
  1106. package/dist/ionic/p-6b280620.entry.js +0 -4
  1107. package/dist/ionic/p-6d32975a.entry.js +0 -4
  1108. package/dist/ionic/p-72812e99.js +0 -4
  1109. package/dist/ionic/p-72bc8a1c.js +0 -4
  1110. package/dist/ionic/p-73dc4950.entry.js +0 -4
  1111. package/dist/ionic/p-7458862e.system.entry.js +0 -4
  1112. package/dist/ionic/p-792919fd.system.js +0 -4
  1113. package/dist/ionic/p-797eeea8.system.entry.js +0 -4
  1114. package/dist/ionic/p-7b30edcc.js +0 -4
  1115. package/dist/ionic/p-7b9a2b23.entry.js +0 -4
  1116. package/dist/ionic/p-7ed1657c.system.entry.js +0 -4
  1117. package/dist/ionic/p-8635f5e6.system.js +0 -4
  1118. package/dist/ionic/p-88e63c7d.js +0 -4
  1119. package/dist/ionic/p-8b8be2fd.entry.js +0 -4
  1120. package/dist/ionic/p-91545b88.entry.js +0 -4
  1121. package/dist/ionic/p-937a7e21.entry.js +0 -4
  1122. package/dist/ionic/p-942b5e13.entry.js +0 -4
  1123. package/dist/ionic/p-95775830.entry.js +0 -4
  1124. package/dist/ionic/p-96cc4814.js +0 -4
  1125. package/dist/ionic/p-982315a6.entry.js +0 -4
  1126. package/dist/ionic/p-98231c01.system.entry.js +0 -4
  1127. package/dist/ionic/p-985a7e17.system.entry.js +0 -4
  1128. package/dist/ionic/p-98ff6b32.entry.js +0 -4
  1129. package/dist/ionic/p-9df2c6fb.entry.js +0 -4
  1130. package/dist/ionic/p-9e33104d.entry.js +0 -4
  1131. package/dist/ionic/p-9ee1e8a6.entry.js +0 -4
  1132. package/dist/ionic/p-9f3008d4.system.js +0 -4
  1133. package/dist/ionic/p-9fa07aec.entry.js +0 -4
  1134. package/dist/ionic/p-a15ddedb.system.js +0 -4
  1135. package/dist/ionic/p-a43467d8.entry.js +0 -4
  1136. package/dist/ionic/p-a4565eb5.system.js +0 -4
  1137. package/dist/ionic/p-a49378bb.system.entry.js +0 -4
  1138. package/dist/ionic/p-a61cba41.entry.js +0 -4
  1139. package/dist/ionic/p-a69b9fc5.system.js +0 -4
  1140. package/dist/ionic/p-abe101da.system.js +0 -4
  1141. package/dist/ionic/p-afecb188.entry.js +0 -4
  1142. package/dist/ionic/p-b25a40f6.system.entry.js +0 -4
  1143. package/dist/ionic/p-b335ffed.system.entry.js +0 -4
  1144. package/dist/ionic/p-b51e4004.js +0 -4
  1145. package/dist/ionic/p-b79ba17c.entry.js +0 -4
  1146. package/dist/ionic/p-b82d4cab.js +0 -4
  1147. package/dist/ionic/p-b9d7015f.entry.js +0 -4
  1148. package/dist/ionic/p-bb0db172.entry.js +0 -4
  1149. package/dist/ionic/p-bb5d8e9e.entry.js +0 -4
  1150. package/dist/ionic/p-bc36ad98.system.entry.js +0 -4
  1151. package/dist/ionic/p-bdad26e3.entry.js +0 -4
  1152. package/dist/ionic/p-c29f8157.system.entry.js +0 -4
  1153. package/dist/ionic/p-c41ac815.entry.js +0 -4
  1154. package/dist/ionic/p-c449820c.system.js +0 -4
  1155. package/dist/ionic/p-c468af8a.system.js +0 -4
  1156. package/dist/ionic/p-c4b53b16.system.entry.js +0 -4
  1157. package/dist/ionic/p-c61cc894.js +0 -4
  1158. package/dist/ionic/p-c9f3a539.entry.js +0 -4
  1159. package/dist/ionic/p-ca065903.system.entry.js +0 -4
  1160. package/dist/ionic/p-cac0e0b3.system.entry.js +0 -4
  1161. package/dist/ionic/p-cdc83025.entry.js +0 -4
  1162. package/dist/ionic/p-d18ab582.system.entry.js +0 -4
  1163. package/dist/ionic/p-d47265c8.js +0 -4
  1164. package/dist/ionic/p-d6841eac.js +0 -4
  1165. package/dist/ionic/p-d7aa6b00.entry.js +0 -4
  1166. package/dist/ionic/p-da074ff7.entry.js +0 -4
  1167. package/dist/ionic/p-ddaa748a.system.entry.js +0 -4
  1168. package/dist/ionic/p-de930745.entry.js +0 -4
  1169. package/dist/ionic/p-dfb78785.system.js +0 -4
  1170. package/dist/ionic/p-e4ee80be.system.entry.js +0 -4
  1171. package/dist/ionic/p-e4f69534.system.entry.js +0 -4
  1172. package/dist/ionic/p-e563a35c.entry.js +0 -4
  1173. package/dist/ionic/p-e6635685.js +0 -4
  1174. package/dist/ionic/p-e7ed4a7f.system.js +0 -4
  1175. package/dist/ionic/p-e85d901b.system.entry.js +0 -4
  1176. package/dist/ionic/p-eba29931.entry.js +0 -4
  1177. package/dist/ionic/p-ecceeb90.js +0 -4
  1178. package/dist/ionic/p-ed75fcfb.system.entry.js +0 -4
  1179. package/dist/ionic/p-efaffe74.entry.js +0 -4
  1180. package/dist/ionic/p-f1acf541.system.entry.js +0 -4
  1181. package/dist/ionic/p-f3102647.system.entry.js +0 -4
  1182. package/dist/ionic/p-fca6ef5f.system.entry.js +0 -4
  1183. package/dist/ionic/p-ff4b7e40.system.js +0 -4
  1184. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -86,17 +86,21 @@ export namespace Components {
86
86
  */
87
87
  "disabled": boolean;
88
88
  /**
89
- * The mode determines which platform styles to use.
89
+ * The mode determines the platform behaviors of the component.
90
90
  */
91
91
  "mode"?: "ios" | "md";
92
92
  /**
93
93
  * If `true`, the accordion cannot be interacted with, but does not alter the opacity.
94
94
  */
95
95
  "readonly": boolean;
96
+ /**
97
+ * The theme determines the visual appearance of the component.
98
+ */
99
+ "theme"?: "ios" | "md" | "ionic";
96
100
  /**
97
101
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
98
102
  */
99
- "toggleIcon": string;
103
+ "toggleIcon"?: string;
100
104
  /**
101
105
  * The slot inside of `ion-item` to place the toggle icon. Defaults to `"end"`.
102
106
  */
@@ -121,7 +125,7 @@ export namespace Components {
121
125
  "expand": 'compact' | 'inset';
122
126
  "getAccordions": () => Promise<HTMLIonAccordionElement[]>;
123
127
  /**
124
- * The mode determines which platform styles to use.
128
+ * The mode determines the platform behaviors of the component.
125
129
  */
126
130
  "mode"?: "ios" | "md";
127
131
  /**
@@ -136,6 +140,14 @@ export namespace Components {
136
140
  * 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.
137
141
  */
138
142
  "requestAccordionToggle": (accordionValue: string | undefined, accordionExpand: boolean) => Promise<void>;
143
+ /**
144
+ * Set to `"soft"` for an accordion group with slightly rounded corners, `"round"` for an accordion group with fully rounded corners, or `"rectangular"` for an accordion group without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes. Only applies when `expand` is set to `"inset"`.
145
+ */
146
+ "shape"?: 'soft' | 'round' | 'rectangular';
147
+ /**
148
+ * The theme determines the visual appearance of the component.
149
+ */
150
+ "theme"?: "ios" | "md" | "ionic";
139
151
  /**
140
152
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
141
153
  */
@@ -191,7 +203,7 @@ export namespace Components {
191
203
  */
192
204
  "leaveAnimation"?: AnimationBuilder;
193
205
  /**
194
- * The mode determines which platform styles to use.
206
+ * The mode determines the platform behaviors of the component.
195
207
  */
196
208
  "mode"?: "ios" | "md";
197
209
  /**
@@ -212,7 +224,11 @@ export namespace Components {
212
224
  */
213
225
  "subHeader"?: string;
214
226
  /**
215
- * 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).
227
+ * The theme determines the visual appearance of the component.
228
+ */
229
+ "theme"?: "ios" | "md" | "ionic";
230
+ /**
231
+ * 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).
216
232
  */
217
233
  "translucent": boolean;
218
234
  /**
@@ -278,7 +294,7 @@ export namespace Components {
278
294
  */
279
295
  "message"?: string | IonicSafeString;
280
296
  /**
281
- * The mode determines which platform styles to use.
297
+ * The mode determines the platform behaviors of the component.
282
298
  */
283
299
  "mode"?: "ios" | "md";
284
300
  /**
@@ -299,7 +315,11 @@ export namespace Components {
299
315
  */
300
316
  "subHeader"?: string;
301
317
  /**
302
- * 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).
318
+ * The theme determines the visual appearance of the component.
319
+ */
320
+ "theme"?: "ios" | "md" | "ionic";
321
+ /**
322
+ * 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).
303
323
  */
304
324
  "translucent": boolean;
305
325
  /**
@@ -308,12 +328,36 @@ export namespace Components {
308
328
  "trigger": string | undefined;
309
329
  }
310
330
  interface IonApp {
331
+ /**
332
+ * The mode determines the platform behaviors of the component.
333
+ */
334
+ "mode"?: "ios" | "md";
311
335
  /**
312
336
  * Used to set focus on an element that uses `ion-focusable`. Do not use this if focusing the element as a result of a keyboard event as the focus utility should handle this for us. This method should be used when we want to programmatically focus an element as a result of another user action. (Ex: We focus the first element inside of a popover when the user presents it, but the popover is not always presented as a result of keyboard action.)
313
337
  */
314
338
  "setFocus": (elements: HTMLElement[]) => Promise<void>;
339
+ /**
340
+ * The theme determines the visual appearance of the component.
341
+ */
342
+ "theme"?: "ios" | "md" | "ionic";
315
343
  }
316
344
  interface IonAvatar {
345
+ /**
346
+ * The mode determines the platform behaviors of the component.
347
+ */
348
+ "mode"?: "ios" | "md";
349
+ /**
350
+ * 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.
351
+ */
352
+ "shape"?: 'soft' | 'round' | 'rectangular';
353
+ /**
354
+ * 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.
355
+ */
356
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
357
+ /**
358
+ * The theme determines the visual appearance of the component.
359
+ */
360
+ "theme"?: "ios" | "md" | "ionic";
317
361
  }
318
362
  interface IonBackButton {
319
363
  /**
@@ -333,7 +377,7 @@ export namespace Components {
333
377
  */
334
378
  "icon"?: string | null;
335
379
  /**
336
- * The mode determines which platform styles to use.
380
+ * The mode determines the platform behaviors of the component.
337
381
  */
338
382
  "mode"?: "ios" | "md";
339
383
  /**
@@ -344,12 +388,20 @@ export namespace Components {
344
388
  * The text to display in the back button.
345
389
  */
346
390
  "text"?: string | null;
391
+ /**
392
+ * The theme determines the visual appearance of the component.
393
+ */
394
+ "theme"?: "ios" | "md" | "ionic";
347
395
  /**
348
396
  * The type of the button.
349
397
  */
350
398
  "type": 'submit' | 'reset' | 'button';
351
399
  }
352
400
  interface IonBackdrop {
401
+ /**
402
+ * The mode determines the platform behaviors of the component.
403
+ */
404
+ "mode"?: "ios" | "md";
353
405
  /**
354
406
  * If `true`, the backdrop will stop propagation on tap.
355
407
  */
@@ -358,6 +410,10 @@ export namespace Components {
358
410
  * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
359
411
  */
360
412
  "tappable": boolean;
413
+ /**
414
+ * The theme determines the visual appearance of the component.
415
+ */
416
+ "theme"?: "ios" | "md" | "ionic";
361
417
  /**
362
418
  * If `true`, the backdrop will be visible.
363
419
  */
@@ -369,9 +425,21 @@ export namespace Components {
369
425
  */
370
426
  "color"?: Color;
371
427
  /**
372
- * The mode determines which platform styles to use.
428
+ * The mode determines the platform behaviors of the component.
373
429
  */
374
430
  "mode"?: "ios" | "md";
431
+ /**
432
+ * 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.
433
+ */
434
+ "shape"?: 'soft' | 'round | rectangular';
435
+ /**
436
+ * 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.
437
+ */
438
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
439
+ /**
440
+ * The theme determines the visual appearance of the component.
441
+ */
442
+ "theme"?: "ios" | "md" | "ionic";
375
443
  }
376
444
  interface IonBreadcrumb {
377
445
  /**
@@ -397,7 +465,7 @@ export namespace Components {
397
465
  "href": string | undefined;
398
466
  "last": boolean;
399
467
  /**
400
- * The mode determines which platform styles to use.
468
+ * The mode determines the platform behaviors of the component.
401
469
  */
402
470
  "mode"?: "ios" | "md";
403
471
  /**
@@ -421,6 +489,10 @@ export namespace Components {
421
489
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
422
490
  */
423
491
  "target": string | undefined;
492
+ /**
493
+ * The theme determines the visual appearance of the component.
494
+ */
495
+ "theme"?: "ios" | "md" | "ionic";
424
496
  }
425
497
  interface IonBreadcrumbs {
426
498
  /**
@@ -440,9 +512,13 @@ export namespace Components {
440
512
  */
441
513
  "maxItems"?: number;
442
514
  /**
443
- * The mode determines which platform styles to use.
515
+ * The mode determines the platform behaviors of the component.
444
516
  */
445
517
  "mode"?: "ios" | "md";
518
+ /**
519
+ * The theme determines the visual appearance of the component.
520
+ */
521
+ "theme"?: "ios" | "md" | "ionic";
446
522
  }
447
523
  interface IonButton {
448
524
  /**
@@ -478,7 +554,7 @@ export namespace Components {
478
554
  */
479
555
  "href": string | undefined;
480
556
  /**
481
- * The mode determines which platform styles to use.
557
+ * The mode determines the platform behaviors of the component.
482
558
  */
483
559
  "mode"?: "ios" | "md";
484
560
  /**
@@ -494,13 +570,13 @@ export namespace Components {
494
570
  */
495
571
  "routerDirection": RouterDirection;
496
572
  /**
497
- * Set to `"round"` for a button with more rounded corners.
573
+ * 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.
498
574
  */
499
- "shape"?: 'round';
575
+ "shape"?: 'soft' | 'round' | 'rectangular';
500
576
  /**
501
577
  * 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.
502
578
  */
503
- "size"?: 'small' | 'default' | 'large';
579
+ "size"?: 'xsmall' | 'small' | 'default' | 'large' | 'xlarge';
504
580
  /**
505
581
  * If `true`, activates a button with a heavier font weight.
506
582
  */
@@ -509,6 +585,10 @@ export namespace Components {
509
585
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
510
586
  */
511
587
  "target": string | undefined;
588
+ /**
589
+ * The theme determines the visual appearance of the component.
590
+ */
591
+ "theme"?: "ios" | "md" | "ionic";
512
592
  /**
513
593
  * The type of the button.
514
594
  */
@@ -516,9 +596,17 @@ export namespace Components {
516
596
  }
517
597
  interface IonButtons {
518
598
  /**
519
- * 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)
599
+ * 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)
520
600
  */
521
601
  "collapse": boolean;
602
+ /**
603
+ * The mode determines the platform behaviors of the component.
604
+ */
605
+ "mode"?: "ios" | "md";
606
+ /**
607
+ * The theme determines the visual appearance of the component.
608
+ */
609
+ "theme"?: "ios" | "md" | "ionic";
522
610
  }
523
611
  interface IonCard {
524
612
  /**
@@ -542,7 +630,7 @@ export namespace Components {
542
630
  */
543
631
  "href": string | undefined;
544
632
  /**
545
- * The mode determines which platform styles to use.
633
+ * The mode determines the platform behaviors of the component.
546
634
  */
547
635
  "mode"?: "ios" | "md";
548
636
  /**
@@ -557,10 +645,18 @@ export namespace Components {
557
645
  * When using a router, it specifies the transition direction when navigating to another page using `href`.
558
646
  */
559
647
  "routerDirection": RouterDirection;
648
+ /**
649
+ * 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"`.
650
+ */
651
+ "shape"?: 'soft' | 'round' | 'rectangular';
560
652
  /**
561
653
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
562
654
  */
563
655
  "target": string | undefined;
656
+ /**
657
+ * The theme determines the visual appearance of the component.
658
+ */
659
+ "theme"?: "ios" | "md" | "ionic";
564
660
  /**
565
661
  * The type of the button. Only used when an `onclick` or `button` property is present.
566
662
  */
@@ -568,9 +664,13 @@ export namespace Components {
568
664
  }
569
665
  interface IonCardContent {
570
666
  /**
571
- * The mode determines which platform styles to use.
667
+ * The mode determines the platform behaviors of the component.
572
668
  */
573
669
  "mode"?: "ios" | "md";
670
+ /**
671
+ * The theme determines the visual appearance of the component.
672
+ */
673
+ "theme"?: "ios" | "md" | "ionic";
574
674
  }
575
675
  interface IonCardHeader {
576
676
  /**
@@ -578,11 +678,15 @@ export namespace Components {
578
678
  */
579
679
  "color"?: Color;
580
680
  /**
581
- * The mode determines which platform styles to use.
681
+ * The mode determines the platform behaviors of the component.
582
682
  */
583
683
  "mode"?: "ios" | "md";
584
684
  /**
585
- * 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).
685
+ * The theme determines the visual appearance of the component.
686
+ */
687
+ "theme"?: "ios" | "md" | "ionic";
688
+ /**
689
+ * 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).
586
690
  */
587
691
  "translucent": boolean;
588
692
  }
@@ -592,9 +696,13 @@ export namespace Components {
592
696
  */
593
697
  "color"?: Color;
594
698
  /**
595
- * The mode determines which platform styles to use.
699
+ * The mode determines the platform behaviors of the component.
596
700
  */
597
701
  "mode"?: "ios" | "md";
702
+ /**
703
+ * The theme determines the visual appearance of the component.
704
+ */
705
+ "theme"?: "ios" | "md" | "ionic";
598
706
  }
599
707
  interface IonCardTitle {
600
708
  /**
@@ -602,9 +710,13 @@ export namespace Components {
602
710
  */
603
711
  "color"?: Color;
604
712
  /**
605
- * The mode determines which platform styles to use.
713
+ * The mode determines the platform behaviors of the component.
606
714
  */
607
715
  "mode"?: "ios" | "md";
716
+ /**
717
+ * The theme determines the visual appearance of the component.
718
+ */
719
+ "theme"?: "ios" | "md" | "ionic";
608
720
  }
609
721
  interface IonCheckbox {
610
722
  /**
@@ -636,18 +748,26 @@ export namespace Components {
636
748
  */
637
749
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
638
750
  /**
639
- * The mode determines which platform styles to use.
751
+ * The mode determines the platform behaviors of the component.
640
752
  */
641
753
  "mode"?: "ios" | "md";
642
754
  /**
643
755
  * The name of the control, which is submitted with the form data.
644
756
  */
645
757
  "name": string;
758
+ "setFocus": () => Promise<void>;
646
759
  /**
647
- * If `true`, the user must fill in a value before submitting a form.
760
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
648
761
  */
649
- "required": boolean;
650
- "setFocus": () => Promise<void>;
762
+ "shape"?: 'soft' | 'rectangular';
763
+ /**
764
+ * Set to `"small"` for a checkbox with less height and padding.
765
+ */
766
+ "size"?: 'small';
767
+ /**
768
+ * The theme determines the visual appearance of the component.
769
+ */
770
+ "theme"?: "ios" | "md" | "ionic";
651
771
  /**
652
772
  * 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>`.
653
773
  */
@@ -663,15 +783,31 @@ export namespace Components {
663
783
  */
664
784
  "disabled": boolean;
665
785
  /**
666
- * The mode determines which platform styles to use.
786
+ * The mode determines the platform behaviors of the component.
667
787
  */
668
788
  "mode"?: "ios" | "md";
669
789
  /**
670
790
  * Display an outline style button.
671
791
  */
672
792
  "outline": boolean;
793
+ /**
794
+ * 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.
795
+ */
796
+ "shape"?: 'soft' | 'round' | 'rectangular';
797
+ /**
798
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
799
+ */
800
+ "size"?: 'small' | 'large';
801
+ /**
802
+ * The theme determines the visual appearance of the component.
803
+ */
804
+ "theme"?: "ios" | "md" | "ionic";
673
805
  }
674
806
  interface IonCol {
807
+ /**
808
+ * The mode determines the platform behaviors of the component.
809
+ */
810
+ "mode"?: "ios" | "md";
675
811
  /**
676
812
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
677
813
  */
@@ -768,6 +904,10 @@ export namespace Components {
768
904
  * 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.
769
905
  */
770
906
  "sizeXs"?: string;
907
+ /**
908
+ * The theme determines the visual appearance of the component.
909
+ */
910
+ "theme"?: "ios" | "md" | "ionic";
771
911
  }
772
912
  interface IonContent {
773
913
  /**
@@ -794,6 +934,10 @@ export namespace Components {
794
934
  * 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.
795
935
  */
796
936
  "getScrollElement": () => Promise<HTMLElement>;
937
+ /**
938
+ * The mode determines the platform behaviors of the component.
939
+ */
940
+ "mode"?: "ios" | "md";
797
941
  /**
798
942
  * Scroll by a specified X/Y distance in the component.
799
943
  * @param x The amount to scroll by on the horizontal axis.
@@ -830,6 +974,10 @@ export namespace Components {
830
974
  * If you want to disable the content scrolling in the Y axis, set this property to `false`.
831
975
  */
832
976
  "scrollY": boolean;
977
+ /**
978
+ * The theme determines the visual appearance of the component.
979
+ */
980
+ "theme"?: "ios" | "md" | "ionic";
833
981
  }
834
982
  interface IonDatetime {
835
983
  /**
@@ -905,7 +1053,7 @@ export namespace Components {
905
1053
  */
906
1054
  "minuteValues"?: number[] | number | string;
907
1055
  /**
908
- * The mode determines which platform styles to use.
1056
+ * The mode determines the platform behaviors of the component.
909
1057
  */
910
1058
  "mode"?: "ios" | "md";
911
1059
  /**
@@ -956,6 +1104,10 @@ export namespace Components {
956
1104
  * 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.
957
1105
  */
958
1106
  "size": 'cover' | 'fixed';
1107
+ /**
1108
+ * The theme determines the visual appearance of the component.
1109
+ */
1110
+ "theme"?: "ios" | "md" | "ionic";
959
1111
  /**
960
1112
  * 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.
961
1113
  */
@@ -983,9 +1135,13 @@ export namespace Components {
983
1135
  */
984
1136
  "disabled": boolean;
985
1137
  /**
986
- * The mode determines which platform styles to use.
1138
+ * The mode determines the platform behaviors of the component.
987
1139
  */
988
1140
  "mode"?: "ios" | "md";
1141
+ /**
1142
+ * The theme determines the visual appearance of the component.
1143
+ */
1144
+ "theme"?: "ios" | "md" | "ionic";
989
1145
  }
990
1146
  interface IonFab {
991
1147
  /**
@@ -1004,6 +1160,14 @@ export namespace Components {
1004
1160
  * Where to align the fab horizontally in the viewport.
1005
1161
  */
1006
1162
  "horizontal"?: 'start' | 'end' | 'center';
1163
+ /**
1164
+ * The mode determines the platform behaviors of the component.
1165
+ */
1166
+ "mode"?: "ios" | "md";
1167
+ /**
1168
+ * The theme determines the visual appearance of the component.
1169
+ */
1170
+ "theme"?: "ios" | "md" | "ionic";
1007
1171
  /**
1008
1172
  * Opens/Closes the FAB list container.
1009
1173
  */
@@ -1021,7 +1185,7 @@ export namespace Components {
1021
1185
  /**
1022
1186
  * 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.
1023
1187
  */
1024
- "closeIcon": string;
1188
+ "closeIcon"?: string;
1025
1189
  /**
1026
1190
  * 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).
1027
1191
  */
@@ -1039,7 +1203,7 @@ export namespace Components {
1039
1203
  */
1040
1204
  "href": string | undefined;
1041
1205
  /**
1042
- * The mode determines which platform styles to use.
1206
+ * The mode determines the platform behaviors of the component.
1043
1207
  */
1044
1208
  "mode"?: "ios" | "md";
1045
1209
  /**
@@ -1067,7 +1231,11 @@ export namespace Components {
1067
1231
  */
1068
1232
  "target": string | undefined;
1069
1233
  /**
1070
- * 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).
1234
+ * The theme determines the visual appearance of the component.
1235
+ */
1236
+ "theme"?: "ios" | "md" | "ionic";
1237
+ /**
1238
+ * 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).
1071
1239
  */
1072
1240
  "translucent": boolean;
1073
1241
  /**
@@ -1080,22 +1248,34 @@ export namespace Components {
1080
1248
  * If `true`, the fab list will show all fab buttons in the list.
1081
1249
  */
1082
1250
  "activated": boolean;
1251
+ /**
1252
+ * The mode determines the platform behaviors of the component.
1253
+ */
1254
+ "mode"?: "ios" | "md";
1083
1255
  /**
1084
1256
  * The side the fab list will show on relative to the main fab button.
1085
1257
  */
1086
1258
  "side": 'start' | 'end' | 'top' | 'bottom';
1259
+ /**
1260
+ * The theme determines the visual appearance of the component.
1261
+ */
1262
+ "theme"?: "ios" | "md" | "ionic";
1087
1263
  }
1088
1264
  interface IonFooter {
1089
1265
  /**
1090
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
1266
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
1091
1267
  */
1092
1268
  "collapse"?: 'fade';
1093
1269
  /**
1094
- * The mode determines which platform styles to use.
1270
+ * The mode determines the platform behaviors of the component.
1095
1271
  */
1096
1272
  "mode"?: "ios" | "md";
1097
1273
  /**
1098
- * 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.
1274
+ * The theme determines the visual appearance of the component.
1275
+ */
1276
+ "theme"?: "ios" | "md" | "ionic";
1277
+ /**
1278
+ * 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.
1099
1279
  */
1100
1280
  "translucent": boolean;
1101
1281
  }
@@ -1104,18 +1284,34 @@ export namespace Components {
1104
1284
  * If `true`, the grid will have a fixed width based on the screen size.
1105
1285
  */
1106
1286
  "fixed": boolean;
1287
+ /**
1288
+ * The mode determines the platform behaviors of the component.
1289
+ */
1290
+ "mode"?: "ios" | "md";
1291
+ /**
1292
+ * The theme determines the visual appearance of the component.
1293
+ */
1294
+ "theme"?: "ios" | "md" | "ionic";
1107
1295
  }
1108
1296
  interface IonHeader {
1109
1297
  /**
1110
- * 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)
1298
+ * 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)
1111
1299
  */
1112
1300
  "collapse"?: 'condense' | 'fade';
1113
1301
  /**
1114
- * The mode determines which platform styles to use.
1302
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
1303
+ */
1304
+ "divider": boolean;
1305
+ /**
1306
+ * The mode determines the platform behaviors of the component.
1115
1307
  */
1116
1308
  "mode"?: "ios" | "md";
1117
1309
  /**
1118
- * 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.
1310
+ * The theme determines the visual appearance of the component.
1311
+ */
1312
+ "theme"?: "ios" | "md" | "ionic";
1313
+ /**
1314
+ * 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.
1119
1315
  */
1120
1316
  "translucent": boolean;
1121
1317
  }
@@ -1124,10 +1320,18 @@ export namespace Components {
1124
1320
  * 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.
1125
1321
  */
1126
1322
  "alt"?: string;
1323
+ /**
1324
+ * The mode determines the platform behaviors of the component.
1325
+ */
1326
+ "mode"?: "ios" | "md";
1127
1327
  /**
1128
1328
  * The image URL. This attribute is mandatory for the `<img>` element.
1129
1329
  */
1130
1330
  "src"?: string;
1331
+ /**
1332
+ * The theme determines the visual appearance of the component.
1333
+ */
1334
+ "theme"?: "ios" | "md" | "ionic";
1131
1335
  }
1132
1336
  interface IonInfiniteScroll {
1133
1337
  /**
@@ -1138,10 +1342,18 @@ export namespace Components {
1138
1342
  * 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.
1139
1343
  */
1140
1344
  "disabled": boolean;
1345
+ /**
1346
+ * The mode determines the platform behaviors of the component.
1347
+ */
1348
+ "mode"?: "ios" | "md";
1141
1349
  /**
1142
1350
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
1143
1351
  */
1144
1352
  "position": 'top' | 'bottom';
1353
+ /**
1354
+ * The theme determines the visual appearance of the component.
1355
+ */
1356
+ "theme"?: "ios" | "md" | "ionic";
1145
1357
  /**
1146
1358
  * 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.
1147
1359
  */
@@ -1156,6 +1368,14 @@ export namespace Components {
1156
1368
  * 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.
1157
1369
  */
1158
1370
  "loadingText"?: string | IonicSafeString;
1371
+ /**
1372
+ * The mode determines the platform behaviors of the component.
1373
+ */
1374
+ "mode"?: "ios" | "md";
1375
+ /**
1376
+ * The theme determines the visual appearance of the component.
1377
+ */
1378
+ "theme"?: "ios" | "md" | "ionic";
1159
1379
  }
1160
1380
  interface IonInput {
1161
1381
  /**
@@ -1215,7 +1435,7 @@ export namespace Components {
1215
1435
  */
1216
1436
  "errorText"?: string;
1217
1437
  /**
1218
- * 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.
1438
+ * 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"`.
1219
1439
  */
1220
1440
  "fill"?: 'outline' | 'solid';
1221
1441
  /**
@@ -1235,9 +1455,9 @@ export namespace Components {
1235
1455
  */
1236
1456
  "label"?: string;
1237
1457
  /**
1238
- * 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 ("...").
1458
+ * 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.
1239
1459
  */
1240
- "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1460
+ "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1241
1461
  /**
1242
1462
  * The maximum value, which must not be less than its minimum (min attribute) value.
1243
1463
  */
@@ -1255,7 +1475,7 @@ export namespace Components {
1255
1475
  */
1256
1476
  "minlength"?: number;
1257
1477
  /**
1258
- * The mode determines which platform styles to use.
1478
+ * The mode determines the platform behaviors of the component.
1259
1479
  */
1260
1480
  "mode"?: "ios" | "md";
1261
1481
  /**
@@ -1287,9 +1507,13 @@ export namespace Components {
1287
1507
  */
1288
1508
  "setFocus": () => Promise<void>;
1289
1509
  /**
1290
- * The shape of the input. If "round" it will have an increased border radius.
1510
+ * 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"`.
1511
+ */
1512
+ "shape"?: 'soft' | 'round' | 'rectangular';
1513
+ /**
1514
+ * 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.
1291
1515
  */
1292
- "shape"?: 'round';
1516
+ "size"?: 'medium' | 'large' | 'xlarge';
1293
1517
  /**
1294
1518
  * If `true`, the element will have its spelling and grammar checked.
1295
1519
  */
@@ -1298,6 +1522,10 @@ export namespace Components {
1298
1522
  * 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.
1299
1523
  */
1300
1524
  "step"?: string;
1525
+ /**
1526
+ * The theme determines the visual appearance of the component.
1527
+ */
1528
+ "theme"?: "ios" | "md" | "ionic";
1301
1529
  /**
1302
1530
  * The type of control to display. The default type is text.
1303
1531
  */
@@ -1336,13 +1564,13 @@ export namespace Components {
1336
1564
  */
1337
1565
  "color"?: Color;
1338
1566
  /**
1339
- * 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.
1567
+ * 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.
1340
1568
  */
1341
1569
  "detail"?: boolean;
1342
1570
  /**
1343
1571
  * The icon to use when `detail` is set to `true`.
1344
1572
  */
1345
- "detailIcon": string;
1573
+ "detailIcon"?: string;
1346
1574
  /**
1347
1575
  * If `true`, the user cannot interact with the item.
1348
1576
  */
@@ -1360,7 +1588,7 @@ export namespace Components {
1360
1588
  */
1361
1589
  "lines"?: 'full' | 'inset' | 'none';
1362
1590
  /**
1363
- * The mode determines which platform styles to use.
1591
+ * The mode determines the platform behaviors of the component.
1364
1592
  */
1365
1593
  "mode"?: "ios" | "md";
1366
1594
  /**
@@ -1379,6 +1607,10 @@ export namespace Components {
1379
1607
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1380
1608
  */
1381
1609
  "target": string | undefined;
1610
+ /**
1611
+ * The theme determines the visual appearance of the component.
1612
+ */
1613
+ "theme"?: "ios" | "md" | "ionic";
1382
1614
  /**
1383
1615
  * The type of the button. Only used when an `onclick` or `button` property is present.
1384
1616
  */
@@ -1390,15 +1622,27 @@ export namespace Components {
1390
1622
  */
1391
1623
  "color"?: Color;
1392
1624
  /**
1393
- * The mode determines which platform styles to use.
1625
+ * The mode determines the platform behaviors of the component.
1394
1626
  */
1395
1627
  "mode"?: "ios" | "md";
1396
1628
  /**
1397
1629
  * 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
1398
1630
  */
1399
1631
  "sticky": boolean;
1632
+ /**
1633
+ * The theme determines the visual appearance of the component.
1634
+ */
1635
+ "theme"?: "ios" | "md" | "ionic";
1400
1636
  }
1401
1637
  interface IonItemGroup {
1638
+ /**
1639
+ * The mode determines the platform behaviors of the component.
1640
+ */
1641
+ "mode"?: "ios" | "md";
1642
+ /**
1643
+ * The theme determines the visual appearance of the component.
1644
+ */
1645
+ "theme"?: "ios" | "md" | "ionic";
1402
1646
  }
1403
1647
  interface IonItemOption {
1404
1648
  /**
@@ -1422,17 +1666,25 @@ export namespace Components {
1422
1666
  */
1423
1667
  "href": string | undefined;
1424
1668
  /**
1425
- * The mode determines which platform styles to use.
1669
+ * The mode determines the platform behaviors of the component.
1426
1670
  */
1427
1671
  "mode"?: "ios" | "md";
1428
1672
  /**
1429
1673
  * 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).
1430
1674
  */
1431
1675
  "rel": string | undefined;
1676
+ /**
1677
+ * 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.
1678
+ */
1679
+ "shape"?: 'soft' | 'round' | 'rectangular';
1432
1680
  /**
1433
1681
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1434
1682
  */
1435
1683
  "target": string | undefined;
1684
+ /**
1685
+ * The theme determines the visual appearance of the component.
1686
+ */
1687
+ "theme"?: "ios" | "md" | "ionic";
1436
1688
  /**
1437
1689
  * The type of the button.
1438
1690
  */
@@ -1440,10 +1692,18 @@ export namespace Components {
1440
1692
  }
1441
1693
  interface IonItemOptions {
1442
1694
  "fireSwipeEvent": () => Promise<void>;
1695
+ /**
1696
+ * The mode determines the platform behaviors of the component.
1697
+ */
1698
+ "mode"?: "ios" | "md";
1443
1699
  /**
1444
1700
  * 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.
1445
1701
  */
1446
1702
  "side": Side;
1703
+ /**
1704
+ * The theme determines the visual appearance of the component.
1705
+ */
1706
+ "theme"?: "ios" | "md" | "ionic";
1447
1707
  }
1448
1708
  interface IonItemSliding {
1449
1709
  /**
@@ -1466,11 +1726,19 @@ export namespace Components {
1466
1726
  * 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.
1467
1727
  */
1468
1728
  "getSlidingRatio": () => Promise<number>;
1729
+ /**
1730
+ * The mode determines the platform behaviors of the component.
1731
+ */
1732
+ "mode"?: "ios" | "md";
1469
1733
  /**
1470
1734
  * Open the sliding item.
1471
1735
  * @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.
1472
1736
  */
1473
1737
  "open": (side: Side | undefined) => Promise<void>;
1738
+ /**
1739
+ * The theme determines the visual appearance of the component.
1740
+ */
1741
+ "theme"?: "ios" | "md" | "ionic";
1474
1742
  }
1475
1743
  interface IonLabel {
1476
1744
  /**
@@ -1478,13 +1746,17 @@ export namespace Components {
1478
1746
  */
1479
1747
  "color"?: Color;
1480
1748
  /**
1481
- * The mode determines which platform styles to use.
1749
+ * The mode determines the platform behaviors of the component.
1482
1750
  */
1483
1751
  "mode"?: "ios" | "md";
1484
1752
  /**
1485
1753
  * The position determines where and how the label behaves inside an item.
1486
1754
  */
1487
1755
  "position"?: 'fixed' | 'stacked' | 'floating';
1756
+ /**
1757
+ * The theme determines the visual appearance of the component.
1758
+ */
1759
+ "theme"?: "ios" | "md" | "ionic";
1488
1760
  }
1489
1761
  interface IonList {
1490
1762
  /**
@@ -1500,9 +1772,17 @@ export namespace Components {
1500
1772
  */
1501
1773
  "lines"?: 'full' | 'inset' | 'none';
1502
1774
  /**
1503
- * The mode determines which platform styles to use.
1775
+ * The mode determines the platform behaviors of the component.
1504
1776
  */
1505
1777
  "mode"?: "ios" | "md";
1778
+ /**
1779
+ * 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.
1780
+ */
1781
+ "shape"?: 'soft' | 'round' | 'rectangular';
1782
+ /**
1783
+ * The theme determines the visual appearance of the component.
1784
+ */
1785
+ "theme"?: "ios" | "md" | "ionic";
1506
1786
  }
1507
1787
  interface IonListHeader {
1508
1788
  /**
@@ -1514,9 +1794,13 @@ export namespace Components {
1514
1794
  */
1515
1795
  "lines"?: 'full' | 'inset' | 'none';
1516
1796
  /**
1517
- * The mode determines which platform styles to use.
1797
+ * The mode determines the platform behaviors of the component.
1518
1798
  */
1519
1799
  "mode"?: "ios" | "md";
1800
+ /**
1801
+ * The theme determines the visual appearance of the component.
1802
+ */
1803
+ "theme"?: "ios" | "md" | "ionic";
1520
1804
  }
1521
1805
  interface IonLoading {
1522
1806
  /**
@@ -1568,7 +1852,7 @@ export namespace Components {
1568
1852
  */
1569
1853
  "message"?: string | IonicSafeString;
1570
1854
  /**
1571
- * The mode determines which platform styles to use.
1855
+ * The mode determines the platform behaviors of the component.
1572
1856
  */
1573
1857
  "mode"?: "ios" | "md";
1574
1858
  /**
@@ -1593,7 +1877,11 @@ export namespace Components {
1593
1877
  */
1594
1878
  "spinner"?: SpinnerTypes | null;
1595
1879
  /**
1596
- * 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).
1880
+ * The theme determines the visual appearance of the component.
1881
+ */
1882
+ "theme"?: "ios" | "md" | "ionic";
1883
+ /**
1884
+ * 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).
1597
1885
  */
1598
1886
  "translucent": boolean;
1599
1887
  /**
@@ -1630,6 +1918,10 @@ export namespace Components {
1630
1918
  * An id for the menu.
1631
1919
  */
1632
1920
  "menuId"?: string;
1921
+ /**
1922
+ * The mode determines the platform behaviors of the component.
1923
+ */
1924
+ "mode"?: "ios" | "md";
1633
1925
  /**
1634
1926
  * Opens the menu. If the menu is already open or it can't be opened, it returns `false`.
1635
1927
  */
@@ -1646,6 +1938,10 @@ export namespace Components {
1646
1938
  * If `true`, swiping the menu is enabled.
1647
1939
  */
1648
1940
  "swipeGesture": boolean;
1941
+ /**
1942
+ * The theme determines the visual appearance of the component.
1943
+ */
1944
+ "theme"?: "ios" | "md" | "ionic";
1649
1945
  /**
1650
1946
  * 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`.
1651
1947
  */
@@ -1673,9 +1969,13 @@ export namespace Components {
1673
1969
  */
1674
1970
  "menu"?: string;
1675
1971
  /**
1676
- * The mode determines which platform styles to use.
1972
+ * The mode determines the platform behaviors of the component.
1677
1973
  */
1678
1974
  "mode"?: "ios" | "md";
1975
+ /**
1976
+ * The theme determines the visual appearance of the component.
1977
+ */
1978
+ "theme"?: "ios" | "md" | "ionic";
1679
1979
  /**
1680
1980
  * The type of the button.
1681
1981
  */
@@ -1690,6 +1990,14 @@ export namespace Components {
1690
1990
  * 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.
1691
1991
  */
1692
1992
  "menu"?: string;
1993
+ /**
1994
+ * The mode determines the platform behaviors of the component.
1995
+ */
1996
+ "mode"?: "ios" | "md";
1997
+ /**
1998
+ * The theme determines the visual appearance of the component.
1999
+ */
2000
+ "theme"?: "ios" | "md" | "ionic";
1693
2001
  }
1694
2002
  interface IonModal {
1695
2003
  /**
@@ -1777,7 +2085,7 @@ export namespace Components {
1777
2085
  */
1778
2086
  "leaveAnimation"?: AnimationBuilder;
1779
2087
  /**
1780
- * The mode determines which platform styles to use.
2088
+ * The mode determines the platform behaviors of the component.
1781
2089
  */
1782
2090
  "mode"?: "ios" | "md";
1783
2091
  /**
@@ -1801,10 +2109,18 @@ export namespace Components {
1801
2109
  * Move a sheet style modal to a specific breakpoint. The breakpoint value must be a value defined in your `breakpoints` array.
1802
2110
  */
1803
2111
  "setCurrentBreakpoint": (breakpoint: number) => Promise<void>;
2112
+ /**
2113
+ * 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.
2114
+ */
2115
+ "shape"?: 'soft' | 'round' | 'rectangular';
1804
2116
  /**
1805
2117
  * 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.
1806
2118
  */
1807
2119
  "showBackdrop": boolean;
2120
+ /**
2121
+ * The theme determines the visual appearance of the component.
2122
+ */
2123
+ "theme"?: "ios" | "md" | "ionic";
1808
2124
  /**
1809
2125
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
1810
2126
  */
@@ -1816,7 +2132,7 @@ export namespace Components {
1816
2132
  */
1817
2133
  "animated": boolean;
1818
2134
  /**
1819
- * 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.
2135
+ * 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.
1820
2136
  */
1821
2137
  "animation"?: AnimationBuilder;
1822
2138
  /**
@@ -1864,6 +2180,10 @@ export namespace Components {
1864
2180
  * @param done The transition complete function.
1865
2181
  */
1866
2182
  "insertPages": (insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean>;
2183
+ /**
2184
+ * The mode determines the platform behaviors of the component.
2185
+ */
2186
+ "mode"?: "ios" | "md";
1867
2187
  /**
1868
2188
  * Pop a component off of the navigation stack. Navigates back from the current component.
1869
2189
  * @param opts The navigation options.
@@ -1935,6 +2255,10 @@ export namespace Components {
1935
2255
  * If the nav component should allow for swipe-to-go-back.
1936
2256
  */
1937
2257
  "swipeGesture"?: boolean;
2258
+ /**
2259
+ * The theme determines the visual appearance of the component.
2260
+ */
2261
+ "theme"?: "ios" | "md" | "ionic";
1938
2262
  }
1939
2263
  interface IonNavLink {
1940
2264
  /**
@@ -1945,6 +2269,10 @@ export namespace Components {
1945
2269
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
1946
2270
  */
1947
2271
  "componentProps"?: ComponentProps;
2272
+ /**
2273
+ * The mode determines the platform behaviors of the component.
2274
+ */
2275
+ "mode"?: "ios" | "md";
1948
2276
  /**
1949
2277
  * The transition animation when navigating to another page.
1950
2278
  */
@@ -1953,6 +2281,10 @@ export namespace Components {
1953
2281
  * The transition direction when navigating to another page.
1954
2282
  */
1955
2283
  "routerDirection": RouterDirection;
2284
+ /**
2285
+ * The theme determines the visual appearance of the component.
2286
+ */
2287
+ "theme"?: "ios" | "md" | "ionic";
1956
2288
  }
1957
2289
  interface IonNote {
1958
2290
  /**
@@ -1960,16 +2292,24 @@ export namespace Components {
1960
2292
  */
1961
2293
  "color"?: Color;
1962
2294
  /**
1963
- * The mode determines which platform styles to use.
2295
+ * The mode determines the platform behaviors of the component.
1964
2296
  */
1965
2297
  "mode"?: "ios" | "md";
2298
+ /**
2299
+ * The theme determines the visual appearance of the component.
2300
+ */
2301
+ "theme"?: "ios" | "md" | "ionic";
1966
2302
  }
1967
2303
  interface IonPicker {
1968
2304
  "exitInputMode": () => Promise<void>;
1969
2305
  /**
1970
- * The mode determines which platform styles to use.
2306
+ * The mode determines the platform behaviors of the component.
1971
2307
  */
1972
2308
  "mode"?: "ios" | "md";
2309
+ /**
2310
+ * The theme determines the visual appearance of the component.
2311
+ */
2312
+ "theme"?: "ios" | "md" | "ionic";
1973
2313
  }
1974
2314
  interface IonPickerColumn {
1975
2315
  /**
@@ -1981,7 +2321,7 @@ export namespace Components {
1981
2321
  */
1982
2322
  "disabled": boolean;
1983
2323
  /**
1984
- * The mode determines which platform styles to use.
2324
+ * The mode determines the platform behaviors of the component.
1985
2325
  */
1986
2326
  "mode"?: "ios" | "md";
1987
2327
  /**
@@ -1997,6 +2337,10 @@ export namespace Components {
1997
2337
  * 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.
1998
2338
  */
1999
2339
  "setValue": (value: PickerColumnValue) => Promise<void>;
2340
+ /**
2341
+ * The theme determines the visual appearance of the component.
2342
+ */
2343
+ "theme"?: "ios" | "md" | "ionic";
2000
2344
  /**
2001
2345
  * The selected option in the picker.
2002
2346
  */
@@ -2011,6 +2355,14 @@ export namespace Components {
2011
2355
  * If `true`, the user cannot interact with the picker column option.
2012
2356
  */
2013
2357
  "disabled": boolean;
2358
+ /**
2359
+ * The mode determines the platform behaviors of the component.
2360
+ */
2361
+ "mode"?: "ios" | "md";
2362
+ /**
2363
+ * The theme determines the visual appearance of the component.
2364
+ */
2365
+ "theme"?: "ios" | "md" | "ionic";
2014
2366
  /**
2015
2367
  * The text value of the option.
2016
2368
  */
@@ -2075,7 +2427,7 @@ export namespace Components {
2075
2427
  */
2076
2428
  "leaveAnimation"?: AnimationBuilder;
2077
2429
  /**
2078
- * The mode determines which platform styles to use.
2430
+ * The mode determines the platform behaviors of the component.
2079
2431
  */
2080
2432
  "mode"?: "ios" | "md";
2081
2433
  /**
@@ -2095,6 +2447,10 @@ export namespace Components {
2095
2447
  * If `true`, a backdrop will be displayed behind the picker.
2096
2448
  */
2097
2449
  "showBackdrop": boolean;
2450
+ /**
2451
+ * The theme determines the visual appearance of the component.
2452
+ */
2453
+ "theme"?: "ios" | "md" | "ionic";
2098
2454
  /**
2099
2455
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
2100
2456
  */
@@ -2108,7 +2464,7 @@ export namespace Components {
2108
2464
  }
2109
2465
  interface IonPopover {
2110
2466
  /**
2111
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
2467
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
2112
2468
  */
2113
2469
  "alignment"?: PositionAlign;
2114
2470
  /**
@@ -2116,7 +2472,7 @@ export namespace Components {
2116
2472
  */
2117
2473
  "animated": boolean;
2118
2474
  /**
2119
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
2475
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
2120
2476
  */
2121
2477
  "arrow": boolean;
2122
2478
  /**
@@ -2183,7 +2539,7 @@ export namespace Components {
2183
2539
  */
2184
2540
  "leaveAnimation"?: AnimationBuilder;
2185
2541
  /**
2186
- * The mode determines which platform styles to use.
2542
+ * The mode determines the platform behaviors of the component.
2187
2543
  */
2188
2544
  "mode"?: "ios" | "md";
2189
2545
  /**
@@ -2220,7 +2576,11 @@ export namespace Components {
2220
2576
  */
2221
2577
  "size": PopoverSize;
2222
2578
  /**
2223
- * 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).
2579
+ * The theme determines the visual appearance of the component.
2580
+ */
2581
+ "theme"?: "ios" | "md" | "ionic";
2582
+ /**
2583
+ * 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).
2224
2584
  */
2225
2585
  "translucent": boolean;
2226
2586
  /**
@@ -2242,13 +2602,17 @@ export namespace Components {
2242
2602
  */
2243
2603
  "color"?: Color;
2244
2604
  /**
2245
- * The mode determines which platform styles to use.
2605
+ * The mode determines the platform behaviors of the component.
2246
2606
  */
2247
2607
  "mode"?: "ios" | "md";
2248
2608
  /**
2249
2609
  * If true, reverse the progress bar direction.
2250
2610
  */
2251
2611
  "reversed": boolean;
2612
+ /**
2613
+ * The theme determines the visual appearance of the component.
2614
+ */
2615
+ "theme"?: "ios" | "md" | "ionic";
2252
2616
  /**
2253
2617
  * 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).
2254
2618
  */
@@ -2280,7 +2644,7 @@ export namespace Components {
2280
2644
  */
2281
2645
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
2282
2646
  /**
2283
- * The mode determines which platform styles to use.
2647
+ * The mode determines the platform behaviors of the component.
2284
2648
  */
2285
2649
  "mode"?: "ios" | "md";
2286
2650
  /**
@@ -2289,6 +2653,10 @@ export namespace Components {
2289
2653
  "name": string;
2290
2654
  "setButtonTabindex": (value: number) => Promise<void>;
2291
2655
  "setFocus": (ev?: globalThis.Event) => Promise<void>;
2656
+ /**
2657
+ * The theme determines the visual appearance of the component.
2658
+ */
2659
+ "theme"?: "ios" | "md" | "ionic";
2292
2660
  /**
2293
2661
  * the value of the radio.
2294
2662
  */
@@ -2303,15 +2671,19 @@ export namespace Components {
2303
2671
  * 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.
2304
2672
  */
2305
2673
  "compareWith"?: string | RadioGroupCompareFn | null;
2674
+ /**
2675
+ * The mode determines the platform behaviors of the component.
2676
+ */
2677
+ "mode"?: "ios" | "md";
2306
2678
  /**
2307
2679
  * The name of the control, which is submitted with the form data.
2308
2680
  */
2309
2681
  "name": string;
2682
+ "setFocus": () => Promise<void>;
2310
2683
  /**
2311
- * If `true`, the user must fill in a value before submitting a form.
2684
+ * The theme determines the visual appearance of the component.
2312
2685
  */
2313
- "required": boolean;
2314
- "setFocus": () => Promise<void>;
2686
+ "theme"?: "ios" | "md" | "ionic";
2315
2687
  /**
2316
2688
  * the value of the radio group.
2317
2689
  */
@@ -2355,7 +2727,7 @@ export namespace Components {
2355
2727
  */
2356
2728
  "min": number;
2357
2729
  /**
2358
- * The mode determines which platform styles to use.
2730
+ * The mode determines the platform behaviors of the component.
2359
2731
  */
2360
2732
  "mode"?: "ios" | "md";
2361
2733
  /**
@@ -2378,6 +2750,10 @@ export namespace Components {
2378
2750
  * Specifies the value granularity.
2379
2751
  */
2380
2752
  "step": number;
2753
+ /**
2754
+ * The theme determines the visual appearance of the component.
2755
+ */
2756
+ "theme"?: "ios" | "md" | "ionic";
2381
2757
  /**
2382
2758
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
2383
2759
  */
@@ -2409,7 +2785,7 @@ export namespace Components {
2409
2785
  */
2410
2786
  "getProgress": () => Promise<number>;
2411
2787
  /**
2412
- * The mode determines which platform styles to use.
2788
+ * The mode determines the platform behaviors of the component.
2413
2789
  */
2414
2790
  "mode"?: "ios" | "md";
2415
2791
  /**
@@ -2428,8 +2804,16 @@ export namespace Components {
2428
2804
  * 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.
2429
2805
  */
2430
2806
  "snapbackDuration": string;
2807
+ /**
2808
+ * The theme determines the visual appearance of the component.
2809
+ */
2810
+ "theme"?: "ios" | "md" | "ionic";
2431
2811
  }
2432
2812
  interface IonRefresherContent {
2813
+ /**
2814
+ * The mode determines the platform behaviors of the component.
2815
+ */
2816
+ "mode"?: "ios" | "md";
2433
2817
  /**
2434
2818
  * 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.
2435
2819
  */
@@ -2446,8 +2830,20 @@ export namespace Components {
2446
2830
  * 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.
2447
2831
  */
2448
2832
  "refreshingText"?: string | IonicSafeString;
2833
+ /**
2834
+ * The theme determines the visual appearance of the component.
2835
+ */
2836
+ "theme"?: "ios" | "md" | "ionic";
2449
2837
  }
2450
2838
  interface IonReorder {
2839
+ /**
2840
+ * The mode determines the platform behaviors of the component.
2841
+ */
2842
+ "mode"?: "ios" | "md";
2843
+ /**
2844
+ * The theme determines the visual appearance of the component.
2845
+ */
2846
+ "theme"?: "ios" | "md" | "ionic";
2451
2847
  }
2452
2848
  interface IonReorderGroup {
2453
2849
  /**
@@ -2459,6 +2855,14 @@ export namespace Components {
2459
2855
  * If `true`, the reorder will be hidden.
2460
2856
  */
2461
2857
  "disabled": boolean;
2858
+ /**
2859
+ * The mode determines the platform behaviors of the component.
2860
+ */
2861
+ "mode"?: "ios" | "md";
2862
+ /**
2863
+ * The theme determines the visual appearance of the component.
2864
+ */
2865
+ "theme"?: "ios" | "md" | "ionic";
2462
2866
  }
2463
2867
  interface IonRippleEffect {
2464
2868
  /**
@@ -2467,6 +2871,14 @@ export namespace Components {
2467
2871
  * @param y The vertical coordinate of where the ripple should start.
2468
2872
  */
2469
2873
  "addRipple": (x: number, y: number) => Promise<() => void>;
2874
+ /**
2875
+ * The mode determines the platform behaviors of the component.
2876
+ */
2877
+ "mode"?: "ios" | "md";
2878
+ /**
2879
+ * The theme determines the visual appearance of the component.
2880
+ */
2881
+ "theme"?: "ios" | "md" | "ionic";
2470
2882
  /**
2471
2883
  * 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.
2472
2884
  */
@@ -2489,6 +2901,14 @@ export namespace Components {
2489
2901
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
2490
2902
  */
2491
2903
  "componentProps"?: { [key: string]: any };
2904
+ /**
2905
+ * The mode determines the platform behaviors of the component.
2906
+ */
2907
+ "mode"?: "ios" | "md";
2908
+ /**
2909
+ * The theme determines the visual appearance of the component.
2910
+ */
2911
+ "theme"?: "ios" | "md" | "ionic";
2492
2912
  /**
2493
2913
  * 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.
2494
2914
  */
@@ -2510,6 +2930,10 @@ export namespace Components {
2510
2930
  */
2511
2931
  "back": () => Promise<void>;
2512
2932
  "canTransition": () => Promise<string | boolean>;
2933
+ /**
2934
+ * The mode determines the platform behaviors of the component.
2935
+ */
2936
+ "mode"?: "ios" | "md";
2513
2937
  "navChanged": (direction: RouterDirection) => Promise<boolean>;
2514
2938
  "printDebug": () => Promise<void>;
2515
2939
  /**
@@ -2522,6 +2946,10 @@ export namespace Components {
2522
2946
  * 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.
2523
2947
  */
2524
2948
  "root": string;
2949
+ /**
2950
+ * The theme determines the visual appearance of the component.
2951
+ */
2952
+ "theme"?: "ios" | "md" | "ionic";
2525
2953
  /**
2526
2954
  * 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.
2527
2955
  */
@@ -2536,6 +2964,10 @@ export namespace Components {
2536
2964
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2537
2965
  */
2538
2966
  "href": string | undefined;
2967
+ /**
2968
+ * The mode determines the platform behaviors of the component.
2969
+ */
2970
+ "mode"?: "ios" | "md";
2539
2971
  /**
2540
2972
  * 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).
2541
2973
  */
@@ -2552,6 +2984,10 @@ export namespace Components {
2552
2984
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2553
2985
  */
2554
2986
  "target": string | undefined;
2987
+ /**
2988
+ * The theme determines the visual appearance of the component.
2989
+ */
2990
+ "theme"?: "ios" | "md" | "ionic";
2555
2991
  }
2556
2992
  interface IonRouterOutlet {
2557
2993
  /**
@@ -2566,13 +3002,25 @@ export namespace Components {
2566
3002
  "delegate"?: FrameworkDelegate;
2567
3003
  "getRouteId": () => Promise<RouteID | undefined>;
2568
3004
  /**
2569
- * The mode determines which platform styles to use.
3005
+ * The mode determines the platform behaviors of the component.
2570
3006
  */
2571
3007
  "mode": "ios" | "md";
2572
3008
  "setRouteId": (id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>;
2573
3009
  "swipeHandler"?: SwipeGestureHandler;
3010
+ /**
3011
+ * The theme determines the visual appearance of the component.
3012
+ */
3013
+ "theme"?: "ios" | "md" | "ionic";
2574
3014
  }
2575
3015
  interface IonRow {
3016
+ /**
3017
+ * The mode determines the platform behaviors of the component.
3018
+ */
3019
+ "mode"?: "ios" | "md";
3020
+ /**
3021
+ * The theme determines the visual appearance of the component.
3022
+ */
3023
+ "theme"?: "ios" | "md" | "ionic";
2576
3024
  }
2577
3025
  interface IonSearchbar {
2578
3026
  /**
@@ -2592,15 +3040,15 @@ export namespace Components {
2592
3040
  */
2593
3041
  "autocorrect": 'on' | 'off';
2594
3042
  /**
2595
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
3043
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
2596
3044
  */
2597
- "cancelButtonIcon": string;
3045
+ "cancelButtonIcon"?: string;
2598
3046
  /**
2599
- * Set the the cancel button text. Only applies to `ios` mode.
3047
+ * Set the the cancel button text. Only available when the theme is `"ios"`.
2600
3048
  */
2601
3049
  "cancelButtonText": string;
2602
3050
  /**
2603
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
3051
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
2604
3052
  */
2605
3053
  "clearIcon"?: string;
2606
3054
  /**
@@ -2636,7 +3084,7 @@ export namespace Components {
2636
3084
  */
2637
3085
  "minlength"?: number;
2638
3086
  /**
2639
- * The mode determines which platform styles to use.
3087
+ * The mode determines the platform behaviors of the component.
2640
3088
  */
2641
3089
  "mode"?: "ios" | "md";
2642
3090
  /**
@@ -2648,7 +3096,7 @@ export namespace Components {
2648
3096
  */
2649
3097
  "placeholder": string;
2650
3098
  /**
2651
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
3099
+ * 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.
2652
3100
  */
2653
3101
  "searchIcon"?: string;
2654
3102
  /**
@@ -2667,6 +3115,10 @@ export namespace Components {
2667
3115
  * If `true`, enable spellcheck on the input.
2668
3116
  */
2669
3117
  "spellcheck": boolean;
3118
+ /**
3119
+ * The theme determines the visual appearance of the component.
3120
+ */
3121
+ "theme"?: "ios" | "md" | "ionic";
2670
3122
  /**
2671
3123
  * Set the type of the input.
2672
3124
  */
@@ -2686,7 +3138,7 @@ export namespace Components {
2686
3138
  */
2687
3139
  "disabled": boolean;
2688
3140
  /**
2689
- * The mode determines which platform styles to use.
3141
+ * The mode determines the platform behaviors of the component.
2690
3142
  */
2691
3143
  "mode"?: "ios" | "md";
2692
3144
  /**
@@ -2701,6 +3153,10 @@ export namespace Components {
2701
3153
  * If `true`, users will be able to swipe between segment buttons to activate them.
2702
3154
  */
2703
3155
  "swipeGesture": boolean;
3156
+ /**
3157
+ * The theme determines the visual appearance of the component.
3158
+ */
3159
+ "theme"?: "ios" | "md" | "ionic";
2704
3160
  /**
2705
3161
  * the value of the segment.
2706
3162
  */
@@ -2720,10 +3176,14 @@ export namespace Components {
2720
3176
  */
2721
3177
  "layout"?: SegmentButtonLayout;
2722
3178
  /**
2723
- * The mode determines which platform styles to use.
3179
+ * The mode determines the platform behaviors of the component.
2724
3180
  */
2725
3181
  "mode"?: "ios" | "md";
2726
3182
  "setFocus": () => Promise<void>;
3183
+ /**
3184
+ * The theme determines the visual appearance of the component.
3185
+ */
3186
+ "theme"?: "ios" | "md" | "ionic";
2727
3187
  /**
2728
3188
  * The type of the button.
2729
3189
  */
@@ -2764,11 +3224,11 @@ export namespace Components {
2764
3224
  */
2765
3225
  "disabled": boolean;
2766
3226
  /**
2767
- * 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.
3227
+ * 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.
2768
3228
  */
2769
3229
  "expandedIcon"?: string;
2770
3230
  /**
2771
- * 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.
3231
+ * 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.
2772
3232
  */
2773
3233
  "fill"?: 'outline' | 'solid';
2774
3234
  /**
@@ -2792,7 +3252,7 @@ export namespace Components {
2792
3252
  */
2793
3253
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
2794
3254
  /**
2795
- * The mode determines which platform styles to use.
3255
+ * The mode determines the platform behaviors of the component.
2796
3256
  */
2797
3257
  "mode"?: "ios" | "md";
2798
3258
  /**
@@ -2816,20 +3276,24 @@ export namespace Components {
2816
3276
  * The text to display when the select is empty.
2817
3277
  */
2818
3278
  "placeholder"?: string;
2819
- /**
2820
- * If `true`, the user must fill in a value before submitting a form.
2821
- */
2822
- "required": boolean;
2823
3279
  /**
2824
3280
  * The text to display instead of the selected option's value.
2825
3281
  */
2826
3282
  "selectedText"?: string | null;
2827
3283
  /**
2828
- * The shape of the select. If "round" it will have an increased border radius.
3284
+ * Set to `"soft"` for a select with slightly rounded corners, `"round"` for a select with fully rounded corners, or `"rectangular"` for a select without rounded corners. Defaults to `"round"` for the `"ionic"` theme, undefined for all other themes.
3285
+ */
3286
+ "shape"?: 'soft' | 'round' | 'rectangular';
3287
+ /**
3288
+ * The size of the select. If "large" it will increase the height of the select, while "small" and "medium" provide progressively smaller heights. Defaults to `"medium"` for the ionic theme, and undefined for all other themes.
3289
+ */
3290
+ "size"?: 'small' | 'medium' | 'large';
3291
+ /**
3292
+ * The theme determines the visual appearance of the component.
2829
3293
  */
2830
- "shape"?: 'round';
3294
+ "theme"?: "ios" | "md" | "ionic";
2831
3295
  /**
2832
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
3296
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
2833
3297
  */
2834
3298
  "toggleIcon"?: string;
2835
3299
  /**
@@ -2847,6 +3311,14 @@ export namespace Components {
2847
3311
  * 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.
2848
3312
  */
2849
3313
  "disabled": boolean;
3314
+ /**
3315
+ * The mode determines the platform behaviors of the component.
3316
+ */
3317
+ "mode"?: "ios" | "md";
3318
+ /**
3319
+ * The theme determines the visual appearance of the component.
3320
+ */
3321
+ "theme"?: "ios" | "md" | "ionic";
2850
3322
  /**
2851
3323
  * The text value of the option.
2852
3324
  */
@@ -2861,6 +3333,10 @@ export namespace Components {
2861
3333
  * The text content of the popover body
2862
3334
  */
2863
3335
  "message"?: string;
3336
+ /**
3337
+ * The mode determines the platform behaviors of the component.
3338
+ */
3339
+ "mode"?: "ios" | "md";
2864
3340
  /**
2865
3341
  * If true, the select accepts multiple values
2866
3342
  */
@@ -2873,12 +3349,24 @@ export namespace Components {
2873
3349
  * The subheader text of the popover
2874
3350
  */
2875
3351
  "subHeader"?: string;
3352
+ /**
3353
+ * The theme determines the visual appearance of the component.
3354
+ */
3355
+ "theme"?: "ios" | "md" | "ionic";
2876
3356
  }
2877
3357
  interface IonSkeletonText {
2878
3358
  /**
2879
3359
  * If `true`, the skeleton text will animate.
2880
3360
  */
2881
3361
  "animated": boolean;
3362
+ /**
3363
+ * The mode determines the platform behaviors of the component.
3364
+ */
3365
+ "mode"?: "ios" | "md";
3366
+ /**
3367
+ * The theme determines the visual appearance of the component.
3368
+ */
3369
+ "theme"?: "ios" | "md" | "ionic";
2882
3370
  }
2883
3371
  interface IonSpinner {
2884
3372
  /**
@@ -2889,6 +3377,10 @@ export namespace Components {
2889
3377
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
2890
3378
  */
2891
3379
  "duration"?: number;
3380
+ /**
3381
+ * The mode determines the platform behaviors of the component.
3382
+ */
3383
+ "mode"?: "ios" | "md";
2892
3384
  /**
2893
3385
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
2894
3386
  */
@@ -2897,6 +3389,14 @@ export namespace Components {
2897
3389
  * If `true`, the spinner's animation will be paused.
2898
3390
  */
2899
3391
  "paused": boolean;
3392
+ /**
3393
+ * 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.
3394
+ */
3395
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
3396
+ /**
3397
+ * The theme determines the visual appearance of the component.
3398
+ */
3399
+ "theme"?: "ios" | "md" | "ionic";
2900
3400
  }
2901
3401
  interface IonSplitPane {
2902
3402
  /**
@@ -2908,6 +3408,14 @@ export namespace Components {
2908
3408
  */
2909
3409
  "disabled": boolean;
2910
3410
  "isVisible": () => Promise<boolean>;
3411
+ /**
3412
+ * The mode determines the platform behaviors of the component.
3413
+ */
3414
+ "mode"?: "ios" | "md";
3415
+ /**
3416
+ * The theme determines the visual appearance of the component.
3417
+ */
3418
+ "theme"?: "ios" | "md" | "ionic";
2911
3419
  /**
2912
3420
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
2913
3421
  */
@@ -2920,6 +3428,10 @@ export namespace Components {
2920
3428
  */
2921
3429
  "component"?: ComponentRef;
2922
3430
  "delegate"?: FrameworkDelegate;
3431
+ /**
3432
+ * The mode determines the platform behaviors of the component.
3433
+ */
3434
+ "mode"?: "ios" | "md";
2923
3435
  /**
2924
3436
  * Set the active component for the tab
2925
3437
  */
@@ -2928,6 +3440,10 @@ export namespace Components {
2928
3440
  * 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.
2929
3441
  */
2930
3442
  "tab": string;
3443
+ /**
3444
+ * The theme determines the visual appearance of the component.
3445
+ */
3446
+ "theme"?: "ios" | "md" | "ionic";
2931
3447
  }
2932
3448
  interface IonTabBar {
2933
3449
  /**
@@ -2935,7 +3451,11 @@ export namespace Components {
2935
3451
  */
2936
3452
  "color"?: Color;
2937
3453
  /**
2938
- * The mode determines which platform styles to use.
3454
+ * 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"`.
3455
+ */
3456
+ "expand": 'compact' | 'full';
3457
+ /**
3458
+ * The mode determines the platform behaviors of the component.
2939
3459
  */
2940
3460
  "mode"?: "ios" | "md";
2941
3461
  /**
@@ -2943,7 +3463,15 @@ export namespace Components {
2943
3463
  */
2944
3464
  "selectedTab"?: string;
2945
3465
  /**
2946
- * 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).
3466
+ * 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.
3467
+ */
3468
+ "shape"?: 'soft' | 'round' | 'rectangular';
3469
+ /**
3470
+ * The theme determines the visual appearance of the component.
3471
+ */
3472
+ "theme"?: "ios" | "md" | "ionic";
3473
+ /**
3474
+ * 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).
2947
3475
  */
2948
3476
  "translucent": boolean;
2949
3477
  }
@@ -2965,7 +3493,7 @@ export namespace Components {
2965
3493
  */
2966
3494
  "layout"?: TabButtonLayout;
2967
3495
  /**
2968
- * The mode determines which platform styles to use.
3496
+ * The mode determines the platform behaviors of the component.
2969
3497
  */
2970
3498
  "mode"?: "ios" | "md";
2971
3499
  /**
@@ -2976,6 +3504,10 @@ export namespace Components {
2976
3504
  * The selected tab component
2977
3505
  */
2978
3506
  "selected": boolean;
3507
+ /**
3508
+ * Set to `"soft"` for a tab-button with slightly rounded corners, `"round"` for a tab-button with fully rounded corners, or `"rectangular"` for a tab-button without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
3509
+ */
3510
+ "shape"?: 'soft' | 'round' | 'rectangular';
2979
3511
  /**
2980
3512
  * 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.
2981
3513
  */
@@ -2984,6 +3516,10 @@ export namespace Components {
2984
3516
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2985
3517
  */
2986
3518
  "target": string | undefined;
3519
+ /**
3520
+ * The theme determines the visual appearance of the component.
3521
+ */
3522
+ "theme"?: "ios" | "md" | "ionic";
2987
3523
  }
2988
3524
  interface IonTabs {
2989
3525
  "getRouteId": () => Promise<RouteID | undefined>;
@@ -2996,12 +3532,20 @@ export namespace Components {
2996
3532
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
2997
3533
  */
2998
3534
  "getTab": (tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined>;
3535
+ /**
3536
+ * The mode determines the platform behaviors of the component.
3537
+ */
3538
+ "mode"?: "ios" | "md";
2999
3539
  /**
3000
3540
  * 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.
3001
3541
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3002
3542
  */
3003
3543
  "select": (tab: string | HTMLIonTabElement) => Promise<boolean>;
3004
3544
  "setRouteId": (id: string) => Promise<RouteWrite>;
3545
+ /**
3546
+ * The theme determines the visual appearance of the component.
3547
+ */
3548
+ "theme"?: "ios" | "md" | "ionic";
3005
3549
  "useRouter": boolean;
3006
3550
  }
3007
3551
  interface IonText {
@@ -3010,9 +3554,13 @@ export namespace Components {
3010
3554
  */
3011
3555
  "color"?: Color;
3012
3556
  /**
3013
- * The mode determines which platform styles to use.
3557
+ * The mode determines the platform behaviors of the component.
3014
3558
  */
3015
3559
  "mode"?: "ios" | "md";
3560
+ /**
3561
+ * The theme determines the visual appearance of the component.
3562
+ */
3563
+ "theme"?: "ios" | "md" | "ionic";
3016
3564
  }
3017
3565
  interface IonTextarea {
3018
3566
  /**
@@ -3064,7 +3612,7 @@ export namespace Components {
3064
3612
  */
3065
3613
  "errorText"?: string;
3066
3614
  /**
3067
- * 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.
3615
+ * 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"`.
3068
3616
  */
3069
3617
  "fill"?: 'outline' | 'solid';
3070
3618
  /**
@@ -3096,7 +3644,7 @@ export namespace Components {
3096
3644
  */
3097
3645
  "minlength"?: number;
3098
3646
  /**
3099
- * The mode determines which platform styles to use.
3647
+ * The mode determines the platform behaviors of the component.
3100
3648
  */
3101
3649
  "mode"?: "ios" | "md";
3102
3650
  /**
@@ -3124,13 +3672,21 @@ export namespace Components {
3124
3672
  */
3125
3673
  "setFocus": () => Promise<void>;
3126
3674
  /**
3127
- * The shape of the textarea. If "round" it will have an increased border radius.
3675
+ * 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.
3128
3676
  */
3129
- "shape"?: 'round';
3677
+ "shape"?: 'soft' | 'round' | 'rectangular';
3678
+ /**
3679
+ * 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.
3680
+ */
3681
+ "size"?: 'small' | 'medium' | 'large';
3130
3682
  /**
3131
3683
  * If `true`, the element will have its spelling and grammar checked.
3132
3684
  */
3133
3685
  "spellcheck": boolean;
3686
+ /**
3687
+ * The theme determines the visual appearance of the component.
3688
+ */
3689
+ "theme"?: "ios" | "md" | "ionic";
3134
3690
  /**
3135
3691
  * The value of the textarea.
3136
3692
  */
@@ -3141,16 +3697,32 @@ export namespace Components {
3141
3697
  "wrap"?: 'hard' | 'soft' | 'off';
3142
3698
  }
3143
3699
  interface IonThumbnail {
3700
+ /**
3701
+ * The mode determines the platform behaviors of the component.
3702
+ */
3703
+ "mode"?: "ios" | "md";
3704
+ /**
3705
+ * The theme determines the visual appearance of the component.
3706
+ */
3707
+ "theme"?: "ios" | "md" | "ionic";
3144
3708
  }
3145
3709
  interface IonTitle {
3146
3710
  /**
3147
3711
  * 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).
3148
3712
  */
3149
3713
  "color"?: Color;
3714
+ /**
3715
+ * The mode determines the platform behaviors of the component.
3716
+ */
3717
+ "mode"?: "ios" | "md";
3150
3718
  /**
3151
3719
  * The size of the toolbar title.
3152
3720
  */
3153
3721
  "size"?: 'large' | 'small';
3722
+ /**
3723
+ * The theme determines the visual appearance of the component.
3724
+ */
3725
+ "theme"?: "ios" | "md" | "ionic";
3154
3726
  }
3155
3727
  interface IonToast {
3156
3728
  /**
@@ -3218,7 +3790,7 @@ export namespace Components {
3218
3790
  */
3219
3791
  "message"?: string | IonicSafeString;
3220
3792
  /**
3221
- * The mode determines which platform styles to use.
3793
+ * The mode determines the platform behaviors of the component.
3222
3794
  */
3223
3795
  "mode"?: "ios" | "md";
3224
3796
  /**
@@ -3242,12 +3814,20 @@ export namespace Components {
3242
3814
  * Present the toast overlay after it has been created.
3243
3815
  */
3244
3816
  "present": () => Promise<void>;
3817
+ /**
3818
+ * Set to `"soft"` for a toast with slightly rounded corners, `"round"` for a toast with fully rounded corners, or `"rectangular"` for a toast without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
3819
+ */
3820
+ "shape"?: 'soft' | 'round' | 'rectangular';
3245
3821
  /**
3246
3822
  * If set to 'vertical', the Toast can be dismissed with a swipe gesture. The swipe direction is determined by the value of the `position` property: `top`: The Toast can be swiped up to dismiss. `bottom`: The Toast can be swiped down to dismiss. `middle`: The Toast can be swiped up or down to dismiss.
3247
3823
  */
3248
3824
  "swipeGesture"?: ToastSwipeGestureDirection;
3249
3825
  /**
3250
- * 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).
3826
+ * The theme determines the visual appearance of the component.
3827
+ */
3828
+ "theme"?: "ios" | "md" | "ionic";
3829
+ /**
3830
+ * 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).
3251
3831
  */
3252
3832
  "translucent": boolean;
3253
3833
  /**
@@ -3285,7 +3865,7 @@ export namespace Components {
3285
3865
  */
3286
3866
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
3287
3867
  /**
3288
- * The mode determines which platform styles to use.
3868
+ * The mode determines the platform behaviors of the component.
3289
3869
  */
3290
3870
  "mode"?: "ios" | "md";
3291
3871
  /**
@@ -3293,9 +3873,9 @@ export namespace Components {
3293
3873
  */
3294
3874
  "name": string;
3295
3875
  /**
3296
- * If `true`, the user must fill in a value before submitting a form.
3876
+ * The theme determines the visual appearance of the component.
3297
3877
  */
3298
- "required": boolean;
3878
+ "theme"?: "ios" | "md" | "ionic";
3299
3879
  /**
3300
3880
  * 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>`.
3301
3881
  */
@@ -3307,9 +3887,13 @@ export namespace Components {
3307
3887
  */
3308
3888
  "color"?: Color;
3309
3889
  /**
3310
- * The mode determines which platform styles to use.
3890
+ * The mode determines the platform behaviors of the component.
3311
3891
  */
3312
3892
  "mode"?: "ios" | "md";
3893
+ /**
3894
+ * The theme determines the visual appearance of the component.
3895
+ */
3896
+ "theme"?: "ios" | "md" | "ionic";
3313
3897
  }
3314
3898
  }
3315
3899
  export interface IonAccordionGroupCustomEvent<T> extends CustomEvent<T> {
@@ -4827,13 +5411,17 @@ declare namespace LocalJSX {
4827
5411
  */
4828
5412
  "disabled"?: boolean;
4829
5413
  /**
4830
- * The mode determines which platform styles to use.
5414
+ * The mode determines the platform behaviors of the component.
4831
5415
  */
4832
5416
  "mode"?: "ios" | "md";
4833
5417
  /**
4834
5418
  * If `true`, the accordion cannot be interacted with, but does not alter the opacity.
4835
5419
  */
4836
5420
  "readonly"?: boolean;
5421
+ /**
5422
+ * The theme determines the visual appearance of the component.
5423
+ */
5424
+ "theme"?: "ios" | "md" | "ionic";
4837
5425
  /**
4838
5426
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
4839
5427
  */
@@ -4861,7 +5449,7 @@ declare namespace LocalJSX {
4861
5449
  */
4862
5450
  "expand"?: 'compact' | 'inset';
4863
5451
  /**
4864
- * The mode determines which platform styles to use.
5452
+ * The mode determines the platform behaviors of the component.
4865
5453
  */
4866
5454
  "mode"?: "ios" | "md";
4867
5455
  /**
@@ -4876,6 +5464,14 @@ declare namespace LocalJSX {
4876
5464
  * If `true`, the accordion group cannot be interacted with, but does not alter the opacity.
4877
5465
  */
4878
5466
  "readonly"?: boolean;
5467
+ /**
5468
+ * Set to `"soft"` for an accordion group with slightly rounded corners, `"round"` for an accordion group with fully rounded corners, or `"rectangular"` for an accordion group without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes. Only applies when `expand` is set to `"inset"`.
5469
+ */
5470
+ "shape"?: 'soft' | 'round' | 'rectangular';
5471
+ /**
5472
+ * The theme determines the visual appearance of the component.
5473
+ */
5474
+ "theme"?: "ios" | "md" | "ionic";
4879
5475
  /**
4880
5476
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
4881
5477
  */
@@ -4923,7 +5519,7 @@ declare namespace LocalJSX {
4923
5519
  */
4924
5520
  "leaveAnimation"?: AnimationBuilder;
4925
5521
  /**
4926
- * The mode determines which platform styles to use.
5522
+ * The mode determines the platform behaviors of the component.
4927
5523
  */
4928
5524
  "mode"?: "ios" | "md";
4929
5525
  /**
@@ -4963,7 +5559,11 @@ declare namespace LocalJSX {
4963
5559
  */
4964
5560
  "subHeader"?: string;
4965
5561
  /**
4966
- * 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).
5562
+ * The theme determines the visual appearance of the component.
5563
+ */
5564
+ "theme"?: "ios" | "md" | "ionic";
5565
+ /**
5566
+ * 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).
4967
5567
  */
4968
5568
  "translucent"?: boolean;
4969
5569
  /**
@@ -5021,7 +5621,7 @@ declare namespace LocalJSX {
5021
5621
  */
5022
5622
  "message"?: string | IonicSafeString;
5023
5623
  /**
5024
- * The mode determines which platform styles to use.
5624
+ * The mode determines the platform behaviors of the component.
5025
5625
  */
5026
5626
  "mode"?: "ios" | "md";
5027
5627
  /**
@@ -5061,7 +5661,11 @@ declare namespace LocalJSX {
5061
5661
  */
5062
5662
  "subHeader"?: string;
5063
5663
  /**
5064
- * 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).
5664
+ * The theme determines the visual appearance of the component.
5665
+ */
5666
+ "theme"?: "ios" | "md" | "ionic";
5667
+ /**
5668
+ * 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).
5065
5669
  */
5066
5670
  "translucent"?: boolean;
5067
5671
  /**
@@ -5070,8 +5674,32 @@ declare namespace LocalJSX {
5070
5674
  "trigger"?: string | undefined;
5071
5675
  }
5072
5676
  interface IonApp {
5677
+ /**
5678
+ * The mode determines the platform behaviors of the component.
5679
+ */
5680
+ "mode"?: "ios" | "md";
5681
+ /**
5682
+ * The theme determines the visual appearance of the component.
5683
+ */
5684
+ "theme"?: "ios" | "md" | "ionic";
5073
5685
  }
5074
5686
  interface IonAvatar {
5687
+ /**
5688
+ * The mode determines the platform behaviors of the component.
5689
+ */
5690
+ "mode"?: "ios" | "md";
5691
+ /**
5692
+ * 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.
5693
+ */
5694
+ "shape"?: 'soft' | 'round' | 'rectangular';
5695
+ /**
5696
+ * 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.
5697
+ */
5698
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
5699
+ /**
5700
+ * The theme determines the visual appearance of the component.
5701
+ */
5702
+ "theme"?: "ios" | "md" | "ionic";
5075
5703
  }
5076
5704
  interface IonBackButton {
5077
5705
  /**
@@ -5091,7 +5719,7 @@ declare namespace LocalJSX {
5091
5719
  */
5092
5720
  "icon"?: string | null;
5093
5721
  /**
5094
- * The mode determines which platform styles to use.
5722
+ * The mode determines the platform behaviors of the component.
5095
5723
  */
5096
5724
  "mode"?: "ios" | "md";
5097
5725
  /**
@@ -5102,12 +5730,20 @@ declare namespace LocalJSX {
5102
5730
  * The text to display in the back button.
5103
5731
  */
5104
5732
  "text"?: string | null;
5733
+ /**
5734
+ * The theme determines the visual appearance of the component.
5735
+ */
5736
+ "theme"?: "ios" | "md" | "ionic";
5105
5737
  /**
5106
5738
  * The type of the button.
5107
5739
  */
5108
5740
  "type"?: 'submit' | 'reset' | 'button';
5109
5741
  }
5110
5742
  interface IonBackdrop {
5743
+ /**
5744
+ * The mode determines the platform behaviors of the component.
5745
+ */
5746
+ "mode"?: "ios" | "md";
5111
5747
  /**
5112
5748
  * Emitted when the backdrop is tapped.
5113
5749
  */
@@ -5120,6 +5756,10 @@ declare namespace LocalJSX {
5120
5756
  * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
5121
5757
  */
5122
5758
  "tappable"?: boolean;
5759
+ /**
5760
+ * The theme determines the visual appearance of the component.
5761
+ */
5762
+ "theme"?: "ios" | "md" | "ionic";
5123
5763
  /**
5124
5764
  * If `true`, the backdrop will be visible.
5125
5765
  */
@@ -5131,9 +5771,21 @@ declare namespace LocalJSX {
5131
5771
  */
5132
5772
  "color"?: Color;
5133
5773
  /**
5134
- * The mode determines which platform styles to use.
5774
+ * The mode determines the platform behaviors of the component.
5135
5775
  */
5136
5776
  "mode"?: "ios" | "md";
5777
+ /**
5778
+ * 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.
5779
+ */
5780
+ "shape"?: 'soft' | 'round | rectangular';
5781
+ /**
5782
+ * 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.
5783
+ */
5784
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
5785
+ /**
5786
+ * The theme determines the visual appearance of the component.
5787
+ */
5788
+ "theme"?: "ios" | "md" | "ionic";
5137
5789
  }
5138
5790
  interface IonBreadcrumb {
5139
5791
  /**
@@ -5157,7 +5809,7 @@ declare namespace LocalJSX {
5157
5809
  */
5158
5810
  "href"?: string | undefined;
5159
5811
  /**
5160
- * The mode determines which platform styles to use.
5812
+ * The mode determines the platform behaviors of the component.
5161
5813
  */
5162
5814
  "mode"?: "ios" | "md";
5163
5815
  /**
@@ -5188,6 +5840,10 @@ declare namespace LocalJSX {
5188
5840
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5189
5841
  */
5190
5842
  "target"?: string | undefined;
5843
+ /**
5844
+ * The theme determines the visual appearance of the component.
5845
+ */
5846
+ "theme"?: "ios" | "md" | "ionic";
5191
5847
  }
5192
5848
  interface IonBreadcrumbs {
5193
5849
  /**
@@ -5207,13 +5863,17 @@ declare namespace LocalJSX {
5207
5863
  */
5208
5864
  "maxItems"?: number;
5209
5865
  /**
5210
- * The mode determines which platform styles to use.
5866
+ * The mode determines the platform behaviors of the component.
5211
5867
  */
5212
5868
  "mode"?: "ios" | "md";
5213
5869
  /**
5214
5870
  * Emitted when the collapsed indicator is clicked on.
5215
5871
  */
5216
5872
  "onIonCollapsedClick"?: (event: IonBreadcrumbsCustomEvent<BreadcrumbCollapsedClickEventDetail>) => void;
5873
+ /**
5874
+ * The theme determines the visual appearance of the component.
5875
+ */
5876
+ "theme"?: "ios" | "md" | "ionic";
5217
5877
  }
5218
5878
  interface IonButton {
5219
5879
  /**
@@ -5249,7 +5909,7 @@ declare namespace LocalJSX {
5249
5909
  */
5250
5910
  "href"?: string | undefined;
5251
5911
  /**
5252
- * The mode determines which platform styles to use.
5912
+ * The mode determines the platform behaviors of the component.
5253
5913
  */
5254
5914
  "mode"?: "ios" | "md";
5255
5915
  /**
@@ -5273,13 +5933,13 @@ declare namespace LocalJSX {
5273
5933
  */
5274
5934
  "routerDirection"?: RouterDirection;
5275
5935
  /**
5276
- * Set to `"round"` for a button with more rounded corners.
5936
+ * 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.
5277
5937
  */
5278
- "shape"?: 'round';
5938
+ "shape"?: 'soft' | 'round' | 'rectangular';
5279
5939
  /**
5280
5940
  * 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.
5281
5941
  */
5282
- "size"?: 'small' | 'default' | 'large';
5942
+ "size"?: 'xsmall' | 'small' | 'default' | 'large' | 'xlarge';
5283
5943
  /**
5284
5944
  * If `true`, activates a button with a heavier font weight.
5285
5945
  */
@@ -5288,6 +5948,10 @@ declare namespace LocalJSX {
5288
5948
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5289
5949
  */
5290
5950
  "target"?: string | undefined;
5951
+ /**
5952
+ * The theme determines the visual appearance of the component.
5953
+ */
5954
+ "theme"?: "ios" | "md" | "ionic";
5291
5955
  /**
5292
5956
  * The type of the button.
5293
5957
  */
@@ -5295,9 +5959,17 @@ declare namespace LocalJSX {
5295
5959
  }
5296
5960
  interface IonButtons {
5297
5961
  /**
5298
- * 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)
5962
+ * 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)
5299
5963
  */
5300
5964
  "collapse"?: boolean;
5965
+ /**
5966
+ * The mode determines the platform behaviors of the component.
5967
+ */
5968
+ "mode"?: "ios" | "md";
5969
+ /**
5970
+ * The theme determines the visual appearance of the component.
5971
+ */
5972
+ "theme"?: "ios" | "md" | "ionic";
5301
5973
  }
5302
5974
  interface IonCard {
5303
5975
  /**
@@ -5321,7 +5993,7 @@ declare namespace LocalJSX {
5321
5993
  */
5322
5994
  "href"?: string | undefined;
5323
5995
  /**
5324
- * The mode determines which platform styles to use.
5996
+ * The mode determines the platform behaviors of the component.
5325
5997
  */
5326
5998
  "mode"?: "ios" | "md";
5327
5999
  /**
@@ -5336,10 +6008,18 @@ declare namespace LocalJSX {
5336
6008
  * When using a router, it specifies the transition direction when navigating to another page using `href`.
5337
6009
  */
5338
6010
  "routerDirection"?: RouterDirection;
6011
+ /**
6012
+ * 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"`.
6013
+ */
6014
+ "shape"?: 'soft' | 'round' | 'rectangular';
5339
6015
  /**
5340
6016
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5341
6017
  */
5342
6018
  "target"?: string | undefined;
6019
+ /**
6020
+ * The theme determines the visual appearance of the component.
6021
+ */
6022
+ "theme"?: "ios" | "md" | "ionic";
5343
6023
  /**
5344
6024
  * The type of the button. Only used when an `onclick` or `button` property is present.
5345
6025
  */
@@ -5347,9 +6027,13 @@ declare namespace LocalJSX {
5347
6027
  }
5348
6028
  interface IonCardContent {
5349
6029
  /**
5350
- * The mode determines which platform styles to use.
6030
+ * The mode determines the platform behaviors of the component.
5351
6031
  */
5352
6032
  "mode"?: "ios" | "md";
6033
+ /**
6034
+ * The theme determines the visual appearance of the component.
6035
+ */
6036
+ "theme"?: "ios" | "md" | "ionic";
5353
6037
  }
5354
6038
  interface IonCardHeader {
5355
6039
  /**
@@ -5357,11 +6041,15 @@ declare namespace LocalJSX {
5357
6041
  */
5358
6042
  "color"?: Color;
5359
6043
  /**
5360
- * The mode determines which platform styles to use.
6044
+ * The mode determines the platform behaviors of the component.
5361
6045
  */
5362
6046
  "mode"?: "ios" | "md";
5363
6047
  /**
5364
- * 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).
6048
+ * The theme determines the visual appearance of the component.
6049
+ */
6050
+ "theme"?: "ios" | "md" | "ionic";
6051
+ /**
6052
+ * 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).
5365
6053
  */
5366
6054
  "translucent"?: boolean;
5367
6055
  }
@@ -5371,9 +6059,13 @@ declare namespace LocalJSX {
5371
6059
  */
5372
6060
  "color"?: Color;
5373
6061
  /**
5374
- * The mode determines which platform styles to use.
6062
+ * The mode determines the platform behaviors of the component.
5375
6063
  */
5376
6064
  "mode"?: "ios" | "md";
6065
+ /**
6066
+ * The theme determines the visual appearance of the component.
6067
+ */
6068
+ "theme"?: "ios" | "md" | "ionic";
5377
6069
  }
5378
6070
  interface IonCardTitle {
5379
6071
  /**
@@ -5381,9 +6073,13 @@ declare namespace LocalJSX {
5381
6073
  */
5382
6074
  "color"?: Color;
5383
6075
  /**
5384
- * The mode determines which platform styles to use.
6076
+ * The mode determines the platform behaviors of the component.
5385
6077
  */
5386
6078
  "mode"?: "ios" | "md";
6079
+ /**
6080
+ * The theme determines the visual appearance of the component.
6081
+ */
6082
+ "theme"?: "ios" | "md" | "ionic";
5387
6083
  }
5388
6084
  interface IonCheckbox {
5389
6085
  /**
@@ -5415,7 +6111,7 @@ declare namespace LocalJSX {
5415
6111
  */
5416
6112
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
5417
6113
  /**
5418
- * The mode determines which platform styles to use.
6114
+ * The mode determines the platform behaviors of the component.
5419
6115
  */
5420
6116
  "mode"?: "ios" | "md";
5421
6117
  /**
@@ -5427,7 +6123,7 @@ declare namespace LocalJSX {
5427
6123
  */
5428
6124
  "onIonBlur"?: (event: IonCheckboxCustomEvent<void>) => void;
5429
6125
  /**
5430
- * 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.
6126
+ * 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.
5431
6127
  */
5432
6128
  "onIonChange"?: (event: IonCheckboxCustomEvent<CheckboxChangeEventDetail>) => void;
5433
6129
  /**
@@ -5435,9 +6131,17 @@ declare namespace LocalJSX {
5435
6131
  */
5436
6132
  "onIonFocus"?: (event: IonCheckboxCustomEvent<void>) => void;
5437
6133
  /**
5438
- * If `true`, the user must fill in a value before submitting a form.
6134
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
5439
6135
  */
5440
- "required"?: boolean;
6136
+ "shape"?: 'soft' | 'rectangular';
6137
+ /**
6138
+ * Set to `"small"` for a checkbox with less height and padding.
6139
+ */
6140
+ "size"?: 'small';
6141
+ /**
6142
+ * The theme determines the visual appearance of the component.
6143
+ */
6144
+ "theme"?: "ios" | "md" | "ionic";
5441
6145
  /**
5442
6146
  * 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>`.
5443
6147
  */
@@ -5453,15 +6157,31 @@ declare namespace LocalJSX {
5453
6157
  */
5454
6158
  "disabled"?: boolean;
5455
6159
  /**
5456
- * The mode determines which platform styles to use.
6160
+ * The mode determines the platform behaviors of the component.
5457
6161
  */
5458
6162
  "mode"?: "ios" | "md";
5459
6163
  /**
5460
6164
  * Display an outline style button.
5461
6165
  */
5462
6166
  "outline"?: boolean;
6167
+ /**
6168
+ * 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.
6169
+ */
6170
+ "shape"?: 'soft' | 'round' | 'rectangular';
6171
+ /**
6172
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
6173
+ */
6174
+ "size"?: 'small' | 'large';
6175
+ /**
6176
+ * The theme determines the visual appearance of the component.
6177
+ */
6178
+ "theme"?: "ios" | "md" | "ionic";
5463
6179
  }
5464
6180
  interface IonCol {
6181
+ /**
6182
+ * The mode determines the platform behaviors of the component.
6183
+ */
6184
+ "mode"?: "ios" | "md";
5465
6185
  /**
5466
6186
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
5467
6187
  */
@@ -5558,6 +6278,10 @@ declare namespace LocalJSX {
5558
6278
  * 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.
5559
6279
  */
5560
6280
  "sizeXs"?: string;
6281
+ /**
6282
+ * The theme determines the visual appearance of the component.
6283
+ */
6284
+ "theme"?: "ios" | "md" | "ionic";
5561
6285
  }
5562
6286
  interface IonContent {
5563
6287
  /**
@@ -5576,6 +6300,10 @@ declare namespace LocalJSX {
5576
6300
  * If `true`, the content will scroll behind the headers and footers. This effect can easily be seen by setting the toolbar to transparent.
5577
6301
  */
5578
6302
  "fullscreen"?: boolean;
6303
+ /**
6304
+ * The mode determines the platform behaviors of the component.
6305
+ */
6306
+ "mode"?: "ios" | "md";
5579
6307
  /**
5580
6308
  * Emitted while scrolling. This event is disabled by default. Set `scrollEvents` to `true` to enable.
5581
6309
  */
@@ -5600,6 +6328,10 @@ declare namespace LocalJSX {
5600
6328
  * If you want to disable the content scrolling in the Y axis, set this property to `false`.
5601
6329
  */
5602
6330
  "scrollY"?: boolean;
6331
+ /**
6332
+ * The theme determines the visual appearance of the component.
6333
+ */
6334
+ "theme"?: "ios" | "md" | "ionic";
5603
6335
  }
5604
6336
  interface IonDatetime {
5605
6337
  /**
@@ -5667,7 +6399,7 @@ declare namespace LocalJSX {
5667
6399
  */
5668
6400
  "minuteValues"?: number[] | number | string;
5669
6401
  /**
5670
- * The mode determines which platform styles to use.
6402
+ * The mode determines the platform behaviors of the component.
5671
6403
  */
5672
6404
  "mode"?: "ios" | "md";
5673
6405
  /**
@@ -5730,6 +6462,10 @@ declare namespace LocalJSX {
5730
6462
  * 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.
5731
6463
  */
5732
6464
  "size"?: 'cover' | 'fixed';
6465
+ /**
6466
+ * The theme determines the visual appearance of the component.
6467
+ */
6468
+ "theme"?: "ios" | "md" | "ionic";
5733
6469
  /**
5734
6470
  * 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.
5735
6471
  */
@@ -5757,9 +6493,13 @@ declare namespace LocalJSX {
5757
6493
  */
5758
6494
  "disabled"?: boolean;
5759
6495
  /**
5760
- * The mode determines which platform styles to use.
6496
+ * The mode determines the platform behaviors of the component.
5761
6497
  */
5762
6498
  "mode"?: "ios" | "md";
6499
+ /**
6500
+ * The theme determines the visual appearance of the component.
6501
+ */
6502
+ "theme"?: "ios" | "md" | "ionic";
5763
6503
  }
5764
6504
  interface IonFab {
5765
6505
  /**
@@ -5775,9 +6515,17 @@ declare namespace LocalJSX {
5775
6515
  */
5776
6516
  "horizontal"?: 'start' | 'end' | 'center';
5777
6517
  /**
5778
- * Where to align the fab vertically in the viewport.
6518
+ * The mode determines the platform behaviors of the component.
5779
6519
  */
5780
- "vertical"?: 'top' | 'bottom' | 'center';
6520
+ "mode"?: "ios" | "md";
6521
+ /**
6522
+ * The theme determines the visual appearance of the component.
6523
+ */
6524
+ "theme"?: "ios" | "md" | "ionic";
6525
+ /**
6526
+ * Where to align the fab vertically in the viewport.
6527
+ */
6528
+ "vertical"?: 'top' | 'bottom' | 'center';
5781
6529
  }
5782
6530
  interface IonFabButton {
5783
6531
  /**
@@ -5805,7 +6553,7 @@ declare namespace LocalJSX {
5805
6553
  */
5806
6554
  "href"?: string | undefined;
5807
6555
  /**
5808
- * The mode determines which platform styles to use.
6556
+ * The mode determines the platform behaviors of the component.
5809
6557
  */
5810
6558
  "mode"?: "ios" | "md";
5811
6559
  /**
@@ -5841,7 +6589,11 @@ declare namespace LocalJSX {
5841
6589
  */
5842
6590
  "target"?: string | undefined;
5843
6591
  /**
5844
- * 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).
6592
+ * The theme determines the visual appearance of the component.
6593
+ */
6594
+ "theme"?: "ios" | "md" | "ionic";
6595
+ /**
6596
+ * 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).
5845
6597
  */
5846
6598
  "translucent"?: boolean;
5847
6599
  /**
@@ -5854,22 +6606,34 @@ declare namespace LocalJSX {
5854
6606
  * If `true`, the fab list will show all fab buttons in the list.
5855
6607
  */
5856
6608
  "activated"?: boolean;
6609
+ /**
6610
+ * The mode determines the platform behaviors of the component.
6611
+ */
6612
+ "mode"?: "ios" | "md";
5857
6613
  /**
5858
6614
  * The side the fab list will show on relative to the main fab button.
5859
6615
  */
5860
6616
  "side"?: 'start' | 'end' | 'top' | 'bottom';
6617
+ /**
6618
+ * The theme determines the visual appearance of the component.
6619
+ */
6620
+ "theme"?: "ios" | "md" | "ionic";
5861
6621
  }
5862
6622
  interface IonFooter {
5863
6623
  /**
5864
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
6624
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
5865
6625
  */
5866
6626
  "collapse"?: 'fade';
5867
6627
  /**
5868
- * The mode determines which platform styles to use.
6628
+ * The mode determines the platform behaviors of the component.
5869
6629
  */
5870
6630
  "mode"?: "ios" | "md";
5871
6631
  /**
5872
- * 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.
6632
+ * The theme determines the visual appearance of the component.
6633
+ */
6634
+ "theme"?: "ios" | "md" | "ionic";
6635
+ /**
6636
+ * 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.
5873
6637
  */
5874
6638
  "translucent"?: boolean;
5875
6639
  }
@@ -5878,18 +6642,34 @@ declare namespace LocalJSX {
5878
6642
  * If `true`, the grid will have a fixed width based on the screen size.
5879
6643
  */
5880
6644
  "fixed"?: boolean;
6645
+ /**
6646
+ * The mode determines the platform behaviors of the component.
6647
+ */
6648
+ "mode"?: "ios" | "md";
6649
+ /**
6650
+ * The theme determines the visual appearance of the component.
6651
+ */
6652
+ "theme"?: "ios" | "md" | "ionic";
5881
6653
  }
5882
6654
  interface IonHeader {
5883
6655
  /**
5884
- * 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)
6656
+ * 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)
5885
6657
  */
5886
6658
  "collapse"?: 'condense' | 'fade';
5887
6659
  /**
5888
- * The mode determines which platform styles to use.
6660
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
6661
+ */
6662
+ "divider"?: boolean;
6663
+ /**
6664
+ * The mode determines the platform behaviors of the component.
5889
6665
  */
5890
6666
  "mode"?: "ios" | "md";
5891
6667
  /**
5892
- * 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.
6668
+ * The theme determines the visual appearance of the component.
6669
+ */
6670
+ "theme"?: "ios" | "md" | "ionic";
6671
+ /**
6672
+ * 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.
5893
6673
  */
5894
6674
  "translucent"?: boolean;
5895
6675
  }
@@ -5898,6 +6678,10 @@ declare namespace LocalJSX {
5898
6678
  * 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.
5899
6679
  */
5900
6680
  "alt"?: string;
6681
+ /**
6682
+ * The mode determines the platform behaviors of the component.
6683
+ */
6684
+ "mode"?: "ios" | "md";
5901
6685
  /**
5902
6686
  * Emitted when the img fails to load
5903
6687
  */
@@ -5914,12 +6698,20 @@ declare namespace LocalJSX {
5914
6698
  * The image URL. This attribute is mandatory for the `<img>` element.
5915
6699
  */
5916
6700
  "src"?: string;
6701
+ /**
6702
+ * The theme determines the visual appearance of the component.
6703
+ */
6704
+ "theme"?: "ios" | "md" | "ionic";
5917
6705
  }
5918
6706
  interface IonInfiniteScroll {
5919
6707
  /**
5920
6708
  * 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.
5921
6709
  */
5922
6710
  "disabled"?: boolean;
6711
+ /**
6712
+ * The mode determines the platform behaviors of the component.
6713
+ */
6714
+ "mode"?: "ios" | "md";
5923
6715
  /**
5924
6716
  * 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.
5925
6717
  */
@@ -5928,6 +6720,10 @@ declare namespace LocalJSX {
5928
6720
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
5929
6721
  */
5930
6722
  "position"?: 'top' | 'bottom';
6723
+ /**
6724
+ * The theme determines the visual appearance of the component.
6725
+ */
6726
+ "theme"?: "ios" | "md" | "ionic";
5931
6727
  /**
5932
6728
  * 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.
5933
6729
  */
@@ -5942,6 +6738,14 @@ declare namespace LocalJSX {
5942
6738
  * 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.
5943
6739
  */
5944
6740
  "loadingText"?: string | IonicSafeString;
6741
+ /**
6742
+ * The mode determines the platform behaviors of the component.
6743
+ */
6744
+ "mode"?: "ios" | "md";
6745
+ /**
6746
+ * The theme determines the visual appearance of the component.
6747
+ */
6748
+ "theme"?: "ios" | "md" | "ionic";
5945
6749
  }
5946
6750
  interface IonInput {
5947
6751
  /**
@@ -6001,7 +6805,7 @@ declare namespace LocalJSX {
6001
6805
  */
6002
6806
  "errorText"?: string;
6003
6807
  /**
6004
- * 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.
6808
+ * 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"`.
6005
6809
  */
6006
6810
  "fill"?: 'outline' | 'solid';
6007
6811
  /**
@@ -6017,7 +6821,7 @@ declare namespace LocalJSX {
6017
6821
  */
6018
6822
  "label"?: string;
6019
6823
  /**
6020
- * 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 ("...").
6824
+ * 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.
6021
6825
  */
6022
6826
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
6023
6827
  /**
@@ -6037,7 +6841,7 @@ declare namespace LocalJSX {
6037
6841
  */
6038
6842
  "minlength"?: number;
6039
6843
  /**
6040
- * The mode determines which platform styles to use.
6844
+ * The mode determines the platform behaviors of the component.
6041
6845
  */
6042
6846
  "mode"?: "ios" | "md";
6043
6847
  /**
@@ -6081,9 +6885,13 @@ declare namespace LocalJSX {
6081
6885
  */
6082
6886
  "required"?: boolean;
6083
6887
  /**
6084
- * The shape of the input. If "round" it will have an increased border radius.
6888
+ * 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"`.
6889
+ */
6890
+ "shape"?: 'soft' | 'round' | 'rectangular';
6891
+ /**
6892
+ * 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.
6085
6893
  */
6086
- "shape"?: 'round';
6894
+ "size"?: 'medium' | 'large' | 'xlarge';
6087
6895
  /**
6088
6896
  * If `true`, the element will have its spelling and grammar checked.
6089
6897
  */
@@ -6092,6 +6900,10 @@ declare namespace LocalJSX {
6092
6900
  * 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.
6093
6901
  */
6094
6902
  "step"?: string;
6903
+ /**
6904
+ * The theme determines the visual appearance of the component.
6905
+ */
6906
+ "theme"?: "ios" | "md" | "ionic";
6095
6907
  /**
6096
6908
  * The type of control to display. The default type is text.
6097
6909
  */
@@ -6129,7 +6941,7 @@ declare namespace LocalJSX {
6129
6941
  */
6130
6942
  "color"?: Color;
6131
6943
  /**
6132
- * 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.
6944
+ * 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.
6133
6945
  */
6134
6946
  "detail"?: boolean;
6135
6947
  /**
@@ -6153,7 +6965,7 @@ declare namespace LocalJSX {
6153
6965
  */
6154
6966
  "lines"?: 'full' | 'inset' | 'none';
6155
6967
  /**
6156
- * The mode determines which platform styles to use.
6968
+ * The mode determines the platform behaviors of the component.
6157
6969
  */
6158
6970
  "mode"?: "ios" | "md";
6159
6971
  /**
@@ -6172,6 +6984,10 @@ declare namespace LocalJSX {
6172
6984
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6173
6985
  */
6174
6986
  "target"?: string | undefined;
6987
+ /**
6988
+ * The theme determines the visual appearance of the component.
6989
+ */
6990
+ "theme"?: "ios" | "md" | "ionic";
6175
6991
  /**
6176
6992
  * The type of the button. Only used when an `onclick` or `button` property is present.
6177
6993
  */
@@ -6183,15 +6999,27 @@ declare namespace LocalJSX {
6183
6999
  */
6184
7000
  "color"?: Color;
6185
7001
  /**
6186
- * The mode determines which platform styles to use.
7002
+ * The mode determines the platform behaviors of the component.
6187
7003
  */
6188
7004
  "mode"?: "ios" | "md";
6189
7005
  /**
6190
7006
  * 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
6191
7007
  */
6192
7008
  "sticky"?: boolean;
7009
+ /**
7010
+ * The theme determines the visual appearance of the component.
7011
+ */
7012
+ "theme"?: "ios" | "md" | "ionic";
6193
7013
  }
6194
7014
  interface IonItemGroup {
7015
+ /**
7016
+ * The mode determines the platform behaviors of the component.
7017
+ */
7018
+ "mode"?: "ios" | "md";
7019
+ /**
7020
+ * The theme determines the visual appearance of the component.
7021
+ */
7022
+ "theme"?: "ios" | "md" | "ionic";
6195
7023
  }
6196
7024
  interface IonItemOption {
6197
7025
  /**
@@ -6215,23 +7043,35 @@ declare namespace LocalJSX {
6215
7043
  */
6216
7044
  "href"?: string | undefined;
6217
7045
  /**
6218
- * The mode determines which platform styles to use.
7046
+ * The mode determines the platform behaviors of the component.
6219
7047
  */
6220
7048
  "mode"?: "ios" | "md";
6221
7049
  /**
6222
7050
  * 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).
6223
7051
  */
6224
7052
  "rel"?: string | undefined;
7053
+ /**
7054
+ * 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.
7055
+ */
7056
+ "shape"?: 'soft' | 'round' | 'rectangular';
6225
7057
  /**
6226
7058
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6227
7059
  */
6228
7060
  "target"?: string | undefined;
7061
+ /**
7062
+ * The theme determines the visual appearance of the component.
7063
+ */
7064
+ "theme"?: "ios" | "md" | "ionic";
6229
7065
  /**
6230
7066
  * The type of the button.
6231
7067
  */
6232
7068
  "type"?: 'submit' | 'reset' | 'button';
6233
7069
  }
6234
7070
  interface IonItemOptions {
7071
+ /**
7072
+ * The mode determines the platform behaviors of the component.
7073
+ */
7074
+ "mode"?: "ios" | "md";
6235
7075
  /**
6236
7076
  * Emitted when the item has been fully swiped.
6237
7077
  */
@@ -6240,16 +7080,28 @@ declare namespace LocalJSX {
6240
7080
  * 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.
6241
7081
  */
6242
7082
  "side"?: Side;
7083
+ /**
7084
+ * The theme determines the visual appearance of the component.
7085
+ */
7086
+ "theme"?: "ios" | "md" | "ionic";
6243
7087
  }
6244
7088
  interface IonItemSliding {
6245
7089
  /**
6246
7090
  * If `true`, the user cannot interact with the sliding item.
6247
7091
  */
6248
7092
  "disabled"?: boolean;
7093
+ /**
7094
+ * The mode determines the platform behaviors of the component.
7095
+ */
7096
+ "mode"?: "ios" | "md";
6249
7097
  /**
6250
7098
  * Emitted when the sliding position changes.
6251
7099
  */
6252
7100
  "onIonDrag"?: (event: IonItemSlidingCustomEvent<any>) => void;
7101
+ /**
7102
+ * The theme determines the visual appearance of the component.
7103
+ */
7104
+ "theme"?: "ios" | "md" | "ionic";
6253
7105
  }
6254
7106
  interface IonLabel {
6255
7107
  /**
@@ -6257,13 +7109,17 @@ declare namespace LocalJSX {
6257
7109
  */
6258
7110
  "color"?: Color;
6259
7111
  /**
6260
- * The mode determines which platform styles to use.
7112
+ * The mode determines the platform behaviors of the component.
6261
7113
  */
6262
7114
  "mode"?: "ios" | "md";
6263
7115
  /**
6264
7116
  * The position determines where and how the label behaves inside an item.
6265
7117
  */
6266
7118
  "position"?: 'fixed' | 'stacked' | 'floating';
7119
+ /**
7120
+ * The theme determines the visual appearance of the component.
7121
+ */
7122
+ "theme"?: "ios" | "md" | "ionic";
6267
7123
  }
6268
7124
  interface IonList {
6269
7125
  /**
@@ -6275,9 +7131,17 @@ declare namespace LocalJSX {
6275
7131
  */
6276
7132
  "lines"?: 'full' | 'inset' | 'none';
6277
7133
  /**
6278
- * The mode determines which platform styles to use.
7134
+ * The mode determines the platform behaviors of the component.
6279
7135
  */
6280
7136
  "mode"?: "ios" | "md";
7137
+ /**
7138
+ * 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.
7139
+ */
7140
+ "shape"?: 'soft' | 'round' | 'rectangular';
7141
+ /**
7142
+ * The theme determines the visual appearance of the component.
7143
+ */
7144
+ "theme"?: "ios" | "md" | "ionic";
6281
7145
  }
6282
7146
  interface IonListHeader {
6283
7147
  /**
@@ -6289,9 +7153,13 @@ declare namespace LocalJSX {
6289
7153
  */
6290
7154
  "lines"?: 'full' | 'inset' | 'none';
6291
7155
  /**
6292
- * The mode determines which platform styles to use.
7156
+ * The mode determines the platform behaviors of the component.
6293
7157
  */
6294
7158
  "mode"?: "ios" | "md";
7159
+ /**
7160
+ * The theme determines the visual appearance of the component.
7161
+ */
7162
+ "theme"?: "ios" | "md" | "ionic";
6295
7163
  }
6296
7164
  interface IonLoading {
6297
7165
  /**
@@ -6335,7 +7203,7 @@ declare namespace LocalJSX {
6335
7203
  */
6336
7204
  "message"?: string | IonicSafeString;
6337
7205
  /**
6338
- * The mode determines which platform styles to use.
7206
+ * The mode determines the platform behaviors of the component.
6339
7207
  */
6340
7208
  "mode"?: "ios" | "md";
6341
7209
  /**
@@ -6379,7 +7247,11 @@ declare namespace LocalJSX {
6379
7247
  */
6380
7248
  "spinner"?: SpinnerTypes | null;
6381
7249
  /**
6382
- * 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).
7250
+ * The theme determines the visual appearance of the component.
7251
+ */
7252
+ "theme"?: "ios" | "md" | "ionic";
7253
+ /**
7254
+ * 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).
6383
7255
  */
6384
7256
  "translucent"?: boolean;
6385
7257
  /**
@@ -6404,6 +7276,10 @@ declare namespace LocalJSX {
6404
7276
  * An id for the menu.
6405
7277
  */
6406
7278
  "menuId"?: string;
7279
+ /**
7280
+ * The mode determines the platform behaviors of the component.
7281
+ */
7282
+ "mode"?: "ios" | "md";
6407
7283
  /**
6408
7284
  * Emitted when the menu is closed.
6409
7285
  */
@@ -6428,6 +7304,10 @@ declare namespace LocalJSX {
6428
7304
  * If `true`, swiping the menu is enabled.
6429
7305
  */
6430
7306
  "swipeGesture"?: boolean;
7307
+ /**
7308
+ * The theme determines the visual appearance of the component.
7309
+ */
7310
+ "theme"?: "ios" | "md" | "ionic";
6431
7311
  /**
6432
7312
  * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
6433
7313
  */
@@ -6451,9 +7331,13 @@ declare namespace LocalJSX {
6451
7331
  */
6452
7332
  "menu"?: string;
6453
7333
  /**
6454
- * The mode determines which platform styles to use.
7334
+ * The mode determines the platform behaviors of the component.
6455
7335
  */
6456
7336
  "mode"?: "ios" | "md";
7337
+ /**
7338
+ * The theme determines the visual appearance of the component.
7339
+ */
7340
+ "theme"?: "ios" | "md" | "ionic";
6457
7341
  /**
6458
7342
  * The type of the button.
6459
7343
  */
@@ -6468,6 +7352,14 @@ declare namespace LocalJSX {
6468
7352
  * 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.
6469
7353
  */
6470
7354
  "menu"?: string;
7355
+ /**
7356
+ * The mode determines the platform behaviors of the component.
7357
+ */
7358
+ "mode"?: "ios" | "md";
7359
+ /**
7360
+ * The theme determines the visual appearance of the component.
7361
+ */
7362
+ "theme"?: "ios" | "md" | "ionic";
6471
7363
  }
6472
7364
  interface IonModal {
6473
7365
  /**
@@ -6531,7 +7423,7 @@ declare namespace LocalJSX {
6531
7423
  */
6532
7424
  "leaveAnimation"?: AnimationBuilder;
6533
7425
  /**
6534
- * The mode determines which platform styles to use.
7426
+ * The mode determines the platform behaviors of the component.
6535
7427
  */
6536
7428
  "mode"?: "ios" | "md";
6537
7429
  /**
@@ -6574,10 +7466,18 @@ declare namespace LocalJSX {
6574
7466
  * 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.
6575
7467
  */
6576
7468
  "presentingElement"?: HTMLElement;
7469
+ /**
7470
+ * 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.
7471
+ */
7472
+ "shape"?: 'soft' | 'round' | 'rectangular';
6577
7473
  /**
6578
7474
  * 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.
6579
7475
  */
6580
7476
  "showBackdrop"?: boolean;
7477
+ /**
7478
+ * The theme determines the visual appearance of the component.
7479
+ */
7480
+ "theme"?: "ios" | "md" | "ionic";
6581
7481
  /**
6582
7482
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
6583
7483
  */
@@ -6589,9 +7489,13 @@ declare namespace LocalJSX {
6589
7489
  */
6590
7490
  "animated"?: boolean;
6591
7491
  /**
6592
- * 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.
7492
+ * 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.
6593
7493
  */
6594
7494
  "animation"?: AnimationBuilder;
7495
+ /**
7496
+ * The mode determines the platform behaviors of the component.
7497
+ */
7498
+ "mode"?: "ios" | "md";
6595
7499
  /**
6596
7500
  * Event fired when the nav has changed components
6597
7501
  */
@@ -6612,6 +7516,10 @@ declare namespace LocalJSX {
6612
7516
  * If the nav component should allow for swipe-to-go-back.
6613
7517
  */
6614
7518
  "swipeGesture"?: boolean;
7519
+ /**
7520
+ * The theme determines the visual appearance of the component.
7521
+ */
7522
+ "theme"?: "ios" | "md" | "ionic";
6615
7523
  }
6616
7524
  interface IonNavLink {
6617
7525
  /**
@@ -6622,6 +7530,10 @@ declare namespace LocalJSX {
6622
7530
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
6623
7531
  */
6624
7532
  "componentProps"?: ComponentProps;
7533
+ /**
7534
+ * The mode determines the platform behaviors of the component.
7535
+ */
7536
+ "mode"?: "ios" | "md";
6625
7537
  /**
6626
7538
  * The transition animation when navigating to another page.
6627
7539
  */
@@ -6630,6 +7542,10 @@ declare namespace LocalJSX {
6630
7542
  * The transition direction when navigating to another page.
6631
7543
  */
6632
7544
  "routerDirection"?: RouterDirection;
7545
+ /**
7546
+ * The theme determines the visual appearance of the component.
7547
+ */
7548
+ "theme"?: "ios" | "md" | "ionic";
6633
7549
  }
6634
7550
  interface IonNote {
6635
7551
  /**
@@ -6637,15 +7553,23 @@ declare namespace LocalJSX {
6637
7553
  */
6638
7554
  "color"?: Color;
6639
7555
  /**
6640
- * The mode determines which platform styles to use.
7556
+ * The mode determines the platform behaviors of the component.
6641
7557
  */
6642
7558
  "mode"?: "ios" | "md";
7559
+ /**
7560
+ * The theme determines the visual appearance of the component.
7561
+ */
7562
+ "theme"?: "ios" | "md" | "ionic";
6643
7563
  }
6644
7564
  interface IonPicker {
6645
7565
  /**
6646
- * The mode determines which platform styles to use.
7566
+ * The mode determines the platform behaviors of the component.
6647
7567
  */
6648
7568
  "mode"?: "ios" | "md";
7569
+ /**
7570
+ * The theme determines the visual appearance of the component.
7571
+ */
7572
+ "theme"?: "ios" | "md" | "ionic";
6649
7573
  }
6650
7574
  interface IonPickerColumn {
6651
7575
  /**
@@ -6657,13 +7581,17 @@ declare namespace LocalJSX {
6657
7581
  */
6658
7582
  "disabled"?: boolean;
6659
7583
  /**
6660
- * The mode determines which platform styles to use.
7584
+ * The mode determines the platform behaviors of the component.
6661
7585
  */
6662
7586
  "mode"?: "ios" | "md";
6663
7587
  /**
6664
7588
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
6665
7589
  */
6666
7590
  "onIonChange"?: (event: IonPickerColumnCustomEvent<PickerColumnChangeEventDetail>) => void;
7591
+ /**
7592
+ * The theme determines the visual appearance of the component.
7593
+ */
7594
+ "theme"?: "ios" | "md" | "ionic";
6667
7595
  /**
6668
7596
  * The selected option in the picker.
6669
7597
  */
@@ -6678,6 +7606,14 @@ declare namespace LocalJSX {
6678
7606
  * If `true`, the user cannot interact with the picker column option.
6679
7607
  */
6680
7608
  "disabled"?: boolean;
7609
+ /**
7610
+ * The mode determines the platform behaviors of the component.
7611
+ */
7612
+ "mode"?: "ios" | "md";
7613
+ /**
7614
+ * The theme determines the visual appearance of the component.
7615
+ */
7616
+ "theme"?: "ios" | "md" | "ionic";
6681
7617
  /**
6682
7618
  * The text value of the option.
6683
7619
  */
@@ -6729,7 +7665,7 @@ declare namespace LocalJSX {
6729
7665
  */
6730
7666
  "leaveAnimation"?: AnimationBuilder;
6731
7667
  /**
6732
- * The mode determines which platform styles to use.
7668
+ * The mode determines the platform behaviors of the component.
6733
7669
  */
6734
7670
  "mode"?: "ios" | "md";
6735
7671
  /**
@@ -6768,6 +7704,10 @@ declare namespace LocalJSX {
6768
7704
  * If `true`, a backdrop will be displayed behind the picker.
6769
7705
  */
6770
7706
  "showBackdrop"?: boolean;
7707
+ /**
7708
+ * The theme determines the visual appearance of the component.
7709
+ */
7710
+ "theme"?: "ios" | "md" | "ionic";
6771
7711
  /**
6772
7712
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
6773
7713
  */
@@ -6781,7 +7721,7 @@ declare namespace LocalJSX {
6781
7721
  }
6782
7722
  interface IonPopover {
6783
7723
  /**
6784
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
7724
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
6785
7725
  */
6786
7726
  "alignment"?: PositionAlign;
6787
7727
  /**
@@ -6789,7 +7729,7 @@ declare namespace LocalJSX {
6789
7729
  */
6790
7730
  "animated"?: boolean;
6791
7731
  /**
6792
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
7732
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
6793
7733
  */
6794
7734
  "arrow"?: boolean;
6795
7735
  /**
@@ -6841,7 +7781,7 @@ declare namespace LocalJSX {
6841
7781
  */
6842
7782
  "leaveAnimation"?: AnimationBuilder;
6843
7783
  /**
6844
- * The mode determines which platform styles to use.
7784
+ * The mode determines the platform behaviors of the component.
6845
7785
  */
6846
7786
  "mode"?: "ios" | "md";
6847
7787
  /**
@@ -6893,7 +7833,11 @@ declare namespace LocalJSX {
6893
7833
  */
6894
7834
  "size"?: PopoverSize;
6895
7835
  /**
6896
- * 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).
7836
+ * The theme determines the visual appearance of the component.
7837
+ */
7838
+ "theme"?: "ios" | "md" | "ionic";
7839
+ /**
7840
+ * 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).
6897
7841
  */
6898
7842
  "translucent"?: boolean;
6899
7843
  /**
@@ -6915,13 +7859,17 @@ declare namespace LocalJSX {
6915
7859
  */
6916
7860
  "color"?: Color;
6917
7861
  /**
6918
- * The mode determines which platform styles to use.
7862
+ * The mode determines the platform behaviors of the component.
6919
7863
  */
6920
7864
  "mode"?: "ios" | "md";
6921
7865
  /**
6922
7866
  * If true, reverse the progress bar direction.
6923
7867
  */
6924
7868
  "reversed"?: boolean;
7869
+ /**
7870
+ * The theme determines the visual appearance of the component.
7871
+ */
7872
+ "theme"?: "ios" | "md" | "ionic";
6925
7873
  /**
6926
7874
  * 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).
6927
7875
  */
@@ -6953,7 +7901,7 @@ declare namespace LocalJSX {
6953
7901
  */
6954
7902
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
6955
7903
  /**
6956
- * The mode determines which platform styles to use.
7904
+ * The mode determines the platform behaviors of the component.
6957
7905
  */
6958
7906
  "mode"?: "ios" | "md";
6959
7907
  /**
@@ -6968,6 +7916,10 @@ declare namespace LocalJSX {
6968
7916
  * Emitted when the radio button has focus.
6969
7917
  */
6970
7918
  "onIonFocus"?: (event: IonRadioCustomEvent<void>) => void;
7919
+ /**
7920
+ * The theme determines the visual appearance of the component.
7921
+ */
7922
+ "theme"?: "ios" | "md" | "ionic";
6971
7923
  /**
6972
7924
  * the value of the radio.
6973
7925
  */
@@ -6982,6 +7934,10 @@ declare namespace LocalJSX {
6982
7934
  * 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.
6983
7935
  */
6984
7936
  "compareWith"?: string | RadioGroupCompareFn | null;
7937
+ /**
7938
+ * The mode determines the platform behaviors of the component.
7939
+ */
7940
+ "mode"?: "ios" | "md";
6985
7941
  /**
6986
7942
  * The name of the control, which is submitted with the form data.
6987
7943
  */
@@ -6991,9 +7947,9 @@ declare namespace LocalJSX {
6991
7947
  */
6992
7948
  "onIonChange"?: (event: IonRadioGroupCustomEvent<RadioGroupChangeEventDetail>) => void;
6993
7949
  /**
6994
- * If `true`, the user must fill in a value before submitting a form.
7950
+ * The theme determines the visual appearance of the component.
6995
7951
  */
6996
- "required"?: boolean;
7952
+ "theme"?: "ios" | "md" | "ionic";
6997
7953
  /**
6998
7954
  * the value of the radio group.
6999
7955
  */
@@ -7037,7 +7993,7 @@ declare namespace LocalJSX {
7037
7993
  */
7038
7994
  "min"?: number;
7039
7995
  /**
7040
- * The mode determines which platform styles to use.
7996
+ * The mode determines the platform behaviors of the component.
7041
7997
  */
7042
7998
  "mode"?: "ios" | "md";
7043
7999
  /**
@@ -7084,6 +8040,10 @@ declare namespace LocalJSX {
7084
8040
  * Specifies the value granularity.
7085
8041
  */
7086
8042
  "step"?: number;
8043
+ /**
8044
+ * The theme determines the visual appearance of the component.
8045
+ */
8046
+ "theme"?: "ios" | "md" | "ionic";
7087
8047
  /**
7088
8048
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
7089
8049
  */
@@ -7103,7 +8063,7 @@ declare namespace LocalJSX {
7103
8063
  */
7104
8064
  "disabled"?: boolean;
7105
8065
  /**
7106
- * The mode determines which platform styles to use.
8066
+ * The mode determines the platform behaviors of the component.
7107
8067
  */
7108
8068
  "mode"?: "ios" | "md";
7109
8069
  /**
@@ -7134,8 +8094,16 @@ declare namespace LocalJSX {
7134
8094
  * 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.
7135
8095
  */
7136
8096
  "snapbackDuration"?: string;
8097
+ /**
8098
+ * The theme determines the visual appearance of the component.
8099
+ */
8100
+ "theme"?: "ios" | "md" | "ionic";
7137
8101
  }
7138
8102
  interface IonRefresherContent {
8103
+ /**
8104
+ * The mode determines the platform behaviors of the component.
8105
+ */
8106
+ "mode"?: "ios" | "md";
7139
8107
  /**
7140
8108
  * 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.
7141
8109
  */
@@ -7152,20 +8120,48 @@ declare namespace LocalJSX {
7152
8120
  * 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.
7153
8121
  */
7154
8122
  "refreshingText"?: string | IonicSafeString;
8123
+ /**
8124
+ * The theme determines the visual appearance of the component.
8125
+ */
8126
+ "theme"?: "ios" | "md" | "ionic";
7155
8127
  }
7156
8128
  interface IonReorder {
8129
+ /**
8130
+ * The mode determines the platform behaviors of the component.
8131
+ */
8132
+ "mode"?: "ios" | "md";
8133
+ /**
8134
+ * The theme determines the visual appearance of the component.
8135
+ */
8136
+ "theme"?: "ios" | "md" | "ionic";
7157
8137
  }
7158
8138
  interface IonReorderGroup {
7159
8139
  /**
7160
8140
  * If `true`, the reorder will be hidden.
7161
8141
  */
7162
8142
  "disabled"?: boolean;
8143
+ /**
8144
+ * The mode determines the platform behaviors of the component.
8145
+ */
8146
+ "mode"?: "ios" | "md";
7163
8147
  /**
7164
8148
  * 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.
7165
8149
  */
7166
8150
  "onIonItemReorder"?: (event: IonReorderGroupCustomEvent<ItemReorderEventDetail>) => void;
8151
+ /**
8152
+ * The theme determines the visual appearance of the component.
8153
+ */
8154
+ "theme"?: "ios" | "md" | "ionic";
7167
8155
  }
7168
8156
  interface IonRippleEffect {
8157
+ /**
8158
+ * The mode determines the platform behaviors of the component.
8159
+ */
8160
+ "mode"?: "ios" | "md";
8161
+ /**
8162
+ * The theme determines the visual appearance of the component.
8163
+ */
8164
+ "theme"?: "ios" | "md" | "ionic";
7169
8165
  /**
7170
8166
  * 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.
7171
8167
  */
@@ -7188,10 +8184,18 @@ declare namespace LocalJSX {
7188
8184
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
7189
8185
  */
7190
8186
  "componentProps"?: { [key: string]: any };
8187
+ /**
8188
+ * The mode determines the platform behaviors of the component.
8189
+ */
8190
+ "mode"?: "ios" | "md";
7191
8191
  /**
7192
8192
  * Used internally by `ion-router` to know when this route did change.
7193
8193
  */
7194
8194
  "onIonRouteDataChanged"?: (event: IonRouteCustomEvent<any>) => void;
8195
+ /**
8196
+ * The theme determines the visual appearance of the component.
8197
+ */
8198
+ "theme"?: "ios" | "md" | "ionic";
7195
8199
  /**
7196
8200
  * 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.
7197
8201
  */
@@ -7212,6 +8216,10 @@ declare namespace LocalJSX {
7212
8216
  "to": string | undefined | null;
7213
8217
  }
7214
8218
  interface IonRouter {
8219
+ /**
8220
+ * The mode determines the platform behaviors of the component.
8221
+ */
8222
+ "mode"?: "ios" | "md";
7215
8223
  /**
7216
8224
  * Emitted when the route had changed
7217
8225
  */
@@ -7224,6 +8232,10 @@ declare namespace LocalJSX {
7224
8232
  * 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.
7225
8233
  */
7226
8234
  "root"?: string;
8235
+ /**
8236
+ * The theme determines the visual appearance of the component.
8237
+ */
8238
+ "theme"?: "ios" | "md" | "ionic";
7227
8239
  /**
7228
8240
  * 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.
7229
8241
  */
@@ -7238,6 +8250,10 @@ declare namespace LocalJSX {
7238
8250
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
7239
8251
  */
7240
8252
  "href"?: string | undefined;
8253
+ /**
8254
+ * The mode determines the platform behaviors of the component.
8255
+ */
8256
+ "mode"?: "ios" | "md";
7241
8257
  /**
7242
8258
  * 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).
7243
8259
  */
@@ -7254,6 +8270,10 @@ declare namespace LocalJSX {
7254
8270
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
7255
8271
  */
7256
8272
  "target"?: string | undefined;
8273
+ /**
8274
+ * The theme determines the visual appearance of the component.
8275
+ */
8276
+ "theme"?: "ios" | "md" | "ionic";
7257
8277
  }
7258
8278
  interface IonRouterOutlet {
7259
8279
  /**
@@ -7265,11 +8285,23 @@ declare namespace LocalJSX {
7265
8285
  */
7266
8286
  "animation"?: AnimationBuilder;
7267
8287
  /**
7268
- * The mode determines which platform styles to use.
8288
+ * The mode determines the platform behaviors of the component.
7269
8289
  */
7270
8290
  "mode"?: "ios" | "md";
8291
+ /**
8292
+ * The theme determines the visual appearance of the component.
8293
+ */
8294
+ "theme"?: "ios" | "md" | "ionic";
7271
8295
  }
7272
8296
  interface IonRow {
8297
+ /**
8298
+ * The mode determines the platform behaviors of the component.
8299
+ */
8300
+ "mode"?: "ios" | "md";
8301
+ /**
8302
+ * The theme determines the visual appearance of the component.
8303
+ */
8304
+ "theme"?: "ios" | "md" | "ionic";
7273
8305
  }
7274
8306
  interface IonSearchbar {
7275
8307
  /**
@@ -7289,15 +8321,15 @@ declare namespace LocalJSX {
7289
8321
  */
7290
8322
  "autocorrect"?: 'on' | 'off';
7291
8323
  /**
7292
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
8324
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
7293
8325
  */
7294
8326
  "cancelButtonIcon"?: string;
7295
8327
  /**
7296
- * Set the the cancel button text. Only applies to `ios` mode.
8328
+ * Set the the cancel button text. Only available when the theme is `"ios"`.
7297
8329
  */
7298
8330
  "cancelButtonText"?: string;
7299
8331
  /**
7300
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
8332
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
7301
8333
  */
7302
8334
  "clearIcon"?: string;
7303
8335
  /**
@@ -7329,7 +8361,7 @@ declare namespace LocalJSX {
7329
8361
  */
7330
8362
  "minlength"?: number;
7331
8363
  /**
7332
- * The mode determines which platform styles to use.
8364
+ * The mode determines the platform behaviors of the component.
7333
8365
  */
7334
8366
  "mode"?: "ios" | "md";
7335
8367
  /**
@@ -7365,7 +8397,7 @@ declare namespace LocalJSX {
7365
8397
  */
7366
8398
  "placeholder"?: string;
7367
8399
  /**
7368
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
8400
+ * 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.
7369
8401
  */
7370
8402
  "searchIcon"?: string;
7371
8403
  /**
@@ -7380,6 +8412,10 @@ declare namespace LocalJSX {
7380
8412
  * If `true`, enable spellcheck on the input.
7381
8413
  */
7382
8414
  "spellcheck"?: boolean;
8415
+ /**
8416
+ * The theme determines the visual appearance of the component.
8417
+ */
8418
+ "theme"?: "ios" | "md" | "ionic";
7383
8419
  /**
7384
8420
  * Set the type of the input.
7385
8421
  */
@@ -7399,7 +8435,7 @@ declare namespace LocalJSX {
7399
8435
  */
7400
8436
  "disabled"?: boolean;
7401
8437
  /**
7402
- * The mode determines which platform styles to use.
8438
+ * The mode determines the platform behaviors of the component.
7403
8439
  */
7404
8440
  "mode"?: "ios" | "md";
7405
8441
  /**
@@ -7418,6 +8454,10 @@ declare namespace LocalJSX {
7418
8454
  * If `true`, users will be able to swipe between segment buttons to activate them.
7419
8455
  */
7420
8456
  "swipeGesture"?: boolean;
8457
+ /**
8458
+ * The theme determines the visual appearance of the component.
8459
+ */
8460
+ "theme"?: "ios" | "md" | "ionic";
7421
8461
  /**
7422
8462
  * the value of the segment.
7423
8463
  */
@@ -7437,9 +8477,13 @@ declare namespace LocalJSX {
7437
8477
  */
7438
8478
  "layout"?: SegmentButtonLayout;
7439
8479
  /**
7440
- * The mode determines which platform styles to use.
8480
+ * The mode determines the platform behaviors of the component.
7441
8481
  */
7442
8482
  "mode"?: "ios" | "md";
8483
+ /**
8484
+ * The theme determines the visual appearance of the component.
8485
+ */
8486
+ "theme"?: "ios" | "md" | "ionic";
7443
8487
  /**
7444
8488
  * The type of the button.
7445
8489
  */
@@ -7479,11 +8523,11 @@ declare namespace LocalJSX {
7479
8523
  */
7480
8524
  "disabled"?: boolean;
7481
8525
  /**
7482
- * 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.
8526
+ * 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.
7483
8527
  */
7484
8528
  "expandedIcon"?: string;
7485
8529
  /**
7486
- * 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.
8530
+ * 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.
7487
8531
  */
7488
8532
  "fill"?: 'outline' | 'solid';
7489
8533
  /**
@@ -7507,7 +8551,7 @@ declare namespace LocalJSX {
7507
8551
  */
7508
8552
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
7509
8553
  /**
7510
- * The mode determines which platform styles to use.
8554
+ * The mode determines the platform behaviors of the component.
7511
8555
  */
7512
8556
  "mode"?: "ios" | "md";
7513
8557
  /**
@@ -7546,20 +8590,24 @@ declare namespace LocalJSX {
7546
8590
  * The text to display when the select is empty.
7547
8591
  */
7548
8592
  "placeholder"?: string;
7549
- /**
7550
- * If `true`, the user must fill in a value before submitting a form.
7551
- */
7552
- "required"?: boolean;
7553
8593
  /**
7554
8594
  * The text to display instead of the selected option's value.
7555
8595
  */
7556
8596
  "selectedText"?: string | null;
7557
8597
  /**
7558
- * The shape of the select. If "round" it will have an increased border radius.
8598
+ * Set to `"soft"` for a select with slightly rounded corners, `"round"` for a select with fully rounded corners, or `"rectangular"` for a select without rounded corners. Defaults to `"round"` for the `"ionic"` theme, undefined for all other themes.
7559
8599
  */
7560
- "shape"?: 'round';
8600
+ "shape"?: 'soft' | 'round' | 'rectangular';
7561
8601
  /**
7562
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
8602
+ * The size of the select. If "large" it will increase the height of the select, while "small" and "medium" provide progressively smaller heights. Defaults to `"medium"` for the ionic theme, and undefined for all other themes.
8603
+ */
8604
+ "size"?: 'small' | 'medium' | 'large';
8605
+ /**
8606
+ * The theme determines the visual appearance of the component.
8607
+ */
8608
+ "theme"?: "ios" | "md" | "ionic";
8609
+ /**
8610
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
7563
8611
  */
7564
8612
  "toggleIcon"?: string;
7565
8613
  /**
@@ -7577,6 +8625,14 @@ declare namespace LocalJSX {
7577
8625
  * 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.
7578
8626
  */
7579
8627
  "disabled"?: boolean;
8628
+ /**
8629
+ * The mode determines the platform behaviors of the component.
8630
+ */
8631
+ "mode"?: "ios" | "md";
8632
+ /**
8633
+ * The theme determines the visual appearance of the component.
8634
+ */
8635
+ "theme"?: "ios" | "md" | "ionic";
7580
8636
  /**
7581
8637
  * The text value of the option.
7582
8638
  */
@@ -7591,6 +8647,10 @@ declare namespace LocalJSX {
7591
8647
  * The text content of the popover body
7592
8648
  */
7593
8649
  "message"?: string;
8650
+ /**
8651
+ * The mode determines the platform behaviors of the component.
8652
+ */
8653
+ "mode"?: "ios" | "md";
7594
8654
  /**
7595
8655
  * If true, the select accepts multiple values
7596
8656
  */
@@ -7603,12 +8663,24 @@ declare namespace LocalJSX {
7603
8663
  * The subheader text of the popover
7604
8664
  */
7605
8665
  "subHeader"?: string;
8666
+ /**
8667
+ * The theme determines the visual appearance of the component.
8668
+ */
8669
+ "theme"?: "ios" | "md" | "ionic";
7606
8670
  }
7607
8671
  interface IonSkeletonText {
7608
8672
  /**
7609
8673
  * If `true`, the skeleton text will animate.
7610
8674
  */
7611
8675
  "animated"?: boolean;
8676
+ /**
8677
+ * The mode determines the platform behaviors of the component.
8678
+ */
8679
+ "mode"?: "ios" | "md";
8680
+ /**
8681
+ * The theme determines the visual appearance of the component.
8682
+ */
8683
+ "theme"?: "ios" | "md" | "ionic";
7612
8684
  }
7613
8685
  interface IonSpinner {
7614
8686
  /**
@@ -7619,6 +8691,10 @@ declare namespace LocalJSX {
7619
8691
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
7620
8692
  */
7621
8693
  "duration"?: number;
8694
+ /**
8695
+ * The mode determines the platform behaviors of the component.
8696
+ */
8697
+ "mode"?: "ios" | "md";
7622
8698
  /**
7623
8699
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
7624
8700
  */
@@ -7627,6 +8703,14 @@ declare namespace LocalJSX {
7627
8703
  * If `true`, the spinner's animation will be paused.
7628
8704
  */
7629
8705
  "paused"?: boolean;
8706
+ /**
8707
+ * 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.
8708
+ */
8709
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
8710
+ /**
8711
+ * The theme determines the visual appearance of the component.
8712
+ */
8713
+ "theme"?: "ios" | "md" | "ionic";
7630
8714
  }
7631
8715
  interface IonSplitPane {
7632
8716
  /**
@@ -7637,10 +8721,18 @@ declare namespace LocalJSX {
7637
8721
  * If `true`, the split pane will be hidden.
7638
8722
  */
7639
8723
  "disabled"?: boolean;
8724
+ /**
8725
+ * The mode determines the platform behaviors of the component.
8726
+ */
8727
+ "mode"?: "ios" | "md";
7640
8728
  /**
7641
8729
  * Expression to be called when the split-pane visibility has changed
7642
8730
  */
7643
8731
  "onIonSplitPaneVisible"?: (event: IonSplitPaneCustomEvent<{ visible: boolean }>) => void;
8732
+ /**
8733
+ * The theme determines the visual appearance of the component.
8734
+ */
8735
+ "theme"?: "ios" | "md" | "ionic";
7644
8736
  /**
7645
8737
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
7646
8738
  */
@@ -7651,10 +8743,18 @@ declare namespace LocalJSX {
7651
8743
  * The component to display inside of the tab.
7652
8744
  */
7653
8745
  "component"?: ComponentRef;
8746
+ /**
8747
+ * The mode determines the platform behaviors of the component.
8748
+ */
8749
+ "mode"?: "ios" | "md";
7654
8750
  /**
7655
8751
  * 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.
7656
8752
  */
7657
8753
  "tab": string;
8754
+ /**
8755
+ * The theme determines the visual appearance of the component.
8756
+ */
8757
+ "theme"?: "ios" | "md" | "ionic";
7658
8758
  }
7659
8759
  interface IonTabBar {
7660
8760
  /**
@@ -7662,7 +8762,11 @@ declare namespace LocalJSX {
7662
8762
  */
7663
8763
  "color"?: Color;
7664
8764
  /**
7665
- * The mode determines which platform styles to use.
8765
+ * 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"`.
8766
+ */
8767
+ "expand"?: 'compact' | 'full';
8768
+ /**
8769
+ * The mode determines the platform behaviors of the component.
7666
8770
  */
7667
8771
  "mode"?: "ios" | "md";
7668
8772
  /**
@@ -7670,7 +8774,15 @@ declare namespace LocalJSX {
7670
8774
  */
7671
8775
  "selectedTab"?: string;
7672
8776
  /**
7673
- * 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).
8777
+ * 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.
8778
+ */
8779
+ "shape"?: 'soft' | 'round' | 'rectangular';
8780
+ /**
8781
+ * The theme determines the visual appearance of the component.
8782
+ */
8783
+ "theme"?: "ios" | "md" | "ionic";
8784
+ /**
8785
+ * 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).
7674
8786
  */
7675
8787
  "translucent"?: boolean;
7676
8788
  }
@@ -7692,7 +8804,7 @@ declare namespace LocalJSX {
7692
8804
  */
7693
8805
  "layout"?: TabButtonLayout;
7694
8806
  /**
7695
- * The mode determines which platform styles to use.
8807
+ * The mode determines the platform behaviors of the component.
7696
8808
  */
7697
8809
  "mode"?: "ios" | "md";
7698
8810
  /**
@@ -7703,6 +8815,10 @@ declare namespace LocalJSX {
7703
8815
  * The selected tab component
7704
8816
  */
7705
8817
  "selected"?: boolean;
8818
+ /**
8819
+ * Set to `"soft"` for a tab-button with slightly rounded corners, `"round"` for a tab-button with fully rounded corners, or `"rectangular"` for a tab-button without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
8820
+ */
8821
+ "shape"?: 'soft' | 'round' | 'rectangular';
7706
8822
  /**
7707
8823
  * 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.
7708
8824
  */
@@ -7711,8 +8827,16 @@ declare namespace LocalJSX {
7711
8827
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
7712
8828
  */
7713
8829
  "target"?: string | undefined;
8830
+ /**
8831
+ * The theme determines the visual appearance of the component.
8832
+ */
8833
+ "theme"?: "ios" | "md" | "ionic";
7714
8834
  }
7715
8835
  interface IonTabs {
8836
+ /**
8837
+ * The mode determines the platform behaviors of the component.
8838
+ */
8839
+ "mode"?: "ios" | "md";
7716
8840
  /**
7717
8841
  * Emitted when the navigation has finished transitioning to a new component.
7718
8842
  */
@@ -7721,6 +8845,10 @@ declare namespace LocalJSX {
7721
8845
  * Emitted when the navigation is about to transition to a new component.
7722
8846
  */
7723
8847
  "onIonTabsWillChange"?: (event: IonTabsCustomEvent<{ tab: string }>) => void;
8848
+ /**
8849
+ * The theme determines the visual appearance of the component.
8850
+ */
8851
+ "theme"?: "ios" | "md" | "ionic";
7724
8852
  }
7725
8853
  interface IonText {
7726
8854
  /**
@@ -7728,9 +8856,13 @@ declare namespace LocalJSX {
7728
8856
  */
7729
8857
  "color"?: Color;
7730
8858
  /**
7731
- * The mode determines which platform styles to use.
8859
+ * The mode determines the platform behaviors of the component.
7732
8860
  */
7733
8861
  "mode"?: "ios" | "md";
8862
+ /**
8863
+ * The theme determines the visual appearance of the component.
8864
+ */
8865
+ "theme"?: "ios" | "md" | "ionic";
7734
8866
  }
7735
8867
  interface IonTextarea {
7736
8868
  /**
@@ -7782,7 +8914,7 @@ declare namespace LocalJSX {
7782
8914
  */
7783
8915
  "errorText"?: string;
7784
8916
  /**
7785
- * 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.
8917
+ * 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"`.
7786
8918
  */
7787
8919
  "fill"?: 'outline' | 'solid';
7788
8920
  /**
@@ -7810,7 +8942,7 @@ declare namespace LocalJSX {
7810
8942
  */
7811
8943
  "minlength"?: number;
7812
8944
  /**
7813
- * The mode determines which platform styles to use.
8945
+ * The mode determines the platform behaviors of the component.
7814
8946
  */
7815
8947
  "mode"?: "ios" | "md";
7816
8948
  /**
@@ -7850,13 +8982,21 @@ declare namespace LocalJSX {
7850
8982
  */
7851
8983
  "rows"?: number;
7852
8984
  /**
7853
- * The shape of the textarea. If "round" it will have an increased border radius.
8985
+ * 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.
7854
8986
  */
7855
- "shape"?: 'round';
8987
+ "shape"?: 'soft' | 'round' | 'rectangular';
8988
+ /**
8989
+ * 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.
8990
+ */
8991
+ "size"?: 'small' | 'medium' | 'large';
7856
8992
  /**
7857
8993
  * If `true`, the element will have its spelling and grammar checked.
7858
8994
  */
7859
8995
  "spellcheck"?: boolean;
8996
+ /**
8997
+ * The theme determines the visual appearance of the component.
8998
+ */
8999
+ "theme"?: "ios" | "md" | "ionic";
7860
9000
  /**
7861
9001
  * The value of the textarea.
7862
9002
  */
@@ -7867,16 +9007,32 @@ declare namespace LocalJSX {
7867
9007
  "wrap"?: 'hard' | 'soft' | 'off';
7868
9008
  }
7869
9009
  interface IonThumbnail {
9010
+ /**
9011
+ * The mode determines the platform behaviors of the component.
9012
+ */
9013
+ "mode"?: "ios" | "md";
9014
+ /**
9015
+ * The theme determines the visual appearance of the component.
9016
+ */
9017
+ "theme"?: "ios" | "md" | "ionic";
7870
9018
  }
7871
9019
  interface IonTitle {
7872
9020
  /**
7873
9021
  * 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).
7874
9022
  */
7875
9023
  "color"?: Color;
9024
+ /**
9025
+ * The mode determines the platform behaviors of the component.
9026
+ */
9027
+ "mode"?: "ios" | "md";
7876
9028
  /**
7877
9029
  * The size of the toolbar title.
7878
9030
  */
7879
9031
  "size"?: 'large' | 'small';
9032
+ /**
9033
+ * The theme determines the visual appearance of the component.
9034
+ */
9035
+ "theme"?: "ios" | "md" | "ionic";
7880
9036
  }
7881
9037
  interface IonToast {
7882
9038
  /**
@@ -7936,7 +9092,7 @@ declare namespace LocalJSX {
7936
9092
  */
7937
9093
  "message"?: string | IonicSafeString;
7938
9094
  /**
7939
- * The mode determines which platform styles to use.
9095
+ * The mode determines the platform behaviors of the component.
7940
9096
  */
7941
9097
  "mode"?: "ios" | "md";
7942
9098
  /**
@@ -7979,12 +9135,20 @@ declare namespace LocalJSX {
7979
9135
  * The element to anchor the toast's position to. Can be set as a direct reference or the ID of the element. With `position="bottom"`, the toast will sit above the chosen element. With `position="top"`, the toast will sit below the chosen element. With `position="middle"`, the value of `positionAnchor` is ignored.
7980
9136
  */
7981
9137
  "positionAnchor"?: HTMLElement | string;
9138
+ /**
9139
+ * Set to `"soft"` for a toast with slightly rounded corners, `"round"` for a toast with fully rounded corners, or `"rectangular"` for a toast without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
9140
+ */
9141
+ "shape"?: 'soft' | 'round' | 'rectangular';
7982
9142
  /**
7983
9143
  * If set to 'vertical', the Toast can be dismissed with a swipe gesture. The swipe direction is determined by the value of the `position` property: `top`: The Toast can be swiped up to dismiss. `bottom`: The Toast can be swiped down to dismiss. `middle`: The Toast can be swiped up or down to dismiss.
7984
9144
  */
7985
9145
  "swipeGesture"?: ToastSwipeGestureDirection;
7986
9146
  /**
7987
- * 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).
9147
+ * The theme determines the visual appearance of the component.
9148
+ */
9149
+ "theme"?: "ios" | "md" | "ionic";
9150
+ /**
9151
+ * 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).
7988
9152
  */
7989
9153
  "translucent"?: boolean;
7990
9154
  /**
@@ -8022,7 +9186,7 @@ declare namespace LocalJSX {
8022
9186
  */
8023
9187
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
8024
9188
  /**
8025
- * The mode determines which platform styles to use.
9189
+ * The mode determines the platform behaviors of the component.
8026
9190
  */
8027
9191
  "mode"?: "ios" | "md";
8028
9192
  /**
@@ -8042,9 +9206,9 @@ declare namespace LocalJSX {
8042
9206
  */
8043
9207
  "onIonFocus"?: (event: IonToggleCustomEvent<void>) => void;
8044
9208
  /**
8045
- * If `true`, the user must fill in a value before submitting a form.
9209
+ * The theme determines the visual appearance of the component.
8046
9210
  */
8047
- "required"?: boolean;
9211
+ "theme"?: "ios" | "md" | "ionic";
8048
9212
  /**
8049
9213
  * 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>`.
8050
9214
  */
@@ -8056,9 +9220,13 @@ declare namespace LocalJSX {
8056
9220
  */
8057
9221
  "color"?: Color;
8058
9222
  /**
8059
- * The mode determines which platform styles to use.
9223
+ * The mode determines the platform behaviors of the component.
8060
9224
  */
8061
9225
  "mode"?: "ios" | "md";
9226
+ /**
9227
+ * The theme determines the visual appearance of the component.
9228
+ */
9229
+ "theme"?: "ios" | "md" | "ionic";
8062
9230
  }
8063
9231
  interface IntrinsicElements {
8064
9232
  "ion-accordion": IonAccordion;