@ionic/core 8.8.15 → 8.8.16-dev.11784840230.17f5a1f4

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 (1120) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-divider.d.ts +11 -0
  27. package/components/ion-divider.js +4 -0
  28. package/components/ion-fab-button.js +1 -1
  29. package/components/ion-fab-list.js +1 -1
  30. package/components/ion-fab.js +1 -1
  31. package/components/ion-footer.js +1 -1
  32. package/components/ion-gallery-item.d.ts +11 -0
  33. package/components/ion-gallery-item.js +4 -0
  34. package/components/ion-gallery.d.ts +11 -0
  35. package/components/ion-gallery.js +4 -0
  36. package/components/ion-grid.js +1 -1
  37. package/components/ion-header.js +1 -1
  38. package/components/ion-icon.js +1 -1
  39. package/components/ion-img.js +1 -1
  40. package/components/ion-infinite-scroll-content.js +1 -1
  41. package/components/ion-infinite-scroll.js +1 -1
  42. package/components/ion-input-otp.js +1 -1
  43. package/components/ion-input-password-toggle.js +1 -1
  44. package/components/ion-input.js +1 -1
  45. package/components/ion-item-divider.js +1 -1
  46. package/components/ion-item-group.js +1 -1
  47. package/components/ion-item-option.js +1 -1
  48. package/components/ion-item-options.js +1 -1
  49. package/components/ion-item-sliding.js +1 -1
  50. package/components/ion-item.js +1 -1
  51. package/components/ion-label.js +1 -1
  52. package/components/ion-list-header.js +1 -1
  53. package/components/ion-list.js +1 -1
  54. package/components/ion-loading.js +1 -1
  55. package/components/ion-menu-button.js +1 -1
  56. package/components/ion-menu-toggle.js +1 -1
  57. package/components/ion-menu.js +1 -1
  58. package/components/ion-modal.js +1 -1
  59. package/components/ion-nav-link.js +1 -1
  60. package/components/ion-nav.js +1 -1
  61. package/components/ion-note.js +1 -1
  62. package/components/ion-picker-column-option.js +1 -1
  63. package/components/ion-picker-column.js +1 -1
  64. package/components/ion-picker-legacy-column.js +1 -1
  65. package/components/ion-picker-legacy.js +1 -1
  66. package/components/ion-picker.js +1 -1
  67. package/components/ion-popover.js +1 -1
  68. package/components/ion-progress-bar.js +1 -1
  69. package/components/ion-radio-group.js +1 -1
  70. package/components/ion-radio.js +1 -1
  71. package/components/ion-range.js +1 -1
  72. package/components/ion-refresher-content.js +1 -1
  73. package/components/ion-refresher.js +1 -1
  74. package/components/ion-reorder-group.js +1 -1
  75. package/components/ion-reorder.js +1 -1
  76. package/components/ion-ripple-effect.js +1 -1
  77. package/components/ion-route-redirect.js +1 -1
  78. package/components/ion-route.js +1 -1
  79. package/components/ion-router-link.js +1 -1
  80. package/components/ion-router-outlet.js +1 -1
  81. package/components/ion-router.js +1 -1
  82. package/components/ion-row.js +1 -1
  83. package/components/ion-searchbar.js +1 -1
  84. package/components/ion-segment-button.js +1 -1
  85. package/components/ion-segment-content.js +1 -1
  86. package/components/ion-segment-view.js +1 -1
  87. package/components/ion-segment.js +1 -1
  88. package/components/ion-select-modal.js +1 -1
  89. package/components/ion-select-option.js +1 -1
  90. package/components/ion-select-popover.js +1 -1
  91. package/components/ion-select.js +1 -1
  92. package/components/ion-skeleton-text.js +1 -1
  93. package/components/ion-spinner.js +1 -1
  94. package/components/ion-split-pane.js +1 -1
  95. package/components/ion-tab-bar.js +1 -1
  96. package/components/ion-tab-button.js +1 -1
  97. package/components/ion-tab.js +1 -1
  98. package/components/ion-tabs.js +1 -1
  99. package/components/ion-text.js +1 -1
  100. package/components/ion-textarea.js +1 -1
  101. package/components/ion-thumbnail.js +1 -1
  102. package/components/ion-title.js +1 -1
  103. package/components/ion-toast.js +1 -1
  104. package/components/ion-toggle.js +1 -1
  105. package/components/ion-toolbar.js +1 -1
  106. package/components/p-0RwSa3tV.js +4 -0
  107. package/components/p-B8KYxaMx.js +4 -0
  108. package/components/p-BDqjX7Z_.js +4 -0
  109. package/components/{p-Cf2jSDS8.js → p-BE21dB_a.js} +1 -1
  110. package/components/p-BI03N_8J.js +4 -0
  111. package/components/p-BISCDmUD.js +4 -0
  112. package/components/{p-C4t5ymfq.js → p-BKSylJVh.js} +1 -1
  113. package/components/p-BLlJA2Q9.js +4 -0
  114. package/components/p-BYSs-jZz.js +4 -0
  115. package/components/p-BYZR_5L4.js +4 -0
  116. package/components/{p-DqLB8yFQ.js → p-BZwQa9ey.js} +1 -1
  117. package/components/p-BiG3Zevl.js +4 -0
  118. package/components/p-BjW8SOqw.js +4 -0
  119. package/components/p-BoWc8hp0.js +4 -0
  120. package/components/p-BqRIq3ti.js +4 -0
  121. package/components/p-BskJOMNV.js +4 -0
  122. package/components/p-BwKpO3Is.js +4 -0
  123. package/components/p-C4q_m_U_.js +4 -0
  124. package/components/p-C9QYu-sR.js +4 -0
  125. package/components/p-CEbQglhY.js +4 -0
  126. package/components/p-CGwI_XL6.js +4 -0
  127. package/components/p-CIdlZzoM.js +4 -0
  128. package/components/p-CJCMdFb9.js +4 -0
  129. package/components/p-CMjVajuI.js +4 -0
  130. package/components/p-CODBQrPj.js +4 -0
  131. package/components/p-CVYFPBs-.js +4 -0
  132. package/components/p-CWq1hA4y.js +4 -0
  133. package/components/p-CeL9Glto.js +4 -0
  134. package/components/p-Ck_9SoHZ.js +4 -0
  135. package/components/p-Cl94E1nn.js +4 -0
  136. package/components/p-CmnPD02Z.js +4 -0
  137. package/components/p-Cog60JgJ.js +4 -0
  138. package/components/p-CyGaZ-Qb.js +4 -0
  139. package/components/p-CzFNvOq3.js +4 -0
  140. package/components/p-Czw29-II.js +4 -0
  141. package/components/p-D0Iqw6OZ.js +4 -0
  142. package/components/p-D1t981Ih.js +4 -0
  143. package/components/p-D4UIY4kz.js +4 -0
  144. package/components/p-D6un2jDV.js +4 -0
  145. package/components/p-D9583Eo8.js +4 -0
  146. package/components/p-DABI8XVx.js +4 -0
  147. package/components/p-DEZQwbtZ.js +4 -0
  148. package/components/p-DEnOtJ3m.js +4 -0
  149. package/components/p-DFSqPtzD.js +4 -0
  150. package/components/p-DJw3WM2A.js +4 -0
  151. package/{dist/ionic/p-D13Eaw-8.js → components/p-DP96lPOT.js} +1 -1
  152. package/components/p-DS1w_1X1.js +4 -0
  153. package/components/p-DaJxRxSQ.js +4 -0
  154. package/components/p-Daj5LWIm.js +4 -0
  155. package/components/p-Dg8OSVcP.js +4 -0
  156. package/components/p-Dhi5xtNS.js +4 -0
  157. package/components/p-DiKh2eQw.js +4 -0
  158. package/{dist/ionic/p-VAemlbDS.js → components/p-DmVUl5t4.js} +1 -1
  159. package/components/p-Dn77l_LX.js +4 -0
  160. package/components/{p-D5Ubpm7D.js → p-Dqgyr3aJ.js} +1 -1
  161. package/components/p-DylrHLJF.js +4 -0
  162. package/components/{p-cyNmxje6.js → p-Fagxa-Vi.js} +1 -1
  163. package/components/p-I0lsm6wZ.js +4 -0
  164. package/components/p-J03hHbbL.js +4 -0
  165. package/components/p-NPsFR8Ng.js +4 -0
  166. package/components/p-TaMIMwf5.js +4 -0
  167. package/components/p-U2gyA6Z0.js +4 -0
  168. package/components/p-ZWbVyMi6.js +4 -0
  169. package/components/p-_rgGxkzx.js +4 -0
  170. package/components/p-fIOYmaqA.js +4 -0
  171. package/components/p-vXpMhGrs.js +4 -0
  172. package/css/core.css +1 -1
  173. package/css/core.css.map +1 -1
  174. package/css/display.css +1 -1
  175. package/css/display.css.map +1 -1
  176. package/css/flex-utils.css +1 -1
  177. package/css/flex-utils.css.map +1 -1
  178. package/css/float-elements.css.map +1 -1
  179. package/css/global.bundle.css.map +1 -1
  180. package/css/ionic/bundle.ionic.css +1 -0
  181. package/css/ionic/bundle.ionic.css.map +1 -0
  182. package/css/ionic/core.ionic.css +1 -0
  183. package/css/ionic/core.ionic.css.map +1 -0
  184. package/css/ionic/global.bundle.ionic.css +1 -0
  185. package/css/ionic/global.bundle.ionic.css.map +1 -0
  186. package/css/ionic/ionic-swiper.ionic.css +1 -0
  187. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  188. package/css/ionic/link.ionic.css +1 -0
  189. package/css/ionic/link.ionic.css.map +1 -0
  190. package/css/ionic/structure.ionic.css +1 -0
  191. package/css/ionic/structure.ionic.css.map +1 -0
  192. package/css/ionic/typography.ionic.css +1 -0
  193. package/css/ionic/typography.ionic.css.map +1 -0
  194. package/css/ionic/utils.bundle.ionic.css +1 -0
  195. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  196. package/css/ionic-swiper.css +1 -1
  197. package/css/ionic-swiper.css.map +1 -1
  198. package/css/ionic.bundle.css +1 -1
  199. package/css/ionic.bundle.css.map +1 -1
  200. package/css/normalize.css.map +1 -1
  201. package/css/padding.css.map +1 -1
  202. package/css/palettes/dark.always.css.map +1 -1
  203. package/css/palettes/dark.class.css.map +1 -1
  204. package/css/palettes/dark.system.css.map +1 -1
  205. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  206. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  207. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  208. package/css/palettes/high-contrast.always.css.map +1 -1
  209. package/css/palettes/high-contrast.class.css.map +1 -1
  210. package/css/palettes/high-contrast.system.css.map +1 -1
  211. package/css/structure.css.map +1 -1
  212. package/css/text-alignment.css.map +1 -1
  213. package/css/text-transformation.css.map +1 -1
  214. package/css/typography.css.map +1 -1
  215. package/css/utils.bundle.css +1 -1
  216. package/css/utils.bundle.css.map +1 -1
  217. package/dist/cjs/{animation-BJq0kcy2.js → animation-B3xfVcDO.js} +3 -3
  218. package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-3ZoCVkn-.js} +1 -1
  219. package/dist/cjs/{button-active-0mPOKmV2.js → button-active-3tZKuPbT.js} +2 -2
  220. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CQSg1uCo.js} +3 -3
  221. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  222. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  223. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  224. package/dist/cjs/config-DWdFbSNK.js +35 -0
  225. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  226. package/dist/cjs/{format-PxvGiOik.js → format-BCIkDef_.js} +1 -1
  227. package/dist/cjs/{framework-delegate-BtICZDHr.js → framework-delegate-DC5nq_NN.js} +4 -2
  228. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-eix26ESE.js} +1 -1
  229. package/dist/cjs/{helpers-Cv23MFHM.js → helpers-DiOgV5hw.js} +71 -4
  230. package/dist/cjs/{index-BERfRao3.js → index-BaJ7_YbC.js} +4 -4
  231. package/dist/cjs/index-Bj07IRTB.js +429 -0
  232. package/dist/cjs/{index-CIrkNXqJ.js → index-BxEZd5IE.js} +2 -2
  233. package/dist/cjs/{index-DqmRDbxg.js → index-Cu9JNpPi.js} +3 -1
  234. package/dist/cjs/{index-aC4x3Fk3.js → index-DYRcC3bw.js} +15 -15
  235. package/dist/cjs/{index-Ct7gcRif.js → index-GZU9YrFc.js} +41 -4
  236. package/dist/cjs/{index-D81eLYUM.js → index-bX3nz2vw.js} +9 -8
  237. package/dist/cjs/index.cjs.js +16 -16
  238. package/dist/cjs/{input-shims-CFLg7uzj.js → input-shims-BSEBw22J.js} +18 -17
  239. package/dist/cjs/{input.utils-DetjmtH2.js → input.utils-D68wgI2Y.js} +5 -5
  240. package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -29
  241. package/dist/cjs/ion-action-sheet.cjs.entry.js +41 -22
  242. package/dist/cjs/ion-alert.cjs.entry.js +78 -41
  243. package/dist/cjs/ion-app_8.cjs.entry.js +292 -157
  244. package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -13
  245. package/dist/cjs/ion-back-button.cjs.entry.js +31 -22
  246. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
  247. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +54 -18
  248. package/dist/cjs/ion-button_2.cjs.entry.js +61 -24
  249. package/dist/cjs/ion-card_5.cjs.entry.js +55 -33
  250. package/dist/cjs/ion-checkbox.cjs.entry.js +37 -17
  251. package/dist/cjs/ion-chip.cjs.entry.js +50 -9
  252. package/dist/cjs/ion-col_3.cjs.entry.js +56 -57
  253. package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -9
  254. package/dist/cjs/ion-datetime_3.cjs.entry.js +121 -46
  255. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  256. package/dist/cjs/ion-fab_3.cjs.entry.js +44 -28
  257. package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
  258. package/dist/cjs/ion-gallery.cjs.entry.js +607 -0
  259. package/dist/cjs/ion-img.cjs.entry.js +8 -4
  260. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +93 -17
  261. package/dist/cjs/ion-input-otp.cjs.entry.js +74 -9
  262. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +53 -15
  263. package/dist/cjs/ion-input.cjs.entry.js +124 -34
  264. package/dist/cjs/ion-item-option_3.cjs.entry.js +467 -52
  265. package/dist/cjs/ion-item_8.cjs.entry.js +121 -50
  266. package/dist/cjs/ion-loading.cjs.entry.js +22 -19
  267. package/dist/cjs/ion-menu_3.cjs.entry.js +47 -29
  268. package/dist/cjs/ion-modal.cjs.entry.js +262 -138
  269. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
  270. package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
  271. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
  272. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  273. package/dist/cjs/ion-popover.cjs.entry.js +21 -19
  274. package/dist/cjs/ion-progress-bar.cjs.entry.js +27 -9
  275. package/dist/cjs/ion-radio_2.cjs.entry.js +35 -17
  276. package/dist/cjs/ion-range.cjs.entry.js +20 -13
  277. package/dist/cjs/ion-refresher_2.cjs.entry.js +42 -23
  278. package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -14
  279. package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
  280. package/dist/cjs/ion-route_4.cjs.entry.js +11 -10
  281. package/dist/cjs/ion-searchbar.cjs.entry.js +137 -24
  282. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  283. package/dist/cjs/ion-segment-view.cjs.entry.js +13 -3
  284. package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
  285. package/dist/cjs/ion-select-modal.cjs.entry.js +114 -38
  286. package/dist/cjs/ion-select_3.cjs.entry.js +557 -108
  287. package/dist/cjs/ion-spinner.cjs.entry.js +30 -8
  288. package/dist/cjs/ion-split-pane.cjs.entry.js +13 -9
  289. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +147 -23
  290. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  291. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  292. package/dist/cjs/ion-textarea.cjs.entry.js +137 -23
  293. package/dist/cjs/ion-toast.cjs.entry.js +70 -46
  294. package/dist/cjs/ion-toggle.cjs.entry.js +82 -25
  295. package/dist/cjs/ionic-global-QoUqobrQ.js +519 -0
  296. package/dist/cjs/ionic.cjs.js +4 -4
  297. package/dist/cjs/{ios.transition-BOSWOaiK.js → ios.transition-DpFQfFfT.js} +7 -5
  298. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Bn0Ppim6.js} +1 -1
  299. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-CefyW9lm.js} +11 -9
  300. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-faZBQysj.js} +4 -3
  301. package/dist/cjs/list-a-7GSA6K.js +8 -0
  302. package/dist/cjs/loader.cjs.js +4 -4
  303. package/dist/cjs/{md.transition-B8-wBZqt.js → md.transition-ChJcoZUH.js} +6 -5
  304. package/dist/cjs/{notch-controller-18PzRGXd.js → notch-controller-BO0UGB4F.js} +4 -4
  305. package/dist/cjs/overlay-control-label-DnRLQR1t.js +52 -0
  306. package/dist/cjs/{overlays-DdtIYQUH.js → overlays-CFGbPUmE.js} +309 -18
  307. package/dist/cjs/select-option-render-DqBHEjDn.js +124 -0
  308. package/dist/cjs/{status-tap-BXX8H8_Y.js → status-tap-x2qDo5QR.js} +4 -3
  309. package/dist/cjs/{swipe-back-C0GCB18x.js → swipe-back-CvZt_4YX.js} +3 -2
  310. package/dist/cjs/{theme-CeDs6Hcv.js → theme-IlOsGAz7.js} +25 -1
  311. package/dist/cjs/validity-QmuwEptc.js +51 -0
  312. package/dist/cjs/x-BTF99yFH.js +8 -0
  313. package/dist/collection/collection-manifest.json +9 -1
  314. package/dist/collection/components/accordion/accordion.ionic.css +201 -0
  315. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  316. package/dist/collection/components/accordion/accordion.js +41 -27
  317. package/dist/collection/components/accordion/accordion.md.css +67 -59
  318. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  319. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  320. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  321. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  322. package/dist/collection/components/action-sheet/action-sheet.ionic.css +494 -0
  323. package/dist/collection/components/action-sheet/action-sheet.ios.css +367 -11
  324. package/dist/collection/components/action-sheet/action-sheet.js +32 -13
  325. package/dist/collection/components/action-sheet/action-sheet.md.css +306 -10
  326. package/dist/collection/components/alert/alert.ionic.css +787 -0
  327. package/dist/collection/components/alert/alert.ios.css +481 -19
  328. package/dist/collection/components/alert/alert.js +67 -30
  329. package/dist/collection/components/alert/alert.md.css +464 -29
  330. package/dist/collection/components/app/app.js +15 -83
  331. package/dist/collection/components/avatar/avatar.ionic.css +385 -0
  332. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  333. package/dist/collection/components/avatar/avatar.js +120 -4
  334. package/dist/collection/components/avatar/avatar.md.css +51 -0
  335. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  336. package/dist/collection/components/back-button/back-button.js +27 -19
  337. package/dist/collection/components/back-button/back-button.md.css +60 -48
  338. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  339. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  340. package/dist/collection/components/backdrop/backdrop.js +12 -6
  341. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  342. package/dist/collection/components/badge/badge.ionic.css +272 -0
  343. package/dist/collection/components/badge/badge.ios.css +137 -12
  344. package/dist/collection/components/badge/badge.js +145 -9
  345. package/dist/collection/components/badge/badge.md.css +122 -12
  346. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  347. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  348. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  349. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  350. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  351. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  352. package/dist/collection/components/button/button.ionic.css +644 -0
  353. package/dist/collection/components/button/button.ios.css +154 -46
  354. package/dist/collection/components/button/button.js +63 -27
  355. package/dist/collection/components/button/button.md.css +150 -50
  356. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  357. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  358. package/dist/collection/components/buttons/buttons.js +15 -9
  359. package/dist/collection/components/buttons/buttons.md.css +55 -3
  360. package/dist/collection/components/card/card.ionic.css +144 -0
  361. package/dist/collection/components/card/card.ios.css +65 -14
  362. package/dist/collection/components/card/card.js +41 -10
  363. package/dist/collection/components/card/card.md.css +65 -14
  364. package/dist/collection/components/card-content/card-content.ionic.css +89 -0
  365. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  366. package/dist/collection/components/card-content/card-content.js +12 -10
  367. package/dist/collection/components/card-content/card-content.md.css +20 -35
  368. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  369. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  370. package/dist/collection/components/card-header/card-header.js +13 -10
  371. package/dist/collection/components/card-header/card-header.md.css +27 -15
  372. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  373. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  374. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  375. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  376. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  377. package/dist/collection/components/card-title/card-title.js +11 -8
  378. package/dist/collection/components/card-title/card-title.md.css +73 -0
  379. package/dist/collection/components/checkbox/checkbox.ionic.css +543 -0
  380. package/dist/collection/components/checkbox/checkbox.ios.css +163 -99
  381. package/dist/collection/components/checkbox/checkbox.js +73 -15
  382. package/dist/collection/components/checkbox/checkbox.md.css +164 -100
  383. package/dist/collection/components/chip/chip.ionic.css +217 -0
  384. package/dist/collection/components/chip/chip.ios.css +67 -14
  385. package/dist/collection/components/chip/chip.js +108 -8
  386. package/dist/collection/components/chip/chip.md.css +67 -14
  387. package/dist/collection/components/col/col.css +192 -4
  388. package/dist/collection/components/col/col.js +211 -61
  389. package/dist/collection/components/content/content.css +8 -2
  390. package/dist/collection/components/content/content.js +16 -11
  391. package/dist/collection/components/datetime/datetime.ionic.css +703 -0
  392. package/dist/collection/components/datetime/datetime.ios.css +302 -106
  393. package/dist/collection/components/datetime/datetime.js +97 -20
  394. package/dist/collection/components/datetime/datetime.md.css +293 -96
  395. package/dist/collection/components/datetime/utils/data.js +5 -5
  396. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  397. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  398. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  399. package/dist/collection/components/divider/divider.ionic.css +148 -0
  400. package/dist/collection/components/divider/divider.ios.css +87 -0
  401. package/dist/collection/components/divider/divider.js +94 -0
  402. package/dist/collection/components/divider/divider.md.css +87 -0
  403. package/dist/collection/components/fab/fab.css +25 -1
  404. package/dist/collection/components/fab/fab.js +9 -5
  405. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  406. package/dist/collection/components/fab-button/fab-button.js +36 -21
  407. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  408. package/dist/collection/components/fab-list/fab-list.css +12 -0
  409. package/dist/collection/components/fab-list/fab-list.js +9 -5
  410. package/dist/collection/components/footer/footer.ios.css +14 -2
  411. package/dist/collection/components/footer/footer.js +21 -16
  412. package/dist/collection/components/footer/footer.md.css +12 -0
  413. package/dist/collection/components/gallery/gallery-constants.js +12 -0
  414. package/dist/collection/components/gallery/gallery-interface.js +1 -0
  415. package/dist/collection/components/gallery/gallery.css +15 -0
  416. package/dist/collection/components/gallery/gallery.js +679 -0
  417. package/dist/collection/components/gallery/test/utils.js +100 -0
  418. package/dist/collection/components/gallery-item/gallery-item.css +49 -0
  419. package/dist/collection/components/gallery-item/gallery-item.js +99 -0
  420. package/dist/collection/components/grid/grid.css +12 -0
  421. package/dist/collection/components/grid/grid.js +9 -5
  422. package/dist/collection/components/header/header.ionic.css +97 -0
  423. package/dist/collection/components/header/header.ios.css +25 -10
  424. package/dist/collection/components/header/header.js +50 -19
  425. package/dist/collection/components/header/header.md.css +23 -8
  426. package/dist/collection/components/header/header.utils.js +5 -5
  427. package/dist/collection/components/img/img.js +8 -2
  428. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  429. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  430. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  431. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  432. package/dist/collection/components/input/input.ionic.css +888 -0
  433. package/dist/collection/components/input/input.ios.css +224 -137
  434. package/dist/collection/components/input/input.js +148 -37
  435. package/dist/collection/components/input/input.md.css +194 -209
  436. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  437. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  438. package/dist/collection/components/input-otp/input-otp.js +74 -7
  439. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  440. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  441. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  442. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  443. package/dist/collection/components/item/item.ionic.css +496 -0
  444. package/dist/collection/components/item/item.ios.css +109 -69
  445. package/dist/collection/components/item/item.js +56 -21
  446. package/dist/collection/components/item/item.md.css +120 -68
  447. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  448. package/dist/collection/components/item-divider/item-divider.js +11 -8
  449. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  450. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  451. package/dist/collection/components/item-group/item-group.js +13 -7
  452. package/dist/collection/components/item-group/item-group.md.css +12 -0
  453. package/dist/collection/components/item-option/item-option.ionic.css +277 -0
  454. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  455. package/dist/collection/components/item-option/item-option.js +73 -9
  456. package/dist/collection/components/item-option/item-option.md.css +136 -29
  457. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  458. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  459. package/dist/collection/components/item-options/item-options.js +13 -7
  460. package/dist/collection/components/item-options/item-options.md.css +77 -34
  461. package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
  462. package/dist/collection/components/item-sliding/item-sliding.js +421 -35
  463. package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
  464. package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
  465. package/dist/collection/components/label/label.ios.css +18 -0
  466. package/dist/collection/components/label/label.js +11 -8
  467. package/dist/collection/components/label/label.md.css +18 -0
  468. package/dist/collection/components/list/list.ionic.css +212 -0
  469. package/dist/collection/components/list/list.ios.css +54 -14
  470. package/dist/collection/components/list/list.js +48 -9
  471. package/dist/collection/components/list/list.md.css +56 -16
  472. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  473. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  474. package/dist/collection/components/list-header/list-header.js +11 -8
  475. package/dist/collection/components/list-header/list-header.md.css +82 -38
  476. package/dist/collection/components/loading/loading.ios.css +13 -1
  477. package/dist/collection/components/loading/loading.js +14 -11
  478. package/dist/collection/components/loading/loading.md.css +13 -1
  479. package/dist/collection/components/menu/menu.ios.css +15 -3
  480. package/dist/collection/components/menu/menu.js +12 -7
  481. package/dist/collection/components/menu/menu.md.css +15 -3
  482. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  483. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  484. package/dist/collection/components/menu-button/menu-button.js +26 -10
  485. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  486. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  487. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  488. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  489. package/dist/collection/components/modal/animations/sheet.js +8 -2
  490. package/dist/collection/components/modal/gestures/sheet.js +76 -10
  491. package/dist/collection/components/modal/modal.ionic.css +255 -0
  492. package/dist/collection/components/modal/modal.ios.css +178 -70
  493. package/dist/collection/components/modal/modal.js +50 -12
  494. package/dist/collection/components/modal/modal.md.css +178 -70
  495. package/dist/collection/components/nav/nav.css +7 -1
  496. package/dist/collection/components/nav/nav.js +11 -5
  497. package/dist/collection/components/nav-link/nav-link.js +5 -1
  498. package/dist/collection/components/note/note.ios.css +12 -0
  499. package/dist/collection/components/note/note.js +11 -8
  500. package/dist/collection/components/note/note.md.css +12 -0
  501. package/dist/collection/components/picker/picker.ios.css +15 -3
  502. package/dist/collection/components/picker/picker.js +8 -5
  503. package/dist/collection/components/picker/picker.md.css +15 -3
  504. package/dist/collection/components/picker-column/picker-column.css +9 -2
  505. package/dist/collection/components/picker-column/picker-column.js +8 -7
  506. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  507. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  508. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  509. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  510. package/dist/collection/components/picker-legacy/picker.js +7 -6
  511. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  512. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  513. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  514. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  515. package/dist/collection/components/popover/popover.ionic.css +290 -0
  516. package/dist/collection/components/popover/popover.ios.css +29 -1
  517. package/dist/collection/components/popover/popover.js +18 -15
  518. package/dist/collection/components/popover/popover.md.css +29 -1
  519. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  520. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  521. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  522. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  523. package/dist/collection/components/radio/radio.ionic.css +422 -0
  524. package/dist/collection/components/radio/radio.ios.css +134 -91
  525. package/dist/collection/components/radio/radio.js +14 -9
  526. package/dist/collection/components/radio/radio.md.css +134 -91
  527. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  528. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  529. package/dist/collection/components/radio-group/radio-group.js +48 -7
  530. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  531. package/dist/collection/components/range/range.ionic.css +567 -0
  532. package/dist/collection/components/range/range.ios.css +128 -85
  533. package/dist/collection/components/range/range.js +16 -10
  534. package/dist/collection/components/range/range.md.css +128 -85
  535. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  536. package/dist/collection/components/refresher/refresher.js +11 -8
  537. package/dist/collection/components/refresher/refresher.md.css +15 -2
  538. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  539. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  540. package/dist/collection/components/reorder/reorder.js +33 -6
  541. package/dist/collection/components/reorder/reorder.md.css +6 -0
  542. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  543. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  544. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  545. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  546. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  547. package/dist/collection/components/route/route.js +4 -0
  548. package/dist/collection/components/router/router.js +4 -0
  549. package/dist/collection/components/router-link/router-link.css +8 -2
  550. package/dist/collection/components/router-link/router-link.js +9 -5
  551. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  552. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  553. package/dist/collection/components/row/row.css +16 -0
  554. package/dist/collection/components/row/row.js +9 -2
  555. package/dist/collection/components/searchbar/searchbar.ionic.css +622 -0
  556. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  557. package/dist/collection/components/searchbar/searchbar.js +180 -33
  558. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  559. package/dist/collection/components/segment/segment.ionic.css +115 -0
  560. package/dist/collection/components/segment/segment.ios.css +45 -2
  561. package/dist/collection/components/segment/segment.js +11 -8
  562. package/dist/collection/components/segment/segment.md.css +45 -2
  563. package/dist/collection/components/segment-button/segment-button.ionic.css +352 -0
  564. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  565. package/dist/collection/components/segment-button/segment-button.js +11 -8
  566. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  567. package/dist/collection/components/segment-content/segment-content.js +1 -1
  568. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  569. package/dist/collection/components/segment-view/segment-view.js +13 -4
  570. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  571. package/dist/collection/components/select/select.ionic.css +809 -0
  572. package/dist/collection/components/select/select.ios.css +348 -176
  573. package/dist/collection/components/select/select.js +521 -92
  574. package/dist/collection/components/select/select.md.css +364 -178
  575. package/dist/collection/components/select-modal/select-modal.ionic.css +261 -0
  576. package/dist/collection/components/select-modal/select-modal.ios.css +466 -0
  577. package/dist/collection/components/select-modal/select-modal.js +126 -30
  578. package/dist/collection/components/select-modal/select-modal.md.css +394 -0
  579. package/dist/collection/components/select-option/select-option.js +72 -4
  580. package/dist/collection/components/select-popover/select-popover.ionic.css +255 -0
  581. package/dist/collection/components/select-popover/select-popover.ios.css +302 -20
  582. package/dist/collection/components/select-popover/select-popover.js +89 -29
  583. package/dist/collection/components/select-popover/select-popover.md.css +345 -0
  584. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  585. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  586. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  587. package/dist/collection/components/spinner/spinner.js +47 -6
  588. package/dist/collection/components/spinner/spinner.native.css +199 -0
  589. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  590. package/dist/collection/components/split-pane/split-pane.js +15 -8
  591. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  592. package/dist/collection/components/tab/tab.js +6 -2
  593. package/dist/collection/components/tab-bar/tab-bar.ionic.css +227 -0
  594. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  595. package/dist/collection/components/tab-bar/tab-bar.js +171 -13
  596. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  597. package/dist/collection/components/tab-button/tab-button.ionic.css +373 -0
  598. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  599. package/dist/collection/components/tab-button/tab-button.js +54 -9
  600. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  601. package/dist/collection/components/tabs/tabs.css +7 -1
  602. package/dist/collection/components/tabs/tabs.js +4 -1
  603. package/dist/collection/components/text/text.css +6 -0
  604. package/dist/collection/components/text/text.js +7 -6
  605. package/dist/collection/components/textarea/textarea.ionic.css +898 -0
  606. package/dist/collection/components/textarea/textarea.ios.css +298 -158
  607. package/dist/collection/components/textarea/textarea.js +162 -24
  608. package/dist/collection/components/textarea/textarea.md.css +312 -159
  609. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  610. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  611. package/dist/collection/components/title/title.ionic.css +127 -0
  612. package/dist/collection/components/title/title.ios.css +32 -4
  613. package/dist/collection/components/title/title.js +13 -7
  614. package/dist/collection/components/title/title.md.css +32 -4
  615. package/dist/collection/components/toast/animations/utils.js +1 -1
  616. package/dist/collection/components/toast/toast.ionic.css +394 -0
  617. package/dist/collection/components/toast/toast.ios.css +84 -45
  618. package/dist/collection/components/toast/toast.js +76 -13
  619. package/dist/collection/components/toast/toast.md.css +84 -45
  620. package/dist/collection/components/toggle/toggle.ionic.css +508 -0
  621. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  622. package/dist/collection/components/toggle/toggle.js +73 -18
  623. package/dist/collection/components/toggle/toggle.md.css +244 -131
  624. package/dist/collection/components/toolbar/test/image.svg +1 -0
  625. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  626. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  627. package/dist/collection/components/toolbar/toolbar.js +218 -13
  628. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  629. package/dist/collection/global/ionic-global.js +241 -13
  630. package/dist/collection/utils/css-value-validation.js +39 -0
  631. package/dist/collection/utils/focus-trap.js +13 -2
  632. package/dist/collection/utils/focus-visible.js +22 -0
  633. package/dist/collection/utils/forms/validity.js +31 -0
  634. package/dist/collection/utils/framework-delegate.js +3 -1
  635. package/dist/collection/utils/hardware-back-button.js +15 -0
  636. package/dist/collection/utils/helpers.js +70 -3
  637. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  638. package/dist/collection/utils/media.js +1 -0
  639. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  640. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  641. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  642. package/dist/collection/utils/overlay-control-label.js +47 -0
  643. package/dist/collection/utils/overlays.js +290 -8
  644. package/dist/collection/utils/sanitization/index.js +274 -18
  645. package/dist/collection/utils/select-option-render.js +119 -0
  646. package/dist/collection/utils/test/playwright/drag-element.js +32 -9
  647. package/dist/collection/utils/test/playwright/generator.js +48 -23
  648. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  649. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  650. package/dist/collection/utils/theme.js +25 -1
  651. package/dist/collection/utils/transition/ios.transition.js +1 -0
  652. package/dist/docs.json +8976 -284
  653. package/dist/esm/{animation-DLJpuoEz.js → animation-B2qdQ_ou.js} +2 -2
  654. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-DZ-iIjxA.js} +1 -1
  655. package/dist/esm/{button-active-BSpTQmS9.js → button-active-BmajAby6.js} +2 -2
  656. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CtQSWUU0.js} +1 -1
  657. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  658. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  659. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  660. package/dist/esm/config-BwKpO3Is.js +31 -0
  661. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  662. package/dist/esm/{format-CAmvpAez.js → format-2WlZcMvG.js} +1 -1
  663. package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate-DO2QXccA.js} +4 -2
  664. package/dist/esm/{haptic-DzAMWJuk.js → haptic-DFgKNCce.js} +1 -1
  665. package/dist/esm/{helpers-HEqiOzXb.js → helpers-DfF5_wJc.js} +71 -5
  666. package/dist/esm/{index-DV3sJJW8.js → index-1y3VhUSy.js} +3 -2
  667. package/dist/esm/{index-B_dQk_WE.js → index-BIUWGRUl.js} +4 -4
  668. package/dist/esm/{index-BRHzoo00.js → index-BjaaZqVY.js} +4 -3
  669. package/dist/esm/{index-tcQvqkiX.js → index-C0EQceqV.js} +41 -4
  670. package/dist/esm/{index-Q6UPU0Ay.js → index-Di034G4O.js} +11 -11
  671. package/dist/esm/{index-MEDq2S8l.js → index-KxK0gcRp.js} +2 -2
  672. package/dist/esm/index-Mq5pCWmZ.js +424 -0
  673. package/dist/esm/index.js +14 -14
  674. package/dist/esm/{input-shims-D10mwcw1.js → input-shims-DvNNw70a.js} +7 -6
  675. package/dist/esm/{input.utils-Y6NgW8bw.js → input.utils-_LkBfBWt.js} +3 -3
  676. package/dist/esm/ion-accordion_2.entry.js +61 -29
  677. package/dist/esm/ion-action-sheet.entry.js +41 -22
  678. package/dist/esm/ion-alert.entry.js +77 -40
  679. package/dist/esm/ion-app_8.entry.js +292 -157
  680. package/dist/esm/ion-avatar_3.entry.js +125 -13
  681. package/dist/esm/ion-back-button.entry.js +31 -22
  682. package/dist/esm/ion-backdrop.entry.js +10 -7
  683. package/dist/esm/ion-breadcrumb_2.entry.js +54 -18
  684. package/dist/esm/ion-button_2.entry.js +61 -24
  685. package/dist/esm/ion-card_5.entry.js +55 -33
  686. package/dist/esm/ion-checkbox.entry.js +37 -17
  687. package/dist/esm/ion-chip.entry.js +50 -9
  688. package/dist/esm/ion-col_3.entry.js +56 -57
  689. package/dist/esm/ion-datetime-button.entry.js +13 -9
  690. package/dist/esm/ion-datetime_3.entry.js +121 -46
  691. package/dist/esm/ion-divider.entry.js +49 -0
  692. package/dist/esm/ion-fab_3.entry.js +44 -28
  693. package/dist/esm/ion-gallery-item.entry.js +57 -0
  694. package/dist/esm/ion-gallery.entry.js +605 -0
  695. package/dist/esm/ion-img.entry.js +8 -4
  696. package/dist/esm/ion-infinite-scroll_2.entry.js +92 -16
  697. package/dist/esm/ion-input-otp.entry.js +74 -9
  698. package/dist/esm/ion-input-password-toggle.entry.js +53 -15
  699. package/dist/esm/ion-input.entry.js +124 -34
  700. package/dist/esm/ion-item-option_3.entry.js +467 -52
  701. package/dist/esm/ion-item_8.entry.js +121 -50
  702. package/dist/esm/ion-loading.entry.js +21 -18
  703. package/dist/esm/ion-menu_3.entry.js +47 -29
  704. package/dist/esm/ion-modal.entry.js +215 -91
  705. package/dist/esm/ion-nav_2.entry.js +14 -11
  706. package/dist/esm/ion-picker-column-option.entry.js +12 -8
  707. package/dist/esm/ion-picker-column.entry.js +13 -13
  708. package/dist/esm/ion-picker.entry.js +10 -6
  709. package/dist/esm/ion-popover.entry.js +21 -19
  710. package/dist/esm/ion-progress-bar.entry.js +27 -9
  711. package/dist/esm/ion-radio_2.entry.js +35 -17
  712. package/dist/esm/ion-range.entry.js +20 -13
  713. package/dist/esm/ion-refresher_2.entry.js +40 -21
  714. package/dist/esm/ion-reorder_2.entry.js +38 -14
  715. package/dist/esm/ion-ripple-effect.entry.js +15 -7
  716. package/dist/esm/ion-route_4.entry.js +11 -10
  717. package/dist/esm/ion-searchbar.entry.js +137 -24
  718. package/dist/esm/ion-segment-content.entry.js +2 -2
  719. package/dist/esm/ion-segment-view.entry.js +13 -3
  720. package/dist/esm/ion-segment_2.entry.js +23 -16
  721. package/dist/esm/ion-select-modal.entry.js +114 -38
  722. package/dist/esm/ion-select_3.entry.js +557 -108
  723. package/dist/esm/ion-spinner.entry.js +30 -8
  724. package/dist/esm/ion-split-pane.entry.js +13 -9
  725. package/dist/esm/ion-tab-bar_2.entry.js +147 -23
  726. package/dist/esm/ion-tab_2.entry.js +8 -7
  727. package/dist/esm/ion-text.entry.js +7 -7
  728. package/dist/esm/ion-textarea.entry.js +137 -23
  729. package/dist/esm/ion-toast.entry.js +45 -21
  730. package/dist/esm/ion-toggle.entry.js +82 -25
  731. package/dist/esm/ionic-global-BpkTponr.js +508 -0
  732. package/dist/esm/ionic.js +5 -5
  733. package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-CgScDbsb.js} +7 -5
  734. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-CyyguLDw.js} +1 -1
  735. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-WJix-wcz.js} +4 -3
  736. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-BFwRdk2T.js} +5 -3
  737. package/dist/esm/list-Dhi5xtNS.js +6 -0
  738. package/dist/esm/loader.js +5 -5
  739. package/dist/esm/{md.transition-D0msQmzI.js → md.transition-DThqYazt.js} +6 -5
  740. package/dist/esm/{notch-controller-DKDjU_O7.js → notch-controller-MTblRxjD.js} +2 -2
  741. package/dist/esm/overlay-control-label-CODBQrPj.js +49 -0
  742. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-tv6nLsmk.js} +306 -15
  743. package/dist/esm/select-option-render-BlKZ2H83.js +122 -0
  744. package/dist/esm/{status-tap-Kan2W7sh.js → status-tap-CoPI1M2q.js} +4 -3
  745. package/dist/esm/{swipe-back-DQ1q5MgD.js → swipe-back-qmvTRnSq.js} +3 -2
  746. package/dist/esm/{theme-DiVJyqlX.js → theme-DaJxRxSQ.js} +25 -1
  747. package/dist/esm/validity-BjW8SOqw.js +48 -0
  748. package/dist/esm/x-BDqjX7Z_.js +6 -0
  749. package/dist/html.html-data.json +2654 -147
  750. package/dist/ionic/index.esm.js +1 -1
  751. package/dist/ionic/ionic.esm.js +1 -1
  752. package/dist/ionic/p--sroV-k-.js +4 -0
  753. package/dist/ionic/p-05ce9821.entry.js +4 -0
  754. package/dist/ionic/p-085b8cdf.entry.js +4 -0
  755. package/dist/ionic/p-0c4d9d7c.entry.js +4 -0
  756. package/dist/ionic/p-0ef6bfc4.entry.js +4 -0
  757. package/dist/ionic/p-1b6e3914.entry.js +4 -0
  758. package/dist/ionic/p-1y3VhUSy.js +4 -0
  759. package/dist/ionic/p-25b51635.entry.js +4 -0
  760. package/dist/ionic/p-2740db6e.entry.js +4 -0
  761. package/dist/ionic/p-274a829d.entry.js +4 -0
  762. package/dist/ionic/p-2a1abbb1.entry.js +4 -0
  763. package/dist/ionic/p-2fba8f15.entry.js +4 -0
  764. package/dist/ionic/p-3b4c5cb5.entry.js +4 -0
  765. package/dist/ionic/p-3cfb4ff2.entry.js +4 -0
  766. package/dist/ionic/p-41afaf15.entry.js +4 -0
  767. package/dist/ionic/p-42a882b7.entry.js +4 -0
  768. package/dist/ionic/p-507dbb1c.entry.js +4 -0
  769. package/dist/ionic/p-54419365.entry.js +4 -0
  770. package/dist/ionic/p-602cf876.entry.js +4 -0
  771. package/dist/ionic/p-6293e9f1.entry.js +4 -0
  772. package/dist/ionic/p-678ee14a.entry.js +4 -0
  773. package/dist/ionic/p-68ea8ed1.entry.js +4 -0
  774. package/dist/ionic/p-6e1ec775.entry.js +4 -0
  775. package/dist/ionic/p-745d6b2b.entry.js +4 -0
  776. package/dist/ionic/p-7b2fe639.entry.js +4 -0
  777. package/dist/ionic/p-7ce56473.entry.js +4 -0
  778. package/dist/ionic/{p-C0eMdTCW.js → p-7k7Q1A38.js} +1 -1
  779. package/dist/ionic/p-89fedfda.entry.js +4 -0
  780. package/dist/ionic/p-8cf82b85.entry.js +4 -0
  781. package/dist/ionic/p-8d5fd199.entry.js +4 -0
  782. package/dist/ionic/p-9e9be378.entry.js +4 -0
  783. package/dist/ionic/p-BDSH5ckF.js +4 -0
  784. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  785. package/dist/ionic/p-BFy_BK46.js +4 -0
  786. package/dist/ionic/p-BYSs-jZz.js +4 -0
  787. package/dist/ionic/p-BjW8SOqw.js +4 -0
  788. package/{components/p-CtukzcyX.js → dist/ionic/p-BlZo7Gy-.js} +1 -1
  789. package/dist/ionic/p-Bq8S4vhI.js +4 -0
  790. package/dist/ionic/p-BwKpO3Is.js +4 -0
  791. package/dist/ionic/p-C0EQceqV.js +5 -0
  792. package/dist/ionic/p-CB91Gr9M.js +4 -0
  793. package/dist/ionic/p-CEkwLb3L.js +4 -0
  794. package/dist/ionic/p-CJsJQPQD.js +4 -0
  795. package/dist/ionic/p-CODBQrPj.js +4 -0
  796. package/dist/ionic/p-Ch7MBNn_.js +4 -0
  797. package/{components/p-BT_5jSqG.js → dist/ionic/p-Cm20lBQw.js} +1 -1
  798. package/dist/ionic/p-CnAWnbNK.js +4 -0
  799. package/dist/ionic/p-D1t981Ih.js +4 -0
  800. package/dist/ionic/p-D4MT1z4_.js +4 -0
  801. package/dist/ionic/p-D4veLKCq.js +4 -0
  802. package/dist/ionic/p-DF7ubVci.js +4 -0
  803. package/dist/ionic/p-DMaSfupH.js +4 -0
  804. package/{components/p-D13Eaw-8.js → dist/ionic/p-DQDmksdT.js} +1 -1
  805. package/dist/ionic/p-DTsDGZPd.js +4 -0
  806. package/dist/ionic/p-DaJxRxSQ.js +4 -0
  807. package/dist/ionic/p-DdCaKRle.js +4 -0
  808. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  809. package/dist/ionic/p-Dy243NXW.js +4 -0
  810. package/dist/ionic/p-MqqcZQSB.js +4 -0
  811. package/dist/ionic/{p-CKvCXMs9.js → p-OkgYzj-7.js} +1 -1
  812. package/dist/ionic/p-YIsE5bNG.js +4 -0
  813. package/dist/ionic/p-a09c7a4c.entry.js +4 -0
  814. package/dist/ionic/p-a63d2a40.entry.js +4 -0
  815. package/dist/ionic/p-a6e04ca3.entry.js +4 -0
  816. package/dist/ionic/p-a6fe63f0.entry.js +4 -0
  817. package/dist/ionic/p-a797625e.entry.js +4 -0
  818. package/dist/ionic/p-b275f17e.entry.js +4 -0
  819. package/dist/ionic/p-b3d04a86.entry.js +4 -0
  820. package/dist/ionic/p-c5635175.entry.js +4 -0
  821. package/dist/ionic/p-c76d57fb.entry.js +4 -0
  822. package/dist/ionic/p-ca3a07b5.entry.js +4 -0
  823. package/dist/ionic/p-ced3cda1.entry.js +4 -0
  824. package/dist/ionic/p-cf22e991.entry.js +4 -0
  825. package/dist/ionic/p-d0c1d21d.entry.js +4 -0
  826. package/dist/ionic/p-d0d42da6.entry.js +4 -0
  827. package/dist/ionic/p-d0dfc9a3.entry.js +4 -0
  828. package/dist/ionic/p-d0f253fc.entry.js +4 -0
  829. package/dist/ionic/p-d33dfc12.entry.js +4 -0
  830. package/dist/ionic/p-d34bfb61.entry.js +4 -0
  831. package/dist/ionic/p-dc8e0b91.entry.js +4 -0
  832. package/dist/ionic/p-ddde8df3.entry.js +4 -0
  833. package/dist/ionic/p-df642ef5.entry.js +4 -0
  834. package/dist/ionic/p-e04d63e1.entry.js +4 -0
  835. package/dist/ionic/p-eeb7b373.entry.js +4 -0
  836. package/dist/ionic/p-f692219d.entry.js +4 -0
  837. package/dist/ionic/p-f8001f8f.entry.js +4 -0
  838. package/dist/ionic/p-fIOYmaqA.js +4 -0
  839. package/dist/ionic/p-fb457fdd.entry.js +4 -0
  840. package/dist/ionic/p-fc6d26ff.entry.js +4 -0
  841. package/dist/ionic/p-im8OkZlj.js +4 -0
  842. package/dist/ionic/p-lMb_45ax.js +4 -0
  843. package/dist/ionic/{p-Wk5HzclC.js → p-oUgyLDGL.js} +1 -1
  844. package/dist/ionic/p-vXpMhGrs.js +4 -0
  845. package/dist/types/components/accordion/accordion.d.ts +6 -3
  846. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  847. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  848. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  849. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  850. package/dist/types/components/alert/alert.d.ts +3 -2
  851. package/dist/types/components/app/app.d.ts +4 -5
  852. package/dist/types/components/avatar/avatar.d.ts +32 -0
  853. package/dist/types/components/back-button/back-button.d.ts +2 -1
  854. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  855. package/dist/types/components/badge/badge.d.ts +34 -1
  856. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  857. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  858. package/dist/types/components/button/button.d.ts +23 -8
  859. package/dist/types/components/buttons/buttons.d.ts +5 -1
  860. package/dist/types/components/card/card.d.ts +8 -1
  861. package/dist/types/components/card-content/card-content.d.ts +2 -1
  862. package/dist/types/components/card-header/card-header.d.ts +3 -2
  863. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  864. package/dist/types/components/card-title/card-title.d.ts +2 -1
  865. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  866. package/dist/types/components/chip/chip.d.ts +26 -1
  867. package/dist/types/components/col/col.d.ts +52 -5
  868. package/dist/types/components/content/content.d.ts +3 -0
  869. package/dist/types/components/datetime/datetime.d.ts +26 -1
  870. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  871. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  872. package/dist/types/components/divider/divider.d.ts +20 -0
  873. package/dist/types/components/fab/fab.d.ts +4 -0
  874. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  875. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  876. package/dist/types/components/footer/footer.d.ts +4 -3
  877. package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
  878. package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
  879. package/dist/types/components/gallery/gallery.d.ts +218 -0
  880. package/dist/types/components/gallery/test/utils.d.ts +3 -0
  881. package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
  882. package/dist/types/components/grid/grid.d.ts +4 -0
  883. package/dist/types/components/header/header.d.ts +9 -3
  884. package/dist/types/components/header/header.utils.d.ts +3 -3
  885. package/dist/types/components/img/img.d.ts +3 -0
  886. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  887. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  888. package/dist/types/components/input/input.d.ts +31 -5
  889. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  890. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  891. package/dist/types/components/item/item.d.ts +11 -4
  892. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  893. package/dist/types/components/item-group/item-group.d.ts +4 -0
  894. package/dist/types/components/item-option/item-option.d.ts +18 -1
  895. package/dist/types/components/item-options/item-options.d.ts +4 -0
  896. package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
  897. package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
  898. package/dist/types/components/label/label.d.ts +2 -1
  899. package/dist/types/components/list/list.d.ts +15 -1
  900. package/dist/types/components/list-header/list-header.d.ts +2 -1
  901. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  902. package/dist/types/components/loading/loading.d.ts +3 -2
  903. package/dist/types/components/menu/menu.d.ts +3 -0
  904. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  905. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  906. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  907. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  908. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  909. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  910. package/dist/types/components/modal/modal.d.ts +11 -1
  911. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  912. package/dist/types/components/nav/nav.d.ts +5 -1
  913. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  914. package/dist/types/components/note/note.d.ts +2 -1
  915. package/dist/types/components/picker/picker.d.ts +2 -1
  916. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  917. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  918. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  919. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  920. package/dist/types/components/popover/popover.d.ts +6 -5
  921. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  922. package/dist/types/components/radio/radio.d.ts +2 -1
  923. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  924. package/dist/types/components/range/range.d.ts +2 -1
  925. package/dist/types/components/refresher/refresher.d.ts +2 -1
  926. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  927. package/dist/types/components/reorder/reorder.d.ts +9 -0
  928. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  929. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  930. package/dist/types/components/route/route.d.ts +4 -0
  931. package/dist/types/components/router/router.d.ts +4 -0
  932. package/dist/types/components/router-link/router-link.d.ts +4 -0
  933. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  934. package/dist/types/components/row/row.d.ts +4 -0
  935. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  936. package/dist/types/components/segment/segment.d.ts +2 -1
  937. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  938. package/dist/types/components/select/select-interface.d.ts +31 -0
  939. package/dist/types/components/select/select.d.ts +66 -13
  940. package/dist/types/components/select-modal/select-modal.d.ts +8 -0
  941. package/dist/types/components/select-option/select-option.d.ts +45 -1
  942. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  943. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  944. package/dist/types/components/spinner/spinner.d.ts +15 -0
  945. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  946. package/dist/types/components/tab/tab.d.ts +4 -0
  947. package/dist/types/components/tab-bar/tab-bar.d.ts +37 -2
  948. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  949. package/dist/types/components/tabs/tabs.d.ts +3 -0
  950. package/dist/types/components/text/text.d.ts +2 -1
  951. package/dist/types/components/textarea/textarea.d.ts +53 -4
  952. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  953. package/dist/types/components/title/title.d.ts +4 -0
  954. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  955. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  956. package/dist/types/components/toast/toast.d.ts +19 -2
  957. package/dist/types/components/toggle/toggle.d.ts +15 -1
  958. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  959. package/dist/types/components.d.ts +1854 -207
  960. package/dist/types/global/ionic-global.d.ts +28 -2
  961. package/dist/types/interface.d.ts +3 -0
  962. package/dist/types/utils/config.d.ts +106 -2
  963. package/dist/types/utils/css-value-validation.d.ts +21 -0
  964. package/dist/types/utils/focus-trap.d.ts +1 -1
  965. package/dist/types/utils/focus-visible.d.ts +13 -0
  966. package/dist/types/utils/forms/validity.d.ts +7 -0
  967. package/dist/types/utils/helpers.d.ts +22 -0
  968. package/dist/types/utils/overlay-control-label.d.ts +34 -0
  969. package/dist/types/utils/overlays-interface.d.ts +31 -1
  970. package/dist/types/utils/overlays.d.ts +1 -1
  971. package/dist/types/utils/sanitization/index.d.ts +58 -2
  972. package/dist/types/utils/select-option-render.d.ts +53 -0
  973. package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
  974. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  975. package/dist/types/utils/theme.d.ts +9 -0
  976. package/hydrate/index.js +6010 -1352
  977. package/hydrate/index.mjs +6010 -1352
  978. package/package.json +9 -5
  979. package/components/p--JUspHvy.js +0 -4
  980. package/components/p-5bE_Wz4Y.js +0 -4
  981. package/components/p-B60hm8Qv.js +0 -4
  982. package/components/p-B9jFTlwE.js +0 -4
  983. package/components/p-BHrrc-3d.js +0 -4
  984. package/components/p-BIPPbW0M.js +0 -4
  985. package/components/p-BLmJ0zRm.js +0 -4
  986. package/components/p-BSEgsdFI.js +0 -4
  987. package/components/p-BTPfOxsU.js +0 -4
  988. package/components/p-BUYFy35a.js +0 -4
  989. package/components/p-BWEZufiK.js +0 -4
  990. package/components/p-Baq1XyAy.js +0 -4
  991. package/components/p-BirPFsRD.js +0 -4
  992. package/components/p-BjfgFSSR.js +0 -4
  993. package/components/p-BmVRXR1y.js +0 -4
  994. package/components/p-BnqQlm7c.js +0 -4
  995. package/components/p-BqpciLfi.js +0 -4
  996. package/components/p-BsPelv04.js +0 -4
  997. package/components/p-BsQPAqo9.js +0 -4
  998. package/components/p-Bz0dSlXZ.js +0 -4
  999. package/components/p-C1aScSTo.js +0 -4
  1000. package/components/p-CHqRYvYm.js +0 -4
  1001. package/components/p-CI3ncNZm.js +0 -4
  1002. package/components/p-CIGNaXM1.js +0 -4
  1003. package/components/p-CO7fmmxt.js +0 -4
  1004. package/components/p-CRNiQiYf.js +0 -4
  1005. package/components/p-CSZf8_j0.js +0 -4
  1006. package/components/p-CU5rbWAW.js +0 -4
  1007. package/components/p-C_xFdyXe.js +0 -4
  1008. package/components/p-Cfx4M1Bn.js +0 -4
  1009. package/components/p-Ciz1-FuE.js +0 -4
  1010. package/components/p-CmR5uXej.js +0 -4
  1011. package/components/p-CtWGkNnJ.js +0 -4
  1012. package/components/p-D6Ynv7Xh.js +0 -4
  1013. package/components/p-D7bSXQD3.js +0 -4
  1014. package/components/p-DIE4pXMl.js +0 -4
  1015. package/components/p-DJztqcrH.js +0 -4
  1016. package/components/p-DNQI6d-L.js +0 -4
  1017. package/components/p-DOFCbuQR.js +0 -4
  1018. package/components/p-DiVJyqlX.js +0 -4
  1019. package/components/p-DnL1c9_X.js +0 -4
  1020. package/components/p-DqZAXv2t.js +0 -4
  1021. package/components/p-Sh0ICmPV.js +0 -4
  1022. package/components/p-W5nO8mX_.js +0 -4
  1023. package/components/p-ZjP4CjeZ.js +0 -4
  1024. package/components/p-ijF0iCrA.js +0 -4
  1025. package/components/p-j5IxBIan.js +0 -4
  1026. package/components/p-k_E4tX5Z.js +0 -4
  1027. package/components/p-lE_JGpHD.js +0 -4
  1028. package/components/p-nyXeHk23.js +0 -4
  1029. package/components/p-rCa2eL0j.js +0 -4
  1030. package/components/p-ryqmO0B-.js +0 -4
  1031. package/dist/cjs/config-xninhj0J.js +0 -201
  1032. package/dist/cjs/hardware-back-button-iUuF_76h.js +0 -121
  1033. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1034. package/dist/cjs/ionic-global-B-cA6LkY.js +0 -151
  1035. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1036. package/dist/esm/config-DQCONYYp.js +0 -195
  1037. package/dist/esm/hardware-back-button-B93Gru0Y.js +0 -115
  1038. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1039. package/dist/esm/ionic-global-Cp_eT4sZ.js +0 -146
  1040. package/dist/esm/validity-DJztqcrH.js +0 -17
  1041. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  1042. package/dist/ionic/p-06c232a4.entry.js +0 -4
  1043. package/dist/ionic/p-0dc33652.entry.js +0 -4
  1044. package/dist/ionic/p-0fa9c382.entry.js +0 -4
  1045. package/dist/ionic/p-20b1a044.entry.js +0 -4
  1046. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  1047. package/dist/ionic/p-27d30585.entry.js +0 -4
  1048. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  1049. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  1050. package/dist/ionic/p-3353c229.entry.js +0 -4
  1051. package/dist/ionic/p-34586ead.entry.js +0 -4
  1052. package/dist/ionic/p-37e720da.entry.js +0 -4
  1053. package/dist/ionic/p-390ca786.entry.js +0 -4
  1054. package/dist/ionic/p-3a126bca.entry.js +0 -4
  1055. package/dist/ionic/p-3a7d1e91.entry.js +0 -4
  1056. package/dist/ionic/p-3ae5f277.entry.js +0 -4
  1057. package/dist/ionic/p-4745f534.entry.js +0 -4
  1058. package/dist/ionic/p-4858af1f.entry.js +0 -4
  1059. package/dist/ionic/p-485fda23.entry.js +0 -4
  1060. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  1061. package/dist/ionic/p-4e92a11f.entry.js +0 -4
  1062. package/dist/ionic/p-5018dfc8.entry.js +0 -4
  1063. package/dist/ionic/p-50e1194a.entry.js +0 -4
  1064. package/dist/ionic/p-5d1da0a2.entry.js +0 -4
  1065. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  1066. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  1067. package/dist/ionic/p-6ebdbebe.entry.js +0 -4
  1068. package/dist/ionic/p-75dc25ba.entry.js +0 -4
  1069. package/dist/ionic/p-84d5ce05.entry.js +0 -4
  1070. package/dist/ionic/p-874b4bd8.entry.js +0 -4
  1071. package/dist/ionic/p-8c8eee7d.entry.js +0 -4
  1072. package/dist/ionic/p-8eb8ee76.entry.js +0 -4
  1073. package/dist/ionic/p-8fce95d5.entry.js +0 -4
  1074. package/dist/ionic/p-9a65ac7f.entry.js +0 -4
  1075. package/dist/ionic/p-9eeaBrnk.js +0 -4
  1076. package/dist/ionic/p-9f1103ce.entry.js +0 -4
  1077. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  1078. package/dist/ionic/p-BGqMS-oh.js +0 -4
  1079. package/dist/ionic/p-BUFIpxKM.js +0 -4
  1080. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1081. package/dist/ionic/p-CFlfIb2g.js +0 -4
  1082. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1083. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  1084. package/dist/ionic/p-Cx3IXROA.js +0 -4
  1085. package/dist/ionic/p-D-3ycHmd.js +0 -4
  1086. package/dist/ionic/p-D4uTWt4-.js +0 -4
  1087. package/dist/ionic/p-DC3RagnA.js +0 -4
  1088. package/dist/ionic/p-DIuEbVLu.js +0 -4
  1089. package/dist/ionic/p-DJztqcrH.js +0 -4
  1090. package/dist/ionic/p-DSG2s2Eb.js +0 -4
  1091. package/dist/ionic/p-DV3sJJW8.js +0 -4
  1092. package/dist/ionic/p-Dfbt-q2k.js +0 -4
  1093. package/dist/ionic/p-DiVJyqlX.js +0 -4
  1094. package/dist/ionic/p-DoJvtrbw.js +0 -4
  1095. package/dist/ionic/p-DzWaWHGc.js +0 -4
  1096. package/dist/ionic/p-KjNvRoEp.js +0 -4
  1097. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  1098. package/dist/ionic/p-SNAkTDfm.js +0 -4
  1099. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1100. package/dist/ionic/p-a21add2f.entry.js +0 -4
  1101. package/dist/ionic/p-a3bdcae6.entry.js +0 -4
  1102. package/dist/ionic/p-b6a7397c.entry.js +0 -4
  1103. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  1104. package/dist/ionic/p-c38b648e.entry.js +0 -4
  1105. package/dist/ionic/p-c4d8641b.entry.js +0 -4
  1106. package/dist/ionic/p-c6e49f3f.entry.js +0 -4
  1107. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  1108. package/dist/ionic/p-d889ff6d.entry.js +0 -4
  1109. package/dist/ionic/p-dfa8d673.entry.js +0 -4
  1110. package/dist/ionic/p-e0be05c5.entry.js +0 -4
  1111. package/dist/ionic/p-e6a4bb56.entry.js +0 -4
  1112. package/dist/ionic/p-ec090e0a.entry.js +0 -4
  1113. package/dist/ionic/p-ef4c3bee.entry.js +0 -4
  1114. package/dist/ionic/p-f386f6ae.entry.js +0 -4
  1115. package/dist/ionic/p-fabcce6c.entry.js +0 -4
  1116. package/dist/ionic/p-mjKAFv89.js +0 -4
  1117. package/dist/ionic/p-tcQvqkiX.js +0 -5
  1118. package/dist/ionic/p-viFHDgRs.js +0 -4
  1119. package/dist/ionic/p-xWb6fgfq.js +0 -4
  1120. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -16,6 +16,7 @@ import { BreadcrumbCollapsedClickEventDetail } from "./components/breadcrumb/bre
16
16
  import { CheckboxChangeEventDetail } from "./components/checkbox/checkbox-interface";
17
17
  import { ScrollBaseDetail, ScrollDetail } from "./components/content/content-interface";
18
18
  import { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimeHourCycle, DatetimeParts, DatetimePresentation, FormatOptions, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
19
+ import { GalleryColumns, GalleryGap } from "./components/gallery/gallery-interface";
19
20
  import { SpinnerTypes } from "./components/spinner/spinner-configs";
20
21
  import { InputChangeEventDetail, InputInputEventDetail } from "./components/input/input-interface";
21
22
  import { InputOtpChangeEventDetail, InputOtpCompleteEventDetail, InputOtpInputEventDetail } from "./components/input-otp/input-otp-interface";
@@ -54,6 +55,7 @@ export { BreadcrumbCollapsedClickEventDetail } from "./components/breadcrumb/bre
54
55
  export { CheckboxChangeEventDetail } from "./components/checkbox/checkbox-interface";
55
56
  export { ScrollBaseDetail, ScrollDetail } from "./components/content/content-interface";
56
57
  export { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimeHourCycle, DatetimeParts, DatetimePresentation, FormatOptions, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
58
+ export { GalleryColumns, GalleryGap } from "./components/gallery/gallery-interface";
57
59
  export { SpinnerTypes } from "./components/spinner/spinner-configs";
58
60
  export { InputChangeEventDetail, InputInputEventDetail } from "./components/input/input-interface";
59
61
  export { InputOtpChangeEventDetail, InputOtpCompleteEventDetail, InputOtpInputEventDetail } from "./components/input-otp/input-otp-interface";
@@ -89,7 +91,7 @@ export namespace Components {
89
91
  */
90
92
  "disabled": boolean;
91
93
  /**
92
- * The mode determines which platform styles to use.
94
+ * The mode determines the platform behaviors of the component.
93
95
  */
94
96
  "mode"?: "ios" | "md";
95
97
  /**
@@ -97,11 +99,14 @@ export namespace Components {
97
99
  * @default false
98
100
  */
99
101
  "readonly": boolean;
102
+ /**
103
+ * The theme determines the visual appearance of the component.
104
+ */
105
+ "theme"?: "ios" | "md" | "ionic";
100
106
  /**
101
107
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
102
- * @default chevronDown
103
108
  */
104
- "toggleIcon": string;
109
+ "toggleIcon"?: string;
105
110
  /**
106
111
  * The slot inside of `ion-item` to place the toggle icon. Defaults to `"end"`.
107
112
  * @default 'end'
@@ -131,7 +136,7 @@ export namespace Components {
131
136
  "expand": 'compact' | 'inset';
132
137
  "getAccordions": () => Promise<HTMLIonAccordionElement[]>;
133
138
  /**
134
- * The mode determines which platform styles to use.
139
+ * The mode determines the platform behaviors of the component.
135
140
  */
136
141
  "mode"?: "ios" | "md";
137
142
  /**
@@ -147,6 +152,14 @@ export namespace Components {
147
152
  * 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
153
  */
149
154
  "requestAccordionToggle": (accordionValue: string | undefined, accordionExpand: boolean) => Promise<void>;
155
+ /**
156
+ * 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"`.
157
+ */
158
+ "shape"?: 'soft' | 'round' | 'rectangular';
159
+ /**
160
+ * The theme determines the visual appearance of the component.
161
+ */
162
+ "theme"?: "ios" | "md" | "ionic";
150
163
  /**
151
164
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
152
165
  */
@@ -210,7 +223,7 @@ export namespace Components {
210
223
  */
211
224
  "leaveAnimation"?: AnimationBuilder;
212
225
  /**
213
- * The mode determines which platform styles to use.
226
+ * The mode determines the platform behaviors of the component.
214
227
  */
215
228
  "mode"?: "ios" | "md";
216
229
  /**
@@ -231,7 +244,11 @@ export namespace Components {
231
244
  */
232
245
  "subHeader"?: string;
233
246
  /**
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).
247
+ * The theme determines the visual appearance of the component.
248
+ */
249
+ "theme"?: "ios" | "md" | "ionic";
250
+ /**
251
+ * 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
252
  * @default false
236
253
  */
237
254
  "translucent": boolean;
@@ -307,7 +324,7 @@ export namespace Components {
307
324
  */
308
325
  "message"?: string | IonicSafeString;
309
326
  /**
310
- * The mode determines which platform styles to use.
327
+ * The mode determines the platform behaviors of the component.
311
328
  */
312
329
  "mode"?: "ios" | "md";
313
330
  /**
@@ -328,7 +345,11 @@ export namespace Components {
328
345
  */
329
346
  "subHeader"?: string;
330
347
  /**
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).
348
+ * The theme determines the visual appearance of the component.
349
+ */
350
+ "theme"?: "ios" | "md" | "ionic";
351
+ /**
352
+ * 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
353
  * @default false
333
354
  */
334
355
  "translucent": boolean;
@@ -338,13 +359,42 @@ export namespace Components {
338
359
  "trigger": string | undefined;
339
360
  }
340
361
  interface IonApp {
362
+ /**
363
+ * The mode determines the platform behaviors of the component.
364
+ */
365
+ "mode"?: "ios" | "md";
341
366
  /**
342
367
  * 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
368
  * @param elements An array of HTML elements to set focus on.
344
369
  */
345
370
  "setFocus": (elements: HTMLElement[]) => Promise<void>;
371
+ /**
372
+ * The theme determines the visual appearance of the component.
373
+ */
374
+ "theme"?: "ios" | "md" | "ionic";
346
375
  }
347
376
  interface IonAvatar {
377
+ /**
378
+ * If `true`, the user cannot interact with the avatar.
379
+ * @default false
380
+ */
381
+ "disabled": boolean;
382
+ /**
383
+ * The mode determines the platform behaviors of the component.
384
+ */
385
+ "mode"?: "ios" | "md";
386
+ /**
387
+ * 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.
388
+ */
389
+ "shape"?: 'soft' | 'round' | 'rectangular';
390
+ /**
391
+ * 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.
392
+ */
393
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
394
+ /**
395
+ * The theme determines the visual appearance of the component.
396
+ */
397
+ "theme"?: "ios" | "md" | "ionic";
348
398
  }
349
399
  interface IonBackButton {
350
400
  /**
@@ -365,7 +415,7 @@ export namespace Components {
365
415
  */
366
416
  "icon"?: string | null;
367
417
  /**
368
- * The mode determines which platform styles to use.
418
+ * The mode determines the platform behaviors of the component.
369
419
  */
370
420
  "mode"?: "ios" | "md";
371
421
  /**
@@ -376,6 +426,10 @@ export namespace Components {
376
426
  * The text to display in the back button.
377
427
  */
378
428
  "text"?: string | null;
429
+ /**
430
+ * The theme determines the visual appearance of the component.
431
+ */
432
+ "theme"?: "ios" | "md" | "ionic";
379
433
  /**
380
434
  * The type of the button.
381
435
  * @default 'button'
@@ -383,6 +437,10 @@ export namespace Components {
383
437
  "type": 'submit' | 'reset' | 'button';
384
438
  }
385
439
  interface IonBackdrop {
440
+ /**
441
+ * The mode determines the platform behaviors of the component.
442
+ */
443
+ "mode"?: "ios" | "md";
386
444
  /**
387
445
  * If `true`, the backdrop will stop propagation on tap.
388
446
  * @default true
@@ -393,6 +451,10 @@ export namespace Components {
393
451
  * @default true
394
452
  */
395
453
  "tappable": boolean;
454
+ /**
455
+ * The theme determines the visual appearance of the component.
456
+ */
457
+ "theme"?: "ios" | "md" | "ionic";
396
458
  /**
397
459
  * If `true`, the backdrop will be visible.
398
460
  * @default true
@@ -405,9 +467,29 @@ export namespace Components {
405
467
  */
406
468
  "color"?: Color;
407
469
  /**
408
- * The mode determines which platform styles to use.
470
+ * 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.
471
+ */
472
+ "hue"?: 'bold' | 'subtle';
473
+ /**
474
+ * The mode determines the platform behaviors of the component.
409
475
  */
410
476
  "mode"?: "ios" | "md";
477
+ /**
478
+ * 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.
479
+ */
480
+ "shape"?: 'soft' | 'round | rectangular';
481
+ /**
482
+ * 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.
483
+ */
484
+ "size"?: 'small' | 'medium' | 'large';
485
+ /**
486
+ * The theme determines the visual appearance of the component.
487
+ */
488
+ "theme"?: "ios" | "md" | "ionic";
489
+ /**
490
+ * 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.
491
+ */
492
+ "vertical"?: 'top' | 'bottom';
411
493
  }
412
494
  interface IonBreadcrumb {
413
495
  /**
@@ -438,7 +520,7 @@ export namespace Components {
438
520
  "href": string | undefined;
439
521
  "last": boolean;
440
522
  /**
441
- * The mode determines which platform styles to use.
523
+ * The mode determines the platform behaviors of the component.
442
524
  */
443
525
  "mode"?: "ios" | "md";
444
526
  /**
@@ -463,6 +545,10 @@ export namespace Components {
463
545
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
464
546
  */
465
547
  "target": string | undefined;
548
+ /**
549
+ * The theme determines the visual appearance of the component.
550
+ */
551
+ "theme"?: "ios" | "md" | "ionic";
466
552
  }
467
553
  interface IonBreadcrumbs {
468
554
  /**
@@ -484,9 +570,13 @@ export namespace Components {
484
570
  */
485
571
  "maxItems"?: number;
486
572
  /**
487
- * The mode determines which platform styles to use.
573
+ * The mode determines the platform behaviors of the component.
488
574
  */
489
575
  "mode"?: "ios" | "md";
576
+ /**
577
+ * The theme determines the visual appearance of the component.
578
+ */
579
+ "theme"?: "ios" | "md" | "ionic";
490
580
  }
491
581
  interface IonButton {
492
582
  /**
@@ -512,7 +602,7 @@ export namespace Components {
512
602
  */
513
603
  "expand"?: 'full' | 'block';
514
604
  /**
515
- * Set to `"clear"` for a transparent button that resembles a flat button, to `"outline"` for a transparent button with a border, or to `"solid"` for a button with a filled background. The default fill is `"solid"` except inside of a toolbar, where the default is `"clear"`.
605
+ * Set to `"clear"` for a transparent button that resembles a flat button, to `"outline"` for a transparent button with a border, or to `"solid"` for a button with a filled background. The default fill is `"solid"` except when inside of a buttons or datetime component, where the default fill is `"clear"`.
516
606
  */
517
607
  "fill"?: 'clear' | 'outline' | 'solid' | 'default';
518
608
  /**
@@ -524,7 +614,7 @@ export namespace Components {
524
614
  */
525
615
  "href": string | undefined;
526
616
  /**
527
- * The mode determines which platform styles to use.
617
+ * The mode determines the platform behaviors of the component.
528
618
  */
529
619
  "mode"?: "ios" | "md";
530
620
  /**
@@ -541,13 +631,13 @@ export namespace Components {
541
631
  */
542
632
  "routerDirection": RouterDirection;
543
633
  /**
544
- * Set to `"round"` for a button with more rounded corners.
634
+ * 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
635
  */
546
- "shape"?: 'round';
636
+ "shape"?: 'soft' | 'round' | 'rectangular';
547
637
  /**
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.
638
+ * 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
639
  */
550
- "size"?: 'small' | 'default' | 'large';
640
+ "size"?: 'small' | 'default' | 'medium' | 'large';
551
641
  /**
552
642
  * If `true`, activates a button with a heavier font weight.
553
643
  * @default false
@@ -557,6 +647,10 @@ export namespace Components {
557
647
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
558
648
  */
559
649
  "target": string | undefined;
650
+ /**
651
+ * The theme determines the visual appearance of the component.
652
+ */
653
+ "theme"?: "ios" | "md" | "ionic";
560
654
  /**
561
655
  * The type of the button.
562
656
  * @default 'button'
@@ -565,10 +659,18 @@ export namespace Components {
565
659
  }
566
660
  interface IonButtons {
567
661
  /**
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)
662
+ * 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
663
  * @default false
570
664
  */
571
665
  "collapse": boolean;
666
+ /**
667
+ * The mode determines the platform behaviors of the component.
668
+ */
669
+ "mode"?: "ios" | "md";
670
+ /**
671
+ * The theme determines the visual appearance of the component.
672
+ */
673
+ "theme"?: "ios" | "md" | "ionic";
572
674
  }
573
675
  interface IonCard {
574
676
  /**
@@ -594,7 +696,7 @@ export namespace Components {
594
696
  */
595
697
  "href": string | undefined;
596
698
  /**
597
- * The mode determines which platform styles to use.
699
+ * The mode determines the platform behaviors of the component.
598
700
  */
599
701
  "mode"?: "ios" | "md";
600
702
  /**
@@ -610,10 +712,19 @@ export namespace Components {
610
712
  * @default 'forward'
611
713
  */
612
714
  "routerDirection": RouterDirection;
715
+ /**
716
+ * 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"`.
717
+ * @default 'round'
718
+ */
719
+ "shape"?: 'soft' | 'round' | 'rectangular';
613
720
  /**
614
721
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
615
722
  */
616
723
  "target": string | undefined;
724
+ /**
725
+ * The theme determines the visual appearance of the component.
726
+ */
727
+ "theme"?: "ios" | "md" | "ionic";
617
728
  /**
618
729
  * The type of the button. Only used when an `onclick` or `button` property is present.
619
730
  * @default 'button'
@@ -622,9 +733,13 @@ export namespace Components {
622
733
  }
623
734
  interface IonCardContent {
624
735
  /**
625
- * The mode determines which platform styles to use.
736
+ * The mode determines the platform behaviors of the component.
626
737
  */
627
738
  "mode"?: "ios" | "md";
739
+ /**
740
+ * The theme determines the visual appearance of the component.
741
+ */
742
+ "theme"?: "ios" | "md" | "ionic";
628
743
  }
629
744
  interface IonCardHeader {
630
745
  /**
@@ -632,11 +747,15 @@ export namespace Components {
632
747
  */
633
748
  "color"?: Color;
634
749
  /**
635
- * The mode determines which platform styles to use.
750
+ * The mode determines the platform behaviors of the component.
636
751
  */
637
752
  "mode"?: "ios" | "md";
638
753
  /**
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).
754
+ * The theme determines the visual appearance of the component.
755
+ */
756
+ "theme"?: "ios" | "md" | "ionic";
757
+ /**
758
+ * 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
759
  * @default false
641
760
  */
642
761
  "translucent": boolean;
@@ -647,9 +766,13 @@ export namespace Components {
647
766
  */
648
767
  "color"?: Color;
649
768
  /**
650
- * The mode determines which platform styles to use.
769
+ * The mode determines the platform behaviors of the component.
651
770
  */
652
771
  "mode"?: "ios" | "md";
772
+ /**
773
+ * The theme determines the visual appearance of the component.
774
+ */
775
+ "theme"?: "ios" | "md" | "ionic";
653
776
  }
654
777
  interface IonCardTitle {
655
778
  /**
@@ -657,9 +780,13 @@ export namespace Components {
657
780
  */
658
781
  "color"?: Color;
659
782
  /**
660
- * The mode determines which platform styles to use.
783
+ * The mode determines the platform behaviors of the component.
661
784
  */
662
785
  "mode"?: "ios" | "md";
786
+ /**
787
+ * The theme determines the visual appearance of the component.
788
+ */
789
+ "theme"?: "ios" | "md" | "ionic";
663
790
  }
664
791
  interface IonCheckbox {
665
792
  /**
@@ -703,7 +830,7 @@ export namespace Components {
703
830
  */
704
831
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
705
832
  /**
706
- * The mode determines which platform styles to use.
833
+ * The mode determines the platform behaviors of the component.
707
834
  */
708
835
  "mode"?: "ios" | "md";
709
836
  /**
@@ -717,6 +844,19 @@ export namespace Components {
717
844
  */
718
845
  "required": boolean;
719
846
  "setFocus": () => Promise<void>;
847
+ /**
848
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
849
+ * @default 'soft'
850
+ */
851
+ "shape"?: 'soft' | 'rectangular';
852
+ /**
853
+ * Set to `"small"` for a checkbox with less height and padding.
854
+ */
855
+ "size"?: 'small';
856
+ /**
857
+ * The theme determines the visual appearance of the component.
858
+ */
859
+ "theme"?: "ios" | "md" | "ionic";
720
860
  /**
721
861
  * 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
862
  * @default 'on'
@@ -734,7 +874,12 @@ export namespace Components {
734
874
  */
735
875
  "disabled": boolean;
736
876
  /**
737
- * The mode determines which platform styles to use.
877
+ * 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.
878
+ * @default 'subtle'
879
+ */
880
+ "hue"?: 'bold' | 'subtle';
881
+ /**
882
+ * The mode determines the platform behaviors of the component.
738
883
  */
739
884
  "mode"?: "ios" | "md";
740
885
  /**
@@ -742,8 +887,24 @@ export namespace Components {
742
887
  * @default false
743
888
  */
744
889
  "outline": boolean;
890
+ /**
891
+ * 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.
892
+ */
893
+ "shape"?: 'soft' | 'round' | 'rectangular';
894
+ /**
895
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
896
+ */
897
+ "size"?: 'small' | 'large';
898
+ /**
899
+ * The theme determines the visual appearance of the component.
900
+ */
901
+ "theme"?: "ios" | "md" | "ionic";
745
902
  }
746
903
  interface IonCol {
904
+ /**
905
+ * The mode determines the platform behaviors of the component.
906
+ */
907
+ "mode"?: "ios" | "md";
747
908
  /**
748
909
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
749
910
  */
@@ -768,52 +929,88 @@ export namespace Components {
768
929
  * The amount to offset the column for xs screens, in terms of how many columns it should shift to the end of the total available.
769
930
  */
770
931
  "offsetXs"?: string;
932
+ /**
933
+ * The order of the column, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
934
+ */
935
+ "order"?: string;
936
+ /**
937
+ * The order of the column for lg screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
938
+ */
939
+ "orderLg"?: string;
940
+ /**
941
+ * The order of the column for md screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
942
+ */
943
+ "orderMd"?: string;
944
+ /**
945
+ * The order of the column for sm screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
946
+ */
947
+ "orderSm"?: string;
948
+ /**
949
+ * The order of the column for xl screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
950
+ */
951
+ "orderXl"?: string;
952
+ /**
953
+ * The order of the column for xs screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
954
+ */
955
+ "orderXs"?: string;
771
956
  /**
772
957
  * The amount to pull the column, in terms of how many columns it should shift to the start of the total available.
958
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
773
959
  */
774
960
  "pull"?: string;
775
961
  /**
776
962
  * The amount to pull the column for lg screens, in terms of how many columns it should shift to the start of the total available.
963
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
777
964
  */
778
965
  "pullLg"?: string;
779
966
  /**
780
967
  * The amount to pull the column for md screens, in terms of how many columns it should shift to the start of the total available.
968
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
781
969
  */
782
970
  "pullMd"?: string;
783
971
  /**
784
972
  * The amount to pull the column for sm screens, in terms of how many columns it should shift to the start of the total available.
973
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
785
974
  */
786
975
  "pullSm"?: string;
787
976
  /**
788
977
  * The amount to pull the column for xl screens, in terms of how many columns it should shift to the start of the total available.
978
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
789
979
  */
790
980
  "pullXl"?: string;
791
981
  /**
792
982
  * The amount to pull the column for xs screens, in terms of how many columns it should shift to the start of the total available.
983
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
793
984
  */
794
985
  "pullXs"?: string;
795
986
  /**
796
987
  * The amount to push the column, in terms of how many columns it should shift to the end of the total available.
988
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
797
989
  */
798
990
  "push"?: string;
799
991
  /**
800
992
  * The amount to push the column for lg screens, in terms of how many columns it should shift to the end of the total available.
993
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
801
994
  */
802
995
  "pushLg"?: string;
803
996
  /**
804
997
  * The amount to push the column for md screens, in terms of how many columns it should shift to the end of the total available.
998
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
805
999
  */
806
1000
  "pushMd"?: string;
807
1001
  /**
808
1002
  * The amount to push the column for sm screens, in terms of how many columns it should shift to the end of the total available.
1003
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
809
1004
  */
810
1005
  "pushSm"?: string;
811
1006
  /**
812
1007
  * The amount to push the column for xl screens, in terms of how many columns it should shift to the end of the total available.
1008
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
813
1009
  */
814
1010
  "pushXl"?: string;
815
1011
  /**
816
1012
  * The amount to push the column for xs screens, in terms of how many columns it should shift to the end of the total available.
1013
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
817
1014
  */
818
1015
  "pushXs"?: string;
819
1016
  /**
@@ -840,6 +1037,10 @@ export namespace Components {
840
1037
  * 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
1038
  */
842
1039
  "sizeXs"?: string;
1040
+ /**
1041
+ * The theme determines the visual appearance of the component.
1042
+ */
1043
+ "theme"?: "ios" | "md" | "ionic";
843
1044
  }
844
1045
  interface IonContent {
845
1046
  /**
@@ -868,6 +1069,10 @@ export namespace Components {
868
1069
  * 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
1070
  */
870
1071
  "getScrollElement": () => Promise<HTMLElement>;
1072
+ /**
1073
+ * The mode determines the platform behaviors of the component.
1074
+ */
1075
+ "mode"?: "ios" | "md";
871
1076
  /**
872
1077
  * Recalculate content dimensions. Called by overlays (e.g., popover) when sibling elements like headers or footers have finished rendering and their heights are available, ensuring accurate offset-top calculations.
873
1078
  */
@@ -911,6 +1116,10 @@ export namespace Components {
911
1116
  * @default true
912
1117
  */
913
1118
  "scrollY": boolean;
1119
+ /**
1120
+ * The theme determines the visual appearance of the component.
1121
+ */
1122
+ "theme"?: "ios" | "md" | "ionic";
914
1123
  }
915
1124
  interface IonDatetime {
916
1125
  /**
@@ -999,7 +1208,7 @@ export namespace Components {
999
1208
  */
1000
1209
  "minuteValues"?: number[] | number | string;
1001
1210
  /**
1002
- * The mode determines which platform styles to use.
1211
+ * The mode determines the platform behaviors of the component.
1003
1212
  */
1004
1213
  "mode"?: "ios" | "md";
1005
1214
  /**
@@ -1066,6 +1275,10 @@ export namespace Components {
1066
1275
  * @default 'fixed'
1067
1276
  */
1068
1277
  "size": 'cover' | 'fixed';
1278
+ /**
1279
+ * The theme determines the visual appearance of the component.
1280
+ */
1281
+ "theme"?: "ios" | "md" | "ionic";
1069
1282
  /**
1070
1283
  * 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.
1071
1284
  */
@@ -1095,9 +1308,25 @@ export namespace Components {
1095
1308
  */
1096
1309
  "disabled": boolean;
1097
1310
  /**
1098
- * The mode determines which platform styles to use.
1311
+ * The mode determines the platform behaviors of the component.
1099
1312
  */
1100
1313
  "mode"?: "ios" | "md";
1314
+ /**
1315
+ * The theme determines the visual appearance of the component.
1316
+ */
1317
+ "theme"?: "ios" | "md" | "ionic";
1318
+ }
1319
+ interface IonDivider {
1320
+ /**
1321
+ * If `true`, the divider will have horizontal margins By default, it's `false`
1322
+ * @default false
1323
+ */
1324
+ "inset": boolean;
1325
+ /**
1326
+ * 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"`.
1327
+ * @default 'medium'
1328
+ */
1329
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
1101
1330
  }
1102
1331
  interface IonFab {
1103
1332
  /**
@@ -1118,6 +1347,14 @@ export namespace Components {
1118
1347
  * Where to align the fab horizontally in the viewport.
1119
1348
  */
1120
1349
  "horizontal"?: 'start' | 'end' | 'center';
1350
+ /**
1351
+ * The mode determines the platform behaviors of the component.
1352
+ */
1353
+ "mode"?: "ios" | "md";
1354
+ /**
1355
+ * The theme determines the visual appearance of the component.
1356
+ */
1357
+ "theme"?: "ios" | "md" | "ionic";
1121
1358
  /**
1122
1359
  * Opens/Closes the FAB list container.
1123
1360
  */
@@ -1135,9 +1372,8 @@ export namespace Components {
1135
1372
  "activated": boolean;
1136
1373
  /**
1137
1374
  * 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.
1138
- * @default close
1139
1375
  */
1140
- "closeIcon": string;
1376
+ "closeIcon"?: string;
1141
1377
  /**
1142
1378
  * 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).
1143
1379
  */
@@ -1156,7 +1392,7 @@ export namespace Components {
1156
1392
  */
1157
1393
  "href": string | undefined;
1158
1394
  /**
1159
- * The mode determines which platform styles to use.
1395
+ * The mode determines the platform behaviors of the component.
1160
1396
  */
1161
1397
  "mode"?: "ios" | "md";
1162
1398
  /**
@@ -1186,7 +1422,11 @@ export namespace Components {
1186
1422
  */
1187
1423
  "target": string | undefined;
1188
1424
  /**
1189
- * 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).
1425
+ * The theme determines the visual appearance of the component.
1426
+ */
1427
+ "theme"?: "ios" | "md" | "ionic";
1428
+ /**
1429
+ * 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).
1190
1430
  * @default false
1191
1431
  */
1192
1432
  "translucent": boolean;
@@ -1202,45 +1442,117 @@ export namespace Components {
1202
1442
  * @default false
1203
1443
  */
1204
1444
  "activated": boolean;
1445
+ /**
1446
+ * The mode determines the platform behaviors of the component.
1447
+ */
1448
+ "mode"?: "ios" | "md";
1205
1449
  /**
1206
1450
  * The side the fab list will show on relative to the main fab button.
1207
1451
  * @default 'bottom'
1208
1452
  */
1209
1453
  "side": 'start' | 'end' | 'top' | 'bottom';
1454
+ /**
1455
+ * The theme determines the visual appearance of the component.
1456
+ */
1457
+ "theme"?: "ios" | "md" | "ionic";
1210
1458
  }
1211
1459
  interface IonFooter {
1212
1460
  /**
1213
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
1461
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
1214
1462
  */
1215
1463
  "collapse"?: 'fade';
1216
1464
  /**
1217
- * The mode determines which platform styles to use.
1465
+ * The mode determines the platform behaviors of the component.
1218
1466
  */
1219
1467
  "mode"?: "ios" | "md";
1220
1468
  /**
1221
- * 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.
1469
+ * The theme determines the visual appearance of the component.
1470
+ */
1471
+ "theme"?: "ios" | "md" | "ionic";
1472
+ /**
1473
+ * 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.
1222
1474
  * @default false
1223
1475
  */
1224
1476
  "translucent": boolean;
1225
1477
  }
1478
+ interface IonGallery {
1479
+ /**
1480
+ * The number of columns to display. Can be set as a number or an object of breakpoint values (e.g. `{ xs: 2, sm: 3, md: 4 }`).
1481
+ * @default { xs: 2, sm: 3, md: 4, lg: 6, xl: 8, xxl: 10, }
1482
+ */
1483
+ "columns": GalleryColumns;
1484
+ /**
1485
+ * The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage) values like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`, CSS variables like `var(--app-gallery-gap)`, or numbers (treated as pixel values). Can also be set as a breakpoint map (e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept space-separated values or CSS keyword values like `inherit`, `auto`, etc.
1486
+ * @default '16px'
1487
+ */
1488
+ "gap": GalleryGap;
1489
+ /**
1490
+ * The visual layout of the gallery. When `uniform`, rows take up the height of the tallest item and are spaced evenly across the gallery. Additionally, items will have an aspect ratio of 1/1, forcing them to be square unless a height is explicitly set. When `masonry`, items will be positioned under each other with only the specified gap between them.
1491
+ * @default 'uniform'
1492
+ */
1493
+ "layout": 'uniform' | 'masonry';
1494
+ /**
1495
+ * The mode determines the platform behaviors of the component.
1496
+ */
1497
+ "mode"?: "ios" | "md";
1498
+ /**
1499
+ * The order in which items are positioned. Only applies when layout is `masonry`. When `sequential`, items are positioned in the order they are placed in the DOM. When `best-fit`, items are positioned under the column with the most available space. Defaults to `sequential` when layout is `masonry` and `order` is not explicitly set.
1500
+ */
1501
+ "order"?: 'sequential' | 'best-fit';
1502
+ /**
1503
+ * The theme determines the visual appearance of the component.
1504
+ */
1505
+ "theme"?: "ios" | "md" | "ionic";
1506
+ }
1507
+ interface IonGalleryItem {
1508
+ /**
1509
+ * The mode determines the platform behaviors of the component.
1510
+ */
1511
+ "mode"?: "ios" | "md";
1512
+ /**
1513
+ * Resolve the layout from the parent `ion-gallery`. Called internally on load and connect, and by the gallery when its layout changes.
1514
+ */
1515
+ "syncGalleryLayout": () => Promise<void>;
1516
+ /**
1517
+ * The theme determines the visual appearance of the component.
1518
+ */
1519
+ "theme"?: "ios" | "md" | "ionic";
1520
+ }
1226
1521
  interface IonGrid {
1227
1522
  /**
1228
1523
  * If `true`, the grid will have a fixed width based on the screen size.
1229
1524
  * @default false
1230
1525
  */
1231
1526
  "fixed": boolean;
1527
+ /**
1528
+ * The mode determines the platform behaviors of the component.
1529
+ */
1530
+ "mode"?: "ios" | "md";
1531
+ /**
1532
+ * The theme determines the visual appearance of the component.
1533
+ */
1534
+ "theme"?: "ios" | "md" | "ionic";
1232
1535
  }
1233
1536
  interface IonHeader {
1234
1537
  /**
1235
- * 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)
1538
+ * 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)
1236
1539
  */
1237
1540
  "collapse"?: 'condense' | 'fade';
1238
1541
  /**
1239
- * The mode determines which platform styles to use.
1542
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
1543
+ * @default false
1544
+ */
1545
+ "divider": boolean;
1546
+ /**
1547
+ * The mode determines the platform behaviors of the component.
1240
1548
  */
1241
1549
  "mode"?: "ios" | "md";
1242
1550
  /**
1243
- * 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.
1551
+ * The theme determines the visual appearance of the component.
1552
+ */
1553
+ "theme"?: "ios" | "md" | "ionic";
1554
+ /**
1555
+ * 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.
1244
1556
  * @default false
1245
1557
  */
1246
1558
  "translucent": boolean;
@@ -1250,10 +1562,18 @@ export namespace Components {
1250
1562
  * 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.
1251
1563
  */
1252
1564
  "alt"?: string;
1565
+ /**
1566
+ * The mode determines the platform behaviors of the component.
1567
+ */
1568
+ "mode"?: "ios" | "md";
1253
1569
  /**
1254
1570
  * The image URL. This attribute is mandatory for the `<img>` element.
1255
1571
  */
1256
1572
  "src"?: string;
1573
+ /**
1574
+ * The theme determines the visual appearance of the component.
1575
+ */
1576
+ "theme"?: "ios" | "md" | "ionic";
1257
1577
  }
1258
1578
  interface IonInfiniteScroll {
1259
1579
  /**
@@ -1265,11 +1585,24 @@ export namespace Components {
1265
1585
  * @default false
1266
1586
  */
1267
1587
  "disabled": boolean;
1588
+ /**
1589
+ * The mode determines the platform behaviors of the component.
1590
+ */
1591
+ "mode"?: "ios" | "md";
1268
1592
  /**
1269
1593
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
1270
1594
  * @default 'bottom'
1271
1595
  */
1272
1596
  "position": 'top' | 'bottom';
1597
+ /**
1598
+ * 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.
1599
+ * @default false
1600
+ */
1601
+ "preserveRerenderScrollPosition": boolean;
1602
+ /**
1603
+ * The theme determines the visual appearance of the component.
1604
+ */
1605
+ "theme"?: "ios" | "md" | "ionic";
1273
1606
  /**
1274
1607
  * 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.
1275
1608
  * @default '15%'
@@ -1285,6 +1618,14 @@ export namespace Components {
1285
1618
  * 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.
1286
1619
  */
1287
1620
  "loadingText"?: string | IonicSafeString;
1621
+ /**
1622
+ * The mode determines the platform behaviors of the component.
1623
+ */
1624
+ "mode"?: "ios" | "md";
1625
+ /**
1626
+ * The theme determines the visual appearance of the component.
1627
+ */
1628
+ "theme"?: "ios" | "md" | "ionic";
1288
1629
  }
1289
1630
  interface IonInput {
1290
1631
  /**
@@ -1351,7 +1692,7 @@ export namespace Components {
1351
1692
  */
1352
1693
  "errorText"?: string;
1353
1694
  /**
1354
- * 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.
1695
+ * 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"`.
1355
1696
  */
1356
1697
  "fill"?: 'outline' | 'solid';
1357
1698
  /**
@@ -1371,10 +1712,9 @@ export namespace Components {
1371
1712
  */
1372
1713
  "label"?: string;
1373
1714
  /**
1374
- * 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 ("...").
1375
- * @default 'start'
1715
+ * 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.
1376
1716
  */
1377
- "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1717
+ "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1378
1718
  /**
1379
1719
  * The maximum value, which must not be less than its minimum (min attribute) value.
1380
1720
  */
@@ -1392,7 +1732,7 @@ export namespace Components {
1392
1732
  */
1393
1733
  "minlength"?: number;
1394
1734
  /**
1395
- * The mode determines which platform styles to use.
1735
+ * The mode determines the platform behaviors of the component.
1396
1736
  */
1397
1737
  "mode"?: "ios" | "md";
1398
1738
  /**
@@ -1427,9 +1767,14 @@ export namespace Components {
1427
1767
  */
1428
1768
  "setFocus": () => Promise<void>;
1429
1769
  /**
1430
- * The shape of the input. If "round" it will have an increased border radius.
1770
+ * 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"`.
1771
+ */
1772
+ "shape"?: 'soft' | 'round' | 'rectangular';
1773
+ /**
1774
+ * 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.
1775
+ * @default 'medium'
1431
1776
  */
1432
- "shape"?: 'round';
1777
+ "size"?: 'medium' | 'large' | 'xlarge';
1433
1778
  /**
1434
1779
  * If `true`, the element will have its spelling and grammar checked.
1435
1780
  * @default false
@@ -1439,6 +1784,10 @@ export namespace Components {
1439
1784
  * 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.
1440
1785
  */
1441
1786
  "step"?: string;
1787
+ /**
1788
+ * The theme determines the visual appearance of the component.
1789
+ */
1790
+ "theme"?: "ios" | "md" | "ionic";
1442
1791
  /**
1443
1792
  * The type of control to display. The default type is text.
1444
1793
  * @default 'text'
@@ -1479,6 +1828,10 @@ export namespace Components {
1479
1828
  * @default 4
1480
1829
  */
1481
1830
  "length": number;
1831
+ /**
1832
+ * The mode determines the platform behaviors of the component.
1833
+ */
1834
+ "mode"?: "ios" | "md";
1482
1835
  /**
1483
1836
  * A regex pattern string for allowed characters. Defaults based on type. For numbers (`type="number"`): `"[\p{N}]"` For text (`type="text"`): `"[\p{L}\p{N}]"`
1484
1837
  */
@@ -1507,6 +1860,10 @@ export namespace Components {
1507
1860
  * @default 'medium'
1508
1861
  */
1509
1862
  "size": 'small' | 'medium' | 'large';
1863
+ /**
1864
+ * The theme determines the visual appearance of the component.
1865
+ */
1866
+ "theme"?: "ios" | "md" | "ionic";
1510
1867
  /**
1511
1868
  * The type of input allowed in the input boxes.
1512
1869
  * @default 'number'
@@ -1551,14 +1908,13 @@ export namespace Components {
1551
1908
  */
1552
1909
  "color"?: Color;
1553
1910
  /**
1554
- * 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.
1911
+ * 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.
1555
1912
  */
1556
1913
  "detail"?: boolean;
1557
1914
  /**
1558
1915
  * The icon to use when `detail` is set to `true`.
1559
- * @default chevronForward
1560
1916
  */
1561
- "detailIcon": string;
1917
+ "detailIcon"?: string;
1562
1918
  /**
1563
1919
  * If `true`, the user cannot interact with the item.
1564
1920
  * @default false
@@ -1577,7 +1933,7 @@ export namespace Components {
1577
1933
  */
1578
1934
  "lines"?: 'full' | 'inset' | 'none';
1579
1935
  /**
1580
- * The mode determines which platform styles to use.
1936
+ * The mode determines the platform behaviors of the component.
1581
1937
  */
1582
1938
  "mode"?: "ios" | "md";
1583
1939
  /**
@@ -1597,6 +1953,10 @@ export namespace Components {
1597
1953
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1598
1954
  */
1599
1955
  "target": string | undefined;
1956
+ /**
1957
+ * The theme determines the visual appearance of the component.
1958
+ */
1959
+ "theme"?: "ios" | "md" | "ionic";
1600
1960
  /**
1601
1961
  * The type of the button. Only used when an `onclick` or `button` property is present.
1602
1962
  * @default 'button'
@@ -1609,7 +1969,7 @@ export namespace Components {
1609
1969
  */
1610
1970
  "color"?: Color;
1611
1971
  /**
1612
- * The mode determines which platform styles to use.
1972
+ * The mode determines the platform behaviors of the component.
1613
1973
  */
1614
1974
  "mode"?: "ios" | "md";
1615
1975
  /**
@@ -1617,8 +1977,20 @@ export namespace Components {
1617
1977
  * @default false
1618
1978
  */
1619
1979
  "sticky": boolean;
1980
+ /**
1981
+ * The theme determines the visual appearance of the component.
1982
+ */
1983
+ "theme"?: "ios" | "md" | "ionic";
1620
1984
  }
1621
1985
  interface IonItemGroup {
1986
+ /**
1987
+ * The mode determines the platform behaviors of the component.
1988
+ */
1989
+ "mode"?: "ios" | "md";
1990
+ /**
1991
+ * The theme determines the visual appearance of the component.
1992
+ */
1993
+ "theme"?: "ios" | "md" | "ionic";
1622
1994
  }
1623
1995
  interface IonItemOption {
1624
1996
  /**
@@ -1644,17 +2016,30 @@ export namespace Components {
1644
2016
  */
1645
2017
  "href": string | undefined;
1646
2018
  /**
1647
- * The mode determines which platform styles to use.
2019
+ * 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.
2020
+ * @default 'subtle'
2021
+ */
2022
+ "hue"?: 'bold' | 'subtle';
2023
+ /**
2024
+ * The mode determines the platform behaviors of the component.
1648
2025
  */
1649
2026
  "mode"?: "ios" | "md";
1650
2027
  /**
1651
2028
  * 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).
1652
2029
  */
1653
2030
  "rel": string | undefined;
2031
+ /**
2032
+ * 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.
2033
+ */
2034
+ "shape"?: 'soft' | 'round' | 'rectangular';
1654
2035
  /**
1655
2036
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1656
2037
  */
1657
2038
  "target": string | undefined;
2039
+ /**
2040
+ * The theme determines the visual appearance of the component.
2041
+ */
2042
+ "theme"?: "ios" | "md" | "ionic";
1658
2043
  /**
1659
2044
  * The type of the button.
1660
2045
  * @default 'button'
@@ -1663,11 +2048,19 @@ export namespace Components {
1663
2048
  }
1664
2049
  interface IonItemOptions {
1665
2050
  "fireSwipeEvent": () => Promise<void>;
2051
+ /**
2052
+ * The mode determines the platform behaviors of the component.
2053
+ */
2054
+ "mode"?: "ios" | "md";
1666
2055
  /**
1667
2056
  * 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.
1668
2057
  * @default 'end'
1669
2058
  */
1670
2059
  "side": Side;
2060
+ /**
2061
+ * The theme determines the visual appearance of the component.
2062
+ */
2063
+ "theme"?: "ios" | "md" | "ionic";
1671
2064
  }
1672
2065
  interface IonItemSliding {
1673
2066
  /**
@@ -1691,11 +2084,19 @@ export namespace Components {
1691
2084
  * 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.
1692
2085
  */
1693
2086
  "getSlidingRatio": () => Promise<number>;
2087
+ /**
2088
+ * The mode determines the platform behaviors of the component.
2089
+ */
2090
+ "mode"?: "ios" | "md";
1694
2091
  /**
1695
2092
  * Open the sliding item.
1696
2093
  * @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.
1697
2094
  */
1698
2095
  "open": (side: Side | undefined) => Promise<void>;
2096
+ /**
2097
+ * The theme determines the visual appearance of the component.
2098
+ */
2099
+ "theme"?: "ios" | "md" | "ionic";
1699
2100
  }
1700
2101
  interface IonLabel {
1701
2102
  /**
@@ -1703,13 +2104,17 @@ export namespace Components {
1703
2104
  */
1704
2105
  "color"?: Color;
1705
2106
  /**
1706
- * The mode determines which platform styles to use.
2107
+ * The mode determines the platform behaviors of the component.
1707
2108
  */
1708
2109
  "mode"?: "ios" | "md";
1709
2110
  /**
1710
2111
  * The position determines where and how the label behaves inside an item.
1711
2112
  */
1712
2113
  "position"?: 'fixed' | 'stacked' | 'floating';
2114
+ /**
2115
+ * The theme determines the visual appearance of the component.
2116
+ */
2117
+ "theme"?: "ios" | "md" | "ionic";
1713
2118
  }
1714
2119
  interface IonList {
1715
2120
  /**
@@ -1726,9 +2131,17 @@ export namespace Components {
1726
2131
  */
1727
2132
  "lines"?: 'full' | 'inset' | 'none';
1728
2133
  /**
1729
- * The mode determines which platform styles to use.
2134
+ * The mode determines the platform behaviors of the component.
1730
2135
  */
1731
2136
  "mode"?: "ios" | "md";
2137
+ /**
2138
+ * 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.
2139
+ */
2140
+ "shape"?: 'soft' | 'round' | 'rectangular';
2141
+ /**
2142
+ * The theme determines the visual appearance of the component.
2143
+ */
2144
+ "theme"?: "ios" | "md" | "ionic";
1732
2145
  }
1733
2146
  interface IonListHeader {
1734
2147
  /**
@@ -1740,9 +2153,13 @@ export namespace Components {
1740
2153
  */
1741
2154
  "lines"?: 'full' | 'inset' | 'none';
1742
2155
  /**
1743
- * The mode determines which platform styles to use.
2156
+ * The mode determines the platform behaviors of the component.
1744
2157
  */
1745
2158
  "mode"?: "ios" | "md";
2159
+ /**
2160
+ * The theme determines the visual appearance of the component.
2161
+ */
2162
+ "theme"?: "ios" | "md" | "ionic";
1746
2163
  }
1747
2164
  interface IonLoading {
1748
2165
  /**
@@ -1802,7 +2219,7 @@ export namespace Components {
1802
2219
  */
1803
2220
  "message"?: string | IonicSafeString;
1804
2221
  /**
1805
- * The mode determines which platform styles to use.
2222
+ * The mode determines the platform behaviors of the component.
1806
2223
  */
1807
2224
  "mode"?: "ios" | "md";
1808
2225
  /**
@@ -1828,7 +2245,11 @@ export namespace Components {
1828
2245
  */
1829
2246
  "spinner"?: SpinnerTypes | null;
1830
2247
  /**
1831
- * 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).
2248
+ * The theme determines the visual appearance of the component.
2249
+ */
2250
+ "theme"?: "ios" | "md" | "ionic";
2251
+ /**
2252
+ * 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).
1832
2253
  * @default false
1833
2254
  */
1834
2255
  "translucent": boolean;
@@ -1870,6 +2291,10 @@ export namespace Components {
1870
2291
  * An id for the menu.
1871
2292
  */
1872
2293
  "menuId"?: string;
2294
+ /**
2295
+ * The mode determines the platform behaviors of the component.
2296
+ */
2297
+ "mode"?: "ios" | "md";
1873
2298
  /**
1874
2299
  * Opens the menu. If the menu is already open or it can't be opened, it returns `false`.
1875
2300
  * @param animated If `true`, the menu will animate when opening. If `false`, the menu will open instantly without animation. Defaults to `true`.
@@ -1892,6 +2317,10 @@ export namespace Components {
1892
2317
  * @default true
1893
2318
  */
1894
2319
  "swipeGesture": boolean;
2320
+ /**
2321
+ * The theme determines the visual appearance of the component.
2322
+ */
2323
+ "theme"?: "ios" | "md" | "ionic";
1895
2324
  /**
1896
2325
  * 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`.
1897
2326
  * @param animated If `true`, the menu will animate when opening/closing. If `false`, the menu will open/close instantly without animation. Defaults to `true`.
@@ -1922,9 +2351,13 @@ export namespace Components {
1922
2351
  */
1923
2352
  "menu"?: string;
1924
2353
  /**
1925
- * The mode determines which platform styles to use.
2354
+ * The mode determines the platform behaviors of the component.
1926
2355
  */
1927
2356
  "mode"?: "ios" | "md";
2357
+ /**
2358
+ * The theme determines the visual appearance of the component.
2359
+ */
2360
+ "theme"?: "ios" | "md" | "ionic";
1928
2361
  /**
1929
2362
  * The type of the button.
1930
2363
  * @default 'button'
@@ -1941,6 +2374,14 @@ export namespace Components {
1941
2374
  * 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.
1942
2375
  */
1943
2376
  "menu"?: string;
2377
+ /**
2378
+ * The mode determines the platform behaviors of the component.
2379
+ */
2380
+ "mode"?: "ios" | "md";
2381
+ /**
2382
+ * The theme determines the visual appearance of the component.
2383
+ */
2384
+ "theme"?: "ios" | "md" | "ionic";
1944
2385
  }
1945
2386
  interface IonModal {
1946
2387
  /**
@@ -2045,7 +2486,7 @@ export namespace Components {
2045
2486
  */
2046
2487
  "leaveAnimation"?: AnimationBuilder;
2047
2488
  /**
2048
- * The mode determines which platform styles to use.
2489
+ * The mode determines the platform behaviors of the component.
2049
2490
  */
2050
2491
  "mode"?: "ios" | "md";
2051
2492
  /**
@@ -2070,11 +2511,19 @@ export namespace Components {
2070
2511
  * @param breakpoint The breakpoint value to move the sheet modal to. Must be a value defined in your `breakpoints` array.
2071
2512
  */
2072
2513
  "setCurrentBreakpoint": (breakpoint: number) => Promise<void>;
2514
+ /**
2515
+ * 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.
2516
+ */
2517
+ "shape"?: 'soft' | 'round' | 'rectangular';
2073
2518
  /**
2074
2519
  * 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.
2075
2520
  * @default true
2076
2521
  */
2077
2522
  "showBackdrop": boolean;
2523
+ /**
2524
+ * The theme determines the visual appearance of the component.
2525
+ */
2526
+ "theme"?: "ios" | "md" | "ionic";
2078
2527
  /**
2079
2528
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
2080
2529
  */
@@ -2087,7 +2536,7 @@ export namespace Components {
2087
2536
  */
2088
2537
  "animated": boolean;
2089
2538
  /**
2090
- * 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.
2539
+ * 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.
2091
2540
  */
2092
2541
  "animation"?: AnimationBuilder;
2093
2542
  /**
@@ -2135,6 +2584,10 @@ export namespace Components {
2135
2584
  * @param done The transition complete function.
2136
2585
  */
2137
2586
  "insertPages": (insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean>;
2587
+ /**
2588
+ * The mode determines the platform behaviors of the component.
2589
+ */
2590
+ "mode"?: "ios" | "md";
2138
2591
  /**
2139
2592
  * Pop a component off of the navigation stack. Navigates back from the current component.
2140
2593
  * @param opts The navigation options.
@@ -2206,6 +2659,10 @@ export namespace Components {
2206
2659
  * If the nav component should allow for swipe-to-go-back.
2207
2660
  */
2208
2661
  "swipeGesture"?: boolean;
2662
+ /**
2663
+ * The theme determines the visual appearance of the component.
2664
+ */
2665
+ "theme"?: "ios" | "md" | "ionic";
2209
2666
  }
2210
2667
  interface IonNavLink {
2211
2668
  /**
@@ -2216,6 +2673,10 @@ export namespace Components {
2216
2673
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
2217
2674
  */
2218
2675
  "componentProps"?: ComponentProps;
2676
+ /**
2677
+ * The mode determines the platform behaviors of the component.
2678
+ */
2679
+ "mode"?: "ios" | "md";
2219
2680
  /**
2220
2681
  * The transition animation when navigating to another page.
2221
2682
  */
@@ -2225,6 +2686,10 @@ export namespace Components {
2225
2686
  * @default 'forward'
2226
2687
  */
2227
2688
  "routerDirection": RouterDirection;
2689
+ /**
2690
+ * The theme determines the visual appearance of the component.
2691
+ */
2692
+ "theme"?: "ios" | "md" | "ionic";
2228
2693
  }
2229
2694
  interface IonNote {
2230
2695
  /**
@@ -2232,16 +2697,24 @@ export namespace Components {
2232
2697
  */
2233
2698
  "color"?: Color;
2234
2699
  /**
2235
- * The mode determines which platform styles to use.
2700
+ * The mode determines the platform behaviors of the component.
2236
2701
  */
2237
2702
  "mode"?: "ios" | "md";
2703
+ /**
2704
+ * The theme determines the visual appearance of the component.
2705
+ */
2706
+ "theme"?: "ios" | "md" | "ionic";
2238
2707
  }
2239
2708
  interface IonPicker {
2240
2709
  "exitInputMode": () => Promise<void>;
2241
2710
  /**
2242
- * The mode determines which platform styles to use.
2711
+ * The mode determines the platform behaviors of the component.
2243
2712
  */
2244
2713
  "mode"?: "ios" | "md";
2714
+ /**
2715
+ * The theme determines the visual appearance of the component.
2716
+ */
2717
+ "theme"?: "ios" | "md" | "ionic";
2245
2718
  }
2246
2719
  interface IonPickerColumn {
2247
2720
  /**
@@ -2255,7 +2728,7 @@ export namespace Components {
2255
2728
  */
2256
2729
  "disabled": boolean;
2257
2730
  /**
2258
- * The mode determines which platform styles to use.
2731
+ * The mode determines the platform behaviors of the component.
2259
2732
  */
2260
2733
  "mode"?: "ios" | "md";
2261
2734
  /**
@@ -2272,6 +2745,10 @@ export namespace Components {
2272
2745
  * 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.
2273
2746
  */
2274
2747
  "setValue": (value: PickerColumnValue) => Promise<void>;
2748
+ /**
2749
+ * The theme determines the visual appearance of the component.
2750
+ */
2751
+ "theme"?: "ios" | "md" | "ionic";
2275
2752
  /**
2276
2753
  * The selected option in the picker.
2277
2754
  */
@@ -2288,6 +2765,14 @@ export namespace Components {
2288
2765
  * @default false
2289
2766
  */
2290
2767
  "disabled": boolean;
2768
+ /**
2769
+ * The mode determines the platform behaviors of the component.
2770
+ */
2771
+ "mode"?: "ios" | "md";
2772
+ /**
2773
+ * The theme determines the visual appearance of the component.
2774
+ */
2775
+ "theme"?: "ios" | "md" | "ionic";
2291
2776
  /**
2292
2777
  * The text value of the option.
2293
2778
  */
@@ -2362,7 +2847,7 @@ export namespace Components {
2362
2847
  */
2363
2848
  "leaveAnimation"?: AnimationBuilder;
2364
2849
  /**
2365
- * The mode determines which platform styles to use.
2850
+ * The mode determines the platform behaviors of the component.
2366
2851
  */
2367
2852
  "mode"?: "ios" | "md";
2368
2853
  /**
@@ -2383,6 +2868,10 @@ export namespace Components {
2383
2868
  * @default true
2384
2869
  */
2385
2870
  "showBackdrop": boolean;
2871
+ /**
2872
+ * The theme determines the visual appearance of the component.
2873
+ */
2874
+ "theme"?: "ios" | "md" | "ionic";
2386
2875
  /**
2387
2876
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
2388
2877
  */
@@ -2396,7 +2885,7 @@ export namespace Components {
2396
2885
  }
2397
2886
  interface IonPopover {
2398
2887
  /**
2399
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
2888
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
2400
2889
  */
2401
2890
  "alignment"?: PositionAlign;
2402
2891
  /**
@@ -2405,7 +2894,7 @@ export namespace Components {
2405
2894
  */
2406
2895
  "animated": boolean;
2407
2896
  /**
2408
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
2897
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
2409
2898
  * @default true
2410
2899
  */
2411
2900
  "arrow": boolean;
@@ -2485,7 +2974,7 @@ export namespace Components {
2485
2974
  */
2486
2975
  "leaveAnimation"?: AnimationBuilder;
2487
2976
  /**
2488
- * The mode determines which platform styles to use.
2977
+ * The mode determines the platform behaviors of the component.
2489
2978
  */
2490
2979
  "mode"?: "ios" | "md";
2491
2980
  /**
@@ -2527,7 +3016,11 @@ export namespace Components {
2527
3016
  */
2528
3017
  "size": PopoverSize;
2529
3018
  /**
2530
- * 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).
3019
+ * The theme determines the visual appearance of the component.
3020
+ */
3021
+ "theme"?: "ios" | "md" | "ionic";
3022
+ /**
3023
+ * 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).
2531
3024
  * @default false
2532
3025
  */
2533
3026
  "translucent": boolean;
@@ -2552,7 +3045,7 @@ export namespace Components {
2552
3045
  */
2553
3046
  "color"?: Color;
2554
3047
  /**
2555
- * The mode determines which platform styles to use.
3048
+ * The mode determines the platform behaviors of the component.
2556
3049
  */
2557
3050
  "mode"?: "ios" | "md";
2558
3051
  /**
@@ -2560,6 +3053,14 @@ export namespace Components {
2560
3053
  * @default false
2561
3054
  */
2562
3055
  "reversed": boolean;
3056
+ /**
3057
+ * 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.
3058
+ */
3059
+ "shape"?: 'round' | 'rectangular';
3060
+ /**
3061
+ * The theme determines the visual appearance of the component.
3062
+ */
3063
+ "theme"?: "ios" | "md" | "ionic";
2563
3064
  /**
2564
3065
  * 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).
2565
3066
  * @default 'determinate'
@@ -2595,7 +3096,7 @@ export namespace Components {
2595
3096
  */
2596
3097
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
2597
3098
  /**
2598
- * The mode determines which platform styles to use.
3099
+ * The mode determines the platform behaviors of the component.
2599
3100
  */
2600
3101
  "mode"?: "ios" | "md";
2601
3102
  /**
@@ -2605,6 +3106,10 @@ export namespace Components {
2605
3106
  "name": string;
2606
3107
  "setButtonTabindex": (value: number) => Promise<void>;
2607
3108
  "setFocus": (ev?: globalThis.Event) => Promise<void>;
3109
+ /**
3110
+ * The theme determines the visual appearance of the component.
3111
+ */
3112
+ "theme"?: "ios" | "md" | "ionic";
2608
3113
  /**
2609
3114
  * the value of the radio.
2610
3115
  */
@@ -2628,12 +3133,21 @@ export namespace Components {
2628
3133
  * The helper text to display at the top of the radio group.
2629
3134
  */
2630
3135
  "helperText"?: string;
3136
+ /**
3137
+ * The mode determines the platform behaviors of the component.
3138
+ */
3139
+ "mode"?: "ios" | "md";
2631
3140
  /**
2632
3141
  * The name of the control, which is submitted with the form data.
2633
3142
  * @default this.inputId
2634
3143
  */
2635
3144
  "name": string;
2636
3145
  "setFocus": () => Promise<void>;
3146
+ /**
3147
+ * The theme determines the visual appearance of the component.
3148
+ */
3149
+ "theme"?: "ios" | "md" | "ionic";
3150
+ "updateRadiosTabindex": () => Promise<void>;
2637
3151
  /**
2638
3152
  * the value of the radio group.
2639
3153
  */
@@ -2682,7 +3196,7 @@ export namespace Components {
2682
3196
  */
2683
3197
  "min": number;
2684
3198
  /**
2685
- * The mode determines which platform styles to use.
3199
+ * The mode determines the platform behaviors of the component.
2686
3200
  */
2687
3201
  "mode"?: "ios" | "md";
2688
3202
  /**
@@ -2710,6 +3224,10 @@ export namespace Components {
2710
3224
  * @default 1
2711
3225
  */
2712
3226
  "step": number;
3227
+ /**
3228
+ * The theme determines the visual appearance of the component.
3229
+ */
3230
+ "theme"?: "ios" | "md" | "ionic";
2713
3231
  /**
2714
3232
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
2715
3233
  * @default true
@@ -2745,7 +3263,7 @@ export namespace Components {
2745
3263
  */
2746
3264
  "getProgress": () => Promise<number>;
2747
3265
  /**
2748
- * The mode determines which platform styles to use.
3266
+ * The mode determines the platform behaviors of the component.
2749
3267
  */
2750
3268
  "mode"?: "ios" | "md";
2751
3269
  /**
@@ -2768,8 +3286,16 @@ export namespace Components {
2768
3286
  * @default '280ms'
2769
3287
  */
2770
3288
  "snapbackDuration": string;
3289
+ /**
3290
+ * The theme determines the visual appearance of the component.
3291
+ */
3292
+ "theme"?: "ios" | "md" | "ionic";
2771
3293
  }
2772
3294
  interface IonRefresherContent {
3295
+ /**
3296
+ * The mode determines the platform behaviors of the component.
3297
+ */
3298
+ "mode"?: "ios" | "md";
2773
3299
  /**
2774
3300
  * 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.
2775
3301
  */
@@ -2786,8 +3312,20 @@ export namespace Components {
2786
3312
  * 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.
2787
3313
  */
2788
3314
  "refreshingText"?: string | IonicSafeString;
3315
+ /**
3316
+ * The theme determines the visual appearance of the component.
3317
+ */
3318
+ "theme"?: "ios" | "md" | "ionic";
2789
3319
  }
2790
3320
  interface IonReorder {
3321
+ /**
3322
+ * The mode determines the platform behaviors of the component.
3323
+ */
3324
+ "mode"?: "ios" | "md";
3325
+ /**
3326
+ * The theme determines the visual appearance of the component.
3327
+ */
3328
+ "theme"?: "ios" | "md" | "ionic";
2791
3329
  }
2792
3330
  interface IonReorderGroup {
2793
3331
  /**
@@ -2800,6 +3338,14 @@ export namespace Components {
2800
3338
  * @default true
2801
3339
  */
2802
3340
  "disabled": boolean;
3341
+ /**
3342
+ * The mode determines the platform behaviors of the component.
3343
+ */
3344
+ "mode"?: "ios" | "md";
3345
+ /**
3346
+ * The theme determines the visual appearance of the component.
3347
+ */
3348
+ "theme"?: "ios" | "md" | "ionic";
2803
3349
  }
2804
3350
  interface IonRippleEffect {
2805
3351
  /**
@@ -2808,6 +3354,14 @@ export namespace Components {
2808
3354
  * @param y The vertical coordinate of where the ripple should start.
2809
3355
  */
2810
3356
  "addRipple": (x: number, y: number) => Promise<() => void>;
3357
+ /**
3358
+ * The mode determines the platform behaviors of the component.
3359
+ */
3360
+ "mode"?: "ios" | "md";
3361
+ /**
3362
+ * The theme determines the visual appearance of the component.
3363
+ */
3364
+ "theme"?: "ios" | "md" | "ionic";
2811
3365
  /**
2812
3366
  * 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.
2813
3367
  * @default 'bounded'
@@ -2831,6 +3385,14 @@ export namespace Components {
2831
3385
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
2832
3386
  */
2833
3387
  "componentProps"?: { [key: string]: any };
3388
+ /**
3389
+ * The mode determines the platform behaviors of the component.
3390
+ */
3391
+ "mode"?: "ios" | "md";
3392
+ /**
3393
+ * The theme determines the visual appearance of the component.
3394
+ */
3395
+ "theme"?: "ios" | "md" | "ionic";
2834
3396
  /**
2835
3397
  * 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.
2836
3398
  * @default ''
@@ -2853,6 +3415,10 @@ export namespace Components {
2853
3415
  */
2854
3416
  "back": () => Promise<void>;
2855
3417
  "canTransition": () => Promise<string | boolean>;
3418
+ /**
3419
+ * The mode determines the platform behaviors of the component.
3420
+ */
3421
+ "mode"?: "ios" | "md";
2856
3422
  "navChanged": (direction: RouterDirection) => Promise<boolean>;
2857
3423
  "printDebug": () => Promise<void>;
2858
3424
  /**
@@ -2867,6 +3433,10 @@ export namespace Components {
2867
3433
  * @default '/'
2868
3434
  */
2869
3435
  "root": string;
3436
+ /**
3437
+ * The theme determines the visual appearance of the component.
3438
+ */
3439
+ "theme"?: "ios" | "md" | "ionic";
2870
3440
  /**
2871
3441
  * 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.
2872
3442
  * @default true
@@ -2882,6 +3452,10 @@ export namespace Components {
2882
3452
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2883
3453
  */
2884
3454
  "href": string | undefined;
3455
+ /**
3456
+ * The mode determines the platform behaviors of the component.
3457
+ */
3458
+ "mode"?: "ios" | "md";
2885
3459
  /**
2886
3460
  * 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).
2887
3461
  */
@@ -2899,6 +3473,10 @@ export namespace Components {
2899
3473
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2900
3474
  */
2901
3475
  "target": string | undefined;
3476
+ /**
3477
+ * The theme determines the visual appearance of the component.
3478
+ */
3479
+ "theme"?: "ios" | "md" | "ionic";
2902
3480
  }
2903
3481
  interface IonRouterOutlet {
2904
3482
  /**
@@ -2914,14 +3492,26 @@ export namespace Components {
2914
3492
  "delegate"?: FrameworkDelegate;
2915
3493
  "getRouteId": () => Promise<RouteID | undefined>;
2916
3494
  /**
2917
- * The mode determines which platform styles to use.
3495
+ * The mode determines the platform behaviors of the component.
2918
3496
  * @default getIonMode(this)
2919
3497
  */
2920
3498
  "mode": "ios" | "md";
2921
3499
  "setRouteId": (id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>;
2922
3500
  "swipeHandler"?: SwipeGestureHandler;
3501
+ /**
3502
+ * The theme determines the visual appearance of the component.
3503
+ */
3504
+ "theme"?: "ios" | "md" | "ionic";
2923
3505
  }
2924
3506
  interface IonRow {
3507
+ /**
3508
+ * The mode determines the platform behaviors of the component.
3509
+ */
3510
+ "mode"?: "ios" | "md";
3511
+ /**
3512
+ * The theme determines the visual appearance of the component.
3513
+ */
3514
+ "theme"?: "ios" | "md" | "ionic";
2925
3515
  }
2926
3516
  interface IonSearchbar {
2927
3517
  /**
@@ -2945,17 +3535,16 @@ export namespace Components {
2945
3535
  */
2946
3536
  "autocorrect": 'on' | 'off';
2947
3537
  /**
2948
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
2949
- * @default config.get('backButtonIcon', arrowBackSharp) as string
3538
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
2950
3539
  */
2951
- "cancelButtonIcon": string;
3540
+ "cancelButtonIcon"?: string;
2952
3541
  /**
2953
- * Set the cancel button text. Only applies to `ios` mode.
3542
+ * Set the cancel button text. Only available when the theme is `"ios"`.
2954
3543
  * @default 'Cancel'
2955
3544
  */
2956
3545
  "cancelButtonText": string;
2957
3546
  /**
2958
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
3547
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
2959
3548
  */
2960
3549
  "clearIcon"?: string;
2961
3550
  /**
@@ -2992,7 +3581,7 @@ export namespace Components {
2992
3581
  */
2993
3582
  "minlength"?: number;
2994
3583
  /**
2995
- * The mode determines which platform styles to use.
3584
+ * The mode determines the platform behaviors of the component.
2996
3585
  */
2997
3586
  "mode"?: "ios" | "md";
2998
3587
  /**
@@ -3006,13 +3595,17 @@ export namespace Components {
3006
3595
  */
3007
3596
  "placeholder": string;
3008
3597
  /**
3009
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
3598
+ * 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.
3010
3599
  */
3011
- "searchIcon"?: string;
3600
+ "searchIcon"?: string | boolean;
3012
3601
  /**
3013
3602
  * 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.
3014
3603
  */
3015
3604
  "setFocus": () => Promise<void>;
3605
+ /**
3606
+ * 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.
3607
+ */
3608
+ "shape"?: 'soft' | 'round' | 'rectangular';
3016
3609
  /**
3017
3610
  * 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.
3018
3611
  * @default 'never'
@@ -3023,11 +3616,19 @@ export namespace Components {
3023
3616
  * @default 'always'
3024
3617
  */
3025
3618
  "showClearButton": 'never' | 'focus' | 'always';
3619
+ /**
3620
+ * 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.
3621
+ */
3622
+ "size"?: 'small' | 'medium' | 'large';
3026
3623
  /**
3027
3624
  * If `true`, enable spellcheck on the input.
3028
3625
  * @default false
3029
3626
  */
3030
3627
  "spellcheck": boolean;
3628
+ /**
3629
+ * The theme determines the visual appearance of the component.
3630
+ */
3631
+ "theme"?: "ios" | "md" | "ionic";
3031
3632
  /**
3032
3633
  * Set the type of the input.
3033
3634
  * @default 'search'
@@ -3050,7 +3651,7 @@ export namespace Components {
3050
3651
  */
3051
3652
  "disabled": boolean;
3052
3653
  /**
3053
- * The mode determines which platform styles to use.
3654
+ * The mode determines the platform behaviors of the component.
3054
3655
  */
3055
3656
  "mode"?: "ios" | "md";
3056
3657
  /**
@@ -3068,6 +3669,10 @@ export namespace Components {
3068
3669
  * @default true
3069
3670
  */
3070
3671
  "swipeGesture": boolean;
3672
+ /**
3673
+ * The theme determines the visual appearance of the component.
3674
+ */
3675
+ "theme"?: "ios" | "md" | "ionic";
3071
3676
  /**
3072
3677
  * the value of the segment.
3073
3678
  */
@@ -3089,10 +3694,14 @@ export namespace Components {
3089
3694
  */
3090
3695
  "layout"?: SegmentButtonLayout;
3091
3696
  /**
3092
- * The mode determines which platform styles to use.
3697
+ * The mode determines the platform behaviors of the component.
3093
3698
  */
3094
3699
  "mode"?: "ios" | "md";
3095
3700
  "setFocus": () => Promise<void>;
3701
+ /**
3702
+ * The theme determines the visual appearance of the component.
3703
+ */
3704
+ "theme"?: "ios" | "md" | "ionic";
3096
3705
  /**
3097
3706
  * The type of the button.
3098
3707
  * @default 'button'
@@ -3124,6 +3733,11 @@ export namespace Components {
3124
3733
  "swipeGesture": boolean;
3125
3734
  }
3126
3735
  interface IonSelect {
3736
+ /**
3737
+ * If `true`, the cancel button will display an icon instead of the `cancelText`. Only applies when `interface` is set to `"modal"`. Has no effect on `"action-sheet"`, `"alert"`, or `"popover"` interfaces. When `cancelIcon` is `true`, the `cancelText` property is ignored for display but is used as the accessible label for the icon button.
3738
+ * @default false
3739
+ */
3740
+ "cancelIcon": boolean;
3127
3741
  /**
3128
3742
  * The text to display on the cancel button.
3129
3743
  * @default 'Cancel'
@@ -3147,11 +3761,11 @@ export namespace Components {
3147
3761
  */
3148
3762
  "errorText"?: string;
3149
3763
  /**
3150
- * 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.
3764
+ * 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.
3151
3765
  */
3152
3766
  "expandedIcon"?: string;
3153
3767
  /**
3154
- * 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.
3768
+ * 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.
3155
3769
  */
3156
3770
  "fill"?: 'outline' | 'solid';
3157
3771
  /**
@@ -3182,7 +3796,7 @@ export namespace Components {
3182
3796
  */
3183
3797
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
3184
3798
  /**
3185
- * The mode determines which platform styles to use.
3799
+ * The mode determines the platform behaviors of the component.
3186
3800
  */
3187
3801
  "mode"?: "ios" | "md";
3188
3802
  /**
@@ -3219,11 +3833,19 @@ export namespace Components {
3219
3833
  */
3220
3834
  "selectedText"?: string | null;
3221
3835
  /**
3222
- * The shape of the select. If "round" it will have an increased border radius.
3836
+ * 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.
3223
3837
  */
3224
- "shape"?: 'round';
3838
+ "shape"?: 'soft' | 'round' | 'rectangular';
3225
3839
  /**
3226
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
3840
+ * 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.
3841
+ */
3842
+ "size"?: 'small' | 'medium' | 'large';
3843
+ /**
3844
+ * The theme determines the visual appearance of the component.
3845
+ */
3846
+ "theme"?: "ios" | "md" | "ionic";
3847
+ /**
3848
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
3227
3849
  */
3228
3850
  "toggleIcon"?: string;
3229
3851
  /**
@@ -3232,6 +3854,11 @@ export namespace Components {
3232
3854
  "value"?: any | null;
3233
3855
  }
3234
3856
  interface IonSelectModal {
3857
+ /**
3858
+ * If `true`, the cancel button will display a close icon instead of the `cancelText`. When `cancelIcon` is `true`, `cancelText` is not displayed visually but is still used as the accessible label (`aria-label`) for the button.
3859
+ * @default false
3860
+ */
3861
+ "cancelIcon": boolean;
3235
3862
  /**
3236
3863
  * The text to display on the cancel button.
3237
3864
  * @default 'Close'
@@ -3246,10 +3873,30 @@ export namespace Components {
3246
3873
  }
3247
3874
  interface IonSelectOption {
3248
3875
  /**
3249
- * 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.
3876
+ * Text that is placed underneath the option text to provide additional details about the option.
3877
+ */
3878
+ "description"?: string;
3879
+ /**
3880
+ * If `true`, the user cannot interact with the select option.
3250
3881
  * @default false
3251
3882
  */
3252
3883
  "disabled": boolean;
3884
+ /**
3885
+ * How to pack the label and the option's selection control within a line. `"start"`: The label and radio will appear on the left in LTR and on the right in RTL. `"end"`: The label and radio will appear on the right in LTR and on the left in RTL. `"space-between"`: The label and radio will appear on opposite ends of the line with space between the two elements. Applies to the `alert`, `popover`, and `modal` interfaces, but has no visible effect on radio options in `popover` or `modal` on the `md` and `ionic` themes (the radio control is hidden there). When unset, the interface picks a default based on theme and control type.
3886
+ */
3887
+ "justify"?: 'start' | 'end' | 'space-between';
3888
+ /**
3889
+ * Where the label is placed relative to the option's selection control (radio circle or checkbox box) when the option is rendered in an `alert`, `popover`, or `modal` interface. `"start"`: The label will appear to the left of the radio in LTR and to the right in RTL. `"end"`: The label will appear to the right of the radio in LTR and to the left in RTL. Applies to the `alert`, `popover`, and `modal` interfaces, but has no visible effect on radio options in `popover` or `modal` on the `md` and `ionic` themes (the radio control is hidden there). When unset, the interface picks a default based on theme and control type.
3890
+ */
3891
+ "labelPlacement"?: 'start' | 'end';
3892
+ /**
3893
+ * The mode determines the platform behaviors of the component.
3894
+ */
3895
+ "mode"?: "ios" | "md";
3896
+ /**
3897
+ * The theme determines the visual appearance of the component.
3898
+ */
3899
+ "theme"?: "ios" | "md" | "ionic";
3253
3900
  /**
3254
3901
  * The text value of the option.
3255
3902
  */
@@ -3264,6 +3911,10 @@ export namespace Components {
3264
3911
  * The text content of the popover body
3265
3912
  */
3266
3913
  "message"?: string;
3914
+ /**
3915
+ * The mode determines the platform behaviors of the component.
3916
+ */
3917
+ "mode"?: "ios" | "md";
3267
3918
  /**
3268
3919
  * If true, the select accepts multiple values
3269
3920
  */
@@ -3277,6 +3928,10 @@ export namespace Components {
3277
3928
  * The subheader text of the popover
3278
3929
  */
3279
3930
  "subHeader"?: string;
3931
+ /**
3932
+ * The theme determines the visual appearance of the component.
3933
+ */
3934
+ "theme"?: "ios" | "md" | "ionic";
3280
3935
  }
3281
3936
  interface IonSkeletonText {
3282
3937
  /**
@@ -3284,6 +3939,14 @@ export namespace Components {
3284
3939
  * @default false
3285
3940
  */
3286
3941
  "animated": boolean;
3942
+ /**
3943
+ * The mode determines the platform behaviors of the component.
3944
+ */
3945
+ "mode"?: "ios" | "md";
3946
+ /**
3947
+ * The theme determines the visual appearance of the component.
3948
+ */
3949
+ "theme"?: "ios" | "md" | "ionic";
3287
3950
  }
3288
3951
  interface IonSpinner {
3289
3952
  /**
@@ -3294,6 +3957,10 @@ export namespace Components {
3294
3957
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
3295
3958
  */
3296
3959
  "duration"?: number;
3960
+ /**
3961
+ * The mode determines the platform behaviors of the component.
3962
+ */
3963
+ "mode"?: "ios" | "md";
3297
3964
  /**
3298
3965
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
3299
3966
  */
@@ -3303,6 +3970,14 @@ export namespace Components {
3303
3970
  * @default false
3304
3971
  */
3305
3972
  "paused": boolean;
3973
+ /**
3974
+ * 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.
3975
+ */
3976
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
3977
+ /**
3978
+ * The theme determines the visual appearance of the component.
3979
+ */
3980
+ "theme"?: "ios" | "md" | "ionic";
3306
3981
  }
3307
3982
  interface IonSplitPane {
3308
3983
  /**
@@ -3315,6 +3990,14 @@ export namespace Components {
3315
3990
  */
3316
3991
  "disabled": boolean;
3317
3992
  "isVisible": () => Promise<boolean>;
3993
+ /**
3994
+ * The mode determines the platform behaviors of the component.
3995
+ */
3996
+ "mode"?: "ios" | "md";
3997
+ /**
3998
+ * The theme determines the visual appearance of the component.
3999
+ */
4000
+ "theme"?: "ios" | "md" | "ionic";
3318
4001
  /**
3319
4002
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
3320
4003
  * @default '(min-width: 992px)'
@@ -3331,6 +4014,10 @@ export namespace Components {
3331
4014
  */
3332
4015
  "component"?: ComponentRef;
3333
4016
  "delegate"?: FrameworkDelegate;
4017
+ /**
4018
+ * The mode determines the platform behaviors of the component.
4019
+ */
4020
+ "mode"?: "ios" | "md";
3334
4021
  /**
3335
4022
  * Set the active component for the tab
3336
4023
  */
@@ -3339,6 +4026,10 @@ export namespace Components {
3339
4026
  * 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.
3340
4027
  */
3341
4028
  "tab": string;
4029
+ /**
4030
+ * The theme determines the visual appearance of the component.
4031
+ */
4032
+ "theme"?: "ios" | "md" | "ionic";
3342
4033
  }
3343
4034
  interface IonTabBar {
3344
4035
  /**
@@ -3346,7 +4037,17 @@ export namespace Components {
3346
4037
  */
3347
4038
  "color"?: Color;
3348
4039
  /**
3349
- * The mode determines which platform styles to use.
4040
+ * 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"`.
4041
+ * @default 'full'
4042
+ */
4043
+ "expand": 'compact' | 'full';
4044
+ /**
4045
+ * If `true`, the tab bar will be hidden when the user scrolls down and shown when the user scrolls up. Only applies when the theme is `"ionic"` and `expand` is `"compact"`.
4046
+ * @default false
4047
+ */
4048
+ "hideOnScroll": boolean;
4049
+ /**
4050
+ * The mode determines the platform behaviors of the component.
3350
4051
  */
3351
4052
  "mode"?: "ios" | "md";
3352
4053
  /**
@@ -3354,7 +4055,15 @@ export namespace Components {
3354
4055
  */
3355
4056
  "selectedTab"?: string;
3356
4057
  /**
3357
- * 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).
4058
+ * 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.
4059
+ */
4060
+ "shape"?: 'soft' | 'round' | 'rectangular';
4061
+ /**
4062
+ * The theme determines the visual appearance of the component.
4063
+ */
4064
+ "theme"?: "ios" | "md" | "ionic";
4065
+ /**
4066
+ * 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).
3358
4067
  * @default false
3359
4068
  */
3360
4069
  "translucent": boolean;
@@ -3378,7 +4087,7 @@ export namespace Components {
3378
4087
  */
3379
4088
  "layout"?: TabButtonLayout;
3380
4089
  /**
3381
- * The mode determines which platform styles to use.
4090
+ * The mode determines the platform behaviors of the component.
3382
4091
  */
3383
4092
  "mode"?: "ios" | "md";
3384
4093
  /**
@@ -3390,6 +4099,10 @@ export namespace Components {
3390
4099
  * @default false
3391
4100
  */
3392
4101
  "selected": boolean;
4102
+ /**
4103
+ * 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.
4104
+ */
4105
+ "shape"?: 'soft' | 'round' | 'rectangular';
3393
4106
  /**
3394
4107
  * 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.
3395
4108
  */
@@ -3398,6 +4111,10 @@ export namespace Components {
3398
4111
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
3399
4112
  */
3400
4113
  "target": string | undefined;
4114
+ /**
4115
+ * The theme determines the visual appearance of the component.
4116
+ */
4117
+ "theme"?: "ios" | "md" | "ionic";
3401
4118
  }
3402
4119
  interface IonTabs {
3403
4120
  "getRouteId": () => Promise<RouteID | undefined>;
@@ -3410,12 +4127,20 @@ export namespace Components {
3410
4127
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3411
4128
  */
3412
4129
  "getTab": (tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined>;
4130
+ /**
4131
+ * The mode determines the platform behaviors of the component.
4132
+ */
4133
+ "mode"?: "ios" | "md";
3413
4134
  /**
3414
4135
  * 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.
3415
4136
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3416
4137
  */
3417
4138
  "select": (tab: string | HTMLIonTabElement) => Promise<boolean>;
3418
4139
  "setRouteId": (id: string) => Promise<RouteWrite>;
4140
+ /**
4141
+ * The theme determines the visual appearance of the component.
4142
+ */
4143
+ "theme"?: "ios" | "md" | "ionic";
3419
4144
  /**
3420
4145
  * @default false
3421
4146
  */
@@ -3427,9 +4152,13 @@ export namespace Components {
3427
4152
  */
3428
4153
  "color"?: Color;
3429
4154
  /**
3430
- * The mode determines which platform styles to use.
4155
+ * The mode determines the platform behaviors of the component.
3431
4156
  */
3432
4157
  "mode"?: "ios" | "md";
4158
+ /**
4159
+ * The theme determines the visual appearance of the component.
4160
+ */
4161
+ "theme"?: "ios" | "md" | "ionic";
3433
4162
  }
3434
4163
  interface IonTextarea {
3435
4164
  /**
@@ -3487,7 +4216,7 @@ export namespace Components {
3487
4216
  */
3488
4217
  "errorText"?: string;
3489
4218
  /**
3490
- * 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.
4219
+ * 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"`.
3491
4220
  */
3492
4221
  "fill"?: 'outline' | 'solid';
3493
4222
  /**
@@ -3520,7 +4249,7 @@ export namespace Components {
3520
4249
  */
3521
4250
  "minlength"?: number;
3522
4251
  /**
3523
- * The mode determines which platform styles to use.
4252
+ * The mode determines the platform behaviors of the component.
3524
4253
  */
3525
4254
  "mode"?: "ios" | "md";
3526
4255
  /**
@@ -3551,14 +4280,23 @@ export namespace Components {
3551
4280
  */
3552
4281
  "setFocus": () => Promise<void>;
3553
4282
  /**
3554
- * The shape of the textarea. If "round" it will have an increased border radius.
4283
+ * 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.
3555
4284
  */
3556
- "shape"?: 'round';
4285
+ "shape"?: 'soft' | 'round' | 'rectangular';
4286
+ /**
4287
+ * 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.
4288
+ * @default 'medium'
4289
+ */
4290
+ "size"?: 'small' | 'medium' | 'large';
3557
4291
  /**
3558
4292
  * If `true`, the element will have its spelling and grammar checked.
3559
4293
  * @default false
3560
4294
  */
3561
4295
  "spellcheck": boolean;
4296
+ /**
4297
+ * The theme determines the visual appearance of the component.
4298
+ */
4299
+ "theme"?: "ios" | "md" | "ionic";
3562
4300
  /**
3563
4301
  * The value of the textarea.
3564
4302
  * @default ''
@@ -3570,16 +4308,32 @@ export namespace Components {
3570
4308
  "wrap"?: 'hard' | 'soft' | 'off';
3571
4309
  }
3572
4310
  interface IonThumbnail {
4311
+ /**
4312
+ * The mode determines the platform behaviors of the component.
4313
+ */
4314
+ "mode"?: "ios" | "md";
4315
+ /**
4316
+ * The theme determines the visual appearance of the component.
4317
+ */
4318
+ "theme"?: "ios" | "md" | "ionic";
3573
4319
  }
3574
4320
  interface IonTitle {
3575
4321
  /**
3576
4322
  * 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).
3577
4323
  */
3578
4324
  "color"?: Color;
4325
+ /**
4326
+ * The mode determines the platform behaviors of the component.
4327
+ */
4328
+ "mode"?: "ios" | "md";
3579
4329
  /**
3580
4330
  * The size of the toolbar title.
3581
4331
  */
3582
4332
  "size"?: 'large' | 'small';
4333
+ /**
4334
+ * The theme determines the visual appearance of the component.
4335
+ */
4336
+ "theme"?: "ios" | "md" | "ionic";
3583
4337
  }
3584
4338
  interface IonToast {
3585
4339
  /**
@@ -3627,6 +4381,11 @@ export namespace Components {
3627
4381
  * Additional attributes to pass to the toast.
3628
4382
  */
3629
4383
  "htmlAttributes"?: { [key: string]: any };
4384
+ /**
4385
+ * 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.
4386
+ * @default 'subtle'
4387
+ */
4388
+ "hue"?: 'bold' | 'subtle';
3630
4389
  /**
3631
4390
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
3632
4391
  */
@@ -3655,7 +4414,7 @@ export namespace Components {
3655
4414
  */
3656
4415
  "message"?: string | IonicSafeString;
3657
4416
  /**
3658
- * The mode determines which platform styles to use.
4417
+ * The mode determines the platform behaviors of the component.
3659
4418
  */
3660
4419
  "mode"?: "ios" | "md";
3661
4420
  /**
@@ -3680,12 +4439,20 @@ export namespace Components {
3680
4439
  * Present the toast overlay after it has been created.
3681
4440
  */
3682
4441
  "present": () => Promise<void>;
4442
+ /**
4443
+ * 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.
4444
+ */
4445
+ "shape"?: 'soft' | 'round' | 'rectangular';
3683
4446
  /**
3684
4447
  * 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.
3685
4448
  */
3686
4449
  "swipeGesture"?: ToastSwipeGestureDirection;
3687
4450
  /**
3688
- * 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).
4451
+ * The theme determines the visual appearance of the component.
4452
+ */
4453
+ "theme"?: "ios" | "md" | "ionic";
4454
+ /**
4455
+ * 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).
3689
4456
  * @default false
3690
4457
  */
3691
4458
  "translucent": boolean;
@@ -3736,7 +4503,7 @@ export namespace Components {
3736
4503
  */
3737
4504
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
3738
4505
  /**
3739
- * The mode determines which platform styles to use.
4506
+ * The mode determines the platform behaviors of the component.
3740
4507
  */
3741
4508
  "mode"?: "ios" | "md";
3742
4509
  /**
@@ -3749,6 +4516,10 @@ export namespace Components {
3749
4516
  * @default false
3750
4517
  */
3751
4518
  "required": boolean;
4519
+ /**
4520
+ * The theme determines the visual appearance of the component.
4521
+ */
4522
+ "theme"?: "ios" | "md" | "ionic";
3752
4523
  /**
3753
4524
  * 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>`.
3754
4525
  * @default 'on'
@@ -3761,9 +4532,17 @@ export namespace Components {
3761
4532
  */
3762
4533
  "color"?: Color;
3763
4534
  /**
3764
- * The mode determines which platform styles to use.
4535
+ * The mode determines the platform behaviors of the component.
3765
4536
  */
3766
4537
  "mode"?: "ios" | "md";
4538
+ /**
4539
+ * The theme determines the visual appearance of the component.
4540
+ */
4541
+ "theme"?: "ios" | "md" | "ionic";
4542
+ /**
4543
+ * Where to place the title relative to the other toolbar content. `"start"`: The title will appear to the left of the toolbar content in LTR and to the right in RTL. `"center"`: The title will appear in the center of the toolbar. `"end"`: The title will appear to the right of the toolbar content in LTR and to the left in RTL. Only applies in the `ionic` theme.
4544
+ */
4545
+ "titlePlacement"?: 'start' | 'center' | 'end';
3767
4546
  }
3768
4547
  }
3769
4548
  export interface IonAccordionGroupCustomEvent<T> extends CustomEvent<T> {
@@ -4245,6 +5024,12 @@ declare global {
4245
5024
  prototype: HTMLIonDatetimeButtonElement;
4246
5025
  new (): HTMLIonDatetimeButtonElement;
4247
5026
  };
5027
+ interface HTMLIonDividerElement extends Components.IonDivider, HTMLStencilElement {
5028
+ }
5029
+ var HTMLIonDividerElement: {
5030
+ prototype: HTMLIonDividerElement;
5031
+ new (): HTMLIonDividerElement;
5032
+ };
4248
5033
  interface HTMLIonFabElement extends Components.IonFab, HTMLStencilElement {
4249
5034
  }
4250
5035
  var HTMLIonFabElement: {
@@ -4281,6 +5066,18 @@ declare global {
4281
5066
  prototype: HTMLIonFooterElement;
4282
5067
  new (): HTMLIonFooterElement;
4283
5068
  };
5069
+ interface HTMLIonGalleryElement extends Components.IonGallery, HTMLStencilElement {
5070
+ }
5071
+ var HTMLIonGalleryElement: {
5072
+ prototype: HTMLIonGalleryElement;
5073
+ new (): HTMLIonGalleryElement;
5074
+ };
5075
+ interface HTMLIonGalleryItemElement extends Components.IonGalleryItem, HTMLStencilElement {
5076
+ }
5077
+ var HTMLIonGalleryItemElement: {
5078
+ prototype: HTMLIonGalleryItemElement;
5079
+ new (): HTMLIonGalleryItemElement;
5080
+ };
4284
5081
  interface HTMLIonGridElement extends Components.IonGrid, HTMLStencilElement {
4285
5082
  }
4286
5083
  var HTMLIonGridElement: {
@@ -5233,10 +6030,13 @@ declare global {
5233
6030
  "ion-content": HTMLIonContentElement;
5234
6031
  "ion-datetime": HTMLIonDatetimeElement;
5235
6032
  "ion-datetime-button": HTMLIonDatetimeButtonElement;
6033
+ "ion-divider": HTMLIonDividerElement;
5236
6034
  "ion-fab": HTMLIonFabElement;
5237
6035
  "ion-fab-button": HTMLIonFabButtonElement;
5238
6036
  "ion-fab-list": HTMLIonFabListElement;
5239
6037
  "ion-footer": HTMLIonFooterElement;
6038
+ "ion-gallery": HTMLIonGalleryElement;
6039
+ "ion-gallery-item": HTMLIonGalleryItemElement;
5240
6040
  "ion-grid": HTMLIonGridElement;
5241
6041
  "ion-header": HTMLIonHeaderElement;
5242
6042
  "ion-img": HTMLIonImgElement;
@@ -5318,7 +6118,7 @@ declare namespace LocalJSX {
5318
6118
  */
5319
6119
  "disabled"?: boolean;
5320
6120
  /**
5321
- * The mode determines which platform styles to use.
6121
+ * The mode determines the platform behaviors of the component.
5322
6122
  */
5323
6123
  "mode"?: "ios" | "md";
5324
6124
  /**
@@ -5326,9 +6126,12 @@ declare namespace LocalJSX {
5326
6126
  * @default false
5327
6127
  */
5328
6128
  "readonly"?: boolean;
6129
+ /**
6130
+ * The theme determines the visual appearance of the component.
6131
+ */
6132
+ "theme"?: "ios" | "md" | "ionic";
5329
6133
  /**
5330
6134
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
5331
- * @default chevronDown
5332
6135
  */
5333
6136
  "toggleIcon"?: string;
5334
6137
  /**
@@ -5359,7 +6162,7 @@ declare namespace LocalJSX {
5359
6162
  */
5360
6163
  "expand"?: 'compact' | 'inset';
5361
6164
  /**
5362
- * The mode determines which platform styles to use.
6165
+ * The mode determines the platform behaviors of the component.
5363
6166
  */
5364
6167
  "mode"?: "ios" | "md";
5365
6168
  /**
@@ -5375,6 +6178,14 @@ declare namespace LocalJSX {
5375
6178
  * @default false
5376
6179
  */
5377
6180
  "readonly"?: boolean;
6181
+ /**
6182
+ * 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"`.
6183
+ */
6184
+ "shape"?: 'soft' | 'round' | 'rectangular';
6185
+ /**
6186
+ * The theme determines the visual appearance of the component.
6187
+ */
6188
+ "theme"?: "ios" | "md" | "ionic";
5378
6189
  /**
5379
6190
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
5380
6191
  */
@@ -5427,7 +6238,7 @@ declare namespace LocalJSX {
5427
6238
  */
5428
6239
  "leaveAnimation"?: AnimationBuilder;
5429
6240
  /**
5430
- * The mode determines which platform styles to use.
6241
+ * The mode determines the platform behaviors of the component.
5431
6242
  */
5432
6243
  "mode"?: "ios" | "md";
5433
6244
  /**
@@ -5467,7 +6278,11 @@ declare namespace LocalJSX {
5467
6278
  */
5468
6279
  "subHeader"?: string;
5469
6280
  /**
5470
- * 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).
6281
+ * The theme determines the visual appearance of the component.
6282
+ */
6283
+ "theme"?: "ios" | "md" | "ionic";
6284
+ /**
6285
+ * 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).
5471
6286
  * @default false
5472
6287
  */
5473
6288
  "translucent"?: boolean;
@@ -5532,7 +6347,7 @@ declare namespace LocalJSX {
5532
6347
  */
5533
6348
  "message"?: string | IonicSafeString;
5534
6349
  /**
5535
- * The mode determines which platform styles to use.
6350
+ * The mode determines the platform behaviors of the component.
5536
6351
  */
5537
6352
  "mode"?: "ios" | "md";
5538
6353
  /**
@@ -5572,7 +6387,11 @@ declare namespace LocalJSX {
5572
6387
  */
5573
6388
  "subHeader"?: string;
5574
6389
  /**
5575
- * 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).
6390
+ * The theme determines the visual appearance of the component.
6391
+ */
6392
+ "theme"?: "ios" | "md" | "ionic";
6393
+ /**
6394
+ * 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).
5576
6395
  * @default false
5577
6396
  */
5578
6397
  "translucent"?: boolean;
@@ -5582,8 +6401,37 @@ declare namespace LocalJSX {
5582
6401
  "trigger"?: string | undefined;
5583
6402
  }
5584
6403
  interface IonApp {
6404
+ /**
6405
+ * The mode determines the platform behaviors of the component.
6406
+ */
6407
+ "mode"?: "ios" | "md";
6408
+ /**
6409
+ * The theme determines the visual appearance of the component.
6410
+ */
6411
+ "theme"?: "ios" | "md" | "ionic";
5585
6412
  }
5586
6413
  interface IonAvatar {
6414
+ /**
6415
+ * If `true`, the user cannot interact with the avatar.
6416
+ * @default false
6417
+ */
6418
+ "disabled"?: boolean;
6419
+ /**
6420
+ * The mode determines the platform behaviors of the component.
6421
+ */
6422
+ "mode"?: "ios" | "md";
6423
+ /**
6424
+ * 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.
6425
+ */
6426
+ "shape"?: 'soft' | 'round' | 'rectangular';
6427
+ /**
6428
+ * 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.
6429
+ */
6430
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
6431
+ /**
6432
+ * The theme determines the visual appearance of the component.
6433
+ */
6434
+ "theme"?: "ios" | "md" | "ionic";
5587
6435
  }
5588
6436
  interface IonBackButton {
5589
6437
  /**
@@ -5604,7 +6452,7 @@ declare namespace LocalJSX {
5604
6452
  */
5605
6453
  "icon"?: string | null;
5606
6454
  /**
5607
- * The mode determines which platform styles to use.
6455
+ * The mode determines the platform behaviors of the component.
5608
6456
  */
5609
6457
  "mode"?: "ios" | "md";
5610
6458
  /**
@@ -5615,6 +6463,10 @@ declare namespace LocalJSX {
5615
6463
  * The text to display in the back button.
5616
6464
  */
5617
6465
  "text"?: string | null;
6466
+ /**
6467
+ * The theme determines the visual appearance of the component.
6468
+ */
6469
+ "theme"?: "ios" | "md" | "ionic";
5618
6470
  /**
5619
6471
  * The type of the button.
5620
6472
  * @default 'button'
@@ -5622,6 +6474,10 @@ declare namespace LocalJSX {
5622
6474
  "type"?: 'submit' | 'reset' | 'button';
5623
6475
  }
5624
6476
  interface IonBackdrop {
6477
+ /**
6478
+ * The mode determines the platform behaviors of the component.
6479
+ */
6480
+ "mode"?: "ios" | "md";
5625
6481
  /**
5626
6482
  * Emitted when the backdrop is tapped.
5627
6483
  */
@@ -5636,6 +6492,10 @@ declare namespace LocalJSX {
5636
6492
  * @default true
5637
6493
  */
5638
6494
  "tappable"?: boolean;
6495
+ /**
6496
+ * The theme determines the visual appearance of the component.
6497
+ */
6498
+ "theme"?: "ios" | "md" | "ionic";
5639
6499
  /**
5640
6500
  * If `true`, the backdrop will be visible.
5641
6501
  * @default true
@@ -5648,9 +6508,29 @@ declare namespace LocalJSX {
5648
6508
  */
5649
6509
  "color"?: Color;
5650
6510
  /**
5651
- * The mode determines which platform styles to use.
6511
+ * 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.
6512
+ */
6513
+ "hue"?: 'bold' | 'subtle';
6514
+ /**
6515
+ * The mode determines the platform behaviors of the component.
5652
6516
  */
5653
6517
  "mode"?: "ios" | "md";
6518
+ /**
6519
+ * 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.
6520
+ */
6521
+ "shape"?: 'soft' | 'round | rectangular';
6522
+ /**
6523
+ * 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.
6524
+ */
6525
+ "size"?: 'small' | 'medium' | 'large';
6526
+ /**
6527
+ * The theme determines the visual appearance of the component.
6528
+ */
6529
+ "theme"?: "ios" | "md" | "ionic";
6530
+ /**
6531
+ * 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.
6532
+ */
6533
+ "vertical"?: 'top' | 'bottom';
5654
6534
  }
5655
6535
  interface IonBreadcrumb {
5656
6536
  /**
@@ -5676,7 +6556,7 @@ declare namespace LocalJSX {
5676
6556
  */
5677
6557
  "href"?: string | undefined;
5678
6558
  /**
5679
- * The mode determines which platform styles to use.
6559
+ * The mode determines the platform behaviors of the component.
5680
6560
  */
5681
6561
  "mode"?: "ios" | "md";
5682
6562
  /**
@@ -5708,6 +6588,10 @@ declare namespace LocalJSX {
5708
6588
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5709
6589
  */
5710
6590
  "target"?: string | undefined;
6591
+ /**
6592
+ * The theme determines the visual appearance of the component.
6593
+ */
6594
+ "theme"?: "ios" | "md" | "ionic";
5711
6595
  }
5712
6596
  interface IonBreadcrumbs {
5713
6597
  /**
@@ -5729,13 +6613,17 @@ declare namespace LocalJSX {
5729
6613
  */
5730
6614
  "maxItems"?: number;
5731
6615
  /**
5732
- * The mode determines which platform styles to use.
6616
+ * The mode determines the platform behaviors of the component.
5733
6617
  */
5734
6618
  "mode"?: "ios" | "md";
5735
6619
  /**
5736
6620
  * Emitted when the collapsed indicator is clicked on.
5737
6621
  */
5738
6622
  "onIonCollapsedClick"?: (event: IonBreadcrumbsCustomEvent<BreadcrumbCollapsedClickEventDetail>) => void;
6623
+ /**
6624
+ * The theme determines the visual appearance of the component.
6625
+ */
6626
+ "theme"?: "ios" | "md" | "ionic";
5739
6627
  }
5740
6628
  interface IonButton {
5741
6629
  /**
@@ -5761,7 +6649,7 @@ declare namespace LocalJSX {
5761
6649
  */
5762
6650
  "expand"?: 'full' | 'block';
5763
6651
  /**
5764
- * Set to `"clear"` for a transparent button that resembles a flat button, to `"outline"` for a transparent button with a border, or to `"solid"` for a button with a filled background. The default fill is `"solid"` except inside of a toolbar, where the default is `"clear"`.
6652
+ * Set to `"clear"` for a transparent button that resembles a flat button, to `"outline"` for a transparent button with a border, or to `"solid"` for a button with a filled background. The default fill is `"solid"` except when inside of a buttons or datetime component, where the default fill is `"clear"`.
5765
6653
  */
5766
6654
  "fill"?: 'clear' | 'outline' | 'solid' | 'default';
5767
6655
  /**
@@ -5773,7 +6661,7 @@ declare namespace LocalJSX {
5773
6661
  */
5774
6662
  "href"?: string | undefined;
5775
6663
  /**
5776
- * The mode determines which platform styles to use.
6664
+ * The mode determines the platform behaviors of the component.
5777
6665
  */
5778
6666
  "mode"?: "ios" | "md";
5779
6667
  /**
@@ -5798,13 +6686,13 @@ declare namespace LocalJSX {
5798
6686
  */
5799
6687
  "routerDirection"?: RouterDirection;
5800
6688
  /**
5801
- * Set to `"round"` for a button with more rounded corners.
6689
+ * 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.
5802
6690
  */
5803
- "shape"?: 'round';
6691
+ "shape"?: 'soft' | 'round' | 'rectangular';
5804
6692
  /**
5805
- * 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.
6693
+ * 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.
5806
6694
  */
5807
- "size"?: 'small' | 'default' | 'large';
6695
+ "size"?: 'small' | 'default' | 'medium' | 'large';
5808
6696
  /**
5809
6697
  * If `true`, activates a button with a heavier font weight.
5810
6698
  * @default false
@@ -5814,6 +6702,10 @@ declare namespace LocalJSX {
5814
6702
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5815
6703
  */
5816
6704
  "target"?: string | undefined;
6705
+ /**
6706
+ * The theme determines the visual appearance of the component.
6707
+ */
6708
+ "theme"?: "ios" | "md" | "ionic";
5817
6709
  /**
5818
6710
  * The type of the button.
5819
6711
  * @default 'button'
@@ -5822,10 +6714,18 @@ declare namespace LocalJSX {
5822
6714
  }
5823
6715
  interface IonButtons {
5824
6716
  /**
5825
- * 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)
6717
+ * 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)
5826
6718
  * @default false
5827
6719
  */
5828
6720
  "collapse"?: boolean;
6721
+ /**
6722
+ * The mode determines the platform behaviors of the component.
6723
+ */
6724
+ "mode"?: "ios" | "md";
6725
+ /**
6726
+ * The theme determines the visual appearance of the component.
6727
+ */
6728
+ "theme"?: "ios" | "md" | "ionic";
5829
6729
  }
5830
6730
  interface IonCard {
5831
6731
  /**
@@ -5851,7 +6751,7 @@ declare namespace LocalJSX {
5851
6751
  */
5852
6752
  "href"?: string | undefined;
5853
6753
  /**
5854
- * The mode determines which platform styles to use.
6754
+ * The mode determines the platform behaviors of the component.
5855
6755
  */
5856
6756
  "mode"?: "ios" | "md";
5857
6757
  /**
@@ -5867,10 +6767,19 @@ declare namespace LocalJSX {
5867
6767
  * @default 'forward'
5868
6768
  */
5869
6769
  "routerDirection"?: RouterDirection;
6770
+ /**
6771
+ * 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"`.
6772
+ * @default 'round'
6773
+ */
6774
+ "shape"?: 'soft' | 'round' | 'rectangular';
5870
6775
  /**
5871
6776
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5872
6777
  */
5873
6778
  "target"?: string | undefined;
6779
+ /**
6780
+ * The theme determines the visual appearance of the component.
6781
+ */
6782
+ "theme"?: "ios" | "md" | "ionic";
5874
6783
  /**
5875
6784
  * The type of the button. Only used when an `onclick` or `button` property is present.
5876
6785
  * @default 'button'
@@ -5879,9 +6788,13 @@ declare namespace LocalJSX {
5879
6788
  }
5880
6789
  interface IonCardContent {
5881
6790
  /**
5882
- * The mode determines which platform styles to use.
6791
+ * The mode determines the platform behaviors of the component.
5883
6792
  */
5884
6793
  "mode"?: "ios" | "md";
6794
+ /**
6795
+ * The theme determines the visual appearance of the component.
6796
+ */
6797
+ "theme"?: "ios" | "md" | "ionic";
5885
6798
  }
5886
6799
  interface IonCardHeader {
5887
6800
  /**
@@ -5889,11 +6802,15 @@ declare namespace LocalJSX {
5889
6802
  */
5890
6803
  "color"?: Color;
5891
6804
  /**
5892
- * The mode determines which platform styles to use.
6805
+ * The mode determines the platform behaviors of the component.
5893
6806
  */
5894
6807
  "mode"?: "ios" | "md";
5895
6808
  /**
5896
- * 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).
6809
+ * The theme determines the visual appearance of the component.
6810
+ */
6811
+ "theme"?: "ios" | "md" | "ionic";
6812
+ /**
6813
+ * 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).
5897
6814
  * @default false
5898
6815
  */
5899
6816
  "translucent"?: boolean;
@@ -5904,9 +6821,13 @@ declare namespace LocalJSX {
5904
6821
  */
5905
6822
  "color"?: Color;
5906
6823
  /**
5907
- * The mode determines which platform styles to use.
6824
+ * The mode determines the platform behaviors of the component.
5908
6825
  */
5909
6826
  "mode"?: "ios" | "md";
6827
+ /**
6828
+ * The theme determines the visual appearance of the component.
6829
+ */
6830
+ "theme"?: "ios" | "md" | "ionic";
5910
6831
  }
5911
6832
  interface IonCardTitle {
5912
6833
  /**
@@ -5914,9 +6835,13 @@ declare namespace LocalJSX {
5914
6835
  */
5915
6836
  "color"?: Color;
5916
6837
  /**
5917
- * The mode determines which platform styles to use.
6838
+ * The mode determines the platform behaviors of the component.
5918
6839
  */
5919
6840
  "mode"?: "ios" | "md";
6841
+ /**
6842
+ * The theme determines the visual appearance of the component.
6843
+ */
6844
+ "theme"?: "ios" | "md" | "ionic";
5920
6845
  }
5921
6846
  interface IonCheckbox {
5922
6847
  /**
@@ -5960,7 +6885,7 @@ declare namespace LocalJSX {
5960
6885
  */
5961
6886
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
5962
6887
  /**
5963
- * The mode determines which platform styles to use.
6888
+ * The mode determines the platform behaviors of the component.
5964
6889
  */
5965
6890
  "mode"?: "ios" | "md";
5966
6891
  /**
@@ -5973,7 +6898,7 @@ declare namespace LocalJSX {
5973
6898
  */
5974
6899
  "onIonBlur"?: (event: IonCheckboxCustomEvent<void>) => void;
5975
6900
  /**
5976
- * 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.
6901
+ * 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.
5977
6902
  */
5978
6903
  "onIonChange"?: (event: IonCheckboxCustomEvent<CheckboxChangeEventDetail>) => void;
5979
6904
  /**
@@ -5985,6 +6910,19 @@ declare namespace LocalJSX {
5985
6910
  * @default false
5986
6911
  */
5987
6912
  "required"?: boolean;
6913
+ /**
6914
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
6915
+ * @default 'soft'
6916
+ */
6917
+ "shape"?: 'soft' | 'rectangular';
6918
+ /**
6919
+ * Set to `"small"` for a checkbox with less height and padding.
6920
+ */
6921
+ "size"?: 'small';
6922
+ /**
6923
+ * The theme determines the visual appearance of the component.
6924
+ */
6925
+ "theme"?: "ios" | "md" | "ionic";
5988
6926
  /**
5989
6927
  * 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>`.
5990
6928
  * @default 'on'
@@ -6002,7 +6940,12 @@ declare namespace LocalJSX {
6002
6940
  */
6003
6941
  "disabled"?: boolean;
6004
6942
  /**
6005
- * The mode determines which platform styles to use.
6943
+ * 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.
6944
+ * @default 'subtle'
6945
+ */
6946
+ "hue"?: 'bold' | 'subtle';
6947
+ /**
6948
+ * The mode determines the platform behaviors of the component.
6006
6949
  */
6007
6950
  "mode"?: "ios" | "md";
6008
6951
  /**
@@ -6010,8 +6953,24 @@ declare namespace LocalJSX {
6010
6953
  * @default false
6011
6954
  */
6012
6955
  "outline"?: boolean;
6956
+ /**
6957
+ * 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.
6958
+ */
6959
+ "shape"?: 'soft' | 'round' | 'rectangular';
6960
+ /**
6961
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
6962
+ */
6963
+ "size"?: 'small' | 'large';
6964
+ /**
6965
+ * The theme determines the visual appearance of the component.
6966
+ */
6967
+ "theme"?: "ios" | "md" | "ionic";
6013
6968
  }
6014
6969
  interface IonCol {
6970
+ /**
6971
+ * The mode determines the platform behaviors of the component.
6972
+ */
6973
+ "mode"?: "ios" | "md";
6015
6974
  /**
6016
6975
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
6017
6976
  */
@@ -6036,52 +6995,88 @@ declare namespace LocalJSX {
6036
6995
  * The amount to offset the column for xs screens, in terms of how many columns it should shift to the end of the total available.
6037
6996
  */
6038
6997
  "offsetXs"?: string;
6998
+ /**
6999
+ * The order of the column, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
7000
+ */
7001
+ "order"?: string;
7002
+ /**
7003
+ * The order of the column for lg screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
7004
+ */
7005
+ "orderLg"?: string;
7006
+ /**
7007
+ * The order of the column for md screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
7008
+ */
7009
+ "orderMd"?: string;
7010
+ /**
7011
+ * The order of the column for sm screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
7012
+ */
7013
+ "orderSm"?: string;
7014
+ /**
7015
+ * The order of the column for xl screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
7016
+ */
7017
+ "orderXl"?: string;
7018
+ /**
7019
+ * The order of the column for xs screens, in terms of where the column should position itself in the columns renderer. If no value is passed, the column order implicit value will be the order in the html structure.
7020
+ */
7021
+ "orderXs"?: string;
6039
7022
  /**
6040
7023
  * The amount to pull the column, in terms of how many columns it should shift to the start of the total available.
7024
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6041
7025
  */
6042
7026
  "pull"?: string;
6043
7027
  /**
6044
7028
  * The amount to pull the column for lg screens, in terms of how many columns it should shift to the start of the total available.
7029
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6045
7030
  */
6046
7031
  "pullLg"?: string;
6047
7032
  /**
6048
7033
  * The amount to pull the column for md screens, in terms of how many columns it should shift to the start of the total available.
7034
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6049
7035
  */
6050
7036
  "pullMd"?: string;
6051
7037
  /**
6052
7038
  * The amount to pull the column for sm screens, in terms of how many columns it should shift to the start of the total available.
7039
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6053
7040
  */
6054
7041
  "pullSm"?: string;
6055
7042
  /**
6056
7043
  * The amount to pull the column for xl screens, in terms of how many columns it should shift to the start of the total available.
7044
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6057
7045
  */
6058
7046
  "pullXl"?: string;
6059
7047
  /**
6060
7048
  * The amount to pull the column for xs screens, in terms of how many columns it should shift to the start of the total available.
7049
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6061
7050
  */
6062
7051
  "pullXs"?: string;
6063
7052
  /**
6064
7053
  * The amount to push the column, in terms of how many columns it should shift to the end of the total available.
7054
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6065
7055
  */
6066
7056
  "push"?: string;
6067
7057
  /**
6068
7058
  * The amount to push the column for lg screens, in terms of how many columns it should shift to the end of the total available.
7059
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6069
7060
  */
6070
7061
  "pushLg"?: string;
6071
7062
  /**
6072
7063
  * The amount to push the column for md screens, in terms of how many columns it should shift to the end of the total available.
7064
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6073
7065
  */
6074
7066
  "pushMd"?: string;
6075
7067
  /**
6076
7068
  * The amount to push the column for sm screens, in terms of how many columns it should shift to the end of the total available.
7069
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6077
7070
  */
6078
7071
  "pushSm"?: string;
6079
7072
  /**
6080
7073
  * The amount to push the column for xl screens, in terms of how many columns it should shift to the end of the total available.
7074
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6081
7075
  */
6082
7076
  "pushXl"?: string;
6083
7077
  /**
6084
7078
  * The amount to push the column for xs screens, in terms of how many columns it should shift to the end of the total available.
7079
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6085
7080
  */
6086
7081
  "pushXs"?: string;
6087
7082
  /**
@@ -6108,6 +7103,10 @@ declare namespace LocalJSX {
6108
7103
  * 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.
6109
7104
  */
6110
7105
  "sizeXs"?: string;
7106
+ /**
7107
+ * The theme determines the visual appearance of the component.
7108
+ */
7109
+ "theme"?: "ios" | "md" | "ionic";
6111
7110
  }
6112
7111
  interface IonContent {
6113
7112
  /**
@@ -6128,6 +7127,10 @@ declare namespace LocalJSX {
6128
7127
  * @default false
6129
7128
  */
6130
7129
  "fullscreen"?: boolean;
7130
+ /**
7131
+ * The mode determines the platform behaviors of the component.
7132
+ */
7133
+ "mode"?: "ios" | "md";
6131
7134
  /**
6132
7135
  * Emitted while scrolling. This event is disabled by default. Set `scrollEvents` to `true` to enable.
6133
7136
  */
@@ -6155,6 +7158,10 @@ declare namespace LocalJSX {
6155
7158
  * @default true
6156
7159
  */
6157
7160
  "scrollY"?: boolean;
7161
+ /**
7162
+ * The theme determines the visual appearance of the component.
7163
+ */
7164
+ "theme"?: "ios" | "md" | "ionic";
6158
7165
  }
6159
7166
  interface IonDatetime {
6160
7167
  /**
@@ -6229,7 +7236,7 @@ declare namespace LocalJSX {
6229
7236
  */
6230
7237
  "minuteValues"?: number[] | number | string;
6231
7238
  /**
6232
- * The mode determines which platform styles to use.
7239
+ * The mode determines the platform behaviors of the component.
6233
7240
  */
6234
7241
  "mode"?: "ios" | "md";
6235
7242
  /**
@@ -6307,6 +7314,10 @@ declare namespace LocalJSX {
6307
7314
  * @default 'fixed'
6308
7315
  */
6309
7316
  "size"?: 'cover' | 'fixed';
7317
+ /**
7318
+ * The theme determines the visual appearance of the component.
7319
+ */
7320
+ "theme"?: "ios" | "md" | "ionic";
6310
7321
  /**
6311
7322
  * 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.
6312
7323
  */
@@ -6336,9 +7347,25 @@ declare namespace LocalJSX {
6336
7347
  */
6337
7348
  "disabled"?: boolean;
6338
7349
  /**
6339
- * The mode determines which platform styles to use.
7350
+ * The mode determines the platform behaviors of the component.
6340
7351
  */
6341
7352
  "mode"?: "ios" | "md";
7353
+ /**
7354
+ * The theme determines the visual appearance of the component.
7355
+ */
7356
+ "theme"?: "ios" | "md" | "ionic";
7357
+ }
7358
+ interface IonDivider {
7359
+ /**
7360
+ * If `true`, the divider will have horizontal margins By default, it's `false`
7361
+ * @default false
7362
+ */
7363
+ "inset"?: boolean;
7364
+ /**
7365
+ * 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"`.
7366
+ * @default 'medium'
7367
+ */
7368
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
6342
7369
  }
6343
7370
  interface IonFab {
6344
7371
  /**
@@ -6355,6 +7382,14 @@ declare namespace LocalJSX {
6355
7382
  * Where to align the fab horizontally in the viewport.
6356
7383
  */
6357
7384
  "horizontal"?: 'start' | 'end' | 'center';
7385
+ /**
7386
+ * The mode determines the platform behaviors of the component.
7387
+ */
7388
+ "mode"?: "ios" | "md";
7389
+ /**
7390
+ * The theme determines the visual appearance of the component.
7391
+ */
7392
+ "theme"?: "ios" | "md" | "ionic";
6358
7393
  /**
6359
7394
  * Where to align the fab vertically in the viewport.
6360
7395
  */
@@ -6368,7 +7403,6 @@ declare namespace LocalJSX {
6368
7403
  "activated"?: boolean;
6369
7404
  /**
6370
7405
  * 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.
6371
- * @default close
6372
7406
  */
6373
7407
  "closeIcon"?: string;
6374
7408
  /**
@@ -6389,7 +7423,7 @@ declare namespace LocalJSX {
6389
7423
  */
6390
7424
  "href"?: string | undefined;
6391
7425
  /**
6392
- * The mode determines which platform styles to use.
7426
+ * The mode determines the platform behaviors of the component.
6393
7427
  */
6394
7428
  "mode"?: "ios" | "md";
6395
7429
  /**
@@ -6427,7 +7461,11 @@ declare namespace LocalJSX {
6427
7461
  */
6428
7462
  "target"?: string | undefined;
6429
7463
  /**
6430
- * 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).
7464
+ * The theme determines the visual appearance of the component.
7465
+ */
7466
+ "theme"?: "ios" | "md" | "ionic";
7467
+ /**
7468
+ * 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).
6431
7469
  * @default false
6432
7470
  */
6433
7471
  "translucent"?: boolean;
@@ -6443,45 +7481,113 @@ declare namespace LocalJSX {
6443
7481
  * @default false
6444
7482
  */
6445
7483
  "activated"?: boolean;
7484
+ /**
7485
+ * The mode determines the platform behaviors of the component.
7486
+ */
7487
+ "mode"?: "ios" | "md";
6446
7488
  /**
6447
7489
  * The side the fab list will show on relative to the main fab button.
6448
7490
  * @default 'bottom'
6449
7491
  */
6450
7492
  "side"?: 'start' | 'end' | 'top' | 'bottom';
7493
+ /**
7494
+ * The theme determines the visual appearance of the component.
7495
+ */
7496
+ "theme"?: "ios" | "md" | "ionic";
6451
7497
  }
6452
7498
  interface IonFooter {
6453
7499
  /**
6454
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
7500
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
6455
7501
  */
6456
7502
  "collapse"?: 'fade';
6457
7503
  /**
6458
- * The mode determines which platform styles to use.
7504
+ * The mode determines the platform behaviors of the component.
6459
7505
  */
6460
7506
  "mode"?: "ios" | "md";
6461
7507
  /**
6462
- * 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.
7508
+ * The theme determines the visual appearance of the component.
7509
+ */
7510
+ "theme"?: "ios" | "md" | "ionic";
7511
+ /**
7512
+ * 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.
6463
7513
  * @default false
6464
7514
  */
6465
7515
  "translucent"?: boolean;
6466
7516
  }
7517
+ interface IonGallery {
7518
+ /**
7519
+ * The number of columns to display. Can be set as a number or an object of breakpoint values (e.g. `{ xs: 2, sm: 3, md: 4 }`).
7520
+ * @default { xs: 2, sm: 3, md: 4, lg: 6, xl: 8, xxl: 10, }
7521
+ */
7522
+ "columns"?: GalleryColumns;
7523
+ /**
7524
+ * The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage) values like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`, CSS variables like `var(--app-gallery-gap)`, or numbers (treated as pixel values). Can also be set as a breakpoint map (e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept space-separated values or CSS keyword values like `inherit`, `auto`, etc.
7525
+ * @default '16px'
7526
+ */
7527
+ "gap"?: GalleryGap;
7528
+ /**
7529
+ * The visual layout of the gallery. When `uniform`, rows take up the height of the tallest item and are spaced evenly across the gallery. Additionally, items will have an aspect ratio of 1/1, forcing them to be square unless a height is explicitly set. When `masonry`, items will be positioned under each other with only the specified gap between them.
7530
+ * @default 'uniform'
7531
+ */
7532
+ "layout"?: 'uniform' | 'masonry';
7533
+ /**
7534
+ * The mode determines the platform behaviors of the component.
7535
+ */
7536
+ "mode"?: "ios" | "md";
7537
+ /**
7538
+ * The order in which items are positioned. Only applies when layout is `masonry`. When `sequential`, items are positioned in the order they are placed in the DOM. When `best-fit`, items are positioned under the column with the most available space. Defaults to `sequential` when layout is `masonry` and `order` is not explicitly set.
7539
+ */
7540
+ "order"?: 'sequential' | 'best-fit';
7541
+ /**
7542
+ * The theme determines the visual appearance of the component.
7543
+ */
7544
+ "theme"?: "ios" | "md" | "ionic";
7545
+ }
7546
+ interface IonGalleryItem {
7547
+ /**
7548
+ * The mode determines the platform behaviors of the component.
7549
+ */
7550
+ "mode"?: "ios" | "md";
7551
+ /**
7552
+ * The theme determines the visual appearance of the component.
7553
+ */
7554
+ "theme"?: "ios" | "md" | "ionic";
7555
+ }
6467
7556
  interface IonGrid {
6468
7557
  /**
6469
7558
  * If `true`, the grid will have a fixed width based on the screen size.
6470
7559
  * @default false
6471
7560
  */
6472
7561
  "fixed"?: boolean;
7562
+ /**
7563
+ * The mode determines the platform behaviors of the component.
7564
+ */
7565
+ "mode"?: "ios" | "md";
7566
+ /**
7567
+ * The theme determines the visual appearance of the component.
7568
+ */
7569
+ "theme"?: "ios" | "md" | "ionic";
6473
7570
  }
6474
7571
  interface IonHeader {
6475
7572
  /**
6476
- * 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)
7573
+ * 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)
6477
7574
  */
6478
7575
  "collapse"?: 'condense' | 'fade';
6479
7576
  /**
6480
- * The mode determines which platform styles to use.
7577
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
7578
+ * @default false
7579
+ */
7580
+ "divider"?: boolean;
7581
+ /**
7582
+ * The mode determines the platform behaviors of the component.
6481
7583
  */
6482
7584
  "mode"?: "ios" | "md";
6483
7585
  /**
6484
- * 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.
7586
+ * The theme determines the visual appearance of the component.
7587
+ */
7588
+ "theme"?: "ios" | "md" | "ionic";
7589
+ /**
7590
+ * 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.
6485
7591
  * @default false
6486
7592
  */
6487
7593
  "translucent"?: boolean;
@@ -6491,6 +7597,10 @@ declare namespace LocalJSX {
6491
7597
  * 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.
6492
7598
  */
6493
7599
  "alt"?: string;
7600
+ /**
7601
+ * The mode determines the platform behaviors of the component.
7602
+ */
7603
+ "mode"?: "ios" | "md";
6494
7604
  /**
6495
7605
  * Emitted when the img fails to load
6496
7606
  */
@@ -6507,6 +7617,10 @@ declare namespace LocalJSX {
6507
7617
  * The image URL. This attribute is mandatory for the `<img>` element.
6508
7618
  */
6509
7619
  "src"?: string;
7620
+ /**
7621
+ * The theme determines the visual appearance of the component.
7622
+ */
7623
+ "theme"?: "ios" | "md" | "ionic";
6510
7624
  }
6511
7625
  interface IonInfiniteScroll {
6512
7626
  /**
@@ -6514,6 +7628,10 @@ declare namespace LocalJSX {
6514
7628
  * @default false
6515
7629
  */
6516
7630
  "disabled"?: boolean;
7631
+ /**
7632
+ * The mode determines the platform behaviors of the component.
7633
+ */
7634
+ "mode"?: "ios" | "md";
6517
7635
  /**
6518
7636
  * 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.
6519
7637
  */
@@ -6523,6 +7641,15 @@ declare namespace LocalJSX {
6523
7641
  * @default 'bottom'
6524
7642
  */
6525
7643
  "position"?: 'top' | 'bottom';
7644
+ /**
7645
+ * 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.
7646
+ * @default false
7647
+ */
7648
+ "preserveRerenderScrollPosition"?: boolean;
7649
+ /**
7650
+ * The theme determines the visual appearance of the component.
7651
+ */
7652
+ "theme"?: "ios" | "md" | "ionic";
6526
7653
  /**
6527
7654
  * 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.
6528
7655
  * @default '15%'
@@ -6538,6 +7665,14 @@ declare namespace LocalJSX {
6538
7665
  * 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.
6539
7666
  */
6540
7667
  "loadingText"?: string | IonicSafeString;
7668
+ /**
7669
+ * The mode determines the platform behaviors of the component.
7670
+ */
7671
+ "mode"?: "ios" | "md";
7672
+ /**
7673
+ * The theme determines the visual appearance of the component.
7674
+ */
7675
+ "theme"?: "ios" | "md" | "ionic";
6541
7676
  }
6542
7677
  interface IonInput {
6543
7678
  /**
@@ -6604,7 +7739,7 @@ declare namespace LocalJSX {
6604
7739
  */
6605
7740
  "errorText"?: string;
6606
7741
  /**
6607
- * 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.
7742
+ * 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"`.
6608
7743
  */
6609
7744
  "fill"?: 'outline' | 'solid';
6610
7745
  /**
@@ -6620,8 +7755,7 @@ declare namespace LocalJSX {
6620
7755
  */
6621
7756
  "label"?: string;
6622
7757
  /**
6623
- * 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 ("...").
6624
- * @default 'start'
7758
+ * 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.
6625
7759
  */
6626
7760
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
6627
7761
  /**
@@ -6641,7 +7775,7 @@ declare namespace LocalJSX {
6641
7775
  */
6642
7776
  "minlength"?: number;
6643
7777
  /**
6644
- * The mode determines which platform styles to use.
7778
+ * The mode determines the platform behaviors of the component.
6645
7779
  */
6646
7780
  "mode"?: "ios" | "md";
6647
7781
  /**
@@ -6688,9 +7822,14 @@ declare namespace LocalJSX {
6688
7822
  */
6689
7823
  "required"?: boolean;
6690
7824
  /**
6691
- * The shape of the input. If "round" it will have an increased border radius.
7825
+ * 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"`.
7826
+ */
7827
+ "shape"?: 'soft' | 'round' | 'rectangular';
7828
+ /**
7829
+ * 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.
7830
+ * @default 'medium'
6692
7831
  */
6693
- "shape"?: 'round';
7832
+ "size"?: 'medium' | 'large' | 'xlarge';
6694
7833
  /**
6695
7834
  * If `true`, the element will have its spelling and grammar checked.
6696
7835
  * @default false
@@ -6700,6 +7839,10 @@ declare namespace LocalJSX {
6700
7839
  * 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.
6701
7840
  */
6702
7841
  "step"?: string;
7842
+ /**
7843
+ * The theme determines the visual appearance of the component.
7844
+ */
7845
+ "theme"?: "ios" | "md" | "ionic";
6703
7846
  /**
6704
7847
  * The type of control to display. The default type is text.
6705
7848
  * @default 'text'
@@ -6731,6 +7874,10 @@ declare namespace LocalJSX {
6731
7874
  * @default 'outline'
6732
7875
  */
6733
7876
  "fill"?: 'outline' | 'solid';
7877
+ /**
7878
+ * The `id` of a `<form>` element to associate this element with.
7879
+ */
7880
+ "form"?: string;
6734
7881
  /**
6735
7882
  * A hint to the browser for which keyboard to display. Possible values: `"none"`, `"text"`, `"tel"`, `"url"`, `"email"`, `"numeric"`, `"decimal"`, and `"search"`. For numbers (type="number"): "numeric" For text (type="text"): "text"
6736
7883
  */
@@ -6740,6 +7887,14 @@ declare namespace LocalJSX {
6740
7887
  * @default 4
6741
7888
  */
6742
7889
  "length"?: number;
7890
+ /**
7891
+ * The mode determines the platform behaviors of the component.
7892
+ */
7893
+ "mode"?: "ios" | "md";
7894
+ /**
7895
+ * The name of the element, used when submitting an HTML form.
7896
+ */
7897
+ "name"?: string;
6743
7898
  /**
6744
7899
  * Emitted when the input group loses focus.
6745
7900
  */
@@ -6783,6 +7938,10 @@ declare namespace LocalJSX {
6783
7938
  * @default 'medium'
6784
7939
  */
6785
7940
  "size"?: 'small' | 'medium' | 'large';
7941
+ /**
7942
+ * The theme determines the visual appearance of the component.
7943
+ */
7944
+ "theme"?: "ios" | "md" | "ionic";
6786
7945
  /**
6787
7946
  * The type of input allowed in the input boxes.
6788
7947
  * @default 'number'
@@ -6823,12 +7982,11 @@ declare namespace LocalJSX {
6823
7982
  */
6824
7983
  "color"?: Color;
6825
7984
  /**
6826
- * 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.
7985
+ * 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.
6827
7986
  */
6828
7987
  "detail"?: boolean;
6829
7988
  /**
6830
7989
  * The icon to use when `detail` is set to `true`.
6831
- * @default chevronForward
6832
7990
  */
6833
7991
  "detailIcon"?: string;
6834
7992
  /**
@@ -6849,7 +8007,7 @@ declare namespace LocalJSX {
6849
8007
  */
6850
8008
  "lines"?: 'full' | 'inset' | 'none';
6851
8009
  /**
6852
- * The mode determines which platform styles to use.
8010
+ * The mode determines the platform behaviors of the component.
6853
8011
  */
6854
8012
  "mode"?: "ios" | "md";
6855
8013
  /**
@@ -6869,6 +8027,10 @@ declare namespace LocalJSX {
6869
8027
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6870
8028
  */
6871
8029
  "target"?: string | undefined;
8030
+ /**
8031
+ * The theme determines the visual appearance of the component.
8032
+ */
8033
+ "theme"?: "ios" | "md" | "ionic";
6872
8034
  /**
6873
8035
  * The type of the button. Only used when an `onclick` or `button` property is present.
6874
8036
  * @default 'button'
@@ -6881,7 +8043,7 @@ declare namespace LocalJSX {
6881
8043
  */
6882
8044
  "color"?: Color;
6883
8045
  /**
6884
- * The mode determines which platform styles to use.
8046
+ * The mode determines the platform behaviors of the component.
6885
8047
  */
6886
8048
  "mode"?: "ios" | "md";
6887
8049
  /**
@@ -6889,8 +8051,20 @@ declare namespace LocalJSX {
6889
8051
  * @default false
6890
8052
  */
6891
8053
  "sticky"?: boolean;
8054
+ /**
8055
+ * The theme determines the visual appearance of the component.
8056
+ */
8057
+ "theme"?: "ios" | "md" | "ionic";
6892
8058
  }
6893
8059
  interface IonItemGroup {
8060
+ /**
8061
+ * The mode determines the platform behaviors of the component.
8062
+ */
8063
+ "mode"?: "ios" | "md";
8064
+ /**
8065
+ * The theme determines the visual appearance of the component.
8066
+ */
8067
+ "theme"?: "ios" | "md" | "ionic";
6894
8068
  }
6895
8069
  interface IonItemOption {
6896
8070
  /**
@@ -6916,17 +8090,30 @@ declare namespace LocalJSX {
6916
8090
  */
6917
8091
  "href"?: string | undefined;
6918
8092
  /**
6919
- * The mode determines which platform styles to use.
8093
+ * 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.
8094
+ * @default 'subtle'
8095
+ */
8096
+ "hue"?: 'bold' | 'subtle';
8097
+ /**
8098
+ * The mode determines the platform behaviors of the component.
6920
8099
  */
6921
8100
  "mode"?: "ios" | "md";
6922
8101
  /**
6923
8102
  * 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).
6924
8103
  */
6925
8104
  "rel"?: string | undefined;
8105
+ /**
8106
+ * 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.
8107
+ */
8108
+ "shape"?: 'soft' | 'round' | 'rectangular';
6926
8109
  /**
6927
8110
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6928
8111
  */
6929
8112
  "target"?: string | undefined;
8113
+ /**
8114
+ * The theme determines the visual appearance of the component.
8115
+ */
8116
+ "theme"?: "ios" | "md" | "ionic";
6930
8117
  /**
6931
8118
  * The type of the button.
6932
8119
  * @default 'button'
@@ -6934,6 +8121,10 @@ declare namespace LocalJSX {
6934
8121
  "type"?: 'submit' | 'reset' | 'button';
6935
8122
  }
6936
8123
  interface IonItemOptions {
8124
+ /**
8125
+ * The mode determines the platform behaviors of the component.
8126
+ */
8127
+ "mode"?: "ios" | "md";
6937
8128
  /**
6938
8129
  * Emitted when the item has been fully swiped.
6939
8130
  */
@@ -6943,6 +8134,10 @@ declare namespace LocalJSX {
6943
8134
  * @default 'end'
6944
8135
  */
6945
8136
  "side"?: Side;
8137
+ /**
8138
+ * The theme determines the visual appearance of the component.
8139
+ */
8140
+ "theme"?: "ios" | "md" | "ionic";
6946
8141
  }
6947
8142
  interface IonItemSliding {
6948
8143
  /**
@@ -6950,10 +8145,18 @@ declare namespace LocalJSX {
6950
8145
  * @default false
6951
8146
  */
6952
8147
  "disabled"?: boolean;
8148
+ /**
8149
+ * The mode determines the platform behaviors of the component.
8150
+ */
8151
+ "mode"?: "ios" | "md";
6953
8152
  /**
6954
8153
  * Emitted when the sliding position changes.
6955
8154
  */
6956
8155
  "onIonDrag"?: (event: IonItemSlidingCustomEvent<any>) => void;
8156
+ /**
8157
+ * The theme determines the visual appearance of the component.
8158
+ */
8159
+ "theme"?: "ios" | "md" | "ionic";
6957
8160
  }
6958
8161
  interface IonLabel {
6959
8162
  /**
@@ -6961,13 +8164,17 @@ declare namespace LocalJSX {
6961
8164
  */
6962
8165
  "color"?: Color;
6963
8166
  /**
6964
- * The mode determines which platform styles to use.
8167
+ * The mode determines the platform behaviors of the component.
6965
8168
  */
6966
8169
  "mode"?: "ios" | "md";
6967
8170
  /**
6968
8171
  * The position determines where and how the label behaves inside an item.
6969
8172
  */
6970
8173
  "position"?: 'fixed' | 'stacked' | 'floating';
8174
+ /**
8175
+ * The theme determines the visual appearance of the component.
8176
+ */
8177
+ "theme"?: "ios" | "md" | "ionic";
6971
8178
  }
6972
8179
  interface IonList {
6973
8180
  /**
@@ -6980,9 +8187,17 @@ declare namespace LocalJSX {
6980
8187
  */
6981
8188
  "lines"?: 'full' | 'inset' | 'none';
6982
8189
  /**
6983
- * The mode determines which platform styles to use.
8190
+ * The mode determines the platform behaviors of the component.
6984
8191
  */
6985
8192
  "mode"?: "ios" | "md";
8193
+ /**
8194
+ * 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.
8195
+ */
8196
+ "shape"?: 'soft' | 'round' | 'rectangular';
8197
+ /**
8198
+ * The theme determines the visual appearance of the component.
8199
+ */
8200
+ "theme"?: "ios" | "md" | "ionic";
6986
8201
  }
6987
8202
  interface IonListHeader {
6988
8203
  /**
@@ -6994,9 +8209,13 @@ declare namespace LocalJSX {
6994
8209
  */
6995
8210
  "lines"?: 'full' | 'inset' | 'none';
6996
8211
  /**
6997
- * The mode determines which platform styles to use.
8212
+ * The mode determines the platform behaviors of the component.
6998
8213
  */
6999
8214
  "mode"?: "ios" | "md";
8215
+ /**
8216
+ * The theme determines the visual appearance of the component.
8217
+ */
8218
+ "theme"?: "ios" | "md" | "ionic";
7000
8219
  }
7001
8220
  interface IonLoading {
7002
8221
  /**
@@ -7045,7 +8264,7 @@ declare namespace LocalJSX {
7045
8264
  */
7046
8265
  "message"?: string | IonicSafeString;
7047
8266
  /**
7048
- * The mode determines which platform styles to use.
8267
+ * The mode determines the platform behaviors of the component.
7049
8268
  */
7050
8269
  "mode"?: "ios" | "md";
7051
8270
  /**
@@ -7090,7 +8309,11 @@ declare namespace LocalJSX {
7090
8309
  */
7091
8310
  "spinner"?: SpinnerTypes | null;
7092
8311
  /**
7093
- * 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).
8312
+ * The theme determines the visual appearance of the component.
8313
+ */
8314
+ "theme"?: "ios" | "md" | "ionic";
8315
+ /**
8316
+ * 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).
7094
8317
  * @default false
7095
8318
  */
7096
8319
  "translucent"?: boolean;
@@ -7118,6 +8341,10 @@ declare namespace LocalJSX {
7118
8341
  * An id for the menu.
7119
8342
  */
7120
8343
  "menuId"?: string;
8344
+ /**
8345
+ * The mode determines the platform behaviors of the component.
8346
+ */
8347
+ "mode"?: "ios" | "md";
7121
8348
  /**
7122
8349
  * Emitted when the menu is closed.
7123
8350
  */
@@ -7144,6 +8371,10 @@ declare namespace LocalJSX {
7144
8371
  * @default true
7145
8372
  */
7146
8373
  "swipeGesture"?: boolean;
8374
+ /**
8375
+ * The theme determines the visual appearance of the component.
8376
+ */
8377
+ "theme"?: "ios" | "md" | "ionic";
7147
8378
  /**
7148
8379
  * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
7149
8380
  */
@@ -7169,9 +8400,13 @@ declare namespace LocalJSX {
7169
8400
  */
7170
8401
  "menu"?: string;
7171
8402
  /**
7172
- * The mode determines which platform styles to use.
8403
+ * The mode determines the platform behaviors of the component.
7173
8404
  */
7174
8405
  "mode"?: "ios" | "md";
8406
+ /**
8407
+ * The theme determines the visual appearance of the component.
8408
+ */
8409
+ "theme"?: "ios" | "md" | "ionic";
7175
8410
  /**
7176
8411
  * The type of the button.
7177
8412
  * @default 'button'
@@ -7188,6 +8423,14 @@ declare namespace LocalJSX {
7188
8423
  * 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.
7189
8424
  */
7190
8425
  "menu"?: string;
8426
+ /**
8427
+ * The mode determines the platform behaviors of the component.
8428
+ */
8429
+ "mode"?: "ios" | "md";
8430
+ /**
8431
+ * The theme determines the visual appearance of the component.
8432
+ */
8433
+ "theme"?: "ios" | "md" | "ionic";
7191
8434
  }
7192
8435
  interface IonModal {
7193
8436
  /**
@@ -7265,7 +8508,7 @@ declare namespace LocalJSX {
7265
8508
  */
7266
8509
  "leaveAnimation"?: AnimationBuilder;
7267
8510
  /**
7268
- * The mode determines which platform styles to use.
8511
+ * The mode determines the platform behaviors of the component.
7269
8512
  */
7270
8513
  "mode"?: "ios" | "md";
7271
8514
  /**
@@ -7320,11 +8563,19 @@ declare namespace LocalJSX {
7320
8563
  * 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.
7321
8564
  */
7322
8565
  "presentingElement"?: HTMLElement;
8566
+ /**
8567
+ * 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.
8568
+ */
8569
+ "shape"?: 'soft' | 'round' | 'rectangular';
7323
8570
  /**
7324
8571
  * 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.
7325
8572
  * @default true
7326
8573
  */
7327
8574
  "showBackdrop"?: boolean;
8575
+ /**
8576
+ * The theme determines the visual appearance of the component.
8577
+ */
8578
+ "theme"?: "ios" | "md" | "ionic";
7328
8579
  /**
7329
8580
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
7330
8581
  */
@@ -7337,9 +8588,13 @@ declare namespace LocalJSX {
7337
8588
  */
7338
8589
  "animated"?: boolean;
7339
8590
  /**
7340
- * 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.
8591
+ * 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.
7341
8592
  */
7342
8593
  "animation"?: AnimationBuilder;
8594
+ /**
8595
+ * The mode determines the platform behaviors of the component.
8596
+ */
8597
+ "mode"?: "ios" | "md";
7343
8598
  /**
7344
8599
  * Event fired when the nav has changed components
7345
8600
  */
@@ -7360,6 +8615,10 @@ declare namespace LocalJSX {
7360
8615
  * If the nav component should allow for swipe-to-go-back.
7361
8616
  */
7362
8617
  "swipeGesture"?: boolean;
8618
+ /**
8619
+ * The theme determines the visual appearance of the component.
8620
+ */
8621
+ "theme"?: "ios" | "md" | "ionic";
7363
8622
  }
7364
8623
  interface IonNavLink {
7365
8624
  /**
@@ -7370,6 +8629,10 @@ declare namespace LocalJSX {
7370
8629
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
7371
8630
  */
7372
8631
  "componentProps"?: ComponentProps;
8632
+ /**
8633
+ * The mode determines the platform behaviors of the component.
8634
+ */
8635
+ "mode"?: "ios" | "md";
7373
8636
  /**
7374
8637
  * The transition animation when navigating to another page.
7375
8638
  */
@@ -7379,6 +8642,10 @@ declare namespace LocalJSX {
7379
8642
  * @default 'forward'
7380
8643
  */
7381
8644
  "routerDirection"?: RouterDirection;
8645
+ /**
8646
+ * The theme determines the visual appearance of the component.
8647
+ */
8648
+ "theme"?: "ios" | "md" | "ionic";
7382
8649
  }
7383
8650
  interface IonNote {
7384
8651
  /**
@@ -7386,15 +8653,23 @@ declare namespace LocalJSX {
7386
8653
  */
7387
8654
  "color"?: Color;
7388
8655
  /**
7389
- * The mode determines which platform styles to use.
8656
+ * The mode determines the platform behaviors of the component.
7390
8657
  */
7391
8658
  "mode"?: "ios" | "md";
8659
+ /**
8660
+ * The theme determines the visual appearance of the component.
8661
+ */
8662
+ "theme"?: "ios" | "md" | "ionic";
7392
8663
  }
7393
8664
  interface IonPicker {
7394
8665
  /**
7395
- * The mode determines which platform styles to use.
8666
+ * The mode determines the platform behaviors of the component.
7396
8667
  */
7397
8668
  "mode"?: "ios" | "md";
8669
+ /**
8670
+ * The theme determines the visual appearance of the component.
8671
+ */
8672
+ "theme"?: "ios" | "md" | "ionic";
7398
8673
  }
7399
8674
  interface IonPickerColumn {
7400
8675
  /**
@@ -7408,13 +8683,17 @@ declare namespace LocalJSX {
7408
8683
  */
7409
8684
  "disabled"?: boolean;
7410
8685
  /**
7411
- * The mode determines which platform styles to use.
8686
+ * The mode determines the platform behaviors of the component.
7412
8687
  */
7413
8688
  "mode"?: "ios" | "md";
7414
8689
  /**
7415
8690
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7416
8691
  */
7417
8692
  "onIonChange"?: (event: IonPickerColumnCustomEvent<PickerColumnChangeEventDetail>) => void;
8693
+ /**
8694
+ * The theme determines the visual appearance of the component.
8695
+ */
8696
+ "theme"?: "ios" | "md" | "ionic";
7418
8697
  /**
7419
8698
  * The selected option in the picker.
7420
8699
  */
@@ -7431,6 +8710,14 @@ declare namespace LocalJSX {
7431
8710
  * @default false
7432
8711
  */
7433
8712
  "disabled"?: boolean;
8713
+ /**
8714
+ * The mode determines the platform behaviors of the component.
8715
+ */
8716
+ "mode"?: "ios" | "md";
8717
+ /**
8718
+ * The theme determines the visual appearance of the component.
8719
+ */
8720
+ "theme"?: "ios" | "md" | "ionic";
7434
8721
  /**
7435
8722
  * The text value of the option.
7436
8723
  */
@@ -7489,7 +8776,7 @@ declare namespace LocalJSX {
7489
8776
  */
7490
8777
  "leaveAnimation"?: AnimationBuilder;
7491
8778
  /**
7492
- * The mode determines which platform styles to use.
8779
+ * The mode determines the platform behaviors of the component.
7493
8780
  */
7494
8781
  "mode"?: "ios" | "md";
7495
8782
  /**
@@ -7529,6 +8816,10 @@ declare namespace LocalJSX {
7529
8816
  * @default true
7530
8817
  */
7531
8818
  "showBackdrop"?: boolean;
8819
+ /**
8820
+ * The theme determines the visual appearance of the component.
8821
+ */
8822
+ "theme"?: "ios" | "md" | "ionic";
7532
8823
  /**
7533
8824
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
7534
8825
  */
@@ -7542,7 +8833,7 @@ declare namespace LocalJSX {
7542
8833
  }
7543
8834
  interface IonPopover {
7544
8835
  /**
7545
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
8836
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
7546
8837
  */
7547
8838
  "alignment"?: PositionAlign;
7548
8839
  /**
@@ -7551,7 +8842,7 @@ declare namespace LocalJSX {
7551
8842
  */
7552
8843
  "animated"?: boolean;
7553
8844
  /**
7554
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
8845
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
7555
8846
  * @default true
7556
8847
  */
7557
8848
  "arrow"?: boolean;
@@ -7610,7 +8901,7 @@ declare namespace LocalJSX {
7610
8901
  */
7611
8902
  "leaveAnimation"?: AnimationBuilder;
7612
8903
  /**
7613
- * The mode determines which platform styles to use.
8904
+ * The mode determines the platform behaviors of the component.
7614
8905
  */
7615
8906
  "mode"?: "ios" | "md";
7616
8907
  /**
@@ -7666,7 +8957,11 @@ declare namespace LocalJSX {
7666
8957
  */
7667
8958
  "size"?: PopoverSize;
7668
8959
  /**
7669
- * 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).
8960
+ * The theme determines the visual appearance of the component.
8961
+ */
8962
+ "theme"?: "ios" | "md" | "ionic";
8963
+ /**
8964
+ * 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).
7670
8965
  * @default false
7671
8966
  */
7672
8967
  "translucent"?: boolean;
@@ -7691,7 +8986,7 @@ declare namespace LocalJSX {
7691
8986
  */
7692
8987
  "color"?: Color;
7693
8988
  /**
7694
- * The mode determines which platform styles to use.
8989
+ * The mode determines the platform behaviors of the component.
7695
8990
  */
7696
8991
  "mode"?: "ios" | "md";
7697
8992
  /**
@@ -7699,6 +8994,14 @@ declare namespace LocalJSX {
7699
8994
  * @default false
7700
8995
  */
7701
8996
  "reversed"?: boolean;
8997
+ /**
8998
+ * 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.
8999
+ */
9000
+ "shape"?: 'round' | 'rectangular';
9001
+ /**
9002
+ * The theme determines the visual appearance of the component.
9003
+ */
9004
+ "theme"?: "ios" | "md" | "ionic";
7702
9005
  /**
7703
9006
  * 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).
7704
9007
  * @default 'determinate'
@@ -7734,7 +9037,7 @@ declare namespace LocalJSX {
7734
9037
  */
7735
9038
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
7736
9039
  /**
7737
- * The mode determines which platform styles to use.
9040
+ * The mode determines the platform behaviors of the component.
7738
9041
  */
7739
9042
  "mode"?: "ios" | "md";
7740
9043
  /**
@@ -7750,6 +9053,10 @@ declare namespace LocalJSX {
7750
9053
  * Emitted when the radio button has focus.
7751
9054
  */
7752
9055
  "onIonFocus"?: (event: IonRadioCustomEvent<void>) => void;
9056
+ /**
9057
+ * The theme determines the visual appearance of the component.
9058
+ */
9059
+ "theme"?: "ios" | "md" | "ionic";
7753
9060
  /**
7754
9061
  * the value of the radio.
7755
9062
  */
@@ -7773,6 +9080,10 @@ declare namespace LocalJSX {
7773
9080
  * The helper text to display at the top of the radio group.
7774
9081
  */
7775
9082
  "helperText"?: string;
9083
+ /**
9084
+ * The mode determines the platform behaviors of the component.
9085
+ */
9086
+ "mode"?: "ios" | "md";
7776
9087
  /**
7777
9088
  * The name of the control, which is submitted with the form data.
7778
9089
  * @default this.inputId
@@ -7782,6 +9093,10 @@ declare namespace LocalJSX {
7782
9093
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7783
9094
  */
7784
9095
  "onIonChange"?: (event: IonRadioGroupCustomEvent<RadioGroupChangeEventDetail>) => void;
9096
+ /**
9097
+ * The theme determines the visual appearance of the component.
9098
+ */
9099
+ "theme"?: "ios" | "md" | "ionic";
7785
9100
  /**
7786
9101
  * the value of the radio group.
7787
9102
  */
@@ -7830,7 +9145,7 @@ declare namespace LocalJSX {
7830
9145
  */
7831
9146
  "min"?: number;
7832
9147
  /**
7833
- * The mode determines which platform styles to use.
9148
+ * The mode determines the platform behaviors of the component.
7834
9149
  */
7835
9150
  "mode"?: "ios" | "md";
7836
9151
  /**
@@ -7882,6 +9197,10 @@ declare namespace LocalJSX {
7882
9197
  * @default 1
7883
9198
  */
7884
9199
  "step"?: number;
9200
+ /**
9201
+ * The theme determines the visual appearance of the component.
9202
+ */
9203
+ "theme"?: "ios" | "md" | "ionic";
7885
9204
  /**
7886
9205
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
7887
9206
  * @default true
@@ -7905,7 +9224,7 @@ declare namespace LocalJSX {
7905
9224
  */
7906
9225
  "disabled"?: boolean;
7907
9226
  /**
7908
- * The mode determines which platform styles to use.
9227
+ * The mode determines the platform behaviors of the component.
7909
9228
  */
7910
9229
  "mode"?: "ios" | "md";
7911
9230
  /**
@@ -7949,8 +9268,16 @@ declare namespace LocalJSX {
7949
9268
  * @default '280ms'
7950
9269
  */
7951
9270
  "snapbackDuration"?: string;
9271
+ /**
9272
+ * The theme determines the visual appearance of the component.
9273
+ */
9274
+ "theme"?: "ios" | "md" | "ionic";
7952
9275
  }
7953
9276
  interface IonRefresherContent {
9277
+ /**
9278
+ * The mode determines the platform behaviors of the component.
9279
+ */
9280
+ "mode"?: "ios" | "md";
7954
9281
  /**
7955
9282
  * 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.
7956
9283
  */
@@ -7967,8 +9294,20 @@ declare namespace LocalJSX {
7967
9294
  * 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.
7968
9295
  */
7969
9296
  "refreshingText"?: string | IonicSafeString;
9297
+ /**
9298
+ * The theme determines the visual appearance of the component.
9299
+ */
9300
+ "theme"?: "ios" | "md" | "ionic";
7970
9301
  }
7971
9302
  interface IonReorder {
9303
+ /**
9304
+ * The mode determines the platform behaviors of the component.
9305
+ */
9306
+ "mode"?: "ios" | "md";
9307
+ /**
9308
+ * The theme determines the visual appearance of the component.
9309
+ */
9310
+ "theme"?: "ios" | "md" | "ionic";
7972
9311
  }
7973
9312
  interface IonReorderGroup {
7974
9313
  /**
@@ -7976,6 +9315,10 @@ declare namespace LocalJSX {
7976
9315
  * @default true
7977
9316
  */
7978
9317
  "disabled"?: boolean;
9318
+ /**
9319
+ * The mode determines the platform behaviors of the component.
9320
+ */
9321
+ "mode"?: "ios" | "md";
7979
9322
  /**
7980
9323
  * Event that needs to be listened to in order to complete the reorder action.
7981
9324
  * @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.
@@ -7993,8 +9336,20 @@ declare namespace LocalJSX {
7993
9336
  * Event that is emitted when the reorder gesture starts.
7994
9337
  */
7995
9338
  "onIonReorderStart"?: (event: IonReorderGroupCustomEvent<void>) => void;
9339
+ /**
9340
+ * The theme determines the visual appearance of the component.
9341
+ */
9342
+ "theme"?: "ios" | "md" | "ionic";
7996
9343
  }
7997
9344
  interface IonRippleEffect {
9345
+ /**
9346
+ * The mode determines the platform behaviors of the component.
9347
+ */
9348
+ "mode"?: "ios" | "md";
9349
+ /**
9350
+ * The theme determines the visual appearance of the component.
9351
+ */
9352
+ "theme"?: "ios" | "md" | "ionic";
7998
9353
  /**
7999
9354
  * 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.
8000
9355
  * @default 'bounded'
@@ -8018,10 +9373,18 @@ declare namespace LocalJSX {
8018
9373
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
8019
9374
  */
8020
9375
  "componentProps"?: { [key: string]: any };
9376
+ /**
9377
+ * The mode determines the platform behaviors of the component.
9378
+ */
9379
+ "mode"?: "ios" | "md";
8021
9380
  /**
8022
9381
  * Used internally by `ion-router` to know when this route did change.
8023
9382
  */
8024
9383
  "onIonRouteDataChanged"?: (event: IonRouteCustomEvent<any>) => void;
9384
+ /**
9385
+ * The theme determines the visual appearance of the component.
9386
+ */
9387
+ "theme"?: "ios" | "md" | "ionic";
8025
9388
  /**
8026
9389
  * 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.
8027
9390
  * @default ''
@@ -8043,6 +9406,10 @@ declare namespace LocalJSX {
8043
9406
  "to": string | undefined | null;
8044
9407
  }
8045
9408
  interface IonRouter {
9409
+ /**
9410
+ * The mode determines the platform behaviors of the component.
9411
+ */
9412
+ "mode"?: "ios" | "md";
8046
9413
  /**
8047
9414
  * Emitted when the route had changed
8048
9415
  */
@@ -8056,6 +9423,10 @@ declare namespace LocalJSX {
8056
9423
  * @default '/'
8057
9424
  */
8058
9425
  "root"?: string;
9426
+ /**
9427
+ * The theme determines the visual appearance of the component.
9428
+ */
9429
+ "theme"?: "ios" | "md" | "ionic";
8059
9430
  /**
8060
9431
  * 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.
8061
9432
  * @default true
@@ -8071,6 +9442,10 @@ declare namespace LocalJSX {
8071
9442
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
8072
9443
  */
8073
9444
  "href"?: string | undefined;
9445
+ /**
9446
+ * The mode determines the platform behaviors of the component.
9447
+ */
9448
+ "mode"?: "ios" | "md";
8074
9449
  /**
8075
9450
  * 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).
8076
9451
  */
@@ -8088,6 +9463,10 @@ declare namespace LocalJSX {
8088
9463
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8089
9464
  */
8090
9465
  "target"?: string | undefined;
9466
+ /**
9467
+ * The theme determines the visual appearance of the component.
9468
+ */
9469
+ "theme"?: "ios" | "md" | "ionic";
8091
9470
  }
8092
9471
  interface IonRouterOutlet {
8093
9472
  /**
@@ -8100,12 +9479,24 @@ declare namespace LocalJSX {
8100
9479
  */
8101
9480
  "animation"?: AnimationBuilder;
8102
9481
  /**
8103
- * The mode determines which platform styles to use.
9482
+ * The mode determines the platform behaviors of the component.
8104
9483
  * @default getIonMode(this)
8105
9484
  */
8106
9485
  "mode"?: "ios" | "md";
9486
+ /**
9487
+ * The theme determines the visual appearance of the component.
9488
+ */
9489
+ "theme"?: "ios" | "md" | "ionic";
8107
9490
  }
8108
9491
  interface IonRow {
9492
+ /**
9493
+ * The mode determines the platform behaviors of the component.
9494
+ */
9495
+ "mode"?: "ios" | "md";
9496
+ /**
9497
+ * The theme determines the visual appearance of the component.
9498
+ */
9499
+ "theme"?: "ios" | "md" | "ionic";
8109
9500
  }
8110
9501
  interface IonSearchbar {
8111
9502
  /**
@@ -8129,17 +9520,16 @@ declare namespace LocalJSX {
8129
9520
  */
8130
9521
  "autocorrect"?: 'on' | 'off';
8131
9522
  /**
8132
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
8133
- * @default config.get('backButtonIcon', arrowBackSharp) as string
9523
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
8134
9524
  */
8135
9525
  "cancelButtonIcon"?: string;
8136
9526
  /**
8137
- * Set the cancel button text. Only applies to `ios` mode.
9527
+ * Set the cancel button text. Only available when the theme is `"ios"`.
8138
9528
  * @default 'Cancel'
8139
9529
  */
8140
9530
  "cancelButtonText"?: string;
8141
9531
  /**
8142
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
9532
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
8143
9533
  */
8144
9534
  "clearIcon"?: string;
8145
9535
  /**
@@ -8172,7 +9562,7 @@ declare namespace LocalJSX {
8172
9562
  */
8173
9563
  "minlength"?: number;
8174
9564
  /**
8175
- * The mode determines which platform styles to use.
9565
+ * The mode determines the platform behaviors of the component.
8176
9566
  */
8177
9567
  "mode"?: "ios" | "md";
8178
9568
  /**
@@ -8210,9 +9600,13 @@ declare namespace LocalJSX {
8210
9600
  */
8211
9601
  "placeholder"?: string;
8212
9602
  /**
8213
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
9603
+ * 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.
9604
+ */
9605
+ "searchIcon"?: string | boolean;
9606
+ /**
9607
+ * 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.
8214
9608
  */
8215
- "searchIcon"?: string;
9609
+ "shape"?: 'soft' | 'round' | 'rectangular';
8216
9610
  /**
8217
9611
  * 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.
8218
9612
  * @default 'never'
@@ -8223,11 +9617,19 @@ declare namespace LocalJSX {
8223
9617
  * @default 'always'
8224
9618
  */
8225
9619
  "showClearButton"?: 'never' | 'focus' | 'always';
9620
+ /**
9621
+ * 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.
9622
+ */
9623
+ "size"?: 'small' | 'medium' | 'large';
8226
9624
  /**
8227
9625
  * If `true`, enable spellcheck on the input.
8228
9626
  * @default false
8229
9627
  */
8230
9628
  "spellcheck"?: boolean;
9629
+ /**
9630
+ * The theme determines the visual appearance of the component.
9631
+ */
9632
+ "theme"?: "ios" | "md" | "ionic";
8231
9633
  /**
8232
9634
  * Set the type of the input.
8233
9635
  * @default 'search'
@@ -8250,7 +9652,7 @@ declare namespace LocalJSX {
8250
9652
  */
8251
9653
  "disabled"?: boolean;
8252
9654
  /**
8253
- * The mode determines which platform styles to use.
9655
+ * The mode determines the platform behaviors of the component.
8254
9656
  */
8255
9657
  "mode"?: "ios" | "md";
8256
9658
  /**
@@ -8272,6 +9674,10 @@ declare namespace LocalJSX {
8272
9674
  * @default true
8273
9675
  */
8274
9676
  "swipeGesture"?: boolean;
9677
+ /**
9678
+ * The theme determines the visual appearance of the component.
9679
+ */
9680
+ "theme"?: "ios" | "md" | "ionic";
8275
9681
  /**
8276
9682
  * the value of the segment.
8277
9683
  */
@@ -8293,9 +9699,13 @@ declare namespace LocalJSX {
8293
9699
  */
8294
9700
  "layout"?: SegmentButtonLayout;
8295
9701
  /**
8296
- * The mode determines which platform styles to use.
9702
+ * The mode determines the platform behaviors of the component.
8297
9703
  */
8298
9704
  "mode"?: "ios" | "md";
9705
+ /**
9706
+ * The theme determines the visual appearance of the component.
9707
+ */
9708
+ "theme"?: "ios" | "md" | "ionic";
8299
9709
  /**
8300
9710
  * The type of the button.
8301
9711
  * @default 'button'
@@ -8326,6 +9736,11 @@ declare namespace LocalJSX {
8326
9736
  "swipeGesture"?: boolean;
8327
9737
  }
8328
9738
  interface IonSelect {
9739
+ /**
9740
+ * If `true`, the cancel button will display an icon instead of the `cancelText`. Only applies when `interface` is set to `"modal"`. Has no effect on `"action-sheet"`, `"alert"`, or `"popover"` interfaces. When `cancelIcon` is `true`, the `cancelText` property is ignored for display but is used as the accessible label for the icon button.
9741
+ * @default false
9742
+ */
9743
+ "cancelIcon"?: boolean;
8329
9744
  /**
8330
9745
  * The text to display on the cancel button.
8331
9746
  * @default 'Cancel'
@@ -8349,11 +9764,11 @@ declare namespace LocalJSX {
8349
9764
  */
8350
9765
  "errorText"?: string;
8351
9766
  /**
8352
- * 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.
9767
+ * 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.
8353
9768
  */
8354
9769
  "expandedIcon"?: string;
8355
9770
  /**
8356
- * 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.
9771
+ * 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.
8357
9772
  */
8358
9773
  "fill"?: 'outline' | 'solid';
8359
9774
  /**
@@ -8384,7 +9799,7 @@ declare namespace LocalJSX {
8384
9799
  */
8385
9800
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
8386
9801
  /**
8387
- * The mode determines which platform styles to use.
9802
+ * The mode determines the platform behaviors of the component.
8388
9803
  */
8389
9804
  "mode"?: "ios" | "md";
8390
9805
  /**
@@ -8436,11 +9851,19 @@ declare namespace LocalJSX {
8436
9851
  */
8437
9852
  "selectedText"?: string | null;
8438
9853
  /**
8439
- * The shape of the select. If "round" it will have an increased border radius.
9854
+ * 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.
9855
+ */
9856
+ "shape"?: 'soft' | 'round' | 'rectangular';
9857
+ /**
9858
+ * 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.
9859
+ */
9860
+ "size"?: 'small' | 'medium' | 'large';
9861
+ /**
9862
+ * The theme determines the visual appearance of the component.
8440
9863
  */
8441
- "shape"?: 'round';
9864
+ "theme"?: "ios" | "md" | "ionic";
8442
9865
  /**
8443
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
9866
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
8444
9867
  */
8445
9868
  "toggleIcon"?: string;
8446
9869
  /**
@@ -8449,6 +9872,11 @@ declare namespace LocalJSX {
8449
9872
  "value"?: any | null;
8450
9873
  }
8451
9874
  interface IonSelectModal {
9875
+ /**
9876
+ * If `true`, the cancel button will display a close icon instead of the `cancelText`. When `cancelIcon` is `true`, `cancelText` is not displayed visually but is still used as the accessible label (`aria-label`) for the button.
9877
+ * @default false
9878
+ */
9879
+ "cancelIcon"?: boolean;
8452
9880
  /**
8453
9881
  * The text to display on the cancel button.
8454
9882
  * @default 'Close'
@@ -8463,10 +9891,30 @@ declare namespace LocalJSX {
8463
9891
  }
8464
9892
  interface IonSelectOption {
8465
9893
  /**
8466
- * 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.
9894
+ * Text that is placed underneath the option text to provide additional details about the option.
9895
+ */
9896
+ "description"?: string;
9897
+ /**
9898
+ * If `true`, the user cannot interact with the select option.
8467
9899
  * @default false
8468
9900
  */
8469
9901
  "disabled"?: boolean;
9902
+ /**
9903
+ * How to pack the label and the option's selection control within a line. `"start"`: The label and radio will appear on the left in LTR and on the right in RTL. `"end"`: The label and radio will appear on the right in LTR and on the left in RTL. `"space-between"`: The label and radio will appear on opposite ends of the line with space between the two elements. Applies to the `alert`, `popover`, and `modal` interfaces, but has no visible effect on radio options in `popover` or `modal` on the `md` and `ionic` themes (the radio control is hidden there). When unset, the interface picks a default based on theme and control type.
9904
+ */
9905
+ "justify"?: 'start' | 'end' | 'space-between';
9906
+ /**
9907
+ * Where the label is placed relative to the option's selection control (radio circle or checkbox box) when the option is rendered in an `alert`, `popover`, or `modal` interface. `"start"`: The label will appear to the left of the radio in LTR and to the right in RTL. `"end"`: The label will appear to the right of the radio in LTR and to the left in RTL. Applies to the `alert`, `popover`, and `modal` interfaces, but has no visible effect on radio options in `popover` or `modal` on the `md` and `ionic` themes (the radio control is hidden there). When unset, the interface picks a default based on theme and control type.
9908
+ */
9909
+ "labelPlacement"?: 'start' | 'end';
9910
+ /**
9911
+ * The mode determines the platform behaviors of the component.
9912
+ */
9913
+ "mode"?: "ios" | "md";
9914
+ /**
9915
+ * The theme determines the visual appearance of the component.
9916
+ */
9917
+ "theme"?: "ios" | "md" | "ionic";
8470
9918
  /**
8471
9919
  * The text value of the option.
8472
9920
  */
@@ -8481,6 +9929,10 @@ declare namespace LocalJSX {
8481
9929
  * The text content of the popover body
8482
9930
  */
8483
9931
  "message"?: string;
9932
+ /**
9933
+ * The mode determines the platform behaviors of the component.
9934
+ */
9935
+ "mode"?: "ios" | "md";
8484
9936
  /**
8485
9937
  * If true, the select accepts multiple values
8486
9938
  */
@@ -8494,6 +9946,10 @@ declare namespace LocalJSX {
8494
9946
  * The subheader text of the popover
8495
9947
  */
8496
9948
  "subHeader"?: string;
9949
+ /**
9950
+ * The theme determines the visual appearance of the component.
9951
+ */
9952
+ "theme"?: "ios" | "md" | "ionic";
8497
9953
  }
8498
9954
  interface IonSkeletonText {
8499
9955
  /**
@@ -8501,6 +9957,14 @@ declare namespace LocalJSX {
8501
9957
  * @default false
8502
9958
  */
8503
9959
  "animated"?: boolean;
9960
+ /**
9961
+ * The mode determines the platform behaviors of the component.
9962
+ */
9963
+ "mode"?: "ios" | "md";
9964
+ /**
9965
+ * The theme determines the visual appearance of the component.
9966
+ */
9967
+ "theme"?: "ios" | "md" | "ionic";
8504
9968
  }
8505
9969
  interface IonSpinner {
8506
9970
  /**
@@ -8511,6 +9975,10 @@ declare namespace LocalJSX {
8511
9975
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
8512
9976
  */
8513
9977
  "duration"?: number;
9978
+ /**
9979
+ * The mode determines the platform behaviors of the component.
9980
+ */
9981
+ "mode"?: "ios" | "md";
8514
9982
  /**
8515
9983
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
8516
9984
  */
@@ -8520,6 +9988,14 @@ declare namespace LocalJSX {
8520
9988
  * @default false
8521
9989
  */
8522
9990
  "paused"?: boolean;
9991
+ /**
9992
+ * 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.
9993
+ */
9994
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
9995
+ /**
9996
+ * The theme determines the visual appearance of the component.
9997
+ */
9998
+ "theme"?: "ios" | "md" | "ionic";
8523
9999
  }
8524
10000
  interface IonSplitPane {
8525
10001
  /**
@@ -8531,10 +10007,18 @@ declare namespace LocalJSX {
8531
10007
  * @default false
8532
10008
  */
8533
10009
  "disabled"?: boolean;
10010
+ /**
10011
+ * The mode determines the platform behaviors of the component.
10012
+ */
10013
+ "mode"?: "ios" | "md";
8534
10014
  /**
8535
10015
  * Expression to be called when the split-pane visibility has changed
8536
10016
  */
8537
10017
  "onIonSplitPaneVisible"?: (event: IonSplitPaneCustomEvent<{ visible: boolean }>) => void;
10018
+ /**
10019
+ * The theme determines the visual appearance of the component.
10020
+ */
10021
+ "theme"?: "ios" | "md" | "ionic";
8538
10022
  /**
8539
10023
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
8540
10024
  * @default '(min-width: 992px)'
@@ -8546,10 +10030,18 @@ declare namespace LocalJSX {
8546
10030
  * The component to display inside of the tab.
8547
10031
  */
8548
10032
  "component"?: ComponentRef;
10033
+ /**
10034
+ * The mode determines the platform behaviors of the component.
10035
+ */
10036
+ "mode"?: "ios" | "md";
8549
10037
  /**
8550
10038
  * 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.
8551
10039
  */
8552
10040
  "tab": string;
10041
+ /**
10042
+ * The theme determines the visual appearance of the component.
10043
+ */
10044
+ "theme"?: "ios" | "md" | "ionic";
8553
10045
  }
8554
10046
  interface IonTabBar {
8555
10047
  /**
@@ -8557,7 +10049,17 @@ declare namespace LocalJSX {
8557
10049
  */
8558
10050
  "color"?: Color;
8559
10051
  /**
8560
- * The mode determines which platform styles to use.
10052
+ * 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"`.
10053
+ * @default 'full'
10054
+ */
10055
+ "expand"?: 'compact' | 'full';
10056
+ /**
10057
+ * If `true`, the tab bar will be hidden when the user scrolls down and shown when the user scrolls up. Only applies when the theme is `"ionic"` and `expand` is `"compact"`.
10058
+ * @default false
10059
+ */
10060
+ "hideOnScroll"?: boolean;
10061
+ /**
10062
+ * The mode determines the platform behaviors of the component.
8561
10063
  */
8562
10064
  "mode"?: "ios" | "md";
8563
10065
  /**
@@ -8565,7 +10067,15 @@ declare namespace LocalJSX {
8565
10067
  */
8566
10068
  "selectedTab"?: string;
8567
10069
  /**
8568
- * 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).
10070
+ * 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.
10071
+ */
10072
+ "shape"?: 'soft' | 'round' | 'rectangular';
10073
+ /**
10074
+ * The theme determines the visual appearance of the component.
10075
+ */
10076
+ "theme"?: "ios" | "md" | "ionic";
10077
+ /**
10078
+ * 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).
8569
10079
  * @default false
8570
10080
  */
8571
10081
  "translucent"?: boolean;
@@ -8589,7 +10099,7 @@ declare namespace LocalJSX {
8589
10099
  */
8590
10100
  "layout"?: TabButtonLayout;
8591
10101
  /**
8592
- * The mode determines which platform styles to use.
10102
+ * The mode determines the platform behaviors of the component.
8593
10103
  */
8594
10104
  "mode"?: "ios" | "md";
8595
10105
  /**
@@ -8601,6 +10111,10 @@ declare namespace LocalJSX {
8601
10111
  * @default false
8602
10112
  */
8603
10113
  "selected"?: boolean;
10114
+ /**
10115
+ * 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.
10116
+ */
10117
+ "shape"?: 'soft' | 'round' | 'rectangular';
8604
10118
  /**
8605
10119
  * 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.
8606
10120
  */
@@ -8609,8 +10123,16 @@ declare namespace LocalJSX {
8609
10123
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8610
10124
  */
8611
10125
  "target"?: string | undefined;
10126
+ /**
10127
+ * The theme determines the visual appearance of the component.
10128
+ */
10129
+ "theme"?: "ios" | "md" | "ionic";
8612
10130
  }
8613
10131
  interface IonTabs {
10132
+ /**
10133
+ * The mode determines the platform behaviors of the component.
10134
+ */
10135
+ "mode"?: "ios" | "md";
8614
10136
  /**
8615
10137
  * Emitted when the navigation has finished transitioning to a new component.
8616
10138
  */
@@ -8619,6 +10141,10 @@ declare namespace LocalJSX {
8619
10141
  * Emitted when the navigation is about to transition to a new component.
8620
10142
  */
8621
10143
  "onIonTabsWillChange"?: (event: IonTabsCustomEvent<{ tab: string }>) => void;
10144
+ /**
10145
+ * The theme determines the visual appearance of the component.
10146
+ */
10147
+ "theme"?: "ios" | "md" | "ionic";
8622
10148
  }
8623
10149
  interface IonText {
8624
10150
  /**
@@ -8626,9 +10152,13 @@ declare namespace LocalJSX {
8626
10152
  */
8627
10153
  "color"?: Color;
8628
10154
  /**
8629
- * The mode determines which platform styles to use.
10155
+ * The mode determines the platform behaviors of the component.
8630
10156
  */
8631
10157
  "mode"?: "ios" | "md";
10158
+ /**
10159
+ * The theme determines the visual appearance of the component.
10160
+ */
10161
+ "theme"?: "ios" | "md" | "ionic";
8632
10162
  }
8633
10163
  interface IonTextarea {
8634
10164
  /**
@@ -8686,9 +10216,13 @@ declare namespace LocalJSX {
8686
10216
  */
8687
10217
  "errorText"?: string;
8688
10218
  /**
8689
- * 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.
10219
+ * 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"`.
8690
10220
  */
8691
10221
  "fill"?: 'outline' | 'solid';
10222
+ /**
10223
+ * The `id` of a `<form>` element to associate this element with.
10224
+ */
10225
+ "form"?: string;
8692
10226
  /**
8693
10227
  * Text that is placed under the textarea and displayed when no error is detected.
8694
10228
  */
@@ -8715,7 +10249,7 @@ declare namespace LocalJSX {
8715
10249
  */
8716
10250
  "minlength"?: number;
8717
10251
  /**
8718
- * The mode determines which platform styles to use.
10252
+ * The mode determines the platform behaviors of the component.
8719
10253
  */
8720
10254
  "mode"?: "ios" | "md";
8721
10255
  /**
@@ -8758,14 +10292,23 @@ declare namespace LocalJSX {
8758
10292
  */
8759
10293
  "rows"?: number;
8760
10294
  /**
8761
- * The shape of the textarea. If "round" it will have an increased border radius.
10295
+ * 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.
8762
10296
  */
8763
- "shape"?: 'round';
10297
+ "shape"?: 'soft' | 'round' | 'rectangular';
10298
+ /**
10299
+ * 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.
10300
+ * @default 'medium'
10301
+ */
10302
+ "size"?: 'small' | 'medium' | 'large';
8764
10303
  /**
8765
10304
  * If `true`, the element will have its spelling and grammar checked.
8766
10305
  * @default false
8767
10306
  */
8768
10307
  "spellcheck"?: boolean;
10308
+ /**
10309
+ * The theme determines the visual appearance of the component.
10310
+ */
10311
+ "theme"?: "ios" | "md" | "ionic";
8769
10312
  /**
8770
10313
  * The value of the textarea.
8771
10314
  * @default ''
@@ -8777,16 +10320,32 @@ declare namespace LocalJSX {
8777
10320
  "wrap"?: 'hard' | 'soft' | 'off';
8778
10321
  }
8779
10322
  interface IonThumbnail {
10323
+ /**
10324
+ * The mode determines the platform behaviors of the component.
10325
+ */
10326
+ "mode"?: "ios" | "md";
10327
+ /**
10328
+ * The theme determines the visual appearance of the component.
10329
+ */
10330
+ "theme"?: "ios" | "md" | "ionic";
8780
10331
  }
8781
10332
  interface IonTitle {
8782
10333
  /**
8783
10334
  * 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).
8784
10335
  */
8785
10336
  "color"?: Color;
10337
+ /**
10338
+ * The mode determines the platform behaviors of the component.
10339
+ */
10340
+ "mode"?: "ios" | "md";
8786
10341
  /**
8787
10342
  * The size of the toolbar title.
8788
10343
  */
8789
10344
  "size"?: 'large' | 'small';
10345
+ /**
10346
+ * The theme determines the visual appearance of the component.
10347
+ */
10348
+ "theme"?: "ios" | "md" | "ionic";
8790
10349
  }
8791
10350
  interface IonToast {
8792
10351
  /**
@@ -8823,6 +10382,11 @@ declare namespace LocalJSX {
8823
10382
  * Additional attributes to pass to the toast.
8824
10383
  */
8825
10384
  "htmlAttributes"?: { [key: string]: any };
10385
+ /**
10386
+ * 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.
10387
+ * @default 'subtle'
10388
+ */
10389
+ "hue"?: 'bold' | 'subtle';
8826
10390
  /**
8827
10391
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
8828
10392
  */
@@ -8851,7 +10415,7 @@ declare namespace LocalJSX {
8851
10415
  */
8852
10416
  "message"?: string | IonicSafeString;
8853
10417
  /**
8854
- * The mode determines which platform styles to use.
10418
+ * The mode determines the platform behaviors of the component.
8855
10419
  */
8856
10420
  "mode"?: "ios" | "md";
8857
10421
  /**
@@ -8895,12 +10459,20 @@ declare namespace LocalJSX {
8895
10459
  * 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.
8896
10460
  */
8897
10461
  "positionAnchor"?: HTMLElement | string;
10462
+ /**
10463
+ * 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.
10464
+ */
10465
+ "shape"?: 'soft' | 'round' | 'rectangular';
8898
10466
  /**
8899
10467
  * 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.
8900
10468
  */
8901
10469
  "swipeGesture"?: ToastSwipeGestureDirection;
8902
10470
  /**
8903
- * 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).
10471
+ * The theme determines the visual appearance of the component.
10472
+ */
10473
+ "theme"?: "ios" | "md" | "ionic";
10474
+ /**
10475
+ * 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).
8904
10476
  * @default false
8905
10477
  */
8906
10478
  "translucent"?: boolean;
@@ -8951,7 +10523,7 @@ declare namespace LocalJSX {
8951
10523
  */
8952
10524
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
8953
10525
  /**
8954
- * The mode determines which platform styles to use.
10526
+ * The mode determines the platform behaviors of the component.
8955
10527
  */
8956
10528
  "mode"?: "ios" | "md";
8957
10529
  /**
@@ -8976,6 +10548,10 @@ declare namespace LocalJSX {
8976
10548
  * @default false
8977
10549
  */
8978
10550
  "required"?: boolean;
10551
+ /**
10552
+ * The theme determines the visual appearance of the component.
10553
+ */
10554
+ "theme"?: "ios" | "md" | "ionic";
8979
10555
  /**
8980
10556
  * 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>`.
8981
10557
  * @default 'on'
@@ -8988,9 +10564,17 @@ declare namespace LocalJSX {
8988
10564
  */
8989
10565
  "color"?: Color;
8990
10566
  /**
8991
- * The mode determines which platform styles to use.
10567
+ * The mode determines the platform behaviors of the component.
8992
10568
  */
8993
10569
  "mode"?: "ios" | "md";
10570
+ /**
10571
+ * The theme determines the visual appearance of the component.
10572
+ */
10573
+ "theme"?: "ios" | "md" | "ionic";
10574
+ /**
10575
+ * Where to place the title relative to the other toolbar content. `"start"`: The title will appear to the left of the toolbar content in LTR and to the right in RTL. `"center"`: The title will appear in the center of the toolbar. `"end"`: The title will appear to the right of the toolbar content in LTR and to the left in RTL. Only applies in the `ionic` theme.
10576
+ */
10577
+ "titlePlacement"?: 'start' | 'center' | 'end';
8994
10578
  }
8995
10579
 
8996
10580
  interface IonAccordionAttributes {
@@ -9007,6 +10591,7 @@ declare namespace LocalJSX {
9007
10591
  "disabled": boolean;
9008
10592
  "readonly": boolean;
9009
10593
  "expand": 'compact' | 'inset';
10594
+ "shape": 'soft' | 'round' | 'rectangular';
9010
10595
  }
9011
10596
  interface IonActionSheetAttributes {
9012
10597
  "keyboardClose": boolean;
@@ -9031,6 +10616,11 @@ declare namespace LocalJSX {
9031
10616
  "isOpen": boolean;
9032
10617
  "trigger": string | undefined;
9033
10618
  }
10619
+ interface IonAvatarAttributes {
10620
+ "size": 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
10621
+ "shape": 'soft' | 'round' | 'rectangular';
10622
+ "disabled": boolean;
10623
+ }
9034
10624
  interface IonBackButtonAttributes {
9035
10625
  "color": Color;
9036
10626
  "defaultHref": string;
@@ -9046,6 +10636,10 @@ declare namespace LocalJSX {
9046
10636
  }
9047
10637
  interface IonBadgeAttributes {
9048
10638
  "color": Color;
10639
+ "hue": 'bold' | 'subtle';
10640
+ "shape": 'soft' | 'round | rectangular';
10641
+ "size": 'small' | 'medium' | 'large';
10642
+ "vertical": 'top' | 'bottom';
9049
10643
  }
9050
10644
  interface IonBreadcrumbAttributes {
9051
10645
  "color": Color;
@@ -9074,8 +10668,8 @@ declare namespace LocalJSX {
9074
10668
  "download": string | undefined;
9075
10669
  "href": string | undefined;
9076
10670
  "rel": string | undefined;
9077
- "shape": 'round';
9078
- "size": 'small' | 'default' | 'large';
10671
+ "shape": 'soft' | 'round' | 'rectangular';
10672
+ "size": 'small' | 'default' | 'medium' | 'large';
9079
10673
  "strong": boolean;
9080
10674
  "target": string | undefined;
9081
10675
  "type": 'submit' | 'reset' | 'button';
@@ -9093,6 +10687,7 @@ declare namespace LocalJSX {
9093
10687
  "href": string | undefined;
9094
10688
  "rel": string | undefined;
9095
10689
  "routerDirection": RouterDirection;
10690
+ "shape": 'soft' | 'round' | 'rectangular';
9096
10691
  "target": string | undefined;
9097
10692
  }
9098
10693
  interface IonCardHeaderAttributes {
@@ -9118,11 +10713,16 @@ declare namespace LocalJSX {
9118
10713
  "justify": 'start' | 'end' | 'space-between';
9119
10714
  "alignment": 'start' | 'center';
9120
10715
  "required": boolean;
10716
+ "shape": 'soft' | 'rectangular';
10717
+ "size": 'small';
9121
10718
  }
9122
10719
  interface IonChipAttributes {
9123
10720
  "color": Color;
9124
10721
  "outline": boolean;
9125
10722
  "disabled": boolean;
10723
+ "hue": 'bold' | 'subtle';
10724
+ "shape": 'soft' | 'round' | 'rectangular';
10725
+ "size": 'small' | 'large';
9126
10726
  }
9127
10727
  interface IonColAttributes {
9128
10728
  "offset": string;
@@ -9131,6 +10731,12 @@ declare namespace LocalJSX {
9131
10731
  "offsetMd": string;
9132
10732
  "offsetLg": string;
9133
10733
  "offsetXl": string;
10734
+ "order": string;
10735
+ "orderXs": string;
10736
+ "orderSm": string;
10737
+ "orderMd": string;
10738
+ "orderLg": string;
10739
+ "orderXl": string;
9134
10740
  "pull": string;
9135
10741
  "pullXs": string;
9136
10742
  "pullSm": string;
@@ -9193,6 +10799,10 @@ declare namespace LocalJSX {
9193
10799
  "disabled": boolean;
9194
10800
  "datetime": string;
9195
10801
  }
10802
+ interface IonDividerAttributes {
10803
+ "spacing": 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
10804
+ "inset": boolean;
10805
+ }
9196
10806
  interface IonFabAttributes {
9197
10807
  "horizontal": 'start' | 'end' | 'center';
9198
10808
  "vertical": 'top' | 'bottom' | 'center';
@@ -9222,11 +10832,18 @@ declare namespace LocalJSX {
9222
10832
  "collapse": 'fade';
9223
10833
  "translucent": boolean;
9224
10834
  }
10835
+ interface IonGalleryAttributes {
10836
+ "layout": 'uniform' | 'masonry';
10837
+ "order": 'sequential' | 'best-fit';
10838
+ "columns": string;
10839
+ "gap": string;
10840
+ }
9225
10841
  interface IonGridAttributes {
9226
10842
  "fixed": boolean;
9227
10843
  }
9228
10844
  interface IonHeaderAttributes {
9229
10845
  "collapse": 'condense' | 'fade';
10846
+ "divider": boolean;
9230
10847
  "translucent": boolean;
9231
10848
  }
9232
10849
  interface IonImgAttributes {
@@ -9237,6 +10854,7 @@ declare namespace LocalJSX {
9237
10854
  "threshold": string;
9238
10855
  "disabled": boolean;
9239
10856
  "position": 'top' | 'bottom';
10857
+ "preserveRerenderScrollPosition": boolean;
9240
10858
  }
9241
10859
  interface IonInfiniteScrollContentAttributes {
9242
10860
  "loadingSpinner": SpinnerTypes | null;
@@ -9271,9 +10889,10 @@ declare namespace LocalJSX {
9271
10889
  "placeholder": string;
9272
10890
  "readonly": boolean;
9273
10891
  "required": boolean;
9274
- "shape": 'round';
10892
+ "shape": 'soft' | 'round' | 'rectangular';
9275
10893
  "spellcheck": boolean;
9276
10894
  "step": string;
10895
+ "size": 'medium' | 'large' | 'xlarge';
9277
10896
  "type": TextFieldTypes;
9278
10897
  "value": string;
9279
10898
  }
@@ -9321,9 +10940,11 @@ declare namespace LocalJSX {
9321
10940
  "download": string | undefined;
9322
10941
  "expandable": boolean;
9323
10942
  "href": string | undefined;
10943
+ "hue": 'bold' | 'subtle';
9324
10944
  "rel": string | undefined;
9325
10945
  "target": string | undefined;
9326
10946
  "type": 'submit' | 'reset' | 'button';
10947
+ "shape": 'soft' | 'round' | 'rectangular';
9327
10948
  }
9328
10949
  interface IonItemOptionsAttributes {
9329
10950
  "side": Side;
@@ -9338,6 +10959,7 @@ declare namespace LocalJSX {
9338
10959
  interface IonListAttributes {
9339
10960
  "lines": 'full' | 'inset' | 'none';
9340
10961
  "inset": boolean;
10962
+ "shape": 'soft' | 'round' | 'rectangular';
9341
10963
  }
9342
10964
  interface IonListHeaderAttributes {
9343
10965
  "color": Color;
@@ -9391,6 +11013,7 @@ declare namespace LocalJSX {
9391
11013
  "keepContentsMounted": boolean;
9392
11014
  "focusTrap": boolean;
9393
11015
  "canDismiss": boolean | ((data?: any, role?: string) => Promise<boolean>);
11016
+ "shape": 'soft' | 'round' | 'rectangular';
9394
11017
  }
9395
11018
  interface IonNavAttributes {
9396
11019
  "swipeGesture": boolean;
@@ -9450,6 +11073,7 @@ declare namespace LocalJSX {
9450
11073
  "value": number;
9451
11074
  "buffer": number;
9452
11075
  "color": Color;
11076
+ "shape": 'round' | 'rectangular';
9453
11077
  }
9454
11078
  interface IonRadioAttributes {
9455
11079
  "color": Color;
@@ -9551,6 +11175,8 @@ declare namespace LocalJSX {
9551
11175
  "spellcheck": boolean;
9552
11176
  "type": 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url';
9553
11177
  "value": string | null;
11178
+ "shape": 'soft' | 'round' | 'rectangular';
11179
+ "size": 'small' | 'medium' | 'large';
9554
11180
  }
9555
11181
  interface IonSegmentAttributes {
9556
11182
  "color": Color;
@@ -9573,6 +11199,7 @@ declare namespace LocalJSX {
9573
11199
  }
9574
11200
  interface IonSelectAttributes {
9575
11201
  "cancelText": string;
11202
+ "cancelIcon": boolean;
9576
11203
  "color": Color;
9577
11204
  "compareWith": string | SelectCompareFn | null;
9578
11205
  "disabled": boolean;
@@ -9591,18 +11218,23 @@ declare namespace LocalJSX {
9591
11218
  "selectedText": string | null;
9592
11219
  "toggleIcon": string;
9593
11220
  "expandedIcon": string;
9594
- "shape": 'round';
9595
- "value": string;
9596
11221
  "required": boolean;
11222
+ "shape": 'soft' | 'round' | 'rectangular';
11223
+ "size": 'small' | 'medium' | 'large';
11224
+ "value": string;
9597
11225
  }
9598
11226
  interface IonSelectModalAttributes {
9599
11227
  "header": string;
9600
11228
  "cancelText": string;
11229
+ "cancelIcon": boolean;
9601
11230
  "multiple": boolean;
9602
11231
  }
9603
11232
  interface IonSelectOptionAttributes {
9604
11233
  "disabled": boolean;
9605
11234
  "value": string;
11235
+ "description": string;
11236
+ "labelPlacement": 'start' | 'end';
11237
+ "justify": 'start' | 'end' | 'space-between';
9606
11238
  }
9607
11239
  interface IonSelectPopoverAttributes {
9608
11240
  "header": string;
@@ -9618,6 +11250,7 @@ declare namespace LocalJSX {
9618
11250
  "duration": number;
9619
11251
  "name": SpinnerTypes;
9620
11252
  "paused": boolean;
11253
+ "size": 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
9621
11254
  }
9622
11255
  interface IonSplitPaneAttributes {
9623
11256
  "contentId": string;
@@ -9631,7 +11264,10 @@ declare namespace LocalJSX {
9631
11264
  interface IonTabBarAttributes {
9632
11265
  "color": Color;
9633
11266
  "selectedTab": string;
11267
+ "hideOnScroll": boolean;
9634
11268
  "translucent": boolean;
11269
+ "expand": 'compact' | 'full';
11270
+ "shape": 'soft' | 'round' | 'rectangular';
9635
11271
  }
9636
11272
  interface IonTabButtonAttributes {
9637
11273
  "disabled": boolean;
@@ -9640,6 +11276,7 @@ declare namespace LocalJSX {
9640
11276
  "rel": string | undefined;
9641
11277
  "layout": TabButtonLayout;
9642
11278
  "selected": boolean;
11279
+ "shape": 'soft' | 'round' | 'rectangular';
9643
11280
  "tab": string;
9644
11281
  "target": string | undefined;
9645
11282
  }
@@ -9676,7 +11313,8 @@ declare namespace LocalJSX {
9676
11313
  "helperText": string;
9677
11314
  "label": string;
9678
11315
  "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
9679
- "shape": 'round';
11316
+ "shape": 'soft' | 'round' | 'rectangular';
11317
+ "size": 'small' | 'medium' | 'large';
9680
11318
  }
9681
11319
  interface IonTitleAttributes {
9682
11320
  "color": Color;
@@ -9687,11 +11325,13 @@ declare namespace LocalJSX {
9687
11325
  "cssClass": string | string[];
9688
11326
  "duration": number;
9689
11327
  "header": string;
11328
+ "hue": 'bold' | 'subtle';
9690
11329
  "layout": ToastLayout;
9691
11330
  "message": string | IonicSafeString;
9692
11331
  "keyboardClose": boolean;
9693
11332
  "position": ToastPosition;
9694
11333
  "positionAnchor": HTMLElement | string;
11334
+ "shape": 'soft' | 'round' | 'rectangular';
9695
11335
  "translucent": boolean;
9696
11336
  "animated": boolean;
9697
11337
  "icon": string;
@@ -9715,6 +11355,7 @@ declare namespace LocalJSX {
9715
11355
  }
9716
11356
  interface IonToolbarAttributes {
9717
11357
  "color": Color;
11358
+ "titlePlacement": 'start' | 'center' | 'end';
9718
11359
  }
9719
11360
 
9720
11361
  interface IntrinsicElements {
@@ -9723,7 +11364,7 @@ declare namespace LocalJSX {
9723
11364
  "ion-action-sheet": Omit<IonActionSheet, keyof IonActionSheetAttributes> & { [K in keyof IonActionSheet & keyof IonActionSheetAttributes]?: IonActionSheet[K] } & { [K in keyof IonActionSheet & keyof IonActionSheetAttributes as `attr:${K}`]?: IonActionSheetAttributes[K] } & { [K in keyof IonActionSheet & keyof IonActionSheetAttributes as `prop:${K}`]?: IonActionSheet[K] };
9724
11365
  "ion-alert": Omit<IonAlert, keyof IonAlertAttributes> & { [K in keyof IonAlert & keyof IonAlertAttributes]?: IonAlert[K] } & { [K in keyof IonAlert & keyof IonAlertAttributes as `attr:${K}`]?: IonAlertAttributes[K] } & { [K in keyof IonAlert & keyof IonAlertAttributes as `prop:${K}`]?: IonAlert[K] };
9725
11366
  "ion-app": IonApp;
9726
- "ion-avatar": IonAvatar;
11367
+ "ion-avatar": Omit<IonAvatar, keyof IonAvatarAttributes> & { [K in keyof IonAvatar & keyof IonAvatarAttributes]?: IonAvatar[K] } & { [K in keyof IonAvatar & keyof IonAvatarAttributes as `attr:${K}`]?: IonAvatarAttributes[K] } & { [K in keyof IonAvatar & keyof IonAvatarAttributes as `prop:${K}`]?: IonAvatar[K] };
9727
11368
  "ion-back-button": Omit<IonBackButton, keyof IonBackButtonAttributes> & { [K in keyof IonBackButton & keyof IonBackButtonAttributes]?: IonBackButton[K] } & { [K in keyof IonBackButton & keyof IonBackButtonAttributes as `attr:${K}`]?: IonBackButtonAttributes[K] } & { [K in keyof IonBackButton & keyof IonBackButtonAttributes as `prop:${K}`]?: IonBackButton[K] };
9728
11369
  "ion-backdrop": Omit<IonBackdrop, keyof IonBackdropAttributes> & { [K in keyof IonBackdrop & keyof IonBackdropAttributes]?: IonBackdrop[K] } & { [K in keyof IonBackdrop & keyof IonBackdropAttributes as `attr:${K}`]?: IonBackdropAttributes[K] } & { [K in keyof IonBackdrop & keyof IonBackdropAttributes as `prop:${K}`]?: IonBackdrop[K] };
9729
11370
  "ion-badge": Omit<IonBadge, keyof IonBadgeAttributes> & { [K in keyof IonBadge & keyof IonBadgeAttributes]?: IonBadge[K] } & { [K in keyof IonBadge & keyof IonBadgeAttributes as `attr:${K}`]?: IonBadgeAttributes[K] } & { [K in keyof IonBadge & keyof IonBadgeAttributes as `prop:${K}`]?: IonBadge[K] };
@@ -9742,10 +11383,13 @@ declare namespace LocalJSX {
9742
11383
  "ion-content": Omit<IonContent, keyof IonContentAttributes> & { [K in keyof IonContent & keyof IonContentAttributes]?: IonContent[K] } & { [K in keyof IonContent & keyof IonContentAttributes as `attr:${K}`]?: IonContentAttributes[K] } & { [K in keyof IonContent & keyof IonContentAttributes as `prop:${K}`]?: IonContent[K] };
9743
11384
  "ion-datetime": Omit<IonDatetime, keyof IonDatetimeAttributes> & { [K in keyof IonDatetime & keyof IonDatetimeAttributes]?: IonDatetime[K] } & { [K in keyof IonDatetime & keyof IonDatetimeAttributes as `attr:${K}`]?: IonDatetimeAttributes[K] } & { [K in keyof IonDatetime & keyof IonDatetimeAttributes as `prop:${K}`]?: IonDatetime[K] };
9744
11385
  "ion-datetime-button": Omit<IonDatetimeButton, keyof IonDatetimeButtonAttributes> & { [K in keyof IonDatetimeButton & keyof IonDatetimeButtonAttributes]?: IonDatetimeButton[K] } & { [K in keyof IonDatetimeButton & keyof IonDatetimeButtonAttributes as `attr:${K}`]?: IonDatetimeButtonAttributes[K] } & { [K in keyof IonDatetimeButton & keyof IonDatetimeButtonAttributes as `prop:${K}`]?: IonDatetimeButton[K] };
11386
+ "ion-divider": Omit<IonDivider, keyof IonDividerAttributes> & { [K in keyof IonDivider & keyof IonDividerAttributes]?: IonDivider[K] } & { [K in keyof IonDivider & keyof IonDividerAttributes as `attr:${K}`]?: IonDividerAttributes[K] } & { [K in keyof IonDivider & keyof IonDividerAttributes as `prop:${K}`]?: IonDivider[K] };
9745
11387
  "ion-fab": Omit<IonFab, keyof IonFabAttributes> & { [K in keyof IonFab & keyof IonFabAttributes]?: IonFab[K] } & { [K in keyof IonFab & keyof IonFabAttributes as `attr:${K}`]?: IonFabAttributes[K] } & { [K in keyof IonFab & keyof IonFabAttributes as `prop:${K}`]?: IonFab[K] };
9746
11388
  "ion-fab-button": Omit<IonFabButton, keyof IonFabButtonAttributes> & { [K in keyof IonFabButton & keyof IonFabButtonAttributes]?: IonFabButton[K] } & { [K in keyof IonFabButton & keyof IonFabButtonAttributes as `attr:${K}`]?: IonFabButtonAttributes[K] } & { [K in keyof IonFabButton & keyof IonFabButtonAttributes as `prop:${K}`]?: IonFabButton[K] };
9747
11389
  "ion-fab-list": Omit<IonFabList, keyof IonFabListAttributes> & { [K in keyof IonFabList & keyof IonFabListAttributes]?: IonFabList[K] } & { [K in keyof IonFabList & keyof IonFabListAttributes as `attr:${K}`]?: IonFabListAttributes[K] } & { [K in keyof IonFabList & keyof IonFabListAttributes as `prop:${K}`]?: IonFabList[K] };
9748
11390
  "ion-footer": Omit<IonFooter, keyof IonFooterAttributes> & { [K in keyof IonFooter & keyof IonFooterAttributes]?: IonFooter[K] } & { [K in keyof IonFooter & keyof IonFooterAttributes as `attr:${K}`]?: IonFooterAttributes[K] } & { [K in keyof IonFooter & keyof IonFooterAttributes as `prop:${K}`]?: IonFooter[K] };
11391
+ "ion-gallery": Omit<IonGallery, keyof IonGalleryAttributes> & { [K in keyof IonGallery & keyof IonGalleryAttributes]?: IonGallery[K] } & { [K in keyof IonGallery & keyof IonGalleryAttributes as `attr:${K}`]?: IonGalleryAttributes[K] } & { [K in keyof IonGallery & keyof IonGalleryAttributes as `prop:${K}`]?: IonGallery[K] };
11392
+ "ion-gallery-item": IonGalleryItem;
9749
11393
  "ion-grid": Omit<IonGrid, keyof IonGridAttributes> & { [K in keyof IonGrid & keyof IonGridAttributes]?: IonGrid[K] } & { [K in keyof IonGrid & keyof IonGridAttributes as `attr:${K}`]?: IonGridAttributes[K] } & { [K in keyof IonGrid & keyof IonGridAttributes as `prop:${K}`]?: IonGrid[K] };
9750
11394
  "ion-header": Omit<IonHeader, keyof IonHeaderAttributes> & { [K in keyof IonHeader & keyof IonHeaderAttributes]?: IonHeader[K] } & { [K in keyof IonHeader & keyof IonHeaderAttributes as `attr:${K}`]?: IonHeaderAttributes[K] } & { [K in keyof IonHeader & keyof IonHeaderAttributes as `prop:${K}`]?: IonHeader[K] };
9751
11395
  "ion-img": Omit<IonImg, keyof IonImgAttributes> & { [K in keyof IonImg & keyof IonImgAttributes]?: IonImg[K] } & { [K in keyof IonImg & keyof IonImgAttributes as `attr:${K}`]?: IonImgAttributes[K] } & { [K in keyof IonImg & keyof IonImgAttributes as `prop:${K}`]?: IonImg[K] };
@@ -9845,10 +11489,13 @@ declare module "@stencil/core" {
9845
11489
  "ion-content": LocalJSX.IntrinsicElements["ion-content"] & JSXBase.HTMLAttributes<HTMLIonContentElement>;
9846
11490
  "ion-datetime": LocalJSX.IntrinsicElements["ion-datetime"] & JSXBase.HTMLAttributes<HTMLIonDatetimeElement>;
9847
11491
  "ion-datetime-button": LocalJSX.IntrinsicElements["ion-datetime-button"] & JSXBase.HTMLAttributes<HTMLIonDatetimeButtonElement>;
11492
+ "ion-divider": LocalJSX.IntrinsicElements["ion-divider"] & JSXBase.HTMLAttributes<HTMLIonDividerElement>;
9848
11493
  "ion-fab": LocalJSX.IntrinsicElements["ion-fab"] & JSXBase.HTMLAttributes<HTMLIonFabElement>;
9849
11494
  "ion-fab-button": LocalJSX.IntrinsicElements["ion-fab-button"] & JSXBase.HTMLAttributes<HTMLIonFabButtonElement>;
9850
11495
  "ion-fab-list": LocalJSX.IntrinsicElements["ion-fab-list"] & JSXBase.HTMLAttributes<HTMLIonFabListElement>;
9851
11496
  "ion-footer": LocalJSX.IntrinsicElements["ion-footer"] & JSXBase.HTMLAttributes<HTMLIonFooterElement>;
11497
+ "ion-gallery": LocalJSX.IntrinsicElements["ion-gallery"] & JSXBase.HTMLAttributes<HTMLIonGalleryElement>;
11498
+ "ion-gallery-item": LocalJSX.IntrinsicElements["ion-gallery-item"] & JSXBase.HTMLAttributes<HTMLIonGalleryItemElement>;
9852
11499
  "ion-grid": LocalJSX.IntrinsicElements["ion-grid"] & JSXBase.HTMLAttributes<HTMLIonGridElement>;
9853
11500
  "ion-header": LocalJSX.IntrinsicElements["ion-header"] & JSXBase.HTMLAttributes<HTMLIonHeaderElement>;
9854
11501
  "ion-img": LocalJSX.IntrinsicElements["ion-img"] & JSXBase.HTMLAttributes<HTMLIonImgElement>;