@ionic/core 8.8.11 → 8.8.12-dev.11781793379.156d3260

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-B59jk20F.js +4 -0
  107. package/components/p-B8xhFBOE.js +4 -0
  108. package/components/p-BDqjX7Z_.js +4 -0
  109. package/components/p-BI03N_8J.js +4 -0
  110. package/components/p-BISCDmUD.js +4 -0
  111. package/components/{p-C4t5ymfq.js → p-BKSylJVh.js} +1 -1
  112. package/components/p-BKfkCIKU.js +4 -0
  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-BaPtaYEC.js +4 -0
  117. package/components/{p-BAYYcg3o.js → p-BbmXEfTR.js} +1 -1
  118. package/components/p-BiG3Zevl.js +4 -0
  119. package/components/p-BjW8SOqw.js +4 -0
  120. package/components/p-BoWc8hp0.js +4 -0
  121. package/components/p-BqRIq3ti.js +4 -0
  122. package/components/p-BskJOMNV.js +4 -0
  123. package/components/p-BwKpO3Is.js +4 -0
  124. package/components/p-BxA8Ha5k.js +4 -0
  125. package/components/p-BxnlgSC0.js +4 -0
  126. package/components/p-C9QYu-sR.js +4 -0
  127. package/components/p-CEY-R8M2.js +4 -0
  128. package/components/p-CEbQglhY.js +4 -0
  129. package/components/p-CGwI_XL6.js +4 -0
  130. package/components/p-CIdlZzoM.js +4 -0
  131. package/components/p-CODBQrPj.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-CtaqMPhV.js +4 -0
  139. package/components/p-CyGaZ-Qb.js +4 -0
  140. package/components/p-CzFNvOq3.js +4 -0
  141. package/components/p-Czw29-II.js +4 -0
  142. package/components/p-D0Iqw6OZ.js +4 -0
  143. package/components/p-D1t981Ih.js +4 -0
  144. package/components/p-D4UIY4kz.js +4 -0
  145. package/components/p-D6oKOaRz.js +4 -0
  146. package/components/p-D6un2jDV.js +4 -0
  147. package/components/p-D9583Eo8.js +4 -0
  148. package/components/p-DABI8XVx.js +4 -0
  149. package/components/p-DBXSwfLt.js +4 -0
  150. package/components/p-DEZQwbtZ.js +4 -0
  151. package/components/p-DEnOtJ3m.js +4 -0
  152. package/components/p-DJw3WM2A.js +4 -0
  153. package/{dist/ionic/p-D13Eaw-8.js → components/p-DP96lPOT.js} +1 -1
  154. package/components/{p-DqLB8yFQ.js → p-DRnK3A-V.js} +1 -1
  155. package/components/p-DTmj4D2t.js +4 -0
  156. package/components/p-DaJxRxSQ.js +4 -0
  157. package/components/p-Daj5LWIm.js +4 -0
  158. package/components/p-Dg8OSVcP.js +4 -0
  159. package/components/p-Dhi5xtNS.js +4 -0
  160. package/components/p-DiKh2eQw.js +4 -0
  161. package/{dist/ionic/p-VAemlbDS.js → components/p-DmVUl5t4.js} +1 -1
  162. package/components/p-Dn77l_LX.js +4 -0
  163. package/components/{p-D5Ubpm7D.js → p-Dqgyr3aJ.js} +1 -1
  164. package/components/{p-cyNmxje6.js → p-Fagxa-Vi.js} +1 -1
  165. package/components/p-I0lsm6wZ.js +4 -0
  166. package/components/p-TaMIMwf5.js +4 -0
  167. package/components/p-ZOOvnqsf.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/{data-DLTUw-KF.js → data-DmCm0SEx.js} +6 -6
  226. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  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-CIrkNXqJ.js → index-BxEZd5IE.js} +2 -2
  232. package/dist/cjs/{index-DqmRDbxg.js → index-CgAbCW6L.js} +2 -0
  233. package/dist/cjs/index-CzFol6Yk.js +414 -0
  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 +59 -22
  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 +116 -41
  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 +556 -107
  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-TbKsuC-K.js → overlays-xkzfBAc_.js} +309 -18
  307. package/dist/cjs/select-option-render-8XQ4CgCm.js +116 -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 +491 -0
  323. package/dist/collection/components/action-sheet/action-sheet.ios.css +368 -11
  324. package/dist/collection/components/action-sheet/action-sheet.js +32 -13
  325. package/dist/collection/components/action-sheet/action-sheet.md.css +307 -10
  326. package/dist/collection/components/alert/alert.ionic.css +784 -0
  327. package/dist/collection/components/alert/alert.ios.css +482 -19
  328. package/dist/collection/components/alert/alert.js +67 -30
  329. package/dist/collection/components/alert/alert.md.css +465 -29
  330. package/dist/collection/components/app/app.js +15 -83
  331. package/dist/collection/components/avatar/avatar.ionic.css +391 -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 +275 -0
  343. package/dist/collection/components/badge/badge.ios.css +139 -12
  344. package/dist/collection/components/badge/badge.js +145 -9
  345. package/dist/collection/components/badge/badge.md.css +123 -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 +646 -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 +98 -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 +889 -0
  433. package/dist/collection/components/input/input.ios.css +223 -135
  434. package/dist/collection/components/input/input.js +148 -37
  435. package/dist/collection/components/input/input.md.css +193 -207
  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 +278 -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 +247 -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 +626 -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 +353 -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 +810 -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 +254 -0
  576. package/dist/collection/components/select-modal/select-modal.ios.css +467 -0
  577. package/dist/collection/components/select-modal/select-modal.js +126 -30
  578. package/dist/collection/components/select-modal/select-modal.md.css +395 -0
  579. package/dist/collection/components/select-option/select-option.js +70 -2
  580. package/dist/collection/components/select-popover/select-popover.ionic.css +252 -0
  581. package/dist/collection/components/select-popover/select-popover.ios.css +303 -20
  582. package/dist/collection/components/select-popover/select-popover.js +89 -29
  583. package/dist/collection/components/select-popover/select-popover.md.css +346 -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 +348 -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 +255 -14
  645. package/dist/collection/utils/select-option-render.js +111 -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 +8975 -283
  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/{data-DZI70dKr.js → data-CPP_AdEM.js} +6 -6
  662. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -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-B_dQk_WE.js → index-BIUWGRUl.js} +4 -4
  667. package/dist/esm/index-BUyahZJ4.js +409 -0
  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-DV3sJJW8.js → index-D2tu5BUg.js} +2 -1
  671. package/dist/esm/{index-Q6UPU0Ay.js → index-Di034G4O.js} +11 -11
  672. package/dist/esm/{index-MEDq2S8l.js → index-KxK0gcRp.js} +2 -2
  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 +59 -22
  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 +116 -41
  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 +556 -107
  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-TbiM4mdr.js → overlays-Dnhc5m_r.js} +306 -15
  743. package/dist/esm/select-option-render-qQ99XSVh.js +114 -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 +2653 -146
  750. package/dist/ionic/index.esm.js +1 -1
  751. package/dist/ionic/ionic.esm.js +1 -1
  752. package/dist/ionic/p-05ce9821.entry.js +4 -0
  753. package/dist/ionic/p-066c290a.entry.js +4 -0
  754. package/dist/ionic/p-085b8cdf.entry.js +4 -0
  755. package/dist/ionic/p-0ef6bfc4.entry.js +4 -0
  756. package/dist/ionic/p-18969b6d.entry.js +4 -0
  757. package/dist/ionic/p-18bc4f2d.entry.js +4 -0
  758. package/dist/ionic/p-1b6e3914.entry.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-3b4c5cb5.entry.js +4 -0
  764. package/dist/ionic/p-3cfb4ff2.entry.js +4 -0
  765. package/dist/ionic/p-43b00c5b.entry.js +4 -0
  766. package/dist/ionic/p-4827557b.entry.js +4 -0
  767. package/dist/ionic/p-4a97918d.entry.js +4 -0
  768. package/dist/ionic/p-52b3aedb.entry.js +4 -0
  769. package/dist/ionic/p-53d4ce5e.entry.js +4 -0
  770. package/dist/ionic/p-56224b93.entry.js +4 -0
  771. package/dist/ionic/p-5732396e.entry.js +4 -0
  772. package/dist/ionic/p-58d8877d.entry.js +4 -0
  773. package/dist/ionic/p-5d079dc1.entry.js +4 -0
  774. package/dist/ionic/p-5e9665dd.entry.js +4 -0
  775. package/dist/ionic/p-5fee5cc1.entry.js +4 -0
  776. package/dist/ionic/p-602cf876.entry.js +4 -0
  777. package/dist/ionic/p-678ee14a.entry.js +4 -0
  778. package/dist/ionic/p-68ea8ed1.entry.js +4 -0
  779. package/dist/ionic/p-6916fea6.entry.js +4 -0
  780. package/dist/ionic/p-6e1ec775.entry.js +4 -0
  781. package/dist/ionic/p-745d6b2b.entry.js +4 -0
  782. package/dist/ionic/p-7ce56473.entry.js +4 -0
  783. package/dist/ionic/p-83acfa2d.entry.js +4 -0
  784. package/dist/ionic/p-849b1759.entry.js +4 -0
  785. package/dist/ionic/p-8cb23f27.entry.js +4 -0
  786. package/dist/ionic/p-8d5fd199.entry.js +4 -0
  787. package/dist/ionic/p-8f2f8f6d.entry.js +4 -0
  788. package/dist/ionic/p-BDSH5ckF.js +4 -0
  789. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  790. package/dist/ionic/p-BFe7BoXu.js +4 -0
  791. package/dist/ionic/p-BFy_BK46.js +4 -0
  792. package/dist/ionic/p-BYSs-jZz.js +4 -0
  793. package/dist/ionic/p-BjW8SOqw.js +4 -0
  794. package/{components/p-CtukzcyX.js → dist/ionic/p-BlZo7Gy-.js} +1 -1
  795. package/dist/ionic/p-Bq8S4vhI.js +4 -0
  796. package/dist/ionic/p-BwKpO3Is.js +4 -0
  797. package/dist/ionic/p-C0EQceqV.js +5 -0
  798. package/dist/ionic/p-C8i6xYLf.js +4 -0
  799. package/dist/ionic/p-CB91Gr9M.js +4 -0
  800. package/dist/ionic/p-CEkwLb3L.js +4 -0
  801. package/dist/ionic/p-CJsJQPQD.js +4 -0
  802. package/dist/ionic/p-CODBQrPj.js +4 -0
  803. package/dist/ionic/p-Ch7MBNn_.js +4 -0
  804. package/{components/p-BT_5jSqG.js → dist/ionic/p-Cm20lBQw.js} +1 -1
  805. package/dist/ionic/p-CnAWnbNK.js +4 -0
  806. package/dist/ionic/p-D1t981Ih.js +4 -0
  807. package/dist/ionic/p-D2tu5BUg.js +4 -0
  808. package/dist/ionic/p-D4MT1z4_.js +4 -0
  809. package/dist/ionic/p-D4veLKCq.js +4 -0
  810. package/dist/ionic/{p-DAAFkPFT.js → p-DDVaMUQI.js} +1 -1
  811. package/dist/ionic/p-DF7ubVci.js +4 -0
  812. package/dist/ionic/p-DMaSfupH.js +4 -0
  813. package/{components/p-D13Eaw-8.js → dist/ionic/p-DQDmksdT.js} +1 -1
  814. package/dist/ionic/p-DTsDGZPd.js +4 -0
  815. package/dist/ionic/p-DaJxRxSQ.js +4 -0
  816. package/dist/ionic/p-DdCaKRle.js +4 -0
  817. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  818. package/dist/ionic/p-MqqcZQSB.js +4 -0
  819. package/dist/ionic/{p-CKvCXMs9.js → p-OkgYzj-7.js} +1 -1
  820. package/dist/ionic/p-WHzwm7OM.js +4 -0
  821. package/dist/ionic/p-a6a9a840.entry.js +4 -0
  822. package/dist/ionic/p-b7327160.entry.js +4 -0
  823. package/dist/ionic/p-ba447506.entry.js +4 -0
  824. package/dist/ionic/p-c04429f2.entry.js +4 -0
  825. package/dist/ionic/p-c25a2a9b.entry.js +4 -0
  826. package/dist/ionic/p-c414ac3a.entry.js +4 -0
  827. package/dist/ionic/p-ca3a07b5.entry.js +4 -0
  828. package/dist/ionic/p-ced3cda1.entry.js +4 -0
  829. package/dist/ionic/p-cf22e991.entry.js +4 -0
  830. package/dist/ionic/p-d0d42da6.entry.js +4 -0
  831. package/dist/ionic/p-d33dfc12.entry.js +4 -0
  832. package/dist/ionic/p-d34bfb61.entry.js +4 -0
  833. package/dist/ionic/p-ddde8df3.entry.js +4 -0
  834. package/dist/ionic/p-df642ef5.entry.js +4 -0
  835. package/dist/ionic/p-e04d63e1.entry.js +4 -0
  836. package/dist/ionic/p-e516b509.entry.js +4 -0
  837. package/dist/ionic/p-f18969f0.entry.js +4 -0
  838. package/dist/ionic/p-fIOYmaqA.js +4 -0
  839. package/dist/ionic/p-fc6d26ff.entry.js +4 -0
  840. package/dist/ionic/p-fce05eae.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 +44 -0
  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 +1852 -205
  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 +54 -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 +5982 -1347
  977. package/hydrate/index.mjs +5982 -1347
  978. package/package.json +9 -5
  979. package/components/p--JUspHvy.js +0 -4
  980. package/components/p-0NRupjzW.js +0 -4
  981. package/components/p-5bE_Wz4Y.js +0 -4
  982. package/components/p-B60hm8Qv.js +0 -4
  983. package/components/p-B9jFTlwE.js +0 -4
  984. package/components/p-BLmJ0zRm.js +0 -4
  985. package/components/p-BSEgsdFI.js +0 -4
  986. package/components/p-BTPfOxsU.js +0 -4
  987. package/components/p-Baq1XyAy.js +0 -4
  988. package/components/p-BirPFsRD.js +0 -4
  989. package/components/p-BjfgFSSR.js +0 -4
  990. package/components/p-BmVRXR1y.js +0 -4
  991. package/components/p-BnqQlm7c.js +0 -4
  992. package/components/p-BsPelv04.js +0 -4
  993. package/components/p-Bth-EzJ0.js +0 -4
  994. package/components/p-Bz0dSlXZ.js +0 -4
  995. package/components/p-C1aScSTo.js +0 -4
  996. package/components/p-C2lKgrXx.js +0 -4
  997. package/components/p-CHqRYvYm.js +0 -4
  998. package/components/p-CI3ncNZm.js +0 -4
  999. package/components/p-CIGNaXM1.js +0 -4
  1000. package/components/p-CO7fmmxt.js +0 -4
  1001. package/components/p-CSZf8_j0.js +0 -4
  1002. package/components/p-CU5rbWAW.js +0 -4
  1003. package/components/p-C_xFdyXe.js +0 -4
  1004. package/components/p-Cfx4M1Bn.js +0 -4
  1005. package/components/p-Ciz1-FuE.js +0 -4
  1006. package/components/p-CmR5uXej.js +0 -4
  1007. package/components/p-CtWGkNnJ.js +0 -4
  1008. package/components/p-D6Ynv7Xh.js +0 -4
  1009. package/components/p-D7bSXQD3.js +0 -4
  1010. package/components/p-DDWp95gH.js +0 -4
  1011. package/components/p-DIE4pXMl.js +0 -4
  1012. package/components/p-DJztqcrH.js +0 -4
  1013. package/components/p-DNQI6d-L.js +0 -4
  1014. package/components/p-DOFCbuQR.js +0 -4
  1015. package/components/p-DiVJyqlX.js +0 -4
  1016. package/components/p-DnL1c9_X.js +0 -4
  1017. package/components/p-DqZAXv2t.js +0 -4
  1018. package/components/p-Sh0ICmPV.js +0 -4
  1019. package/components/p-W5nO8mX_.js +0 -4
  1020. package/components/p-W9CZ2mWX.js +0 -4
  1021. package/components/p-ZjP4CjeZ.js +0 -4
  1022. package/components/p-dhLYXa7A.js +0 -4
  1023. package/components/p-ijF0iCrA.js +0 -4
  1024. package/components/p-j5IxBIan.js +0 -4
  1025. package/components/p-k_E4tX5Z.js +0 -4
  1026. package/components/p-lE_JGpHD.js +0 -4
  1027. package/components/p-nQi4oKcG.js +0 -4
  1028. package/components/p-rCa2eL0j.js +0 -4
  1029. package/components/p-ryqmO0B-.js +0 -4
  1030. package/components/p-uVRyUM3z.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-00dbb17e.entry.js +0 -4
  1042. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  1043. package/dist/ionic/p-06c232a4.entry.js +0 -4
  1044. package/dist/ionic/p-0d005398.entry.js +0 -4
  1045. package/dist/ionic/p-0fa9c382.entry.js +0 -4
  1046. package/dist/ionic/p-1ae21e4c.entry.js +0 -4
  1047. package/dist/ionic/p-20b1a044.entry.js +0 -4
  1048. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  1049. package/dist/ionic/p-27d30585.entry.js +0 -4
  1050. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  1051. package/dist/ionic/p-2f55dc1a.entry.js +0 -4
  1052. package/dist/ionic/p-30bf9737.entry.js +0 -4
  1053. package/dist/ionic/p-3353c229.entry.js +0 -4
  1054. package/dist/ionic/p-37e720da.entry.js +0 -4
  1055. package/dist/ionic/p-390ca786.entry.js +0 -4
  1056. package/dist/ionic/p-3a126bca.entry.js +0 -4
  1057. package/dist/ionic/p-3a541154.entry.js +0 -4
  1058. package/dist/ionic/p-3a7d1e91.entry.js +0 -4
  1059. package/dist/ionic/p-3ae5f277.entry.js +0 -4
  1060. package/dist/ionic/p-4745f534.entry.js +0 -4
  1061. package/dist/ionic/p-4858af1f.entry.js +0 -4
  1062. package/dist/ionic/p-485fda23.entry.js +0 -4
  1063. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  1064. package/dist/ionic/p-4dc1c33c.entry.js +0 -4
  1065. package/dist/ionic/p-4e92a11f.entry.js +0 -4
  1066. package/dist/ionic/p-50e1194a.entry.js +0 -4
  1067. package/dist/ionic/p-5d1da0a2.entry.js +0 -4
  1068. package/dist/ionic/p-5fc7e542.entry.js +0 -4
  1069. package/dist/ionic/p-75dc25ba.entry.js +0 -4
  1070. package/dist/ionic/p-81ea5652.entry.js +0 -4
  1071. package/dist/ionic/p-84d5ce05.entry.js +0 -4
  1072. package/dist/ionic/p-874b4bd8.entry.js +0 -4
  1073. package/dist/ionic/p-8c8eee7d.entry.js +0 -4
  1074. package/dist/ionic/p-8eb8ee76.entry.js +0 -4
  1075. package/dist/ionic/p-8fce95d5.entry.js +0 -4
  1076. package/dist/ionic/p-94f2a736.entry.js +0 -4
  1077. package/dist/ionic/p-9a65ac7f.entry.js +0 -4
  1078. package/dist/ionic/p-9eeaBrnk.js +0 -4
  1079. package/dist/ionic/p-9f1103ce.entry.js +0 -4
  1080. package/dist/ionic/p-BGqMS-oh.js +0 -4
  1081. package/dist/ionic/p-BUFIpxKM.js +0 -4
  1082. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1083. package/dist/ionic/p-CFlfIb2g.js +0 -4
  1084. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1085. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  1086. package/dist/ionic/p-Cx3IXROA.js +0 -4
  1087. package/dist/ionic/p-D4uTWt4-.js +0 -4
  1088. package/dist/ionic/p-DC3RagnA.js +0 -4
  1089. package/dist/ionic/p-DIuEbVLu.js +0 -4
  1090. package/dist/ionic/p-DJztqcrH.js +0 -4
  1091. package/dist/ionic/p-DSG2s2Eb.js +0 -4
  1092. package/dist/ionic/p-DV3sJJW8.js +0 -4
  1093. package/dist/ionic/p-Dfbt-q2k.js +0 -4
  1094. package/dist/ionic/p-DiVJyqlX.js +0 -4
  1095. package/dist/ionic/p-DoJvtrbw.js +0 -4
  1096. package/dist/ionic/p-DzWaWHGc.js +0 -4
  1097. package/dist/ionic/p-KjNvRoEp.js +0 -4
  1098. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  1099. package/dist/ionic/p-SNAkTDfm.js +0 -4
  1100. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1101. package/dist/ionic/p-a21add2f.entry.js +0 -4
  1102. package/dist/ionic/p-a3bdcae6.entry.js +0 -4
  1103. package/dist/ionic/p-aa5d6b8f.entry.js +0 -4
  1104. package/dist/ionic/p-b6a7397c.entry.js +0 -4
  1105. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  1106. package/dist/ionic/p-c4d8641b.entry.js +0 -4
  1107. package/dist/ionic/p-c6e49f3f.entry.js +0 -4
  1108. package/dist/ionic/p-dfa8d673.entry.js +0 -4
  1109. package/dist/ionic/p-e0be05c5.entry.js +0 -4
  1110. package/dist/ionic/p-e847a888.entry.js +0 -4
  1111. package/dist/ionic/p-ec090e0a.entry.js +0 -4
  1112. package/dist/ionic/p-ef4c3bee.entry.js +0 -4
  1113. package/dist/ionic/p-f386f6ae.entry.js +0 -4
  1114. package/dist/ionic/p-fabcce6c.entry.js +0 -4
  1115. package/dist/ionic/p-mjKAFv89.js +0 -4
  1116. package/dist/ionic/p-tcQvqkiX.js +0 -5
  1117. package/dist/ionic/p-viFHDgRs.js +0 -4
  1118. package/dist/ionic/p-xOfi7-Zn.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, 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, 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
  /**
@@ -995,7 +1204,7 @@ export namespace Components {
995
1204
  */
996
1205
  "minuteValues"?: number[] | number | string;
997
1206
  /**
998
- * The mode determines which platform styles to use.
1207
+ * The mode determines the platform behaviors of the component.
999
1208
  */
1000
1209
  "mode"?: "ios" | "md";
1001
1210
  /**
@@ -1062,6 +1271,10 @@ export namespace Components {
1062
1271
  * @default 'fixed'
1063
1272
  */
1064
1273
  "size": 'cover' | 'fixed';
1274
+ /**
1275
+ * The theme determines the visual appearance of the component.
1276
+ */
1277
+ "theme"?: "ios" | "md" | "ionic";
1065
1278
  /**
1066
1279
  * 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.
1067
1280
  */
@@ -1091,9 +1304,25 @@ export namespace Components {
1091
1304
  */
1092
1305
  "disabled": boolean;
1093
1306
  /**
1094
- * The mode determines which platform styles to use.
1307
+ * The mode determines the platform behaviors of the component.
1095
1308
  */
1096
1309
  "mode"?: "ios" | "md";
1310
+ /**
1311
+ * The theme determines the visual appearance of the component.
1312
+ */
1313
+ "theme"?: "ios" | "md" | "ionic";
1314
+ }
1315
+ interface IonDivider {
1316
+ /**
1317
+ * If `true`, the divider will have horizontal margins By default, it's `false`
1318
+ * @default false
1319
+ */
1320
+ "inset": boolean;
1321
+ /**
1322
+ * 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"`.
1323
+ * @default 'medium'
1324
+ */
1325
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
1097
1326
  }
1098
1327
  interface IonFab {
1099
1328
  /**
@@ -1114,6 +1343,14 @@ export namespace Components {
1114
1343
  * Where to align the fab horizontally in the viewport.
1115
1344
  */
1116
1345
  "horizontal"?: 'start' | 'end' | 'center';
1346
+ /**
1347
+ * The mode determines the platform behaviors of the component.
1348
+ */
1349
+ "mode"?: "ios" | "md";
1350
+ /**
1351
+ * The theme determines the visual appearance of the component.
1352
+ */
1353
+ "theme"?: "ios" | "md" | "ionic";
1117
1354
  /**
1118
1355
  * Opens/Closes the FAB list container.
1119
1356
  */
@@ -1131,9 +1368,8 @@ export namespace Components {
1131
1368
  "activated": boolean;
1132
1369
  /**
1133
1370
  * 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.
1134
- * @default close
1135
1371
  */
1136
- "closeIcon": string;
1372
+ "closeIcon"?: string;
1137
1373
  /**
1138
1374
  * 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).
1139
1375
  */
@@ -1152,7 +1388,7 @@ export namespace Components {
1152
1388
  */
1153
1389
  "href": string | undefined;
1154
1390
  /**
1155
- * The mode determines which platform styles to use.
1391
+ * The mode determines the platform behaviors of the component.
1156
1392
  */
1157
1393
  "mode"?: "ios" | "md";
1158
1394
  /**
@@ -1182,7 +1418,11 @@ export namespace Components {
1182
1418
  */
1183
1419
  "target": string | undefined;
1184
1420
  /**
1185
- * 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).
1421
+ * The theme determines the visual appearance of the component.
1422
+ */
1423
+ "theme"?: "ios" | "md" | "ionic";
1424
+ /**
1425
+ * 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).
1186
1426
  * @default false
1187
1427
  */
1188
1428
  "translucent": boolean;
@@ -1198,45 +1438,117 @@ export namespace Components {
1198
1438
  * @default false
1199
1439
  */
1200
1440
  "activated": boolean;
1441
+ /**
1442
+ * The mode determines the platform behaviors of the component.
1443
+ */
1444
+ "mode"?: "ios" | "md";
1201
1445
  /**
1202
1446
  * The side the fab list will show on relative to the main fab button.
1203
1447
  * @default 'bottom'
1204
1448
  */
1205
1449
  "side": 'start' | 'end' | 'top' | 'bottom';
1450
+ /**
1451
+ * The theme determines the visual appearance of the component.
1452
+ */
1453
+ "theme"?: "ios" | "md" | "ionic";
1206
1454
  }
1207
1455
  interface IonFooter {
1208
1456
  /**
1209
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
1457
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
1210
1458
  */
1211
1459
  "collapse"?: 'fade';
1212
1460
  /**
1213
- * The mode determines which platform styles to use.
1461
+ * The mode determines the platform behaviors of the component.
1214
1462
  */
1215
1463
  "mode"?: "ios" | "md";
1216
1464
  /**
1217
- * 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.
1465
+ * The theme determines the visual appearance of the component.
1466
+ */
1467
+ "theme"?: "ios" | "md" | "ionic";
1468
+ /**
1469
+ * 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.
1218
1470
  * @default false
1219
1471
  */
1220
1472
  "translucent": boolean;
1221
1473
  }
1474
+ interface IonGallery {
1475
+ /**
1476
+ * 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 }`).
1477
+ * @default { xs: 2, sm: 3, md: 4, lg: 6, xl: 8, xxl: 10, }
1478
+ */
1479
+ "columns": GalleryColumns;
1480
+ /**
1481
+ * 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.
1482
+ * @default '16px'
1483
+ */
1484
+ "gap": GalleryGap;
1485
+ /**
1486
+ * 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.
1487
+ * @default 'uniform'
1488
+ */
1489
+ "layout": 'uniform' | 'masonry';
1490
+ /**
1491
+ * The mode determines the platform behaviors of the component.
1492
+ */
1493
+ "mode"?: "ios" | "md";
1494
+ /**
1495
+ * 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.
1496
+ */
1497
+ "order"?: 'sequential' | 'best-fit';
1498
+ /**
1499
+ * The theme determines the visual appearance of the component.
1500
+ */
1501
+ "theme"?: "ios" | "md" | "ionic";
1502
+ }
1503
+ interface IonGalleryItem {
1504
+ /**
1505
+ * The mode determines the platform behaviors of the component.
1506
+ */
1507
+ "mode"?: "ios" | "md";
1508
+ /**
1509
+ * Resolve the layout from the parent `ion-gallery`. Called internally on load and connect, and by the gallery when its layout changes.
1510
+ */
1511
+ "syncGalleryLayout": () => Promise<void>;
1512
+ /**
1513
+ * The theme determines the visual appearance of the component.
1514
+ */
1515
+ "theme"?: "ios" | "md" | "ionic";
1516
+ }
1222
1517
  interface IonGrid {
1223
1518
  /**
1224
1519
  * If `true`, the grid will have a fixed width based on the screen size.
1225
1520
  * @default false
1226
1521
  */
1227
1522
  "fixed": boolean;
1523
+ /**
1524
+ * The mode determines the platform behaviors of the component.
1525
+ */
1526
+ "mode"?: "ios" | "md";
1527
+ /**
1528
+ * The theme determines the visual appearance of the component.
1529
+ */
1530
+ "theme"?: "ios" | "md" | "ionic";
1228
1531
  }
1229
1532
  interface IonHeader {
1230
1533
  /**
1231
- * 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)
1534
+ * 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)
1232
1535
  */
1233
1536
  "collapse"?: 'condense' | 'fade';
1234
1537
  /**
1235
- * The mode determines which platform styles to use.
1538
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
1539
+ * @default false
1540
+ */
1541
+ "divider": boolean;
1542
+ /**
1543
+ * The mode determines the platform behaviors of the component.
1236
1544
  */
1237
1545
  "mode"?: "ios" | "md";
1238
1546
  /**
1239
- * 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.
1547
+ * The theme determines the visual appearance of the component.
1548
+ */
1549
+ "theme"?: "ios" | "md" | "ionic";
1550
+ /**
1551
+ * 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.
1240
1552
  * @default false
1241
1553
  */
1242
1554
  "translucent": boolean;
@@ -1246,10 +1558,18 @@ export namespace Components {
1246
1558
  * 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.
1247
1559
  */
1248
1560
  "alt"?: string;
1561
+ /**
1562
+ * The mode determines the platform behaviors of the component.
1563
+ */
1564
+ "mode"?: "ios" | "md";
1249
1565
  /**
1250
1566
  * The image URL. This attribute is mandatory for the `<img>` element.
1251
1567
  */
1252
1568
  "src"?: string;
1569
+ /**
1570
+ * The theme determines the visual appearance of the component.
1571
+ */
1572
+ "theme"?: "ios" | "md" | "ionic";
1253
1573
  }
1254
1574
  interface IonInfiniteScroll {
1255
1575
  /**
@@ -1261,11 +1581,24 @@ export namespace Components {
1261
1581
  * @default false
1262
1582
  */
1263
1583
  "disabled": boolean;
1584
+ /**
1585
+ * The mode determines the platform behaviors of the component.
1586
+ */
1587
+ "mode"?: "ios" | "md";
1264
1588
  /**
1265
1589
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
1266
1590
  * @default 'bottom'
1267
1591
  */
1268
1592
  "position": 'top' | 'bottom';
1593
+ /**
1594
+ * 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.
1595
+ * @default false
1596
+ */
1597
+ "preserveRerenderScrollPosition": boolean;
1598
+ /**
1599
+ * The theme determines the visual appearance of the component.
1600
+ */
1601
+ "theme"?: "ios" | "md" | "ionic";
1269
1602
  /**
1270
1603
  * 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.
1271
1604
  * @default '15%'
@@ -1281,6 +1614,14 @@ export namespace Components {
1281
1614
  * 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.
1282
1615
  */
1283
1616
  "loadingText"?: string | IonicSafeString;
1617
+ /**
1618
+ * The mode determines the platform behaviors of the component.
1619
+ */
1620
+ "mode"?: "ios" | "md";
1621
+ /**
1622
+ * The theme determines the visual appearance of the component.
1623
+ */
1624
+ "theme"?: "ios" | "md" | "ionic";
1284
1625
  }
1285
1626
  interface IonInput {
1286
1627
  /**
@@ -1347,7 +1688,7 @@ export namespace Components {
1347
1688
  */
1348
1689
  "errorText"?: string;
1349
1690
  /**
1350
- * 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.
1691
+ * 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"`.
1351
1692
  */
1352
1693
  "fill"?: 'outline' | 'solid';
1353
1694
  /**
@@ -1367,10 +1708,9 @@ export namespace Components {
1367
1708
  */
1368
1709
  "label"?: string;
1369
1710
  /**
1370
- * 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 ("...").
1371
- * @default 'start'
1711
+ * 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.
1372
1712
  */
1373
- "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1713
+ "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1374
1714
  /**
1375
1715
  * The maximum value, which must not be less than its minimum (min attribute) value.
1376
1716
  */
@@ -1388,7 +1728,7 @@ export namespace Components {
1388
1728
  */
1389
1729
  "minlength"?: number;
1390
1730
  /**
1391
- * The mode determines which platform styles to use.
1731
+ * The mode determines the platform behaviors of the component.
1392
1732
  */
1393
1733
  "mode"?: "ios" | "md";
1394
1734
  /**
@@ -1423,9 +1763,14 @@ export namespace Components {
1423
1763
  */
1424
1764
  "setFocus": () => Promise<void>;
1425
1765
  /**
1426
- * The shape of the input. If "round" it will have an increased border radius.
1766
+ * 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"`.
1767
+ */
1768
+ "shape"?: 'soft' | 'round' | 'rectangular';
1769
+ /**
1770
+ * 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.
1771
+ * @default 'medium'
1427
1772
  */
1428
- "shape"?: 'round';
1773
+ "size"?: 'medium' | 'large' | 'xlarge';
1429
1774
  /**
1430
1775
  * If `true`, the element will have its spelling and grammar checked.
1431
1776
  * @default false
@@ -1435,6 +1780,10 @@ export namespace Components {
1435
1780
  * 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.
1436
1781
  */
1437
1782
  "step"?: string;
1783
+ /**
1784
+ * The theme determines the visual appearance of the component.
1785
+ */
1786
+ "theme"?: "ios" | "md" | "ionic";
1438
1787
  /**
1439
1788
  * The type of control to display. The default type is text.
1440
1789
  * @default 'text'
@@ -1475,6 +1824,10 @@ export namespace Components {
1475
1824
  * @default 4
1476
1825
  */
1477
1826
  "length": number;
1827
+ /**
1828
+ * The mode determines the platform behaviors of the component.
1829
+ */
1830
+ "mode"?: "ios" | "md";
1478
1831
  /**
1479
1832
  * 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}]"`
1480
1833
  */
@@ -1503,6 +1856,10 @@ export namespace Components {
1503
1856
  * @default 'medium'
1504
1857
  */
1505
1858
  "size": 'small' | 'medium' | 'large';
1859
+ /**
1860
+ * The theme determines the visual appearance of the component.
1861
+ */
1862
+ "theme"?: "ios" | "md" | "ionic";
1506
1863
  /**
1507
1864
  * The type of input allowed in the input boxes.
1508
1865
  * @default 'number'
@@ -1547,14 +1904,13 @@ export namespace Components {
1547
1904
  */
1548
1905
  "color"?: Color;
1549
1906
  /**
1550
- * 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.
1907
+ * 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.
1551
1908
  */
1552
1909
  "detail"?: boolean;
1553
1910
  /**
1554
1911
  * The icon to use when `detail` is set to `true`.
1555
- * @default chevronForward
1556
1912
  */
1557
- "detailIcon": string;
1913
+ "detailIcon"?: string;
1558
1914
  /**
1559
1915
  * If `true`, the user cannot interact with the item.
1560
1916
  * @default false
@@ -1573,7 +1929,7 @@ export namespace Components {
1573
1929
  */
1574
1930
  "lines"?: 'full' | 'inset' | 'none';
1575
1931
  /**
1576
- * The mode determines which platform styles to use.
1932
+ * The mode determines the platform behaviors of the component.
1577
1933
  */
1578
1934
  "mode"?: "ios" | "md";
1579
1935
  /**
@@ -1593,6 +1949,10 @@ export namespace Components {
1593
1949
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1594
1950
  */
1595
1951
  "target": string | undefined;
1952
+ /**
1953
+ * The theme determines the visual appearance of the component.
1954
+ */
1955
+ "theme"?: "ios" | "md" | "ionic";
1596
1956
  /**
1597
1957
  * The type of the button. Only used when an `onclick` or `button` property is present.
1598
1958
  * @default 'button'
@@ -1605,7 +1965,7 @@ export namespace Components {
1605
1965
  */
1606
1966
  "color"?: Color;
1607
1967
  /**
1608
- * The mode determines which platform styles to use.
1968
+ * The mode determines the platform behaviors of the component.
1609
1969
  */
1610
1970
  "mode"?: "ios" | "md";
1611
1971
  /**
@@ -1613,8 +1973,20 @@ export namespace Components {
1613
1973
  * @default false
1614
1974
  */
1615
1975
  "sticky": boolean;
1976
+ /**
1977
+ * The theme determines the visual appearance of the component.
1978
+ */
1979
+ "theme"?: "ios" | "md" | "ionic";
1616
1980
  }
1617
1981
  interface IonItemGroup {
1982
+ /**
1983
+ * The mode determines the platform behaviors of the component.
1984
+ */
1985
+ "mode"?: "ios" | "md";
1986
+ /**
1987
+ * The theme determines the visual appearance of the component.
1988
+ */
1989
+ "theme"?: "ios" | "md" | "ionic";
1618
1990
  }
1619
1991
  interface IonItemOption {
1620
1992
  /**
@@ -1640,17 +2012,30 @@ export namespace Components {
1640
2012
  */
1641
2013
  "href": string | undefined;
1642
2014
  /**
1643
- * The mode determines which platform styles to use.
2015
+ * 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.
2016
+ * @default 'subtle'
2017
+ */
2018
+ "hue"?: 'bold' | 'subtle';
2019
+ /**
2020
+ * The mode determines the platform behaviors of the component.
1644
2021
  */
1645
2022
  "mode"?: "ios" | "md";
1646
2023
  /**
1647
2024
  * 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).
1648
2025
  */
1649
2026
  "rel": string | undefined;
2027
+ /**
2028
+ * 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.
2029
+ */
2030
+ "shape"?: 'soft' | 'round' | 'rectangular';
1650
2031
  /**
1651
2032
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1652
2033
  */
1653
2034
  "target": string | undefined;
2035
+ /**
2036
+ * The theme determines the visual appearance of the component.
2037
+ */
2038
+ "theme"?: "ios" | "md" | "ionic";
1654
2039
  /**
1655
2040
  * The type of the button.
1656
2041
  * @default 'button'
@@ -1659,11 +2044,19 @@ export namespace Components {
1659
2044
  }
1660
2045
  interface IonItemOptions {
1661
2046
  "fireSwipeEvent": () => Promise<void>;
2047
+ /**
2048
+ * The mode determines the platform behaviors of the component.
2049
+ */
2050
+ "mode"?: "ios" | "md";
1662
2051
  /**
1663
2052
  * 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.
1664
2053
  * @default 'end'
1665
2054
  */
1666
2055
  "side": Side;
2056
+ /**
2057
+ * The theme determines the visual appearance of the component.
2058
+ */
2059
+ "theme"?: "ios" | "md" | "ionic";
1667
2060
  }
1668
2061
  interface IonItemSliding {
1669
2062
  /**
@@ -1687,11 +2080,19 @@ export namespace Components {
1687
2080
  * 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.
1688
2081
  */
1689
2082
  "getSlidingRatio": () => Promise<number>;
2083
+ /**
2084
+ * The mode determines the platform behaviors of the component.
2085
+ */
2086
+ "mode"?: "ios" | "md";
1690
2087
  /**
1691
2088
  * Open the sliding item.
1692
2089
  * @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.
1693
2090
  */
1694
2091
  "open": (side: Side | undefined) => Promise<void>;
2092
+ /**
2093
+ * The theme determines the visual appearance of the component.
2094
+ */
2095
+ "theme"?: "ios" | "md" | "ionic";
1695
2096
  }
1696
2097
  interface IonLabel {
1697
2098
  /**
@@ -1699,13 +2100,17 @@ export namespace Components {
1699
2100
  */
1700
2101
  "color"?: Color;
1701
2102
  /**
1702
- * The mode determines which platform styles to use.
2103
+ * The mode determines the platform behaviors of the component.
1703
2104
  */
1704
2105
  "mode"?: "ios" | "md";
1705
2106
  /**
1706
2107
  * The position determines where and how the label behaves inside an item.
1707
2108
  */
1708
2109
  "position"?: 'fixed' | 'stacked' | 'floating';
2110
+ /**
2111
+ * The theme determines the visual appearance of the component.
2112
+ */
2113
+ "theme"?: "ios" | "md" | "ionic";
1709
2114
  }
1710
2115
  interface IonList {
1711
2116
  /**
@@ -1722,9 +2127,17 @@ export namespace Components {
1722
2127
  */
1723
2128
  "lines"?: 'full' | 'inset' | 'none';
1724
2129
  /**
1725
- * The mode determines which platform styles to use.
2130
+ * The mode determines the platform behaviors of the component.
1726
2131
  */
1727
2132
  "mode"?: "ios" | "md";
2133
+ /**
2134
+ * 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.
2135
+ */
2136
+ "shape"?: 'soft' | 'round' | 'rectangular';
2137
+ /**
2138
+ * The theme determines the visual appearance of the component.
2139
+ */
2140
+ "theme"?: "ios" | "md" | "ionic";
1728
2141
  }
1729
2142
  interface IonListHeader {
1730
2143
  /**
@@ -1736,9 +2149,13 @@ export namespace Components {
1736
2149
  */
1737
2150
  "lines"?: 'full' | 'inset' | 'none';
1738
2151
  /**
1739
- * The mode determines which platform styles to use.
2152
+ * The mode determines the platform behaviors of the component.
1740
2153
  */
1741
2154
  "mode"?: "ios" | "md";
2155
+ /**
2156
+ * The theme determines the visual appearance of the component.
2157
+ */
2158
+ "theme"?: "ios" | "md" | "ionic";
1742
2159
  }
1743
2160
  interface IonLoading {
1744
2161
  /**
@@ -1798,7 +2215,7 @@ export namespace Components {
1798
2215
  */
1799
2216
  "message"?: string | IonicSafeString;
1800
2217
  /**
1801
- * The mode determines which platform styles to use.
2218
+ * The mode determines the platform behaviors of the component.
1802
2219
  */
1803
2220
  "mode"?: "ios" | "md";
1804
2221
  /**
@@ -1824,7 +2241,11 @@ export namespace Components {
1824
2241
  */
1825
2242
  "spinner"?: SpinnerTypes | null;
1826
2243
  /**
1827
- * 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).
2244
+ * The theme determines the visual appearance of the component.
2245
+ */
2246
+ "theme"?: "ios" | "md" | "ionic";
2247
+ /**
2248
+ * 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).
1828
2249
  * @default false
1829
2250
  */
1830
2251
  "translucent": boolean;
@@ -1866,6 +2287,10 @@ export namespace Components {
1866
2287
  * An id for the menu.
1867
2288
  */
1868
2289
  "menuId"?: string;
2290
+ /**
2291
+ * The mode determines the platform behaviors of the component.
2292
+ */
2293
+ "mode"?: "ios" | "md";
1869
2294
  /**
1870
2295
  * Opens the menu. If the menu is already open or it can't be opened, it returns `false`.
1871
2296
  * @param animated If `true`, the menu will animate when opening. If `false`, the menu will open instantly without animation. Defaults to `true`.
@@ -1888,6 +2313,10 @@ export namespace Components {
1888
2313
  * @default true
1889
2314
  */
1890
2315
  "swipeGesture": boolean;
2316
+ /**
2317
+ * The theme determines the visual appearance of the component.
2318
+ */
2319
+ "theme"?: "ios" | "md" | "ionic";
1891
2320
  /**
1892
2321
  * 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`.
1893
2322
  * @param animated If `true`, the menu will animate when opening/closing. If `false`, the menu will open/close instantly without animation. Defaults to `true`.
@@ -1918,9 +2347,13 @@ export namespace Components {
1918
2347
  */
1919
2348
  "menu"?: string;
1920
2349
  /**
1921
- * The mode determines which platform styles to use.
2350
+ * The mode determines the platform behaviors of the component.
1922
2351
  */
1923
2352
  "mode"?: "ios" | "md";
2353
+ /**
2354
+ * The theme determines the visual appearance of the component.
2355
+ */
2356
+ "theme"?: "ios" | "md" | "ionic";
1924
2357
  /**
1925
2358
  * The type of the button.
1926
2359
  * @default 'button'
@@ -1937,6 +2370,14 @@ export namespace Components {
1937
2370
  * 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.
1938
2371
  */
1939
2372
  "menu"?: string;
2373
+ /**
2374
+ * The mode determines the platform behaviors of the component.
2375
+ */
2376
+ "mode"?: "ios" | "md";
2377
+ /**
2378
+ * The theme determines the visual appearance of the component.
2379
+ */
2380
+ "theme"?: "ios" | "md" | "ionic";
1940
2381
  }
1941
2382
  interface IonModal {
1942
2383
  /**
@@ -2041,7 +2482,7 @@ export namespace Components {
2041
2482
  */
2042
2483
  "leaveAnimation"?: AnimationBuilder;
2043
2484
  /**
2044
- * The mode determines which platform styles to use.
2485
+ * The mode determines the platform behaviors of the component.
2045
2486
  */
2046
2487
  "mode"?: "ios" | "md";
2047
2488
  /**
@@ -2066,11 +2507,19 @@ export namespace Components {
2066
2507
  * @param breakpoint The breakpoint value to move the sheet modal to. Must be a value defined in your `breakpoints` array.
2067
2508
  */
2068
2509
  "setCurrentBreakpoint": (breakpoint: number) => Promise<void>;
2510
+ /**
2511
+ * 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.
2512
+ */
2513
+ "shape"?: 'soft' | 'round' | 'rectangular';
2069
2514
  /**
2070
2515
  * 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.
2071
2516
  * @default true
2072
2517
  */
2073
2518
  "showBackdrop": boolean;
2519
+ /**
2520
+ * The theme determines the visual appearance of the component.
2521
+ */
2522
+ "theme"?: "ios" | "md" | "ionic";
2074
2523
  /**
2075
2524
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
2076
2525
  */
@@ -2083,7 +2532,7 @@ export namespace Components {
2083
2532
  */
2084
2533
  "animated": boolean;
2085
2534
  /**
2086
- * 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.
2535
+ * 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.
2087
2536
  */
2088
2537
  "animation"?: AnimationBuilder;
2089
2538
  /**
@@ -2131,6 +2580,10 @@ export namespace Components {
2131
2580
  * @param done The transition complete function.
2132
2581
  */
2133
2582
  "insertPages": (insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean>;
2583
+ /**
2584
+ * The mode determines the platform behaviors of the component.
2585
+ */
2586
+ "mode"?: "ios" | "md";
2134
2587
  /**
2135
2588
  * Pop a component off of the navigation stack. Navigates back from the current component.
2136
2589
  * @param opts The navigation options.
@@ -2202,6 +2655,10 @@ export namespace Components {
2202
2655
  * If the nav component should allow for swipe-to-go-back.
2203
2656
  */
2204
2657
  "swipeGesture"?: boolean;
2658
+ /**
2659
+ * The theme determines the visual appearance of the component.
2660
+ */
2661
+ "theme"?: "ios" | "md" | "ionic";
2205
2662
  }
2206
2663
  interface IonNavLink {
2207
2664
  /**
@@ -2212,6 +2669,10 @@ export namespace Components {
2212
2669
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
2213
2670
  */
2214
2671
  "componentProps"?: ComponentProps;
2672
+ /**
2673
+ * The mode determines the platform behaviors of the component.
2674
+ */
2675
+ "mode"?: "ios" | "md";
2215
2676
  /**
2216
2677
  * The transition animation when navigating to another page.
2217
2678
  */
@@ -2221,6 +2682,10 @@ export namespace Components {
2221
2682
  * @default 'forward'
2222
2683
  */
2223
2684
  "routerDirection": RouterDirection;
2685
+ /**
2686
+ * The theme determines the visual appearance of the component.
2687
+ */
2688
+ "theme"?: "ios" | "md" | "ionic";
2224
2689
  }
2225
2690
  interface IonNote {
2226
2691
  /**
@@ -2228,16 +2693,24 @@ export namespace Components {
2228
2693
  */
2229
2694
  "color"?: Color;
2230
2695
  /**
2231
- * The mode determines which platform styles to use.
2696
+ * The mode determines the platform behaviors of the component.
2232
2697
  */
2233
2698
  "mode"?: "ios" | "md";
2699
+ /**
2700
+ * The theme determines the visual appearance of the component.
2701
+ */
2702
+ "theme"?: "ios" | "md" | "ionic";
2234
2703
  }
2235
2704
  interface IonPicker {
2236
2705
  "exitInputMode": () => Promise<void>;
2237
2706
  /**
2238
- * The mode determines which platform styles to use.
2707
+ * The mode determines the platform behaviors of the component.
2239
2708
  */
2240
2709
  "mode"?: "ios" | "md";
2710
+ /**
2711
+ * The theme determines the visual appearance of the component.
2712
+ */
2713
+ "theme"?: "ios" | "md" | "ionic";
2241
2714
  }
2242
2715
  interface IonPickerColumn {
2243
2716
  /**
@@ -2251,7 +2724,7 @@ export namespace Components {
2251
2724
  */
2252
2725
  "disabled": boolean;
2253
2726
  /**
2254
- * The mode determines which platform styles to use.
2727
+ * The mode determines the platform behaviors of the component.
2255
2728
  */
2256
2729
  "mode"?: "ios" | "md";
2257
2730
  /**
@@ -2268,6 +2741,10 @@ export namespace Components {
2268
2741
  * 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.
2269
2742
  */
2270
2743
  "setValue": (value: PickerColumnValue) => Promise<void>;
2744
+ /**
2745
+ * The theme determines the visual appearance of the component.
2746
+ */
2747
+ "theme"?: "ios" | "md" | "ionic";
2271
2748
  /**
2272
2749
  * The selected option in the picker.
2273
2750
  */
@@ -2284,6 +2761,14 @@ export namespace Components {
2284
2761
  * @default false
2285
2762
  */
2286
2763
  "disabled": boolean;
2764
+ /**
2765
+ * The mode determines the platform behaviors of the component.
2766
+ */
2767
+ "mode"?: "ios" | "md";
2768
+ /**
2769
+ * The theme determines the visual appearance of the component.
2770
+ */
2771
+ "theme"?: "ios" | "md" | "ionic";
2287
2772
  /**
2288
2773
  * The text value of the option.
2289
2774
  */
@@ -2358,7 +2843,7 @@ export namespace Components {
2358
2843
  */
2359
2844
  "leaveAnimation"?: AnimationBuilder;
2360
2845
  /**
2361
- * The mode determines which platform styles to use.
2846
+ * The mode determines the platform behaviors of the component.
2362
2847
  */
2363
2848
  "mode"?: "ios" | "md";
2364
2849
  /**
@@ -2379,6 +2864,10 @@ export namespace Components {
2379
2864
  * @default true
2380
2865
  */
2381
2866
  "showBackdrop": boolean;
2867
+ /**
2868
+ * The theme determines the visual appearance of the component.
2869
+ */
2870
+ "theme"?: "ios" | "md" | "ionic";
2382
2871
  /**
2383
2872
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
2384
2873
  */
@@ -2392,7 +2881,7 @@ export namespace Components {
2392
2881
  }
2393
2882
  interface IonPopover {
2394
2883
  /**
2395
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
2884
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
2396
2885
  */
2397
2886
  "alignment"?: PositionAlign;
2398
2887
  /**
@@ -2401,7 +2890,7 @@ export namespace Components {
2401
2890
  */
2402
2891
  "animated": boolean;
2403
2892
  /**
2404
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
2893
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
2405
2894
  * @default true
2406
2895
  */
2407
2896
  "arrow": boolean;
@@ -2481,7 +2970,7 @@ export namespace Components {
2481
2970
  */
2482
2971
  "leaveAnimation"?: AnimationBuilder;
2483
2972
  /**
2484
- * The mode determines which platform styles to use.
2973
+ * The mode determines the platform behaviors of the component.
2485
2974
  */
2486
2975
  "mode"?: "ios" | "md";
2487
2976
  /**
@@ -2523,7 +3012,11 @@ export namespace Components {
2523
3012
  */
2524
3013
  "size": PopoverSize;
2525
3014
  /**
2526
- * 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).
3015
+ * The theme determines the visual appearance of the component.
3016
+ */
3017
+ "theme"?: "ios" | "md" | "ionic";
3018
+ /**
3019
+ * 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).
2527
3020
  * @default false
2528
3021
  */
2529
3022
  "translucent": boolean;
@@ -2548,7 +3041,7 @@ export namespace Components {
2548
3041
  */
2549
3042
  "color"?: Color;
2550
3043
  /**
2551
- * The mode determines which platform styles to use.
3044
+ * The mode determines the platform behaviors of the component.
2552
3045
  */
2553
3046
  "mode"?: "ios" | "md";
2554
3047
  /**
@@ -2556,6 +3049,14 @@ export namespace Components {
2556
3049
  * @default false
2557
3050
  */
2558
3051
  "reversed": boolean;
3052
+ /**
3053
+ * 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.
3054
+ */
3055
+ "shape"?: 'round' | 'rectangular';
3056
+ /**
3057
+ * The theme determines the visual appearance of the component.
3058
+ */
3059
+ "theme"?: "ios" | "md" | "ionic";
2559
3060
  /**
2560
3061
  * 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).
2561
3062
  * @default 'determinate'
@@ -2591,7 +3092,7 @@ export namespace Components {
2591
3092
  */
2592
3093
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
2593
3094
  /**
2594
- * The mode determines which platform styles to use.
3095
+ * The mode determines the platform behaviors of the component.
2595
3096
  */
2596
3097
  "mode"?: "ios" | "md";
2597
3098
  /**
@@ -2601,6 +3102,10 @@ export namespace Components {
2601
3102
  "name": string;
2602
3103
  "setButtonTabindex": (value: number) => Promise<void>;
2603
3104
  "setFocus": (ev?: globalThis.Event) => Promise<void>;
3105
+ /**
3106
+ * The theme determines the visual appearance of the component.
3107
+ */
3108
+ "theme"?: "ios" | "md" | "ionic";
2604
3109
  /**
2605
3110
  * the value of the radio.
2606
3111
  */
@@ -2624,12 +3129,21 @@ export namespace Components {
2624
3129
  * The helper text to display at the top of the radio group.
2625
3130
  */
2626
3131
  "helperText"?: string;
3132
+ /**
3133
+ * The mode determines the platform behaviors of the component.
3134
+ */
3135
+ "mode"?: "ios" | "md";
2627
3136
  /**
2628
3137
  * The name of the control, which is submitted with the form data.
2629
3138
  * @default this.inputId
2630
3139
  */
2631
3140
  "name": string;
2632
3141
  "setFocus": () => Promise<void>;
3142
+ /**
3143
+ * The theme determines the visual appearance of the component.
3144
+ */
3145
+ "theme"?: "ios" | "md" | "ionic";
3146
+ "updateRadiosTabindex": () => Promise<void>;
2633
3147
  /**
2634
3148
  * the value of the radio group.
2635
3149
  */
@@ -2678,7 +3192,7 @@ export namespace Components {
2678
3192
  */
2679
3193
  "min": number;
2680
3194
  /**
2681
- * The mode determines which platform styles to use.
3195
+ * The mode determines the platform behaviors of the component.
2682
3196
  */
2683
3197
  "mode"?: "ios" | "md";
2684
3198
  /**
@@ -2706,6 +3220,10 @@ export namespace Components {
2706
3220
  * @default 1
2707
3221
  */
2708
3222
  "step": number;
3223
+ /**
3224
+ * The theme determines the visual appearance of the component.
3225
+ */
3226
+ "theme"?: "ios" | "md" | "ionic";
2709
3227
  /**
2710
3228
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
2711
3229
  * @default true
@@ -2741,7 +3259,7 @@ export namespace Components {
2741
3259
  */
2742
3260
  "getProgress": () => Promise<number>;
2743
3261
  /**
2744
- * The mode determines which platform styles to use.
3262
+ * The mode determines the platform behaviors of the component.
2745
3263
  */
2746
3264
  "mode"?: "ios" | "md";
2747
3265
  /**
@@ -2764,8 +3282,16 @@ export namespace Components {
2764
3282
  * @default '280ms'
2765
3283
  */
2766
3284
  "snapbackDuration": string;
3285
+ /**
3286
+ * The theme determines the visual appearance of the component.
3287
+ */
3288
+ "theme"?: "ios" | "md" | "ionic";
2767
3289
  }
2768
3290
  interface IonRefresherContent {
3291
+ /**
3292
+ * The mode determines the platform behaviors of the component.
3293
+ */
3294
+ "mode"?: "ios" | "md";
2769
3295
  /**
2770
3296
  * 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.
2771
3297
  */
@@ -2782,8 +3308,20 @@ export namespace Components {
2782
3308
  * 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.
2783
3309
  */
2784
3310
  "refreshingText"?: string | IonicSafeString;
3311
+ /**
3312
+ * The theme determines the visual appearance of the component.
3313
+ */
3314
+ "theme"?: "ios" | "md" | "ionic";
2785
3315
  }
2786
3316
  interface IonReorder {
3317
+ /**
3318
+ * The mode determines the platform behaviors of the component.
3319
+ */
3320
+ "mode"?: "ios" | "md";
3321
+ /**
3322
+ * The theme determines the visual appearance of the component.
3323
+ */
3324
+ "theme"?: "ios" | "md" | "ionic";
2787
3325
  }
2788
3326
  interface IonReorderGroup {
2789
3327
  /**
@@ -2796,6 +3334,14 @@ export namespace Components {
2796
3334
  * @default true
2797
3335
  */
2798
3336
  "disabled": boolean;
3337
+ /**
3338
+ * The mode determines the platform behaviors of the component.
3339
+ */
3340
+ "mode"?: "ios" | "md";
3341
+ /**
3342
+ * The theme determines the visual appearance of the component.
3343
+ */
3344
+ "theme"?: "ios" | "md" | "ionic";
2799
3345
  }
2800
3346
  interface IonRippleEffect {
2801
3347
  /**
@@ -2804,6 +3350,14 @@ export namespace Components {
2804
3350
  * @param y The vertical coordinate of where the ripple should start.
2805
3351
  */
2806
3352
  "addRipple": (x: number, y: number) => Promise<() => void>;
3353
+ /**
3354
+ * The mode determines the platform behaviors of the component.
3355
+ */
3356
+ "mode"?: "ios" | "md";
3357
+ /**
3358
+ * The theme determines the visual appearance of the component.
3359
+ */
3360
+ "theme"?: "ios" | "md" | "ionic";
2807
3361
  /**
2808
3362
  * 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.
2809
3363
  * @default 'bounded'
@@ -2827,6 +3381,14 @@ export namespace Components {
2827
3381
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
2828
3382
  */
2829
3383
  "componentProps"?: { [key: string]: any };
3384
+ /**
3385
+ * The mode determines the platform behaviors of the component.
3386
+ */
3387
+ "mode"?: "ios" | "md";
3388
+ /**
3389
+ * The theme determines the visual appearance of the component.
3390
+ */
3391
+ "theme"?: "ios" | "md" | "ionic";
2830
3392
  /**
2831
3393
  * 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.
2832
3394
  * @default ''
@@ -2849,6 +3411,10 @@ export namespace Components {
2849
3411
  */
2850
3412
  "back": () => Promise<void>;
2851
3413
  "canTransition": () => Promise<string | boolean>;
3414
+ /**
3415
+ * The mode determines the platform behaviors of the component.
3416
+ */
3417
+ "mode"?: "ios" | "md";
2852
3418
  "navChanged": (direction: RouterDirection) => Promise<boolean>;
2853
3419
  "printDebug": () => Promise<void>;
2854
3420
  /**
@@ -2863,6 +3429,10 @@ export namespace Components {
2863
3429
  * @default '/'
2864
3430
  */
2865
3431
  "root": string;
3432
+ /**
3433
+ * The theme determines the visual appearance of the component.
3434
+ */
3435
+ "theme"?: "ios" | "md" | "ionic";
2866
3436
  /**
2867
3437
  * 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.
2868
3438
  * @default true
@@ -2878,6 +3448,10 @@ export namespace Components {
2878
3448
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2879
3449
  */
2880
3450
  "href": string | undefined;
3451
+ /**
3452
+ * The mode determines the platform behaviors of the component.
3453
+ */
3454
+ "mode"?: "ios" | "md";
2881
3455
  /**
2882
3456
  * 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).
2883
3457
  */
@@ -2895,6 +3469,10 @@ export namespace Components {
2895
3469
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2896
3470
  */
2897
3471
  "target": string | undefined;
3472
+ /**
3473
+ * The theme determines the visual appearance of the component.
3474
+ */
3475
+ "theme"?: "ios" | "md" | "ionic";
2898
3476
  }
2899
3477
  interface IonRouterOutlet {
2900
3478
  /**
@@ -2910,14 +3488,26 @@ export namespace Components {
2910
3488
  "delegate"?: FrameworkDelegate;
2911
3489
  "getRouteId": () => Promise<RouteID | undefined>;
2912
3490
  /**
2913
- * The mode determines which platform styles to use.
3491
+ * The mode determines the platform behaviors of the component.
2914
3492
  * @default getIonMode(this)
2915
3493
  */
2916
3494
  "mode": "ios" | "md";
2917
3495
  "setRouteId": (id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>;
2918
3496
  "swipeHandler"?: SwipeGestureHandler;
3497
+ /**
3498
+ * The theme determines the visual appearance of the component.
3499
+ */
3500
+ "theme"?: "ios" | "md" | "ionic";
2919
3501
  }
2920
3502
  interface IonRow {
3503
+ /**
3504
+ * The mode determines the platform behaviors of the component.
3505
+ */
3506
+ "mode"?: "ios" | "md";
3507
+ /**
3508
+ * The theme determines the visual appearance of the component.
3509
+ */
3510
+ "theme"?: "ios" | "md" | "ionic";
2921
3511
  }
2922
3512
  interface IonSearchbar {
2923
3513
  /**
@@ -2941,17 +3531,16 @@ export namespace Components {
2941
3531
  */
2942
3532
  "autocorrect": 'on' | 'off';
2943
3533
  /**
2944
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
2945
- * @default config.get('backButtonIcon', arrowBackSharp) as string
3534
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
2946
3535
  */
2947
- "cancelButtonIcon": string;
3536
+ "cancelButtonIcon"?: string;
2948
3537
  /**
2949
- * Set the cancel button text. Only applies to `ios` mode.
3538
+ * Set the cancel button text. Only available when the theme is `"ios"`.
2950
3539
  * @default 'Cancel'
2951
3540
  */
2952
3541
  "cancelButtonText": string;
2953
3542
  /**
2954
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
3543
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
2955
3544
  */
2956
3545
  "clearIcon"?: string;
2957
3546
  /**
@@ -2988,7 +3577,7 @@ export namespace Components {
2988
3577
  */
2989
3578
  "minlength"?: number;
2990
3579
  /**
2991
- * The mode determines which platform styles to use.
3580
+ * The mode determines the platform behaviors of the component.
2992
3581
  */
2993
3582
  "mode"?: "ios" | "md";
2994
3583
  /**
@@ -3002,13 +3591,17 @@ export namespace Components {
3002
3591
  */
3003
3592
  "placeholder": string;
3004
3593
  /**
3005
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
3594
+ * 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.
3006
3595
  */
3007
- "searchIcon"?: string;
3596
+ "searchIcon"?: string | boolean;
3008
3597
  /**
3009
3598
  * 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.
3010
3599
  */
3011
3600
  "setFocus": () => Promise<void>;
3601
+ /**
3602
+ * 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.
3603
+ */
3604
+ "shape"?: 'soft' | 'round' | 'rectangular';
3012
3605
  /**
3013
3606
  * 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.
3014
3607
  * @default 'never'
@@ -3019,11 +3612,19 @@ export namespace Components {
3019
3612
  * @default 'always'
3020
3613
  */
3021
3614
  "showClearButton": 'never' | 'focus' | 'always';
3615
+ /**
3616
+ * 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.
3617
+ */
3618
+ "size"?: 'small' | 'medium' | 'large';
3022
3619
  /**
3023
3620
  * If `true`, enable spellcheck on the input.
3024
3621
  * @default false
3025
3622
  */
3026
3623
  "spellcheck": boolean;
3624
+ /**
3625
+ * The theme determines the visual appearance of the component.
3626
+ */
3627
+ "theme"?: "ios" | "md" | "ionic";
3027
3628
  /**
3028
3629
  * Set the type of the input.
3029
3630
  * @default 'search'
@@ -3046,7 +3647,7 @@ export namespace Components {
3046
3647
  */
3047
3648
  "disabled": boolean;
3048
3649
  /**
3049
- * The mode determines which platform styles to use.
3650
+ * The mode determines the platform behaviors of the component.
3050
3651
  */
3051
3652
  "mode"?: "ios" | "md";
3052
3653
  /**
@@ -3064,6 +3665,10 @@ export namespace Components {
3064
3665
  * @default true
3065
3666
  */
3066
3667
  "swipeGesture": boolean;
3668
+ /**
3669
+ * The theme determines the visual appearance of the component.
3670
+ */
3671
+ "theme"?: "ios" | "md" | "ionic";
3067
3672
  /**
3068
3673
  * the value of the segment.
3069
3674
  */
@@ -3085,10 +3690,14 @@ export namespace Components {
3085
3690
  */
3086
3691
  "layout"?: SegmentButtonLayout;
3087
3692
  /**
3088
- * The mode determines which platform styles to use.
3693
+ * The mode determines the platform behaviors of the component.
3089
3694
  */
3090
3695
  "mode"?: "ios" | "md";
3091
3696
  "setFocus": () => Promise<void>;
3697
+ /**
3698
+ * The theme determines the visual appearance of the component.
3699
+ */
3700
+ "theme"?: "ios" | "md" | "ionic";
3092
3701
  /**
3093
3702
  * The type of the button.
3094
3703
  * @default 'button'
@@ -3120,6 +3729,11 @@ export namespace Components {
3120
3729
  "swipeGesture": boolean;
3121
3730
  }
3122
3731
  interface IonSelect {
3732
+ /**
3733
+ * 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.
3734
+ * @default false
3735
+ */
3736
+ "cancelIcon": boolean;
3123
3737
  /**
3124
3738
  * The text to display on the cancel button.
3125
3739
  * @default 'Cancel'
@@ -3143,11 +3757,11 @@ export namespace Components {
3143
3757
  */
3144
3758
  "errorText"?: string;
3145
3759
  /**
3146
- * 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.
3760
+ * 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.
3147
3761
  */
3148
3762
  "expandedIcon"?: string;
3149
3763
  /**
3150
- * 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.
3764
+ * 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.
3151
3765
  */
3152
3766
  "fill"?: 'outline' | 'solid';
3153
3767
  /**
@@ -3178,7 +3792,7 @@ export namespace Components {
3178
3792
  */
3179
3793
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
3180
3794
  /**
3181
- * The mode determines which platform styles to use.
3795
+ * The mode determines the platform behaviors of the component.
3182
3796
  */
3183
3797
  "mode"?: "ios" | "md";
3184
3798
  /**
@@ -3215,11 +3829,19 @@ export namespace Components {
3215
3829
  */
3216
3830
  "selectedText"?: string | null;
3217
3831
  /**
3218
- * The shape of the select. If "round" it will have an increased border radius.
3832
+ * 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.
3219
3833
  */
3220
- "shape"?: 'round';
3834
+ "shape"?: 'soft' | 'round' | 'rectangular';
3221
3835
  /**
3222
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
3836
+ * 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.
3837
+ */
3838
+ "size"?: 'small' | 'medium' | 'large';
3839
+ /**
3840
+ * The theme determines the visual appearance of the component.
3841
+ */
3842
+ "theme"?: "ios" | "md" | "ionic";
3843
+ /**
3844
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
3223
3845
  */
3224
3846
  "toggleIcon"?: string;
3225
3847
  /**
@@ -3228,6 +3850,11 @@ export namespace Components {
3228
3850
  "value"?: any | null;
3229
3851
  }
3230
3852
  interface IonSelectModal {
3853
+ /**
3854
+ * 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.
3855
+ * @default false
3856
+ */
3857
+ "cancelIcon": boolean;
3231
3858
  /**
3232
3859
  * The text to display on the cancel button.
3233
3860
  * @default 'Close'
@@ -3241,11 +3868,31 @@ export namespace Components {
3241
3868
  "options": SelectModalOption[];
3242
3869
  }
3243
3870
  interface IonSelectOption {
3871
+ /**
3872
+ * Text that is placed underneath the option text to provide additional details about the option.
3873
+ */
3874
+ "description"?: string;
3244
3875
  /**
3245
3876
  * 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.
3246
3877
  * @default false
3247
3878
  */
3248
3879
  "disabled": boolean;
3880
+ /**
3881
+ * 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.
3882
+ */
3883
+ "justify"?: 'start' | 'end' | 'space-between';
3884
+ /**
3885
+ * 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.
3886
+ */
3887
+ "labelPlacement"?: 'start' | 'end';
3888
+ /**
3889
+ * The mode determines the platform behaviors of the component.
3890
+ */
3891
+ "mode"?: "ios" | "md";
3892
+ /**
3893
+ * The theme determines the visual appearance of the component.
3894
+ */
3895
+ "theme"?: "ios" | "md" | "ionic";
3249
3896
  /**
3250
3897
  * The text value of the option.
3251
3898
  */
@@ -3260,6 +3907,10 @@ export namespace Components {
3260
3907
  * The text content of the popover body
3261
3908
  */
3262
3909
  "message"?: string;
3910
+ /**
3911
+ * The mode determines the platform behaviors of the component.
3912
+ */
3913
+ "mode"?: "ios" | "md";
3263
3914
  /**
3264
3915
  * If true, the select accepts multiple values
3265
3916
  */
@@ -3273,6 +3924,10 @@ export namespace Components {
3273
3924
  * The subheader text of the popover
3274
3925
  */
3275
3926
  "subHeader"?: string;
3927
+ /**
3928
+ * The theme determines the visual appearance of the component.
3929
+ */
3930
+ "theme"?: "ios" | "md" | "ionic";
3276
3931
  }
3277
3932
  interface IonSkeletonText {
3278
3933
  /**
@@ -3280,6 +3935,14 @@ export namespace Components {
3280
3935
  * @default false
3281
3936
  */
3282
3937
  "animated": boolean;
3938
+ /**
3939
+ * The mode determines the platform behaviors of the component.
3940
+ */
3941
+ "mode"?: "ios" | "md";
3942
+ /**
3943
+ * The theme determines the visual appearance of the component.
3944
+ */
3945
+ "theme"?: "ios" | "md" | "ionic";
3283
3946
  }
3284
3947
  interface IonSpinner {
3285
3948
  /**
@@ -3290,6 +3953,10 @@ export namespace Components {
3290
3953
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
3291
3954
  */
3292
3955
  "duration"?: number;
3956
+ /**
3957
+ * The mode determines the platform behaviors of the component.
3958
+ */
3959
+ "mode"?: "ios" | "md";
3293
3960
  /**
3294
3961
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
3295
3962
  */
@@ -3299,6 +3966,14 @@ export namespace Components {
3299
3966
  * @default false
3300
3967
  */
3301
3968
  "paused": boolean;
3969
+ /**
3970
+ * 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.
3971
+ */
3972
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
3973
+ /**
3974
+ * The theme determines the visual appearance of the component.
3975
+ */
3976
+ "theme"?: "ios" | "md" | "ionic";
3302
3977
  }
3303
3978
  interface IonSplitPane {
3304
3979
  /**
@@ -3311,6 +3986,14 @@ export namespace Components {
3311
3986
  */
3312
3987
  "disabled": boolean;
3313
3988
  "isVisible": () => Promise<boolean>;
3989
+ /**
3990
+ * The mode determines the platform behaviors of the component.
3991
+ */
3992
+ "mode"?: "ios" | "md";
3993
+ /**
3994
+ * The theme determines the visual appearance of the component.
3995
+ */
3996
+ "theme"?: "ios" | "md" | "ionic";
3314
3997
  /**
3315
3998
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
3316
3999
  * @default '(min-width: 992px)'
@@ -3327,6 +4010,10 @@ export namespace Components {
3327
4010
  */
3328
4011
  "component"?: ComponentRef;
3329
4012
  "delegate"?: FrameworkDelegate;
4013
+ /**
4014
+ * The mode determines the platform behaviors of the component.
4015
+ */
4016
+ "mode"?: "ios" | "md";
3330
4017
  /**
3331
4018
  * Set the active component for the tab
3332
4019
  */
@@ -3335,6 +4022,10 @@ export namespace Components {
3335
4022
  * 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.
3336
4023
  */
3337
4024
  "tab": string;
4025
+ /**
4026
+ * The theme determines the visual appearance of the component.
4027
+ */
4028
+ "theme"?: "ios" | "md" | "ionic";
3338
4029
  }
3339
4030
  interface IonTabBar {
3340
4031
  /**
@@ -3342,7 +4033,17 @@ export namespace Components {
3342
4033
  */
3343
4034
  "color"?: Color;
3344
4035
  /**
3345
- * The mode determines which platform styles to use.
4036
+ * 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"`.
4037
+ * @default 'full'
4038
+ */
4039
+ "expand": 'compact' | 'full';
4040
+ /**
4041
+ * 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"`.
4042
+ * @default false
4043
+ */
4044
+ "hideOnScroll": boolean;
4045
+ /**
4046
+ * The mode determines the platform behaviors of the component.
3346
4047
  */
3347
4048
  "mode"?: "ios" | "md";
3348
4049
  /**
@@ -3350,7 +4051,15 @@ export namespace Components {
3350
4051
  */
3351
4052
  "selectedTab"?: string;
3352
4053
  /**
3353
- * 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).
4054
+ * 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.
4055
+ */
4056
+ "shape"?: 'soft' | 'round' | 'rectangular';
4057
+ /**
4058
+ * The theme determines the visual appearance of the component.
4059
+ */
4060
+ "theme"?: "ios" | "md" | "ionic";
4061
+ /**
4062
+ * 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).
3354
4063
  * @default false
3355
4064
  */
3356
4065
  "translucent": boolean;
@@ -3374,7 +4083,7 @@ export namespace Components {
3374
4083
  */
3375
4084
  "layout"?: TabButtonLayout;
3376
4085
  /**
3377
- * The mode determines which platform styles to use.
4086
+ * The mode determines the platform behaviors of the component.
3378
4087
  */
3379
4088
  "mode"?: "ios" | "md";
3380
4089
  /**
@@ -3386,6 +4095,10 @@ export namespace Components {
3386
4095
  * @default false
3387
4096
  */
3388
4097
  "selected": boolean;
4098
+ /**
4099
+ * 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.
4100
+ */
4101
+ "shape"?: 'soft' | 'round' | 'rectangular';
3389
4102
  /**
3390
4103
  * 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.
3391
4104
  */
@@ -3394,6 +4107,10 @@ export namespace Components {
3394
4107
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
3395
4108
  */
3396
4109
  "target": string | undefined;
4110
+ /**
4111
+ * The theme determines the visual appearance of the component.
4112
+ */
4113
+ "theme"?: "ios" | "md" | "ionic";
3397
4114
  }
3398
4115
  interface IonTabs {
3399
4116
  "getRouteId": () => Promise<RouteID | undefined>;
@@ -3406,12 +4123,20 @@ export namespace Components {
3406
4123
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3407
4124
  */
3408
4125
  "getTab": (tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined>;
4126
+ /**
4127
+ * The mode determines the platform behaviors of the component.
4128
+ */
4129
+ "mode"?: "ios" | "md";
3409
4130
  /**
3410
4131
  * 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.
3411
4132
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3412
4133
  */
3413
4134
  "select": (tab: string | HTMLIonTabElement) => Promise<boolean>;
3414
4135
  "setRouteId": (id: string) => Promise<RouteWrite>;
4136
+ /**
4137
+ * The theme determines the visual appearance of the component.
4138
+ */
4139
+ "theme"?: "ios" | "md" | "ionic";
3415
4140
  /**
3416
4141
  * @default false
3417
4142
  */
@@ -3423,9 +4148,13 @@ export namespace Components {
3423
4148
  */
3424
4149
  "color"?: Color;
3425
4150
  /**
3426
- * The mode determines which platform styles to use.
4151
+ * The mode determines the platform behaviors of the component.
3427
4152
  */
3428
4153
  "mode"?: "ios" | "md";
4154
+ /**
4155
+ * The theme determines the visual appearance of the component.
4156
+ */
4157
+ "theme"?: "ios" | "md" | "ionic";
3429
4158
  }
3430
4159
  interface IonTextarea {
3431
4160
  /**
@@ -3483,7 +4212,7 @@ export namespace Components {
3483
4212
  */
3484
4213
  "errorText"?: string;
3485
4214
  /**
3486
- * 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.
4215
+ * 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"`.
3487
4216
  */
3488
4217
  "fill"?: 'outline' | 'solid';
3489
4218
  /**
@@ -3516,7 +4245,7 @@ export namespace Components {
3516
4245
  */
3517
4246
  "minlength"?: number;
3518
4247
  /**
3519
- * The mode determines which platform styles to use.
4248
+ * The mode determines the platform behaviors of the component.
3520
4249
  */
3521
4250
  "mode"?: "ios" | "md";
3522
4251
  /**
@@ -3547,14 +4276,23 @@ export namespace Components {
3547
4276
  */
3548
4277
  "setFocus": () => Promise<void>;
3549
4278
  /**
3550
- * The shape of the textarea. If "round" it will have an increased border radius.
4279
+ * 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.
3551
4280
  */
3552
- "shape"?: 'round';
4281
+ "shape"?: 'soft' | 'round' | 'rectangular';
4282
+ /**
4283
+ * 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.
4284
+ * @default 'medium'
4285
+ */
4286
+ "size"?: 'small' | 'medium' | 'large';
3553
4287
  /**
3554
4288
  * If `true`, the element will have its spelling and grammar checked.
3555
4289
  * @default false
3556
4290
  */
3557
4291
  "spellcheck": boolean;
4292
+ /**
4293
+ * The theme determines the visual appearance of the component.
4294
+ */
4295
+ "theme"?: "ios" | "md" | "ionic";
3558
4296
  /**
3559
4297
  * The value of the textarea.
3560
4298
  * @default ''
@@ -3566,16 +4304,32 @@ export namespace Components {
3566
4304
  "wrap"?: 'hard' | 'soft' | 'off';
3567
4305
  }
3568
4306
  interface IonThumbnail {
4307
+ /**
4308
+ * The mode determines the platform behaviors of the component.
4309
+ */
4310
+ "mode"?: "ios" | "md";
4311
+ /**
4312
+ * The theme determines the visual appearance of the component.
4313
+ */
4314
+ "theme"?: "ios" | "md" | "ionic";
3569
4315
  }
3570
4316
  interface IonTitle {
3571
4317
  /**
3572
4318
  * 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).
3573
4319
  */
3574
4320
  "color"?: Color;
4321
+ /**
4322
+ * The mode determines the platform behaviors of the component.
4323
+ */
4324
+ "mode"?: "ios" | "md";
3575
4325
  /**
3576
4326
  * The size of the toolbar title.
3577
4327
  */
3578
4328
  "size"?: 'large' | 'small';
4329
+ /**
4330
+ * The theme determines the visual appearance of the component.
4331
+ */
4332
+ "theme"?: "ios" | "md" | "ionic";
3579
4333
  }
3580
4334
  interface IonToast {
3581
4335
  /**
@@ -3623,6 +4377,11 @@ export namespace Components {
3623
4377
  * Additional attributes to pass to the toast.
3624
4378
  */
3625
4379
  "htmlAttributes"?: { [key: string]: any };
4380
+ /**
4381
+ * 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.
4382
+ * @default 'subtle'
4383
+ */
4384
+ "hue"?: 'bold' | 'subtle';
3626
4385
  /**
3627
4386
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
3628
4387
  */
@@ -3651,7 +4410,7 @@ export namespace Components {
3651
4410
  */
3652
4411
  "message"?: string | IonicSafeString;
3653
4412
  /**
3654
- * The mode determines which platform styles to use.
4413
+ * The mode determines the platform behaviors of the component.
3655
4414
  */
3656
4415
  "mode"?: "ios" | "md";
3657
4416
  /**
@@ -3676,12 +4435,20 @@ export namespace Components {
3676
4435
  * Present the toast overlay after it has been created.
3677
4436
  */
3678
4437
  "present": () => Promise<void>;
4438
+ /**
4439
+ * 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.
4440
+ */
4441
+ "shape"?: 'soft' | 'round' | 'rectangular';
3679
4442
  /**
3680
4443
  * 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.
3681
4444
  */
3682
4445
  "swipeGesture"?: ToastSwipeGestureDirection;
3683
4446
  /**
3684
- * 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).
4447
+ * The theme determines the visual appearance of the component.
4448
+ */
4449
+ "theme"?: "ios" | "md" | "ionic";
4450
+ /**
4451
+ * 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).
3685
4452
  * @default false
3686
4453
  */
3687
4454
  "translucent": boolean;
@@ -3732,7 +4499,7 @@ export namespace Components {
3732
4499
  */
3733
4500
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
3734
4501
  /**
3735
- * The mode determines which platform styles to use.
4502
+ * The mode determines the platform behaviors of the component.
3736
4503
  */
3737
4504
  "mode"?: "ios" | "md";
3738
4505
  /**
@@ -3745,6 +4512,10 @@ export namespace Components {
3745
4512
  * @default false
3746
4513
  */
3747
4514
  "required": boolean;
4515
+ /**
4516
+ * The theme determines the visual appearance of the component.
4517
+ */
4518
+ "theme"?: "ios" | "md" | "ionic";
3748
4519
  /**
3749
4520
  * 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>`.
3750
4521
  * @default 'on'
@@ -3757,9 +4528,17 @@ export namespace Components {
3757
4528
  */
3758
4529
  "color"?: Color;
3759
4530
  /**
3760
- * The mode determines which platform styles to use.
4531
+ * The mode determines the platform behaviors of the component.
3761
4532
  */
3762
4533
  "mode"?: "ios" | "md";
4534
+ /**
4535
+ * The theme determines the visual appearance of the component.
4536
+ */
4537
+ "theme"?: "ios" | "md" | "ionic";
4538
+ /**
4539
+ * 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.
4540
+ */
4541
+ "titlePlacement"?: 'start' | 'center' | 'end';
3763
4542
  }
3764
4543
  }
3765
4544
  export interface IonAccordionGroupCustomEvent<T> extends CustomEvent<T> {
@@ -4241,6 +5020,12 @@ declare global {
4241
5020
  prototype: HTMLIonDatetimeButtonElement;
4242
5021
  new (): HTMLIonDatetimeButtonElement;
4243
5022
  };
5023
+ interface HTMLIonDividerElement extends Components.IonDivider, HTMLStencilElement {
5024
+ }
5025
+ var HTMLIonDividerElement: {
5026
+ prototype: HTMLIonDividerElement;
5027
+ new (): HTMLIonDividerElement;
5028
+ };
4244
5029
  interface HTMLIonFabElement extends Components.IonFab, HTMLStencilElement {
4245
5030
  }
4246
5031
  var HTMLIonFabElement: {
@@ -4277,6 +5062,18 @@ declare global {
4277
5062
  prototype: HTMLIonFooterElement;
4278
5063
  new (): HTMLIonFooterElement;
4279
5064
  };
5065
+ interface HTMLIonGalleryElement extends Components.IonGallery, HTMLStencilElement {
5066
+ }
5067
+ var HTMLIonGalleryElement: {
5068
+ prototype: HTMLIonGalleryElement;
5069
+ new (): HTMLIonGalleryElement;
5070
+ };
5071
+ interface HTMLIonGalleryItemElement extends Components.IonGalleryItem, HTMLStencilElement {
5072
+ }
5073
+ var HTMLIonGalleryItemElement: {
5074
+ prototype: HTMLIonGalleryItemElement;
5075
+ new (): HTMLIonGalleryItemElement;
5076
+ };
4280
5077
  interface HTMLIonGridElement extends Components.IonGrid, HTMLStencilElement {
4281
5078
  }
4282
5079
  var HTMLIonGridElement: {
@@ -5229,10 +6026,13 @@ declare global {
5229
6026
  "ion-content": HTMLIonContentElement;
5230
6027
  "ion-datetime": HTMLIonDatetimeElement;
5231
6028
  "ion-datetime-button": HTMLIonDatetimeButtonElement;
6029
+ "ion-divider": HTMLIonDividerElement;
5232
6030
  "ion-fab": HTMLIonFabElement;
5233
6031
  "ion-fab-button": HTMLIonFabButtonElement;
5234
6032
  "ion-fab-list": HTMLIonFabListElement;
5235
6033
  "ion-footer": HTMLIonFooterElement;
6034
+ "ion-gallery": HTMLIonGalleryElement;
6035
+ "ion-gallery-item": HTMLIonGalleryItemElement;
5236
6036
  "ion-grid": HTMLIonGridElement;
5237
6037
  "ion-header": HTMLIonHeaderElement;
5238
6038
  "ion-img": HTMLIonImgElement;
@@ -5314,7 +6114,7 @@ declare namespace LocalJSX {
5314
6114
  */
5315
6115
  "disabled"?: boolean;
5316
6116
  /**
5317
- * The mode determines which platform styles to use.
6117
+ * The mode determines the platform behaviors of the component.
5318
6118
  */
5319
6119
  "mode"?: "ios" | "md";
5320
6120
  /**
@@ -5322,9 +6122,12 @@ declare namespace LocalJSX {
5322
6122
  * @default false
5323
6123
  */
5324
6124
  "readonly"?: boolean;
6125
+ /**
6126
+ * The theme determines the visual appearance of the component.
6127
+ */
6128
+ "theme"?: "ios" | "md" | "ionic";
5325
6129
  /**
5326
6130
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
5327
- * @default chevronDown
5328
6131
  */
5329
6132
  "toggleIcon"?: string;
5330
6133
  /**
@@ -5355,7 +6158,7 @@ declare namespace LocalJSX {
5355
6158
  */
5356
6159
  "expand"?: 'compact' | 'inset';
5357
6160
  /**
5358
- * The mode determines which platform styles to use.
6161
+ * The mode determines the platform behaviors of the component.
5359
6162
  */
5360
6163
  "mode"?: "ios" | "md";
5361
6164
  /**
@@ -5371,6 +6174,14 @@ declare namespace LocalJSX {
5371
6174
  * @default false
5372
6175
  */
5373
6176
  "readonly"?: boolean;
6177
+ /**
6178
+ * 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"`.
6179
+ */
6180
+ "shape"?: 'soft' | 'round' | 'rectangular';
6181
+ /**
6182
+ * The theme determines the visual appearance of the component.
6183
+ */
6184
+ "theme"?: "ios" | "md" | "ionic";
5374
6185
  /**
5375
6186
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
5376
6187
  */
@@ -5423,7 +6234,7 @@ declare namespace LocalJSX {
5423
6234
  */
5424
6235
  "leaveAnimation"?: AnimationBuilder;
5425
6236
  /**
5426
- * The mode determines which platform styles to use.
6237
+ * The mode determines the platform behaviors of the component.
5427
6238
  */
5428
6239
  "mode"?: "ios" | "md";
5429
6240
  /**
@@ -5463,7 +6274,11 @@ declare namespace LocalJSX {
5463
6274
  */
5464
6275
  "subHeader"?: string;
5465
6276
  /**
5466
- * 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).
6277
+ * The theme determines the visual appearance of the component.
6278
+ */
6279
+ "theme"?: "ios" | "md" | "ionic";
6280
+ /**
6281
+ * 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).
5467
6282
  * @default false
5468
6283
  */
5469
6284
  "translucent"?: boolean;
@@ -5528,7 +6343,7 @@ declare namespace LocalJSX {
5528
6343
  */
5529
6344
  "message"?: string | IonicSafeString;
5530
6345
  /**
5531
- * The mode determines which platform styles to use.
6346
+ * The mode determines the platform behaviors of the component.
5532
6347
  */
5533
6348
  "mode"?: "ios" | "md";
5534
6349
  /**
@@ -5568,7 +6383,11 @@ declare namespace LocalJSX {
5568
6383
  */
5569
6384
  "subHeader"?: string;
5570
6385
  /**
5571
- * 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).
6386
+ * The theme determines the visual appearance of the component.
6387
+ */
6388
+ "theme"?: "ios" | "md" | "ionic";
6389
+ /**
6390
+ * 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).
5572
6391
  * @default false
5573
6392
  */
5574
6393
  "translucent"?: boolean;
@@ -5578,8 +6397,37 @@ declare namespace LocalJSX {
5578
6397
  "trigger"?: string | undefined;
5579
6398
  }
5580
6399
  interface IonApp {
6400
+ /**
6401
+ * The mode determines the platform behaviors of the component.
6402
+ */
6403
+ "mode"?: "ios" | "md";
6404
+ /**
6405
+ * The theme determines the visual appearance of the component.
6406
+ */
6407
+ "theme"?: "ios" | "md" | "ionic";
5581
6408
  }
5582
6409
  interface IonAvatar {
6410
+ /**
6411
+ * If `true`, the user cannot interact with the avatar.
6412
+ * @default false
6413
+ */
6414
+ "disabled"?: boolean;
6415
+ /**
6416
+ * The mode determines the platform behaviors of the component.
6417
+ */
6418
+ "mode"?: "ios" | "md";
6419
+ /**
6420
+ * 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.
6421
+ */
6422
+ "shape"?: 'soft' | 'round' | 'rectangular';
6423
+ /**
6424
+ * 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.
6425
+ */
6426
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
6427
+ /**
6428
+ * The theme determines the visual appearance of the component.
6429
+ */
6430
+ "theme"?: "ios" | "md" | "ionic";
5583
6431
  }
5584
6432
  interface IonBackButton {
5585
6433
  /**
@@ -5600,7 +6448,7 @@ declare namespace LocalJSX {
5600
6448
  */
5601
6449
  "icon"?: string | null;
5602
6450
  /**
5603
- * The mode determines which platform styles to use.
6451
+ * The mode determines the platform behaviors of the component.
5604
6452
  */
5605
6453
  "mode"?: "ios" | "md";
5606
6454
  /**
@@ -5611,6 +6459,10 @@ declare namespace LocalJSX {
5611
6459
  * The text to display in the back button.
5612
6460
  */
5613
6461
  "text"?: string | null;
6462
+ /**
6463
+ * The theme determines the visual appearance of the component.
6464
+ */
6465
+ "theme"?: "ios" | "md" | "ionic";
5614
6466
  /**
5615
6467
  * The type of the button.
5616
6468
  * @default 'button'
@@ -5618,6 +6470,10 @@ declare namespace LocalJSX {
5618
6470
  "type"?: 'submit' | 'reset' | 'button';
5619
6471
  }
5620
6472
  interface IonBackdrop {
6473
+ /**
6474
+ * The mode determines the platform behaviors of the component.
6475
+ */
6476
+ "mode"?: "ios" | "md";
5621
6477
  /**
5622
6478
  * Emitted when the backdrop is tapped.
5623
6479
  */
@@ -5632,6 +6488,10 @@ declare namespace LocalJSX {
5632
6488
  * @default true
5633
6489
  */
5634
6490
  "tappable"?: boolean;
6491
+ /**
6492
+ * The theme determines the visual appearance of the component.
6493
+ */
6494
+ "theme"?: "ios" | "md" | "ionic";
5635
6495
  /**
5636
6496
  * If `true`, the backdrop will be visible.
5637
6497
  * @default true
@@ -5644,9 +6504,29 @@ declare namespace LocalJSX {
5644
6504
  */
5645
6505
  "color"?: Color;
5646
6506
  /**
5647
- * The mode determines which platform styles to use.
6507
+ * 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.
6508
+ */
6509
+ "hue"?: 'bold' | 'subtle';
6510
+ /**
6511
+ * The mode determines the platform behaviors of the component.
5648
6512
  */
5649
6513
  "mode"?: "ios" | "md";
6514
+ /**
6515
+ * 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.
6516
+ */
6517
+ "shape"?: 'soft' | 'round | rectangular';
6518
+ /**
6519
+ * 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.
6520
+ */
6521
+ "size"?: 'small' | 'medium' | 'large';
6522
+ /**
6523
+ * The theme determines the visual appearance of the component.
6524
+ */
6525
+ "theme"?: "ios" | "md" | "ionic";
6526
+ /**
6527
+ * 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.
6528
+ */
6529
+ "vertical"?: 'top' | 'bottom';
5650
6530
  }
5651
6531
  interface IonBreadcrumb {
5652
6532
  /**
@@ -5672,7 +6552,7 @@ declare namespace LocalJSX {
5672
6552
  */
5673
6553
  "href"?: string | undefined;
5674
6554
  /**
5675
- * The mode determines which platform styles to use.
6555
+ * The mode determines the platform behaviors of the component.
5676
6556
  */
5677
6557
  "mode"?: "ios" | "md";
5678
6558
  /**
@@ -5704,6 +6584,10 @@ declare namespace LocalJSX {
5704
6584
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5705
6585
  */
5706
6586
  "target"?: string | undefined;
6587
+ /**
6588
+ * The theme determines the visual appearance of the component.
6589
+ */
6590
+ "theme"?: "ios" | "md" | "ionic";
5707
6591
  }
5708
6592
  interface IonBreadcrumbs {
5709
6593
  /**
@@ -5725,13 +6609,17 @@ declare namespace LocalJSX {
5725
6609
  */
5726
6610
  "maxItems"?: number;
5727
6611
  /**
5728
- * The mode determines which platform styles to use.
6612
+ * The mode determines the platform behaviors of the component.
5729
6613
  */
5730
6614
  "mode"?: "ios" | "md";
5731
6615
  /**
5732
6616
  * Emitted when the collapsed indicator is clicked on.
5733
6617
  */
5734
6618
  "onIonCollapsedClick"?: (event: IonBreadcrumbsCustomEvent<BreadcrumbCollapsedClickEventDetail>) => void;
6619
+ /**
6620
+ * The theme determines the visual appearance of the component.
6621
+ */
6622
+ "theme"?: "ios" | "md" | "ionic";
5735
6623
  }
5736
6624
  interface IonButton {
5737
6625
  /**
@@ -5757,7 +6645,7 @@ declare namespace LocalJSX {
5757
6645
  */
5758
6646
  "expand"?: 'full' | 'block';
5759
6647
  /**
5760
- * 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"`.
6648
+ * 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"`.
5761
6649
  */
5762
6650
  "fill"?: 'clear' | 'outline' | 'solid' | 'default';
5763
6651
  /**
@@ -5769,7 +6657,7 @@ declare namespace LocalJSX {
5769
6657
  */
5770
6658
  "href"?: string | undefined;
5771
6659
  /**
5772
- * The mode determines which platform styles to use.
6660
+ * The mode determines the platform behaviors of the component.
5773
6661
  */
5774
6662
  "mode"?: "ios" | "md";
5775
6663
  /**
@@ -5794,13 +6682,13 @@ declare namespace LocalJSX {
5794
6682
  */
5795
6683
  "routerDirection"?: RouterDirection;
5796
6684
  /**
5797
- * Set to `"round"` for a button with more rounded corners.
6685
+ * 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.
5798
6686
  */
5799
- "shape"?: 'round';
6687
+ "shape"?: 'soft' | 'round' | 'rectangular';
5800
6688
  /**
5801
- * 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.
6689
+ * 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.
5802
6690
  */
5803
- "size"?: 'small' | 'default' | 'large';
6691
+ "size"?: 'small' | 'default' | 'medium' | 'large';
5804
6692
  /**
5805
6693
  * If `true`, activates a button with a heavier font weight.
5806
6694
  * @default false
@@ -5810,6 +6698,10 @@ declare namespace LocalJSX {
5810
6698
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5811
6699
  */
5812
6700
  "target"?: string | undefined;
6701
+ /**
6702
+ * The theme determines the visual appearance of the component.
6703
+ */
6704
+ "theme"?: "ios" | "md" | "ionic";
5813
6705
  /**
5814
6706
  * The type of the button.
5815
6707
  * @default 'button'
@@ -5818,10 +6710,18 @@ declare namespace LocalJSX {
5818
6710
  }
5819
6711
  interface IonButtons {
5820
6712
  /**
5821
- * 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)
6713
+ * 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)
5822
6714
  * @default false
5823
6715
  */
5824
6716
  "collapse"?: boolean;
6717
+ /**
6718
+ * The mode determines the platform behaviors of the component.
6719
+ */
6720
+ "mode"?: "ios" | "md";
6721
+ /**
6722
+ * The theme determines the visual appearance of the component.
6723
+ */
6724
+ "theme"?: "ios" | "md" | "ionic";
5825
6725
  }
5826
6726
  interface IonCard {
5827
6727
  /**
@@ -5847,7 +6747,7 @@ declare namespace LocalJSX {
5847
6747
  */
5848
6748
  "href"?: string | undefined;
5849
6749
  /**
5850
- * The mode determines which platform styles to use.
6750
+ * The mode determines the platform behaviors of the component.
5851
6751
  */
5852
6752
  "mode"?: "ios" | "md";
5853
6753
  /**
@@ -5863,10 +6763,19 @@ declare namespace LocalJSX {
5863
6763
  * @default 'forward'
5864
6764
  */
5865
6765
  "routerDirection"?: RouterDirection;
6766
+ /**
6767
+ * 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"`.
6768
+ * @default 'round'
6769
+ */
6770
+ "shape"?: 'soft' | 'round' | 'rectangular';
5866
6771
  /**
5867
6772
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5868
6773
  */
5869
6774
  "target"?: string | undefined;
6775
+ /**
6776
+ * The theme determines the visual appearance of the component.
6777
+ */
6778
+ "theme"?: "ios" | "md" | "ionic";
5870
6779
  /**
5871
6780
  * The type of the button. Only used when an `onclick` or `button` property is present.
5872
6781
  * @default 'button'
@@ -5875,9 +6784,13 @@ declare namespace LocalJSX {
5875
6784
  }
5876
6785
  interface IonCardContent {
5877
6786
  /**
5878
- * The mode determines which platform styles to use.
6787
+ * The mode determines the platform behaviors of the component.
5879
6788
  */
5880
6789
  "mode"?: "ios" | "md";
6790
+ /**
6791
+ * The theme determines the visual appearance of the component.
6792
+ */
6793
+ "theme"?: "ios" | "md" | "ionic";
5881
6794
  }
5882
6795
  interface IonCardHeader {
5883
6796
  /**
@@ -5885,11 +6798,15 @@ declare namespace LocalJSX {
5885
6798
  */
5886
6799
  "color"?: Color;
5887
6800
  /**
5888
- * The mode determines which platform styles to use.
6801
+ * The mode determines the platform behaviors of the component.
5889
6802
  */
5890
6803
  "mode"?: "ios" | "md";
5891
6804
  /**
5892
- * 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).
6805
+ * The theme determines the visual appearance of the component.
6806
+ */
6807
+ "theme"?: "ios" | "md" | "ionic";
6808
+ /**
6809
+ * 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).
5893
6810
  * @default false
5894
6811
  */
5895
6812
  "translucent"?: boolean;
@@ -5900,9 +6817,13 @@ declare namespace LocalJSX {
5900
6817
  */
5901
6818
  "color"?: Color;
5902
6819
  /**
5903
- * The mode determines which platform styles to use.
6820
+ * The mode determines the platform behaviors of the component.
5904
6821
  */
5905
6822
  "mode"?: "ios" | "md";
6823
+ /**
6824
+ * The theme determines the visual appearance of the component.
6825
+ */
6826
+ "theme"?: "ios" | "md" | "ionic";
5906
6827
  }
5907
6828
  interface IonCardTitle {
5908
6829
  /**
@@ -5910,9 +6831,13 @@ declare namespace LocalJSX {
5910
6831
  */
5911
6832
  "color"?: Color;
5912
6833
  /**
5913
- * The mode determines which platform styles to use.
6834
+ * The mode determines the platform behaviors of the component.
5914
6835
  */
5915
6836
  "mode"?: "ios" | "md";
6837
+ /**
6838
+ * The theme determines the visual appearance of the component.
6839
+ */
6840
+ "theme"?: "ios" | "md" | "ionic";
5916
6841
  }
5917
6842
  interface IonCheckbox {
5918
6843
  /**
@@ -5956,7 +6881,7 @@ declare namespace LocalJSX {
5956
6881
  */
5957
6882
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
5958
6883
  /**
5959
- * The mode determines which platform styles to use.
6884
+ * The mode determines the platform behaviors of the component.
5960
6885
  */
5961
6886
  "mode"?: "ios" | "md";
5962
6887
  /**
@@ -5969,7 +6894,7 @@ declare namespace LocalJSX {
5969
6894
  */
5970
6895
  "onIonBlur"?: (event: IonCheckboxCustomEvent<void>) => void;
5971
6896
  /**
5972
- * 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.
6897
+ * 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.
5973
6898
  */
5974
6899
  "onIonChange"?: (event: IonCheckboxCustomEvent<CheckboxChangeEventDetail>) => void;
5975
6900
  /**
@@ -5981,6 +6906,19 @@ declare namespace LocalJSX {
5981
6906
  * @default false
5982
6907
  */
5983
6908
  "required"?: boolean;
6909
+ /**
6910
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
6911
+ * @default 'soft'
6912
+ */
6913
+ "shape"?: 'soft' | 'rectangular';
6914
+ /**
6915
+ * Set to `"small"` for a checkbox with less height and padding.
6916
+ */
6917
+ "size"?: 'small';
6918
+ /**
6919
+ * The theme determines the visual appearance of the component.
6920
+ */
6921
+ "theme"?: "ios" | "md" | "ionic";
5984
6922
  /**
5985
6923
  * 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>`.
5986
6924
  * @default 'on'
@@ -5998,7 +6936,12 @@ declare namespace LocalJSX {
5998
6936
  */
5999
6937
  "disabled"?: boolean;
6000
6938
  /**
6001
- * The mode determines which platform styles to use.
6939
+ * 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.
6940
+ * @default 'subtle'
6941
+ */
6942
+ "hue"?: 'bold' | 'subtle';
6943
+ /**
6944
+ * The mode determines the platform behaviors of the component.
6002
6945
  */
6003
6946
  "mode"?: "ios" | "md";
6004
6947
  /**
@@ -6006,8 +6949,24 @@ declare namespace LocalJSX {
6006
6949
  * @default false
6007
6950
  */
6008
6951
  "outline"?: boolean;
6952
+ /**
6953
+ * 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.
6954
+ */
6955
+ "shape"?: 'soft' | 'round' | 'rectangular';
6956
+ /**
6957
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
6958
+ */
6959
+ "size"?: 'small' | 'large';
6960
+ /**
6961
+ * The theme determines the visual appearance of the component.
6962
+ */
6963
+ "theme"?: "ios" | "md" | "ionic";
6009
6964
  }
6010
6965
  interface IonCol {
6966
+ /**
6967
+ * The mode determines the platform behaviors of the component.
6968
+ */
6969
+ "mode"?: "ios" | "md";
6011
6970
  /**
6012
6971
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
6013
6972
  */
@@ -6032,52 +6991,88 @@ declare namespace LocalJSX {
6032
6991
  * 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.
6033
6992
  */
6034
6993
  "offsetXs"?: string;
6994
+ /**
6995
+ * 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.
6996
+ */
6997
+ "order"?: string;
6998
+ /**
6999
+ * 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.
7000
+ */
7001
+ "orderLg"?: string;
7002
+ /**
7003
+ * 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.
7004
+ */
7005
+ "orderMd"?: string;
7006
+ /**
7007
+ * 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.
7008
+ */
7009
+ "orderSm"?: string;
7010
+ /**
7011
+ * 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.
7012
+ */
7013
+ "orderXl"?: string;
7014
+ /**
7015
+ * 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.
7016
+ */
7017
+ "orderXs"?: string;
6035
7018
  /**
6036
7019
  * The amount to pull the column, in terms of how many columns it should shift to the start of the total available.
7020
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6037
7021
  */
6038
7022
  "pull"?: string;
6039
7023
  /**
6040
7024
  * 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.
7025
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6041
7026
  */
6042
7027
  "pullLg"?: string;
6043
7028
  /**
6044
7029
  * 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.
7030
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6045
7031
  */
6046
7032
  "pullMd"?: string;
6047
7033
  /**
6048
7034
  * 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.
7035
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6049
7036
  */
6050
7037
  "pullSm"?: string;
6051
7038
  /**
6052
7039
  * 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.
7040
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6053
7041
  */
6054
7042
  "pullXl"?: string;
6055
7043
  /**
6056
7044
  * 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.
7045
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6057
7046
  */
6058
7047
  "pullXs"?: string;
6059
7048
  /**
6060
7049
  * The amount to push the column, in terms of how many columns it should shift to the end of the total available.
7050
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6061
7051
  */
6062
7052
  "push"?: string;
6063
7053
  /**
6064
7054
  * 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.
7055
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6065
7056
  */
6066
7057
  "pushLg"?: string;
6067
7058
  /**
6068
7059
  * 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.
7060
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6069
7061
  */
6070
7062
  "pushMd"?: string;
6071
7063
  /**
6072
7064
  * 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.
7065
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6073
7066
  */
6074
7067
  "pushSm"?: string;
6075
7068
  /**
6076
7069
  * 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.
7070
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6077
7071
  */
6078
7072
  "pushXl"?: string;
6079
7073
  /**
6080
7074
  * 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.
7075
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
6081
7076
  */
6082
7077
  "pushXs"?: string;
6083
7078
  /**
@@ -6104,6 +7099,10 @@ declare namespace LocalJSX {
6104
7099
  * 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.
6105
7100
  */
6106
7101
  "sizeXs"?: string;
7102
+ /**
7103
+ * The theme determines the visual appearance of the component.
7104
+ */
7105
+ "theme"?: "ios" | "md" | "ionic";
6107
7106
  }
6108
7107
  interface IonContent {
6109
7108
  /**
@@ -6124,6 +7123,10 @@ declare namespace LocalJSX {
6124
7123
  * @default false
6125
7124
  */
6126
7125
  "fullscreen"?: boolean;
7126
+ /**
7127
+ * The mode determines the platform behaviors of the component.
7128
+ */
7129
+ "mode"?: "ios" | "md";
6127
7130
  /**
6128
7131
  * Emitted while scrolling. This event is disabled by default. Set `scrollEvents` to `true` to enable.
6129
7132
  */
@@ -6151,6 +7154,10 @@ declare namespace LocalJSX {
6151
7154
  * @default true
6152
7155
  */
6153
7156
  "scrollY"?: boolean;
7157
+ /**
7158
+ * The theme determines the visual appearance of the component.
7159
+ */
7160
+ "theme"?: "ios" | "md" | "ionic";
6154
7161
  }
6155
7162
  interface IonDatetime {
6156
7163
  /**
@@ -6225,7 +7232,7 @@ declare namespace LocalJSX {
6225
7232
  */
6226
7233
  "minuteValues"?: number[] | number | string;
6227
7234
  /**
6228
- * The mode determines which platform styles to use.
7235
+ * The mode determines the platform behaviors of the component.
6229
7236
  */
6230
7237
  "mode"?: "ios" | "md";
6231
7238
  /**
@@ -6303,6 +7310,10 @@ declare namespace LocalJSX {
6303
7310
  * @default 'fixed'
6304
7311
  */
6305
7312
  "size"?: 'cover' | 'fixed';
7313
+ /**
7314
+ * The theme determines the visual appearance of the component.
7315
+ */
7316
+ "theme"?: "ios" | "md" | "ionic";
6306
7317
  /**
6307
7318
  * 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.
6308
7319
  */
@@ -6332,9 +7343,25 @@ declare namespace LocalJSX {
6332
7343
  */
6333
7344
  "disabled"?: boolean;
6334
7345
  /**
6335
- * The mode determines which platform styles to use.
7346
+ * The mode determines the platform behaviors of the component.
6336
7347
  */
6337
7348
  "mode"?: "ios" | "md";
7349
+ /**
7350
+ * The theme determines the visual appearance of the component.
7351
+ */
7352
+ "theme"?: "ios" | "md" | "ionic";
7353
+ }
7354
+ interface IonDivider {
7355
+ /**
7356
+ * If `true`, the divider will have horizontal margins By default, it's `false`
7357
+ * @default false
7358
+ */
7359
+ "inset"?: boolean;
7360
+ /**
7361
+ * 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"`.
7362
+ * @default 'medium'
7363
+ */
7364
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
6338
7365
  }
6339
7366
  interface IonFab {
6340
7367
  /**
@@ -6351,6 +7378,14 @@ declare namespace LocalJSX {
6351
7378
  * Where to align the fab horizontally in the viewport.
6352
7379
  */
6353
7380
  "horizontal"?: 'start' | 'end' | 'center';
7381
+ /**
7382
+ * The mode determines the platform behaviors of the component.
7383
+ */
7384
+ "mode"?: "ios" | "md";
7385
+ /**
7386
+ * The theme determines the visual appearance of the component.
7387
+ */
7388
+ "theme"?: "ios" | "md" | "ionic";
6354
7389
  /**
6355
7390
  * Where to align the fab vertically in the viewport.
6356
7391
  */
@@ -6364,7 +7399,6 @@ declare namespace LocalJSX {
6364
7399
  "activated"?: boolean;
6365
7400
  /**
6366
7401
  * 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.
6367
- * @default close
6368
7402
  */
6369
7403
  "closeIcon"?: string;
6370
7404
  /**
@@ -6385,7 +7419,7 @@ declare namespace LocalJSX {
6385
7419
  */
6386
7420
  "href"?: string | undefined;
6387
7421
  /**
6388
- * The mode determines which platform styles to use.
7422
+ * The mode determines the platform behaviors of the component.
6389
7423
  */
6390
7424
  "mode"?: "ios" | "md";
6391
7425
  /**
@@ -6423,7 +7457,11 @@ declare namespace LocalJSX {
6423
7457
  */
6424
7458
  "target"?: string | undefined;
6425
7459
  /**
6426
- * 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).
7460
+ * The theme determines the visual appearance of the component.
7461
+ */
7462
+ "theme"?: "ios" | "md" | "ionic";
7463
+ /**
7464
+ * 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).
6427
7465
  * @default false
6428
7466
  */
6429
7467
  "translucent"?: boolean;
@@ -6439,45 +7477,113 @@ declare namespace LocalJSX {
6439
7477
  * @default false
6440
7478
  */
6441
7479
  "activated"?: boolean;
7480
+ /**
7481
+ * The mode determines the platform behaviors of the component.
7482
+ */
7483
+ "mode"?: "ios" | "md";
6442
7484
  /**
6443
7485
  * The side the fab list will show on relative to the main fab button.
6444
7486
  * @default 'bottom'
6445
7487
  */
6446
7488
  "side"?: 'start' | 'end' | 'top' | 'bottom';
7489
+ /**
7490
+ * The theme determines the visual appearance of the component.
7491
+ */
7492
+ "theme"?: "ios" | "md" | "ionic";
6447
7493
  }
6448
7494
  interface IonFooter {
6449
7495
  /**
6450
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
7496
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
6451
7497
  */
6452
7498
  "collapse"?: 'fade';
6453
7499
  /**
6454
- * The mode determines which platform styles to use.
7500
+ * The mode determines the platform behaviors of the component.
6455
7501
  */
6456
7502
  "mode"?: "ios" | "md";
6457
7503
  /**
6458
- * 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.
7504
+ * The theme determines the visual appearance of the component.
7505
+ */
7506
+ "theme"?: "ios" | "md" | "ionic";
7507
+ /**
7508
+ * 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.
6459
7509
  * @default false
6460
7510
  */
6461
7511
  "translucent"?: boolean;
6462
7512
  }
7513
+ interface IonGallery {
7514
+ /**
7515
+ * 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 }`).
7516
+ * @default { xs: 2, sm: 3, md: 4, lg: 6, xl: 8, xxl: 10, }
7517
+ */
7518
+ "columns"?: GalleryColumns;
7519
+ /**
7520
+ * 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.
7521
+ * @default '16px'
7522
+ */
7523
+ "gap"?: GalleryGap;
7524
+ /**
7525
+ * 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.
7526
+ * @default 'uniform'
7527
+ */
7528
+ "layout"?: 'uniform' | 'masonry';
7529
+ /**
7530
+ * The mode determines the platform behaviors of the component.
7531
+ */
7532
+ "mode"?: "ios" | "md";
7533
+ /**
7534
+ * 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.
7535
+ */
7536
+ "order"?: 'sequential' | 'best-fit';
7537
+ /**
7538
+ * The theme determines the visual appearance of the component.
7539
+ */
7540
+ "theme"?: "ios" | "md" | "ionic";
7541
+ }
7542
+ interface IonGalleryItem {
7543
+ /**
7544
+ * The mode determines the platform behaviors of the component.
7545
+ */
7546
+ "mode"?: "ios" | "md";
7547
+ /**
7548
+ * The theme determines the visual appearance of the component.
7549
+ */
7550
+ "theme"?: "ios" | "md" | "ionic";
7551
+ }
6463
7552
  interface IonGrid {
6464
7553
  /**
6465
7554
  * If `true`, the grid will have a fixed width based on the screen size.
6466
7555
  * @default false
6467
7556
  */
6468
7557
  "fixed"?: boolean;
7558
+ /**
7559
+ * The mode determines the platform behaviors of the component.
7560
+ */
7561
+ "mode"?: "ios" | "md";
7562
+ /**
7563
+ * The theme determines the visual appearance of the component.
7564
+ */
7565
+ "theme"?: "ios" | "md" | "ionic";
6469
7566
  }
6470
7567
  interface IonHeader {
6471
7568
  /**
6472
- * 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)
7569
+ * 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)
6473
7570
  */
6474
7571
  "collapse"?: 'condense' | 'fade';
6475
7572
  /**
6476
- * The mode determines which platform styles to use.
7573
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
7574
+ * @default false
7575
+ */
7576
+ "divider"?: boolean;
7577
+ /**
7578
+ * The mode determines the platform behaviors of the component.
6477
7579
  */
6478
7580
  "mode"?: "ios" | "md";
6479
7581
  /**
6480
- * 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.
7582
+ * The theme determines the visual appearance of the component.
7583
+ */
7584
+ "theme"?: "ios" | "md" | "ionic";
7585
+ /**
7586
+ * 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.
6481
7587
  * @default false
6482
7588
  */
6483
7589
  "translucent"?: boolean;
@@ -6487,6 +7593,10 @@ declare namespace LocalJSX {
6487
7593
  * 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.
6488
7594
  */
6489
7595
  "alt"?: string;
7596
+ /**
7597
+ * The mode determines the platform behaviors of the component.
7598
+ */
7599
+ "mode"?: "ios" | "md";
6490
7600
  /**
6491
7601
  * Emitted when the img fails to load
6492
7602
  */
@@ -6503,6 +7613,10 @@ declare namespace LocalJSX {
6503
7613
  * The image URL. This attribute is mandatory for the `<img>` element.
6504
7614
  */
6505
7615
  "src"?: string;
7616
+ /**
7617
+ * The theme determines the visual appearance of the component.
7618
+ */
7619
+ "theme"?: "ios" | "md" | "ionic";
6506
7620
  }
6507
7621
  interface IonInfiniteScroll {
6508
7622
  /**
@@ -6510,6 +7624,10 @@ declare namespace LocalJSX {
6510
7624
  * @default false
6511
7625
  */
6512
7626
  "disabled"?: boolean;
7627
+ /**
7628
+ * The mode determines the platform behaviors of the component.
7629
+ */
7630
+ "mode"?: "ios" | "md";
6513
7631
  /**
6514
7632
  * 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.
6515
7633
  */
@@ -6519,6 +7637,15 @@ declare namespace LocalJSX {
6519
7637
  * @default 'bottom'
6520
7638
  */
6521
7639
  "position"?: 'top' | 'bottom';
7640
+ /**
7641
+ * 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.
7642
+ * @default false
7643
+ */
7644
+ "preserveRerenderScrollPosition"?: boolean;
7645
+ /**
7646
+ * The theme determines the visual appearance of the component.
7647
+ */
7648
+ "theme"?: "ios" | "md" | "ionic";
6522
7649
  /**
6523
7650
  * 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.
6524
7651
  * @default '15%'
@@ -6534,6 +7661,14 @@ declare namespace LocalJSX {
6534
7661
  * 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.
6535
7662
  */
6536
7663
  "loadingText"?: string | IonicSafeString;
7664
+ /**
7665
+ * The mode determines the platform behaviors of the component.
7666
+ */
7667
+ "mode"?: "ios" | "md";
7668
+ /**
7669
+ * The theme determines the visual appearance of the component.
7670
+ */
7671
+ "theme"?: "ios" | "md" | "ionic";
6537
7672
  }
6538
7673
  interface IonInput {
6539
7674
  /**
@@ -6600,7 +7735,7 @@ declare namespace LocalJSX {
6600
7735
  */
6601
7736
  "errorText"?: string;
6602
7737
  /**
6603
- * 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.
7738
+ * 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"`.
6604
7739
  */
6605
7740
  "fill"?: 'outline' | 'solid';
6606
7741
  /**
@@ -6616,8 +7751,7 @@ declare namespace LocalJSX {
6616
7751
  */
6617
7752
  "label"?: string;
6618
7753
  /**
6619
- * 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 ("...").
6620
- * @default 'start'
7754
+ * 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.
6621
7755
  */
6622
7756
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
6623
7757
  /**
@@ -6637,7 +7771,7 @@ declare namespace LocalJSX {
6637
7771
  */
6638
7772
  "minlength"?: number;
6639
7773
  /**
6640
- * The mode determines which platform styles to use.
7774
+ * The mode determines the platform behaviors of the component.
6641
7775
  */
6642
7776
  "mode"?: "ios" | "md";
6643
7777
  /**
@@ -6684,9 +7818,14 @@ declare namespace LocalJSX {
6684
7818
  */
6685
7819
  "required"?: boolean;
6686
7820
  /**
6687
- * The shape of the input. If "round" it will have an increased border radius.
7821
+ * 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"`.
7822
+ */
7823
+ "shape"?: 'soft' | 'round' | 'rectangular';
7824
+ /**
7825
+ * 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.
7826
+ * @default 'medium'
6688
7827
  */
6689
- "shape"?: 'round';
7828
+ "size"?: 'medium' | 'large' | 'xlarge';
6690
7829
  /**
6691
7830
  * If `true`, the element will have its spelling and grammar checked.
6692
7831
  * @default false
@@ -6696,6 +7835,10 @@ declare namespace LocalJSX {
6696
7835
  * 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.
6697
7836
  */
6698
7837
  "step"?: string;
7838
+ /**
7839
+ * The theme determines the visual appearance of the component.
7840
+ */
7841
+ "theme"?: "ios" | "md" | "ionic";
6699
7842
  /**
6700
7843
  * The type of control to display. The default type is text.
6701
7844
  * @default 'text'
@@ -6727,6 +7870,10 @@ declare namespace LocalJSX {
6727
7870
  * @default 'outline'
6728
7871
  */
6729
7872
  "fill"?: 'outline' | 'solid';
7873
+ /**
7874
+ * The `id` of a `<form>` element to associate this element with.
7875
+ */
7876
+ "form"?: string;
6730
7877
  /**
6731
7878
  * 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"
6732
7879
  */
@@ -6736,6 +7883,14 @@ declare namespace LocalJSX {
6736
7883
  * @default 4
6737
7884
  */
6738
7885
  "length"?: number;
7886
+ /**
7887
+ * The mode determines the platform behaviors of the component.
7888
+ */
7889
+ "mode"?: "ios" | "md";
7890
+ /**
7891
+ * The name of the element, used when submitting an HTML form.
7892
+ */
7893
+ "name"?: string;
6739
7894
  /**
6740
7895
  * Emitted when the input group loses focus.
6741
7896
  */
@@ -6779,6 +7934,10 @@ declare namespace LocalJSX {
6779
7934
  * @default 'medium'
6780
7935
  */
6781
7936
  "size"?: 'small' | 'medium' | 'large';
7937
+ /**
7938
+ * The theme determines the visual appearance of the component.
7939
+ */
7940
+ "theme"?: "ios" | "md" | "ionic";
6782
7941
  /**
6783
7942
  * The type of input allowed in the input boxes.
6784
7943
  * @default 'number'
@@ -6819,12 +7978,11 @@ declare namespace LocalJSX {
6819
7978
  */
6820
7979
  "color"?: Color;
6821
7980
  /**
6822
- * 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.
7981
+ * 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.
6823
7982
  */
6824
7983
  "detail"?: boolean;
6825
7984
  /**
6826
7985
  * The icon to use when `detail` is set to `true`.
6827
- * @default chevronForward
6828
7986
  */
6829
7987
  "detailIcon"?: string;
6830
7988
  /**
@@ -6845,7 +8003,7 @@ declare namespace LocalJSX {
6845
8003
  */
6846
8004
  "lines"?: 'full' | 'inset' | 'none';
6847
8005
  /**
6848
- * The mode determines which platform styles to use.
8006
+ * The mode determines the platform behaviors of the component.
6849
8007
  */
6850
8008
  "mode"?: "ios" | "md";
6851
8009
  /**
@@ -6865,6 +8023,10 @@ declare namespace LocalJSX {
6865
8023
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6866
8024
  */
6867
8025
  "target"?: string | undefined;
8026
+ /**
8027
+ * The theme determines the visual appearance of the component.
8028
+ */
8029
+ "theme"?: "ios" | "md" | "ionic";
6868
8030
  /**
6869
8031
  * The type of the button. Only used when an `onclick` or `button` property is present.
6870
8032
  * @default 'button'
@@ -6877,7 +8039,7 @@ declare namespace LocalJSX {
6877
8039
  */
6878
8040
  "color"?: Color;
6879
8041
  /**
6880
- * The mode determines which platform styles to use.
8042
+ * The mode determines the platform behaviors of the component.
6881
8043
  */
6882
8044
  "mode"?: "ios" | "md";
6883
8045
  /**
@@ -6885,8 +8047,20 @@ declare namespace LocalJSX {
6885
8047
  * @default false
6886
8048
  */
6887
8049
  "sticky"?: boolean;
8050
+ /**
8051
+ * The theme determines the visual appearance of the component.
8052
+ */
8053
+ "theme"?: "ios" | "md" | "ionic";
6888
8054
  }
6889
8055
  interface IonItemGroup {
8056
+ /**
8057
+ * The mode determines the platform behaviors of the component.
8058
+ */
8059
+ "mode"?: "ios" | "md";
8060
+ /**
8061
+ * The theme determines the visual appearance of the component.
8062
+ */
8063
+ "theme"?: "ios" | "md" | "ionic";
6890
8064
  }
6891
8065
  interface IonItemOption {
6892
8066
  /**
@@ -6912,17 +8086,30 @@ declare namespace LocalJSX {
6912
8086
  */
6913
8087
  "href"?: string | undefined;
6914
8088
  /**
6915
- * The mode determines which platform styles to use.
8089
+ * 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.
8090
+ * @default 'subtle'
8091
+ */
8092
+ "hue"?: 'bold' | 'subtle';
8093
+ /**
8094
+ * The mode determines the platform behaviors of the component.
6916
8095
  */
6917
8096
  "mode"?: "ios" | "md";
6918
8097
  /**
6919
8098
  * 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).
6920
8099
  */
6921
8100
  "rel"?: string | undefined;
8101
+ /**
8102
+ * 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.
8103
+ */
8104
+ "shape"?: 'soft' | 'round' | 'rectangular';
6922
8105
  /**
6923
8106
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6924
8107
  */
6925
8108
  "target"?: string | undefined;
8109
+ /**
8110
+ * The theme determines the visual appearance of the component.
8111
+ */
8112
+ "theme"?: "ios" | "md" | "ionic";
6926
8113
  /**
6927
8114
  * The type of the button.
6928
8115
  * @default 'button'
@@ -6930,6 +8117,10 @@ declare namespace LocalJSX {
6930
8117
  "type"?: 'submit' | 'reset' | 'button';
6931
8118
  }
6932
8119
  interface IonItemOptions {
8120
+ /**
8121
+ * The mode determines the platform behaviors of the component.
8122
+ */
8123
+ "mode"?: "ios" | "md";
6933
8124
  /**
6934
8125
  * Emitted when the item has been fully swiped.
6935
8126
  */
@@ -6939,6 +8130,10 @@ declare namespace LocalJSX {
6939
8130
  * @default 'end'
6940
8131
  */
6941
8132
  "side"?: Side;
8133
+ /**
8134
+ * The theme determines the visual appearance of the component.
8135
+ */
8136
+ "theme"?: "ios" | "md" | "ionic";
6942
8137
  }
6943
8138
  interface IonItemSliding {
6944
8139
  /**
@@ -6946,10 +8141,18 @@ declare namespace LocalJSX {
6946
8141
  * @default false
6947
8142
  */
6948
8143
  "disabled"?: boolean;
8144
+ /**
8145
+ * The mode determines the platform behaviors of the component.
8146
+ */
8147
+ "mode"?: "ios" | "md";
6949
8148
  /**
6950
8149
  * Emitted when the sliding position changes.
6951
8150
  */
6952
8151
  "onIonDrag"?: (event: IonItemSlidingCustomEvent<any>) => void;
8152
+ /**
8153
+ * The theme determines the visual appearance of the component.
8154
+ */
8155
+ "theme"?: "ios" | "md" | "ionic";
6953
8156
  }
6954
8157
  interface IonLabel {
6955
8158
  /**
@@ -6957,13 +8160,17 @@ declare namespace LocalJSX {
6957
8160
  */
6958
8161
  "color"?: Color;
6959
8162
  /**
6960
- * The mode determines which platform styles to use.
8163
+ * The mode determines the platform behaviors of the component.
6961
8164
  */
6962
8165
  "mode"?: "ios" | "md";
6963
8166
  /**
6964
8167
  * The position determines where and how the label behaves inside an item.
6965
8168
  */
6966
8169
  "position"?: 'fixed' | 'stacked' | 'floating';
8170
+ /**
8171
+ * The theme determines the visual appearance of the component.
8172
+ */
8173
+ "theme"?: "ios" | "md" | "ionic";
6967
8174
  }
6968
8175
  interface IonList {
6969
8176
  /**
@@ -6976,9 +8183,17 @@ declare namespace LocalJSX {
6976
8183
  */
6977
8184
  "lines"?: 'full' | 'inset' | 'none';
6978
8185
  /**
6979
- * The mode determines which platform styles to use.
8186
+ * The mode determines the platform behaviors of the component.
6980
8187
  */
6981
8188
  "mode"?: "ios" | "md";
8189
+ /**
8190
+ * 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.
8191
+ */
8192
+ "shape"?: 'soft' | 'round' | 'rectangular';
8193
+ /**
8194
+ * The theme determines the visual appearance of the component.
8195
+ */
8196
+ "theme"?: "ios" | "md" | "ionic";
6982
8197
  }
6983
8198
  interface IonListHeader {
6984
8199
  /**
@@ -6990,9 +8205,13 @@ declare namespace LocalJSX {
6990
8205
  */
6991
8206
  "lines"?: 'full' | 'inset' | 'none';
6992
8207
  /**
6993
- * The mode determines which platform styles to use.
8208
+ * The mode determines the platform behaviors of the component.
6994
8209
  */
6995
8210
  "mode"?: "ios" | "md";
8211
+ /**
8212
+ * The theme determines the visual appearance of the component.
8213
+ */
8214
+ "theme"?: "ios" | "md" | "ionic";
6996
8215
  }
6997
8216
  interface IonLoading {
6998
8217
  /**
@@ -7041,7 +8260,7 @@ declare namespace LocalJSX {
7041
8260
  */
7042
8261
  "message"?: string | IonicSafeString;
7043
8262
  /**
7044
- * The mode determines which platform styles to use.
8263
+ * The mode determines the platform behaviors of the component.
7045
8264
  */
7046
8265
  "mode"?: "ios" | "md";
7047
8266
  /**
@@ -7086,7 +8305,11 @@ declare namespace LocalJSX {
7086
8305
  */
7087
8306
  "spinner"?: SpinnerTypes | null;
7088
8307
  /**
7089
- * 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).
8308
+ * The theme determines the visual appearance of the component.
8309
+ */
8310
+ "theme"?: "ios" | "md" | "ionic";
8311
+ /**
8312
+ * 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).
7090
8313
  * @default false
7091
8314
  */
7092
8315
  "translucent"?: boolean;
@@ -7114,6 +8337,10 @@ declare namespace LocalJSX {
7114
8337
  * An id for the menu.
7115
8338
  */
7116
8339
  "menuId"?: string;
8340
+ /**
8341
+ * The mode determines the platform behaviors of the component.
8342
+ */
8343
+ "mode"?: "ios" | "md";
7117
8344
  /**
7118
8345
  * Emitted when the menu is closed.
7119
8346
  */
@@ -7140,6 +8367,10 @@ declare namespace LocalJSX {
7140
8367
  * @default true
7141
8368
  */
7142
8369
  "swipeGesture"?: boolean;
8370
+ /**
8371
+ * The theme determines the visual appearance of the component.
8372
+ */
8373
+ "theme"?: "ios" | "md" | "ionic";
7143
8374
  /**
7144
8375
  * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
7145
8376
  */
@@ -7165,9 +8396,13 @@ declare namespace LocalJSX {
7165
8396
  */
7166
8397
  "menu"?: string;
7167
8398
  /**
7168
- * The mode determines which platform styles to use.
8399
+ * The mode determines the platform behaviors of the component.
7169
8400
  */
7170
8401
  "mode"?: "ios" | "md";
8402
+ /**
8403
+ * The theme determines the visual appearance of the component.
8404
+ */
8405
+ "theme"?: "ios" | "md" | "ionic";
7171
8406
  /**
7172
8407
  * The type of the button.
7173
8408
  * @default 'button'
@@ -7184,6 +8419,14 @@ declare namespace LocalJSX {
7184
8419
  * 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.
7185
8420
  */
7186
8421
  "menu"?: string;
8422
+ /**
8423
+ * The mode determines the platform behaviors of the component.
8424
+ */
8425
+ "mode"?: "ios" | "md";
8426
+ /**
8427
+ * The theme determines the visual appearance of the component.
8428
+ */
8429
+ "theme"?: "ios" | "md" | "ionic";
7187
8430
  }
7188
8431
  interface IonModal {
7189
8432
  /**
@@ -7261,7 +8504,7 @@ declare namespace LocalJSX {
7261
8504
  */
7262
8505
  "leaveAnimation"?: AnimationBuilder;
7263
8506
  /**
7264
- * The mode determines which platform styles to use.
8507
+ * The mode determines the platform behaviors of the component.
7265
8508
  */
7266
8509
  "mode"?: "ios" | "md";
7267
8510
  /**
@@ -7316,11 +8559,19 @@ declare namespace LocalJSX {
7316
8559
  * 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.
7317
8560
  */
7318
8561
  "presentingElement"?: HTMLElement;
8562
+ /**
8563
+ * 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.
8564
+ */
8565
+ "shape"?: 'soft' | 'round' | 'rectangular';
7319
8566
  /**
7320
8567
  * 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.
7321
8568
  * @default true
7322
8569
  */
7323
8570
  "showBackdrop"?: boolean;
8571
+ /**
8572
+ * The theme determines the visual appearance of the component.
8573
+ */
8574
+ "theme"?: "ios" | "md" | "ionic";
7324
8575
  /**
7325
8576
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
7326
8577
  */
@@ -7333,9 +8584,13 @@ declare namespace LocalJSX {
7333
8584
  */
7334
8585
  "animated"?: boolean;
7335
8586
  /**
7336
- * 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.
8587
+ * 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.
7337
8588
  */
7338
8589
  "animation"?: AnimationBuilder;
8590
+ /**
8591
+ * The mode determines the platform behaviors of the component.
8592
+ */
8593
+ "mode"?: "ios" | "md";
7339
8594
  /**
7340
8595
  * Event fired when the nav has changed components
7341
8596
  */
@@ -7356,6 +8611,10 @@ declare namespace LocalJSX {
7356
8611
  * If the nav component should allow for swipe-to-go-back.
7357
8612
  */
7358
8613
  "swipeGesture"?: boolean;
8614
+ /**
8615
+ * The theme determines the visual appearance of the component.
8616
+ */
8617
+ "theme"?: "ios" | "md" | "ionic";
7359
8618
  }
7360
8619
  interface IonNavLink {
7361
8620
  /**
@@ -7366,6 +8625,10 @@ declare namespace LocalJSX {
7366
8625
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
7367
8626
  */
7368
8627
  "componentProps"?: ComponentProps;
8628
+ /**
8629
+ * The mode determines the platform behaviors of the component.
8630
+ */
8631
+ "mode"?: "ios" | "md";
7369
8632
  /**
7370
8633
  * The transition animation when navigating to another page.
7371
8634
  */
@@ -7375,6 +8638,10 @@ declare namespace LocalJSX {
7375
8638
  * @default 'forward'
7376
8639
  */
7377
8640
  "routerDirection"?: RouterDirection;
8641
+ /**
8642
+ * The theme determines the visual appearance of the component.
8643
+ */
8644
+ "theme"?: "ios" | "md" | "ionic";
7378
8645
  }
7379
8646
  interface IonNote {
7380
8647
  /**
@@ -7382,15 +8649,23 @@ declare namespace LocalJSX {
7382
8649
  */
7383
8650
  "color"?: Color;
7384
8651
  /**
7385
- * The mode determines which platform styles to use.
8652
+ * The mode determines the platform behaviors of the component.
7386
8653
  */
7387
8654
  "mode"?: "ios" | "md";
8655
+ /**
8656
+ * The theme determines the visual appearance of the component.
8657
+ */
8658
+ "theme"?: "ios" | "md" | "ionic";
7388
8659
  }
7389
8660
  interface IonPicker {
7390
8661
  /**
7391
- * The mode determines which platform styles to use.
8662
+ * The mode determines the platform behaviors of the component.
7392
8663
  */
7393
8664
  "mode"?: "ios" | "md";
8665
+ /**
8666
+ * The theme determines the visual appearance of the component.
8667
+ */
8668
+ "theme"?: "ios" | "md" | "ionic";
7394
8669
  }
7395
8670
  interface IonPickerColumn {
7396
8671
  /**
@@ -7404,13 +8679,17 @@ declare namespace LocalJSX {
7404
8679
  */
7405
8680
  "disabled"?: boolean;
7406
8681
  /**
7407
- * The mode determines which platform styles to use.
8682
+ * The mode determines the platform behaviors of the component.
7408
8683
  */
7409
8684
  "mode"?: "ios" | "md";
7410
8685
  /**
7411
8686
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7412
8687
  */
7413
8688
  "onIonChange"?: (event: IonPickerColumnCustomEvent<PickerColumnChangeEventDetail>) => void;
8689
+ /**
8690
+ * The theme determines the visual appearance of the component.
8691
+ */
8692
+ "theme"?: "ios" | "md" | "ionic";
7414
8693
  /**
7415
8694
  * The selected option in the picker.
7416
8695
  */
@@ -7427,6 +8706,14 @@ declare namespace LocalJSX {
7427
8706
  * @default false
7428
8707
  */
7429
8708
  "disabled"?: boolean;
8709
+ /**
8710
+ * The mode determines the platform behaviors of the component.
8711
+ */
8712
+ "mode"?: "ios" | "md";
8713
+ /**
8714
+ * The theme determines the visual appearance of the component.
8715
+ */
8716
+ "theme"?: "ios" | "md" | "ionic";
7430
8717
  /**
7431
8718
  * The text value of the option.
7432
8719
  */
@@ -7485,7 +8772,7 @@ declare namespace LocalJSX {
7485
8772
  */
7486
8773
  "leaveAnimation"?: AnimationBuilder;
7487
8774
  /**
7488
- * The mode determines which platform styles to use.
8775
+ * The mode determines the platform behaviors of the component.
7489
8776
  */
7490
8777
  "mode"?: "ios" | "md";
7491
8778
  /**
@@ -7525,6 +8812,10 @@ declare namespace LocalJSX {
7525
8812
  * @default true
7526
8813
  */
7527
8814
  "showBackdrop"?: boolean;
8815
+ /**
8816
+ * The theme determines the visual appearance of the component.
8817
+ */
8818
+ "theme"?: "ios" | "md" | "ionic";
7528
8819
  /**
7529
8820
  * An ID corresponding to the trigger element that causes the picker to open when clicked.
7530
8821
  */
@@ -7538,7 +8829,7 @@ declare namespace LocalJSX {
7538
8829
  }
7539
8830
  interface IonPopover {
7540
8831
  /**
7541
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
8832
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
7542
8833
  */
7543
8834
  "alignment"?: PositionAlign;
7544
8835
  /**
@@ -7547,7 +8838,7 @@ declare namespace LocalJSX {
7547
8838
  */
7548
8839
  "animated"?: boolean;
7549
8840
  /**
7550
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
8841
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
7551
8842
  * @default true
7552
8843
  */
7553
8844
  "arrow"?: boolean;
@@ -7606,7 +8897,7 @@ declare namespace LocalJSX {
7606
8897
  */
7607
8898
  "leaveAnimation"?: AnimationBuilder;
7608
8899
  /**
7609
- * The mode determines which platform styles to use.
8900
+ * The mode determines the platform behaviors of the component.
7610
8901
  */
7611
8902
  "mode"?: "ios" | "md";
7612
8903
  /**
@@ -7662,7 +8953,11 @@ declare namespace LocalJSX {
7662
8953
  */
7663
8954
  "size"?: PopoverSize;
7664
8955
  /**
7665
- * 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).
8956
+ * The theme determines the visual appearance of the component.
8957
+ */
8958
+ "theme"?: "ios" | "md" | "ionic";
8959
+ /**
8960
+ * 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).
7666
8961
  * @default false
7667
8962
  */
7668
8963
  "translucent"?: boolean;
@@ -7687,7 +8982,7 @@ declare namespace LocalJSX {
7687
8982
  */
7688
8983
  "color"?: Color;
7689
8984
  /**
7690
- * The mode determines which platform styles to use.
8985
+ * The mode determines the platform behaviors of the component.
7691
8986
  */
7692
8987
  "mode"?: "ios" | "md";
7693
8988
  /**
@@ -7695,6 +8990,14 @@ declare namespace LocalJSX {
7695
8990
  * @default false
7696
8991
  */
7697
8992
  "reversed"?: boolean;
8993
+ /**
8994
+ * 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.
8995
+ */
8996
+ "shape"?: 'round' | 'rectangular';
8997
+ /**
8998
+ * The theme determines the visual appearance of the component.
8999
+ */
9000
+ "theme"?: "ios" | "md" | "ionic";
7698
9001
  /**
7699
9002
  * 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).
7700
9003
  * @default 'determinate'
@@ -7730,7 +9033,7 @@ declare namespace LocalJSX {
7730
9033
  */
7731
9034
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
7732
9035
  /**
7733
- * The mode determines which platform styles to use.
9036
+ * The mode determines the platform behaviors of the component.
7734
9037
  */
7735
9038
  "mode"?: "ios" | "md";
7736
9039
  /**
@@ -7746,6 +9049,10 @@ declare namespace LocalJSX {
7746
9049
  * Emitted when the radio button has focus.
7747
9050
  */
7748
9051
  "onIonFocus"?: (event: IonRadioCustomEvent<void>) => void;
9052
+ /**
9053
+ * The theme determines the visual appearance of the component.
9054
+ */
9055
+ "theme"?: "ios" | "md" | "ionic";
7749
9056
  /**
7750
9057
  * the value of the radio.
7751
9058
  */
@@ -7769,6 +9076,10 @@ declare namespace LocalJSX {
7769
9076
  * The helper text to display at the top of the radio group.
7770
9077
  */
7771
9078
  "helperText"?: string;
9079
+ /**
9080
+ * The mode determines the platform behaviors of the component.
9081
+ */
9082
+ "mode"?: "ios" | "md";
7772
9083
  /**
7773
9084
  * The name of the control, which is submitted with the form data.
7774
9085
  * @default this.inputId
@@ -7778,6 +9089,10 @@ declare namespace LocalJSX {
7778
9089
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7779
9090
  */
7780
9091
  "onIonChange"?: (event: IonRadioGroupCustomEvent<RadioGroupChangeEventDetail>) => void;
9092
+ /**
9093
+ * The theme determines the visual appearance of the component.
9094
+ */
9095
+ "theme"?: "ios" | "md" | "ionic";
7781
9096
  /**
7782
9097
  * the value of the radio group.
7783
9098
  */
@@ -7826,7 +9141,7 @@ declare namespace LocalJSX {
7826
9141
  */
7827
9142
  "min"?: number;
7828
9143
  /**
7829
- * The mode determines which platform styles to use.
9144
+ * The mode determines the platform behaviors of the component.
7830
9145
  */
7831
9146
  "mode"?: "ios" | "md";
7832
9147
  /**
@@ -7878,6 +9193,10 @@ declare namespace LocalJSX {
7878
9193
  * @default 1
7879
9194
  */
7880
9195
  "step"?: number;
9196
+ /**
9197
+ * The theme determines the visual appearance of the component.
9198
+ */
9199
+ "theme"?: "ios" | "md" | "ionic";
7881
9200
  /**
7882
9201
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
7883
9202
  * @default true
@@ -7901,7 +9220,7 @@ declare namespace LocalJSX {
7901
9220
  */
7902
9221
  "disabled"?: boolean;
7903
9222
  /**
7904
- * The mode determines which platform styles to use.
9223
+ * The mode determines the platform behaviors of the component.
7905
9224
  */
7906
9225
  "mode"?: "ios" | "md";
7907
9226
  /**
@@ -7945,8 +9264,16 @@ declare namespace LocalJSX {
7945
9264
  * @default '280ms'
7946
9265
  */
7947
9266
  "snapbackDuration"?: string;
9267
+ /**
9268
+ * The theme determines the visual appearance of the component.
9269
+ */
9270
+ "theme"?: "ios" | "md" | "ionic";
7948
9271
  }
7949
9272
  interface IonRefresherContent {
9273
+ /**
9274
+ * The mode determines the platform behaviors of the component.
9275
+ */
9276
+ "mode"?: "ios" | "md";
7950
9277
  /**
7951
9278
  * 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.
7952
9279
  */
@@ -7963,8 +9290,20 @@ declare namespace LocalJSX {
7963
9290
  * 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.
7964
9291
  */
7965
9292
  "refreshingText"?: string | IonicSafeString;
9293
+ /**
9294
+ * The theme determines the visual appearance of the component.
9295
+ */
9296
+ "theme"?: "ios" | "md" | "ionic";
7966
9297
  }
7967
9298
  interface IonReorder {
9299
+ /**
9300
+ * The mode determines the platform behaviors of the component.
9301
+ */
9302
+ "mode"?: "ios" | "md";
9303
+ /**
9304
+ * The theme determines the visual appearance of the component.
9305
+ */
9306
+ "theme"?: "ios" | "md" | "ionic";
7968
9307
  }
7969
9308
  interface IonReorderGroup {
7970
9309
  /**
@@ -7972,6 +9311,10 @@ declare namespace LocalJSX {
7972
9311
  * @default true
7973
9312
  */
7974
9313
  "disabled"?: boolean;
9314
+ /**
9315
+ * The mode determines the platform behaviors of the component.
9316
+ */
9317
+ "mode"?: "ios" | "md";
7975
9318
  /**
7976
9319
  * Event that needs to be listened to in order to complete the reorder action.
7977
9320
  * @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.
@@ -7989,8 +9332,20 @@ declare namespace LocalJSX {
7989
9332
  * Event that is emitted when the reorder gesture starts.
7990
9333
  */
7991
9334
  "onIonReorderStart"?: (event: IonReorderGroupCustomEvent<void>) => void;
9335
+ /**
9336
+ * The theme determines the visual appearance of the component.
9337
+ */
9338
+ "theme"?: "ios" | "md" | "ionic";
7992
9339
  }
7993
9340
  interface IonRippleEffect {
9341
+ /**
9342
+ * The mode determines the platform behaviors of the component.
9343
+ */
9344
+ "mode"?: "ios" | "md";
9345
+ /**
9346
+ * The theme determines the visual appearance of the component.
9347
+ */
9348
+ "theme"?: "ios" | "md" | "ionic";
7994
9349
  /**
7995
9350
  * 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.
7996
9351
  * @default 'bounded'
@@ -8014,10 +9369,18 @@ declare namespace LocalJSX {
8014
9369
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
8015
9370
  */
8016
9371
  "componentProps"?: { [key: string]: any };
9372
+ /**
9373
+ * The mode determines the platform behaviors of the component.
9374
+ */
9375
+ "mode"?: "ios" | "md";
8017
9376
  /**
8018
9377
  * Used internally by `ion-router` to know when this route did change.
8019
9378
  */
8020
9379
  "onIonRouteDataChanged"?: (event: IonRouteCustomEvent<any>) => void;
9380
+ /**
9381
+ * The theme determines the visual appearance of the component.
9382
+ */
9383
+ "theme"?: "ios" | "md" | "ionic";
8021
9384
  /**
8022
9385
  * 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.
8023
9386
  * @default ''
@@ -8039,6 +9402,10 @@ declare namespace LocalJSX {
8039
9402
  "to": string | undefined | null;
8040
9403
  }
8041
9404
  interface IonRouter {
9405
+ /**
9406
+ * The mode determines the platform behaviors of the component.
9407
+ */
9408
+ "mode"?: "ios" | "md";
8042
9409
  /**
8043
9410
  * Emitted when the route had changed
8044
9411
  */
@@ -8052,6 +9419,10 @@ declare namespace LocalJSX {
8052
9419
  * @default '/'
8053
9420
  */
8054
9421
  "root"?: string;
9422
+ /**
9423
+ * The theme determines the visual appearance of the component.
9424
+ */
9425
+ "theme"?: "ios" | "md" | "ionic";
8055
9426
  /**
8056
9427
  * 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.
8057
9428
  * @default true
@@ -8067,6 +9438,10 @@ declare namespace LocalJSX {
8067
9438
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
8068
9439
  */
8069
9440
  "href"?: string | undefined;
9441
+ /**
9442
+ * The mode determines the platform behaviors of the component.
9443
+ */
9444
+ "mode"?: "ios" | "md";
8070
9445
  /**
8071
9446
  * 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).
8072
9447
  */
@@ -8084,6 +9459,10 @@ declare namespace LocalJSX {
8084
9459
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8085
9460
  */
8086
9461
  "target"?: string | undefined;
9462
+ /**
9463
+ * The theme determines the visual appearance of the component.
9464
+ */
9465
+ "theme"?: "ios" | "md" | "ionic";
8087
9466
  }
8088
9467
  interface IonRouterOutlet {
8089
9468
  /**
@@ -8096,12 +9475,24 @@ declare namespace LocalJSX {
8096
9475
  */
8097
9476
  "animation"?: AnimationBuilder;
8098
9477
  /**
8099
- * The mode determines which platform styles to use.
9478
+ * The mode determines the platform behaviors of the component.
8100
9479
  * @default getIonMode(this)
8101
9480
  */
8102
9481
  "mode"?: "ios" | "md";
9482
+ /**
9483
+ * The theme determines the visual appearance of the component.
9484
+ */
9485
+ "theme"?: "ios" | "md" | "ionic";
8103
9486
  }
8104
9487
  interface IonRow {
9488
+ /**
9489
+ * The mode determines the platform behaviors of the component.
9490
+ */
9491
+ "mode"?: "ios" | "md";
9492
+ /**
9493
+ * The theme determines the visual appearance of the component.
9494
+ */
9495
+ "theme"?: "ios" | "md" | "ionic";
8105
9496
  }
8106
9497
  interface IonSearchbar {
8107
9498
  /**
@@ -8125,17 +9516,16 @@ declare namespace LocalJSX {
8125
9516
  */
8126
9517
  "autocorrect"?: 'on' | 'off';
8127
9518
  /**
8128
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
8129
- * @default config.get('backButtonIcon', arrowBackSharp) as string
9519
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
8130
9520
  */
8131
9521
  "cancelButtonIcon"?: string;
8132
9522
  /**
8133
- * Set the cancel button text. Only applies to `ios` mode.
9523
+ * Set the cancel button text. Only available when the theme is `"ios"`.
8134
9524
  * @default 'Cancel'
8135
9525
  */
8136
9526
  "cancelButtonText"?: string;
8137
9527
  /**
8138
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
9528
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
8139
9529
  */
8140
9530
  "clearIcon"?: string;
8141
9531
  /**
@@ -8168,7 +9558,7 @@ declare namespace LocalJSX {
8168
9558
  */
8169
9559
  "minlength"?: number;
8170
9560
  /**
8171
- * The mode determines which platform styles to use.
9561
+ * The mode determines the platform behaviors of the component.
8172
9562
  */
8173
9563
  "mode"?: "ios" | "md";
8174
9564
  /**
@@ -8206,9 +9596,13 @@ declare namespace LocalJSX {
8206
9596
  */
8207
9597
  "placeholder"?: string;
8208
9598
  /**
8209
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
9599
+ * 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.
9600
+ */
9601
+ "searchIcon"?: string | boolean;
9602
+ /**
9603
+ * 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.
8210
9604
  */
8211
- "searchIcon"?: string;
9605
+ "shape"?: 'soft' | 'round' | 'rectangular';
8212
9606
  /**
8213
9607
  * 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.
8214
9608
  * @default 'never'
@@ -8219,11 +9613,19 @@ declare namespace LocalJSX {
8219
9613
  * @default 'always'
8220
9614
  */
8221
9615
  "showClearButton"?: 'never' | 'focus' | 'always';
9616
+ /**
9617
+ * 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.
9618
+ */
9619
+ "size"?: 'small' | 'medium' | 'large';
8222
9620
  /**
8223
9621
  * If `true`, enable spellcheck on the input.
8224
9622
  * @default false
8225
9623
  */
8226
9624
  "spellcheck"?: boolean;
9625
+ /**
9626
+ * The theme determines the visual appearance of the component.
9627
+ */
9628
+ "theme"?: "ios" | "md" | "ionic";
8227
9629
  /**
8228
9630
  * Set the type of the input.
8229
9631
  * @default 'search'
@@ -8246,7 +9648,7 @@ declare namespace LocalJSX {
8246
9648
  */
8247
9649
  "disabled"?: boolean;
8248
9650
  /**
8249
- * The mode determines which platform styles to use.
9651
+ * The mode determines the platform behaviors of the component.
8250
9652
  */
8251
9653
  "mode"?: "ios" | "md";
8252
9654
  /**
@@ -8268,6 +9670,10 @@ declare namespace LocalJSX {
8268
9670
  * @default true
8269
9671
  */
8270
9672
  "swipeGesture"?: boolean;
9673
+ /**
9674
+ * The theme determines the visual appearance of the component.
9675
+ */
9676
+ "theme"?: "ios" | "md" | "ionic";
8271
9677
  /**
8272
9678
  * the value of the segment.
8273
9679
  */
@@ -8289,9 +9695,13 @@ declare namespace LocalJSX {
8289
9695
  */
8290
9696
  "layout"?: SegmentButtonLayout;
8291
9697
  /**
8292
- * The mode determines which platform styles to use.
9698
+ * The mode determines the platform behaviors of the component.
8293
9699
  */
8294
9700
  "mode"?: "ios" | "md";
9701
+ /**
9702
+ * The theme determines the visual appearance of the component.
9703
+ */
9704
+ "theme"?: "ios" | "md" | "ionic";
8295
9705
  /**
8296
9706
  * The type of the button.
8297
9707
  * @default 'button'
@@ -8322,6 +9732,11 @@ declare namespace LocalJSX {
8322
9732
  "swipeGesture"?: boolean;
8323
9733
  }
8324
9734
  interface IonSelect {
9735
+ /**
9736
+ * 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.
9737
+ * @default false
9738
+ */
9739
+ "cancelIcon"?: boolean;
8325
9740
  /**
8326
9741
  * The text to display on the cancel button.
8327
9742
  * @default 'Cancel'
@@ -8345,11 +9760,11 @@ declare namespace LocalJSX {
8345
9760
  */
8346
9761
  "errorText"?: string;
8347
9762
  /**
8348
- * 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.
9763
+ * 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.
8349
9764
  */
8350
9765
  "expandedIcon"?: string;
8351
9766
  /**
8352
- * 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.
9767
+ * 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.
8353
9768
  */
8354
9769
  "fill"?: 'outline' | 'solid';
8355
9770
  /**
@@ -8380,7 +9795,7 @@ declare namespace LocalJSX {
8380
9795
  */
8381
9796
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
8382
9797
  /**
8383
- * The mode determines which platform styles to use.
9798
+ * The mode determines the platform behaviors of the component.
8384
9799
  */
8385
9800
  "mode"?: "ios" | "md";
8386
9801
  /**
@@ -8432,11 +9847,19 @@ declare namespace LocalJSX {
8432
9847
  */
8433
9848
  "selectedText"?: string | null;
8434
9849
  /**
8435
- * The shape of the select. If "round" it will have an increased border radius.
9850
+ * 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.
9851
+ */
9852
+ "shape"?: 'soft' | 'round' | 'rectangular';
9853
+ /**
9854
+ * 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.
9855
+ */
9856
+ "size"?: 'small' | 'medium' | 'large';
9857
+ /**
9858
+ * The theme determines the visual appearance of the component.
8436
9859
  */
8437
- "shape"?: 'round';
9860
+ "theme"?: "ios" | "md" | "ionic";
8438
9861
  /**
8439
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
9862
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
8440
9863
  */
8441
9864
  "toggleIcon"?: string;
8442
9865
  /**
@@ -8445,6 +9868,11 @@ declare namespace LocalJSX {
8445
9868
  "value"?: any | null;
8446
9869
  }
8447
9870
  interface IonSelectModal {
9871
+ /**
9872
+ * 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.
9873
+ * @default false
9874
+ */
9875
+ "cancelIcon"?: boolean;
8448
9876
  /**
8449
9877
  * The text to display on the cancel button.
8450
9878
  * @default 'Close'
@@ -8458,11 +9886,31 @@ declare namespace LocalJSX {
8458
9886
  "options"?: SelectModalOption[];
8459
9887
  }
8460
9888
  interface IonSelectOption {
9889
+ /**
9890
+ * Text that is placed underneath the option text to provide additional details about the option.
9891
+ */
9892
+ "description"?: string;
8461
9893
  /**
8462
9894
  * 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.
8463
9895
  * @default false
8464
9896
  */
8465
9897
  "disabled"?: boolean;
9898
+ /**
9899
+ * 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.
9900
+ */
9901
+ "justify"?: 'start' | 'end' | 'space-between';
9902
+ /**
9903
+ * 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.
9904
+ */
9905
+ "labelPlacement"?: 'start' | 'end';
9906
+ /**
9907
+ * The mode determines the platform behaviors of the component.
9908
+ */
9909
+ "mode"?: "ios" | "md";
9910
+ /**
9911
+ * The theme determines the visual appearance of the component.
9912
+ */
9913
+ "theme"?: "ios" | "md" | "ionic";
8466
9914
  /**
8467
9915
  * The text value of the option.
8468
9916
  */
@@ -8477,6 +9925,10 @@ declare namespace LocalJSX {
8477
9925
  * The text content of the popover body
8478
9926
  */
8479
9927
  "message"?: string;
9928
+ /**
9929
+ * The mode determines the platform behaviors of the component.
9930
+ */
9931
+ "mode"?: "ios" | "md";
8480
9932
  /**
8481
9933
  * If true, the select accepts multiple values
8482
9934
  */
@@ -8490,6 +9942,10 @@ declare namespace LocalJSX {
8490
9942
  * The subheader text of the popover
8491
9943
  */
8492
9944
  "subHeader"?: string;
9945
+ /**
9946
+ * The theme determines the visual appearance of the component.
9947
+ */
9948
+ "theme"?: "ios" | "md" | "ionic";
8493
9949
  }
8494
9950
  interface IonSkeletonText {
8495
9951
  /**
@@ -8497,6 +9953,14 @@ declare namespace LocalJSX {
8497
9953
  * @default false
8498
9954
  */
8499
9955
  "animated"?: boolean;
9956
+ /**
9957
+ * The mode determines the platform behaviors of the component.
9958
+ */
9959
+ "mode"?: "ios" | "md";
9960
+ /**
9961
+ * The theme determines the visual appearance of the component.
9962
+ */
9963
+ "theme"?: "ios" | "md" | "ionic";
8500
9964
  }
8501
9965
  interface IonSpinner {
8502
9966
  /**
@@ -8507,6 +9971,10 @@ declare namespace LocalJSX {
8507
9971
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
8508
9972
  */
8509
9973
  "duration"?: number;
9974
+ /**
9975
+ * The mode determines the platform behaviors of the component.
9976
+ */
9977
+ "mode"?: "ios" | "md";
8510
9978
  /**
8511
9979
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
8512
9980
  */
@@ -8516,6 +9984,14 @@ declare namespace LocalJSX {
8516
9984
  * @default false
8517
9985
  */
8518
9986
  "paused"?: boolean;
9987
+ /**
9988
+ * 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.
9989
+ */
9990
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
9991
+ /**
9992
+ * The theme determines the visual appearance of the component.
9993
+ */
9994
+ "theme"?: "ios" | "md" | "ionic";
8519
9995
  }
8520
9996
  interface IonSplitPane {
8521
9997
  /**
@@ -8527,10 +10003,18 @@ declare namespace LocalJSX {
8527
10003
  * @default false
8528
10004
  */
8529
10005
  "disabled"?: boolean;
10006
+ /**
10007
+ * The mode determines the platform behaviors of the component.
10008
+ */
10009
+ "mode"?: "ios" | "md";
8530
10010
  /**
8531
10011
  * Expression to be called when the split-pane visibility has changed
8532
10012
  */
8533
10013
  "onIonSplitPaneVisible"?: (event: IonSplitPaneCustomEvent<{ visible: boolean }>) => void;
10014
+ /**
10015
+ * The theme determines the visual appearance of the component.
10016
+ */
10017
+ "theme"?: "ios" | "md" | "ionic";
8534
10018
  /**
8535
10019
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
8536
10020
  * @default '(min-width: 992px)'
@@ -8542,10 +10026,18 @@ declare namespace LocalJSX {
8542
10026
  * The component to display inside of the tab.
8543
10027
  */
8544
10028
  "component"?: ComponentRef;
10029
+ /**
10030
+ * The mode determines the platform behaviors of the component.
10031
+ */
10032
+ "mode"?: "ios" | "md";
8545
10033
  /**
8546
10034
  * 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.
8547
10035
  */
8548
10036
  "tab": string;
10037
+ /**
10038
+ * The theme determines the visual appearance of the component.
10039
+ */
10040
+ "theme"?: "ios" | "md" | "ionic";
8549
10041
  }
8550
10042
  interface IonTabBar {
8551
10043
  /**
@@ -8553,7 +10045,17 @@ declare namespace LocalJSX {
8553
10045
  */
8554
10046
  "color"?: Color;
8555
10047
  /**
8556
- * The mode determines which platform styles to use.
10048
+ * 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"`.
10049
+ * @default 'full'
10050
+ */
10051
+ "expand"?: 'compact' | 'full';
10052
+ /**
10053
+ * 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"`.
10054
+ * @default false
10055
+ */
10056
+ "hideOnScroll"?: boolean;
10057
+ /**
10058
+ * The mode determines the platform behaviors of the component.
8557
10059
  */
8558
10060
  "mode"?: "ios" | "md";
8559
10061
  /**
@@ -8561,7 +10063,15 @@ declare namespace LocalJSX {
8561
10063
  */
8562
10064
  "selectedTab"?: string;
8563
10065
  /**
8564
- * 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).
10066
+ * 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.
10067
+ */
10068
+ "shape"?: 'soft' | 'round' | 'rectangular';
10069
+ /**
10070
+ * The theme determines the visual appearance of the component.
10071
+ */
10072
+ "theme"?: "ios" | "md" | "ionic";
10073
+ /**
10074
+ * 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).
8565
10075
  * @default false
8566
10076
  */
8567
10077
  "translucent"?: boolean;
@@ -8585,7 +10095,7 @@ declare namespace LocalJSX {
8585
10095
  */
8586
10096
  "layout"?: TabButtonLayout;
8587
10097
  /**
8588
- * The mode determines which platform styles to use.
10098
+ * The mode determines the platform behaviors of the component.
8589
10099
  */
8590
10100
  "mode"?: "ios" | "md";
8591
10101
  /**
@@ -8597,6 +10107,10 @@ declare namespace LocalJSX {
8597
10107
  * @default false
8598
10108
  */
8599
10109
  "selected"?: boolean;
10110
+ /**
10111
+ * 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.
10112
+ */
10113
+ "shape"?: 'soft' | 'round' | 'rectangular';
8600
10114
  /**
8601
10115
  * 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.
8602
10116
  */
@@ -8605,8 +10119,16 @@ declare namespace LocalJSX {
8605
10119
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8606
10120
  */
8607
10121
  "target"?: string | undefined;
10122
+ /**
10123
+ * The theme determines the visual appearance of the component.
10124
+ */
10125
+ "theme"?: "ios" | "md" | "ionic";
8608
10126
  }
8609
10127
  interface IonTabs {
10128
+ /**
10129
+ * The mode determines the platform behaviors of the component.
10130
+ */
10131
+ "mode"?: "ios" | "md";
8610
10132
  /**
8611
10133
  * Emitted when the navigation has finished transitioning to a new component.
8612
10134
  */
@@ -8615,6 +10137,10 @@ declare namespace LocalJSX {
8615
10137
  * Emitted when the navigation is about to transition to a new component.
8616
10138
  */
8617
10139
  "onIonTabsWillChange"?: (event: IonTabsCustomEvent<{ tab: string }>) => void;
10140
+ /**
10141
+ * The theme determines the visual appearance of the component.
10142
+ */
10143
+ "theme"?: "ios" | "md" | "ionic";
8618
10144
  }
8619
10145
  interface IonText {
8620
10146
  /**
@@ -8622,9 +10148,13 @@ declare namespace LocalJSX {
8622
10148
  */
8623
10149
  "color"?: Color;
8624
10150
  /**
8625
- * The mode determines which platform styles to use.
10151
+ * The mode determines the platform behaviors of the component.
8626
10152
  */
8627
10153
  "mode"?: "ios" | "md";
10154
+ /**
10155
+ * The theme determines the visual appearance of the component.
10156
+ */
10157
+ "theme"?: "ios" | "md" | "ionic";
8628
10158
  }
8629
10159
  interface IonTextarea {
8630
10160
  /**
@@ -8682,9 +10212,13 @@ declare namespace LocalJSX {
8682
10212
  */
8683
10213
  "errorText"?: string;
8684
10214
  /**
8685
- * 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.
10215
+ * 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"`.
8686
10216
  */
8687
10217
  "fill"?: 'outline' | 'solid';
10218
+ /**
10219
+ * The `id` of a `<form>` element to associate this element with.
10220
+ */
10221
+ "form"?: string;
8688
10222
  /**
8689
10223
  * Text that is placed under the textarea and displayed when no error is detected.
8690
10224
  */
@@ -8711,7 +10245,7 @@ declare namespace LocalJSX {
8711
10245
  */
8712
10246
  "minlength"?: number;
8713
10247
  /**
8714
- * The mode determines which platform styles to use.
10248
+ * The mode determines the platform behaviors of the component.
8715
10249
  */
8716
10250
  "mode"?: "ios" | "md";
8717
10251
  /**
@@ -8754,14 +10288,23 @@ declare namespace LocalJSX {
8754
10288
  */
8755
10289
  "rows"?: number;
8756
10290
  /**
8757
- * The shape of the textarea. If "round" it will have an increased border radius.
10291
+ * 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.
8758
10292
  */
8759
- "shape"?: 'round';
10293
+ "shape"?: 'soft' | 'round' | 'rectangular';
10294
+ /**
10295
+ * 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.
10296
+ * @default 'medium'
10297
+ */
10298
+ "size"?: 'small' | 'medium' | 'large';
8760
10299
  /**
8761
10300
  * If `true`, the element will have its spelling and grammar checked.
8762
10301
  * @default false
8763
10302
  */
8764
10303
  "spellcheck"?: boolean;
10304
+ /**
10305
+ * The theme determines the visual appearance of the component.
10306
+ */
10307
+ "theme"?: "ios" | "md" | "ionic";
8765
10308
  /**
8766
10309
  * The value of the textarea.
8767
10310
  * @default ''
@@ -8773,16 +10316,32 @@ declare namespace LocalJSX {
8773
10316
  "wrap"?: 'hard' | 'soft' | 'off';
8774
10317
  }
8775
10318
  interface IonThumbnail {
10319
+ /**
10320
+ * The mode determines the platform behaviors of the component.
10321
+ */
10322
+ "mode"?: "ios" | "md";
10323
+ /**
10324
+ * The theme determines the visual appearance of the component.
10325
+ */
10326
+ "theme"?: "ios" | "md" | "ionic";
8776
10327
  }
8777
10328
  interface IonTitle {
8778
10329
  /**
8779
10330
  * 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).
8780
10331
  */
8781
10332
  "color"?: Color;
10333
+ /**
10334
+ * The mode determines the platform behaviors of the component.
10335
+ */
10336
+ "mode"?: "ios" | "md";
8782
10337
  /**
8783
10338
  * The size of the toolbar title.
8784
10339
  */
8785
10340
  "size"?: 'large' | 'small';
10341
+ /**
10342
+ * The theme determines the visual appearance of the component.
10343
+ */
10344
+ "theme"?: "ios" | "md" | "ionic";
8786
10345
  }
8787
10346
  interface IonToast {
8788
10347
  /**
@@ -8819,6 +10378,11 @@ declare namespace LocalJSX {
8819
10378
  * Additional attributes to pass to the toast.
8820
10379
  */
8821
10380
  "htmlAttributes"?: { [key: string]: any };
10381
+ /**
10382
+ * 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.
10383
+ * @default 'subtle'
10384
+ */
10385
+ "hue"?: 'bold' | 'subtle';
8822
10386
  /**
8823
10387
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
8824
10388
  */
@@ -8847,7 +10411,7 @@ declare namespace LocalJSX {
8847
10411
  */
8848
10412
  "message"?: string | IonicSafeString;
8849
10413
  /**
8850
- * The mode determines which platform styles to use.
10414
+ * The mode determines the platform behaviors of the component.
8851
10415
  */
8852
10416
  "mode"?: "ios" | "md";
8853
10417
  /**
@@ -8891,12 +10455,20 @@ declare namespace LocalJSX {
8891
10455
  * 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.
8892
10456
  */
8893
10457
  "positionAnchor"?: HTMLElement | string;
10458
+ /**
10459
+ * 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.
10460
+ */
10461
+ "shape"?: 'soft' | 'round' | 'rectangular';
8894
10462
  /**
8895
10463
  * 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.
8896
10464
  */
8897
10465
  "swipeGesture"?: ToastSwipeGestureDirection;
8898
10466
  /**
8899
- * 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).
10467
+ * The theme determines the visual appearance of the component.
10468
+ */
10469
+ "theme"?: "ios" | "md" | "ionic";
10470
+ /**
10471
+ * 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).
8900
10472
  * @default false
8901
10473
  */
8902
10474
  "translucent"?: boolean;
@@ -8947,7 +10519,7 @@ declare namespace LocalJSX {
8947
10519
  */
8948
10520
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
8949
10521
  /**
8950
- * The mode determines which platform styles to use.
10522
+ * The mode determines the platform behaviors of the component.
8951
10523
  */
8952
10524
  "mode"?: "ios" | "md";
8953
10525
  /**
@@ -8972,6 +10544,10 @@ declare namespace LocalJSX {
8972
10544
  * @default false
8973
10545
  */
8974
10546
  "required"?: boolean;
10547
+ /**
10548
+ * The theme determines the visual appearance of the component.
10549
+ */
10550
+ "theme"?: "ios" | "md" | "ionic";
8975
10551
  /**
8976
10552
  * 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>`.
8977
10553
  * @default 'on'
@@ -8984,9 +10560,17 @@ declare namespace LocalJSX {
8984
10560
  */
8985
10561
  "color"?: Color;
8986
10562
  /**
8987
- * The mode determines which platform styles to use.
10563
+ * The mode determines the platform behaviors of the component.
8988
10564
  */
8989
10565
  "mode"?: "ios" | "md";
10566
+ /**
10567
+ * The theme determines the visual appearance of the component.
10568
+ */
10569
+ "theme"?: "ios" | "md" | "ionic";
10570
+ /**
10571
+ * 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.
10572
+ */
10573
+ "titlePlacement"?: 'start' | 'center' | 'end';
8990
10574
  }
8991
10575
 
8992
10576
  interface IonAccordionAttributes {
@@ -9003,6 +10587,7 @@ declare namespace LocalJSX {
9003
10587
  "disabled": boolean;
9004
10588
  "readonly": boolean;
9005
10589
  "expand": 'compact' | 'inset';
10590
+ "shape": 'soft' | 'round' | 'rectangular';
9006
10591
  }
9007
10592
  interface IonActionSheetAttributes {
9008
10593
  "keyboardClose": boolean;
@@ -9027,6 +10612,11 @@ declare namespace LocalJSX {
9027
10612
  "isOpen": boolean;
9028
10613
  "trigger": string | undefined;
9029
10614
  }
10615
+ interface IonAvatarAttributes {
10616
+ "size": 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
10617
+ "shape": 'soft' | 'round' | 'rectangular';
10618
+ "disabled": boolean;
10619
+ }
9030
10620
  interface IonBackButtonAttributes {
9031
10621
  "color": Color;
9032
10622
  "defaultHref": string;
@@ -9042,6 +10632,10 @@ declare namespace LocalJSX {
9042
10632
  }
9043
10633
  interface IonBadgeAttributes {
9044
10634
  "color": Color;
10635
+ "hue": 'bold' | 'subtle';
10636
+ "shape": 'soft' | 'round | rectangular';
10637
+ "size": 'small' | 'medium' | 'large';
10638
+ "vertical": 'top' | 'bottom';
9045
10639
  }
9046
10640
  interface IonBreadcrumbAttributes {
9047
10641
  "color": Color;
@@ -9070,8 +10664,8 @@ declare namespace LocalJSX {
9070
10664
  "download": string | undefined;
9071
10665
  "href": string | undefined;
9072
10666
  "rel": string | undefined;
9073
- "shape": 'round';
9074
- "size": 'small' | 'default' | 'large';
10667
+ "shape": 'soft' | 'round' | 'rectangular';
10668
+ "size": 'small' | 'default' | 'medium' | 'large';
9075
10669
  "strong": boolean;
9076
10670
  "target": string | undefined;
9077
10671
  "type": 'submit' | 'reset' | 'button';
@@ -9089,6 +10683,7 @@ declare namespace LocalJSX {
9089
10683
  "href": string | undefined;
9090
10684
  "rel": string | undefined;
9091
10685
  "routerDirection": RouterDirection;
10686
+ "shape": 'soft' | 'round' | 'rectangular';
9092
10687
  "target": string | undefined;
9093
10688
  }
9094
10689
  interface IonCardHeaderAttributes {
@@ -9114,11 +10709,16 @@ declare namespace LocalJSX {
9114
10709
  "justify": 'start' | 'end' | 'space-between';
9115
10710
  "alignment": 'start' | 'center';
9116
10711
  "required": boolean;
10712
+ "shape": 'soft' | 'rectangular';
10713
+ "size": 'small';
9117
10714
  }
9118
10715
  interface IonChipAttributes {
9119
10716
  "color": Color;
9120
10717
  "outline": boolean;
9121
10718
  "disabled": boolean;
10719
+ "hue": 'bold' | 'subtle';
10720
+ "shape": 'soft' | 'round' | 'rectangular';
10721
+ "size": 'small' | 'large';
9122
10722
  }
9123
10723
  interface IonColAttributes {
9124
10724
  "offset": string;
@@ -9127,6 +10727,12 @@ declare namespace LocalJSX {
9127
10727
  "offsetMd": string;
9128
10728
  "offsetLg": string;
9129
10729
  "offsetXl": string;
10730
+ "order": string;
10731
+ "orderXs": string;
10732
+ "orderSm": string;
10733
+ "orderMd": string;
10734
+ "orderLg": string;
10735
+ "orderXl": string;
9130
10736
  "pull": string;
9131
10737
  "pullXs": string;
9132
10738
  "pullSm": string;
@@ -9189,6 +10795,10 @@ declare namespace LocalJSX {
9189
10795
  "disabled": boolean;
9190
10796
  "datetime": string;
9191
10797
  }
10798
+ interface IonDividerAttributes {
10799
+ "spacing": 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
10800
+ "inset": boolean;
10801
+ }
9192
10802
  interface IonFabAttributes {
9193
10803
  "horizontal": 'start' | 'end' | 'center';
9194
10804
  "vertical": 'top' | 'bottom' | 'center';
@@ -9218,11 +10828,18 @@ declare namespace LocalJSX {
9218
10828
  "collapse": 'fade';
9219
10829
  "translucent": boolean;
9220
10830
  }
10831
+ interface IonGalleryAttributes {
10832
+ "layout": 'uniform' | 'masonry';
10833
+ "order": 'sequential' | 'best-fit';
10834
+ "columns": string;
10835
+ "gap": string;
10836
+ }
9221
10837
  interface IonGridAttributes {
9222
10838
  "fixed": boolean;
9223
10839
  }
9224
10840
  interface IonHeaderAttributes {
9225
10841
  "collapse": 'condense' | 'fade';
10842
+ "divider": boolean;
9226
10843
  "translucent": boolean;
9227
10844
  }
9228
10845
  interface IonImgAttributes {
@@ -9233,6 +10850,7 @@ declare namespace LocalJSX {
9233
10850
  "threshold": string;
9234
10851
  "disabled": boolean;
9235
10852
  "position": 'top' | 'bottom';
10853
+ "preserveRerenderScrollPosition": boolean;
9236
10854
  }
9237
10855
  interface IonInfiniteScrollContentAttributes {
9238
10856
  "loadingSpinner": SpinnerTypes | null;
@@ -9267,9 +10885,10 @@ declare namespace LocalJSX {
9267
10885
  "placeholder": string;
9268
10886
  "readonly": boolean;
9269
10887
  "required": boolean;
9270
- "shape": 'round';
10888
+ "shape": 'soft' | 'round' | 'rectangular';
9271
10889
  "spellcheck": boolean;
9272
10890
  "step": string;
10891
+ "size": 'medium' | 'large' | 'xlarge';
9273
10892
  "type": TextFieldTypes;
9274
10893
  "value": string;
9275
10894
  }
@@ -9317,9 +10936,11 @@ declare namespace LocalJSX {
9317
10936
  "download": string | undefined;
9318
10937
  "expandable": boolean;
9319
10938
  "href": string | undefined;
10939
+ "hue": 'bold' | 'subtle';
9320
10940
  "rel": string | undefined;
9321
10941
  "target": string | undefined;
9322
10942
  "type": 'submit' | 'reset' | 'button';
10943
+ "shape": 'soft' | 'round' | 'rectangular';
9323
10944
  }
9324
10945
  interface IonItemOptionsAttributes {
9325
10946
  "side": Side;
@@ -9334,6 +10955,7 @@ declare namespace LocalJSX {
9334
10955
  interface IonListAttributes {
9335
10956
  "lines": 'full' | 'inset' | 'none';
9336
10957
  "inset": boolean;
10958
+ "shape": 'soft' | 'round' | 'rectangular';
9337
10959
  }
9338
10960
  interface IonListHeaderAttributes {
9339
10961
  "color": Color;
@@ -9387,6 +11009,7 @@ declare namespace LocalJSX {
9387
11009
  "keepContentsMounted": boolean;
9388
11010
  "focusTrap": boolean;
9389
11011
  "canDismiss": boolean | ((data?: any, role?: string) => Promise<boolean>);
11012
+ "shape": 'soft' | 'round' | 'rectangular';
9390
11013
  }
9391
11014
  interface IonNavAttributes {
9392
11015
  "swipeGesture": boolean;
@@ -9446,6 +11069,7 @@ declare namespace LocalJSX {
9446
11069
  "value": number;
9447
11070
  "buffer": number;
9448
11071
  "color": Color;
11072
+ "shape": 'round' | 'rectangular';
9449
11073
  }
9450
11074
  interface IonRadioAttributes {
9451
11075
  "color": Color;
@@ -9547,6 +11171,8 @@ declare namespace LocalJSX {
9547
11171
  "spellcheck": boolean;
9548
11172
  "type": 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url';
9549
11173
  "value": string | null;
11174
+ "shape": 'soft' | 'round' | 'rectangular';
11175
+ "size": 'small' | 'medium' | 'large';
9550
11176
  }
9551
11177
  interface IonSegmentAttributes {
9552
11178
  "color": Color;
@@ -9569,6 +11195,7 @@ declare namespace LocalJSX {
9569
11195
  }
9570
11196
  interface IonSelectAttributes {
9571
11197
  "cancelText": string;
11198
+ "cancelIcon": boolean;
9572
11199
  "color": Color;
9573
11200
  "compareWith": string | SelectCompareFn | null;
9574
11201
  "disabled": boolean;
@@ -9587,18 +11214,23 @@ declare namespace LocalJSX {
9587
11214
  "selectedText": string | null;
9588
11215
  "toggleIcon": string;
9589
11216
  "expandedIcon": string;
9590
- "shape": 'round';
9591
- "value": string;
9592
11217
  "required": boolean;
11218
+ "shape": 'soft' | 'round' | 'rectangular';
11219
+ "size": 'small' | 'medium' | 'large';
11220
+ "value": string;
9593
11221
  }
9594
11222
  interface IonSelectModalAttributes {
9595
11223
  "header": string;
9596
11224
  "cancelText": string;
11225
+ "cancelIcon": boolean;
9597
11226
  "multiple": boolean;
9598
11227
  }
9599
11228
  interface IonSelectOptionAttributes {
9600
11229
  "disabled": boolean;
9601
11230
  "value": string;
11231
+ "description": string;
11232
+ "labelPlacement": 'start' | 'end';
11233
+ "justify": 'start' | 'end' | 'space-between';
9602
11234
  }
9603
11235
  interface IonSelectPopoverAttributes {
9604
11236
  "header": string;
@@ -9614,6 +11246,7 @@ declare namespace LocalJSX {
9614
11246
  "duration": number;
9615
11247
  "name": SpinnerTypes;
9616
11248
  "paused": boolean;
11249
+ "size": 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
9617
11250
  }
9618
11251
  interface IonSplitPaneAttributes {
9619
11252
  "contentId": string;
@@ -9627,7 +11260,10 @@ declare namespace LocalJSX {
9627
11260
  interface IonTabBarAttributes {
9628
11261
  "color": Color;
9629
11262
  "selectedTab": string;
11263
+ "hideOnScroll": boolean;
9630
11264
  "translucent": boolean;
11265
+ "expand": 'compact' | 'full';
11266
+ "shape": 'soft' | 'round' | 'rectangular';
9631
11267
  }
9632
11268
  interface IonTabButtonAttributes {
9633
11269
  "disabled": boolean;
@@ -9636,6 +11272,7 @@ declare namespace LocalJSX {
9636
11272
  "rel": string | undefined;
9637
11273
  "layout": TabButtonLayout;
9638
11274
  "selected": boolean;
11275
+ "shape": 'soft' | 'round' | 'rectangular';
9639
11276
  "tab": string;
9640
11277
  "target": string | undefined;
9641
11278
  }
@@ -9672,7 +11309,8 @@ declare namespace LocalJSX {
9672
11309
  "helperText": string;
9673
11310
  "label": string;
9674
11311
  "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
9675
- "shape": 'round';
11312
+ "shape": 'soft' | 'round' | 'rectangular';
11313
+ "size": 'small' | 'medium' | 'large';
9676
11314
  }
9677
11315
  interface IonTitleAttributes {
9678
11316
  "color": Color;
@@ -9683,11 +11321,13 @@ declare namespace LocalJSX {
9683
11321
  "cssClass": string | string[];
9684
11322
  "duration": number;
9685
11323
  "header": string;
11324
+ "hue": 'bold' | 'subtle';
9686
11325
  "layout": ToastLayout;
9687
11326
  "message": string | IonicSafeString;
9688
11327
  "keyboardClose": boolean;
9689
11328
  "position": ToastPosition;
9690
11329
  "positionAnchor": HTMLElement | string;
11330
+ "shape": 'soft' | 'round' | 'rectangular';
9691
11331
  "translucent": boolean;
9692
11332
  "animated": boolean;
9693
11333
  "icon": string;
@@ -9711,6 +11351,7 @@ declare namespace LocalJSX {
9711
11351
  }
9712
11352
  interface IonToolbarAttributes {
9713
11353
  "color": Color;
11354
+ "titlePlacement": 'start' | 'center' | 'end';
9714
11355
  }
9715
11356
 
9716
11357
  interface IntrinsicElements {
@@ -9719,7 +11360,7 @@ declare namespace LocalJSX {
9719
11360
  "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] };
9720
11361
  "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] };
9721
11362
  "ion-app": IonApp;
9722
- "ion-avatar": IonAvatar;
11363
+ "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] };
9723
11364
  "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] };
9724
11365
  "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] };
9725
11366
  "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] };
@@ -9738,10 +11379,13 @@ declare namespace LocalJSX {
9738
11379
  "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] };
9739
11380
  "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] };
9740
11381
  "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] };
11382
+ "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] };
9741
11383
  "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] };
9742
11384
  "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] };
9743
11385
  "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] };
9744
11386
  "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] };
11387
+ "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] };
11388
+ "ion-gallery-item": IonGalleryItem;
9745
11389
  "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] };
9746
11390
  "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] };
9747
11391
  "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] };
@@ -9841,10 +11485,13 @@ declare module "@stencil/core" {
9841
11485
  "ion-content": LocalJSX.IntrinsicElements["ion-content"] & JSXBase.HTMLAttributes<HTMLIonContentElement>;
9842
11486
  "ion-datetime": LocalJSX.IntrinsicElements["ion-datetime"] & JSXBase.HTMLAttributes<HTMLIonDatetimeElement>;
9843
11487
  "ion-datetime-button": LocalJSX.IntrinsicElements["ion-datetime-button"] & JSXBase.HTMLAttributes<HTMLIonDatetimeButtonElement>;
11488
+ "ion-divider": LocalJSX.IntrinsicElements["ion-divider"] & JSXBase.HTMLAttributes<HTMLIonDividerElement>;
9844
11489
  "ion-fab": LocalJSX.IntrinsicElements["ion-fab"] & JSXBase.HTMLAttributes<HTMLIonFabElement>;
9845
11490
  "ion-fab-button": LocalJSX.IntrinsicElements["ion-fab-button"] & JSXBase.HTMLAttributes<HTMLIonFabButtonElement>;
9846
11491
  "ion-fab-list": LocalJSX.IntrinsicElements["ion-fab-list"] & JSXBase.HTMLAttributes<HTMLIonFabListElement>;
9847
11492
  "ion-footer": LocalJSX.IntrinsicElements["ion-footer"] & JSXBase.HTMLAttributes<HTMLIonFooterElement>;
11493
+ "ion-gallery": LocalJSX.IntrinsicElements["ion-gallery"] & JSXBase.HTMLAttributes<HTMLIonGalleryElement>;
11494
+ "ion-gallery-item": LocalJSX.IntrinsicElements["ion-gallery-item"] & JSXBase.HTMLAttributes<HTMLIonGalleryItemElement>;
9848
11495
  "ion-grid": LocalJSX.IntrinsicElements["ion-grid"] & JSXBase.HTMLAttributes<HTMLIonGridElement>;
9849
11496
  "ion-header": LocalJSX.IntrinsicElements["ion-header"] & JSXBase.HTMLAttributes<HTMLIonHeaderElement>;
9850
11497
  "ion-img": LocalJSX.IntrinsicElements["ion-img"] & JSXBase.HTMLAttributes<HTMLIonImgElement>;