@ionic/core 8.7.4-dev.11756220757.185b8cbf → 8.7.4-dev.11756465095.1387c832

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 (929) hide show
  1. package/components/action-sheet.js +13 -9
  2. package/components/alert.js +14 -11
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +9 -6
  5. package/components/button.js +41 -10
  6. package/components/buttons.js +11 -8
  7. package/components/capacitor.js +1 -1
  8. package/components/caret-down.js +6 -0
  9. package/components/caret-left.js +6 -0
  10. package/components/caret-right.js +6 -0
  11. package/components/checkbox.js +31 -12
  12. package/components/content.js +14 -12
  13. package/components/data.js +5 -5
  14. package/components/focus-visible.js +23 -1
  15. package/components/framework-delegate.js +3 -1
  16. package/components/header.js +28 -16
  17. package/components/helpers.js +42 -3
  18. package/components/index5.js +8 -8
  19. package/components/index6.js +1 -1
  20. package/components/index7.js +111 -150
  21. package/components/index8.js +150 -111
  22. package/components/input-shims.js +2 -2
  23. package/components/input.utils.js +1 -1
  24. package/components/ion-accordion-group.js +23 -5
  25. package/components/ion-accordion.js +32 -21
  26. package/components/ion-app.js +12 -77
  27. package/components/ion-avatar.js +58 -5
  28. package/components/ion-back-button.js +27 -19
  29. package/components/ion-badge.js +73 -9
  30. package/components/ion-breadcrumb.js +43 -10
  31. package/components/ion-breadcrumbs.js +8 -5
  32. package/components/ion-card-content.js +10 -7
  33. package/components/ion-card-header.js +9 -6
  34. package/components/ion-card-subtitle.js +8 -5
  35. package/components/ion-card-title.js +8 -5
  36. package/components/ion-card.js +21 -9
  37. package/components/ion-chip.js +53 -8
  38. package/components/ion-col.js +5 -5
  39. package/components/ion-datetime-button.js +8 -5
  40. package/components/ion-datetime.js +100 -22
  41. package/components/ion-divider.d.ts +11 -0
  42. package/components/ion-divider.js +70 -0
  43. package/components/ion-fab-button.js +31 -15
  44. package/components/ion-fab-list.js +5 -5
  45. package/components/ion-fab.js +6 -6
  46. package/components/ion-footer.js +18 -13
  47. package/components/ion-grid.js +5 -5
  48. package/components/ion-img.js +5 -2
  49. package/components/ion-infinite-scroll-content.js +11 -8
  50. package/components/ion-infinite-scroll.js +78 -6
  51. package/components/ion-input-otp.js +9 -6
  52. package/components/ion-input-password-toggle.js +51 -13
  53. package/components/ion-input.js +125 -88
  54. package/components/ion-item-divider.js +8 -5
  55. package/components/ion-item-group.js +8 -5
  56. package/components/ion-item-option.js +36 -9
  57. package/components/ion-item-options.js +10 -7
  58. package/components/ion-item-sliding.js +5 -5
  59. package/components/ion-loading.js +12 -9
  60. package/components/ion-menu-button.js +26 -10
  61. package/components/ion-menu-toggle.js +5 -5
  62. package/components/ion-menu.js +13 -8
  63. package/components/ion-nav-link.js +1 -1
  64. package/components/ion-nav.js +7 -5
  65. package/components/ion-note.js +8 -5
  66. package/components/ion-picker-legacy.js +7 -7
  67. package/components/ion-progress-bar.js +25 -7
  68. package/components/ion-range.js +12 -9
  69. package/components/ion-refresher-content.js +23 -8
  70. package/components/ion-refresher.js +10 -7
  71. package/components/ion-reorder-group.js +5 -5
  72. package/components/ion-reorder.js +30 -5
  73. package/components/ion-router-link.js +6 -6
  74. package/components/ion-router-outlet.js +4 -4
  75. package/components/ion-row.js +5 -2
  76. package/components/ion-searchbar.js +137 -23
  77. package/components/ion-segment-button.js +10 -7
  78. package/components/ion-segment-content.js +1 -1
  79. package/components/ion-segment-view.js +5 -2
  80. package/components/ion-segment.js +10 -7
  81. package/components/ion-select-option.js +5 -2
  82. package/components/ion-select.js +117 -33
  83. package/components/ion-skeleton-text.js +5 -5
  84. package/components/ion-split-pane.js +11 -8
  85. package/components/ion-tab-bar.js +39 -9
  86. package/components/ion-tab-button.js +25 -7
  87. package/components/ion-tab.js +2 -2
  88. package/components/ion-tabs.js +2 -2
  89. package/components/ion-text.js +5 -5
  90. package/components/ion-textarea.js +57 -71
  91. package/components/ion-thumbnail.js +5 -2
  92. package/components/ion-toast.js +37 -12
  93. package/components/ion-toggle.js +74 -17
  94. package/components/ionic-global.js +349 -15
  95. package/components/ios.transition.js +1 -0
  96. package/components/item.js +39 -14
  97. package/components/keyboard-controller.js +4 -2
  98. package/components/label.js +8 -5
  99. package/components/list-header.js +10 -7
  100. package/components/list.js +27 -6
  101. package/components/list2.js +6 -0
  102. package/components/modal.js +48 -20
  103. package/components/notch-controller.js +1 -1
  104. package/components/overlays.js +20 -112
  105. package/components/picker-column-option.js +10 -7
  106. package/components/picker-column.js +7 -44
  107. package/components/picker-column2.js +4 -4
  108. package/components/picker.js +7 -4
  109. package/components/popover.js +12 -9
  110. package/components/radio-group.js +10 -5
  111. package/components/radio.js +11 -8
  112. package/components/ripple-effect.js +15 -7
  113. package/components/select-modal.js +4 -4
  114. package/components/select-popover.js +8 -2
  115. package/components/spinner.js +31 -8
  116. package/components/status-tap.js +1 -1
  117. package/components/title.js +10 -7
  118. package/components/toolbar.js +153 -9
  119. package/components/x.js +6 -0
  120. package/css/core.css +1 -1
  121. package/css/core.css.map +1 -1
  122. package/css/display.css +1 -1
  123. package/css/display.css.map +1 -1
  124. package/css/flex-utils.css +1 -1
  125. package/css/flex-utils.css.map +1 -1
  126. package/css/float-elements.css.map +1 -1
  127. package/css/global.bundle.css.map +1 -1
  128. package/css/ionic/bundle.ionic.css +1 -0
  129. package/css/ionic/bundle.ionic.css.map +1 -0
  130. package/css/ionic/core.ionic.css +1 -0
  131. package/css/ionic/core.ionic.css.map +1 -0
  132. package/css/ionic/global.bundle.ionic.css +1 -0
  133. package/css/ionic/global.bundle.ionic.css.map +1 -0
  134. package/css/ionic/ionic-swiper.ionic.css +1 -0
  135. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  136. package/css/ionic/link.ionic.css +1 -0
  137. package/css/ionic/link.ionic.css.map +1 -0
  138. package/css/ionic/structure.ionic.css +1 -0
  139. package/css/ionic/structure.ionic.css.map +1 -0
  140. package/css/ionic/typography.ionic.css +1 -0
  141. package/css/ionic/typography.ionic.css.map +1 -0
  142. package/css/ionic/utils.bundle.ionic.css +1 -0
  143. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  144. package/css/ionic-swiper.css +1 -1
  145. package/css/ionic-swiper.css.map +1 -1
  146. package/css/ionic.bundle.css +1 -1
  147. package/css/ionic.bundle.css.map +1 -1
  148. package/css/normalize.css.map +1 -1
  149. package/css/padding.css.map +1 -1
  150. package/css/palettes/dark.always.css.map +1 -1
  151. package/css/palettes/dark.class.css.map +1 -1
  152. package/css/palettes/dark.system.css.map +1 -1
  153. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  154. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  156. package/css/palettes/high-contrast.always.css.map +1 -1
  157. package/css/palettes/high-contrast.class.css.map +1 -1
  158. package/css/palettes/high-contrast.system.css.map +1 -1
  159. package/css/structure.css.map +1 -1
  160. package/css/text-alignment.css.map +1 -1
  161. package/css/text-transformation.css.map +1 -1
  162. package/css/typography.css.map +1 -1
  163. package/css/utils.bundle.css +1 -1
  164. package/css/utils.bundle.css.map +1 -1
  165. package/dist/cjs/{animation-ZJ1lAkZD.js → animation-BXRtNUgm.js} +2 -2
  166. package/dist/cjs/{app-globals-77ZfuXXk.js → app-globals-x_8DXqdl.js} +1 -1
  167. package/dist/cjs/{button-active-BzZenWWH.js → button-active-BcEaeF5Y.js} +1 -1
  168. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CVcQYFDK.js} +3 -3
  169. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  170. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  171. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  172. package/dist/cjs/{data-DW6ofvJ8.js → data-Crxp8jrQ.js} +5 -5
  173. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  174. package/dist/cjs/{framework-delegate-WkyjrnCx.js → framework-delegate-D94PxJL6.js} +4 -2
  175. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-r0GBrUII.js} +1 -1
  176. package/dist/cjs/{helpers-DgwmcYAu.js → helpers-CYFB2_7O.js} +41 -2
  177. package/dist/cjs/{index-D24wggHR.js → index-DgkpUJvi.js} +15 -15
  178. package/dist/cjs/{index-BzEyuIww.js → index-DkmXWuZ7.js} +3 -3
  179. package/dist/cjs/{index-Cc5PNMyz.js → index-DsE1tD-q.js} +1 -1
  180. package/dist/cjs/{index-bGpoPC4u.js → index-MoROIJ3n.js} +8 -7
  181. package/dist/cjs/index.cjs.js +10 -11
  182. package/dist/cjs/{input-shims-CLI_OrmU.js → input-shims-temHXqvt.js} +17 -16
  183. package/dist/cjs/{input.utils-B2hZ5tX6.js → input.utils-8JmSrYpP.js} +5 -5
  184. package/dist/cjs/ion-accordion_2.cjs.entry.js +55 -26
  185. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -18
  186. package/dist/cjs/ion-alert.cjs.entry.js +22 -20
  187. package/dist/cjs/ion-app_8.cjs.entry.js +243 -144
  188. package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -11
  189. package/dist/cjs/ion-back-button.cjs.entry.js +28 -19
  190. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -6
  191. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +51 -15
  192. package/dist/cjs/ion-button_2.cjs.entry.js +43 -11
  193. package/dist/cjs/ion-card_5.cjs.entry.js +53 -29
  194. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -13
  195. package/dist/cjs/ion-chip.cjs.entry.js +48 -7
  196. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  197. package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -7
  198. package/dist/cjs/ion-datetime_3.cjs.entry.js +114 -39
  199. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  200. package/dist/cjs/ion-fab_3.cjs.entry.js +41 -25
  201. package/dist/cjs/ion-img.cjs.entry.js +7 -3
  202. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +89 -14
  203. package/dist/cjs/ion-input-otp.cjs.entry.js +11 -7
  204. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +50 -12
  205. package/dist/cjs/ion-input.cjs.entry.js +125 -89
  206. package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -19
  207. package/dist/cjs/ion-item_8.cjs.entry.js +105 -45
  208. package/dist/cjs/ion-loading.cjs.entry.js +17 -15
  209. package/dist/cjs/ion-menu_3.cjs.entry.js +47 -26
  210. package/dist/cjs/ion-modal.cjs.entry.js +96 -69
  211. package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
  212. package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
  213. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -48
  214. package/dist/cjs/ion-picker.cjs.entry.js +9 -5
  215. package/dist/cjs/ion-popover.cjs.entry.js +18 -16
  216. package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -7
  217. package/dist/cjs/ion-radio_2.cjs.entry.js +22 -13
  218. package/dist/cjs/ion-range.cjs.entry.js +14 -10
  219. package/dist/cjs/ion-refresher_2.cjs.entry.js +36 -18
  220. package/dist/cjs/ion-reorder_2.cjs.entry.js +36 -12
  221. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -6
  222. package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
  223. package/dist/cjs/ion-searchbar.cjs.entry.js +134 -21
  224. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  225. package/dist/cjs/ion-segment-view.cjs.entry.js +5 -2
  226. package/dist/cjs/ion-segment_2.cjs.entry.js +21 -14
  227. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -9
  228. package/dist/cjs/ion-select_3.cjs.entry.js +129 -38
  229. package/dist/cjs/ion-spinner.cjs.entry.js +28 -6
  230. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -8
  231. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +65 -20
  232. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -6
  233. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  234. package/dist/cjs/ion-textarea.cjs.entry.js +60 -74
  235. package/dist/cjs/ion-toast.cjs.entry.js +66 -43
  236. package/dist/cjs/ion-toggle.cjs.entry.js +78 -21
  237. package/dist/cjs/ionic-global-RZLbse4y.js +491 -0
  238. package/dist/cjs/ionic.cjs.js +3 -3
  239. package/dist/cjs/{ios.transition-DEitrLlG.js → ios.transition-CWI22viS.js} +6 -4
  240. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-BZdohzZu.js} +1 -1
  241. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-ByZ4Ulg3.js} +4 -3
  242. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-B-dr5t4a.js} +11 -9
  243. package/dist/cjs/list-a-7GSA6K.js +8 -0
  244. package/dist/cjs/loader.cjs.js +3 -3
  245. package/dist/cjs/{md.transition-BHtGC-Wg.js → md.transition-BxMmPf_q.js} +5 -4
  246. package/dist/cjs/{notch-controller-Bf5Rr4R5.js → notch-controller-BmjMp6Co.js} +4 -4
  247. package/dist/cjs/{overlays-CglR7j-u.js → overlays-Di-PotkY.js} +25 -117
  248. package/dist/cjs/{status-tap-D9YPr62n.js → status-tap-D-MulHQM.js} +3 -2
  249. package/dist/cjs/{swipe-back-C1wRtoww.js → swipe-back-C5W5r-1A.js} +2 -1
  250. package/dist/cjs/x-BTF99yFH.js +8 -0
  251. package/dist/collection/collection-manifest.json +1 -0
  252. package/dist/collection/components/accordion/accordion.ionic.css +198 -0
  253. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  254. package/dist/collection/components/accordion/accordion.js +36 -26
  255. package/dist/collection/components/accordion/accordion.md.css +67 -59
  256. package/dist/collection/components/accordion-group/accordion-group.ionic.css +95 -0
  257. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  258. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  259. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  260. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  261. package/dist/collection/components/action-sheet/action-sheet.js +15 -11
  262. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  263. package/dist/collection/components/alert/alert.ios.css +19 -1
  264. package/dist/collection/components/alert/alert.js +16 -13
  265. package/dist/collection/components/alert/alert.md.css +19 -1
  266. package/dist/collection/components/app/app.js +15 -78
  267. package/dist/collection/components/avatar/avatar.ionic.css +393 -0
  268. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  269. package/dist/collection/components/avatar/avatar.js +120 -4
  270. package/dist/collection/components/avatar/avatar.md.css +51 -0
  271. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  272. package/dist/collection/components/back-button/back-button.js +27 -19
  273. package/dist/collection/components/back-button/back-button.md.css +60 -48
  274. package/dist/collection/components/backdrop/backdrop.ionic.css +111 -0
  275. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  276. package/dist/collection/components/backdrop/backdrop.js +12 -6
  277. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  278. package/dist/collection/components/badge/badge.ionic.css +277 -0
  279. package/dist/collection/components/badge/badge.ios.css +139 -12
  280. package/dist/collection/components/badge/badge.js +145 -9
  281. package/dist/collection/components/badge/badge.md.css +123 -12
  282. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  283. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  284. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  285. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  286. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  287. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  288. package/dist/collection/components/button/button.ionic.css +622 -0
  289. package/dist/collection/components/button/button.ios.css +135 -46
  290. package/dist/collection/components/button/button.js +48 -17
  291. package/dist/collection/components/button/button.md.css +126 -50
  292. package/dist/collection/components/buttons/buttons.ionic.css +100 -0
  293. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  294. package/dist/collection/components/buttons/buttons.js +15 -9
  295. package/dist/collection/components/buttons/buttons.md.css +55 -3
  296. package/dist/collection/components/card/card.ionic.css +146 -0
  297. package/dist/collection/components/card/card.ios.css +65 -14
  298. package/dist/collection/components/card/card.js +41 -10
  299. package/dist/collection/components/card/card.md.css +65 -14
  300. package/dist/collection/components/card-content/card-content.ionic.css +94 -0
  301. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  302. package/dist/collection/components/card-content/card-content.js +11 -8
  303. package/dist/collection/components/card-content/card-content.md.css +16 -1
  304. package/dist/collection/components/card-header/card-header.ionic.css +87 -0
  305. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  306. package/dist/collection/components/card-header/card-header.js +13 -10
  307. package/dist/collection/components/card-header/card-header.md.css +27 -15
  308. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +146 -0
  309. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  310. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  311. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  312. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  313. package/dist/collection/components/card-title/card-title.js +11 -8
  314. package/dist/collection/components/card-title/card-title.md.css +73 -0
  315. package/dist/collection/components/checkbox/checkbox.ionic.css +541 -0
  316. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  317. package/dist/collection/components/checkbox/checkbox.js +70 -14
  318. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  319. package/dist/collection/components/chip/chip.ionic.css +230 -0
  320. package/dist/collection/components/chip/chip.ios.css +67 -14
  321. package/dist/collection/components/chip/chip.js +108 -8
  322. package/dist/collection/components/chip/chip.md.css +67 -14
  323. package/dist/collection/components/col/col.css +12 -0
  324. package/dist/collection/components/col/col.js +9 -5
  325. package/dist/collection/components/content/content.css +8 -2
  326. package/dist/collection/components/content/content.js +16 -11
  327. package/dist/collection/components/datetime/datetime.ionic.css +699 -0
  328. package/dist/collection/components/datetime/datetime.ios.css +242 -86
  329. package/dist/collection/components/datetime/datetime.js +100 -21
  330. package/dist/collection/components/datetime/datetime.md.css +242 -86
  331. package/dist/collection/components/datetime/utils/data.js +5 -5
  332. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  333. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  334. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  335. package/dist/collection/components/divider/divider.ionic.css +150 -0
  336. package/dist/collection/components/divider/divider.ios.css +87 -0
  337. package/dist/collection/components/divider/divider.js +94 -0
  338. package/dist/collection/components/divider/divider.md.css +87 -0
  339. package/dist/collection/components/fab/fab.css +25 -1
  340. package/dist/collection/components/fab/fab.js +9 -5
  341. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  342. package/dist/collection/components/fab-button/fab-button.js +36 -21
  343. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  344. package/dist/collection/components/fab-list/fab-list.css +12 -0
  345. package/dist/collection/components/fab-list/fab-list.js +9 -5
  346. package/dist/collection/components/footer/footer.ios.css +14 -2
  347. package/dist/collection/components/footer/footer.js +21 -16
  348. package/dist/collection/components/footer/footer.md.css +12 -0
  349. package/dist/collection/components/grid/grid.css +12 -0
  350. package/dist/collection/components/grid/grid.js +9 -5
  351. package/dist/collection/components/header/header.ionic.css +100 -0
  352. package/dist/collection/components/header/header.ios.css +25 -10
  353. package/dist/collection/components/header/header.js +49 -18
  354. package/dist/collection/components/header/header.md.css +23 -8
  355. package/dist/collection/components/img/img.js +8 -2
  356. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  357. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  358. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  359. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  360. package/dist/collection/components/input/input.ionic.css +883 -0
  361. package/dist/collection/components/input/input.ios.css +223 -140
  362. package/dist/collection/components/input/input.js +155 -99
  363. package/dist/collection/components/input/input.md.css +193 -212
  364. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  365. package/dist/collection/components/input-otp/input-otp.ios.css +106 -60
  366. package/dist/collection/components/input-otp/input-otp.js +7 -5
  367. package/dist/collection/components/input-otp/input-otp.md.css +106 -60
  368. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +80 -0
  369. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  370. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  371. package/dist/collection/components/item/item.ionic.css +502 -0
  372. package/dist/collection/components/item/item.ios.css +109 -69
  373. package/dist/collection/components/item/item.js +43 -19
  374. package/dist/collection/components/item/item.md.css +120 -68
  375. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  376. package/dist/collection/components/item-divider/item-divider.js +11 -8
  377. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  378. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  379. package/dist/collection/components/item-group/item-group.js +13 -7
  380. package/dist/collection/components/item-group/item-group.md.css +12 -0
  381. package/dist/collection/components/item-option/item-option.ionic.css +280 -0
  382. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  383. package/dist/collection/components/item-option/item-option.js +73 -9
  384. package/dist/collection/components/item-option/item-option.md.css +136 -29
  385. package/dist/collection/components/item-options/item-options.ionic.css +223 -0
  386. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  387. package/dist/collection/components/item-options/item-options.js +13 -7
  388. package/dist/collection/components/item-options/item-options.md.css +77 -34
  389. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  390. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  391. package/dist/collection/components/label/label.ios.css +18 -0
  392. package/dist/collection/components/label/label.js +11 -8
  393. package/dist/collection/components/label/label.md.css +18 -0
  394. package/dist/collection/components/list/list.ionic.css +214 -0
  395. package/dist/collection/components/list/list.ios.css +54 -14
  396. package/dist/collection/components/list/list.js +48 -9
  397. package/dist/collection/components/list/list.md.css +56 -16
  398. package/dist/collection/components/list-header/list-header.ionic.css +192 -0
  399. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  400. package/dist/collection/components/list-header/list-header.js +11 -8
  401. package/dist/collection/components/list-header/list-header.md.css +82 -38
  402. package/dist/collection/components/loading/loading.ios.css +13 -1
  403. package/dist/collection/components/loading/loading.js +14 -11
  404. package/dist/collection/components/loading/loading.md.css +13 -1
  405. package/dist/collection/components/menu/menu.ios.css +15 -3
  406. package/dist/collection/components/menu/menu.js +19 -7
  407. package/dist/collection/components/menu/menu.md.css +15 -3
  408. package/dist/collection/components/menu-button/menu-button.ionic.css +238 -0
  409. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  410. package/dist/collection/components/menu-button/menu-button.js +26 -10
  411. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  412. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  413. package/dist/collection/components/modal/animations/sheet.js +8 -2
  414. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  415. package/dist/collection/components/modal/modal.ionic.css +243 -0
  416. package/dist/collection/components/modal/modal.ios.css +174 -70
  417. package/dist/collection/components/modal/modal.js +48 -11
  418. package/dist/collection/components/modal/modal.md.css +174 -70
  419. package/dist/collection/components/nav/nav.css +7 -1
  420. package/dist/collection/components/nav/nav.js +11 -5
  421. package/dist/collection/components/nav-link/nav-link.js +5 -1
  422. package/dist/collection/components/note/note.ios.css +12 -0
  423. package/dist/collection/components/note/note.js +11 -8
  424. package/dist/collection/components/note/note.md.css +12 -0
  425. package/dist/collection/components/picker/picker.ios.css +15 -3
  426. package/dist/collection/components/picker/picker.js +8 -5
  427. package/dist/collection/components/picker/picker.md.css +15 -3
  428. package/dist/collection/components/picker-column/picker-column.css +9 -2
  429. package/dist/collection/components/picker-column/picker-column.js +8 -43
  430. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +8 -2
  431. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  432. package/dist/collection/components/picker-column-option/picker-column-option.md.css +8 -2
  433. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  434. package/dist/collection/components/picker-legacy/picker.js +7 -6
  435. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  436. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  437. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  438. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  439. package/dist/collection/components/popover/popover.ios.css +13 -1
  440. package/dist/collection/components/popover/popover.js +17 -14
  441. package/dist/collection/components/popover/popover.md.css +13 -1
  442. package/dist/collection/components/progress-bar/progress-bar.ionic.css +289 -0
  443. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  444. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  445. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  446. package/dist/collection/components/radio/radio.ionic.css +424 -0
  447. package/dist/collection/components/radio/radio.ios.css +134 -91
  448. package/dist/collection/components/radio/radio.js +12 -9
  449. package/dist/collection/components/radio/radio.md.css +134 -91
  450. package/dist/collection/components/radio-group/radio-group.ionic.css +127 -0
  451. package/dist/collection/components/radio-group/radio-group.ios.css +42 -18
  452. package/dist/collection/components/radio-group/radio-group.js +13 -5
  453. package/dist/collection/components/radio-group/radio-group.md.css +42 -18
  454. package/dist/collection/components/range/range.ionic.css +565 -0
  455. package/dist/collection/components/range/range.ios.css +128 -85
  456. package/dist/collection/components/range/range.js +12 -9
  457. package/dist/collection/components/range/range.md.css +128 -85
  458. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  459. package/dist/collection/components/refresher/refresher.js +11 -8
  460. package/dist/collection/components/refresher/refresher.md.css +15 -2
  461. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  462. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  463. package/dist/collection/components/reorder/reorder.js +33 -6
  464. package/dist/collection/components/reorder/reorder.md.css +6 -0
  465. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  466. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  467. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  468. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +217 -0
  469. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  470. package/dist/collection/components/route/route.js +4 -0
  471. package/dist/collection/components/router/router.js +4 -0
  472. package/dist/collection/components/router-link/router-link.css +8 -2
  473. package/dist/collection/components/router-link/router-link.js +9 -5
  474. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  475. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  476. package/dist/collection/components/row/row.css +12 -0
  477. package/dist/collection/components/row/row.js +9 -2
  478. package/dist/collection/components/searchbar/searchbar.ionic.css +628 -0
  479. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  480. package/dist/collection/components/searchbar/searchbar.js +181 -34
  481. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  482. package/dist/collection/components/segment/segment.ionic.css +117 -0
  483. package/dist/collection/components/segment/segment.ios.css +45 -2
  484. package/dist/collection/components/segment/segment.js +11 -8
  485. package/dist/collection/components/segment/segment.md.css +45 -2
  486. package/dist/collection/components/segment-button/segment-button.ionic.css +355 -0
  487. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  488. package/dist/collection/components/segment-button/segment-button.js +11 -8
  489. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  490. package/dist/collection/components/segment-content/segment-content.js +1 -1
  491. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  492. package/dist/collection/components/segment-view/segment-view.js +6 -4
  493. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  494. package/dist/collection/components/select/select.ionic.css +765 -0
  495. package/dist/collection/components/select/select.ios.css +315 -176
  496. package/dist/collection/components/select/select.js +157 -54
  497. package/dist/collection/components/select/select.md.css +331 -178
  498. package/dist/collection/components/select-modal/select-modal.ionic.css +121 -0
  499. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  500. package/dist/collection/components/select-modal/select-modal.js +3 -3
  501. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  502. package/dist/collection/components/select-option/select-option.js +9 -2
  503. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  504. package/dist/collection/components/select-popover/select-popover.js +12 -4
  505. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  506. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  507. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  508. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +79 -10
  509. package/dist/collection/components/spinner/spinner.js +47 -6
  510. package/dist/collection/components/spinner/spinner.native.css +198 -0
  511. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  512. package/dist/collection/components/split-pane/split-pane.js +14 -8
  513. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  514. package/dist/collection/components/tab/tab.js +6 -2
  515. package/dist/collection/components/tab-bar/tab-bar.ionic.css +188 -0
  516. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  517. package/dist/collection/components/tab-bar/tab-bar.js +78 -11
  518. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  519. package/dist/collection/components/tab-button/tab-button.ionic.css +338 -0
  520. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  521. package/dist/collection/components/tab-button/tab-button.js +44 -8
  522. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  523. package/dist/collection/components/tabs/tabs.css +7 -1
  524. package/dist/collection/components/tabs/tabs.js +4 -1
  525. package/dist/collection/components/text/text.css +6 -0
  526. package/dist/collection/components/text/text.js +7 -6
  527. package/dist/collection/components/textarea/textarea.ionic.css +830 -0
  528. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  529. package/dist/collection/components/textarea/textarea.js +82 -77
  530. package/dist/collection/components/textarea/textarea.md.css +288 -140
  531. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  532. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  533. package/dist/collection/components/title/title.ionic.css +129 -0
  534. package/dist/collection/components/title/title.ios.css +32 -4
  535. package/dist/collection/components/title/title.js +13 -7
  536. package/dist/collection/components/title/title.md.css +32 -4
  537. package/dist/collection/components/toast/animations/utils.js +1 -1
  538. package/dist/collection/components/toast/toast.ionic.css +396 -0
  539. package/dist/collection/components/toast/toast.ios.css +84 -45
  540. package/dist/collection/components/toast/toast.js +75 -12
  541. package/dist/collection/components/toast/toast.md.css +84 -45
  542. package/dist/collection/components/toggle/toggle.ionic.css +511 -0
  543. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  544. package/dist/collection/components/toggle/toggle.js +73 -18
  545. package/dist/collection/components/toggle/toggle.md.css +244 -131
  546. package/dist/collection/components/toolbar/test/image.svg +1 -0
  547. package/dist/collection/components/toolbar/toolbar.ionic.css +243 -0
  548. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  549. package/dist/collection/components/toolbar/toolbar.js +157 -13
  550. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  551. package/dist/collection/global/ionic-global.js +228 -13
  552. package/dist/collection/utils/focus-visible.js +22 -0
  553. package/dist/collection/utils/framework-delegate.js +3 -1
  554. package/dist/collection/utils/helpers.js +42 -2
  555. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  556. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  557. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  558. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  559. package/dist/collection/utils/overlays.js +19 -110
  560. package/dist/collection/utils/test/playwright/generator.js +48 -23
  561. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  562. package/dist/collection/utils/test/playwright/page/utils/set-content.js +24 -3
  563. package/dist/collection/utils/transition/ios.transition.js +1 -0
  564. package/dist/docs.json +7920 -359
  565. package/dist/esm/{animation-BvhAtgca.js → animation-DPqVg3gl.js} +1 -1
  566. package/dist/esm/{app-globals-CvLYUxE9.js → app-globals-dJs8dVUB.js} +1 -1
  567. package/dist/esm/{button-active-DBUPuLNw.js → button-active-BMINdWv6.js} +1 -1
  568. package/dist/esm/{capacitor-CFERIeaU.js → capacitor--DL1MVFW.js} +1 -1
  569. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  570. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  571. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  572. package/dist/esm/{data-CKHMWxfe.js → data-slRmoEWk.js} +5 -5
  573. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  574. package/dist/esm/{framework-delegate-BLEBgH06.js → framework-delegate-C3AU0AA6.js} +4 -2
  575. package/dist/esm/{haptic-DzAMWJuk.js → haptic-BWDWI-Xh.js} +1 -1
  576. package/dist/esm/{helpers-8KSQQGQy.js → helpers-CKng-4WP.js} +42 -3
  577. package/dist/esm/{index-CXSTcaAW.js → index-BwfAv3fK.js} +10 -10
  578. package/dist/esm/{index-7UbSlv7N.js → index-C21kdpyw.js} +1 -1
  579. package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
  580. package/dist/esm/{index-Dp7GXH1z.js → index-DLYqkEhn.js} +3 -3
  581. package/dist/esm/{index-C6WeRr09.js → index-jNq9q9I-.js} +3 -2
  582. package/dist/esm/index.js +10 -11
  583. package/dist/esm/{input-shims-C4KDnhxb.js → input-shims-Dt4HUCHS.js} +6 -5
  584. package/dist/esm/{input.utils-be4gBvVY.js → input.utils-D7U0b1bK.js} +2 -2
  585. package/dist/esm/ion-accordion_2.entry.js +56 -27
  586. package/dist/esm/ion-action-sheet.entry.js +21 -18
  587. package/dist/esm/ion-alert.entry.js +22 -20
  588. package/dist/esm/ion-app_8.entry.js +244 -145
  589. package/dist/esm/ion-avatar_3.entry.js +125 -13
  590. package/dist/esm/ion-back-button.entry.js +29 -20
  591. package/dist/esm/ion-backdrop.entry.js +9 -6
  592. package/dist/esm/ion-breadcrumb_2.entry.js +53 -17
  593. package/dist/esm/ion-button_2.entry.js +43 -11
  594. package/dist/esm/ion-card_5.entry.js +53 -29
  595. package/dist/esm/ion-checkbox.entry.js +31 -13
  596. package/dist/esm/ion-chip.entry.js +49 -8
  597. package/dist/esm/ion-col_3.entry.js +13 -10
  598. package/dist/esm/ion-datetime-button.entry.js +11 -7
  599. package/dist/esm/ion-datetime_3.entry.js +116 -41
  600. package/dist/esm/ion-divider.entry.js +49 -0
  601. package/dist/esm/ion-fab_3.entry.js +43 -27
  602. package/dist/esm/ion-img.entry.js +7 -3
  603. package/dist/esm/ion-infinite-scroll_2.entry.js +89 -14
  604. package/dist/esm/ion-input-otp.entry.js +11 -7
  605. package/dist/esm/ion-input-password-toggle.entry.js +52 -14
  606. package/dist/esm/ion-input.entry.js +127 -91
  607. package/dist/esm/ion-item-option_3.entry.js +48 -19
  608. package/dist/esm/ion-item_8.entry.js +107 -47
  609. package/dist/esm/ion-loading.entry.js +17 -15
  610. package/dist/esm/ion-menu_3.entry.js +48 -27
  611. package/dist/esm/ion-modal.entry.js +56 -29
  612. package/dist/esm/ion-nav_2.entry.js +13 -10
  613. package/dist/esm/ion-picker-column-option.entry.js +12 -8
  614. package/dist/esm/ion-picker-column.entry.js +11 -47
  615. package/dist/esm/ion-picker.entry.js +9 -5
  616. package/dist/esm/ion-popover.entry.js +18 -16
  617. package/dist/esm/ion-progress-bar.entry.js +25 -7
  618. package/dist/esm/ion-radio_2.entry.js +22 -13
  619. package/dist/esm/ion-range.entry.js +14 -10
  620. package/dist/esm/ion-refresher_2.entry.js +37 -19
  621. package/dist/esm/ion-reorder_2.entry.js +38 -14
  622. package/dist/esm/ion-ripple-effect.entry.js +14 -6
  623. package/dist/esm/ion-route_4.entry.js +8 -7
  624. package/dist/esm/ion-searchbar.entry.js +137 -24
  625. package/dist/esm/ion-segment-content.entry.js +1 -1
  626. package/dist/esm/ion-segment-view.entry.js +5 -2
  627. package/dist/esm/ion-segment_2.entry.js +21 -14
  628. package/dist/esm/ion-select-modal.entry.js +8 -9
  629. package/dist/esm/ion-select_3.entry.js +131 -40
  630. package/dist/esm/ion-spinner.entry.js +28 -6
  631. package/dist/esm/ion-split-pane.entry.js +11 -8
  632. package/dist/esm/ion-tab-bar_2.entry.js +65 -20
  633. package/dist/esm/ion-tab_2.entry.js +7 -6
  634. package/dist/esm/ion-text.entry.js +5 -5
  635. package/dist/esm/ion-textarea.entry.js +60 -74
  636. package/dist/esm/ion-toast.entry.js +40 -17
  637. package/dist/esm/ion-toggle.entry.js +79 -22
  638. package/dist/esm/ionic-global-Dtd5Ma5B.js +480 -0
  639. package/dist/esm/ionic.js +3 -3
  640. package/dist/esm/{ios.transition-eAEkgVAv.js → ios.transition-CJcl_IUo.js} +6 -4
  641. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Ce5NGRb7.js} +1 -1
  642. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-DP1KnX1o.js} +4 -3
  643. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-CN0dsogH.js} +5 -3
  644. package/dist/esm/list-Dhi5xtNS.js +6 -0
  645. package/dist/esm/loader.js +3 -3
  646. package/dist/esm/{md.transition-D8TeJ_Pz.js → md.transition-DUO570OK.js} +5 -4
  647. package/dist/esm/{notch-controller-lb417-kU.js → notch-controller-BZq2fbxL.js} +2 -2
  648. package/dist/esm/{overlays-ZX_4-t_r.js → overlays-B1-bMbOY.js} +22 -114
  649. package/dist/esm/{status-tap-pATNXEtr.js → status-tap-Bux-fh_w.js} +3 -2
  650. package/dist/esm/{swipe-back-B2YfOHRM.js → swipe-back-Dp-f6VSv.js} +2 -1
  651. package/dist/esm/x-BDqjX7Z_.js +6 -0
  652. package/dist/html.html-data.json +2511 -229
  653. package/dist/ionic/index.esm.js +1 -1
  654. package/dist/ionic/ionic.esm.js +1 -1
  655. package/dist/ionic/p-00239ebc.entry.js +4 -0
  656. package/dist/ionic/p-04b8cb11.entry.js +4 -0
  657. package/dist/ionic/p-083bdc4a.entry.js +4 -0
  658. package/dist/ionic/p-09ee42c7.entry.js +4 -0
  659. package/dist/ionic/p-0a973339.entry.js +4 -0
  660. package/dist/ionic/p-0b1386bf.entry.js +4 -0
  661. package/dist/ionic/p-0edc2fcf.entry.js +4 -0
  662. package/dist/ionic/p-123f6dde.entry.js +4 -0
  663. package/dist/ionic/p-1ac3754e.entry.js +4 -0
  664. package/dist/ionic/p-3610f001.entry.js +4 -0
  665. package/dist/ionic/p-361408bb.entry.js +4 -0
  666. package/dist/ionic/p-389093b6.entry.js +4 -0
  667. package/dist/ionic/p-3b1c39cf.entry.js +4 -0
  668. package/dist/ionic/p-47b803fc.entry.js +4 -0
  669. package/dist/ionic/{p-B1xocg0A.js → p-4ivCEBy1.js} +1 -1
  670. package/dist/ionic/p-637e497f.entry.js +4 -0
  671. package/dist/ionic/p-65d9c265.entry.js +4 -0
  672. package/dist/ionic/p-66b83d63.entry.js +4 -0
  673. package/dist/ionic/p-7918eeaa.entry.js +4 -0
  674. package/dist/ionic/p-7ead7a67.entry.js +4 -0
  675. package/dist/ionic/p-7f1c8070.entry.js +4 -0
  676. package/dist/ionic/p-80faabb9.entry.js +4 -0
  677. package/dist/ionic/p-8870c2f9.entry.js +4 -0
  678. package/dist/ionic/p-8fa42767.entry.js +4 -0
  679. package/dist/ionic/p-905f6505.entry.js +4 -0
  680. package/dist/ionic/p-907ac173.entry.js +4 -0
  681. package/dist/ionic/p-95621a36.entry.js +4 -0
  682. package/dist/ionic/p-97bf9127.entry.js +4 -0
  683. package/dist/ionic/p-9af1c2e0.entry.js +4 -0
  684. package/dist/ionic/p-9e575e4e.entry.js +4 -0
  685. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  686. package/dist/ionic/p-BFFank6B.js +4 -0
  687. package/dist/ionic/{p-CWvl4RPO.js → p-BISSkhkA.js} +1 -1
  688. package/dist/ionic/p-BJGh_obi.js +4 -0
  689. package/dist/ionic/p-BYSs-jZz.js +4 -0
  690. package/dist/ionic/{p-CKvCXMs9.js → p-BYYLxYDJ.js} +1 -1
  691. package/dist/ionic/p-Bh0_z73h.js +4 -0
  692. package/dist/ionic/p-BpaeL4Lk.js +4 -0
  693. package/dist/ionic/{p-DiZPU8BH.js → p-BqMzjJ9X.js} +1 -1
  694. package/dist/ionic/p-CKq50gmC.js +4 -0
  695. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  696. package/dist/ionic/{p-C87oPMMF.js → p-CVVzZviS.js} +1 -1
  697. package/dist/ionic/p-CZEwJt85.js +4 -0
  698. package/dist/ionic/p-Cdv0TJ6-.js +4 -0
  699. package/dist/ionic/{p-BhNEp2QP.js → p-CjpktT3Z.js} +1 -1
  700. package/dist/ionic/p-CqYDGaCK.js +4 -0
  701. package/dist/ionic/p-D-m6MIML.js +4 -0
  702. package/dist/ionic/p-D1t981Ih.js +4 -0
  703. package/dist/ionic/{p-DCuOL88l.js → p-D8VpGXAu.js} +1 -1
  704. package/dist/ionic/p-DBzcL_sL.js +4 -0
  705. package/dist/ionic/p-DO7doFVM.js +4 -0
  706. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  707. package/dist/ionic/p-DpBID_Du.js +4 -0
  708. package/dist/ionic/p-DuV7rU9I.js +4 -0
  709. package/dist/ionic/p-EG6i47Uw.js +4 -0
  710. package/dist/ionic/{p-D13Eaw-8.js → p-EwG_P2X9.js} +1 -1
  711. package/dist/ionic/p-Ex5J81sy.js +4 -0
  712. package/dist/ionic/{p-BHGXdud8.js → p-KY_2sl5b.js} +1 -1
  713. package/dist/ionic/p-a953afe2.entry.js +4 -0
  714. package/dist/ionic/p-ab387abd.entry.js +4 -0
  715. package/dist/ionic/p-abc60b26.entry.js +4 -0
  716. package/dist/ionic/p-b269fb6b.entry.js +4 -0
  717. package/dist/ionic/p-b8c602ec.entry.js +4 -0
  718. package/dist/ionic/p-c6887f5c.entry.js +4 -0
  719. package/dist/ionic/p-c847a353.entry.js +4 -0
  720. package/dist/ionic/p-c8eb678d.entry.js +4 -0
  721. package/dist/ionic/p-cff18cc5.entry.js +4 -0
  722. package/dist/ionic/p-d65a8d3e.entry.js +4 -0
  723. package/dist/ionic/p-d9525f67.entry.js +4 -0
  724. package/dist/ionic/p-db20a452.entry.js +4 -0
  725. package/dist/ionic/{p-7a53f04c.entry.js → p-dc66e8cc.entry.js} +1 -1
  726. package/dist/ionic/p-e0a689ea.entry.js +4 -0
  727. package/dist/ionic/p-e25b2e94.entry.js +4 -0
  728. package/dist/ionic/p-e53f3a62.entry.js +4 -0
  729. package/dist/ionic/p-e6caa048.entry.js +4 -0
  730. package/dist/ionic/p-ec96366b.entry.js +4 -0
  731. package/dist/ionic/p-ed071a41.entry.js +4 -0
  732. package/dist/ionic/p-eea0e705.entry.js +4 -0
  733. package/dist/ionic/p-f0e88837.entry.js +4 -0
  734. package/dist/ionic/p-f4d11cbb.entry.js +4 -0
  735. package/dist/ionic/p-fIOYmaqA.js +4 -0
  736. package/dist/ionic/p-fcba862e.entry.js +4 -0
  737. package/dist/ionic/p-ff010b26.entry.js +4 -0
  738. package/dist/ionic/p-vXpMhGrs.js +4 -0
  739. package/dist/types/components/accordion/accordion.d.ts +5 -3
  740. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  741. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  742. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  743. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  744. package/dist/types/components/alert/alert.d.ts +3 -2
  745. package/dist/types/components/app/app.d.ts +4 -2
  746. package/dist/types/components/avatar/avatar.d.ts +32 -0
  747. package/dist/types/components/back-button/back-button.d.ts +2 -1
  748. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  749. package/dist/types/components/badge/badge.d.ts +34 -1
  750. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  751. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  752. package/dist/types/components/button/button.d.ts +19 -6
  753. package/dist/types/components/buttons/buttons.d.ts +5 -1
  754. package/dist/types/components/card/card.d.ts +8 -1
  755. package/dist/types/components/card-content/card-content.d.ts +2 -1
  756. package/dist/types/components/card-header/card-header.d.ts +3 -2
  757. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  758. package/dist/types/components/card-title/card-title.d.ts +2 -1
  759. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  760. package/dist/types/components/chip/chip.d.ts +26 -1
  761. package/dist/types/components/col/col.d.ts +4 -0
  762. package/dist/types/components/content/content.d.ts +3 -0
  763. package/dist/types/components/datetime/datetime.d.ts +26 -1
  764. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  765. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  766. package/dist/types/components/divider/divider.d.ts +20 -0
  767. package/dist/types/components/fab/fab.d.ts +4 -0
  768. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  769. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  770. package/dist/types/components/footer/footer.d.ts +4 -3
  771. package/dist/types/components/grid/grid.d.ts +4 -0
  772. package/dist/types/components/header/header.d.ts +9 -3
  773. package/dist/types/components/img/img.d.ts +3 -0
  774. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  775. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  776. package/dist/types/components/input/input.d.ts +31 -14
  777. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  778. package/dist/types/components/item/item.d.ts +11 -4
  779. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  780. package/dist/types/components/item-group/item-group.d.ts +4 -0
  781. package/dist/types/components/item-option/item-option.d.ts +18 -1
  782. package/dist/types/components/item-options/item-options.d.ts +4 -0
  783. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  784. package/dist/types/components/label/label.d.ts +2 -1
  785. package/dist/types/components/list/list.d.ts +15 -1
  786. package/dist/types/components/list-header/list-header.d.ts +2 -1
  787. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  788. package/dist/types/components/loading/loading.d.ts +3 -2
  789. package/dist/types/components/menu/menu.d.ts +3 -0
  790. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  791. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  792. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  793. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  794. package/dist/types/components/modal/modal.d.ts +11 -1
  795. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  796. package/dist/types/components/nav/nav.d.ts +5 -1
  797. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  798. package/dist/types/components/note/note.d.ts +2 -1
  799. package/dist/types/components/picker/picker.d.ts +2 -1
  800. package/dist/types/components/picker-column/picker-column.d.ts +2 -8
  801. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  802. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  803. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  804. package/dist/types/components/popover/popover.d.ts +6 -5
  805. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  806. package/dist/types/components/radio/radio.d.ts +2 -1
  807. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  808. package/dist/types/components/range/range.d.ts +2 -1
  809. package/dist/types/components/refresher/refresher.d.ts +2 -1
  810. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  811. package/dist/types/components/reorder/reorder.d.ts +9 -0
  812. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  813. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  814. package/dist/types/components/route/route.d.ts +4 -0
  815. package/dist/types/components/router/router.d.ts +4 -0
  816. package/dist/types/components/router-link/router-link.d.ts +4 -0
  817. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  818. package/dist/types/components/row/row.d.ts +4 -0
  819. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  820. package/dist/types/components/segment/segment.d.ts +2 -1
  821. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  822. package/dist/types/components/select/select.d.ts +41 -13
  823. package/dist/types/components/select-option/select-option.d.ts +4 -0
  824. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  825. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  826. package/dist/types/components/spinner/spinner.d.ts +15 -0
  827. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  828. package/dist/types/components/tab/tab.d.ts +4 -0
  829. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  830. package/dist/types/components/tab-button/tab-button.d.ts +11 -1
  831. package/dist/types/components/tabs/tabs.d.ts +3 -0
  832. package/dist/types/components/text/text.d.ts +2 -1
  833. package/dist/types/components/textarea/textarea.d.ts +17 -13
  834. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  835. package/dist/types/components/title/title.d.ts +4 -0
  836. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  837. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  838. package/dist/types/components/toast/toast.d.ts +19 -2
  839. package/dist/types/components/toggle/toggle.d.ts +15 -1
  840. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  841. package/dist/types/components.d.ts +1522 -197
  842. package/dist/types/global/ionic-global.d.ts +27 -2
  843. package/dist/types/interface.d.ts +3 -0
  844. package/dist/types/utils/config.d.ts +106 -2
  845. package/dist/types/utils/focus-visible.d.ts +13 -0
  846. package/dist/types/utils/helpers.d.ts +11 -0
  847. package/dist/types/utils/overlays-interface.d.ts +31 -1
  848. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  849. package/hydrate/index.js +2838 -1139
  850. package/hydrate/index.mjs +2838 -1139
  851. package/package.json +10 -5
  852. package/components/hardware-back-button.js +0 -115
  853. package/components/index9.js +0 -7
  854. package/dist/cjs/hardware-back-button-BxdNu76F.js +0 -121
  855. package/dist/cjs/index-DkNv4J_i.js +0 -10
  856. package/dist/cjs/ionic-global-UI5YPSi-.js +0 -151
  857. package/dist/esm/hardware-back-button-Dhbd-23H.js +0 -115
  858. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  859. package/dist/esm/ionic-global-CTSyufhF.js +0 -146
  860. package/dist/ionic/p-0816f67c.entry.js +0 -4
  861. package/dist/ionic/p-0f396661.entry.js +0 -4
  862. package/dist/ionic/p-1191a2d9.entry.js +0 -4
  863. package/dist/ionic/p-148bdf18.entry.js +0 -4
  864. package/dist/ionic/p-16116947.entry.js +0 -4
  865. package/dist/ionic/p-19f80390.entry.js +0 -4
  866. package/dist/ionic/p-1a91f317.entry.js +0 -4
  867. package/dist/ionic/p-1bbd0a23.entry.js +0 -4
  868. package/dist/ionic/p-1d5b934a.entry.js +0 -4
  869. package/dist/ionic/p-29032e49.entry.js +0 -4
  870. package/dist/ionic/p-2cb0f39f.entry.js +0 -4
  871. package/dist/ionic/p-349fc921.entry.js +0 -4
  872. package/dist/ionic/p-3624b640.entry.js +0 -4
  873. package/dist/ionic/p-36a54836.entry.js +0 -4
  874. package/dist/ionic/p-39ed3212.entry.js +0 -4
  875. package/dist/ionic/p-40d56a51.entry.js +0 -4
  876. package/dist/ionic/p-4f2c5845.entry.js +0 -4
  877. package/dist/ionic/p-528af4e6.entry.js +0 -4
  878. package/dist/ionic/p-54dec9b1.entry.js +0 -4
  879. package/dist/ionic/p-5c976c00.entry.js +0 -4
  880. package/dist/ionic/p-6383afc2.entry.js +0 -4
  881. package/dist/ionic/p-7b12d853.entry.js +0 -4
  882. package/dist/ionic/p-7bac2c5f.entry.js +0 -4
  883. package/dist/ionic/p-7da05504.entry.js +0 -4
  884. package/dist/ionic/p-8cdb4ff5.entry.js +0 -4
  885. package/dist/ionic/p-8d96a0cd.entry.js +0 -4
  886. package/dist/ionic/p-8e2de06f.entry.js +0 -4
  887. package/dist/ionic/p-91d6ccb0.entry.js +0 -4
  888. package/dist/ionic/p-92e8f208.entry.js +0 -4
  889. package/dist/ionic/p-982fe1c4.entry.js +0 -4
  890. package/dist/ionic/p-9ddf2620.entry.js +0 -4
  891. package/dist/ionic/p-9eeaBrnk.js +0 -4
  892. package/dist/ionic/p-B5MDSrGg.js +0 -4
  893. package/dist/ionic/p-BB-JoKGB.js +0 -4
  894. package/dist/ionic/p-BmVRXR1y.js +0 -4
  895. package/dist/ionic/p-Br3vSlYh.js +0 -4
  896. package/dist/ionic/p-C-Cct-6D.js +0 -4
  897. package/dist/ionic/p-C4I6B3uV.js +0 -4
  898. package/dist/ionic/p-C8d2ebIg.js +0 -4
  899. package/dist/ionic/p-CIGNaXM1.js +0 -4
  900. package/dist/ionic/p-CSwZyt05.js +0 -4
  901. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  902. package/dist/ionic/p-CvaZMP6T.js +0 -4
  903. package/dist/ionic/p-D2fQU_qK.js +0 -4
  904. package/dist/ionic/p-DAfH9Iif.js +0 -4
  905. package/dist/ionic/p-DJKvq7vb.js +0 -4
  906. package/dist/ionic/p-Dm_oBkW1.js +0 -4
  907. package/dist/ionic/p-LaGjiAVo.js +0 -4
  908. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  909. package/dist/ionic/p-a81be128.entry.js +0 -4
  910. package/dist/ionic/p-ab33ef20.entry.js +0 -4
  911. package/dist/ionic/p-ac434970.entry.js +0 -4
  912. package/dist/ionic/p-afeb9df6.entry.js +0 -4
  913. package/dist/ionic/p-bc9f9032.entry.js +0 -4
  914. package/dist/ionic/p-bf81a468.entry.js +0 -4
  915. package/dist/ionic/p-c0d58c8e.entry.js +0 -4
  916. package/dist/ionic/p-c575e7ce.entry.js +0 -4
  917. package/dist/ionic/p-cde6d39b.entry.js +0 -4
  918. package/dist/ionic/p-d04d66fc.entry.js +0 -4
  919. package/dist/ionic/p-d3df6032.entry.js +0 -4
  920. package/dist/ionic/p-dbba38cf.entry.js +0 -4
  921. package/dist/ionic/p-e6c3214c.entry.js +0 -4
  922. package/dist/ionic/p-e6c465ff.entry.js +0 -4
  923. package/dist/ionic/p-ec76fec4.entry.js +0 -4
  924. package/dist/ionic/p-ee2e35a6.entry.js +0 -4
  925. package/dist/ionic/p-f2884bc2.entry.js +0 -4
  926. package/dist/ionic/p-f456d176.entry.js +0 -4
  927. package/dist/ionic/p-f7db572a.entry.js +0 -4
  928. package/dist/ionic/p-f9eb54ee.entry.js +0 -4
  929. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -89,7 +89,7 @@ export namespace Components {
89
89
  */
90
90
  "disabled": boolean;
91
91
  /**
92
- * The mode determines which platform styles to use.
92
+ * The mode determines the platform behaviors of the component.
93
93
  */
94
94
  "mode"?: "ios" | "md";
95
95
  /**
@@ -97,11 +97,14 @@ export namespace Components {
97
97
  * @default false
98
98
  */
99
99
  "readonly": boolean;
100
+ /**
101
+ * The theme determines the visual appearance of the component.
102
+ */
103
+ "theme"?: "ios" | "md" | "ionic";
100
104
  /**
101
105
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
102
- * @default chevronDown
103
106
  */
104
- "toggleIcon": string;
107
+ "toggleIcon"?: string;
105
108
  /**
106
109
  * The slot inside of `ion-item` to place the toggle icon. Defaults to `"end"`.
107
110
  * @default 'end'
@@ -131,7 +134,7 @@ export namespace Components {
131
134
  "expand": 'compact' | 'inset';
132
135
  "getAccordions": () => Promise<HTMLIonAccordionElement[]>;
133
136
  /**
134
- * The mode determines which platform styles to use.
137
+ * The mode determines the platform behaviors of the component.
135
138
  */
136
139
  "mode"?: "ios" | "md";
137
140
  /**
@@ -147,6 +150,14 @@ export namespace Components {
147
150
  * This method is used to ensure that the value of ion-accordion-group is being set in a valid way. This method should only be called in response to a user generated action.
148
151
  */
149
152
  "requestAccordionToggle": (accordionValue: string | undefined, accordionExpand: boolean) => Promise<void>;
153
+ /**
154
+ * Set to `"soft"` for an accordion group with slightly rounded corners, `"round"` for an accordion group with fully rounded corners, or `"rectangular"` for an accordion group without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes. Only applies when `expand` is set to `"inset"`.
155
+ */
156
+ "shape"?: 'soft' | 'round' | 'rectangular';
157
+ /**
158
+ * The theme determines the visual appearance of the component.
159
+ */
160
+ "theme"?: "ios" | "md" | "ionic";
150
161
  /**
151
162
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
152
163
  */
@@ -210,7 +221,7 @@ export namespace Components {
210
221
  */
211
222
  "leaveAnimation"?: AnimationBuilder;
212
223
  /**
213
- * The mode determines which platform styles to use.
224
+ * The mode determines the platform behaviors of the component.
214
225
  */
215
226
  "mode"?: "ios" | "md";
216
227
  /**
@@ -231,7 +242,11 @@ export namespace Components {
231
242
  */
232
243
  "subHeader"?: string;
233
244
  /**
234
- * If `true`, the action sheet will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
245
+ * The theme determines the visual appearance of the component.
246
+ */
247
+ "theme"?: "ios" | "md" | "ionic";
248
+ /**
249
+ * If `true`, the action sheet will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
235
250
  * @default false
236
251
  */
237
252
  "translucent": boolean;
@@ -307,7 +322,7 @@ export namespace Components {
307
322
  */
308
323
  "message"?: string | IonicSafeString;
309
324
  /**
310
- * The mode determines which platform styles to use.
325
+ * The mode determines the platform behaviors of the component.
311
326
  */
312
327
  "mode"?: "ios" | "md";
313
328
  /**
@@ -328,7 +343,11 @@ export namespace Components {
328
343
  */
329
344
  "subHeader"?: string;
330
345
  /**
331
- * If `true`, the alert will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
346
+ * The theme determines the visual appearance of the component.
347
+ */
348
+ "theme"?: "ios" | "md" | "ionic";
349
+ /**
350
+ * If `true`, the alert will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
332
351
  * @default false
333
352
  */
334
353
  "translucent": boolean;
@@ -338,13 +357,42 @@ export namespace Components {
338
357
  "trigger": string | undefined;
339
358
  }
340
359
  interface IonApp {
360
+ /**
361
+ * The mode determines the platform behaviors of the component.
362
+ */
363
+ "mode"?: "ios" | "md";
341
364
  /**
342
365
  * Used to set focus on an element that uses `ion-focusable`. Do not use this if focusing the element as a result of a keyboard event as the focus utility should handle this for us. This method should be used when we want to programmatically focus an element as a result of another user action. (Ex: We focus the first element inside of a popover when the user presents it, but the popover is not always presented as a result of keyboard action.)
343
366
  * @param elements An array of HTML elements to set focus on.
344
367
  */
345
368
  "setFocus": (elements: HTMLElement[]) => Promise<void>;
369
+ /**
370
+ * The theme determines the visual appearance of the component.
371
+ */
372
+ "theme"?: "ios" | "md" | "ionic";
346
373
  }
347
374
  interface IonAvatar {
375
+ /**
376
+ * If `true`, the user cannot interact with the avatar.
377
+ * @default false
378
+ */
379
+ "disabled": boolean;
380
+ /**
381
+ * The mode determines the platform behaviors of the component.
382
+ */
383
+ "mode"?: "ios" | "md";
384
+ /**
385
+ * Set to `"soft"` for an avatar with slightly rounded corners, `"round"` for an avatar with fully rounded corners, or `"rectangular"` for an avatar without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
386
+ */
387
+ "shape"?: 'soft' | 'round' | 'rectangular';
388
+ /**
389
+ * Set to `"xxsmall"` for the smallest size. Set to `"xsmall"` for a very small size. Set to `"small"` for a compact size. Set to `"medium"` for the default height and width. Set to `"large"` for a larger size. Set to `"xlarge"` for the largest dimensions. Defaults to `"medium"` for the `ionic` theme, undefined for all other themes.
390
+ */
391
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
392
+ /**
393
+ * The theme determines the visual appearance of the component.
394
+ */
395
+ "theme"?: "ios" | "md" | "ionic";
348
396
  }
349
397
  interface IonBackButton {
350
398
  /**
@@ -365,7 +413,7 @@ export namespace Components {
365
413
  */
366
414
  "icon"?: string | null;
367
415
  /**
368
- * The mode determines which platform styles to use.
416
+ * The mode determines the platform behaviors of the component.
369
417
  */
370
418
  "mode"?: "ios" | "md";
371
419
  /**
@@ -376,6 +424,10 @@ export namespace Components {
376
424
  * The text to display in the back button.
377
425
  */
378
426
  "text"?: string | null;
427
+ /**
428
+ * The theme determines the visual appearance of the component.
429
+ */
430
+ "theme"?: "ios" | "md" | "ionic";
379
431
  /**
380
432
  * The type of the button.
381
433
  * @default 'button'
@@ -383,6 +435,10 @@ export namespace Components {
383
435
  "type": 'submit' | 'reset' | 'button';
384
436
  }
385
437
  interface IonBackdrop {
438
+ /**
439
+ * The mode determines the platform behaviors of the component.
440
+ */
441
+ "mode"?: "ios" | "md";
386
442
  /**
387
443
  * If `true`, the backdrop will stop propagation on tap.
388
444
  * @default true
@@ -393,6 +449,10 @@ export namespace Components {
393
449
  * @default true
394
450
  */
395
451
  "tappable": boolean;
452
+ /**
453
+ * The theme determines the visual appearance of the component.
454
+ */
455
+ "theme"?: "ios" | "md" | "ionic";
396
456
  /**
397
457
  * If `true`, the backdrop will be visible.
398
458
  * @default true
@@ -405,9 +465,29 @@ export namespace Components {
405
465
  */
406
466
  "color"?: Color;
407
467
  /**
408
- * The mode determines which platform styles to use.
468
+ * Set to `"bold"` for a badge with vibrant, bold colors or to `"subtle"` for a badge with muted, subtle colors. Only applies to the `ionic` theme.
469
+ */
470
+ "hue"?: 'bold' | 'subtle';
471
+ /**
472
+ * The mode determines the platform behaviors of the component.
409
473
  */
410
474
  "mode"?: "ios" | "md";
475
+ /**
476
+ * Set to `"rectangular"` for non-rounded corners. Set to `"soft"` for slightly rounded corners. Set to `"round"` for fully rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
477
+ */
478
+ "shape"?: 'soft' | 'round | rectangular';
479
+ /**
480
+ * Set to `"small"` for a small badge. Set to `"medium"` for a medium badge. Set to `"large"` for a large badge, when it is empty (no text or icon). Defaults to `"small"` for the `ionic` theme, undefined for all other themes.
481
+ */
482
+ "size"?: 'small' | 'medium' | 'large';
483
+ /**
484
+ * The theme determines the visual appearance of the component.
485
+ */
486
+ "theme"?: "ios" | "md" | "ionic";
487
+ /**
488
+ * Set to `"top"` to position the badge on top right absolute position of the parent element. Set to `"bottom"` to position the badge on bottom right absolute position of the parent element.
489
+ */
490
+ "vertical"?: 'top' | 'bottom';
411
491
  }
412
492
  interface IonBreadcrumb {
413
493
  /**
@@ -438,7 +518,7 @@ export namespace Components {
438
518
  "href": string | undefined;
439
519
  "last": boolean;
440
520
  /**
441
- * The mode determines which platform styles to use.
521
+ * The mode determines the platform behaviors of the component.
442
522
  */
443
523
  "mode"?: "ios" | "md";
444
524
  /**
@@ -463,6 +543,10 @@ export namespace Components {
463
543
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
464
544
  */
465
545
  "target": string | undefined;
546
+ /**
547
+ * The theme determines the visual appearance of the component.
548
+ */
549
+ "theme"?: "ios" | "md" | "ionic";
466
550
  }
467
551
  interface IonBreadcrumbs {
468
552
  /**
@@ -484,9 +568,13 @@ export namespace Components {
484
568
  */
485
569
  "maxItems"?: number;
486
570
  /**
487
- * The mode determines which platform styles to use.
571
+ * The mode determines the platform behaviors of the component.
488
572
  */
489
573
  "mode"?: "ios" | "md";
574
+ /**
575
+ * The theme determines the visual appearance of the component.
576
+ */
577
+ "theme"?: "ios" | "md" | "ionic";
490
578
  }
491
579
  interface IonButton {
492
580
  /**
@@ -524,7 +612,7 @@ export namespace Components {
524
612
  */
525
613
  "href": string | undefined;
526
614
  /**
527
- * The mode determines which platform styles to use.
615
+ * The mode determines the platform behaviors of the component.
528
616
  */
529
617
  "mode"?: "ios" | "md";
530
618
  /**
@@ -541,13 +629,13 @@ export namespace Components {
541
629
  */
542
630
  "routerDirection": RouterDirection;
543
631
  /**
544
- * Set to `"round"` for a button with more rounded corners.
632
+ * Set to `"soft"` for a button with slightly rounded corners, `"round"` for a button with fully rounded corners, or `"rectangular"` for a button without rounded corners. Defaults to `"soft"` for the `"ios"` theme and `"round"` for all other themes.
545
633
  */
546
- "shape"?: 'round';
634
+ "shape"?: 'soft' | 'round' | 'rectangular';
547
635
  /**
548
- * Set to `"small"` for a button with less height and padding, to `"default"` for a button with the default height and padding, or to `"large"` for a button with more height and padding. By default the size is unset, unless the button is inside of an item, where the size is `"small"` by default. Set the size to `"default"` inside of an item to make it a standard size button.
636
+ * Set to `"small"` for a button with less height and padding, to `"medium"` for a button with the medium height and padding, or to `"large"` for a button with more height and padding. By default the size is unset, unless the button is inside of an item, where the size is `"small"` by default. Set the size to `"default"` inside of an item to make it a standard size button.
549
637
  */
550
- "size"?: 'small' | 'default' | 'large';
638
+ "size"?: 'small' | 'default' | 'medium' | 'large';
551
639
  /**
552
640
  * If `true`, activates a button with a heavier font weight.
553
641
  * @default false
@@ -557,6 +645,10 @@ export namespace Components {
557
645
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
558
646
  */
559
647
  "target": string | undefined;
648
+ /**
649
+ * The theme determines the visual appearance of the component.
650
+ */
651
+ "theme"?: "ios" | "md" | "ionic";
560
652
  /**
561
653
  * The type of the button.
562
654
  * @default 'button'
@@ -565,10 +657,18 @@ export namespace Components {
565
657
  }
566
658
  interface IonButtons {
567
659
  /**
568
- * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in `ios` mode with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
660
+ * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in the `ios` theme with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
569
661
  * @default false
570
662
  */
571
663
  "collapse": boolean;
664
+ /**
665
+ * The mode determines the platform behaviors of the component.
666
+ */
667
+ "mode"?: "ios" | "md";
668
+ /**
669
+ * The theme determines the visual appearance of the component.
670
+ */
671
+ "theme"?: "ios" | "md" | "ionic";
572
672
  }
573
673
  interface IonCard {
574
674
  /**
@@ -594,7 +694,7 @@ export namespace Components {
594
694
  */
595
695
  "href": string | undefined;
596
696
  /**
597
- * The mode determines which platform styles to use.
697
+ * The mode determines the platform behaviors of the component.
598
698
  */
599
699
  "mode"?: "ios" | "md";
600
700
  /**
@@ -610,10 +710,19 @@ export namespace Components {
610
710
  * @default 'forward'
611
711
  */
612
712
  "routerDirection": RouterDirection;
713
+ /**
714
+ * Set to `"soft"` for a card with slightly rounded corners, `"round"` for a card with more rounded corners, or `"rectangular"` for a card without rounded corners. Defaults to `"round"`.
715
+ * @default 'round'
716
+ */
717
+ "shape"?: 'soft' | 'round' | 'rectangular';
613
718
  /**
614
719
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
615
720
  */
616
721
  "target": string | undefined;
722
+ /**
723
+ * The theme determines the visual appearance of the component.
724
+ */
725
+ "theme"?: "ios" | "md" | "ionic";
617
726
  /**
618
727
  * The type of the button. Only used when an `onclick` or `button` property is present.
619
728
  * @default 'button'
@@ -622,9 +731,13 @@ export namespace Components {
622
731
  }
623
732
  interface IonCardContent {
624
733
  /**
625
- * The mode determines which platform styles to use.
734
+ * The mode determines the platform behaviors of the component.
626
735
  */
627
736
  "mode"?: "ios" | "md";
737
+ /**
738
+ * The theme determines the visual appearance of the component.
739
+ */
740
+ "theme"?: "ios" | "md" | "ionic";
628
741
  }
629
742
  interface IonCardHeader {
630
743
  /**
@@ -632,11 +745,15 @@ export namespace Components {
632
745
  */
633
746
  "color"?: Color;
634
747
  /**
635
- * The mode determines which platform styles to use.
748
+ * The mode determines the platform behaviors of the component.
636
749
  */
637
750
  "mode"?: "ios" | "md";
638
751
  /**
639
- * If `true`, the card header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
752
+ * The theme determines the visual appearance of the component.
753
+ */
754
+ "theme"?: "ios" | "md" | "ionic";
755
+ /**
756
+ * If `true`, the card header will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
640
757
  * @default false
641
758
  */
642
759
  "translucent": boolean;
@@ -647,9 +764,13 @@ export namespace Components {
647
764
  */
648
765
  "color"?: Color;
649
766
  /**
650
- * The mode determines which platform styles to use.
767
+ * The mode determines the platform behaviors of the component.
651
768
  */
652
769
  "mode"?: "ios" | "md";
770
+ /**
771
+ * The theme determines the visual appearance of the component.
772
+ */
773
+ "theme"?: "ios" | "md" | "ionic";
653
774
  }
654
775
  interface IonCardTitle {
655
776
  /**
@@ -657,9 +778,13 @@ export namespace Components {
657
778
  */
658
779
  "color"?: Color;
659
780
  /**
660
- * The mode determines which platform styles to use.
781
+ * The mode determines the platform behaviors of the component.
661
782
  */
662
783
  "mode"?: "ios" | "md";
784
+ /**
785
+ * The theme determines the visual appearance of the component.
786
+ */
787
+ "theme"?: "ios" | "md" | "ionic";
663
788
  }
664
789
  interface IonCheckbox {
665
790
  /**
@@ -703,7 +828,7 @@ export namespace Components {
703
828
  */
704
829
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
705
830
  /**
706
- * The mode determines which platform styles to use.
831
+ * The mode determines the platform behaviors of the component.
707
832
  */
708
833
  "mode"?: "ios" | "md";
709
834
  /**
@@ -717,6 +842,19 @@ export namespace Components {
717
842
  */
718
843
  "required": boolean;
719
844
  "setFocus": () => Promise<void>;
845
+ /**
846
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
847
+ * @default 'soft'
848
+ */
849
+ "shape"?: 'soft' | 'rectangular';
850
+ /**
851
+ * Set to `"small"` for a checkbox with less height and padding.
852
+ */
853
+ "size"?: 'small';
854
+ /**
855
+ * The theme determines the visual appearance of the component.
856
+ */
857
+ "theme"?: "ios" | "md" | "ionic";
720
858
  /**
721
859
  * The value of the checkbox does not mean if it's checked or not, use the `checked` property for that. The value of a checkbox is analogous to the value of an `<input type="checkbox">`, it's only used when the checkbox participates in a native `<form>`.
722
860
  * @default 'on'
@@ -734,7 +872,12 @@ export namespace Components {
734
872
  */
735
873
  "disabled": boolean;
736
874
  /**
737
- * The mode determines which platform styles to use.
875
+ * Set to `"bold"` for a chip with vibrant, bold colors or to `"subtle"` for a chip with muted, subtle colors. Only applies to the `ionic` theme.
876
+ * @default 'subtle'
877
+ */
878
+ "hue"?: 'bold' | 'subtle';
879
+ /**
880
+ * The mode determines the platform behaviors of the component.
738
881
  */
739
882
  "mode"?: "ios" | "md";
740
883
  /**
@@ -742,8 +885,24 @@ export namespace Components {
742
885
  * @default false
743
886
  */
744
887
  "outline": boolean;
888
+ /**
889
+ * Set to `"soft"` for a chip with slightly rounded corners, `"round"` for a chip with fully rounded corners, or `"rectangular"` for a chip without rounded corners. Defaults to `"round"` for the `"ionic"` theme and `"soft"` for all other themes.
890
+ */
891
+ "shape"?: 'soft' | 'round' | 'rectangular';
892
+ /**
893
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
894
+ */
895
+ "size"?: 'small' | 'large';
896
+ /**
897
+ * The theme determines the visual appearance of the component.
898
+ */
899
+ "theme"?: "ios" | "md" | "ionic";
745
900
  }
746
901
  interface IonCol {
902
+ /**
903
+ * The mode determines the platform behaviors of the component.
904
+ */
905
+ "mode"?: "ios" | "md";
747
906
  /**
748
907
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
749
908
  */
@@ -840,6 +999,10 @@ export namespace Components {
840
999
  * The size of the column for xs screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
841
1000
  */
842
1001
  "sizeXs"?: string;
1002
+ /**
1003
+ * The theme determines the visual appearance of the component.
1004
+ */
1005
+ "theme"?: "ios" | "md" | "ionic";
843
1006
  }
844
1007
  interface IonContent {
845
1008
  /**
@@ -868,6 +1031,10 @@ export namespace Components {
868
1031
  * Get the element where the actual scrolling takes place. This element can be used to subscribe to `scroll` events or manually modify `scrollTop`. However, it's recommended to use the API provided by `ion-content`: i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events and `scrollToPoint()` to scroll the content into a certain point.
869
1032
  */
870
1033
  "getScrollElement": () => Promise<HTMLElement>;
1034
+ /**
1035
+ * The mode determines the platform behaviors of the component.
1036
+ */
1037
+ "mode"?: "ios" | "md";
871
1038
  /**
872
1039
  * Scroll by a specified X/Y distance in the component.
873
1040
  * @param x The amount to scroll by on the horizontal axis.
@@ -907,6 +1074,10 @@ export namespace Components {
907
1074
  * @default true
908
1075
  */
909
1076
  "scrollY": boolean;
1077
+ /**
1078
+ * The theme determines the visual appearance of the component.
1079
+ */
1080
+ "theme"?: "ios" | "md" | "ionic";
910
1081
  }
911
1082
  interface IonDatetime {
912
1083
  /**
@@ -991,7 +1162,7 @@ export namespace Components {
991
1162
  */
992
1163
  "minuteValues"?: number[] | number | string;
993
1164
  /**
994
- * The mode determines which platform styles to use.
1165
+ * The mode determines the platform behaviors of the component.
995
1166
  */
996
1167
  "mode"?: "ios" | "md";
997
1168
  /**
@@ -1058,6 +1229,10 @@ export namespace Components {
1058
1229
  * @default 'fixed'
1059
1230
  */
1060
1231
  "size": 'cover' | 'fixed';
1232
+ /**
1233
+ * The theme determines the visual appearance of the component.
1234
+ */
1235
+ "theme"?: "ios" | "md" | "ionic";
1061
1236
  /**
1062
1237
  * A callback used to format the header text that shows how many dates are selected. Only used if there are 0 or more than 1 selected (i.e. unused for exactly 1). By default, the header text is set to "numberOfDates days". See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this if you need to access `this` from within the callback.
1063
1238
  */
@@ -1087,9 +1262,25 @@ export namespace Components {
1087
1262
  */
1088
1263
  "disabled": boolean;
1089
1264
  /**
1090
- * The mode determines which platform styles to use.
1265
+ * The mode determines the platform behaviors of the component.
1091
1266
  */
1092
1267
  "mode"?: "ios" | "md";
1268
+ /**
1269
+ * The theme determines the visual appearance of the component.
1270
+ */
1271
+ "theme"?: "ios" | "md" | "ionic";
1272
+ }
1273
+ interface IonDivider {
1274
+ /**
1275
+ * If `true`, the divider will have horizontal margins By default, it's `false`
1276
+ * @default false
1277
+ */
1278
+ "inset": boolean;
1279
+ /**
1280
+ * Set to `"xxsmall"` for the smallest spacing. Set to "xsmall" for very small spacing. Set to `"small"` for small spacing. Set to "medium" for medium spacing. Set to "large" for large spacing. Set to `"xlarge"` for the largest spacing. Defaults to `"medium"`.
1281
+ * @default 'medium'
1282
+ */
1283
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
1093
1284
  }
1094
1285
  interface IonFab {
1095
1286
  /**
@@ -1110,6 +1301,14 @@ export namespace Components {
1110
1301
  * Where to align the fab horizontally in the viewport.
1111
1302
  */
1112
1303
  "horizontal"?: 'start' | 'end' | 'center';
1304
+ /**
1305
+ * The mode determines the platform behaviors of the component.
1306
+ */
1307
+ "mode"?: "ios" | "md";
1308
+ /**
1309
+ * The theme determines the visual appearance of the component.
1310
+ */
1311
+ "theme"?: "ios" | "md" | "ionic";
1113
1312
  /**
1114
1313
  * Opens/Closes the FAB list container.
1115
1314
  */
@@ -1127,9 +1326,8 @@ export namespace Components {
1127
1326
  "activated": boolean;
1128
1327
  /**
1129
1328
  * The icon name to use for the close icon. This will appear when the fab button is pressed. Only applies if it is the main button inside of a fab containing a fab list.
1130
- * @default close
1131
1329
  */
1132
- "closeIcon": string;
1330
+ "closeIcon"?: string;
1133
1331
  /**
1134
1332
  * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1135
1333
  */
@@ -1148,7 +1346,7 @@ export namespace Components {
1148
1346
  */
1149
1347
  "href": string | undefined;
1150
1348
  /**
1151
- * The mode determines which platform styles to use.
1349
+ * The mode determines the platform behaviors of the component.
1152
1350
  */
1153
1351
  "mode"?: "ios" | "md";
1154
1352
  /**
@@ -1178,7 +1376,11 @@ export namespace Components {
1178
1376
  */
1179
1377
  "target": string | undefined;
1180
1378
  /**
1181
- * If `true`, the fab button will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1379
+ * The theme determines the visual appearance of the component.
1380
+ */
1381
+ "theme"?: "ios" | "md" | "ionic";
1382
+ /**
1383
+ * If `true`, the fab button will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1182
1384
  * @default false
1183
1385
  */
1184
1386
  "translucent": boolean;
@@ -1194,23 +1396,35 @@ export namespace Components {
1194
1396
  * @default false
1195
1397
  */
1196
1398
  "activated": boolean;
1399
+ /**
1400
+ * The mode determines the platform behaviors of the component.
1401
+ */
1402
+ "mode"?: "ios" | "md";
1197
1403
  /**
1198
1404
  * The side the fab list will show on relative to the main fab button.
1199
1405
  * @default 'bottom'
1200
1406
  */
1201
1407
  "side": 'start' | 'end' | 'top' | 'bottom';
1408
+ /**
1409
+ * The theme determines the visual appearance of the component.
1410
+ */
1411
+ "theme"?: "ios" | "md" | "ionic";
1202
1412
  }
1203
1413
  interface IonFooter {
1204
1414
  /**
1205
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
1415
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
1206
1416
  */
1207
1417
  "collapse"?: 'fade';
1208
1418
  /**
1209
- * The mode determines which platform styles to use.
1419
+ * The mode determines the platform behaviors of the component.
1210
1420
  */
1211
1421
  "mode"?: "ios" | "md";
1212
1422
  /**
1213
- * If `true`, the footer will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
1423
+ * The theme determines the visual appearance of the component.
1424
+ */
1425
+ "theme"?: "ios" | "md" | "ionic";
1426
+ /**
1427
+ * If `true`, the footer will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
1214
1428
  * @default false
1215
1429
  */
1216
1430
  "translucent": boolean;
@@ -1221,18 +1435,35 @@ export namespace Components {
1221
1435
  * @default false
1222
1436
  */
1223
1437
  "fixed": boolean;
1438
+ /**
1439
+ * The mode determines the platform behaviors of the component.
1440
+ */
1441
+ "mode"?: "ios" | "md";
1442
+ /**
1443
+ * The theme determines the visual appearance of the component.
1444
+ */
1445
+ "theme"?: "ios" | "md" | "ionic";
1224
1446
  }
1225
1447
  interface IonHeader {
1226
1448
  /**
1227
- * Describes the scroll effect that will be applied to the header. Only applies in iOS mode. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
1449
+ * Describes the scroll effect that will be applied to the header. Only applies when the theme is `"ios"`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
1228
1450
  */
1229
1451
  "collapse"?: 'condense' | 'fade';
1230
1452
  /**
1231
- * The mode determines which platform styles to use.
1453
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
1454
+ * @default false
1455
+ */
1456
+ "divider": boolean;
1457
+ /**
1458
+ * The mode determines the platform behaviors of the component.
1232
1459
  */
1233
1460
  "mode"?: "ios" | "md";
1234
1461
  /**
1235
- * If `true`, the header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
1462
+ * The theme determines the visual appearance of the component.
1463
+ */
1464
+ "theme"?: "ios" | "md" | "ionic";
1465
+ /**
1466
+ * If `true`, the header will be translucent. Only applies when the theme is `"ios"` or `"ionic"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
1236
1467
  * @default false
1237
1468
  */
1238
1469
  "translucent": boolean;
@@ -1242,10 +1473,18 @@ export namespace Components {
1242
1473
  * This attribute defines the alternative text describing the image. Users will see this text displayed if the image URL is wrong, the image is not in one of the supported formats, or if the image is not yet downloaded.
1243
1474
  */
1244
1475
  "alt"?: string;
1476
+ /**
1477
+ * The mode determines the platform behaviors of the component.
1478
+ */
1479
+ "mode"?: "ios" | "md";
1245
1480
  /**
1246
1481
  * The image URL. This attribute is mandatory for the `<img>` element.
1247
1482
  */
1248
1483
  "src"?: string;
1484
+ /**
1485
+ * The theme determines the visual appearance of the component.
1486
+ */
1487
+ "theme"?: "ios" | "md" | "ionic";
1249
1488
  }
1250
1489
  interface IonInfiniteScroll {
1251
1490
  /**
@@ -1257,11 +1496,24 @@ export namespace Components {
1257
1496
  * @default false
1258
1497
  */
1259
1498
  "disabled": boolean;
1499
+ /**
1500
+ * The mode determines the platform behaviors of the component.
1501
+ */
1502
+ "mode"?: "ios" | "md";
1260
1503
  /**
1261
1504
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
1262
1505
  * @default 'bottom'
1263
1506
  */
1264
1507
  "position": 'top' | 'bottom';
1508
+ /**
1509
+ * If `true`, the infinite scroll will preserve the scroll position when the content is re-rendered. This is useful when the content is re-rendered with new keys, and the scroll position should be preserved.
1510
+ * @default false
1511
+ */
1512
+ "preserveRerenderScrollPosition": boolean;
1513
+ /**
1514
+ * The theme determines the visual appearance of the component.
1515
+ */
1516
+ "theme"?: "ios" | "md" | "ionic";
1265
1517
  /**
1266
1518
  * The threshold distance from the bottom of the content to call the `infinite` output event when scrolled. The threshold value can be either a percent, or in pixels. For example, use the value of `10%` for the `infinite` output event to get called when the user has scrolled 10% from the bottom of the page. Use the value `100px` when the scroll is within 100 pixels from the bottom of the page.
1267
1519
  * @default '15%'
@@ -1277,6 +1529,14 @@ export namespace Components {
1277
1529
  * Optional text to display while loading. `loadingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) This property accepts custom HTML as a string. Content is parsed as plaintext by default. `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config before custom HTML can be used.
1278
1530
  */
1279
1531
  "loadingText"?: string | IonicSafeString;
1532
+ /**
1533
+ * The mode determines the platform behaviors of the component.
1534
+ */
1535
+ "mode"?: "ios" | "md";
1536
+ /**
1537
+ * The theme determines the visual appearance of the component.
1538
+ */
1539
+ "theme"?: "ios" | "md" | "ionic";
1280
1540
  }
1281
1541
  interface IonInput {
1282
1542
  /**
@@ -1343,7 +1603,7 @@ export namespace Components {
1343
1603
  */
1344
1604
  "errorText"?: string;
1345
1605
  /**
1346
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
1606
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available when the theme is `"md"`.
1347
1607
  */
1348
1608
  "fill"?: 'outline' | 'solid';
1349
1609
  /**
@@ -1363,10 +1623,9 @@ export namespace Components {
1363
1623
  */
1364
1624
  "label"?: string;
1365
1625
  /**
1366
- * Where to place the label relative to the input. `"start"`: The label will appear to the left of the input in LTR and to the right in RTL. `"end"`: The label will appear to the right of the input in LTR and to the left in RTL. `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input. `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
1367
- * @default 'start'
1626
+ * Where to place the label relative to the input. `"start"`: The label will appear to the left of the input in LTR and to the right in RTL. `"end"`: The label will appear to the right of the input in LTR and to the left in RTL. `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input. `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("..."). Defaults to "stacked" for the ionic theme, or "start" for all other themes. In the ionic theme, only the values "stacked" and "floating" are supported.
1368
1627
  */
1369
- "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1628
+ "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1370
1629
  /**
1371
1630
  * The maximum value, which must not be less than its minimum (min attribute) value.
1372
1631
  */
@@ -1384,7 +1643,7 @@ export namespace Components {
1384
1643
  */
1385
1644
  "minlength"?: number;
1386
1645
  /**
1387
- * The mode determines which platform styles to use.
1646
+ * The mode determines the platform behaviors of the component.
1388
1647
  */
1389
1648
  "mode"?: "ios" | "md";
1390
1649
  /**
@@ -1419,9 +1678,14 @@ export namespace Components {
1419
1678
  */
1420
1679
  "setFocus": () => Promise<void>;
1421
1680
  /**
1422
- * The shape of the input. If "round" it will have an increased border radius.
1681
+ * 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"`.
1423
1682
  */
1424
- "shape"?: 'round';
1683
+ "shape"?: 'soft' | 'round' | 'rectangular';
1684
+ /**
1685
+ * 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.
1686
+ * @default 'medium'
1687
+ */
1688
+ "size"?: 'medium' | 'large' | 'xlarge';
1425
1689
  /**
1426
1690
  * If `true`, the element will have its spelling and grammar checked.
1427
1691
  * @default false
@@ -1431,6 +1695,10 @@ export namespace Components {
1431
1695
  * Works with the min and max attributes to limit the increments at which a value can be set. Possible values are: `"any"` or a positive floating point number.
1432
1696
  */
1433
1697
  "step"?: string;
1698
+ /**
1699
+ * The theme determines the visual appearance of the component.
1700
+ */
1701
+ "theme"?: "ios" | "md" | "ionic";
1434
1702
  /**
1435
1703
  * The type of control to display. The default type is text.
1436
1704
  * @default 'text'
@@ -1543,14 +1811,13 @@ export namespace Components {
1543
1811
  */
1544
1812
  "color"?: Color;
1545
1813
  /**
1546
- * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `mode` is `ios` and an `href` or `button` property is present.
1814
+ * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `theme` is `"ios"` and an `href` or `button` property is present.
1547
1815
  */
1548
1816
  "detail"?: boolean;
1549
1817
  /**
1550
1818
  * The icon to use when `detail` is set to `true`.
1551
- * @default chevronForward
1552
1819
  */
1553
- "detailIcon": string;
1820
+ "detailIcon"?: string;
1554
1821
  /**
1555
1822
  * If `true`, the user cannot interact with the item.
1556
1823
  * @default false
@@ -1569,7 +1836,7 @@ export namespace Components {
1569
1836
  */
1570
1837
  "lines"?: 'full' | 'inset' | 'none';
1571
1838
  /**
1572
- * The mode determines which platform styles to use.
1839
+ * The mode determines the platform behaviors of the component.
1573
1840
  */
1574
1841
  "mode"?: "ios" | "md";
1575
1842
  /**
@@ -1589,6 +1856,10 @@ export namespace Components {
1589
1856
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1590
1857
  */
1591
1858
  "target": string | undefined;
1859
+ /**
1860
+ * The theme determines the visual appearance of the component.
1861
+ */
1862
+ "theme"?: "ios" | "md" | "ionic";
1592
1863
  /**
1593
1864
  * The type of the button. Only used when an `onclick` or `button` property is present.
1594
1865
  * @default 'button'
@@ -1601,7 +1872,7 @@ export namespace Components {
1601
1872
  */
1602
1873
  "color"?: Color;
1603
1874
  /**
1604
- * The mode determines which platform styles to use.
1875
+ * The mode determines the platform behaviors of the component.
1605
1876
  */
1606
1877
  "mode"?: "ios" | "md";
1607
1878
  /**
@@ -1609,8 +1880,20 @@ export namespace Components {
1609
1880
  * @default false
1610
1881
  */
1611
1882
  "sticky": boolean;
1883
+ /**
1884
+ * The theme determines the visual appearance of the component.
1885
+ */
1886
+ "theme"?: "ios" | "md" | "ionic";
1612
1887
  }
1613
1888
  interface IonItemGroup {
1889
+ /**
1890
+ * The mode determines the platform behaviors of the component.
1891
+ */
1892
+ "mode"?: "ios" | "md";
1893
+ /**
1894
+ * The theme determines the visual appearance of the component.
1895
+ */
1896
+ "theme"?: "ios" | "md" | "ionic";
1614
1897
  }
1615
1898
  interface IonItemOption {
1616
1899
  /**
@@ -1636,17 +1919,30 @@ export namespace Components {
1636
1919
  */
1637
1920
  "href": string | undefined;
1638
1921
  /**
1639
- * The mode determines which platform styles to use.
1922
+ * Set to `"bold"` for an option with vibrant, bold colors or to `"subtle"` for an option with muted, subtle colors. Only applies to the `ionic` theme.
1923
+ * @default 'subtle'
1924
+ */
1925
+ "hue"?: 'bold' | 'subtle';
1926
+ /**
1927
+ * The mode determines the platform behaviors of the component.
1640
1928
  */
1641
1929
  "mode"?: "ios" | "md";
1642
1930
  /**
1643
1931
  * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
1644
1932
  */
1645
1933
  "rel": string | undefined;
1934
+ /**
1935
+ * 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.
1936
+ */
1937
+ "shape"?: 'soft' | 'round' | 'rectangular';
1646
1938
  /**
1647
1939
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1648
1940
  */
1649
1941
  "target": string | undefined;
1942
+ /**
1943
+ * The theme determines the visual appearance of the component.
1944
+ */
1945
+ "theme"?: "ios" | "md" | "ionic";
1650
1946
  /**
1651
1947
  * The type of the button.
1652
1948
  * @default 'button'
@@ -1655,11 +1951,19 @@ export namespace Components {
1655
1951
  }
1656
1952
  interface IonItemOptions {
1657
1953
  "fireSwipeEvent": () => Promise<void>;
1954
+ /**
1955
+ * The mode determines the platform behaviors of the component.
1956
+ */
1957
+ "mode"?: "ios" | "md";
1658
1958
  /**
1659
1959
  * The side the option button should be on. Possible values: `"start"` and `"end"`. If you have multiple `ion-item-options`, a side must be provided for each.
1660
1960
  * @default 'end'
1661
1961
  */
1662
1962
  "side": Side;
1963
+ /**
1964
+ * The theme determines the visual appearance of the component.
1965
+ */
1966
+ "theme"?: "ios" | "md" | "ionic";
1663
1967
  }
1664
1968
  interface IonItemSliding {
1665
1969
  /**
@@ -1683,11 +1987,19 @@ export namespace Components {
1683
1987
  * Get the ratio of the open amount of the item compared to the width of the options. If the number returned is positive, then the options on the right side are open. If the number returned is negative, then the options on the left side are open. If the absolute value of the number is greater than 1, the item is open more than the width of the options.
1684
1988
  */
1685
1989
  "getSlidingRatio": () => Promise<number>;
1990
+ /**
1991
+ * The mode determines the platform behaviors of the component.
1992
+ */
1993
+ "mode"?: "ios" | "md";
1686
1994
  /**
1687
1995
  * Open the sliding item.
1688
1996
  * @param side The side of the options to open. If a side is not provided, it will open the first set of options it finds within the item.
1689
1997
  */
1690
1998
  "open": (side: Side | undefined) => Promise<void>;
1999
+ /**
2000
+ * The theme determines the visual appearance of the component.
2001
+ */
2002
+ "theme"?: "ios" | "md" | "ionic";
1691
2003
  }
1692
2004
  interface IonLabel {
1693
2005
  /**
@@ -1695,13 +2007,17 @@ export namespace Components {
1695
2007
  */
1696
2008
  "color"?: Color;
1697
2009
  /**
1698
- * The mode determines which platform styles to use.
2010
+ * The mode determines the platform behaviors of the component.
1699
2011
  */
1700
2012
  "mode"?: "ios" | "md";
1701
2013
  /**
1702
2014
  * The position determines where and how the label behaves inside an item.
1703
2015
  */
1704
2016
  "position"?: 'fixed' | 'stacked' | 'floating';
2017
+ /**
2018
+ * The theme determines the visual appearance of the component.
2019
+ */
2020
+ "theme"?: "ios" | "md" | "ionic";
1705
2021
  }
1706
2022
  interface IonList {
1707
2023
  /**
@@ -1718,9 +2034,17 @@ export namespace Components {
1718
2034
  */
1719
2035
  "lines"?: 'full' | 'inset' | 'none';
1720
2036
  /**
1721
- * The mode determines which platform styles to use.
2037
+ * The mode determines the platform behaviors of the component.
1722
2038
  */
1723
2039
  "mode"?: "ios" | "md";
2040
+ /**
2041
+ * 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.
2042
+ */
2043
+ "shape"?: 'soft' | 'round' | 'rectangular';
2044
+ /**
2045
+ * The theme determines the visual appearance of the component.
2046
+ */
2047
+ "theme"?: "ios" | "md" | "ionic";
1724
2048
  }
1725
2049
  interface IonListHeader {
1726
2050
  /**
@@ -1732,9 +2056,13 @@ export namespace Components {
1732
2056
  */
1733
2057
  "lines"?: 'full' | 'inset' | 'none';
1734
2058
  /**
1735
- * The mode determines which platform styles to use.
2059
+ * The mode determines the platform behaviors of the component.
1736
2060
  */
1737
2061
  "mode"?: "ios" | "md";
2062
+ /**
2063
+ * The theme determines the visual appearance of the component.
2064
+ */
2065
+ "theme"?: "ios" | "md" | "ionic";
1738
2066
  }
1739
2067
  interface IonLoading {
1740
2068
  /**
@@ -1794,7 +2122,7 @@ export namespace Components {
1794
2122
  */
1795
2123
  "message"?: string | IonicSafeString;
1796
2124
  /**
1797
- * The mode determines which platform styles to use.
2125
+ * The mode determines the platform behaviors of the component.
1798
2126
  */
1799
2127
  "mode"?: "ios" | "md";
1800
2128
  /**
@@ -1820,7 +2148,11 @@ export namespace Components {
1820
2148
  */
1821
2149
  "spinner"?: SpinnerTypes | null;
1822
2150
  /**
1823
- * If `true`, the loading indicator will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
2151
+ * The theme determines the visual appearance of the component.
2152
+ */
2153
+ "theme"?: "ios" | "md" | "ionic";
2154
+ /**
2155
+ * If `true`, the loading indicator will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1824
2156
  * @default false
1825
2157
  */
1826
2158
  "translucent": boolean;
@@ -1862,6 +2194,10 @@ export namespace Components {
1862
2194
  * An id for the menu.
1863
2195
  */
1864
2196
  "menuId"?: string;
2197
+ /**
2198
+ * The mode determines the platform behaviors of the component.
2199
+ */
2200
+ "mode"?: "ios" | "md";
1865
2201
  /**
1866
2202
  * Opens the menu. If the menu is already open or it can't be opened, it returns `false`.
1867
2203
  * @param animated If `true`, the menu will animate when opening. If `false`, the menu will open instantly without animation. Defaults to `true`.
@@ -1884,6 +2220,10 @@ export namespace Components {
1884
2220
  * @default true
1885
2221
  */
1886
2222
  "swipeGesture": boolean;
2223
+ /**
2224
+ * The theme determines the visual appearance of the component.
2225
+ */
2226
+ "theme"?: "ios" | "md" | "ionic";
1887
2227
  /**
1888
2228
  * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it. If the operation can't be completed successfully, it returns `false`.
1889
2229
  * @param animated If `true`, the menu will animate when opening/closing. If `false`, the menu will open/close instantly without animation. Defaults to `true`.
@@ -1914,9 +2254,13 @@ export namespace Components {
1914
2254
  */
1915
2255
  "menu"?: string;
1916
2256
  /**
1917
- * The mode determines which platform styles to use.
2257
+ * The mode determines the platform behaviors of the component.
1918
2258
  */
1919
2259
  "mode"?: "ios" | "md";
2260
+ /**
2261
+ * The theme determines the visual appearance of the component.
2262
+ */
2263
+ "theme"?: "ios" | "md" | "ionic";
1920
2264
  /**
1921
2265
  * The type of the button.
1922
2266
  * @default 'button'
@@ -1933,6 +2277,14 @@ export namespace Components {
1933
2277
  * Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle. If this property is not used, `ion-menu-toggle` will toggle the first menu that is active.
1934
2278
  */
1935
2279
  "menu"?: string;
2280
+ /**
2281
+ * The mode determines the platform behaviors of the component.
2282
+ */
2283
+ "mode"?: "ios" | "md";
2284
+ /**
2285
+ * The theme determines the visual appearance of the component.
2286
+ */
2287
+ "theme"?: "ios" | "md" | "ionic";
1936
2288
  }
1937
2289
  interface IonModal {
1938
2290
  /**
@@ -2037,7 +2389,7 @@ export namespace Components {
2037
2389
  */
2038
2390
  "leaveAnimation"?: AnimationBuilder;
2039
2391
  /**
2040
- * The mode determines which platform styles to use.
2392
+ * The mode determines the platform behaviors of the component.
2041
2393
  */
2042
2394
  "mode"?: "ios" | "md";
2043
2395
  /**
@@ -2062,11 +2414,19 @@ export namespace Components {
2062
2414
  * @param breakpoint The breakpoint value to move the sheet modal to. Must be a value defined in your `breakpoints` array.
2063
2415
  */
2064
2416
  "setCurrentBreakpoint": (breakpoint: number) => Promise<void>;
2417
+ /**
2418
+ * 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.
2419
+ */
2420
+ "shape"?: 'soft' | 'round' | 'rectangular';
2065
2421
  /**
2066
2422
  * If `true`, a backdrop will be displayed behind the modal. This property controls whether or not the backdrop darkens the screen when the modal is presented. It does not control whether or not the backdrop is active or present in the DOM.
2067
2423
  * @default true
2068
2424
  */
2069
2425
  "showBackdrop": boolean;
2426
+ /**
2427
+ * The theme determines the visual appearance of the component.
2428
+ */
2429
+ "theme"?: "ios" | "md" | "ionic";
2070
2430
  /**
2071
2431
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
2072
2432
  */
@@ -2079,7 +2439,7 @@ export namespace Components {
2079
2439
  */
2080
2440
  "animated": boolean;
2081
2441
  /**
2082
- * By default `ion-nav` animates transition between pages based in the mode (ios or material design). However, this property allows to create custom transition using `AnimationBuilder` functions.
2442
+ * By default `ion-nav` animates transition between pages based on the mode ("ios" or "md"). However, this property allows to create custom transition using `AnimationBuilder` functions.
2083
2443
  */
2084
2444
  "animation"?: AnimationBuilder;
2085
2445
  /**
@@ -2127,6 +2487,10 @@ export namespace Components {
2127
2487
  * @param done The transition complete function.
2128
2488
  */
2129
2489
  "insertPages": (insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean>;
2490
+ /**
2491
+ * The mode determines the platform behaviors of the component.
2492
+ */
2493
+ "mode"?: "ios" | "md";
2130
2494
  /**
2131
2495
  * Pop a component off of the navigation stack. Navigates back from the current component.
2132
2496
  * @param opts The navigation options.
@@ -2198,6 +2562,10 @@ export namespace Components {
2198
2562
  * If the nav component should allow for swipe-to-go-back.
2199
2563
  */
2200
2564
  "swipeGesture"?: boolean;
2565
+ /**
2566
+ * The theme determines the visual appearance of the component.
2567
+ */
2568
+ "theme"?: "ios" | "md" | "ionic";
2201
2569
  }
2202
2570
  interface IonNavLink {
2203
2571
  /**
@@ -2208,6 +2576,10 @@ export namespace Components {
2208
2576
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
2209
2577
  */
2210
2578
  "componentProps"?: ComponentProps;
2579
+ /**
2580
+ * The mode determines the platform behaviors of the component.
2581
+ */
2582
+ "mode"?: "ios" | "md";
2211
2583
  /**
2212
2584
  * The transition animation when navigating to another page.
2213
2585
  */
@@ -2217,6 +2589,10 @@ export namespace Components {
2217
2589
  * @default 'forward'
2218
2590
  */
2219
2591
  "routerDirection": RouterDirection;
2592
+ /**
2593
+ * The theme determines the visual appearance of the component.
2594
+ */
2595
+ "theme"?: "ios" | "md" | "ionic";
2220
2596
  }
2221
2597
  interface IonNote {
2222
2598
  /**
@@ -2224,16 +2600,24 @@ export namespace Components {
2224
2600
  */
2225
2601
  "color"?: Color;
2226
2602
  /**
2227
- * The mode determines which platform styles to use.
2603
+ * The mode determines the platform behaviors of the component.
2228
2604
  */
2229
2605
  "mode"?: "ios" | "md";
2606
+ /**
2607
+ * The theme determines the visual appearance of the component.
2608
+ */
2609
+ "theme"?: "ios" | "md" | "ionic";
2230
2610
  }
2231
2611
  interface IonPicker {
2232
2612
  "exitInputMode": () => Promise<void>;
2233
2613
  /**
2234
- * The mode determines which platform styles to use.
2614
+ * The mode determines the platform behaviors of the component.
2235
2615
  */
2236
2616
  "mode"?: "ios" | "md";
2617
+ /**
2618
+ * The theme determines the visual appearance of the component.
2619
+ */
2620
+ "theme"?: "ios" | "md" | "ionic";
2237
2621
  }
2238
2622
  interface IonPickerColumn {
2239
2623
  /**
@@ -2247,7 +2631,7 @@ export namespace Components {
2247
2631
  */
2248
2632
  "disabled": boolean;
2249
2633
  /**
2250
- * The mode determines which platform styles to use.
2634
+ * The mode determines the platform behaviors of the component.
2251
2635
  */
2252
2636
  "mode"?: "ios" | "md";
2253
2637
  /**
@@ -2264,6 +2648,10 @@ export namespace Components {
2264
2648
  * Sets the value prop and fires the ionChange event. This is used when we need to fire ionChange from user-generated events that cannot be caught with normal input/change event listeners.
2265
2649
  */
2266
2650
  "setValue": (value: PickerColumnValue) => Promise<void>;
2651
+ /**
2652
+ * The theme determines the visual appearance of the component.
2653
+ */
2654
+ "theme"?: "ios" | "md" | "ionic";
2267
2655
  /**
2268
2656
  * The selected option in the picker.
2269
2657
  */
@@ -2280,6 +2668,14 @@ export namespace Components {
2280
2668
  * @default false
2281
2669
  */
2282
2670
  "disabled": boolean;
2671
+ /**
2672
+ * The mode determines the platform behaviors of the component.
2673
+ */
2674
+ "mode"?: "ios" | "md";
2675
+ /**
2676
+ * The theme determines the visual appearance of the component.
2677
+ */
2678
+ "theme"?: "ios" | "md" | "ionic";
2283
2679
  /**
2284
2680
  * The text value of the option.
2285
2681
  */
@@ -2354,7 +2750,7 @@ export namespace Components {
2354
2750
  */
2355
2751
  "leaveAnimation"?: AnimationBuilder;
2356
2752
  /**
2357
- * The mode determines which platform styles to use.
2753
+ * The mode determines the platform behaviors of the component.
2358
2754
  */
2359
2755
  "mode"?: "ios" | "md";
2360
2756
  /**
@@ -2375,6 +2771,10 @@ export namespace Components {
2375
2771
  * @default true
2376
2772
  */
2377
2773
  "showBackdrop": boolean;
2774
+ /**
2775
+ * The theme determines the visual appearance of the component.
2776
+ */
2777
+ "theme"?: "ios" | "md" | "ionic";
2378
2778
  /**
2379
2779
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
2380
2780
  */
@@ -2388,7 +2788,7 @@ export namespace Components {
2388
2788
  }
2389
2789
  interface IonPopover {
2390
2790
  /**
2391
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
2791
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
2392
2792
  */
2393
2793
  "alignment"?: PositionAlign;
2394
2794
  /**
@@ -2397,7 +2797,7 @@ export namespace Components {
2397
2797
  */
2398
2798
  "animated": boolean;
2399
2799
  /**
2400
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
2800
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
2401
2801
  * @default true
2402
2802
  */
2403
2803
  "arrow": boolean;
@@ -2477,7 +2877,7 @@ export namespace Components {
2477
2877
  */
2478
2878
  "leaveAnimation"?: AnimationBuilder;
2479
2879
  /**
2480
- * The mode determines which platform styles to use.
2880
+ * The mode determines the platform behaviors of the component.
2481
2881
  */
2482
2882
  "mode"?: "ios" | "md";
2483
2883
  /**
@@ -2519,7 +2919,11 @@ export namespace Components {
2519
2919
  */
2520
2920
  "size": PopoverSize;
2521
2921
  /**
2522
- * If `true`, the popover will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
2922
+ * The theme determines the visual appearance of the component.
2923
+ */
2924
+ "theme"?: "ios" | "md" | "ionic";
2925
+ /**
2926
+ * If `true`, the popover will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
2523
2927
  * @default false
2524
2928
  */
2525
2929
  "translucent": boolean;
@@ -2544,7 +2948,7 @@ export namespace Components {
2544
2948
  */
2545
2949
  "color"?: Color;
2546
2950
  /**
2547
- * The mode determines which platform styles to use.
2951
+ * The mode determines the platform behaviors of the component.
2548
2952
  */
2549
2953
  "mode"?: "ios" | "md";
2550
2954
  /**
@@ -2552,6 +2956,14 @@ export namespace Components {
2552
2956
  * @default false
2553
2957
  */
2554
2958
  "reversed": boolean;
2959
+ /**
2960
+ * Set to `"round"` for a progress bar with rounded corners, or `"rectangular"` for a progress bar without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
2961
+ */
2962
+ "shape"?: 'round' | 'rectangular';
2963
+ /**
2964
+ * The theme determines the visual appearance of the component.
2965
+ */
2966
+ "theme"?: "ios" | "md" | "ionic";
2555
2967
  /**
2556
2968
  * The state of the progress bar, based on if the time the process takes is known or not. Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right).
2557
2969
  * @default 'determinate'
@@ -2587,7 +2999,7 @@ export namespace Components {
2587
2999
  */
2588
3000
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
2589
3001
  /**
2590
- * The mode determines which platform styles to use.
3002
+ * The mode determines the platform behaviors of the component.
2591
3003
  */
2592
3004
  "mode"?: "ios" | "md";
2593
3005
  /**
@@ -2597,6 +3009,10 @@ export namespace Components {
2597
3009
  "name": string;
2598
3010
  "setButtonTabindex": (value: number) => Promise<void>;
2599
3011
  "setFocus": (ev?: globalThis.Event) => Promise<void>;
3012
+ /**
3013
+ * The theme determines the visual appearance of the component.
3014
+ */
3015
+ "theme"?: "ios" | "md" | "ionic";
2600
3016
  /**
2601
3017
  * the value of the radio.
2602
3018
  */
@@ -2620,12 +3036,20 @@ export namespace Components {
2620
3036
  * The helper text to display at the top of the radio group.
2621
3037
  */
2622
3038
  "helperText"?: string;
3039
+ /**
3040
+ * The mode determines the platform behaviors of the component.
3041
+ */
3042
+ "mode"?: "ios" | "md";
2623
3043
  /**
2624
3044
  * The name of the control, which is submitted with the form data.
2625
3045
  * @default this.inputId
2626
3046
  */
2627
3047
  "name": string;
2628
3048
  "setFocus": () => Promise<void>;
3049
+ /**
3050
+ * The theme determines the visual appearance of the component.
3051
+ */
3052
+ "theme"?: "ios" | "md" | "ionic";
2629
3053
  /**
2630
3054
  * the value of the radio group.
2631
3055
  */
@@ -2674,7 +3098,7 @@ export namespace Components {
2674
3098
  */
2675
3099
  "min": number;
2676
3100
  /**
2677
- * The mode determines which platform styles to use.
3101
+ * The mode determines the platform behaviors of the component.
2678
3102
  */
2679
3103
  "mode"?: "ios" | "md";
2680
3104
  /**
@@ -2702,6 +3126,10 @@ export namespace Components {
2702
3126
  * @default 1
2703
3127
  */
2704
3128
  "step": number;
3129
+ /**
3130
+ * The theme determines the visual appearance of the component.
3131
+ */
3132
+ "theme"?: "ios" | "md" | "ionic";
2705
3133
  /**
2706
3134
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
2707
3135
  * @default true
@@ -2737,7 +3165,7 @@ export namespace Components {
2737
3165
  */
2738
3166
  "getProgress": () => Promise<number>;
2739
3167
  /**
2740
- * The mode determines which platform styles to use.
3168
+ * The mode determines the platform behaviors of the component.
2741
3169
  */
2742
3170
  "mode"?: "ios" | "md";
2743
3171
  /**
@@ -2760,8 +3188,16 @@ export namespace Components {
2760
3188
  * @default '280ms'
2761
3189
  */
2762
3190
  "snapbackDuration": string;
3191
+ /**
3192
+ * The theme determines the visual appearance of the component.
3193
+ */
3194
+ "theme"?: "ios" | "md" | "ionic";
2763
3195
  }
2764
3196
  interface IonRefresherContent {
3197
+ /**
3198
+ * The mode determines the platform behaviors of the component.
3199
+ */
3200
+ "mode"?: "ios" | "md";
2765
3201
  /**
2766
3202
  * A static icon or a spinner to display when you begin to pull down. A spinner name can be provided to gradually show tick marks when pulling down on iOS devices.
2767
3203
  */
@@ -2778,8 +3214,20 @@ export namespace Components {
2778
3214
  * The text you want to display when performing a refresh. `refreshingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) Content is parsed as plaintext by default. `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config before custom HTML can be used.
2779
3215
  */
2780
3216
  "refreshingText"?: string | IonicSafeString;
3217
+ /**
3218
+ * The theme determines the visual appearance of the component.
3219
+ */
3220
+ "theme"?: "ios" | "md" | "ionic";
2781
3221
  }
2782
3222
  interface IonReorder {
3223
+ /**
3224
+ * The mode determines the platform behaviors of the component.
3225
+ */
3226
+ "mode"?: "ios" | "md";
3227
+ /**
3228
+ * The theme determines the visual appearance of the component.
3229
+ */
3230
+ "theme"?: "ios" | "md" | "ionic";
2783
3231
  }
2784
3232
  interface IonReorderGroup {
2785
3233
  /**
@@ -2792,6 +3240,14 @@ export namespace Components {
2792
3240
  * @default true
2793
3241
  */
2794
3242
  "disabled": boolean;
3243
+ /**
3244
+ * The mode determines the platform behaviors of the component.
3245
+ */
3246
+ "mode"?: "ios" | "md";
3247
+ /**
3248
+ * The theme determines the visual appearance of the component.
3249
+ */
3250
+ "theme"?: "ios" | "md" | "ionic";
2795
3251
  }
2796
3252
  interface IonRippleEffect {
2797
3253
  /**
@@ -2800,6 +3256,14 @@ export namespace Components {
2800
3256
  * @param y The vertical coordinate of where the ripple should start.
2801
3257
  */
2802
3258
  "addRipple": (x: number, y: number) => Promise<() => void>;
3259
+ /**
3260
+ * The mode determines the platform behaviors of the component.
3261
+ */
3262
+ "mode"?: "ios" | "md";
3263
+ /**
3264
+ * The theme determines the visual appearance of the component.
3265
+ */
3266
+ "theme"?: "ios" | "md" | "ionic";
2803
3267
  /**
2804
3268
  * Sets the type of ripple-effect: - `bounded`: the ripple effect expands from the user's click position - `unbounded`: the ripple effect expands from the center of the button and overflows the container. NOTE: Surfaces for bounded ripples should have the overflow property set to hidden, while surfaces for unbounded ripples should have it set to visible.
2805
3269
  * @default 'bounded'
@@ -2823,6 +3287,14 @@ export namespace Components {
2823
3287
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
2824
3288
  */
2825
3289
  "componentProps"?: { [key: string]: any };
3290
+ /**
3291
+ * The mode determines the platform behaviors of the component.
3292
+ */
3293
+ "mode"?: "ios" | "md";
3294
+ /**
3295
+ * The theme determines the visual appearance of the component.
3296
+ */
3297
+ "theme"?: "ios" | "md" | "ionic";
2826
3298
  /**
2827
3299
  * Relative path that needs to match in order for this route to apply. Accepts paths similar to expressjs so that you can define parameters in the url /foo/:bar where bar would be available in incoming props.
2828
3300
  * @default ''
@@ -2845,6 +3317,10 @@ export namespace Components {
2845
3317
  */
2846
3318
  "back": () => Promise<void>;
2847
3319
  "canTransition": () => Promise<string | boolean>;
3320
+ /**
3321
+ * The mode determines the platform behaviors of the component.
3322
+ */
3323
+ "mode"?: "ios" | "md";
2848
3324
  "navChanged": (direction: RouterDirection) => Promise<boolean>;
2849
3325
  "printDebug": () => Promise<void>;
2850
3326
  /**
@@ -2859,6 +3335,10 @@ export namespace Components {
2859
3335
  * @default '/'
2860
3336
  */
2861
3337
  "root": string;
3338
+ /**
3339
+ * The theme determines the visual appearance of the component.
3340
+ */
3341
+ "theme"?: "ios" | "md" | "ionic";
2862
3342
  /**
2863
3343
  * The router can work in two "modes": - With hash: `/index.html#/path/to/page` - Without hash: `/path/to/page` Using one or another might depend in the requirements of your app and/or where it's deployed. Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might requires additional server-side configuration in order to properly work. On the other side hash-navigation is much easier to deploy, it even works over the file protocol. By default, this property is `true`, change to `false` to allow hash-less URLs.
2864
3344
  * @default true
@@ -2874,6 +3354,10 @@ export namespace Components {
2874
3354
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2875
3355
  */
2876
3356
  "href": string | undefined;
3357
+ /**
3358
+ * The mode determines the platform behaviors of the component.
3359
+ */
3360
+ "mode"?: "ios" | "md";
2877
3361
  /**
2878
3362
  * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
2879
3363
  */
@@ -2891,6 +3375,10 @@ export namespace Components {
2891
3375
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2892
3376
  */
2893
3377
  "target": string | undefined;
3378
+ /**
3379
+ * The theme determines the visual appearance of the component.
3380
+ */
3381
+ "theme"?: "ios" | "md" | "ionic";
2894
3382
  }
2895
3383
  interface IonRouterOutlet {
2896
3384
  /**
@@ -2906,14 +3394,26 @@ export namespace Components {
2906
3394
  "delegate"?: FrameworkDelegate;
2907
3395
  "getRouteId": () => Promise<RouteID | undefined>;
2908
3396
  /**
2909
- * The mode determines which platform styles to use.
3397
+ * The mode determines the platform behaviors of the component.
2910
3398
  * @default getIonMode(this)
2911
3399
  */
2912
3400
  "mode": "ios" | "md";
2913
3401
  "setRouteId": (id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>;
2914
3402
  "swipeHandler"?: SwipeGestureHandler;
3403
+ /**
3404
+ * The theme determines the visual appearance of the component.
3405
+ */
3406
+ "theme"?: "ios" | "md" | "ionic";
2915
3407
  }
2916
3408
  interface IonRow {
3409
+ /**
3410
+ * The mode determines the platform behaviors of the component.
3411
+ */
3412
+ "mode"?: "ios" | "md";
3413
+ /**
3414
+ * The theme determines the visual appearance of the component.
3415
+ */
3416
+ "theme"?: "ios" | "md" | "ionic";
2917
3417
  }
2918
3418
  interface IonSearchbar {
2919
3419
  /**
@@ -2937,17 +3437,16 @@ export namespace Components {
2937
3437
  */
2938
3438
  "autocorrect": 'on' | 'off';
2939
3439
  /**
2940
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
2941
- * @default config.get('backButtonIcon', arrowBackSharp) as string
3440
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
2942
3441
  */
2943
- "cancelButtonIcon": string;
3442
+ "cancelButtonIcon"?: string;
2944
3443
  /**
2945
- * Set the cancel button text. Only applies to `ios` mode.
3444
+ * Set the cancel button text. Only available when the theme is `"ios"`.
2946
3445
  * @default 'Cancel'
2947
3446
  */
2948
3447
  "cancelButtonText": string;
2949
3448
  /**
2950
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
3449
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
2951
3450
  */
2952
3451
  "clearIcon"?: string;
2953
3452
  /**
@@ -2984,7 +3483,7 @@ export namespace Components {
2984
3483
  */
2985
3484
  "minlength"?: number;
2986
3485
  /**
2987
- * The mode determines which platform styles to use.
3486
+ * The mode determines the platform behaviors of the component.
2988
3487
  */
2989
3488
  "mode"?: "ios" | "md";
2990
3489
  /**
@@ -2998,13 +3497,17 @@ export namespace Components {
2998
3497
  */
2999
3498
  "placeholder": string;
3000
3499
  /**
3001
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
3500
+ * The icon to use as the search icon. Defaults to `"search-outline"` in the `"ios"` theme and `"search-sharp"` in the `"md"` and `"ionic"` themes. If `false`, no search icon will be displayed.
3002
3501
  */
3003
- "searchIcon"?: string;
3502
+ "searchIcon"?: string | boolean;
3004
3503
  /**
3005
3504
  * Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global `input.focus()`. Developers who wish to focus an input when a page enters should call `setFocus()` in the `ionViewDidEnter()` lifecycle method. Developers who wish to focus an input when an overlay is presented should call `setFocus` after `didPresent` has resolved. See [managing focus](/docs/developing/managing-focus) for more information.
3006
3505
  */
3007
3506
  "setFocus": () => Promise<void>;
3507
+ /**
3508
+ * Set to `"soft"` for a searchbar with slightly rounded corners, `"round"` for a searchbar with fully rounded corners, or `"rectangular"` for a searchbar without rounded corners. Defaults to `"round"` for the ionic theme, and `undefined` for all other themes.
3509
+ */
3510
+ "shape"?: 'soft' | 'round' | 'rectangular';
3008
3511
  /**
3009
3512
  * Sets the behavior for the cancel button. Defaults to `"never"`. Setting to `"focus"` shows the cancel button on focus. Setting to `"never"` hides the cancel button. Setting to `"always"` shows the cancel button regardless of focus state.
3010
3513
  * @default 'never'
@@ -3015,11 +3518,19 @@ export namespace Components {
3015
3518
  * @default 'always'
3016
3519
  */
3017
3520
  "showClearButton": 'never' | 'focus' | 'always';
3521
+ /**
3522
+ * Set to `"large"` for a searchbar with an increase in height, while "small" and "medium" provide progressively smaller heights. Defaults to `"medium"` for the ionic theme, and `undefined` for all other themes.
3523
+ */
3524
+ "size"?: 'small' | 'medium' | 'large';
3018
3525
  /**
3019
3526
  * If `true`, enable spellcheck on the input.
3020
3527
  * @default false
3021
3528
  */
3022
3529
  "spellcheck": boolean;
3530
+ /**
3531
+ * The theme determines the visual appearance of the component.
3532
+ */
3533
+ "theme"?: "ios" | "md" | "ionic";
3023
3534
  /**
3024
3535
  * Set the type of the input.
3025
3536
  * @default 'search'
@@ -3042,7 +3553,7 @@ export namespace Components {
3042
3553
  */
3043
3554
  "disabled": boolean;
3044
3555
  /**
3045
- * The mode determines which platform styles to use.
3556
+ * The mode determines the platform behaviors of the component.
3046
3557
  */
3047
3558
  "mode"?: "ios" | "md";
3048
3559
  /**
@@ -3060,6 +3571,10 @@ export namespace Components {
3060
3571
  * @default true
3061
3572
  */
3062
3573
  "swipeGesture": boolean;
3574
+ /**
3575
+ * The theme determines the visual appearance of the component.
3576
+ */
3577
+ "theme"?: "ios" | "md" | "ionic";
3063
3578
  /**
3064
3579
  * the value of the segment.
3065
3580
  */
@@ -3081,10 +3596,14 @@ export namespace Components {
3081
3596
  */
3082
3597
  "layout"?: SegmentButtonLayout;
3083
3598
  /**
3084
- * The mode determines which platform styles to use.
3599
+ * The mode determines the platform behaviors of the component.
3085
3600
  */
3086
3601
  "mode"?: "ios" | "md";
3087
3602
  "setFocus": () => Promise<void>;
3603
+ /**
3604
+ * The theme determines the visual appearance of the component.
3605
+ */
3606
+ "theme"?: "ios" | "md" | "ionic";
3088
3607
  /**
3089
3608
  * The type of the button.
3090
3609
  * @default 'button'
@@ -3134,11 +3653,11 @@ export namespace Components {
3134
3653
  */
3135
3654
  "errorText"?: string;
3136
3655
  /**
3137
- * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `md` mode will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed.
3656
+ * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `"md"` theme will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed.
3138
3657
  */
3139
3658
  "expandedIcon"?: string;
3140
3659
  /**
3141
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
3660
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in the `"md"` theme.
3142
3661
  */
3143
3662
  "fill"?: 'outline' | 'solid';
3144
3663
  /**
@@ -3169,7 +3688,7 @@ export namespace Components {
3169
3688
  */
3170
3689
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
3171
3690
  /**
3172
- * The mode determines which platform styles to use.
3691
+ * The mode determines the platform behaviors of the component.
3173
3692
  */
3174
3693
  "mode"?: "ios" | "md";
3175
3694
  /**
@@ -3206,11 +3725,19 @@ export namespace Components {
3206
3725
  */
3207
3726
  "selectedText"?: string | null;
3208
3727
  /**
3209
- * The shape of the select. If "round" it will have an increased border radius.
3728
+ * 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.
3729
+ */
3730
+ "shape"?: 'soft' | 'round' | 'rectangular';
3731
+ /**
3732
+ * 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.
3733
+ */
3734
+ "size"?: 'small' | 'medium' | 'large';
3735
+ /**
3736
+ * The theme determines the visual appearance of the component.
3210
3737
  */
3211
- "shape"?: 'round';
3738
+ "theme"?: "ios" | "md" | "ionic";
3212
3739
  /**
3213
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
3740
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
3214
3741
  */
3215
3742
  "toggleIcon"?: string;
3216
3743
  /**
@@ -3231,7 +3758,15 @@ export namespace Components {
3231
3758
  * 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.
3232
3759
  * @default false
3233
3760
  */
3234
- "disabled": boolean;
3761
+ "disabled": boolean;
3762
+ /**
3763
+ * The mode determines the platform behaviors of the component.
3764
+ */
3765
+ "mode"?: "ios" | "md";
3766
+ /**
3767
+ * The theme determines the visual appearance of the component.
3768
+ */
3769
+ "theme"?: "ios" | "md" | "ionic";
3235
3770
  /**
3236
3771
  * The text value of the option.
3237
3772
  */
@@ -3246,6 +3781,10 @@ export namespace Components {
3246
3781
  * The text content of the popover body
3247
3782
  */
3248
3783
  "message"?: string;
3784
+ /**
3785
+ * The mode determines the platform behaviors of the component.
3786
+ */
3787
+ "mode"?: "ios" | "md";
3249
3788
  /**
3250
3789
  * If true, the select accepts multiple values
3251
3790
  */
@@ -3259,6 +3798,10 @@ export namespace Components {
3259
3798
  * The subheader text of the popover
3260
3799
  */
3261
3800
  "subHeader"?: string;
3801
+ /**
3802
+ * The theme determines the visual appearance of the component.
3803
+ */
3804
+ "theme"?: "ios" | "md" | "ionic";
3262
3805
  }
3263
3806
  interface IonSkeletonText {
3264
3807
  /**
@@ -3266,6 +3809,14 @@ export namespace Components {
3266
3809
  * @default false
3267
3810
  */
3268
3811
  "animated": boolean;
3812
+ /**
3813
+ * The mode determines the platform behaviors of the component.
3814
+ */
3815
+ "mode"?: "ios" | "md";
3816
+ /**
3817
+ * The theme determines the visual appearance of the component.
3818
+ */
3819
+ "theme"?: "ios" | "md" | "ionic";
3269
3820
  }
3270
3821
  interface IonSpinner {
3271
3822
  /**
@@ -3276,6 +3827,10 @@ export namespace Components {
3276
3827
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
3277
3828
  */
3278
3829
  "duration"?: number;
3830
+ /**
3831
+ * The mode determines the platform behaviors of the component.
3832
+ */
3833
+ "mode"?: "ios" | "md";
3279
3834
  /**
3280
3835
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
3281
3836
  */
@@ -3285,6 +3840,14 @@ export namespace Components {
3285
3840
  * @default false
3286
3841
  */
3287
3842
  "paused": boolean;
3843
+ /**
3844
+ * 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.
3845
+ */
3846
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
3847
+ /**
3848
+ * The theme determines the visual appearance of the component.
3849
+ */
3850
+ "theme"?: "ios" | "md" | "ionic";
3288
3851
  }
3289
3852
  interface IonSplitPane {
3290
3853
  /**
@@ -3297,6 +3860,14 @@ export namespace Components {
3297
3860
  */
3298
3861
  "disabled": boolean;
3299
3862
  "isVisible": () => Promise<boolean>;
3863
+ /**
3864
+ * The mode determines the platform behaviors of the component.
3865
+ */
3866
+ "mode"?: "ios" | "md";
3867
+ /**
3868
+ * The theme determines the visual appearance of the component.
3869
+ */
3870
+ "theme"?: "ios" | "md" | "ionic";
3300
3871
  /**
3301
3872
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
3302
3873
  * @default QUERY['lg']
@@ -3313,6 +3884,10 @@ export namespace Components {
3313
3884
  */
3314
3885
  "component"?: ComponentRef;
3315
3886
  "delegate"?: FrameworkDelegate;
3887
+ /**
3888
+ * The mode determines the platform behaviors of the component.
3889
+ */
3890
+ "mode"?: "ios" | "md";
3316
3891
  /**
3317
3892
  * Set the active component for the tab
3318
3893
  */
@@ -3321,6 +3896,10 @@ export namespace Components {
3321
3896
  * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
3322
3897
  */
3323
3898
  "tab": string;
3899
+ /**
3900
+ * The theme determines the visual appearance of the component.
3901
+ */
3902
+ "theme"?: "ios" | "md" | "ionic";
3324
3903
  }
3325
3904
  interface IonTabBar {
3326
3905
  /**
@@ -3328,7 +3907,12 @@ export namespace Components {
3328
3907
  */
3329
3908
  "color"?: Color;
3330
3909
  /**
3331
- * The mode determines which platform styles to use.
3910
+ * 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"`.
3911
+ * @default 'full'
3912
+ */
3913
+ "expand": 'compact' | 'full';
3914
+ /**
3915
+ * The mode determines the platform behaviors of the component.
3332
3916
  */
3333
3917
  "mode"?: "ios" | "md";
3334
3918
  /**
@@ -3336,7 +3920,15 @@ export namespace Components {
3336
3920
  */
3337
3921
  "selectedTab"?: string;
3338
3922
  /**
3339
- * If `true`, the tab bar will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
3923
+ * 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.
3924
+ */
3925
+ "shape"?: 'soft' | 'round' | 'rectangular';
3926
+ /**
3927
+ * The theme determines the visual appearance of the component.
3928
+ */
3929
+ "theme"?: "ios" | "md" | "ionic";
3930
+ /**
3931
+ * If `true`, the tab bar will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
3340
3932
  * @default false
3341
3933
  */
3342
3934
  "translucent": boolean;
@@ -3360,7 +3952,7 @@ export namespace Components {
3360
3952
  */
3361
3953
  "layout"?: TabButtonLayout;
3362
3954
  /**
3363
- * The mode determines which platform styles to use.
3955
+ * The mode determines the platform behaviors of the component.
3364
3956
  */
3365
3957
  "mode"?: "ios" | "md";
3366
3958
  /**
@@ -3372,6 +3964,10 @@ export namespace Components {
3372
3964
  * @default false
3373
3965
  */
3374
3966
  "selected": boolean;
3967
+ /**
3968
+ * 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.
3969
+ */
3970
+ "shape"?: 'soft' | 'round' | 'rectangular';
3375
3971
  /**
3376
3972
  * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
3377
3973
  */
@@ -3380,6 +3976,10 @@ export namespace Components {
3380
3976
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
3381
3977
  */
3382
3978
  "target": string | undefined;
3979
+ /**
3980
+ * The theme determines the visual appearance of the component.
3981
+ */
3982
+ "theme"?: "ios" | "md" | "ionic";
3383
3983
  }
3384
3984
  interface IonTabs {
3385
3985
  "getRouteId": () => Promise<RouteID | undefined>;
@@ -3392,12 +3992,20 @@ export namespace Components {
3392
3992
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3393
3993
  */
3394
3994
  "getTab": (tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined>;
3995
+ /**
3996
+ * The mode determines the platform behaviors of the component.
3997
+ */
3998
+ "mode"?: "ios" | "md";
3395
3999
  /**
3396
4000
  * Select a tab by the value of its `tab` property or an element reference. This method is only available for vanilla JavaScript projects. The Angular, React, and Vue implementations of tabs are coupled to each framework's router.
3397
4001
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3398
4002
  */
3399
4003
  "select": (tab: string | HTMLIonTabElement) => Promise<boolean>;
3400
4004
  "setRouteId": (id: string) => Promise<RouteWrite>;
4005
+ /**
4006
+ * The theme determines the visual appearance of the component.
4007
+ */
4008
+ "theme"?: "ios" | "md" | "ionic";
3401
4009
  /**
3402
4010
  * @default false
3403
4011
  */
@@ -3409,9 +4017,13 @@ export namespace Components {
3409
4017
  */
3410
4018
  "color"?: Color;
3411
4019
  /**
3412
- * The mode determines which platform styles to use.
4020
+ * The mode determines the platform behaviors of the component.
3413
4021
  */
3414
4022
  "mode"?: "ios" | "md";
4023
+ /**
4024
+ * The theme determines the visual appearance of the component.
4025
+ */
4026
+ "theme"?: "ios" | "md" | "ionic";
3415
4027
  }
3416
4028
  interface IonTextarea {
3417
4029
  /**
@@ -3469,7 +4081,7 @@ export namespace Components {
3469
4081
  */
3470
4082
  "errorText"?: string;
3471
4083
  /**
3472
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
4084
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available when the theme is `"md"`.
3473
4085
  */
3474
4086
  "fill"?: 'outline' | 'solid';
3475
4087
  /**
@@ -3502,7 +4114,7 @@ export namespace Components {
3502
4114
  */
3503
4115
  "minlength"?: number;
3504
4116
  /**
3505
- * The mode determines which platform styles to use.
4117
+ * The mode determines the platform behaviors of the component.
3506
4118
  */
3507
4119
  "mode"?: "ios" | "md";
3508
4120
  /**
@@ -3533,14 +4145,23 @@ export namespace Components {
3533
4145
  */
3534
4146
  "setFocus": () => Promise<void>;
3535
4147
  /**
3536
- * The shape of the textarea. If "round" it will have an increased border radius.
4148
+ * 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.
4149
+ */
4150
+ "shape"?: 'soft' | 'round' | 'rectangular';
4151
+ /**
4152
+ * 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.
4153
+ * @default 'medium'
3537
4154
  */
3538
- "shape"?: 'round';
4155
+ "size"?: 'small' | 'medium' | 'large';
3539
4156
  /**
3540
4157
  * If `true`, the element will have its spelling and grammar checked.
3541
4158
  * @default false
3542
4159
  */
3543
4160
  "spellcheck": boolean;
4161
+ /**
4162
+ * The theme determines the visual appearance of the component.
4163
+ */
4164
+ "theme"?: "ios" | "md" | "ionic";
3544
4165
  /**
3545
4166
  * The value of the textarea.
3546
4167
  * @default ''
@@ -3552,16 +4173,32 @@ export namespace Components {
3552
4173
  "wrap"?: 'hard' | 'soft' | 'off';
3553
4174
  }
3554
4175
  interface IonThumbnail {
4176
+ /**
4177
+ * The mode determines the platform behaviors of the component.
4178
+ */
4179
+ "mode"?: "ios" | "md";
4180
+ /**
4181
+ * The theme determines the visual appearance of the component.
4182
+ */
4183
+ "theme"?: "ios" | "md" | "ionic";
3555
4184
  }
3556
4185
  interface IonTitle {
3557
4186
  /**
3558
4187
  * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
3559
4188
  */
3560
4189
  "color"?: Color;
4190
+ /**
4191
+ * The mode determines the platform behaviors of the component.
4192
+ */
4193
+ "mode"?: "ios" | "md";
3561
4194
  /**
3562
4195
  * The size of the toolbar title.
3563
4196
  */
3564
4197
  "size"?: 'large' | 'small';
4198
+ /**
4199
+ * The theme determines the visual appearance of the component.
4200
+ */
4201
+ "theme"?: "ios" | "md" | "ionic";
3565
4202
  }
3566
4203
  interface IonToast {
3567
4204
  /**
@@ -3609,6 +4246,11 @@ export namespace Components {
3609
4246
  * Additional attributes to pass to the toast.
3610
4247
  */
3611
4248
  "htmlAttributes"?: { [key: string]: any };
4249
+ /**
4250
+ * Set to `"bold"` for a toast with vibrant, bold colors or to `"subtle"` for a toast with muted, subtle colors. Only applies to the `ionic` theme.
4251
+ * @default 'subtle'
4252
+ */
4253
+ "hue"?: 'bold' | 'subtle';
3612
4254
  /**
3613
4255
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
3614
4256
  */
@@ -3637,7 +4279,7 @@ export namespace Components {
3637
4279
  */
3638
4280
  "message"?: string | IonicSafeString;
3639
4281
  /**
3640
- * The mode determines which platform styles to use.
4282
+ * The mode determines the platform behaviors of the component.
3641
4283
  */
3642
4284
  "mode"?: "ios" | "md";
3643
4285
  /**
@@ -3662,12 +4304,20 @@ export namespace Components {
3662
4304
  * Present the toast overlay after it has been created.
3663
4305
  */
3664
4306
  "present": () => Promise<void>;
4307
+ /**
4308
+ * 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.
4309
+ */
4310
+ "shape"?: 'soft' | 'round' | 'rectangular';
3665
4311
  /**
3666
4312
  * If set to 'vertical', the Toast can be dismissed with a swipe gesture. The swipe direction is determined by the value of the `position` property: `top`: The Toast can be swiped up to dismiss. `bottom`: The Toast can be swiped down to dismiss. `middle`: The Toast can be swiped up or down to dismiss.
3667
4313
  */
3668
4314
  "swipeGesture"?: ToastSwipeGestureDirection;
3669
4315
  /**
3670
- * If `true`, the toast will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
4316
+ * The theme determines the visual appearance of the component.
4317
+ */
4318
+ "theme"?: "ios" | "md" | "ionic";
4319
+ /**
4320
+ * If `true`, the toast will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
3671
4321
  * @default false
3672
4322
  */
3673
4323
  "translucent": boolean;
@@ -3718,7 +4368,7 @@ export namespace Components {
3718
4368
  */
3719
4369
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
3720
4370
  /**
3721
- * The mode determines which platform styles to use.
4371
+ * The mode determines the platform behaviors of the component.
3722
4372
  */
3723
4373
  "mode"?: "ios" | "md";
3724
4374
  /**
@@ -3731,6 +4381,10 @@ export namespace Components {
3731
4381
  * @default false
3732
4382
  */
3733
4383
  "required": boolean;
4384
+ /**
4385
+ * The theme determines the visual appearance of the component.
4386
+ */
4387
+ "theme"?: "ios" | "md" | "ionic";
3734
4388
  /**
3735
4389
  * The value of the toggle does not mean if it's checked or not, use the `checked` property for that. The value of a toggle is analogous to the value of a `<input type="checkbox">`, it's only used when the toggle participates in a native `<form>`.
3736
4390
  * @default 'on'
@@ -3743,9 +4397,13 @@ export namespace Components {
3743
4397
  */
3744
4398
  "color"?: Color;
3745
4399
  /**
3746
- * The mode determines which platform styles to use.
4400
+ * The mode determines the platform behaviors of the component.
3747
4401
  */
3748
4402
  "mode"?: "ios" | "md";
4403
+ /**
4404
+ * The theme determines the visual appearance of the component.
4405
+ */
4406
+ "theme"?: "ios" | "md" | "ionic";
3749
4407
  }
3750
4408
  }
3751
4409
  export interface IonAccordionGroupCustomEvent<T> extends CustomEvent<T> {
@@ -4227,6 +4885,12 @@ declare global {
4227
4885
  prototype: HTMLIonDatetimeButtonElement;
4228
4886
  new (): HTMLIonDatetimeButtonElement;
4229
4887
  };
4888
+ interface HTMLIonDividerElement extends Components.IonDivider, HTMLStencilElement {
4889
+ }
4890
+ var HTMLIonDividerElement: {
4891
+ prototype: HTMLIonDividerElement;
4892
+ new (): HTMLIonDividerElement;
4893
+ };
4230
4894
  interface HTMLIonFabElement extends Components.IonFab, HTMLStencilElement {
4231
4895
  }
4232
4896
  var HTMLIonFabElement: {
@@ -5210,6 +5874,7 @@ declare global {
5210
5874
  "ion-content": HTMLIonContentElement;
5211
5875
  "ion-datetime": HTMLIonDatetimeElement;
5212
5876
  "ion-datetime-button": HTMLIonDatetimeButtonElement;
5877
+ "ion-divider": HTMLIonDividerElement;
5213
5878
  "ion-fab": HTMLIonFabElement;
5214
5879
  "ion-fab-button": HTMLIonFabButtonElement;
5215
5880
  "ion-fab-list": HTMLIonFabListElement;
@@ -5293,7 +5958,7 @@ declare namespace LocalJSX {
5293
5958
  */
5294
5959
  "disabled"?: boolean;
5295
5960
  /**
5296
- * The mode determines which platform styles to use.
5961
+ * The mode determines the platform behaviors of the component.
5297
5962
  */
5298
5963
  "mode"?: "ios" | "md";
5299
5964
  /**
@@ -5301,9 +5966,12 @@ declare namespace LocalJSX {
5301
5966
  * @default false
5302
5967
  */
5303
5968
  "readonly"?: boolean;
5969
+ /**
5970
+ * The theme determines the visual appearance of the component.
5971
+ */
5972
+ "theme"?: "ios" | "md" | "ionic";
5304
5973
  /**
5305
5974
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
5306
- * @default chevronDown
5307
5975
  */
5308
5976
  "toggleIcon"?: string;
5309
5977
  /**
@@ -5334,7 +6002,7 @@ declare namespace LocalJSX {
5334
6002
  */
5335
6003
  "expand"?: 'compact' | 'inset';
5336
6004
  /**
5337
- * The mode determines which platform styles to use.
6005
+ * The mode determines the platform behaviors of the component.
5338
6006
  */
5339
6007
  "mode"?: "ios" | "md";
5340
6008
  /**
@@ -5350,6 +6018,14 @@ declare namespace LocalJSX {
5350
6018
  * @default false
5351
6019
  */
5352
6020
  "readonly"?: boolean;
6021
+ /**
6022
+ * 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"`.
6023
+ */
6024
+ "shape"?: 'soft' | 'round' | 'rectangular';
6025
+ /**
6026
+ * The theme determines the visual appearance of the component.
6027
+ */
6028
+ "theme"?: "ios" | "md" | "ionic";
5353
6029
  /**
5354
6030
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
5355
6031
  */
@@ -5402,7 +6078,7 @@ declare namespace LocalJSX {
5402
6078
  */
5403
6079
  "leaveAnimation"?: AnimationBuilder;
5404
6080
  /**
5405
- * The mode determines which platform styles to use.
6081
+ * The mode determines the platform behaviors of the component.
5406
6082
  */
5407
6083
  "mode"?: "ios" | "md";
5408
6084
  /**
@@ -5442,7 +6118,11 @@ declare namespace LocalJSX {
5442
6118
  */
5443
6119
  "subHeader"?: string;
5444
6120
  /**
5445
- * If `true`, the action sheet will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6121
+ * The theme determines the visual appearance of the component.
6122
+ */
6123
+ "theme"?: "ios" | "md" | "ionic";
6124
+ /**
6125
+ * If `true`, the action sheet will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5446
6126
  * @default false
5447
6127
  */
5448
6128
  "translucent"?: boolean;
@@ -5507,7 +6187,7 @@ declare namespace LocalJSX {
5507
6187
  */
5508
6188
  "message"?: string | IonicSafeString;
5509
6189
  /**
5510
- * The mode determines which platform styles to use.
6190
+ * The mode determines the platform behaviors of the component.
5511
6191
  */
5512
6192
  "mode"?: "ios" | "md";
5513
6193
  /**
@@ -5547,7 +6227,11 @@ declare namespace LocalJSX {
5547
6227
  */
5548
6228
  "subHeader"?: string;
5549
6229
  /**
5550
- * If `true`, the alert will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6230
+ * The theme determines the visual appearance of the component.
6231
+ */
6232
+ "theme"?: "ios" | "md" | "ionic";
6233
+ /**
6234
+ * If `true`, the alert will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5551
6235
  * @default false
5552
6236
  */
5553
6237
  "translucent"?: boolean;
@@ -5557,8 +6241,37 @@ declare namespace LocalJSX {
5557
6241
  "trigger"?: string | undefined;
5558
6242
  }
5559
6243
  interface IonApp {
6244
+ /**
6245
+ * The mode determines the platform behaviors of the component.
6246
+ */
6247
+ "mode"?: "ios" | "md";
6248
+ /**
6249
+ * The theme determines the visual appearance of the component.
6250
+ */
6251
+ "theme"?: "ios" | "md" | "ionic";
5560
6252
  }
5561
6253
  interface IonAvatar {
6254
+ /**
6255
+ * If `true`, the user cannot interact with the avatar.
6256
+ * @default false
6257
+ */
6258
+ "disabled"?: boolean;
6259
+ /**
6260
+ * The mode determines the platform behaviors of the component.
6261
+ */
6262
+ "mode"?: "ios" | "md";
6263
+ /**
6264
+ * 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.
6265
+ */
6266
+ "shape"?: 'soft' | 'round' | 'rectangular';
6267
+ /**
6268
+ * 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.
6269
+ */
6270
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
6271
+ /**
6272
+ * The theme determines the visual appearance of the component.
6273
+ */
6274
+ "theme"?: "ios" | "md" | "ionic";
5562
6275
  }
5563
6276
  interface IonBackButton {
5564
6277
  /**
@@ -5579,7 +6292,7 @@ declare namespace LocalJSX {
5579
6292
  */
5580
6293
  "icon"?: string | null;
5581
6294
  /**
5582
- * The mode determines which platform styles to use.
6295
+ * The mode determines the platform behaviors of the component.
5583
6296
  */
5584
6297
  "mode"?: "ios" | "md";
5585
6298
  /**
@@ -5590,6 +6303,10 @@ declare namespace LocalJSX {
5590
6303
  * The text to display in the back button.
5591
6304
  */
5592
6305
  "text"?: string | null;
6306
+ /**
6307
+ * The theme determines the visual appearance of the component.
6308
+ */
6309
+ "theme"?: "ios" | "md" | "ionic";
5593
6310
  /**
5594
6311
  * The type of the button.
5595
6312
  * @default 'button'
@@ -5597,6 +6314,10 @@ declare namespace LocalJSX {
5597
6314
  "type"?: 'submit' | 'reset' | 'button';
5598
6315
  }
5599
6316
  interface IonBackdrop {
6317
+ /**
6318
+ * The mode determines the platform behaviors of the component.
6319
+ */
6320
+ "mode"?: "ios" | "md";
5600
6321
  /**
5601
6322
  * Emitted when the backdrop is tapped.
5602
6323
  */
@@ -5611,6 +6332,10 @@ declare namespace LocalJSX {
5611
6332
  * @default true
5612
6333
  */
5613
6334
  "tappable"?: boolean;
6335
+ /**
6336
+ * The theme determines the visual appearance of the component.
6337
+ */
6338
+ "theme"?: "ios" | "md" | "ionic";
5614
6339
  /**
5615
6340
  * If `true`, the backdrop will be visible.
5616
6341
  * @default true
@@ -5623,9 +6348,29 @@ declare namespace LocalJSX {
5623
6348
  */
5624
6349
  "color"?: Color;
5625
6350
  /**
5626
- * The mode determines which platform styles to use.
6351
+ * Set to `"bold"` for a badge with vibrant, bold colors or to `"subtle"` for a badge with muted, subtle colors. Only applies to the `ionic` theme.
6352
+ */
6353
+ "hue"?: 'bold' | 'subtle';
6354
+ /**
6355
+ * The mode determines the platform behaviors of the component.
5627
6356
  */
5628
6357
  "mode"?: "ios" | "md";
6358
+ /**
6359
+ * 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.
6360
+ */
6361
+ "shape"?: 'soft' | 'round | rectangular';
6362
+ /**
6363
+ * Set to `"small"` for a small badge. Set to `"medium"` for a medium badge. Set to `"large"` for a large badge, when it is empty (no text or icon). Defaults to `"small"` for the `ionic` theme, undefined for all other themes.
6364
+ */
6365
+ "size"?: 'small' | 'medium' | 'large';
6366
+ /**
6367
+ * The theme determines the visual appearance of the component.
6368
+ */
6369
+ "theme"?: "ios" | "md" | "ionic";
6370
+ /**
6371
+ * Set to `"top"` to position the badge on top right absolute position of the parent element. Set to `"bottom"` to position the badge on bottom right absolute position of the parent element.
6372
+ */
6373
+ "vertical"?: 'top' | 'bottom';
5629
6374
  }
5630
6375
  interface IonBreadcrumb {
5631
6376
  /**
@@ -5651,7 +6396,7 @@ declare namespace LocalJSX {
5651
6396
  */
5652
6397
  "href"?: string | undefined;
5653
6398
  /**
5654
- * The mode determines which platform styles to use.
6399
+ * The mode determines the platform behaviors of the component.
5655
6400
  */
5656
6401
  "mode"?: "ios" | "md";
5657
6402
  /**
@@ -5683,6 +6428,10 @@ declare namespace LocalJSX {
5683
6428
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5684
6429
  */
5685
6430
  "target"?: string | undefined;
6431
+ /**
6432
+ * The theme determines the visual appearance of the component.
6433
+ */
6434
+ "theme"?: "ios" | "md" | "ionic";
5686
6435
  }
5687
6436
  interface IonBreadcrumbs {
5688
6437
  /**
@@ -5704,13 +6453,17 @@ declare namespace LocalJSX {
5704
6453
  */
5705
6454
  "maxItems"?: number;
5706
6455
  /**
5707
- * The mode determines which platform styles to use.
6456
+ * The mode determines the platform behaviors of the component.
5708
6457
  */
5709
6458
  "mode"?: "ios" | "md";
5710
6459
  /**
5711
6460
  * Emitted when the collapsed indicator is clicked on.
5712
6461
  */
5713
6462
  "onIonCollapsedClick"?: (event: IonBreadcrumbsCustomEvent<BreadcrumbCollapsedClickEventDetail>) => void;
6463
+ /**
6464
+ * The theme determines the visual appearance of the component.
6465
+ */
6466
+ "theme"?: "ios" | "md" | "ionic";
5714
6467
  }
5715
6468
  interface IonButton {
5716
6469
  /**
@@ -5748,7 +6501,7 @@ declare namespace LocalJSX {
5748
6501
  */
5749
6502
  "href"?: string | undefined;
5750
6503
  /**
5751
- * The mode determines which platform styles to use.
6504
+ * The mode determines the platform behaviors of the component.
5752
6505
  */
5753
6506
  "mode"?: "ios" | "md";
5754
6507
  /**
@@ -5773,13 +6526,13 @@ declare namespace LocalJSX {
5773
6526
  */
5774
6527
  "routerDirection"?: RouterDirection;
5775
6528
  /**
5776
- * Set to `"round"` for a button with more rounded corners.
6529
+ * Set to `"soft"` for a button with slightly rounded corners, `"round"` for a button with fully rounded corners, or `"rectangular"` for a button without rounded corners. Defaults to `"soft"` for the `"ios"` theme and `"round"` for all other themes.
5777
6530
  */
5778
- "shape"?: 'round';
6531
+ "shape"?: 'soft' | 'round' | 'rectangular';
5779
6532
  /**
5780
- * Set to `"small"` for a button with less height and padding, to `"default"` for a button with the default height and padding, or to `"large"` for a button with more height and padding. By default the size is unset, unless the button is inside of an item, where the size is `"small"` by default. Set the size to `"default"` inside of an item to make it a standard size button.
6533
+ * Set to `"small"` for a button with less height and padding, to `"medium"` for a button with the medium height and padding, or to `"large"` for a button with more height and padding. By default the size is unset, unless the button is inside of an item, where the size is `"small"` by default. Set the size to `"default"` inside of an item to make it a standard size button.
5781
6534
  */
5782
- "size"?: 'small' | 'default' | 'large';
6535
+ "size"?: 'small' | 'default' | 'medium' | 'large';
5783
6536
  /**
5784
6537
  * If `true`, activates a button with a heavier font weight.
5785
6538
  * @default false
@@ -5789,6 +6542,10 @@ declare namespace LocalJSX {
5789
6542
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5790
6543
  */
5791
6544
  "target"?: string | undefined;
6545
+ /**
6546
+ * The theme determines the visual appearance of the component.
6547
+ */
6548
+ "theme"?: "ios" | "md" | "ionic";
5792
6549
  /**
5793
6550
  * The type of the button.
5794
6551
  * @default 'button'
@@ -5797,10 +6554,18 @@ declare namespace LocalJSX {
5797
6554
  }
5798
6555
  interface IonButtons {
5799
6556
  /**
5800
- * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in `ios` mode with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
6557
+ * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in the `ios` theme with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
5801
6558
  * @default false
5802
6559
  */
5803
6560
  "collapse"?: boolean;
6561
+ /**
6562
+ * The mode determines the platform behaviors of the component.
6563
+ */
6564
+ "mode"?: "ios" | "md";
6565
+ /**
6566
+ * The theme determines the visual appearance of the component.
6567
+ */
6568
+ "theme"?: "ios" | "md" | "ionic";
5804
6569
  }
5805
6570
  interface IonCard {
5806
6571
  /**
@@ -5826,7 +6591,7 @@ declare namespace LocalJSX {
5826
6591
  */
5827
6592
  "href"?: string | undefined;
5828
6593
  /**
5829
- * The mode determines which platform styles to use.
6594
+ * The mode determines the platform behaviors of the component.
5830
6595
  */
5831
6596
  "mode"?: "ios" | "md";
5832
6597
  /**
@@ -5842,10 +6607,19 @@ declare namespace LocalJSX {
5842
6607
  * @default 'forward'
5843
6608
  */
5844
6609
  "routerDirection"?: RouterDirection;
6610
+ /**
6611
+ * 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"`.
6612
+ * @default 'round'
6613
+ */
6614
+ "shape"?: 'soft' | 'round' | 'rectangular';
5845
6615
  /**
5846
6616
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5847
6617
  */
5848
6618
  "target"?: string | undefined;
6619
+ /**
6620
+ * The theme determines the visual appearance of the component.
6621
+ */
6622
+ "theme"?: "ios" | "md" | "ionic";
5849
6623
  /**
5850
6624
  * The type of the button. Only used when an `onclick` or `button` property is present.
5851
6625
  * @default 'button'
@@ -5854,9 +6628,13 @@ declare namespace LocalJSX {
5854
6628
  }
5855
6629
  interface IonCardContent {
5856
6630
  /**
5857
- * The mode determines which platform styles to use.
6631
+ * The mode determines the platform behaviors of the component.
5858
6632
  */
5859
6633
  "mode"?: "ios" | "md";
6634
+ /**
6635
+ * The theme determines the visual appearance of the component.
6636
+ */
6637
+ "theme"?: "ios" | "md" | "ionic";
5860
6638
  }
5861
6639
  interface IonCardHeader {
5862
6640
  /**
@@ -5864,11 +6642,15 @@ declare namespace LocalJSX {
5864
6642
  */
5865
6643
  "color"?: Color;
5866
6644
  /**
5867
- * The mode determines which platform styles to use.
6645
+ * The mode determines the platform behaviors of the component.
5868
6646
  */
5869
6647
  "mode"?: "ios" | "md";
5870
6648
  /**
5871
- * If `true`, the card header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6649
+ * The theme determines the visual appearance of the component.
6650
+ */
6651
+ "theme"?: "ios" | "md" | "ionic";
6652
+ /**
6653
+ * If `true`, the card header will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5872
6654
  * @default false
5873
6655
  */
5874
6656
  "translucent"?: boolean;
@@ -5879,9 +6661,13 @@ declare namespace LocalJSX {
5879
6661
  */
5880
6662
  "color"?: Color;
5881
6663
  /**
5882
- * The mode determines which platform styles to use.
6664
+ * The mode determines the platform behaviors of the component.
5883
6665
  */
5884
6666
  "mode"?: "ios" | "md";
6667
+ /**
6668
+ * The theme determines the visual appearance of the component.
6669
+ */
6670
+ "theme"?: "ios" | "md" | "ionic";
5885
6671
  }
5886
6672
  interface IonCardTitle {
5887
6673
  /**
@@ -5889,9 +6675,13 @@ declare namespace LocalJSX {
5889
6675
  */
5890
6676
  "color"?: Color;
5891
6677
  /**
5892
- * The mode determines which platform styles to use.
6678
+ * The mode determines the platform behaviors of the component.
5893
6679
  */
5894
6680
  "mode"?: "ios" | "md";
6681
+ /**
6682
+ * The theme determines the visual appearance of the component.
6683
+ */
6684
+ "theme"?: "ios" | "md" | "ionic";
5895
6685
  }
5896
6686
  interface IonCheckbox {
5897
6687
  /**
@@ -5935,7 +6725,7 @@ declare namespace LocalJSX {
5935
6725
  */
5936
6726
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
5937
6727
  /**
5938
- * The mode determines which platform styles to use.
6728
+ * The mode determines the platform behaviors of the component.
5939
6729
  */
5940
6730
  "mode"?: "ios" | "md";
5941
6731
  /**
@@ -5948,7 +6738,7 @@ declare namespace LocalJSX {
5948
6738
  */
5949
6739
  "onIonBlur"?: (event: IonCheckboxCustomEvent<void>) => void;
5950
6740
  /**
5951
- * Emitted when the checked property has changed as a result of a user action such as a click. This event will not emit when programmatically setting the `checked` property.
6741
+ * Emitted when the checked property has changed as a result of a user action such as a click. This event will not emit when programmatically setting the `checked` property.
5952
6742
  */
5953
6743
  "onIonChange"?: (event: IonCheckboxCustomEvent<CheckboxChangeEventDetail>) => void;
5954
6744
  /**
@@ -5960,6 +6750,19 @@ declare namespace LocalJSX {
5960
6750
  * @default false
5961
6751
  */
5962
6752
  "required"?: boolean;
6753
+ /**
6754
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
6755
+ * @default 'soft'
6756
+ */
6757
+ "shape"?: 'soft' | 'rectangular';
6758
+ /**
6759
+ * Set to `"small"` for a checkbox with less height and padding.
6760
+ */
6761
+ "size"?: 'small';
6762
+ /**
6763
+ * The theme determines the visual appearance of the component.
6764
+ */
6765
+ "theme"?: "ios" | "md" | "ionic";
5963
6766
  /**
5964
6767
  * The value of the checkbox does not mean if it's checked or not, use the `checked` property for that. The value of a checkbox is analogous to the value of an `<input type="checkbox">`, it's only used when the checkbox participates in a native `<form>`.
5965
6768
  * @default 'on'
@@ -5977,7 +6780,12 @@ declare namespace LocalJSX {
5977
6780
  */
5978
6781
  "disabled"?: boolean;
5979
6782
  /**
5980
- * The mode determines which platform styles to use.
6783
+ * Set to `"bold"` for a chip with vibrant, bold colors or to `"subtle"` for a chip with muted, subtle colors. Only applies to the `ionic` theme.
6784
+ * @default 'subtle'
6785
+ */
6786
+ "hue"?: 'bold' | 'subtle';
6787
+ /**
6788
+ * The mode determines the platform behaviors of the component.
5981
6789
  */
5982
6790
  "mode"?: "ios" | "md";
5983
6791
  /**
@@ -5985,8 +6793,24 @@ declare namespace LocalJSX {
5985
6793
  * @default false
5986
6794
  */
5987
6795
  "outline"?: boolean;
6796
+ /**
6797
+ * 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.
6798
+ */
6799
+ "shape"?: 'soft' | 'round' | 'rectangular';
6800
+ /**
6801
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
6802
+ */
6803
+ "size"?: 'small' | 'large';
6804
+ /**
6805
+ * The theme determines the visual appearance of the component.
6806
+ */
6807
+ "theme"?: "ios" | "md" | "ionic";
5988
6808
  }
5989
6809
  interface IonCol {
6810
+ /**
6811
+ * The mode determines the platform behaviors of the component.
6812
+ */
6813
+ "mode"?: "ios" | "md";
5990
6814
  /**
5991
6815
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
5992
6816
  */
@@ -6083,6 +6907,10 @@ declare namespace LocalJSX {
6083
6907
  * The size of the column for xs screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
6084
6908
  */
6085
6909
  "sizeXs"?: string;
6910
+ /**
6911
+ * The theme determines the visual appearance of the component.
6912
+ */
6913
+ "theme"?: "ios" | "md" | "ionic";
6086
6914
  }
6087
6915
  interface IonContent {
6088
6916
  /**
@@ -6103,6 +6931,10 @@ declare namespace LocalJSX {
6103
6931
  * @default false
6104
6932
  */
6105
6933
  "fullscreen"?: boolean;
6934
+ /**
6935
+ * The mode determines the platform behaviors of the component.
6936
+ */
6937
+ "mode"?: "ios" | "md";
6106
6938
  /**
6107
6939
  * Emitted while scrolling. This event is disabled by default. Set `scrollEvents` to `true` to enable.
6108
6940
  */
@@ -6130,6 +6962,10 @@ declare namespace LocalJSX {
6130
6962
  * @default true
6131
6963
  */
6132
6964
  "scrollY"?: boolean;
6965
+ /**
6966
+ * The theme determines the visual appearance of the component.
6967
+ */
6968
+ "theme"?: "ios" | "md" | "ionic";
6133
6969
  }
6134
6970
  interface IonDatetime {
6135
6971
  /**
@@ -6204,7 +7040,7 @@ declare namespace LocalJSX {
6204
7040
  */
6205
7041
  "minuteValues"?: number[] | number | string;
6206
7042
  /**
6207
- * The mode determines which platform styles to use.
7043
+ * The mode determines the platform behaviors of the component.
6208
7044
  */
6209
7045
  "mode"?: "ios" | "md";
6210
7046
  /**
@@ -6282,6 +7118,10 @@ declare namespace LocalJSX {
6282
7118
  * @default 'fixed'
6283
7119
  */
6284
7120
  "size"?: 'cover' | 'fixed';
7121
+ /**
7122
+ * The theme determines the visual appearance of the component.
7123
+ */
7124
+ "theme"?: "ios" | "md" | "ionic";
6285
7125
  /**
6286
7126
  * A callback used to format the header text that shows how many dates are selected. Only used if there are 0 or more than 1 selected (i.e. unused for exactly 1). By default, the header text is set to "numberOfDates days". See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this if you need to access `this` from within the callback.
6287
7127
  */
@@ -6311,9 +7151,25 @@ declare namespace LocalJSX {
6311
7151
  */
6312
7152
  "disabled"?: boolean;
6313
7153
  /**
6314
- * The mode determines which platform styles to use.
7154
+ * The mode determines the platform behaviors of the component.
6315
7155
  */
6316
7156
  "mode"?: "ios" | "md";
7157
+ /**
7158
+ * The theme determines the visual appearance of the component.
7159
+ */
7160
+ "theme"?: "ios" | "md" | "ionic";
7161
+ }
7162
+ interface IonDivider {
7163
+ /**
7164
+ * If `true`, the divider will have horizontal margins By default, it's `false`
7165
+ * @default false
7166
+ */
7167
+ "inset"?: boolean;
7168
+ /**
7169
+ * Set to `"xxsmall"` for the smallest spacing. Set to "xsmall" for very small spacing. Set to `"small"` for small spacing. Set to "medium" for medium spacing. Set to "large" for large spacing. Set to `"xlarge"` for the largest spacing. Defaults to `"medium"`.
7170
+ * @default 'medium'
7171
+ */
7172
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
6317
7173
  }
6318
7174
  interface IonFab {
6319
7175
  /**
@@ -6330,6 +7186,14 @@ declare namespace LocalJSX {
6330
7186
  * Where to align the fab horizontally in the viewport.
6331
7187
  */
6332
7188
  "horizontal"?: 'start' | 'end' | 'center';
7189
+ /**
7190
+ * The mode determines the platform behaviors of the component.
7191
+ */
7192
+ "mode"?: "ios" | "md";
7193
+ /**
7194
+ * The theme determines the visual appearance of the component.
7195
+ */
7196
+ "theme"?: "ios" | "md" | "ionic";
6333
7197
  /**
6334
7198
  * Where to align the fab vertically in the viewport.
6335
7199
  */
@@ -6343,7 +7207,6 @@ declare namespace LocalJSX {
6343
7207
  "activated"?: boolean;
6344
7208
  /**
6345
7209
  * The icon name to use for the close icon. This will appear when the fab button is pressed. Only applies if it is the main button inside of a fab containing a fab list.
6346
- * @default close
6347
7210
  */
6348
7211
  "closeIcon"?: string;
6349
7212
  /**
@@ -6364,7 +7227,7 @@ declare namespace LocalJSX {
6364
7227
  */
6365
7228
  "href"?: string | undefined;
6366
7229
  /**
6367
- * The mode determines which platform styles to use.
7230
+ * The mode determines the platform behaviors of the component.
6368
7231
  */
6369
7232
  "mode"?: "ios" | "md";
6370
7233
  /**
@@ -6402,7 +7265,11 @@ declare namespace LocalJSX {
6402
7265
  */
6403
7266
  "target"?: string | undefined;
6404
7267
  /**
6405
- * If `true`, the fab button will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
7268
+ * The theme determines the visual appearance of the component.
7269
+ */
7270
+ "theme"?: "ios" | "md" | "ionic";
7271
+ /**
7272
+ * If `true`, the fab button will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6406
7273
  * @default false
6407
7274
  */
6408
7275
  "translucent"?: boolean;
@@ -6418,23 +7285,35 @@ declare namespace LocalJSX {
6418
7285
  * @default false
6419
7286
  */
6420
7287
  "activated"?: boolean;
7288
+ /**
7289
+ * The mode determines the platform behaviors of the component.
7290
+ */
7291
+ "mode"?: "ios" | "md";
6421
7292
  /**
6422
7293
  * The side the fab list will show on relative to the main fab button.
6423
7294
  * @default 'bottom'
6424
7295
  */
6425
7296
  "side"?: 'start' | 'end' | 'top' | 'bottom';
7297
+ /**
7298
+ * The theme determines the visual appearance of the component.
7299
+ */
7300
+ "theme"?: "ios" | "md" | "ionic";
6426
7301
  }
6427
7302
  interface IonFooter {
6428
7303
  /**
6429
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
7304
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
6430
7305
  */
6431
7306
  "collapse"?: 'fade';
6432
7307
  /**
6433
- * The mode determines which platform styles to use.
7308
+ * The mode determines the platform behaviors of the component.
6434
7309
  */
6435
7310
  "mode"?: "ios" | "md";
6436
7311
  /**
6437
- * If `true`, the footer will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
7312
+ * The theme determines the visual appearance of the component.
7313
+ */
7314
+ "theme"?: "ios" | "md" | "ionic";
7315
+ /**
7316
+ * If `true`, the footer will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
6438
7317
  * @default false
6439
7318
  */
6440
7319
  "translucent"?: boolean;
@@ -6445,18 +7324,35 @@ declare namespace LocalJSX {
6445
7324
  * @default false
6446
7325
  */
6447
7326
  "fixed"?: boolean;
7327
+ /**
7328
+ * The mode determines the platform behaviors of the component.
7329
+ */
7330
+ "mode"?: "ios" | "md";
7331
+ /**
7332
+ * The theme determines the visual appearance of the component.
7333
+ */
7334
+ "theme"?: "ios" | "md" | "ionic";
6448
7335
  }
6449
7336
  interface IonHeader {
6450
7337
  /**
6451
- * Describes the scroll effect that will be applied to the header. Only applies in iOS mode. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
7338
+ * Describes the scroll effect that will be applied to the header. Only applies when the theme is `"ios"`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
6452
7339
  */
6453
7340
  "collapse"?: 'condense' | 'fade';
6454
7341
  /**
6455
- * The mode determines which platform styles to use.
7342
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
7343
+ * @default false
7344
+ */
7345
+ "divider"?: boolean;
7346
+ /**
7347
+ * The mode determines the platform behaviors of the component.
6456
7348
  */
6457
7349
  "mode"?: "ios" | "md";
6458
7350
  /**
6459
- * If `true`, the header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
7351
+ * The theme determines the visual appearance of the component.
7352
+ */
7353
+ "theme"?: "ios" | "md" | "ionic";
7354
+ /**
7355
+ * If `true`, the header will be translucent. Only applies when the theme is `"ios"` or `"ionic"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
6460
7356
  * @default false
6461
7357
  */
6462
7358
  "translucent"?: boolean;
@@ -6466,6 +7362,10 @@ declare namespace LocalJSX {
6466
7362
  * This attribute defines the alternative text describing the image. Users will see this text displayed if the image URL is wrong, the image is not in one of the supported formats, or if the image is not yet downloaded.
6467
7363
  */
6468
7364
  "alt"?: string;
7365
+ /**
7366
+ * The mode determines the platform behaviors of the component.
7367
+ */
7368
+ "mode"?: "ios" | "md";
6469
7369
  /**
6470
7370
  * Emitted when the img fails to load
6471
7371
  */
@@ -6482,6 +7382,10 @@ declare namespace LocalJSX {
6482
7382
  * The image URL. This attribute is mandatory for the `<img>` element.
6483
7383
  */
6484
7384
  "src"?: string;
7385
+ /**
7386
+ * The theme determines the visual appearance of the component.
7387
+ */
7388
+ "theme"?: "ios" | "md" | "ionic";
6485
7389
  }
6486
7390
  interface IonInfiniteScroll {
6487
7391
  /**
@@ -6489,6 +7393,10 @@ declare namespace LocalJSX {
6489
7393
  * @default false
6490
7394
  */
6491
7395
  "disabled"?: boolean;
7396
+ /**
7397
+ * The mode determines the platform behaviors of the component.
7398
+ */
7399
+ "mode"?: "ios" | "md";
6492
7400
  /**
6493
7401
  * Emitted when the scroll reaches the threshold distance. From within your infinite handler, you must call the infinite scroll's `complete()` method when your async operation has completed.
6494
7402
  */
@@ -6498,6 +7406,15 @@ declare namespace LocalJSX {
6498
7406
  * @default 'bottom'
6499
7407
  */
6500
7408
  "position"?: 'top' | 'bottom';
7409
+ /**
7410
+ * If `true`, the infinite scroll will preserve the scroll position when the content is re-rendered. This is useful when the content is re-rendered with new keys, and the scroll position should be preserved.
7411
+ * @default false
7412
+ */
7413
+ "preserveRerenderScrollPosition"?: boolean;
7414
+ /**
7415
+ * The theme determines the visual appearance of the component.
7416
+ */
7417
+ "theme"?: "ios" | "md" | "ionic";
6501
7418
  /**
6502
7419
  * The threshold distance from the bottom of the content to call the `infinite` output event when scrolled. The threshold value can be either a percent, or in pixels. For example, use the value of `10%` for the `infinite` output event to get called when the user has scrolled 10% from the bottom of the page. Use the value `100px` when the scroll is within 100 pixels from the bottom of the page.
6503
7420
  * @default '15%'
@@ -6513,6 +7430,14 @@ declare namespace LocalJSX {
6513
7430
  * Optional text to display while loading. `loadingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) This property accepts custom HTML as a string. Content is parsed as plaintext by default. `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config before custom HTML can be used.
6514
7431
  */
6515
7432
  "loadingText"?: string | IonicSafeString;
7433
+ /**
7434
+ * The mode determines the platform behaviors of the component.
7435
+ */
7436
+ "mode"?: "ios" | "md";
7437
+ /**
7438
+ * The theme determines the visual appearance of the component.
7439
+ */
7440
+ "theme"?: "ios" | "md" | "ionic";
6516
7441
  }
6517
7442
  interface IonInput {
6518
7443
  /**
@@ -6579,7 +7504,7 @@ declare namespace LocalJSX {
6579
7504
  */
6580
7505
  "errorText"?: string;
6581
7506
  /**
6582
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
7507
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available when the theme is `"md"`.
6583
7508
  */
6584
7509
  "fill"?: 'outline' | 'solid';
6585
7510
  /**
@@ -6595,8 +7520,7 @@ declare namespace LocalJSX {
6595
7520
  */
6596
7521
  "label"?: string;
6597
7522
  /**
6598
- * Where to place the label relative to the input. `"start"`: The label will appear to the left of the input in LTR and to the right in RTL. `"end"`: The label will appear to the right of the input in LTR and to the left in RTL. `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input. `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
6599
- * @default 'start'
7523
+ * Where to place the label relative to the input. `"start"`: The label will appear to the left of the input in LTR and to the right in RTL. `"end"`: The label will appear to the right of the input in LTR and to the left in RTL. `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input. `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("..."). Defaults to "stacked" for the ionic theme, or "start" for all other themes. In the ionic theme, only the values "stacked" and "floating" are supported.
6600
7524
  */
6601
7525
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
6602
7526
  /**
@@ -6616,7 +7540,7 @@ declare namespace LocalJSX {
6616
7540
  */
6617
7541
  "minlength"?: number;
6618
7542
  /**
6619
- * The mode determines which platform styles to use.
7543
+ * The mode determines the platform behaviors of the component.
6620
7544
  */
6621
7545
  "mode"?: "ios" | "md";
6622
7546
  /**
@@ -6663,9 +7587,14 @@ declare namespace LocalJSX {
6663
7587
  */
6664
7588
  "required"?: boolean;
6665
7589
  /**
6666
- * The shape of the input. If "round" it will have an increased border radius.
7590
+ * 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"`.
7591
+ */
7592
+ "shape"?: 'soft' | 'round' | 'rectangular';
7593
+ /**
7594
+ * 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.
7595
+ * @default 'medium'
6667
7596
  */
6668
- "shape"?: 'round';
7597
+ "size"?: 'medium' | 'large' | 'xlarge';
6669
7598
  /**
6670
7599
  * If `true`, the element will have its spelling and grammar checked.
6671
7600
  * @default false
@@ -6675,6 +7604,10 @@ declare namespace LocalJSX {
6675
7604
  * Works with the min and max attributes to limit the increments at which a value can be set. Possible values are: `"any"` or a positive floating point number.
6676
7605
  */
6677
7606
  "step"?: string;
7607
+ /**
7608
+ * The theme determines the visual appearance of the component.
7609
+ */
7610
+ "theme"?: "ios" | "md" | "ionic";
6678
7611
  /**
6679
7612
  * The type of control to display. The default type is text.
6680
7613
  * @default 'text'
@@ -6798,12 +7731,11 @@ declare namespace LocalJSX {
6798
7731
  */
6799
7732
  "color"?: Color;
6800
7733
  /**
6801
- * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `mode` is `ios` and an `href` or `button` property is present.
7734
+ * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `theme` is `"ios"` and an `href` or `button` property is present.
6802
7735
  */
6803
7736
  "detail"?: boolean;
6804
7737
  /**
6805
7738
  * The icon to use when `detail` is set to `true`.
6806
- * @default chevronForward
6807
7739
  */
6808
7740
  "detailIcon"?: string;
6809
7741
  /**
@@ -6824,7 +7756,7 @@ declare namespace LocalJSX {
6824
7756
  */
6825
7757
  "lines"?: 'full' | 'inset' | 'none';
6826
7758
  /**
6827
- * The mode determines which platform styles to use.
7759
+ * The mode determines the platform behaviors of the component.
6828
7760
  */
6829
7761
  "mode"?: "ios" | "md";
6830
7762
  /**
@@ -6844,6 +7776,10 @@ declare namespace LocalJSX {
6844
7776
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6845
7777
  */
6846
7778
  "target"?: string | undefined;
7779
+ /**
7780
+ * The theme determines the visual appearance of the component.
7781
+ */
7782
+ "theme"?: "ios" | "md" | "ionic";
6847
7783
  /**
6848
7784
  * The type of the button. Only used when an `onclick` or `button` property is present.
6849
7785
  * @default 'button'
@@ -6856,7 +7792,7 @@ declare namespace LocalJSX {
6856
7792
  */
6857
7793
  "color"?: Color;
6858
7794
  /**
6859
- * The mode determines which platform styles to use.
7795
+ * The mode determines the platform behaviors of the component.
6860
7796
  */
6861
7797
  "mode"?: "ios" | "md";
6862
7798
  /**
@@ -6864,8 +7800,20 @@ declare namespace LocalJSX {
6864
7800
  * @default false
6865
7801
  */
6866
7802
  "sticky"?: boolean;
7803
+ /**
7804
+ * The theme determines the visual appearance of the component.
7805
+ */
7806
+ "theme"?: "ios" | "md" | "ionic";
6867
7807
  }
6868
7808
  interface IonItemGroup {
7809
+ /**
7810
+ * The mode determines the platform behaviors of the component.
7811
+ */
7812
+ "mode"?: "ios" | "md";
7813
+ /**
7814
+ * The theme determines the visual appearance of the component.
7815
+ */
7816
+ "theme"?: "ios" | "md" | "ionic";
6869
7817
  }
6870
7818
  interface IonItemOption {
6871
7819
  /**
@@ -6891,17 +7839,30 @@ declare namespace LocalJSX {
6891
7839
  */
6892
7840
  "href"?: string | undefined;
6893
7841
  /**
6894
- * The mode determines which platform styles to use.
7842
+ * Set to `"bold"` for an option with vibrant, bold colors or to `"subtle"` for an option with muted, subtle colors. Only applies to the `ionic` theme.
7843
+ * @default 'subtle'
7844
+ */
7845
+ "hue"?: 'bold' | 'subtle';
7846
+ /**
7847
+ * The mode determines the platform behaviors of the component.
6895
7848
  */
6896
7849
  "mode"?: "ios" | "md";
6897
7850
  /**
6898
7851
  * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
6899
7852
  */
6900
7853
  "rel"?: string | undefined;
7854
+ /**
7855
+ * 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.
7856
+ */
7857
+ "shape"?: 'soft' | 'round' | 'rectangular';
6901
7858
  /**
6902
7859
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6903
7860
  */
6904
7861
  "target"?: string | undefined;
7862
+ /**
7863
+ * The theme determines the visual appearance of the component.
7864
+ */
7865
+ "theme"?: "ios" | "md" | "ionic";
6905
7866
  /**
6906
7867
  * The type of the button.
6907
7868
  * @default 'button'
@@ -6909,6 +7870,10 @@ declare namespace LocalJSX {
6909
7870
  "type"?: 'submit' | 'reset' | 'button';
6910
7871
  }
6911
7872
  interface IonItemOptions {
7873
+ /**
7874
+ * The mode determines the platform behaviors of the component.
7875
+ */
7876
+ "mode"?: "ios" | "md";
6912
7877
  /**
6913
7878
  * Emitted when the item has been fully swiped.
6914
7879
  */
@@ -6918,6 +7883,10 @@ declare namespace LocalJSX {
6918
7883
  * @default 'end'
6919
7884
  */
6920
7885
  "side"?: Side;
7886
+ /**
7887
+ * The theme determines the visual appearance of the component.
7888
+ */
7889
+ "theme"?: "ios" | "md" | "ionic";
6921
7890
  }
6922
7891
  interface IonItemSliding {
6923
7892
  /**
@@ -6925,10 +7894,18 @@ declare namespace LocalJSX {
6925
7894
  * @default false
6926
7895
  */
6927
7896
  "disabled"?: boolean;
7897
+ /**
7898
+ * The mode determines the platform behaviors of the component.
7899
+ */
7900
+ "mode"?: "ios" | "md";
6928
7901
  /**
6929
7902
  * Emitted when the sliding position changes.
6930
7903
  */
6931
7904
  "onIonDrag"?: (event: IonItemSlidingCustomEvent<any>) => void;
7905
+ /**
7906
+ * The theme determines the visual appearance of the component.
7907
+ */
7908
+ "theme"?: "ios" | "md" | "ionic";
6932
7909
  }
6933
7910
  interface IonLabel {
6934
7911
  /**
@@ -6936,13 +7913,17 @@ declare namespace LocalJSX {
6936
7913
  */
6937
7914
  "color"?: Color;
6938
7915
  /**
6939
- * The mode determines which platform styles to use.
7916
+ * The mode determines the platform behaviors of the component.
6940
7917
  */
6941
7918
  "mode"?: "ios" | "md";
6942
7919
  /**
6943
7920
  * The position determines where and how the label behaves inside an item.
6944
7921
  */
6945
7922
  "position"?: 'fixed' | 'stacked' | 'floating';
7923
+ /**
7924
+ * The theme determines the visual appearance of the component.
7925
+ */
7926
+ "theme"?: "ios" | "md" | "ionic";
6946
7927
  }
6947
7928
  interface IonList {
6948
7929
  /**
@@ -6955,9 +7936,17 @@ declare namespace LocalJSX {
6955
7936
  */
6956
7937
  "lines"?: 'full' | 'inset' | 'none';
6957
7938
  /**
6958
- * The mode determines which platform styles to use.
7939
+ * The mode determines the platform behaviors of the component.
6959
7940
  */
6960
7941
  "mode"?: "ios" | "md";
7942
+ /**
7943
+ * 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.
7944
+ */
7945
+ "shape"?: 'soft' | 'round' | 'rectangular';
7946
+ /**
7947
+ * The theme determines the visual appearance of the component.
7948
+ */
7949
+ "theme"?: "ios" | "md" | "ionic";
6961
7950
  }
6962
7951
  interface IonListHeader {
6963
7952
  /**
@@ -6969,9 +7958,13 @@ declare namespace LocalJSX {
6969
7958
  */
6970
7959
  "lines"?: 'full' | 'inset' | 'none';
6971
7960
  /**
6972
- * The mode determines which platform styles to use.
7961
+ * The mode determines the platform behaviors of the component.
6973
7962
  */
6974
7963
  "mode"?: "ios" | "md";
7964
+ /**
7965
+ * The theme determines the visual appearance of the component.
7966
+ */
7967
+ "theme"?: "ios" | "md" | "ionic";
6975
7968
  }
6976
7969
  interface IonLoading {
6977
7970
  /**
@@ -7020,7 +8013,7 @@ declare namespace LocalJSX {
7020
8013
  */
7021
8014
  "message"?: string | IonicSafeString;
7022
8015
  /**
7023
- * The mode determines which platform styles to use.
8016
+ * The mode determines the platform behaviors of the component.
7024
8017
  */
7025
8018
  "mode"?: "ios" | "md";
7026
8019
  /**
@@ -7065,7 +8058,11 @@ declare namespace LocalJSX {
7065
8058
  */
7066
8059
  "spinner"?: SpinnerTypes | null;
7067
8060
  /**
7068
- * If `true`, the loading indicator will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
8061
+ * The theme determines the visual appearance of the component.
8062
+ */
8063
+ "theme"?: "ios" | "md" | "ionic";
8064
+ /**
8065
+ * If `true`, the loading indicator will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
7069
8066
  * @default false
7070
8067
  */
7071
8068
  "translucent"?: boolean;
@@ -7093,6 +8090,10 @@ declare namespace LocalJSX {
7093
8090
  * An id for the menu.
7094
8091
  */
7095
8092
  "menuId"?: string;
8093
+ /**
8094
+ * The mode determines the platform behaviors of the component.
8095
+ */
8096
+ "mode"?: "ios" | "md";
7096
8097
  /**
7097
8098
  * Emitted when the menu is closed.
7098
8099
  */
@@ -7119,6 +8120,10 @@ declare namespace LocalJSX {
7119
8120
  * @default true
7120
8121
  */
7121
8122
  "swipeGesture"?: boolean;
8123
+ /**
8124
+ * The theme determines the visual appearance of the component.
8125
+ */
8126
+ "theme"?: "ios" | "md" | "ionic";
7122
8127
  /**
7123
8128
  * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
7124
8129
  */
@@ -7144,9 +8149,13 @@ declare namespace LocalJSX {
7144
8149
  */
7145
8150
  "menu"?: string;
7146
8151
  /**
7147
- * The mode determines which platform styles to use.
8152
+ * The mode determines the platform behaviors of the component.
7148
8153
  */
7149
8154
  "mode"?: "ios" | "md";
8155
+ /**
8156
+ * The theme determines the visual appearance of the component.
8157
+ */
8158
+ "theme"?: "ios" | "md" | "ionic";
7150
8159
  /**
7151
8160
  * The type of the button.
7152
8161
  * @default 'button'
@@ -7163,6 +8172,14 @@ declare namespace LocalJSX {
7163
8172
  * Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle. If this property is not used, `ion-menu-toggle` will toggle the first menu that is active.
7164
8173
  */
7165
8174
  "menu"?: string;
8175
+ /**
8176
+ * The mode determines the platform behaviors of the component.
8177
+ */
8178
+ "mode"?: "ios" | "md";
8179
+ /**
8180
+ * The theme determines the visual appearance of the component.
8181
+ */
8182
+ "theme"?: "ios" | "md" | "ionic";
7166
8183
  }
7167
8184
  interface IonModal {
7168
8185
  /**
@@ -7240,7 +8257,7 @@ declare namespace LocalJSX {
7240
8257
  */
7241
8258
  "leaveAnimation"?: AnimationBuilder;
7242
8259
  /**
7243
- * The mode determines which platform styles to use.
8260
+ * The mode determines the platform behaviors of the component.
7244
8261
  */
7245
8262
  "mode"?: "ios" | "md";
7246
8263
  /**
@@ -7283,11 +8300,19 @@ declare namespace LocalJSX {
7283
8300
  * The element that presented the modal. This is used for card presentation effects and for stacking multiple modals on top of each other. Only applies in iOS mode.
7284
8301
  */
7285
8302
  "presentingElement"?: HTMLElement;
8303
+ /**
8304
+ * 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.
8305
+ */
8306
+ "shape"?: 'soft' | 'round' | 'rectangular';
7286
8307
  /**
7287
8308
  * If `true`, a backdrop will be displayed behind the modal. This property controls whether or not the backdrop darkens the screen when the modal is presented. It does not control whether or not the backdrop is active or present in the DOM.
7288
8309
  * @default true
7289
8310
  */
7290
8311
  "showBackdrop"?: boolean;
8312
+ /**
8313
+ * The theme determines the visual appearance of the component.
8314
+ */
8315
+ "theme"?: "ios" | "md" | "ionic";
7291
8316
  /**
7292
8317
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
7293
8318
  */
@@ -7300,9 +8325,13 @@ declare namespace LocalJSX {
7300
8325
  */
7301
8326
  "animated"?: boolean;
7302
8327
  /**
7303
- * By default `ion-nav` animates transition between pages based in the mode (ios or material design). However, this property allows to create custom transition using `AnimationBuilder` functions.
8328
+ * By default `ion-nav` animates transition between pages based on the mode ("ios" or "md"). However, this property allows to create custom transition using `AnimationBuilder` functions.
7304
8329
  */
7305
8330
  "animation"?: AnimationBuilder;
8331
+ /**
8332
+ * The mode determines the platform behaviors of the component.
8333
+ */
8334
+ "mode"?: "ios" | "md";
7306
8335
  /**
7307
8336
  * Event fired when the nav has changed components
7308
8337
  */
@@ -7323,6 +8352,10 @@ declare namespace LocalJSX {
7323
8352
  * If the nav component should allow for swipe-to-go-back.
7324
8353
  */
7325
8354
  "swipeGesture"?: boolean;
8355
+ /**
8356
+ * The theme determines the visual appearance of the component.
8357
+ */
8358
+ "theme"?: "ios" | "md" | "ionic";
7326
8359
  }
7327
8360
  interface IonNavLink {
7328
8361
  /**
@@ -7333,6 +8366,10 @@ declare namespace LocalJSX {
7333
8366
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
7334
8367
  */
7335
8368
  "componentProps"?: ComponentProps;
8369
+ /**
8370
+ * The mode determines the platform behaviors of the component.
8371
+ */
8372
+ "mode"?: "ios" | "md";
7336
8373
  /**
7337
8374
  * The transition animation when navigating to another page.
7338
8375
  */
@@ -7342,6 +8379,10 @@ declare namespace LocalJSX {
7342
8379
  * @default 'forward'
7343
8380
  */
7344
8381
  "routerDirection"?: RouterDirection;
8382
+ /**
8383
+ * The theme determines the visual appearance of the component.
8384
+ */
8385
+ "theme"?: "ios" | "md" | "ionic";
7345
8386
  }
7346
8387
  interface IonNote {
7347
8388
  /**
@@ -7349,15 +8390,23 @@ declare namespace LocalJSX {
7349
8390
  */
7350
8391
  "color"?: Color;
7351
8392
  /**
7352
- * The mode determines which platform styles to use.
8393
+ * The mode determines the platform behaviors of the component.
7353
8394
  */
7354
8395
  "mode"?: "ios" | "md";
8396
+ /**
8397
+ * The theme determines the visual appearance of the component.
8398
+ */
8399
+ "theme"?: "ios" | "md" | "ionic";
7355
8400
  }
7356
8401
  interface IonPicker {
7357
8402
  /**
7358
- * The mode determines which platform styles to use.
8403
+ * The mode determines the platform behaviors of the component.
7359
8404
  */
7360
8405
  "mode"?: "ios" | "md";
8406
+ /**
8407
+ * The theme determines the visual appearance of the component.
8408
+ */
8409
+ "theme"?: "ios" | "md" | "ionic";
7361
8410
  }
7362
8411
  interface IonPickerColumn {
7363
8412
  /**
@@ -7371,13 +8420,17 @@ declare namespace LocalJSX {
7371
8420
  */
7372
8421
  "disabled"?: boolean;
7373
8422
  /**
7374
- * The mode determines which platform styles to use.
8423
+ * The mode determines the platform behaviors of the component.
7375
8424
  */
7376
8425
  "mode"?: "ios" | "md";
7377
8426
  /**
7378
8427
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7379
8428
  */
7380
8429
  "onIonChange"?: (event: IonPickerColumnCustomEvent<PickerColumnChangeEventDetail>) => void;
8430
+ /**
8431
+ * The theme determines the visual appearance of the component.
8432
+ */
8433
+ "theme"?: "ios" | "md" | "ionic";
7381
8434
  /**
7382
8435
  * The selected option in the picker.
7383
8436
  */
@@ -7394,6 +8447,14 @@ declare namespace LocalJSX {
7394
8447
  * @default false
7395
8448
  */
7396
8449
  "disabled"?: boolean;
8450
+ /**
8451
+ * The mode determines the platform behaviors of the component.
8452
+ */
8453
+ "mode"?: "ios" | "md";
8454
+ /**
8455
+ * The theme determines the visual appearance of the component.
8456
+ */
8457
+ "theme"?: "ios" | "md" | "ionic";
7397
8458
  /**
7398
8459
  * The text value of the option.
7399
8460
  */
@@ -7452,7 +8513,7 @@ declare namespace LocalJSX {
7452
8513
  */
7453
8514
  "leaveAnimation"?: AnimationBuilder;
7454
8515
  /**
7455
- * The mode determines which platform styles to use.
8516
+ * The mode determines the platform behaviors of the component.
7456
8517
  */
7457
8518
  "mode"?: "ios" | "md";
7458
8519
  /**
@@ -7492,6 +8553,10 @@ declare namespace LocalJSX {
7492
8553
  * @default true
7493
8554
  */
7494
8555
  "showBackdrop"?: boolean;
8556
+ /**
8557
+ * The theme determines the visual appearance of the component.
8558
+ */
8559
+ "theme"?: "ios" | "md" | "ionic";
7495
8560
  /**
7496
8561
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
7497
8562
  */
@@ -7505,7 +8570,7 @@ declare namespace LocalJSX {
7505
8570
  }
7506
8571
  interface IonPopover {
7507
8572
  /**
7508
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
8573
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
7509
8574
  */
7510
8575
  "alignment"?: PositionAlign;
7511
8576
  /**
@@ -7514,7 +8579,7 @@ declare namespace LocalJSX {
7514
8579
  */
7515
8580
  "animated"?: boolean;
7516
8581
  /**
7517
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
8582
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
7518
8583
  * @default true
7519
8584
  */
7520
8585
  "arrow"?: boolean;
@@ -7573,7 +8638,7 @@ declare namespace LocalJSX {
7573
8638
  */
7574
8639
  "leaveAnimation"?: AnimationBuilder;
7575
8640
  /**
7576
- * The mode determines which platform styles to use.
8641
+ * The mode determines the platform behaviors of the component.
7577
8642
  */
7578
8643
  "mode"?: "ios" | "md";
7579
8644
  /**
@@ -7629,7 +8694,11 @@ declare namespace LocalJSX {
7629
8694
  */
7630
8695
  "size"?: PopoverSize;
7631
8696
  /**
7632
- * If `true`, the popover will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
8697
+ * The theme determines the visual appearance of the component.
8698
+ */
8699
+ "theme"?: "ios" | "md" | "ionic";
8700
+ /**
8701
+ * If `true`, the popover will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
7633
8702
  * @default false
7634
8703
  */
7635
8704
  "translucent"?: boolean;
@@ -7654,7 +8723,7 @@ declare namespace LocalJSX {
7654
8723
  */
7655
8724
  "color"?: Color;
7656
8725
  /**
7657
- * The mode determines which platform styles to use.
8726
+ * The mode determines the platform behaviors of the component.
7658
8727
  */
7659
8728
  "mode"?: "ios" | "md";
7660
8729
  /**
@@ -7662,6 +8731,14 @@ declare namespace LocalJSX {
7662
8731
  * @default false
7663
8732
  */
7664
8733
  "reversed"?: boolean;
8734
+ /**
8735
+ * Set to `"round"` for a progress bar with rounded corners, or `"rectangular"` for a progress bar without rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes.
8736
+ */
8737
+ "shape"?: 'round' | 'rectangular';
8738
+ /**
8739
+ * The theme determines the visual appearance of the component.
8740
+ */
8741
+ "theme"?: "ios" | "md" | "ionic";
7665
8742
  /**
7666
8743
  * The state of the progress bar, based on if the time the process takes is known or not. Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right).
7667
8744
  * @default 'determinate'
@@ -7697,7 +8774,7 @@ declare namespace LocalJSX {
7697
8774
  */
7698
8775
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
7699
8776
  /**
7700
- * The mode determines which platform styles to use.
8777
+ * The mode determines the platform behaviors of the component.
7701
8778
  */
7702
8779
  "mode"?: "ios" | "md";
7703
8780
  /**
@@ -7713,6 +8790,10 @@ declare namespace LocalJSX {
7713
8790
  * Emitted when the radio button has focus.
7714
8791
  */
7715
8792
  "onIonFocus"?: (event: IonRadioCustomEvent<void>) => void;
8793
+ /**
8794
+ * The theme determines the visual appearance of the component.
8795
+ */
8796
+ "theme"?: "ios" | "md" | "ionic";
7716
8797
  /**
7717
8798
  * the value of the radio.
7718
8799
  */
@@ -7736,6 +8817,10 @@ declare namespace LocalJSX {
7736
8817
  * The helper text to display at the top of the radio group.
7737
8818
  */
7738
8819
  "helperText"?: string;
8820
+ /**
8821
+ * The mode determines the platform behaviors of the component.
8822
+ */
8823
+ "mode"?: "ios" | "md";
7739
8824
  /**
7740
8825
  * The name of the control, which is submitted with the form data.
7741
8826
  * @default this.inputId
@@ -7745,6 +8830,10 @@ declare namespace LocalJSX {
7745
8830
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7746
8831
  */
7747
8832
  "onIonChange"?: (event: IonRadioGroupCustomEvent<RadioGroupChangeEventDetail>) => void;
8833
+ /**
8834
+ * The theme determines the visual appearance of the component.
8835
+ */
8836
+ "theme"?: "ios" | "md" | "ionic";
7748
8837
  /**
7749
8838
  * the value of the radio group.
7750
8839
  */
@@ -7793,7 +8882,7 @@ declare namespace LocalJSX {
7793
8882
  */
7794
8883
  "min"?: number;
7795
8884
  /**
7796
- * The mode determines which platform styles to use.
8885
+ * The mode determines the platform behaviors of the component.
7797
8886
  */
7798
8887
  "mode"?: "ios" | "md";
7799
8888
  /**
@@ -7845,6 +8934,10 @@ declare namespace LocalJSX {
7845
8934
  * @default 1
7846
8935
  */
7847
8936
  "step"?: number;
8937
+ /**
8938
+ * The theme determines the visual appearance of the component.
8939
+ */
8940
+ "theme"?: "ios" | "md" | "ionic";
7848
8941
  /**
7849
8942
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
7850
8943
  * @default true
@@ -7868,7 +8961,7 @@ declare namespace LocalJSX {
7868
8961
  */
7869
8962
  "disabled"?: boolean;
7870
8963
  /**
7871
- * The mode determines which platform styles to use.
8964
+ * The mode determines the platform behaviors of the component.
7872
8965
  */
7873
8966
  "mode"?: "ios" | "md";
7874
8967
  /**
@@ -7903,8 +8996,16 @@ declare namespace LocalJSX {
7903
8996
  * @default '280ms'
7904
8997
  */
7905
8998
  "snapbackDuration"?: string;
8999
+ /**
9000
+ * The theme determines the visual appearance of the component.
9001
+ */
9002
+ "theme"?: "ios" | "md" | "ionic";
7906
9003
  }
7907
9004
  interface IonRefresherContent {
9005
+ /**
9006
+ * The mode determines the platform behaviors of the component.
9007
+ */
9008
+ "mode"?: "ios" | "md";
7908
9009
  /**
7909
9010
  * A static icon or a spinner to display when you begin to pull down. A spinner name can be provided to gradually show tick marks when pulling down on iOS devices.
7910
9011
  */
@@ -7921,8 +9022,20 @@ declare namespace LocalJSX {
7921
9022
  * The text you want to display when performing a refresh. `refreshingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) Content is parsed as plaintext by default. `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config before custom HTML can be used.
7922
9023
  */
7923
9024
  "refreshingText"?: string | IonicSafeString;
9025
+ /**
9026
+ * The theme determines the visual appearance of the component.
9027
+ */
9028
+ "theme"?: "ios" | "md" | "ionic";
7924
9029
  }
7925
9030
  interface IonReorder {
9031
+ /**
9032
+ * The mode determines the platform behaviors of the component.
9033
+ */
9034
+ "mode"?: "ios" | "md";
9035
+ /**
9036
+ * The theme determines the visual appearance of the component.
9037
+ */
9038
+ "theme"?: "ios" | "md" | "ionic";
7926
9039
  }
7927
9040
  interface IonReorderGroup {
7928
9041
  /**
@@ -7930,6 +9043,10 @@ declare namespace LocalJSX {
7930
9043
  * @default true
7931
9044
  */
7932
9045
  "disabled"?: boolean;
9046
+ /**
9047
+ * The mode determines the platform behaviors of the component.
9048
+ */
9049
+ "mode"?: "ios" | "md";
7933
9050
  /**
7934
9051
  * Event that needs to be listened to in order to complete the reorder action.
7935
9052
  * @deprecated Use `ionReorderEnd` instead. If you are accessing `event.detail.from` or `event.detail.to` and relying on them being different you should now add checks as they are always emitted in `ionReorderEnd`, even when they are the same.
@@ -7947,8 +9064,20 @@ declare namespace LocalJSX {
7947
9064
  * Event that is emitted when the reorder gesture starts.
7948
9065
  */
7949
9066
  "onIonReorderStart"?: (event: IonReorderGroupCustomEvent<void>) => void;
9067
+ /**
9068
+ * The theme determines the visual appearance of the component.
9069
+ */
9070
+ "theme"?: "ios" | "md" | "ionic";
7950
9071
  }
7951
9072
  interface IonRippleEffect {
9073
+ /**
9074
+ * The mode determines the platform behaviors of the component.
9075
+ */
9076
+ "mode"?: "ios" | "md";
9077
+ /**
9078
+ * The theme determines the visual appearance of the component.
9079
+ */
9080
+ "theme"?: "ios" | "md" | "ionic";
7952
9081
  /**
7953
9082
  * Sets the type of ripple-effect: - `bounded`: the ripple effect expands from the user's click position - `unbounded`: the ripple effect expands from the center of the button and overflows the container. NOTE: Surfaces for bounded ripples should have the overflow property set to hidden, while surfaces for unbounded ripples should have it set to visible.
7954
9083
  * @default 'bounded'
@@ -7972,10 +9101,18 @@ declare namespace LocalJSX {
7972
9101
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
7973
9102
  */
7974
9103
  "componentProps"?: { [key: string]: any };
9104
+ /**
9105
+ * The mode determines the platform behaviors of the component.
9106
+ */
9107
+ "mode"?: "ios" | "md";
7975
9108
  /**
7976
9109
  * Used internally by `ion-router` to know when this route did change.
7977
9110
  */
7978
9111
  "onIonRouteDataChanged"?: (event: IonRouteCustomEvent<any>) => void;
9112
+ /**
9113
+ * The theme determines the visual appearance of the component.
9114
+ */
9115
+ "theme"?: "ios" | "md" | "ionic";
7979
9116
  /**
7980
9117
  * Relative path that needs to match in order for this route to apply. Accepts paths similar to expressjs so that you can define parameters in the url /foo/:bar where bar would be available in incoming props.
7981
9118
  * @default ''
@@ -7997,6 +9134,10 @@ declare namespace LocalJSX {
7997
9134
  "to": string | undefined | null;
7998
9135
  }
7999
9136
  interface IonRouter {
9137
+ /**
9138
+ * The mode determines the platform behaviors of the component.
9139
+ */
9140
+ "mode"?: "ios" | "md";
8000
9141
  /**
8001
9142
  * Emitted when the route had changed
8002
9143
  */
@@ -8010,6 +9151,10 @@ declare namespace LocalJSX {
8010
9151
  * @default '/'
8011
9152
  */
8012
9153
  "root"?: string;
9154
+ /**
9155
+ * The theme determines the visual appearance of the component.
9156
+ */
9157
+ "theme"?: "ios" | "md" | "ionic";
8013
9158
  /**
8014
9159
  * The router can work in two "modes": - With hash: `/index.html#/path/to/page` - Without hash: `/path/to/page` Using one or another might depend in the requirements of your app and/or where it's deployed. Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might requires additional server-side configuration in order to properly work. On the other side hash-navigation is much easier to deploy, it even works over the file protocol. By default, this property is `true`, change to `false` to allow hash-less URLs.
8015
9160
  * @default true
@@ -8025,6 +9170,10 @@ declare namespace LocalJSX {
8025
9170
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
8026
9171
  */
8027
9172
  "href"?: string | undefined;
9173
+ /**
9174
+ * The mode determines the platform behaviors of the component.
9175
+ */
9176
+ "mode"?: "ios" | "md";
8028
9177
  /**
8029
9178
  * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
8030
9179
  */
@@ -8042,6 +9191,10 @@ declare namespace LocalJSX {
8042
9191
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8043
9192
  */
8044
9193
  "target"?: string | undefined;
9194
+ /**
9195
+ * The theme determines the visual appearance of the component.
9196
+ */
9197
+ "theme"?: "ios" | "md" | "ionic";
8045
9198
  }
8046
9199
  interface IonRouterOutlet {
8047
9200
  /**
@@ -8054,12 +9207,24 @@ declare namespace LocalJSX {
8054
9207
  */
8055
9208
  "animation"?: AnimationBuilder;
8056
9209
  /**
8057
- * The mode determines which platform styles to use.
9210
+ * The mode determines the platform behaviors of the component.
8058
9211
  * @default getIonMode(this)
8059
9212
  */
8060
9213
  "mode"?: "ios" | "md";
9214
+ /**
9215
+ * The theme determines the visual appearance of the component.
9216
+ */
9217
+ "theme"?: "ios" | "md" | "ionic";
8061
9218
  }
8062
9219
  interface IonRow {
9220
+ /**
9221
+ * The mode determines the platform behaviors of the component.
9222
+ */
9223
+ "mode"?: "ios" | "md";
9224
+ /**
9225
+ * The theme determines the visual appearance of the component.
9226
+ */
9227
+ "theme"?: "ios" | "md" | "ionic";
8063
9228
  }
8064
9229
  interface IonSearchbar {
8065
9230
  /**
@@ -8083,17 +9248,16 @@ declare namespace LocalJSX {
8083
9248
  */
8084
9249
  "autocorrect"?: 'on' | 'off';
8085
9250
  /**
8086
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
8087
- * @default config.get('backButtonIcon', arrowBackSharp) as string
9251
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
8088
9252
  */
8089
9253
  "cancelButtonIcon"?: string;
8090
9254
  /**
8091
- * Set the cancel button text. Only applies to `ios` mode.
9255
+ * Set the cancel button text. Only available when the theme is `"ios"`.
8092
9256
  * @default 'Cancel'
8093
9257
  */
8094
9258
  "cancelButtonText"?: string;
8095
9259
  /**
8096
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
9260
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
8097
9261
  */
8098
9262
  "clearIcon"?: string;
8099
9263
  /**
@@ -8126,7 +9290,7 @@ declare namespace LocalJSX {
8126
9290
  */
8127
9291
  "minlength"?: number;
8128
9292
  /**
8129
- * The mode determines which platform styles to use.
9293
+ * The mode determines the platform behaviors of the component.
8130
9294
  */
8131
9295
  "mode"?: "ios" | "md";
8132
9296
  /**
@@ -8164,9 +9328,13 @@ declare namespace LocalJSX {
8164
9328
  */
8165
9329
  "placeholder"?: string;
8166
9330
  /**
8167
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
9331
+ * The icon to use as the search icon. Defaults to `"search-outline"` in the `"ios"` theme and `"search-sharp"` in the `"md"` and `"ionic"` themes. If `false`, no search icon will be displayed.
9332
+ */
9333
+ "searchIcon"?: string | boolean;
9334
+ /**
9335
+ * Set to `"soft"` for a searchbar with slightly rounded corners, `"round"` for a searchbar with fully rounded corners, or `"rectangular"` for a searchbar without rounded corners. Defaults to `"round"` for the ionic theme, and `undefined` for all other themes.
8168
9336
  */
8169
- "searchIcon"?: string;
9337
+ "shape"?: 'soft' | 'round' | 'rectangular';
8170
9338
  /**
8171
9339
  * Sets the behavior for the cancel button. Defaults to `"never"`. Setting to `"focus"` shows the cancel button on focus. Setting to `"never"` hides the cancel button. Setting to `"always"` shows the cancel button regardless of focus state.
8172
9340
  * @default 'never'
@@ -8177,11 +9345,19 @@ declare namespace LocalJSX {
8177
9345
  * @default 'always'
8178
9346
  */
8179
9347
  "showClearButton"?: 'never' | 'focus' | 'always';
9348
+ /**
9349
+ * Set to `"large"` for a searchbar with an increase in height, while "small" and "medium" provide progressively smaller heights. Defaults to `"medium"` for the ionic theme, and `undefined` for all other themes.
9350
+ */
9351
+ "size"?: 'small' | 'medium' | 'large';
8180
9352
  /**
8181
9353
  * If `true`, enable spellcheck on the input.
8182
9354
  * @default false
8183
9355
  */
8184
9356
  "spellcheck"?: boolean;
9357
+ /**
9358
+ * The theme determines the visual appearance of the component.
9359
+ */
9360
+ "theme"?: "ios" | "md" | "ionic";
8185
9361
  /**
8186
9362
  * Set the type of the input.
8187
9363
  * @default 'search'
@@ -8204,7 +9380,7 @@ declare namespace LocalJSX {
8204
9380
  */
8205
9381
  "disabled"?: boolean;
8206
9382
  /**
8207
- * The mode determines which platform styles to use.
9383
+ * The mode determines the platform behaviors of the component.
8208
9384
  */
8209
9385
  "mode"?: "ios" | "md";
8210
9386
  /**
@@ -8226,6 +9402,10 @@ declare namespace LocalJSX {
8226
9402
  * @default true
8227
9403
  */
8228
9404
  "swipeGesture"?: boolean;
9405
+ /**
9406
+ * The theme determines the visual appearance of the component.
9407
+ */
9408
+ "theme"?: "ios" | "md" | "ionic";
8229
9409
  /**
8230
9410
  * the value of the segment.
8231
9411
  */
@@ -8247,9 +9427,13 @@ declare namespace LocalJSX {
8247
9427
  */
8248
9428
  "layout"?: SegmentButtonLayout;
8249
9429
  /**
8250
- * The mode determines which platform styles to use.
9430
+ * The mode determines the platform behaviors of the component.
8251
9431
  */
8252
9432
  "mode"?: "ios" | "md";
9433
+ /**
9434
+ * The theme determines the visual appearance of the component.
9435
+ */
9436
+ "theme"?: "ios" | "md" | "ionic";
8253
9437
  /**
8254
9438
  * The type of the button.
8255
9439
  * @default 'button'
@@ -8298,11 +9482,11 @@ declare namespace LocalJSX {
8298
9482
  */
8299
9483
  "errorText"?: string;
8300
9484
  /**
8301
- * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `md` mode will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed.
9485
+ * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `"md"` theme will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed.
8302
9486
  */
8303
9487
  "expandedIcon"?: string;
8304
9488
  /**
8305
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
9489
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in the `"md"` theme.
8306
9490
  */
8307
9491
  "fill"?: 'outline' | 'solid';
8308
9492
  /**
@@ -8333,7 +9517,7 @@ declare namespace LocalJSX {
8333
9517
  */
8334
9518
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
8335
9519
  /**
8336
- * The mode determines which platform styles to use.
9520
+ * The mode determines the platform behaviors of the component.
8337
9521
  */
8338
9522
  "mode"?: "ios" | "md";
8339
9523
  /**
@@ -8385,11 +9569,19 @@ declare namespace LocalJSX {
8385
9569
  */
8386
9570
  "selectedText"?: string | null;
8387
9571
  /**
8388
- * The shape of the select. If "round" it will have an increased border radius.
9572
+ * 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.
9573
+ */
9574
+ "shape"?: 'soft' | 'round' | 'rectangular';
9575
+ /**
9576
+ * 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.
9577
+ */
9578
+ "size"?: 'small' | 'medium' | 'large';
9579
+ /**
9580
+ * The theme determines the visual appearance of the component.
8389
9581
  */
8390
- "shape"?: 'round';
9582
+ "theme"?: "ios" | "md" | "ionic";
8391
9583
  /**
8392
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
9584
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
8393
9585
  */
8394
9586
  "toggleIcon"?: string;
8395
9587
  /**
@@ -8411,6 +9603,14 @@ declare namespace LocalJSX {
8411
9603
  * @default false
8412
9604
  */
8413
9605
  "disabled"?: boolean;
9606
+ /**
9607
+ * The mode determines the platform behaviors of the component.
9608
+ */
9609
+ "mode"?: "ios" | "md";
9610
+ /**
9611
+ * The theme determines the visual appearance of the component.
9612
+ */
9613
+ "theme"?: "ios" | "md" | "ionic";
8414
9614
  /**
8415
9615
  * The text value of the option.
8416
9616
  */
@@ -8425,6 +9625,10 @@ declare namespace LocalJSX {
8425
9625
  * The text content of the popover body
8426
9626
  */
8427
9627
  "message"?: string;
9628
+ /**
9629
+ * The mode determines the platform behaviors of the component.
9630
+ */
9631
+ "mode"?: "ios" | "md";
8428
9632
  /**
8429
9633
  * If true, the select accepts multiple values
8430
9634
  */
@@ -8438,6 +9642,10 @@ declare namespace LocalJSX {
8438
9642
  * The subheader text of the popover
8439
9643
  */
8440
9644
  "subHeader"?: string;
9645
+ /**
9646
+ * The theme determines the visual appearance of the component.
9647
+ */
9648
+ "theme"?: "ios" | "md" | "ionic";
8441
9649
  }
8442
9650
  interface IonSkeletonText {
8443
9651
  /**
@@ -8445,6 +9653,14 @@ declare namespace LocalJSX {
8445
9653
  * @default false
8446
9654
  */
8447
9655
  "animated"?: boolean;
9656
+ /**
9657
+ * The mode determines the platform behaviors of the component.
9658
+ */
9659
+ "mode"?: "ios" | "md";
9660
+ /**
9661
+ * The theme determines the visual appearance of the component.
9662
+ */
9663
+ "theme"?: "ios" | "md" | "ionic";
8448
9664
  }
8449
9665
  interface IonSpinner {
8450
9666
  /**
@@ -8455,6 +9671,10 @@ declare namespace LocalJSX {
8455
9671
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
8456
9672
  */
8457
9673
  "duration"?: number;
9674
+ /**
9675
+ * The mode determines the platform behaviors of the component.
9676
+ */
9677
+ "mode"?: "ios" | "md";
8458
9678
  /**
8459
9679
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
8460
9680
  */
@@ -8464,6 +9684,14 @@ declare namespace LocalJSX {
8464
9684
  * @default false
8465
9685
  */
8466
9686
  "paused"?: boolean;
9687
+ /**
9688
+ * 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.
9689
+ */
9690
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
9691
+ /**
9692
+ * The theme determines the visual appearance of the component.
9693
+ */
9694
+ "theme"?: "ios" | "md" | "ionic";
8467
9695
  }
8468
9696
  interface IonSplitPane {
8469
9697
  /**
@@ -8475,10 +9703,18 @@ declare namespace LocalJSX {
8475
9703
  * @default false
8476
9704
  */
8477
9705
  "disabled"?: boolean;
9706
+ /**
9707
+ * The mode determines the platform behaviors of the component.
9708
+ */
9709
+ "mode"?: "ios" | "md";
8478
9710
  /**
8479
9711
  * Expression to be called when the split-pane visibility has changed
8480
9712
  */
8481
9713
  "onIonSplitPaneVisible"?: (event: IonSplitPaneCustomEvent<{ visible: boolean }>) => void;
9714
+ /**
9715
+ * The theme determines the visual appearance of the component.
9716
+ */
9717
+ "theme"?: "ios" | "md" | "ionic";
8482
9718
  /**
8483
9719
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
8484
9720
  * @default QUERY['lg']
@@ -8490,10 +9726,18 @@ declare namespace LocalJSX {
8490
9726
  * The component to display inside of the tab.
8491
9727
  */
8492
9728
  "component"?: ComponentRef;
9729
+ /**
9730
+ * The mode determines the platform behaviors of the component.
9731
+ */
9732
+ "mode"?: "ios" | "md";
8493
9733
  /**
8494
9734
  * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
8495
9735
  */
8496
9736
  "tab": string;
9737
+ /**
9738
+ * The theme determines the visual appearance of the component.
9739
+ */
9740
+ "theme"?: "ios" | "md" | "ionic";
8497
9741
  }
8498
9742
  interface IonTabBar {
8499
9743
  /**
@@ -8501,7 +9745,12 @@ declare namespace LocalJSX {
8501
9745
  */
8502
9746
  "color"?: Color;
8503
9747
  /**
8504
- * The mode determines which platform styles to use.
9748
+ * 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"`.
9749
+ * @default 'full'
9750
+ */
9751
+ "expand"?: 'compact' | 'full';
9752
+ /**
9753
+ * The mode determines the platform behaviors of the component.
8505
9754
  */
8506
9755
  "mode"?: "ios" | "md";
8507
9756
  /**
@@ -8509,7 +9758,15 @@ declare namespace LocalJSX {
8509
9758
  */
8510
9759
  "selectedTab"?: string;
8511
9760
  /**
8512
- * If `true`, the tab bar will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
9761
+ * 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.
9762
+ */
9763
+ "shape"?: 'soft' | 'round' | 'rectangular';
9764
+ /**
9765
+ * The theme determines the visual appearance of the component.
9766
+ */
9767
+ "theme"?: "ios" | "md" | "ionic";
9768
+ /**
9769
+ * If `true`, the tab bar will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
8513
9770
  * @default false
8514
9771
  */
8515
9772
  "translucent"?: boolean;
@@ -8533,7 +9790,7 @@ declare namespace LocalJSX {
8533
9790
  */
8534
9791
  "layout"?: TabButtonLayout;
8535
9792
  /**
8536
- * The mode determines which platform styles to use.
9793
+ * The mode determines the platform behaviors of the component.
8537
9794
  */
8538
9795
  "mode"?: "ios" | "md";
8539
9796
  /**
@@ -8545,6 +9802,10 @@ declare namespace LocalJSX {
8545
9802
  * @default false
8546
9803
  */
8547
9804
  "selected"?: boolean;
9805
+ /**
9806
+ * 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.
9807
+ */
9808
+ "shape"?: 'soft' | 'round' | 'rectangular';
8548
9809
  /**
8549
9810
  * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
8550
9811
  */
@@ -8553,8 +9814,16 @@ declare namespace LocalJSX {
8553
9814
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8554
9815
  */
8555
9816
  "target"?: string | undefined;
9817
+ /**
9818
+ * The theme determines the visual appearance of the component.
9819
+ */
9820
+ "theme"?: "ios" | "md" | "ionic";
8556
9821
  }
8557
9822
  interface IonTabs {
9823
+ /**
9824
+ * The mode determines the platform behaviors of the component.
9825
+ */
9826
+ "mode"?: "ios" | "md";
8558
9827
  /**
8559
9828
  * Emitted when the navigation has finished transitioning to a new component.
8560
9829
  */
@@ -8563,6 +9832,10 @@ declare namespace LocalJSX {
8563
9832
  * Emitted when the navigation is about to transition to a new component.
8564
9833
  */
8565
9834
  "onIonTabsWillChange"?: (event: IonTabsCustomEvent<{ tab: string }>) => void;
9835
+ /**
9836
+ * The theme determines the visual appearance of the component.
9837
+ */
9838
+ "theme"?: "ios" | "md" | "ionic";
8566
9839
  }
8567
9840
  interface IonText {
8568
9841
  /**
@@ -8570,9 +9843,13 @@ declare namespace LocalJSX {
8570
9843
  */
8571
9844
  "color"?: Color;
8572
9845
  /**
8573
- * The mode determines which platform styles to use.
9846
+ * The mode determines the platform behaviors of the component.
8574
9847
  */
8575
9848
  "mode"?: "ios" | "md";
9849
+ /**
9850
+ * The theme determines the visual appearance of the component.
9851
+ */
9852
+ "theme"?: "ios" | "md" | "ionic";
8576
9853
  }
8577
9854
  interface IonTextarea {
8578
9855
  /**
@@ -8630,7 +9907,7 @@ declare namespace LocalJSX {
8630
9907
  */
8631
9908
  "errorText"?: string;
8632
9909
  /**
8633
- * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode.
9910
+ * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available when the theme is `"md"`.
8634
9911
  */
8635
9912
  "fill"?: 'outline' | 'solid';
8636
9913
  /**
@@ -8659,7 +9936,7 @@ declare namespace LocalJSX {
8659
9936
  */
8660
9937
  "minlength"?: number;
8661
9938
  /**
8662
- * The mode determines which platform styles to use.
9939
+ * The mode determines the platform behaviors of the component.
8663
9940
  */
8664
9941
  "mode"?: "ios" | "md";
8665
9942
  /**
@@ -8702,14 +9979,23 @@ declare namespace LocalJSX {
8702
9979
  */
8703
9980
  "rows"?: number;
8704
9981
  /**
8705
- * The shape of the textarea. If "round" it will have an increased border radius.
9982
+ * 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.
9983
+ */
9984
+ "shape"?: 'soft' | 'round' | 'rectangular';
9985
+ /**
9986
+ * 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.
9987
+ * @default 'medium'
8706
9988
  */
8707
- "shape"?: 'round';
9989
+ "size"?: 'small' | 'medium' | 'large';
8708
9990
  /**
8709
9991
  * If `true`, the element will have its spelling and grammar checked.
8710
9992
  * @default false
8711
9993
  */
8712
9994
  "spellcheck"?: boolean;
9995
+ /**
9996
+ * The theme determines the visual appearance of the component.
9997
+ */
9998
+ "theme"?: "ios" | "md" | "ionic";
8713
9999
  /**
8714
10000
  * The value of the textarea.
8715
10001
  * @default ''
@@ -8721,16 +10007,32 @@ declare namespace LocalJSX {
8721
10007
  "wrap"?: 'hard' | 'soft' | 'off';
8722
10008
  }
8723
10009
  interface IonThumbnail {
10010
+ /**
10011
+ * The mode determines the platform behaviors of the component.
10012
+ */
10013
+ "mode"?: "ios" | "md";
10014
+ /**
10015
+ * The theme determines the visual appearance of the component.
10016
+ */
10017
+ "theme"?: "ios" | "md" | "ionic";
8724
10018
  }
8725
10019
  interface IonTitle {
8726
10020
  /**
8727
10021
  * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
8728
10022
  */
8729
10023
  "color"?: Color;
10024
+ /**
10025
+ * The mode determines the platform behaviors of the component.
10026
+ */
10027
+ "mode"?: "ios" | "md";
8730
10028
  /**
8731
10029
  * The size of the toolbar title.
8732
10030
  */
8733
10031
  "size"?: 'large' | 'small';
10032
+ /**
10033
+ * The theme determines the visual appearance of the component.
10034
+ */
10035
+ "theme"?: "ios" | "md" | "ionic";
8734
10036
  }
8735
10037
  interface IonToast {
8736
10038
  /**
@@ -8767,6 +10069,11 @@ declare namespace LocalJSX {
8767
10069
  * Additional attributes to pass to the toast.
8768
10070
  */
8769
10071
  "htmlAttributes"?: { [key: string]: any };
10072
+ /**
10073
+ * Set to `"bold"` for a toast with vibrant, bold colors or to `"subtle"` for a toast with muted, subtle colors. Only applies to the `ionic` theme.
10074
+ * @default 'subtle'
10075
+ */
10076
+ "hue"?: 'bold' | 'subtle';
8770
10077
  /**
8771
10078
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
8772
10079
  */
@@ -8795,7 +10102,7 @@ declare namespace LocalJSX {
8795
10102
  */
8796
10103
  "message"?: string | IonicSafeString;
8797
10104
  /**
8798
- * The mode determines which platform styles to use.
10105
+ * The mode determines the platform behaviors of the component.
8799
10106
  */
8800
10107
  "mode"?: "ios" | "md";
8801
10108
  /**
@@ -8839,12 +10146,20 @@ declare namespace LocalJSX {
8839
10146
  * The element to anchor the toast's position to. Can be set as a direct reference or the ID of the element. With `position="bottom"`, the toast will sit above the chosen element. With `position="top"`, the toast will sit below the chosen element. With `position="middle"`, the value of `positionAnchor` is ignored.
8840
10147
  */
8841
10148
  "positionAnchor"?: HTMLElement | string;
10149
+ /**
10150
+ * 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.
10151
+ */
10152
+ "shape"?: 'soft' | 'round' | 'rectangular';
8842
10153
  /**
8843
10154
  * If set to 'vertical', the Toast can be dismissed with a swipe gesture. The swipe direction is determined by the value of the `position` property: `top`: The Toast can be swiped up to dismiss. `bottom`: The Toast can be swiped down to dismiss. `middle`: The Toast can be swiped up or down to dismiss.
8844
10155
  */
8845
10156
  "swipeGesture"?: ToastSwipeGestureDirection;
8846
10157
  /**
8847
- * If `true`, the toast will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
10158
+ * The theme determines the visual appearance of the component.
10159
+ */
10160
+ "theme"?: "ios" | "md" | "ionic";
10161
+ /**
10162
+ * If `true`, the toast will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
8848
10163
  * @default false
8849
10164
  */
8850
10165
  "translucent"?: boolean;
@@ -8895,7 +10210,7 @@ declare namespace LocalJSX {
8895
10210
  */
8896
10211
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
8897
10212
  /**
8898
- * The mode determines which platform styles to use.
10213
+ * The mode determines the platform behaviors of the component.
8899
10214
  */
8900
10215
  "mode"?: "ios" | "md";
8901
10216
  /**
@@ -8920,6 +10235,10 @@ declare namespace LocalJSX {
8920
10235
  * @default false
8921
10236
  */
8922
10237
  "required"?: boolean;
10238
+ /**
10239
+ * The theme determines the visual appearance of the component.
10240
+ */
10241
+ "theme"?: "ios" | "md" | "ionic";
8923
10242
  /**
8924
10243
  * The value of the toggle does not mean if it's checked or not, use the `checked` property for that. The value of a toggle is analogous to the value of a `<input type="checkbox">`, it's only used when the toggle participates in a native `<form>`.
8925
10244
  * @default 'on'
@@ -8932,9 +10251,13 @@ declare namespace LocalJSX {
8932
10251
  */
8933
10252
  "color"?: Color;
8934
10253
  /**
8935
- * The mode determines which platform styles to use.
10254
+ * The mode determines the platform behaviors of the component.
8936
10255
  */
8937
10256
  "mode"?: "ios" | "md";
10257
+ /**
10258
+ * The theme determines the visual appearance of the component.
10259
+ */
10260
+ "theme"?: "ios" | "md" | "ionic";
8938
10261
  }
8939
10262
  interface IntrinsicElements {
8940
10263
  "ion-accordion": IonAccordion;
@@ -8961,6 +10284,7 @@ declare namespace LocalJSX {
8961
10284
  "ion-content": IonContent;
8962
10285
  "ion-datetime": IonDatetime;
8963
10286
  "ion-datetime-button": IonDatetimeButton;
10287
+ "ion-divider": IonDivider;
8964
10288
  "ion-fab": IonFab;
8965
10289
  "ion-fab-button": IonFabButton;
8966
10290
  "ion-fab-list": IonFabList;
@@ -9064,6 +10388,7 @@ declare module "@stencil/core" {
9064
10388
  "ion-content": LocalJSX.IonContent & JSXBase.HTMLAttributes<HTMLIonContentElement>;
9065
10389
  "ion-datetime": LocalJSX.IonDatetime & JSXBase.HTMLAttributes<HTMLIonDatetimeElement>;
9066
10390
  "ion-datetime-button": LocalJSX.IonDatetimeButton & JSXBase.HTMLAttributes<HTMLIonDatetimeButtonElement>;
10391
+ "ion-divider": LocalJSX.IonDivider & JSXBase.HTMLAttributes<HTMLIonDividerElement>;
9067
10392
  "ion-fab": LocalJSX.IonFab & JSXBase.HTMLAttributes<HTMLIonFabElement>;
9068
10393
  "ion-fab-button": LocalJSX.IonFabButton & JSXBase.HTMLAttributes<HTMLIonFabButtonElement>;
9069
10394
  "ion-fab-list": LocalJSX.IonFabList & JSXBase.HTMLAttributes<HTMLIonFabListElement>;