@ionic/core 9.0.2 → 9.0.3-dev.11788449150.16022b1e

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 (1116) 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.js +1 -1
  65. package/components/ion-popover.js +1 -1
  66. package/components/ion-progress-bar.js +1 -1
  67. package/components/ion-radio-group.js +1 -1
  68. package/components/ion-radio.js +1 -1
  69. package/components/ion-range.js +1 -1
  70. package/components/ion-refresher-content.js +1 -1
  71. package/components/ion-refresher.js +1 -1
  72. package/components/ion-reorder-group.js +1 -1
  73. package/components/ion-reorder.js +1 -1
  74. package/components/ion-ripple-effect.js +1 -1
  75. package/components/ion-route-redirect.js +1 -1
  76. package/components/ion-route.js +1 -1
  77. package/components/ion-router-link.js +1 -1
  78. package/components/ion-router-outlet.js +1 -1
  79. package/components/ion-router.js +1 -1
  80. package/components/ion-row.js +1 -1
  81. package/components/ion-searchbar.js +1 -1
  82. package/components/ion-segment-button.js +1 -1
  83. package/components/ion-segment-content.js +1 -1
  84. package/components/ion-segment-view.js +1 -1
  85. package/components/ion-segment.js +1 -1
  86. package/components/ion-select-modal.js +1 -1
  87. package/components/ion-select-option.js +1 -1
  88. package/components/ion-select-popover.js +1 -1
  89. package/components/ion-select.js +1 -1
  90. package/components/ion-skeleton-text.js +1 -1
  91. package/components/ion-spinner.js +1 -1
  92. package/components/ion-split-pane.js +1 -1
  93. package/components/ion-tab-bar.js +1 -1
  94. package/components/ion-tab-button.js +1 -1
  95. package/components/ion-tab.js +1 -1
  96. package/components/ion-tabs.js +1 -1
  97. package/components/ion-text.js +1 -1
  98. package/components/ion-textarea.js +1 -1
  99. package/components/ion-thumbnail.js +1 -1
  100. package/components/ion-title.js +1 -1
  101. package/components/ion-toast.js +1 -1
  102. package/components/ion-toggle.js +1 -1
  103. package/components/ion-toolbar.js +1 -1
  104. package/components/p-B1AK6oR-.js +4 -0
  105. package/components/p-B8dfyFoB.js +4 -0
  106. package/components/p-B9UT2JwK.js +4 -0
  107. package/components/p-BBz0jPCg.js +4 -0
  108. package/components/p-BDqjX7Z_.js +4 -0
  109. package/components/p-BGP1kR6j.js +4 -0
  110. package/components/p-BLGqtLjb.js +4 -0
  111. package/components/p-BQUTtt8S.js +4 -0
  112. package/components/p-BUF_V-Kg.js +4 -0
  113. package/components/p-BYSs-jZz.js +4 -0
  114. package/components/{p-BT9-hMMz.js → p-BZmR0M4X.js} +1 -1
  115. package/components/{p-CWuIRJQN.js → p-BZtGrrX4.js} +1 -1
  116. package/{dist/ionic/p-DTxBioUO.js → components/p-BahD7B6k.js} +1 -1
  117. package/{dist/ionic/p-DZ6Hmc-8.js → components/p-BcxhVbtz.js} +1 -1
  118. package/components/p-BdAOHgnb.js +4 -0
  119. package/components/p-Be00fpKV.js +4 -0
  120. package/{dist/ionic/p-C8XilMh0.js → components/p-BkQ1V9ee.js} +1 -1
  121. package/components/p-Bkk8447d.js +4 -0
  122. package/components/p-C8aonLbo.js +4 -0
  123. package/components/p-C9cwz4xv.js +4 -0
  124. package/components/p-CDmCFFLL.js +4 -0
  125. package/components/{p-Cw6WocLJ.js → p-CN41sVGB.js} +1 -1
  126. package/components/p-CODBQrPj.js +4 -0
  127. package/components/p-CPXKIYkL.js +4 -0
  128. package/components/p-CPdOdJa7.js +4 -0
  129. package/components/p-CTTmpA7l.js +4 -0
  130. package/components/p-Cc3oC60a.js +4 -0
  131. package/components/{p-BMPN55of.js → p-CksPhDEa.js} +1 -1
  132. package/components/{p-Fl7ZFU74.js → p-ClnMyzlV.js} +1 -1
  133. package/components/p-Cm78Kk79.js +4 -0
  134. package/components/p-CmEe-Llj.js +4 -0
  135. package/components/{p-DM1gJSMP.js → p-CrNVENZG.js} +1 -1
  136. package/components/p-CsQsFkwO.js +4 -0
  137. package/components/{p-BQyuFxYc.js → p-CtLeQL1G.js} +1 -1
  138. package/components/p-CvRAtS4n.js +4 -0
  139. package/components/p-D1t981Ih.js +4 -0
  140. package/components/p-D5lFNdff.js +4 -0
  141. package/components/p-D9jEKvVd.js +4 -0
  142. package/components/p-DG-ZC7Js.js +4 -0
  143. package/components/p-DGfjyB0v.js +4 -0
  144. package/components/p-DJkuoL4u.js +4 -0
  145. package/{dist/ionic/p-BaeKWZ-a.js → components/p-DNrr6r3I.js} +1 -1
  146. package/components/p-DOdd_Inr.js +4 -0
  147. package/components/p-DOoxQDxg.js +4 -0
  148. package/components/p-DWBpR7SJ.js +4 -0
  149. package/components/{p-CEW4RXZO.js → p-DcOWEjmv.js} +1 -1
  150. package/components/p-DgEOEy6x.js +4 -0
  151. package/components/{p-DhNuxvJH.js → p-DgIAZUGe.js} +1 -1
  152. package/components/{p-qAXsfUff.js → p-DhBOoebx.js} +1 -1
  153. package/components/p-Dhi5xtNS.js +4 -0
  154. package/components/p-DkQNAyg8.js +4 -0
  155. package/components/p-DtPgvez6.js +4 -0
  156. package/components/p-DwAij6DN.js +4 -0
  157. package/components/p-DzaPYdjZ.js +4 -0
  158. package/components/p-Dzuh_AKJ.js +4 -0
  159. package/components/p-EayFnjkU.js +4 -0
  160. package/components/p-JAFy4ZHv.js +4 -0
  161. package/components/p-NcQUGze-.js +4 -0
  162. package/components/p-Uo-TYRpE.js +4 -0
  163. package/components/p-VLn2Ytmp.js +4 -0
  164. package/components/p-W8Yq_OMR.js +4 -0
  165. package/components/p-ZxET9sbA.js +4 -0
  166. package/components/p-cKiRADSB.js +4 -0
  167. package/components/p-e73ca-aN.js +4 -0
  168. package/components/p-fIOYmaqA.js +4 -0
  169. package/components/p-fh4o6dKR.js +4 -0
  170. package/components/p-vXpMhGrs.js +4 -0
  171. package/css/core.css +1 -1
  172. package/css/core.css.map +1 -1
  173. package/css/display.css +1 -1
  174. package/css/display.css.map +1 -1
  175. package/css/flex-utils.css +1 -1
  176. package/css/flex-utils.css.map +1 -1
  177. package/css/float-elements.css.map +1 -1
  178. package/css/global.bundle.css.map +1 -1
  179. package/css/ionic/bundle.ionic.css +1 -0
  180. package/css/ionic/bundle.ionic.css.map +1 -0
  181. package/css/ionic/core.ionic.css +1 -0
  182. package/css/ionic/core.ionic.css.map +1 -0
  183. package/css/ionic/global.bundle.ionic.css +1 -0
  184. package/css/ionic/global.bundle.ionic.css.map +1 -0
  185. package/css/ionic/ionic-swiper.ionic.css +1 -0
  186. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  187. package/css/ionic/link.ionic.css +1 -0
  188. package/css/ionic/link.ionic.css.map +1 -0
  189. package/css/ionic/structure.ionic.css +1 -0
  190. package/css/ionic/structure.ionic.css.map +1 -0
  191. package/css/ionic/typography.ionic.css +1 -0
  192. package/css/ionic/typography.ionic.css.map +1 -0
  193. package/css/ionic/utils.bundle.ionic.css +1 -0
  194. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  195. package/css/ionic-swiper.css +1 -1
  196. package/css/ionic-swiper.css.map +1 -1
  197. package/css/ionic.bundle.css +1 -1
  198. package/css/ionic.bundle.css.map +1 -1
  199. package/css/normalize.css.map +1 -1
  200. package/css/padding.css.map +1 -1
  201. package/css/palettes/dark.always.css.map +1 -1
  202. package/css/palettes/dark.class.css.map +1 -1
  203. package/css/palettes/dark.system.css.map +1 -1
  204. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  205. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  206. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  207. package/css/palettes/high-contrast.always.css.map +1 -1
  208. package/css/palettes/high-contrast.class.css.map +1 -1
  209. package/css/palettes/high-contrast.system.css.map +1 -1
  210. package/css/structure.css.map +1 -1
  211. package/css/text-alignment.css.map +1 -1
  212. package/css/text-transformation.css.map +1 -1
  213. package/css/typography.css.map +1 -1
  214. package/css/utils.bundle.css +1 -1
  215. package/css/utils.bundle.css.map +1 -1
  216. package/dist/cjs/{animation-Kd1N7WTN.js → animation-DVrkairK.js} +3 -3
  217. package/dist/cjs/{app-globals-b1G4t26O.js → app-globals-CTxe9MxF.js} +1 -1
  218. package/dist/cjs/{button-active-CQCFubJJ.js → button-active-B8t6YMNb.js} +2 -2
  219. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-w_r4U-_S.js} +3 -3
  220. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  221. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  222. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  223. package/dist/cjs/clear-button-press-controller-BKSn-dVq.js +45 -0
  224. package/dist/{esm/focus-visible-BmVRXR1y.js → cjs/focus-visible-BIj-I3-C.js} +27 -1
  225. package/dist/cjs/{format-bHU8N1g5.js → format-CSwmjLtu.js} +1 -1
  226. package/dist/cjs/{framework-delegate-d-fWfeI6.js → framework-delegate-Dmce7iqZ.js} +4 -2
  227. package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-DZEv3V5s.js} +1 -1
  228. package/dist/cjs/{helpers-7wzdhdeg.js → helpers-DFJMw-qZ.js} +71 -4
  229. package/dist/cjs/{index-C74Q3t6a.js → index-Bm6y0Ibt.js} +9 -8
  230. package/dist/cjs/{index-CQfEIyLK.js → index-BoQA7njo.js} +4 -4
  231. package/dist/cjs/{index-DXoo08JC.js → index-BsDPqfGS.js} +53 -4
  232. package/dist/cjs/{index-wOmugbdg.js → index-CxDnX7hd.js} +2 -0
  233. package/dist/cjs/{index-DFNrCX7M.js → index-DN51-BQl.js} +15 -15
  234. package/dist/cjs/{index-DtvKGwdh.js → index-DWP810QI.js} +2 -2
  235. package/dist/cjs/{index-KiSZqhYS.js → index-jHTqyXrs.js} +1 -1
  236. package/dist/cjs/index.cjs.js +13 -14
  237. package/dist/cjs/{input-shims-VJIiKBKv.js → input-shims-BFGH5o2Z.js} +18 -17
  238. package/dist/cjs/{input.utils-EHVE2RK_.js → input.utils-C5MTV3xv.js} +1 -1
  239. package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -29
  240. package/dist/cjs/ion-action-sheet.cjs.entry.js +26 -24
  241. package/dist/cjs/ion-alert.cjs.entry.js +33 -31
  242. package/dist/cjs/ion-app_8.cjs.entry.js +454 -195
  243. package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -13
  244. package/dist/cjs/ion-back-button.cjs.entry.js +31 -22
  245. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
  246. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +54 -18
  247. package/dist/cjs/ion-button_2.cjs.entry.js +59 -22
  248. package/dist/cjs/ion-card_5.cjs.entry.js +55 -33
  249. package/dist/cjs/ion-checkbox.cjs.entry.js +34 -17
  250. package/dist/cjs/ion-chip.cjs.entry.js +50 -9
  251. package/dist/cjs/ion-col_3.cjs.entry.js +56 -62
  252. package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -9
  253. package/dist/cjs/ion-datetime.cjs.entry.js +109 -34
  254. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  255. package/dist/cjs/ion-fab_3.cjs.entry.js +44 -28
  256. package/dist/cjs/ion-gallery-item.cjs.entry.js +58 -0
  257. package/dist/cjs/ion-gallery.cjs.entry.js +607 -0
  258. package/dist/cjs/ion-img.cjs.entry.js +8 -4
  259. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +90 -16
  260. package/dist/cjs/ion-input-otp.cjs.entry.js +73 -9
  261. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +53 -14
  262. package/dist/cjs/ion-input.cjs.entry.js +157 -38
  263. package/dist/cjs/ion-item-option_3.cjs.entry.js +465 -52
  264. package/dist/cjs/ion-item_8.cjs.entry.js +121 -50
  265. package/dist/cjs/ion-loading.cjs.entry.js +21 -19
  266. package/dist/cjs/ion-menu_3.cjs.entry.js +47 -29
  267. package/dist/cjs/ion-modal.cjs.entry.js +264 -139
  268. package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
  269. package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
  270. package/dist/cjs/ion-picker-column.cjs.entry.js +16 -16
  271. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  272. package/dist/cjs/ion-popover.cjs.entry.js +22 -20
  273. package/dist/cjs/ion-progress-bar.cjs.entry.js +27 -9
  274. package/dist/cjs/ion-radio_2.cjs.entry.js +36 -18
  275. package/dist/cjs/ion-range.cjs.entry.js +20 -13
  276. package/dist/cjs/ion-refresher_2.cjs.entry.js +39 -21
  277. package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -14
  278. package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
  279. package/dist/cjs/ion-route_4.cjs.entry.js +11 -10
  280. package/dist/cjs/ion-searchbar.cjs.entry.js +146 -32
  281. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  282. package/dist/cjs/ion-segment-view.cjs.entry.js +13 -3
  283. package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
  284. package/dist/cjs/ion-select-modal.cjs.entry.js +51 -26
  285. package/dist/cjs/ion-select_3.cjs.entry.js +216 -77
  286. package/dist/cjs/ion-spinner.cjs.entry.js +30 -8
  287. package/dist/cjs/ion-split-pane.cjs.entry.js +13 -9
  288. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +149 -28
  289. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  290. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  291. package/dist/cjs/ion-textarea.cjs.entry.js +190 -25
  292. package/dist/cjs/ion-toast.cjs.entry.js +72 -46
  293. package/dist/cjs/ion-toggle.cjs.entry.js +82 -26
  294. package/dist/cjs/ionic-global-BaVLW54G.js +522 -0
  295. package/dist/cjs/ionic.cjs.js +4 -4
  296. package/dist/cjs/{ios.transition-DYGiD6gM.js → ios.transition-Bm4N3WK1.js} +7 -5
  297. package/dist/cjs/{item-multiple-inputs-Dv6qrMhm.js → item-multiple-inputs-C3d1lMiz.js} +1 -1
  298. package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-5cEsoK5l.js} +4 -3
  299. package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-9uOUQmB-.js} +1 -1
  300. package/dist/cjs/list-a-7GSA6K.js +8 -0
  301. package/dist/cjs/loader.cjs.js +4 -4
  302. package/dist/cjs/{md.transition-CrSkaoz6.js → md.transition-Z-7hu2x1.js} +6 -5
  303. package/dist/cjs/{overlay-control-label-D2sdL2O8.js → overlay-control-label-DnRLQR1t.js} +13 -11
  304. package/dist/cjs/{overlays-BR21NUIG.js → overlays-Jn6TNpc3.js} +306 -18
  305. package/dist/cjs/scroll-hide-controller-DQ9ulQ11.js +345 -0
  306. package/dist/cjs/{select-option-render-D8ZEjYji.js → select-option-render-BUF8TPE0.js} +2 -2
  307. package/dist/cjs/{slot-mutation-controller-D6IjSEIh.js → slot-mutation-controller-C9i1ymbP.js} +5 -5
  308. package/dist/cjs/{status-tap-CNP5eD1R.js → status-tap-DT7J4fZQ.js} +4 -3
  309. package/dist/cjs/{swipe-back-BYb_nLJe.js → swipe-back-BIbF7bVy.js} +3 -2
  310. package/dist/cjs/{theme-Bw0rpaNN.js → theme-Cy4joHPt.js} +25 -1
  311. package/dist/cjs/validity-CoPMWggj.js +51 -0
  312. package/dist/cjs/x-BTF99yFH.js +8 -0
  313. package/dist/collection/collection-manifest.json +8 -0
  314. package/dist/collection/components/accordion/accordion.ionic.css +201 -0
  315. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  316. package/dist/collection/components/accordion/accordion.js +41 -27
  317. package/dist/collection/components/accordion/accordion.md.css +67 -59
  318. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  319. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  320. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  321. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  322. package/dist/collection/components/action-sheet/action-sheet.ionic.css +494 -0
  323. package/dist/collection/components/action-sheet/action-sheet.ios.css +184 -54
  324. package/dist/collection/components/action-sheet/action-sheet.js +16 -13
  325. package/dist/collection/components/action-sheet/action-sheet.md.css +179 -55
  326. package/dist/collection/components/alert/alert.ionic.css +787 -0
  327. package/dist/collection/components/alert/alert.ios.css +247 -54
  328. package/dist/collection/components/alert/alert.js +22 -19
  329. package/dist/collection/components/alert/alert.md.css +243 -56
  330. package/dist/collection/components/app/app.js +15 -83
  331. package/dist/collection/components/avatar/avatar.ionic.css +385 -0
  332. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  333. package/dist/collection/components/avatar/avatar.js +120 -4
  334. package/dist/collection/components/avatar/avatar.md.css +51 -0
  335. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  336. package/dist/collection/components/back-button/back-button.js +27 -19
  337. package/dist/collection/components/back-button/back-button.md.css +60 -48
  338. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  339. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  340. package/dist/collection/components/backdrop/backdrop.js +12 -6
  341. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  342. package/dist/collection/components/badge/badge.ionic.css +272 -0
  343. package/dist/collection/components/badge/badge.ios.css +137 -12
  344. package/dist/collection/components/badge/badge.js +143 -9
  345. package/dist/collection/components/badge/badge.md.css +122 -12
  346. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  347. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  348. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  349. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  350. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  351. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  352. package/dist/collection/components/button/button.ionic.css +644 -0
  353. package/dist/collection/components/button/button.ios.css +154 -46
  354. package/dist/collection/components/button/button.js +63 -27
  355. package/dist/collection/components/button/button.md.css +150 -50
  356. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  357. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  358. package/dist/collection/components/buttons/buttons.js +15 -9
  359. package/dist/collection/components/buttons/buttons.md.css +55 -3
  360. package/dist/collection/components/card/card.ionic.css +144 -0
  361. package/dist/collection/components/card/card.ios.css +65 -14
  362. package/dist/collection/components/card/card.js +41 -10
  363. package/dist/collection/components/card/card.md.css +65 -14
  364. package/dist/collection/components/card-content/card-content.ionic.css +89 -0
  365. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  366. package/dist/collection/components/card-content/card-content.js +12 -10
  367. package/dist/collection/components/card-content/card-content.md.css +20 -35
  368. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  369. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  370. package/dist/collection/components/card-header/card-header.js +13 -10
  371. package/dist/collection/components/card-header/card-header.md.css +27 -15
  372. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  373. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  374. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  375. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  376. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  377. package/dist/collection/components/card-title/card-title.js +11 -8
  378. package/dist/collection/components/card-title/card-title.md.css +73 -0
  379. package/dist/collection/components/checkbox/checkbox.ionic.css +543 -0
  380. package/dist/collection/components/checkbox/checkbox.ios.css +242 -117
  381. package/dist/collection/components/checkbox/checkbox.js +69 -14
  382. package/dist/collection/components/checkbox/checkbox.md.css +243 -118
  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 -66
  389. package/dist/collection/components/content/content.css +47 -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 +314 -118
  393. package/dist/collection/components/datetime/datetime.js +97 -20
  394. package/dist/collection/components/datetime/datetime.md.css +304 -107
  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-interface.js +1 -0
  411. package/dist/collection/components/footer/footer.ios.css +33 -6
  412. package/dist/collection/components/footer/footer.js +117 -25
  413. package/dist/collection/components/footer/footer.md.css +40 -0
  414. package/dist/collection/components/gallery/gallery-constants.js +12 -0
  415. package/dist/collection/components/gallery/gallery-interface.js +1 -0
  416. package/dist/collection/components/gallery/gallery.css +15 -0
  417. package/dist/collection/components/gallery/gallery.js +678 -0
  418. package/dist/collection/components/gallery/test/utils.js +100 -0
  419. package/dist/collection/components/gallery-item/gallery-item.css +49 -0
  420. package/dist/collection/components/gallery-item/gallery-item.js +98 -0
  421. package/dist/collection/components/grid/grid.css +12 -0
  422. package/dist/collection/components/grid/grid.js +9 -5
  423. package/dist/collection/components/header/header-interface.js +1 -0
  424. package/dist/collection/components/header/header.ionic.css +250 -0
  425. package/dist/collection/components/header/header.ios.css +178 -133
  426. package/dist/collection/components/header/header.js +180 -39
  427. package/dist/collection/components/header/header.md.css +199 -9
  428. package/dist/collection/components/header/header.utils.js +5 -13
  429. package/dist/collection/components/img/img.js +7 -2
  430. package/dist/collection/components/infinite-scroll/infinite-scroll.js +99 -5
  431. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  432. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  433. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  434. package/dist/collection/components/input/input.ionic.css +937 -0
  435. package/dist/collection/components/input/input.ios.css +245 -154
  436. package/dist/collection/components/input/input.js +183 -43
  437. package/dist/collection/components/input/input.md.css +215 -226
  438. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  439. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  440. package/dist/collection/components/input-otp/input-otp.js +73 -7
  441. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  442. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  443. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -11
  444. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  445. package/dist/collection/components/item/item.ionic.css +496 -0
  446. package/dist/collection/components/item/item.ios.css +120 -80
  447. package/dist/collection/components/item/item.js +56 -21
  448. package/dist/collection/components/item/item.md.css +131 -79
  449. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  450. package/dist/collection/components/item-divider/item-divider.js +11 -8
  451. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  452. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  453. package/dist/collection/components/item-group/item-group.js +13 -7
  454. package/dist/collection/components/item-group/item-group.md.css +12 -0
  455. package/dist/collection/components/item-option/item-option.ionic.css +277 -0
  456. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  457. package/dist/collection/components/item-option/item-option.js +73 -9
  458. package/dist/collection/components/item-option/item-option.md.css +136 -29
  459. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  460. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  461. package/dist/collection/components/item-options/item-options.js +13 -7
  462. package/dist/collection/components/item-options/item-options.md.css +77 -34
  463. package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
  464. package/dist/collection/components/item-sliding/item-sliding.js +419 -35
  465. package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
  466. package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
  467. package/dist/collection/components/label/label.ios.css +18 -0
  468. package/dist/collection/components/label/label.js +11 -8
  469. package/dist/collection/components/label/label.md.css +18 -0
  470. package/dist/collection/components/list/list.ionic.css +212 -0
  471. package/dist/collection/components/list/list.ios.css +54 -14
  472. package/dist/collection/components/list/list.js +48 -9
  473. package/dist/collection/components/list/list.md.css +56 -16
  474. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  475. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  476. package/dist/collection/components/list-header/list-header.js +11 -8
  477. package/dist/collection/components/list-header/list-header.md.css +82 -38
  478. package/dist/collection/components/loading/loading.ios.css +13 -1
  479. package/dist/collection/components/loading/loading.js +15 -12
  480. package/dist/collection/components/loading/loading.md.css +13 -1
  481. package/dist/collection/components/menu/menu.ios.css +15 -3
  482. package/dist/collection/components/menu/menu.js +12 -7
  483. package/dist/collection/components/menu/menu.md.css +15 -3
  484. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  485. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  486. package/dist/collection/components/menu-button/menu-button.js +26 -10
  487. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  488. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  489. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  490. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  491. package/dist/collection/components/modal/animations/sheet.js +8 -2
  492. package/dist/collection/components/modal/gestures/sheet.js +76 -10
  493. package/dist/collection/components/modal/modal.ionic.css +255 -0
  494. package/dist/collection/components/modal/modal.ios.css +178 -70
  495. package/dist/collection/components/modal/modal.js +52 -13
  496. package/dist/collection/components/modal/modal.md.css +178 -70
  497. package/dist/collection/components/nav/nav.css +7 -1
  498. package/dist/collection/components/nav/nav.js +10 -4
  499. package/dist/collection/components/nav-link/nav-link.js +5 -1
  500. package/dist/collection/components/note/note.ios.css +12 -0
  501. package/dist/collection/components/note/note.js +11 -8
  502. package/dist/collection/components/note/note.md.css +12 -0
  503. package/dist/collection/components/picker/picker.ios.css +15 -3
  504. package/dist/collection/components/picker/picker.js +8 -5
  505. package/dist/collection/components/picker/picker.md.css +15 -3
  506. package/dist/collection/components/picker-column/picker-column.css +9 -2
  507. package/dist/collection/components/picker-column/picker-column.js +8 -7
  508. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  509. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  510. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  511. package/dist/collection/components/popover/popover.ionic.css +289 -0
  512. package/dist/collection/components/popover/popover.ios.css +13 -1
  513. package/dist/collection/components/popover/popover.js +19 -16
  514. package/dist/collection/components/popover/popover.md.css +13 -1
  515. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  516. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  517. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  518. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  519. package/dist/collection/components/radio/radio.ionic.css +422 -0
  520. package/dist/collection/components/radio/radio.ios.css +207 -102
  521. package/dist/collection/components/radio/radio.js +14 -9
  522. package/dist/collection/components/radio/radio.md.css +207 -102
  523. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  524. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  525. package/dist/collection/components/radio-group/radio-group.js +48 -7
  526. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  527. package/dist/collection/components/range/range.ionic.css +567 -0
  528. package/dist/collection/components/range/range.ios.css +128 -85
  529. package/dist/collection/components/range/range.js +16 -10
  530. package/dist/collection/components/range/range.md.css +128 -85
  531. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  532. package/dist/collection/components/refresher/refresher.js +11 -8
  533. package/dist/collection/components/refresher/refresher.md.css +15 -2
  534. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  535. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  536. package/dist/collection/components/reorder/reorder.js +33 -6
  537. package/dist/collection/components/reorder/reorder.md.css +6 -0
  538. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  539. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  540. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  541. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  542. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  543. package/dist/collection/components/route/route.js +4 -0
  544. package/dist/collection/components/router/router.js +4 -0
  545. package/dist/collection/components/router-link/router-link.css +8 -2
  546. package/dist/collection/components/router-link/router-link.js +9 -5
  547. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  548. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  549. package/dist/collection/components/row/row.css +16 -0
  550. package/dist/collection/components/row/row.js +9 -2
  551. package/dist/collection/components/searchbar/searchbar.ionic.css +622 -0
  552. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  553. package/dist/collection/components/searchbar/searchbar.js +191 -42
  554. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  555. package/dist/collection/components/segment/segment.ionic.css +115 -0
  556. package/dist/collection/components/segment/segment.ios.css +45 -2
  557. package/dist/collection/components/segment/segment.js +11 -8
  558. package/dist/collection/components/segment/segment.md.css +45 -2
  559. package/dist/collection/components/segment-button/segment-button.ionic.css +352 -0
  560. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  561. package/dist/collection/components/segment-button/segment-button.js +11 -8
  562. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  563. package/dist/collection/components/segment-content/segment-content.js +1 -1
  564. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  565. package/dist/collection/components/segment-view/segment-view.js +13 -4
  566. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  567. package/dist/collection/components/select/select.ionic.css +864 -0
  568. package/dist/collection/components/select/select.ios.css +300 -148
  569. package/dist/collection/components/select/select.js +252 -81
  570. package/dist/collection/components/select/select.md.css +316 -150
  571. package/dist/collection/components/select-modal/select-modal.ionic.css +257 -0
  572. package/dist/collection/components/select-modal/select-modal.ios.css +293 -45
  573. package/dist/collection/components/select-modal/select-modal.js +61 -15
  574. package/dist/collection/components/select-modal/select-modal.md.css +273 -43
  575. package/dist/collection/components/select-option/select-option.js +8 -4
  576. package/dist/collection/components/select-popover/select-popover.ionic.css +255 -0
  577. package/dist/collection/components/select-popover/select-popover.ios.css +188 -124
  578. package/dist/collection/components/select-popover/select-popover.js +17 -9
  579. package/dist/collection/components/select-popover/select-popover.md.css +228 -47
  580. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  581. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  582. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  583. package/dist/collection/components/spinner/spinner.js +47 -6
  584. package/dist/collection/components/spinner/spinner.native.css +199 -0
  585. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  586. package/dist/collection/components/split-pane/split-pane.js +15 -8
  587. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  588. package/dist/collection/components/tab/tab.js +6 -2
  589. package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
  590. package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
  591. package/dist/collection/components/tab-bar/tab-bar.js +178 -15
  592. package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
  593. package/dist/collection/components/tab-button/tab-button.ionic.css +373 -0
  594. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  595. package/dist/collection/components/tab-button/tab-button.js +54 -9
  596. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  597. package/dist/collection/components/tabs/tabs.css +7 -1
  598. package/dist/collection/components/tabs/tabs.js +4 -1
  599. package/dist/collection/components/text/text.css +6 -0
  600. package/dist/collection/components/text/text.js +7 -6
  601. package/dist/collection/components/textarea/textarea.ionic.css +945 -0
  602. package/dist/collection/components/textarea/textarea.ios.css +301 -155
  603. package/dist/collection/components/textarea/textarea.js +215 -26
  604. package/dist/collection/components/textarea/textarea.md.css +315 -156
  605. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  606. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  607. package/dist/collection/components/title/title.ionic.css +127 -0
  608. package/dist/collection/components/title/title.ios.css +32 -4
  609. package/dist/collection/components/title/title.js +13 -7
  610. package/dist/collection/components/title/title.md.css +39 -4
  611. package/dist/collection/components/toast/animations/utils.js +1 -1
  612. package/dist/collection/components/toast/toast.ionic.css +394 -0
  613. package/dist/collection/components/toast/toast.ios.css +84 -45
  614. package/dist/collection/components/toast/toast.js +79 -13
  615. package/dist/collection/components/toast/toast.md.css +84 -45
  616. package/dist/collection/components/toggle/toggle.ionic.css +512 -0
  617. package/dist/collection/components/toggle/toggle.ios.css +247 -127
  618. package/dist/collection/components/toggle/toggle.js +72 -18
  619. package/dist/collection/components/toggle/toggle.md.css +245 -127
  620. package/dist/collection/components/toolbar/test/image.svg +1 -0
  621. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  622. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  623. package/dist/collection/components/toolbar/toolbar.js +216 -14
  624. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  625. package/dist/collection/global/ionic-global.js +239 -13
  626. package/dist/collection/utils/css-value-validation.js +39 -0
  627. package/dist/collection/utils/focus-trap.js +13 -2
  628. package/dist/collection/utils/focus-visible.js +22 -0
  629. package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
  630. package/dist/collection/utils/forms/index.js +1 -0
  631. package/dist/collection/utils/forms/validity.js +31 -0
  632. package/dist/collection/utils/framework-delegate.js +3 -1
  633. package/dist/collection/utils/hardware-back-button.js +15 -0
  634. package/dist/collection/utils/helpers.js +70 -3
  635. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  636. package/dist/collection/utils/media.js +1 -0
  637. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  638. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  639. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  640. package/dist/collection/utils/overlay-control-label.js +13 -11
  641. package/dist/collection/utils/overlays.js +287 -8
  642. package/dist/collection/utils/scroll-hide-controller.js +178 -0
  643. package/dist/collection/utils/test/playwright/drag-element.js +32 -9
  644. package/dist/collection/utils/test/playwright/generator.js +48 -23
  645. package/dist/collection/utils/test/playwright/page/utils/goto.js +10 -1
  646. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  647. package/dist/collection/utils/theme.js +25 -1
  648. package/dist/collection/utils/transition/ios.transition.js +1 -0
  649. package/dist/docs.json +8849 -288
  650. package/dist/esm/{animation-BFNVlYum.js → animation-DXpoXT3G.js} +2 -2
  651. package/dist/esm/{app-globals-BgX0BGL1.js → app-globals-gnMsODWu.js} +1 -1
  652. package/dist/esm/{button-active-BfOvDr3b.js → button-active-DtDlu9-d.js} +2 -2
  653. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CMyaZHxy.js} +1 -1
  654. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  655. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  656. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  657. package/dist/esm/clear-button-press-controller-CWOPHFBc.js +43 -0
  658. package/dist/{cjs/focus-visible-CCvKiLh3.js → esm/focus-visible-vXpMhGrs.js} +23 -3
  659. package/dist/esm/{format-DDFE9jM5.js → format-DHkUcwuW.js} +1 -1
  660. package/dist/esm/{framework-delegate-BwNhx9NR.js → framework-delegate-DUQ69ajj.js} +4 -2
  661. package/dist/esm/{haptic-Cq4UAeka.js → haptic-Dal3yCq6.js} +1 -1
  662. package/dist/esm/{helpers-BSmc0nst.js → helpers-DTqW6MzS.js} +71 -5
  663. package/dist/esm/{index-D76bbuoi.js → index-B6qBfx1b.js} +1 -1
  664. package/dist/esm/{index-BvabGprD.js → index-BqQ15K9a.js} +2 -1
  665. package/dist/esm/{index-BuPaALjU.js → index-C2QkTAgc.js} +11 -11
  666. package/dist/esm/{index-C1b9CLFg.js → index-CpKLzrYn.js} +2 -2
  667. package/dist/esm/{index-DnA_7Bnx.js → index-D76uuG8P.js} +4 -4
  668. package/dist/esm/{index-CJln0gS3.js → index-D_YUqPZN.js} +4 -3
  669. package/dist/esm/{index-C23AVPx9.js → index-jsOqXOKf.js} +53 -4
  670. package/dist/esm/index.js +13 -14
  671. package/dist/esm/{input-shims-Dqk-Ou25.js → input-shims-DgFi_b6v.js} +7 -6
  672. package/dist/esm/{input.utils-rqoH22pW.js → input.utils-BV974hyf.js} +1 -1
  673. package/dist/esm/ion-accordion_2.entry.js +61 -29
  674. package/dist/esm/ion-action-sheet.entry.js +26 -24
  675. package/dist/esm/ion-alert.entry.js +33 -31
  676. package/dist/esm/ion-app_8.entry.js +453 -194
  677. package/dist/esm/ion-avatar_3.entry.js +123 -13
  678. package/dist/esm/ion-back-button.entry.js +31 -22
  679. package/dist/esm/ion-backdrop.entry.js +10 -7
  680. package/dist/esm/ion-breadcrumb_2.entry.js +54 -18
  681. package/dist/esm/ion-button_2.entry.js +59 -22
  682. package/dist/esm/ion-card_5.entry.js +55 -33
  683. package/dist/esm/ion-checkbox.entry.js +34 -17
  684. package/dist/esm/ion-chip.entry.js +50 -9
  685. package/dist/esm/ion-col_3.entry.js +56 -62
  686. package/dist/esm/ion-datetime-button.entry.js +13 -9
  687. package/dist/esm/ion-datetime.entry.js +109 -34
  688. package/dist/esm/ion-divider.entry.js +49 -0
  689. package/dist/esm/ion-fab_3.entry.js +44 -28
  690. package/dist/esm/ion-gallery-item.entry.js +56 -0
  691. package/dist/esm/ion-gallery.entry.js +605 -0
  692. package/dist/esm/ion-img.entry.js +8 -4
  693. package/dist/esm/ion-infinite-scroll_2.entry.js +90 -16
  694. package/dist/esm/ion-input-otp.entry.js +73 -9
  695. package/dist/esm/ion-input-password-toggle.entry.js +53 -14
  696. package/dist/esm/ion-input.entry.js +157 -38
  697. package/dist/esm/ion-item-option_3.entry.js +465 -52
  698. package/dist/esm/ion-item_8.entry.js +121 -50
  699. package/dist/esm/ion-loading.entry.js +21 -19
  700. package/dist/esm/ion-menu_3.entry.js +47 -29
  701. package/dist/esm/ion-modal.entry.js +217 -92
  702. package/dist/esm/ion-nav_2.entry.js +13 -10
  703. package/dist/esm/ion-picker-column-option.entry.js +12 -8
  704. package/dist/esm/ion-picker-column.entry.js +13 -13
  705. package/dist/esm/ion-picker.entry.js +10 -6
  706. package/dist/esm/ion-popover.entry.js +22 -20
  707. package/dist/esm/ion-progress-bar.entry.js +27 -9
  708. package/dist/esm/ion-radio_2.entry.js +36 -18
  709. package/dist/esm/ion-range.entry.js +20 -13
  710. package/dist/esm/ion-refresher_2.entry.js +39 -21
  711. package/dist/esm/ion-reorder_2.entry.js +38 -14
  712. package/dist/esm/ion-ripple-effect.entry.js +15 -7
  713. package/dist/esm/ion-route_4.entry.js +11 -10
  714. package/dist/esm/ion-searchbar.entry.js +146 -32
  715. package/dist/esm/ion-segment-content.entry.js +2 -2
  716. package/dist/esm/ion-segment-view.entry.js +13 -3
  717. package/dist/esm/ion-segment_2.entry.js +23 -16
  718. package/dist/esm/ion-select-modal.entry.js +51 -26
  719. package/dist/esm/ion-select_3.entry.js +216 -77
  720. package/dist/esm/ion-spinner.entry.js +30 -8
  721. package/dist/esm/ion-split-pane.entry.js +13 -9
  722. package/dist/esm/ion-tab-bar_2.entry.js +148 -27
  723. package/dist/esm/ion-tab_2.entry.js +8 -7
  724. package/dist/esm/ion-text.entry.js +7 -7
  725. package/dist/esm/ion-textarea.entry.js +190 -25
  726. package/dist/esm/ion-toast.entry.js +47 -21
  727. package/dist/esm/ion-toggle.entry.js +82 -26
  728. package/dist/esm/ionic-global-oK2heABF.js +511 -0
  729. package/dist/esm/ionic.js +5 -5
  730. package/dist/esm/{ios.transition-CWAgfQ1r.js → ios.transition-D6rsx0aJ.js} +7 -5
  731. package/dist/esm/{item-multiple-inputs-DZnIiOO_.js → item-multiple-inputs-CAlufDbv.js} +1 -1
  732. package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-Dzp50ozz.js} +1 -1
  733. package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-YBye__Ay.js} +4 -3
  734. package/dist/esm/list-Dhi5xtNS.js +6 -0
  735. package/dist/esm/loader.js +5 -5
  736. package/dist/esm/{md.transition-ZuqDDdDW.js → md.transition-0y4So3tu.js} +6 -5
  737. package/dist/esm/{overlay-control-label-BSQPZ79H.js → overlay-control-label-CODBQrPj.js} +13 -11
  738. package/dist/esm/{overlays-DKE0DgvE.js → overlays-CLlfG_qy.js} +303 -15
  739. package/dist/esm/scroll-hide-controller-BUZm0jSI.js +342 -0
  740. package/dist/esm/{select-option-render-CRP_teb1.js → select-option-render-DICJMeLf.js} +2 -2
  741. package/dist/esm/{slot-mutation-controller-B5NpUZ-N.js → slot-mutation-controller-C5Vj7Od7.js} +2 -2
  742. package/dist/esm/{status-tap-Cv9gb3ja.js → status-tap-VmNhEOZr.js} +4 -3
  743. package/dist/esm/{swipe-back-B2CmabKY.js → swipe-back-BHHiqew-.js} +3 -2
  744. package/dist/esm/{theme-byZM6qHV.js → theme-BUF_V-Kg.js} +25 -1
  745. package/dist/esm/validity-NcQUGze-.js +48 -0
  746. package/dist/esm/x-BDqjX7Z_.js +6 -0
  747. package/dist/html.html-data.json +2631 -150
  748. package/dist/ionic/index.esm.js +1 -1
  749. package/dist/ionic/ionic.esm.js +1 -1
  750. package/dist/ionic/p-04d96dad.entry.js +4 -0
  751. package/dist/ionic/p-08f20edc.entry.js +4 -0
  752. package/dist/ionic/p-0a924e6a.entry.js +4 -0
  753. package/dist/ionic/p-0f268972.entry.js +4 -0
  754. package/dist/ionic/p-18c6af89.entry.js +4 -0
  755. package/dist/ionic/p-1cc2a196.entry.js +4 -0
  756. package/dist/ionic/p-201f484e.entry.js +4 -0
  757. package/dist/ionic/p-26efcc45.entry.js +4 -0
  758. package/dist/ionic/p-2c3704b9.entry.js +4 -0
  759. package/dist/ionic/p-2da21af7.entry.js +4 -0
  760. package/dist/ionic/p-2e3acd77.entry.js +4 -0
  761. package/dist/ionic/p-2fc1521f.entry.js +4 -0
  762. package/dist/ionic/p-30c4458b.entry.js +4 -0
  763. package/dist/ionic/p-32829ef8.entry.js +4 -0
  764. package/dist/ionic/p-32be916d.entry.js +4 -0
  765. package/dist/ionic/p-384fb50d.entry.js +4 -0
  766. package/dist/ionic/p-3bb43e22.entry.js +4 -0
  767. package/dist/ionic/p-46709a42.entry.js +4 -0
  768. package/dist/ionic/p-4QzQhqmw.js +4 -0
  769. package/dist/ionic/p-4eec50dd.entry.js +4 -0
  770. package/dist/ionic/p-5217eb00.entry.js +4 -0
  771. package/dist/ionic/p-55e13406.entry.js +4 -0
  772. package/dist/ionic/p-6b23289a.entry.js +4 -0
  773. package/dist/ionic/p-73309d35.entry.js +4 -0
  774. package/dist/ionic/p-74ab5f49.entry.js +4 -0
  775. package/dist/ionic/p-7d2f3242.entry.js +4 -0
  776. package/dist/ionic/p-7e28cc53.entry.js +4 -0
  777. package/dist/ionic/p-84b5eafe.entry.js +4 -0
  778. package/dist/ionic/p-854b95f9.entry.js +4 -0
  779. package/dist/ionic/p-886236f0.entry.js +4 -0
  780. package/dist/ionic/p-8NLG9fne.js +4 -0
  781. package/dist/ionic/p-8a7bf6c7.entry.js +4 -0
  782. package/dist/ionic/p-8c446282.entry.js +4 -0
  783. package/dist/ionic/p-8dcd18cf.entry.js +4 -0
  784. package/dist/ionic/p-924182fc.entry.js +4 -0
  785. package/dist/ionic/p-92f21db6.entry.js +4 -0
  786. package/dist/ionic/p-945ed823.entry.js +4 -0
  787. package/dist/ionic/p-9ca59419.entry.js +4 -0
  788. package/dist/ionic/p-B3L20Lav.js +4 -0
  789. package/dist/ionic/p-B6aOaV_m.js +4 -0
  790. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  791. package/dist/ionic/p-BUF_V-Kg.js +4 -0
  792. package/dist/ionic/{p-D7jHfs0Y.js → p-BUvFnCVr.js} +1 -1
  793. package/dist/ionic/{p-Bd72UYI2.js → p-BVv5nqxG.js} +1 -1
  794. package/dist/ionic/p-BYSs-jZz.js +4 -0
  795. package/dist/ionic/p-BdqFx5km.js +4 -0
  796. package/dist/ionic/p-BnRvdoDY.js +4 -0
  797. package/{components/p-DiuOa1vw.js → dist/ionic/p-BooNJoKP.js} +1 -1
  798. package/dist/ionic/p-BqQ15K9a.js +4 -0
  799. package/{components/p-6ZLn6K5e.js → dist/ionic/p-C0V6sqau.js} +1 -1
  800. package/dist/ionic/p-CD4Mty1V.js +4 -0
  801. package/dist/ionic/p-CE00jiiW.js +4 -0
  802. package/dist/ionic/p-CLVGlNRl.js +4 -0
  803. package/dist/ionic/p-CODBQrPj.js +4 -0
  804. package/dist/ionic/p-CP5-2cXj.js +4 -0
  805. package/dist/ionic/p-CRbXZpID.js +4 -0
  806. package/dist/ionic/p-CZ-V4tB0.js +4 -0
  807. package/dist/ionic/p-Cs5kzNVE.js +4 -0
  808. package/dist/ionic/p-CsmXfOZY.js +4 -0
  809. package/dist/ionic/p-CyXL8sF6.js +4 -0
  810. package/dist/ionic/{p-T71k3C35.js → p-D1ej8PMz.js} +1 -1
  811. package/dist/ionic/p-D1t981Ih.js +4 -0
  812. package/{components/p-DxhHlJln.js → dist/ionic/p-D8HyO4-0.js} +1 -1
  813. package/dist/ionic/p-DAFzmzMJ.js +4 -0
  814. package/{components/p-BgkOsq-d.js → dist/ionic/p-DFZcZ5hU.js} +1 -1
  815. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  816. package/dist/ionic/{p-CkxVYPtX.js → p-DpE9LgN6.js} +1 -1
  817. package/dist/ionic/p-DvXo4Ng9.js +4 -0
  818. package/{components/p-C4VpVfrJ.js → dist/ionic/p-Izgzy5eB.js} +1 -1
  819. package/dist/ionic/p-NcQUGze-.js +4 -0
  820. package/dist/ionic/p-ac4ea8db.entry.js +4 -0
  821. package/dist/ionic/p-b10dc124.entry.js +4 -0
  822. package/dist/ionic/p-b411d90d.entry.js +4 -0
  823. package/dist/ionic/p-b7ce4a50.entry.js +4 -0
  824. package/dist/ionic/p-b83de44e.entry.js +4 -0
  825. package/dist/ionic/p-c7035f3f.entry.js +4 -0
  826. package/dist/ionic/p-c91fc9d4.entry.js +4 -0
  827. package/dist/ionic/p-cd05447f.entry.js +4 -0
  828. package/dist/ionic/p-ce1ab874.entry.js +4 -0
  829. package/dist/ionic/p-d0368d31.entry.js +4 -0
  830. package/dist/ionic/p-d1d3048b.entry.js +4 -0
  831. package/dist/ionic/p-db011674.entry.js +4 -0
  832. package/dist/ionic/p-dc000de0.entry.js +4 -0
  833. package/dist/ionic/p-e53980b0.entry.js +4 -0
  834. package/dist/ionic/p-e939adf3.entry.js +4 -0
  835. package/dist/ionic/p-e9fdff49.entry.js +4 -0
  836. package/dist/ionic/p-f29b784f.entry.js +4 -0
  837. package/dist/ionic/p-f82b13a6.entry.js +4 -0
  838. package/dist/ionic/p-fIOYmaqA.js +4 -0
  839. package/dist/ionic/p-fdb940e3.entry.js +4 -0
  840. package/dist/ionic/p-jsOqXOKf.js +6 -0
  841. package/dist/ionic/p-psKsVoNI.js +4 -0
  842. package/dist/ionic/p-si7ttuvL.js +4 -0
  843. package/dist/ionic/p-vXpMhGrs.js +4 -0
  844. package/dist/types/components/accordion/accordion.d.ts +6 -3
  845. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  846. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  847. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  848. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  849. package/dist/types/components/alert/alert.d.ts +3 -2
  850. package/dist/types/components/app/app.d.ts +4 -5
  851. package/dist/types/components/avatar/avatar.d.ts +32 -0
  852. package/dist/types/components/back-button/back-button.d.ts +2 -1
  853. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  854. package/dist/types/components/badge/badge.d.ts +34 -1
  855. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  856. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  857. package/dist/types/components/button/button.d.ts +23 -8
  858. package/dist/types/components/buttons/buttons.d.ts +5 -1
  859. package/dist/types/components/card/card.d.ts +8 -1
  860. package/dist/types/components/card-content/card-content.d.ts +2 -1
  861. package/dist/types/components/card-header/card-header.d.ts +3 -2
  862. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  863. package/dist/types/components/card-title/card-title.d.ts +2 -1
  864. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  865. package/dist/types/components/chip/chip.d.ts +26 -1
  866. package/dist/types/components/col/col.d.ts +52 -5
  867. package/dist/types/components/content/content.d.ts +3 -0
  868. package/dist/types/components/datetime/datetime.d.ts +26 -1
  869. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  870. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  871. package/dist/types/components/divider/divider.d.ts +20 -0
  872. package/dist/types/components/fab/fab.d.ts +4 -0
  873. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  874. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  875. package/dist/types/components/footer/footer-interface.d.ts +1 -0
  876. package/dist/types/components/footer/footer.d.ts +20 -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-interface.d.ts +1 -0
  884. package/dist/types/components/header/header.d.ts +26 -3
  885. package/dist/types/components/header/header.utils.d.ts +4 -5
  886. package/dist/types/components/img/img.d.ts +2 -0
  887. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  888. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  889. package/dist/types/components/input/input.d.ts +48 -5
  890. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  891. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  892. package/dist/types/components/item/item.d.ts +11 -4
  893. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  894. package/dist/types/components/item-group/item-group.d.ts +4 -0
  895. package/dist/types/components/item-option/item-option.d.ts +18 -1
  896. package/dist/types/components/item-options/item-options.d.ts +4 -0
  897. package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
  898. package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
  899. package/dist/types/components/label/label.d.ts +2 -1
  900. package/dist/types/components/list/list.d.ts +15 -1
  901. package/dist/types/components/list-header/list-header.d.ts +2 -1
  902. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  903. package/dist/types/components/loading/loading.d.ts +3 -2
  904. package/dist/types/components/menu/menu.d.ts +3 -0
  905. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  906. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  907. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  908. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  909. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  910. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  911. package/dist/types/components/modal/modal.d.ts +11 -1
  912. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  913. package/dist/types/components/nav/nav.d.ts +5 -1
  914. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  915. package/dist/types/components/note/note.d.ts +2 -1
  916. package/dist/types/components/picker/picker.d.ts +2 -1
  917. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  918. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  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 +56 -10
  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.d.ts +64 -15
  939. package/dist/types/components/select-modal/select-modal.d.ts +8 -0
  940. package/dist/types/components/select-option/select-option.d.ts +7 -4
  941. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  942. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  943. package/dist/types/components/spinner/spinner.d.ts +15 -0
  944. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  945. package/dist/types/components/tab/tab.d.ts +4 -0
  946. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
  947. package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
  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 +74 -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 +1839 -211
  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/clear-button-press-controller.d.ts +20 -0
  967. package/dist/types/utils/forms/index.d.ts +1 -0
  968. package/dist/types/utils/forms/validity.d.ts +7 -0
  969. package/dist/types/utils/helpers.d.ts +22 -0
  970. package/dist/types/utils/overlay-control-label.d.ts +11 -9
  971. package/dist/types/utils/overlays-interface.d.ts +31 -1
  972. package/dist/types/utils/overlays.d.ts +1 -1
  973. package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
  974. package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
  975. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  976. package/dist/types/utils/theme.d.ts +9 -0
  977. package/hydrate/index.js +5445 -1216
  978. package/hydrate/index.mjs +5445 -1216
  979. package/package.json +7 -3
  980. package/components/p-1sJ0ZDPe.js +0 -4
  981. package/components/p-5ldEpNdG.js +0 -4
  982. package/components/p-B1_TL6RQ.js +0 -4
  983. package/components/p-B4lxwJ8N.js +0 -4
  984. package/components/p-BF48Oc0v.js +0 -4
  985. package/components/p-BJr2B5hZ.js +0 -4
  986. package/components/p-BNIsryb2.js +0 -4
  987. package/components/p-BSQPZ79H.js +0 -4
  988. package/components/p-BU8a2IhR.js +0 -4
  989. package/components/p-BW_SlU2D.js +0 -4
  990. package/components/p-BWoa-cki.js +0 -4
  991. package/components/p-BYJRZKHa.js +0 -4
  992. package/components/p-BhamHSw3.js +0 -4
  993. package/components/p-Bi-it1EH.js +0 -4
  994. package/components/p-BmVRXR1y.js +0 -4
  995. package/components/p-C-NbvXu4.js +0 -4
  996. package/components/p-C09TXohi.js +0 -4
  997. package/components/p-C8Ck7_Eo.js +0 -4
  998. package/components/p-CG_zZq_I.js +0 -4
  999. package/components/p-CIGNaXM1.js +0 -4
  1000. package/components/p-CJgnoKcN.js +0 -4
  1001. package/components/p-CMRYD_yR.js +0 -4
  1002. package/components/p-CNLioZ3B.js +0 -4
  1003. package/components/p-COO0eJOA.js +0 -4
  1004. package/components/p-CWAks_S_.js +0 -4
  1005. package/components/p-Cd1WaN-0.js +0 -4
  1006. package/components/p-CqbGBmqb.js +0 -4
  1007. package/components/p-CrAKlX71.js +0 -4
  1008. package/components/p-Ctop2IWW.js +0 -4
  1009. package/components/p-D5w_FlVa.js +0 -4
  1010. package/components/p-D7-vHX0A.js +0 -4
  1011. package/components/p-D7wDJdFn.js +0 -4
  1012. package/components/p-DFLJvuRK.js +0 -4
  1013. package/components/p-DJztqcrH.js +0 -4
  1014. package/components/p-DL13ieTa.js +0 -4
  1015. package/components/p-DMBiAyOR.js +0 -4
  1016. package/components/p-DZRZic9C.js +0 -4
  1017. package/components/p-DnBNYc7u.js +0 -4
  1018. package/components/p-GGbIHyEF.js +0 -4
  1019. package/components/p-Hp8t4RMX.js +0 -4
  1020. package/components/p-LpMHEu3v.js +0 -4
  1021. package/components/p-M34T2gyX.js +0 -4
  1022. package/components/p-TWw4e4sO.js +0 -4
  1023. package/components/p-YjMkHuvH.js +0 -4
  1024. package/components/p-ZjP4CjeZ.js +0 -4
  1025. package/components/p-byZM6qHV.js +0 -4
  1026. package/components/p-cEN43Ahr.js +0 -4
  1027. package/dist/cjs/hardware-back-button-Bu4Dzw8l.js +0 -121
  1028. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1029. package/dist/cjs/ionic-global-CYJNT-2P.js +0 -156
  1030. package/dist/cjs/keyboard-controller-PtZoN2GS.js +0 -167
  1031. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1032. package/dist/esm/hardware-back-button-DmkiRgOT.js +0 -115
  1033. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1034. package/dist/esm/ionic-global-ZXjCXKH0.js +0 -151
  1035. package/dist/esm/keyboard-controller-DEwoa1ev.js +0 -165
  1036. package/dist/esm/validity-DJztqcrH.js +0 -17
  1037. package/dist/ionic/p-099b7f9f.entry.js +0 -4
  1038. package/dist/ionic/p-171a2278.entry.js +0 -4
  1039. package/dist/ionic/p-191a651e.entry.js +0 -4
  1040. package/dist/ionic/p-1f24cb24.entry.js +0 -4
  1041. package/dist/ionic/p-271c3640.entry.js +0 -4
  1042. package/dist/ionic/p-2ea4bb36.entry.js +0 -4
  1043. package/dist/ionic/p-338a02e0.entry.js +0 -4
  1044. package/dist/ionic/p-354d38d3.entry.js +0 -4
  1045. package/dist/ionic/p-38b9375b.entry.js +0 -4
  1046. package/dist/ionic/p-3bba83ee.entry.js +0 -4
  1047. package/dist/ionic/p-3e01c744.entry.js +0 -4
  1048. package/dist/ionic/p-458715a9.entry.js +0 -4
  1049. package/dist/ionic/p-4712a8a9.entry.js +0 -4
  1050. package/dist/ionic/p-4c3e50f8.entry.js +0 -4
  1051. package/dist/ionic/p-54cbb0a7.entry.js +0 -4
  1052. package/dist/ionic/p-561af487.entry.js +0 -4
  1053. package/dist/ionic/p-5906ea6f.entry.js +0 -4
  1054. package/dist/ionic/p-5cc09b40.entry.js +0 -4
  1055. package/dist/ionic/p-5d9094ac.entry.js +0 -4
  1056. package/dist/ionic/p-612ea3b1.entry.js +0 -4
  1057. package/dist/ionic/p-68cc89a6.entry.js +0 -4
  1058. package/dist/ionic/p-6e386853.entry.js +0 -4
  1059. package/dist/ionic/p-77c96e08.entry.js +0 -4
  1060. package/dist/ionic/p-7bfeccb3.entry.js +0 -4
  1061. package/dist/ionic/p-7e394cc3.entry.js +0 -4
  1062. package/dist/ionic/p-7fbb3319.entry.js +0 -4
  1063. package/dist/ionic/p-803059b6.entry.js +0 -4
  1064. package/dist/ionic/p-85599fe3.entry.js +0 -4
  1065. package/dist/ionic/p-8b80d9f9.entry.js +0 -4
  1066. package/dist/ionic/p-90f50a65.entry.js +0 -4
  1067. package/dist/ionic/p-9595e305.entry.js +0 -4
  1068. package/dist/ionic/p-9c5f2691.entry.js +0 -4
  1069. package/dist/ionic/p-9ee9c5b6.entry.js +0 -4
  1070. package/dist/ionic/p-BMPN55of.js +0 -4
  1071. package/dist/ionic/p-BMiZX1LT.js +0 -4
  1072. package/dist/ionic/p-BSQPZ79H.js +0 -4
  1073. package/dist/ionic/p-BY6BzzPF.js +0 -4
  1074. package/dist/ionic/p-BgOvhHy_.js +0 -4
  1075. package/dist/ionic/p-BhamHSw3.js +0 -4
  1076. package/dist/ionic/p-BijjLYjT.js +0 -4
  1077. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1078. package/dist/ionic/p-BvabGprD.js +0 -4
  1079. package/dist/ionic/p-C23AVPx9.js +0 -6
  1080. package/dist/ionic/p-CER8qW8Y.js +0 -4
  1081. package/dist/ionic/p-CFuOr1Tu.js +0 -4
  1082. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1083. package/dist/ionic/p-CJv-wOAd.js +0 -4
  1084. package/dist/ionic/p-CMZYmFb4.js +0 -4
  1085. package/dist/ionic/p-CmXuiRT6.js +0 -4
  1086. package/dist/ionic/p-D5t_-oMk.js +0 -4
  1087. package/dist/ionic/p-D6rHcCvc.js +0 -4
  1088. package/dist/ionic/p-DJztqcrH.js +0 -4
  1089. package/dist/ionic/p-DLM95R4x.js +0 -4
  1090. package/dist/ionic/p-DYUjHcuH.js +0 -4
  1091. package/dist/ionic/p-D_gb-kdd.js +0 -4
  1092. package/dist/ionic/p-DajLgJ4d.js +0 -4
  1093. package/dist/ionic/p-Do3zTvCA.js +0 -4
  1094. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1095. package/dist/ionic/p-a8df96c8.entry.js +0 -4
  1096. package/dist/ionic/p-a8ff2489.entry.js +0 -4
  1097. package/dist/ionic/p-aff52029.entry.js +0 -4
  1098. package/dist/ionic/p-b3532b8d.entry.js +0 -4
  1099. package/dist/ionic/p-b9b4e85d.entry.js +0 -4
  1100. package/dist/ionic/p-byZM6qHV.js +0 -4
  1101. package/dist/ionic/p-ca1b8865.entry.js +0 -4
  1102. package/dist/ionic/p-cc4320d3.entry.js +0 -4
  1103. package/dist/ionic/p-d526798a.entry.js +0 -4
  1104. package/dist/ionic/p-d6755739.entry.js +0 -4
  1105. package/dist/ionic/p-d8c138d9.entry.js +0 -4
  1106. package/dist/ionic/p-dd01be0a.entry.js +0 -4
  1107. package/dist/ionic/p-e7f4b1e0.entry.js +0 -4
  1108. package/dist/ionic/p-ec00fd0d.entry.js +0 -4
  1109. package/dist/ionic/p-ee09ac9d.entry.js +0 -4
  1110. package/dist/ionic/p-efc0cf82.entry.js +0 -4
  1111. package/dist/ionic/p-f0fb23c1.entry.js +0 -4
  1112. package/dist/ionic/p-f83b3e0c.entry.js +0 -4
  1113. package/dist/ionic/p-fa50d493.entry.js +0 -4
  1114. package/dist/ionic/p-fe9ed9bd.entry.js +0 -4
  1115. package/dist/ionic/p-zWf7R2xV.js +0 -4
  1116. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -16,6 +16,9 @@ import { BreadcrumbCollapsedClickEventDetail } from "./components/breadcrumb/bre
16
16
  import { CheckboxChangeEventDetail } from "./components/checkbox/checkbox-interface";
17
17
  import { ScrollBaseDetail, ScrollDetail } from "./components/content/content-interface";
18
18
  import { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimeHourCycle, DatetimeParts, DatetimePresentation, FormatOptions, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
19
+ import { FooterScrollEffect } from "./components/footer/footer-interface";
20
+ import { GalleryColumns, GalleryGap } from "./components/gallery/gallery-interface";
21
+ import { HeaderScrollEffect } from "./components/header/header-interface";
19
22
  import { SpinnerTypes } from "./components/spinner/spinner-configs";
20
23
  import { InputChangeEventDetail, InputInputEventDetail } from "./components/input/input-interface";
21
24
  import { InputOtpChangeEventDetail, InputOtpCompleteEventDetail, InputOtpInputEventDetail } from "./components/input-otp/input-otp-interface";
@@ -38,7 +41,7 @@ import { SegmentViewScrollEvent } from "./components/segment-view/segment-view-i
38
41
  import { SelectChangeEventDetail, SelectCompareFn, SelectInterface } from "./components/select/select-interface";
39
42
  import { SelectModalOption } from "./components/select-modal/select-modal-interface";
40
43
  import { SelectPopoverOption } from "./components/select-popover/select-popover-interface";
41
- import { TabBarChangedEventDetail, TabButtonClickEventDetail, TabButtonLayout } from "./components/tab-bar/tab-bar-interface";
44
+ import { TabBarChangedEventDetail, TabBarScrollEffect, TabButtonClickEventDetail, TabButtonLayout } from "./components/tab-bar/tab-bar-interface";
42
45
  import { TextareaChangeEventDetail, TextareaInputEventDetail } from "./components/textarea/textarea-interface";
43
46
  import { ToastButton, ToastDismissOptions, ToastLayout, ToastPosition, ToastPresentOptions, ToastSwipeGestureDirection } from "./components/toast/toast-interface";
44
47
  import { ToggleChangeEventDetail } from "./components/toggle/toggle-interface";
@@ -53,6 +56,9 @@ export { BreadcrumbCollapsedClickEventDetail } from "./components/breadcrumb/bre
53
56
  export { CheckboxChangeEventDetail } from "./components/checkbox/checkbox-interface";
54
57
  export { ScrollBaseDetail, ScrollDetail } from "./components/content/content-interface";
55
58
  export { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimeHourCycle, DatetimeParts, DatetimePresentation, FormatOptions, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
59
+ export { FooterScrollEffect } from "./components/footer/footer-interface";
60
+ export { GalleryColumns, GalleryGap } from "./components/gallery/gallery-interface";
61
+ export { HeaderScrollEffect } from "./components/header/header-interface";
56
62
  export { SpinnerTypes } from "./components/spinner/spinner-configs";
57
63
  export { InputChangeEventDetail, InputInputEventDetail } from "./components/input/input-interface";
58
64
  export { InputOtpChangeEventDetail, InputOtpCompleteEventDetail, InputOtpInputEventDetail } from "./components/input-otp/input-otp-interface";
@@ -75,7 +81,7 @@ export { SegmentViewScrollEvent } from "./components/segment-view/segment-view-i
75
81
  export { SelectChangeEventDetail, SelectCompareFn, SelectInterface } from "./components/select/select-interface";
76
82
  export { SelectModalOption } from "./components/select-modal/select-modal-interface";
77
83
  export { SelectPopoverOption } from "./components/select-popover/select-popover-interface";
78
- export { TabBarChangedEventDetail, TabButtonClickEventDetail, TabButtonLayout } from "./components/tab-bar/tab-bar-interface";
84
+ export { TabBarChangedEventDetail, TabBarScrollEffect, TabButtonClickEventDetail, TabButtonLayout } from "./components/tab-bar/tab-bar-interface";
79
85
  export { TextareaChangeEventDetail, TextareaInputEventDetail } from "./components/textarea/textarea-interface";
80
86
  export { ToastButton, ToastDismissOptions, ToastLayout, ToastPosition, ToastPresentOptions, ToastSwipeGestureDirection } from "./components/toast/toast-interface";
81
87
  export { ToggleChangeEventDetail } from "./components/toggle/toggle-interface";
@@ -87,7 +93,7 @@ export namespace Components {
87
93
  */
88
94
  "disabled": boolean;
89
95
  /**
90
- * The mode determines which platform styles to use.
96
+ * The mode determines the platform behaviors of the component.
91
97
  */
92
98
  "mode"?: "ios" | "md";
93
99
  /**
@@ -95,11 +101,14 @@ export namespace Components {
95
101
  * @default false
96
102
  */
97
103
  "readonly": boolean;
104
+ /**
105
+ * The theme determines the visual appearance of the component.
106
+ */
107
+ "theme"?: "ios" | "md" | "ionic";
98
108
  /**
99
109
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
100
- * @default chevronDown
101
110
  */
102
- "toggleIcon": string;
111
+ "toggleIcon"?: string;
103
112
  /**
104
113
  * The slot inside of `ion-item` to place the toggle icon. Defaults to `"end"`.
105
114
  * @default 'end'
@@ -129,7 +138,7 @@ export namespace Components {
129
138
  "expand": 'compact' | 'inset';
130
139
  "getAccordions": () => Promise<HTMLIonAccordionElement[]>;
131
140
  /**
132
- * The mode determines which platform styles to use.
141
+ * The mode determines the platform behaviors of the component.
133
142
  */
134
143
  "mode"?: "ios" | "md";
135
144
  /**
@@ -145,6 +154,14 @@ export namespace Components {
145
154
  * 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.
146
155
  */
147
156
  "requestAccordionToggle": (accordionValue: string | undefined, accordionExpand: boolean) => Promise<void>;
157
+ /**
158
+ * 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"`.
159
+ */
160
+ "shape"?: 'soft' | 'round' | 'rectangular';
161
+ /**
162
+ * The theme determines the visual appearance of the component.
163
+ */
164
+ "theme"?: "ios" | "md" | "ionic";
148
165
  /**
149
166
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
150
167
  */
@@ -208,7 +225,7 @@ export namespace Components {
208
225
  */
209
226
  "leaveAnimation"?: AnimationBuilder;
210
227
  /**
211
- * The mode determines which platform styles to use.
228
+ * The mode determines the platform behaviors of the component.
212
229
  */
213
230
  "mode"?: "ios" | "md";
214
231
  /**
@@ -229,7 +246,11 @@ export namespace Components {
229
246
  */
230
247
  "subHeader"?: string;
231
248
  /**
232
- * 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).
249
+ * The theme determines the visual appearance of the component.
250
+ */
251
+ "theme"?: "ios" | "md" | "ionic";
252
+ /**
253
+ * 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).
233
254
  * @default false
234
255
  */
235
256
  "translucent": boolean;
@@ -305,7 +326,7 @@ export namespace Components {
305
326
  */
306
327
  "message"?: string | IonicSafeString;
307
328
  /**
308
- * The mode determines which platform styles to use.
329
+ * The mode determines the platform behaviors of the component.
309
330
  */
310
331
  "mode"?: "ios" | "md";
311
332
  /**
@@ -326,7 +347,11 @@ export namespace Components {
326
347
  */
327
348
  "subHeader"?: string;
328
349
  /**
329
- * 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).
350
+ * The theme determines the visual appearance of the component.
351
+ */
352
+ "theme"?: "ios" | "md" | "ionic";
353
+ /**
354
+ * 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).
330
355
  * @default false
331
356
  */
332
357
  "translucent": boolean;
@@ -336,13 +361,42 @@ export namespace Components {
336
361
  "trigger": string | undefined;
337
362
  }
338
363
  interface IonApp {
364
+ /**
365
+ * The mode determines the platform behaviors of the component.
366
+ */
367
+ "mode"?: "ios" | "md";
339
368
  /**
340
369
  * 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.)
341
370
  * @param elements An array of HTML elements to set focus on.
342
371
  */
343
372
  "setFocus": (elements: HTMLElement[]) => Promise<void>;
373
+ /**
374
+ * The theme determines the visual appearance of the component.
375
+ */
376
+ "theme"?: "ios" | "md" | "ionic";
344
377
  }
345
378
  interface IonAvatar {
379
+ /**
380
+ * If `true`, the user cannot interact with the avatar.
381
+ * @default false
382
+ */
383
+ "disabled": boolean;
384
+ /**
385
+ * The mode determines the platform behaviors of the component.
386
+ */
387
+ "mode"?: "ios" | "md";
388
+ /**
389
+ * 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.
390
+ */
391
+ "shape"?: 'soft' | 'round' | 'rectangular';
392
+ /**
393
+ * 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.
394
+ */
395
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
396
+ /**
397
+ * The theme determines the visual appearance of the component.
398
+ */
399
+ "theme"?: "ios" | "md" | "ionic";
346
400
  }
347
401
  interface IonBackButton {
348
402
  /**
@@ -363,7 +417,7 @@ export namespace Components {
363
417
  */
364
418
  "icon"?: string | null;
365
419
  /**
366
- * The mode determines which platform styles to use.
420
+ * The mode determines the platform behaviors of the component.
367
421
  */
368
422
  "mode"?: "ios" | "md";
369
423
  /**
@@ -374,6 +428,10 @@ export namespace Components {
374
428
  * The text to display in the back button.
375
429
  */
376
430
  "text"?: string | null;
431
+ /**
432
+ * The theme determines the visual appearance of the component.
433
+ */
434
+ "theme"?: "ios" | "md" | "ionic";
377
435
  /**
378
436
  * The type of the button.
379
437
  * @default 'button'
@@ -381,6 +439,10 @@ export namespace Components {
381
439
  "type": 'submit' | 'reset' | 'button';
382
440
  }
383
441
  interface IonBackdrop {
442
+ /**
443
+ * The mode determines the platform behaviors of the component.
444
+ */
445
+ "mode"?: "ios" | "md";
384
446
  /**
385
447
  * If `true`, the backdrop will stop propagation on tap.
386
448
  * @default true
@@ -391,6 +453,10 @@ export namespace Components {
391
453
  * @default true
392
454
  */
393
455
  "tappable": boolean;
456
+ /**
457
+ * The theme determines the visual appearance of the component.
458
+ */
459
+ "theme"?: "ios" | "md" | "ionic";
394
460
  /**
395
461
  * If `true`, the backdrop will be visible.
396
462
  * @default true
@@ -403,9 +469,29 @@ export namespace Components {
403
469
  */
404
470
  "color"?: Color;
405
471
  /**
406
- * The mode determines which platform styles to use.
472
+ * 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.
473
+ */
474
+ "hue"?: 'bold' | 'subtle';
475
+ /**
476
+ * The mode determines the platform behaviors of the component.
407
477
  */
408
478
  "mode"?: "ios" | "md";
479
+ /**
480
+ * 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.
481
+ */
482
+ "shape"?: 'soft' | 'round | rectangular';
483
+ /**
484
+ * 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.
485
+ */
486
+ "size"?: 'small' | 'medium' | 'large';
487
+ /**
488
+ * The theme determines the visual appearance of the component.
489
+ */
490
+ "theme"?: "ios" | "md" | "ionic";
491
+ /**
492
+ * 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.
493
+ */
494
+ "vertical"?: 'top' | 'bottom';
409
495
  }
410
496
  interface IonBreadcrumb {
411
497
  /**
@@ -436,7 +522,7 @@ export namespace Components {
436
522
  "href": string | undefined;
437
523
  "last": boolean;
438
524
  /**
439
- * The mode determines which platform styles to use.
525
+ * The mode determines the platform behaviors of the component.
440
526
  */
441
527
  "mode"?: "ios" | "md";
442
528
  /**
@@ -461,6 +547,10 @@ export namespace Components {
461
547
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
462
548
  */
463
549
  "target": string | undefined;
550
+ /**
551
+ * The theme determines the visual appearance of the component.
552
+ */
553
+ "theme"?: "ios" | "md" | "ionic";
464
554
  }
465
555
  interface IonBreadcrumbs {
466
556
  /**
@@ -482,9 +572,13 @@ export namespace Components {
482
572
  */
483
573
  "maxItems"?: number;
484
574
  /**
485
- * The mode determines which platform styles to use.
575
+ * The mode determines the platform behaviors of the component.
486
576
  */
487
577
  "mode"?: "ios" | "md";
578
+ /**
579
+ * The theme determines the visual appearance of the component.
580
+ */
581
+ "theme"?: "ios" | "md" | "ionic";
488
582
  }
489
583
  interface IonButton {
490
584
  /**
@@ -510,7 +604,7 @@ export namespace Components {
510
604
  */
511
605
  "expand"?: 'full' | 'block';
512
606
  /**
513
- * 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"`.
607
+ * 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"`.
514
608
  */
515
609
  "fill"?: 'clear' | 'outline' | 'solid' | 'default';
516
610
  /**
@@ -522,7 +616,7 @@ export namespace Components {
522
616
  */
523
617
  "href": string | undefined;
524
618
  /**
525
- * The mode determines which platform styles to use.
619
+ * The mode determines the platform behaviors of the component.
526
620
  */
527
621
  "mode"?: "ios" | "md";
528
622
  /**
@@ -539,13 +633,13 @@ export namespace Components {
539
633
  */
540
634
  "routerDirection": RouterDirection;
541
635
  /**
542
- * Set to `"round"` for a button with more rounded corners.
636
+ * 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.
543
637
  */
544
- "shape"?: 'round';
638
+ "shape"?: 'soft' | 'round' | 'rectangular';
545
639
  /**
546
- * 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.
640
+ * 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.
547
641
  */
548
- "size"?: 'small' | 'default' | 'large';
642
+ "size"?: 'small' | 'default' | 'medium' | 'large';
549
643
  /**
550
644
  * If `true`, activates a button with a heavier font weight.
551
645
  * @default false
@@ -555,6 +649,10 @@ export namespace Components {
555
649
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
556
650
  */
557
651
  "target": string | undefined;
652
+ /**
653
+ * The theme determines the visual appearance of the component.
654
+ */
655
+ "theme"?: "ios" | "md" | "ionic";
558
656
  /**
559
657
  * The type of the button.
560
658
  * @default 'button'
@@ -563,10 +661,18 @@ export namespace Components {
563
661
  }
564
662
  interface IonButtons {
565
663
  /**
566
- * 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)
664
+ * 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)
567
665
  * @default false
568
666
  */
569
667
  "collapse": boolean;
668
+ /**
669
+ * The mode determines the platform behaviors of the component.
670
+ */
671
+ "mode"?: "ios" | "md";
672
+ /**
673
+ * The theme determines the visual appearance of the component.
674
+ */
675
+ "theme"?: "ios" | "md" | "ionic";
570
676
  }
571
677
  interface IonCard {
572
678
  /**
@@ -592,7 +698,7 @@ export namespace Components {
592
698
  */
593
699
  "href": string | undefined;
594
700
  /**
595
- * The mode determines which platform styles to use.
701
+ * The mode determines the platform behaviors of the component.
596
702
  */
597
703
  "mode"?: "ios" | "md";
598
704
  /**
@@ -608,10 +714,19 @@ export namespace Components {
608
714
  * @default 'forward'
609
715
  */
610
716
  "routerDirection": RouterDirection;
717
+ /**
718
+ * 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"`.
719
+ * @default 'round'
720
+ */
721
+ "shape"?: 'soft' | 'round' | 'rectangular';
611
722
  /**
612
723
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
613
724
  */
614
725
  "target": string | undefined;
726
+ /**
727
+ * The theme determines the visual appearance of the component.
728
+ */
729
+ "theme"?: "ios" | "md" | "ionic";
615
730
  /**
616
731
  * The type of the button. Only used when an `onclick` or `button` property is present.
617
732
  * @default 'button'
@@ -620,9 +735,13 @@ export namespace Components {
620
735
  }
621
736
  interface IonCardContent {
622
737
  /**
623
- * The mode determines which platform styles to use.
738
+ * The mode determines the platform behaviors of the component.
624
739
  */
625
740
  "mode"?: "ios" | "md";
741
+ /**
742
+ * The theme determines the visual appearance of the component.
743
+ */
744
+ "theme"?: "ios" | "md" | "ionic";
626
745
  }
627
746
  interface IonCardHeader {
628
747
  /**
@@ -630,11 +749,15 @@ export namespace Components {
630
749
  */
631
750
  "color"?: Color;
632
751
  /**
633
- * The mode determines which platform styles to use.
752
+ * The mode determines the platform behaviors of the component.
634
753
  */
635
754
  "mode"?: "ios" | "md";
636
755
  /**
637
- * 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).
756
+ * The theme determines the visual appearance of the component.
757
+ */
758
+ "theme"?: "ios" | "md" | "ionic";
759
+ /**
760
+ * 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).
638
761
  * @default false
639
762
  */
640
763
  "translucent": boolean;
@@ -645,9 +768,13 @@ export namespace Components {
645
768
  */
646
769
  "color"?: Color;
647
770
  /**
648
- * The mode determines which platform styles to use.
771
+ * The mode determines the platform behaviors of the component.
649
772
  */
650
773
  "mode"?: "ios" | "md";
774
+ /**
775
+ * The theme determines the visual appearance of the component.
776
+ */
777
+ "theme"?: "ios" | "md" | "ionic";
651
778
  }
652
779
  interface IonCardTitle {
653
780
  /**
@@ -655,9 +782,13 @@ export namespace Components {
655
782
  */
656
783
  "color"?: Color;
657
784
  /**
658
- * The mode determines which platform styles to use.
785
+ * The mode determines the platform behaviors of the component.
659
786
  */
660
787
  "mode"?: "ios" | "md";
788
+ /**
789
+ * The theme determines the visual appearance of the component.
790
+ */
791
+ "theme"?: "ios" | "md" | "ionic";
661
792
  }
662
793
  interface IonCheckbox {
663
794
  /**
@@ -701,7 +832,7 @@ export namespace Components {
701
832
  */
702
833
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
703
834
  /**
704
- * The mode determines which platform styles to use.
835
+ * The mode determines the platform behaviors of the component.
705
836
  */
706
837
  "mode"?: "ios" | "md";
707
838
  /**
@@ -715,6 +846,19 @@ export namespace Components {
715
846
  */
716
847
  "required": boolean;
717
848
  "setFocus": () => Promise<void>;
849
+ /**
850
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
851
+ * @default 'soft'
852
+ */
853
+ "shape"?: 'soft' | 'rectangular';
854
+ /**
855
+ * Set to `"small"` for a checkbox with less height and padding.
856
+ */
857
+ "size"?: 'small';
858
+ /**
859
+ * The theme determines the visual appearance of the component.
860
+ */
861
+ "theme"?: "ios" | "md" | "ionic";
718
862
  /**
719
863
  * 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>`.
720
864
  * @default 'on'
@@ -732,7 +876,12 @@ export namespace Components {
732
876
  */
733
877
  "disabled": boolean;
734
878
  /**
735
- * The mode determines which platform styles to use.
879
+ * 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.
880
+ * @default 'subtle'
881
+ */
882
+ "hue"?: 'bold' | 'subtle';
883
+ /**
884
+ * The mode determines the platform behaviors of the component.
736
885
  */
737
886
  "mode"?: "ios" | "md";
738
887
  /**
@@ -740,8 +889,24 @@ export namespace Components {
740
889
  * @default false
741
890
  */
742
891
  "outline": boolean;
892
+ /**
893
+ * 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.
894
+ */
895
+ "shape"?: 'soft' | 'round' | 'rectangular';
896
+ /**
897
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
898
+ */
899
+ "size"?: 'small' | 'large';
900
+ /**
901
+ * The theme determines the visual appearance of the component.
902
+ */
903
+ "theme"?: "ios" | "md" | "ionic";
743
904
  }
744
905
  interface IonCol {
906
+ /**
907
+ * The mode determines the platform behaviors of the component.
908
+ */
909
+ "mode"?: "ios" | "md";
745
910
  /**
746
911
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
747
912
  */
@@ -766,52 +931,88 @@ export namespace Components {
766
931
  * 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.
767
932
  */
768
933
  "offsetXs"?: string;
934
+ /**
935
+ * 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.
936
+ */
937
+ "order"?: string;
938
+ /**
939
+ * 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.
940
+ */
941
+ "orderLg"?: string;
942
+ /**
943
+ * 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.
944
+ */
945
+ "orderMd"?: string;
946
+ /**
947
+ * 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.
948
+ */
949
+ "orderSm"?: string;
950
+ /**
951
+ * 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.
952
+ */
953
+ "orderXl"?: string;
954
+ /**
955
+ * 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.
956
+ */
957
+ "orderXs"?: string;
769
958
  /**
770
959
  * The amount to pull the column, in terms of how many columns it should shift to the start of the total available.
960
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
771
961
  */
772
962
  "pull"?: string;
773
963
  /**
774
964
  * 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.
965
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
775
966
  */
776
967
  "pullLg"?: string;
777
968
  /**
778
969
  * 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.
970
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
779
971
  */
780
972
  "pullMd"?: string;
781
973
  /**
782
974
  * 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.
975
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
783
976
  */
784
977
  "pullSm"?: string;
785
978
  /**
786
979
  * 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.
980
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
787
981
  */
788
982
  "pullXl"?: string;
789
983
  /**
790
984
  * 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.
985
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
791
986
  */
792
987
  "pullXs"?: string;
793
988
  /**
794
989
  * The amount to push the column, in terms of how many columns it should shift to the end of the total available.
990
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
795
991
  */
796
992
  "push"?: string;
797
993
  /**
798
994
  * 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.
995
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
799
996
  */
800
997
  "pushLg"?: string;
801
998
  /**
802
999
  * 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.
1000
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
803
1001
  */
804
1002
  "pushMd"?: string;
805
1003
  /**
806
1004
  * 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.
1005
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
807
1006
  */
808
1007
  "pushSm"?: string;
809
1008
  /**
810
1009
  * 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.
1010
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
811
1011
  */
812
1012
  "pushXl"?: string;
813
1013
  /**
814
1014
  * 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.
1015
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
815
1016
  */
816
1017
  "pushXs"?: string;
817
1018
  /**
@@ -838,6 +1039,10 @@ export namespace Components {
838
1039
  * 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.
839
1040
  */
840
1041
  "sizeXs"?: string;
1042
+ /**
1043
+ * The theme determines the visual appearance of the component.
1044
+ */
1045
+ "theme"?: "ios" | "md" | "ionic";
841
1046
  }
842
1047
  interface IonContent {
843
1048
  /**
@@ -866,6 +1071,10 @@ export namespace Components {
866
1071
  * 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.
867
1072
  */
868
1073
  "getScrollElement": () => Promise<HTMLElement>;
1074
+ /**
1075
+ * The mode determines the platform behaviors of the component.
1076
+ */
1077
+ "mode"?: "ios" | "md";
869
1078
  /**
870
1079
  * 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.
871
1080
  */
@@ -909,6 +1118,10 @@ export namespace Components {
909
1118
  * @default true
910
1119
  */
911
1120
  "scrollY": boolean;
1121
+ /**
1122
+ * The theme determines the visual appearance of the component.
1123
+ */
1124
+ "theme"?: "ios" | "md" | "ionic";
912
1125
  }
913
1126
  interface IonDatetime {
914
1127
  /**
@@ -996,7 +1209,7 @@ export namespace Components {
996
1209
  */
997
1210
  "minuteValues"?: number[] | number | string;
998
1211
  /**
999
- * The mode determines which platform styles to use.
1212
+ * The mode determines the platform behaviors of the component.
1000
1213
  */
1001
1214
  "mode"?: "ios" | "md";
1002
1215
  /**
@@ -1063,6 +1276,10 @@ export namespace Components {
1063
1276
  * @default 'fixed'
1064
1277
  */
1065
1278
  "size": 'cover' | 'fixed';
1279
+ /**
1280
+ * The theme determines the visual appearance of the component.
1281
+ */
1282
+ "theme"?: "ios" | "md" | "ionic";
1066
1283
  /**
1067
1284
  * 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.
1068
1285
  */
@@ -1091,9 +1308,25 @@ export namespace Components {
1091
1308
  */
1092
1309
  "disabled": boolean;
1093
1310
  /**
1094
- * The mode determines which platform styles to use.
1311
+ * The mode determines the platform behaviors of the component.
1095
1312
  */
1096
1313
  "mode"?: "ios" | "md";
1314
+ /**
1315
+ * The theme determines the visual appearance of the component.
1316
+ */
1317
+ "theme"?: "ios" | "md" | "ionic";
1318
+ }
1319
+ interface IonDivider {
1320
+ /**
1321
+ * If `true`, the divider will have horizontal margins By default, it's `false`
1322
+ * @default false
1323
+ */
1324
+ "inset": boolean;
1325
+ /**
1326
+ * Set to `"xxsmall"` for the smallest spacing. Set to "xsmall" for very small spacing. Set to `"small"` for small spacing. Set to "medium" for medium spacing. Set to "large" for large spacing. Set to `"xlarge"` for the largest spacing. Defaults to `"medium"`.
1327
+ * @default 'medium'
1328
+ */
1329
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
1097
1330
  }
1098
1331
  interface IonFab {
1099
1332
  /**
@@ -1114,6 +1347,14 @@ export namespace Components {
1114
1347
  * Where to align the fab horizontally in the viewport.
1115
1348
  */
1116
1349
  "horizontal"?: 'start' | 'end' | 'center';
1350
+ /**
1351
+ * The mode determines the platform behaviors of the component.
1352
+ */
1353
+ "mode"?: "ios" | "md";
1354
+ /**
1355
+ * The theme determines the visual appearance of the component.
1356
+ */
1357
+ "theme"?: "ios" | "md" | "ionic";
1117
1358
  /**
1118
1359
  * Opens/Closes the FAB list container.
1119
1360
  */
@@ -1131,9 +1372,8 @@ export namespace Components {
1131
1372
  "activated": boolean;
1132
1373
  /**
1133
1374
  * The icon name to use for the close icon. This will appear when the fab button is pressed. Only applies if it is the main button inside of a fab containing a fab list.
1134
- * @default close
1135
1375
  */
1136
- "closeIcon": string;
1376
+ "closeIcon"?: string;
1137
1377
  /**
1138
1378
  * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1139
1379
  */
@@ -1156,7 +1396,7 @@ export namespace Components {
1156
1396
  */
1157
1397
  "href": string | undefined;
1158
1398
  /**
1159
- * The mode determines which platform styles to use.
1399
+ * The mode determines the platform behaviors of the component.
1160
1400
  */
1161
1401
  "mode"?: "ios" | "md";
1162
1402
  /**
@@ -1186,7 +1426,11 @@ export namespace Components {
1186
1426
  */
1187
1427
  "target": string | undefined;
1188
1428
  /**
1189
- * If `true`, the fab button will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1429
+ * The theme determines the visual appearance of the component.
1430
+ */
1431
+ "theme"?: "ios" | "md" | "ionic";
1432
+ /**
1433
+ * If `true`, the fab button will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1190
1434
  * @default false
1191
1435
  */
1192
1436
  "translucent": boolean;
@@ -1202,45 +1446,127 @@ export namespace Components {
1202
1446
  * @default false
1203
1447
  */
1204
1448
  "activated": boolean;
1449
+ /**
1450
+ * The mode determines the platform behaviors of the component.
1451
+ */
1452
+ "mode"?: "ios" | "md";
1205
1453
  /**
1206
1454
  * The side the fab list will show on relative to the main fab button.
1207
1455
  * @default 'bottom'
1208
1456
  */
1209
1457
  "side": 'start' | 'end' | 'top' | 'bottom';
1458
+ /**
1459
+ * The theme determines the visual appearance of the component.
1460
+ */
1461
+ "theme"?: "ios" | "md" | "ionic";
1210
1462
  }
1211
1463
  interface IonFooter {
1212
1464
  /**
1213
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
1465
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
1466
+ * @deprecated Use `scrollEffect` instead.
1214
1467
  */
1215
1468
  "collapse"?: 'fade';
1216
1469
  /**
1217
- * The mode determines which platform styles to use.
1470
+ * The mode determines the platform behaviors of the component.
1218
1471
  */
1219
1472
  "mode"?: "ios" | "md";
1220
1473
  /**
1221
- * If `true`, the footer will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
1474
+ * Describes the scroll effect that will be applied to the footer. `"hide"` slides the footer out of view when scrolling down and back in when scrolling up. `"fade"` fades the toolbar background on scroll.
1475
+ */
1476
+ "scrollEffect"?: FooterScrollEffect;
1477
+ /**
1478
+ * The theme determines the visual appearance of the component.
1479
+ */
1480
+ "theme"?: "ios" | "md" | "ionic";
1481
+ /**
1482
+ * If `true`, the footer will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
1222
1483
  * @default false
1223
1484
  */
1224
1485
  "translucent": boolean;
1225
1486
  }
1487
+ interface IonGallery {
1488
+ /**
1489
+ * 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 }`).
1490
+ * @default { xs: 2, sm: 3, md: 4, lg: 6, xl: 8, xxl: 10, }
1491
+ */
1492
+ "columns": GalleryColumns;
1493
+ /**
1494
+ * 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.
1495
+ * @default '16px'
1496
+ */
1497
+ "gap": GalleryGap;
1498
+ /**
1499
+ * 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.
1500
+ * @default 'uniform'
1501
+ */
1502
+ "layout": 'uniform' | 'masonry';
1503
+ /**
1504
+ * The mode determines the platform behaviors of the component.
1505
+ */
1506
+ "mode"?: "ios" | "md";
1507
+ /**
1508
+ * 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.
1509
+ */
1510
+ "order"?: 'sequential' | 'best-fit';
1511
+ /**
1512
+ * The theme determines the visual appearance of the component.
1513
+ */
1514
+ "theme"?: "ios" | "md" | "ionic";
1515
+ }
1516
+ interface IonGalleryItem {
1517
+ /**
1518
+ * The mode determines the platform behaviors of the component.
1519
+ */
1520
+ "mode"?: "ios" | "md";
1521
+ /**
1522
+ * Resolve the layout from the parent `ion-gallery`. Called internally on load and connect, and by the gallery when its layout changes.
1523
+ */
1524
+ "syncGalleryLayout": () => Promise<void>;
1525
+ /**
1526
+ * The theme determines the visual appearance of the component.
1527
+ */
1528
+ "theme"?: "ios" | "md" | "ionic";
1529
+ }
1226
1530
  interface IonGrid {
1227
1531
  /**
1228
1532
  * If `true`, the grid will have a fixed width based on the screen size.
1229
1533
  * @default false
1230
1534
  */
1231
1535
  "fixed": boolean;
1536
+ /**
1537
+ * The mode determines the platform behaviors of the component.
1538
+ */
1539
+ "mode"?: "ios" | "md";
1540
+ /**
1541
+ * The theme determines the visual appearance of the component.
1542
+ */
1543
+ "theme"?: "ios" | "md" | "ionic";
1232
1544
  }
1233
1545
  interface IonHeader {
1234
1546
  /**
1235
- * Describes the scroll effect that will be applied to the header. Only applies in iOS mode. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
1547
+ * 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)
1548
+ * @deprecated Use `scrollEffect` instead.
1236
1549
  */
1237
1550
  "collapse"?: 'condense' | 'fade';
1238
1551
  /**
1239
- * The mode determines which platform styles to use.
1552
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
1553
+ * @default false
1554
+ */
1555
+ "divider": boolean;
1556
+ /**
1557
+ * The mode determines the platform behaviors of the component.
1240
1558
  */
1241
1559
  "mode"?: "ios" | "md";
1242
1560
  /**
1243
- * If `true`, the header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
1561
+ * Describes the scroll effect that will be applied to the header. `"hide"` slides the header out of view when scrolling down and back in when scrolling up. `"condense"` collapses the large title into the main toolbar on scroll. `"fade"` fades the toolbar background on scroll.
1562
+ */
1563
+ "scrollEffect"?: HeaderScrollEffect;
1564
+ /**
1565
+ * The theme determines the visual appearance of the component.
1566
+ */
1567
+ "theme"?: "ios" | "md" | "ionic";
1568
+ /**
1569
+ * If `true`, the header will be translucent. Only applies when the theme is `"ios"` or `"ionic"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
1244
1570
  * @default false
1245
1571
  */
1246
1572
  "translucent": boolean;
@@ -1253,10 +1579,18 @@ export namespace Components {
1253
1579
  * 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.
1254
1580
  */
1255
1581
  "alt"?: string;
1582
+ /**
1583
+ * The mode determines the platform behaviors of the component.
1584
+ */
1585
+ "mode"?: "ios" | "md";
1256
1586
  /**
1257
1587
  * The image URL. This attribute is mandatory for the `<img>` element.
1258
1588
  */
1259
1589
  "src"?: string;
1590
+ /**
1591
+ * The theme determines the visual appearance of the component.
1592
+ */
1593
+ "theme"?: "ios" | "md" | "ionic";
1260
1594
  }
1261
1595
  interface IonInfiniteScroll {
1262
1596
  /**
@@ -1268,11 +1602,24 @@ export namespace Components {
1268
1602
  * @default false
1269
1603
  */
1270
1604
  "disabled": boolean;
1605
+ /**
1606
+ * The mode determines the platform behaviors of the component.
1607
+ */
1608
+ "mode"?: "ios" | "md";
1271
1609
  /**
1272
1610
  * The position of the infinite scroll element. The value can be either `top` or `bottom`.
1273
1611
  * @default 'bottom'
1274
1612
  */
1275
1613
  "position": 'top' | 'bottom';
1614
+ /**
1615
+ * 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.
1616
+ * @default false
1617
+ */
1618
+ "preserveRerenderScrollPosition": boolean;
1619
+ /**
1620
+ * The theme determines the visual appearance of the component.
1621
+ */
1622
+ "theme"?: "ios" | "md" | "ionic";
1276
1623
  /**
1277
1624
  * 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.
1278
1625
  * @default '15%'
@@ -1288,6 +1635,14 @@ export namespace Components {
1288
1635
  * 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.
1289
1636
  */
1290
1637
  "loadingText"?: string | IonicSafeString;
1638
+ /**
1639
+ * The mode determines the platform behaviors of the component.
1640
+ */
1641
+ "mode"?: "ios" | "md";
1642
+ /**
1643
+ * The theme determines the visual appearance of the component.
1644
+ */
1645
+ "theme"?: "ios" | "md" | "ionic";
1291
1646
  }
1292
1647
  interface IonInput {
1293
1648
  /**
@@ -1354,7 +1709,7 @@ export namespace Components {
1354
1709
  */
1355
1710
  "errorText"?: string;
1356
1711
  /**
1357
- * 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.
1712
+ * 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"`.
1358
1713
  */
1359
1714
  "fill"?: 'outline' | 'solid';
1360
1715
  /**
@@ -1374,10 +1729,9 @@ export namespace Components {
1374
1729
  */
1375
1730
  "label"?: string;
1376
1731
  /**
1377
- * 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 ("...").
1378
- * @default 'start'
1732
+ * 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.
1379
1733
  */
1380
- "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1734
+ "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
1381
1735
  /**
1382
1736
  * The maximum value, which must not be less than its minimum (min attribute) value.
1383
1737
  */
@@ -1395,7 +1749,7 @@ export namespace Components {
1395
1749
  */
1396
1750
  "minlength"?: number;
1397
1751
  /**
1398
- * The mode determines which platform styles to use.
1752
+ * The mode determines the platform behaviors of the component.
1399
1753
  */
1400
1754
  "mode"?: "ios" | "md";
1401
1755
  /**
@@ -1430,9 +1784,14 @@ export namespace Components {
1430
1784
  */
1431
1785
  "setFocus": () => Promise<void>;
1432
1786
  /**
1433
- * The shape of the input. If "round" it will have an increased border radius.
1787
+ * 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"`.
1788
+ */
1789
+ "shape"?: 'soft' | 'round' | 'rectangular';
1790
+ /**
1791
+ * 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.
1792
+ * @default 'medium'
1434
1793
  */
1435
- "shape"?: 'round';
1794
+ "size"?: 'medium' | 'large' | 'xlarge';
1436
1795
  /**
1437
1796
  * If `true`, the element will have its spelling and grammar checked.
1438
1797
  * @default false
@@ -1442,6 +1801,10 @@ export namespace Components {
1442
1801
  * 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.
1443
1802
  */
1444
1803
  "step"?: string;
1804
+ /**
1805
+ * The theme determines the visual appearance of the component.
1806
+ */
1807
+ "theme"?: "ios" | "md" | "ionic";
1445
1808
  /**
1446
1809
  * The type of control to display. The default type is text.
1447
1810
  * @default 'text'
@@ -1482,6 +1845,10 @@ export namespace Components {
1482
1845
  * @default 4
1483
1846
  */
1484
1847
  "length": number;
1848
+ /**
1849
+ * The mode determines the platform behaviors of the component.
1850
+ */
1851
+ "mode"?: "ios" | "md";
1485
1852
  /**
1486
1853
  * 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}]"`
1487
1854
  */
@@ -1510,6 +1877,10 @@ export namespace Components {
1510
1877
  * @default 'medium'
1511
1878
  */
1512
1879
  "size": 'small' | 'medium' | 'large';
1880
+ /**
1881
+ * The theme determines the visual appearance of the component.
1882
+ */
1883
+ "theme"?: "ios" | "md" | "ionic";
1513
1884
  /**
1514
1885
  * The type of input allowed in the input boxes.
1515
1886
  * @default 'number'
@@ -1554,14 +1925,13 @@ export namespace Components {
1554
1925
  */
1555
1926
  "color"?: Color;
1556
1927
  /**
1557
- * 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.
1928
+ * 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.
1558
1929
  */
1559
1930
  "detail"?: boolean;
1560
1931
  /**
1561
1932
  * The icon to use when `detail` is set to `true`.
1562
- * @default chevronForward
1563
1933
  */
1564
- "detailIcon": string;
1934
+ "detailIcon"?: string;
1565
1935
  /**
1566
1936
  * If `true`, the user cannot interact with the item.
1567
1937
  * @default false
@@ -1580,7 +1950,7 @@ export namespace Components {
1580
1950
  */
1581
1951
  "lines"?: 'full' | 'inset' | 'none';
1582
1952
  /**
1583
- * The mode determines which platform styles to use.
1953
+ * The mode determines the platform behaviors of the component.
1584
1954
  */
1585
1955
  "mode"?: "ios" | "md";
1586
1956
  /**
@@ -1600,6 +1970,10 @@ export namespace Components {
1600
1970
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1601
1971
  */
1602
1972
  "target": string | undefined;
1973
+ /**
1974
+ * The theme determines the visual appearance of the component.
1975
+ */
1976
+ "theme"?: "ios" | "md" | "ionic";
1603
1977
  /**
1604
1978
  * The type of the button. Only used when an `onclick` or `button` property is present.
1605
1979
  * @default 'button'
@@ -1612,7 +1986,7 @@ export namespace Components {
1612
1986
  */
1613
1987
  "color"?: Color;
1614
1988
  /**
1615
- * The mode determines which platform styles to use.
1989
+ * The mode determines the platform behaviors of the component.
1616
1990
  */
1617
1991
  "mode"?: "ios" | "md";
1618
1992
  /**
@@ -1620,8 +1994,20 @@ export namespace Components {
1620
1994
  * @default false
1621
1995
  */
1622
1996
  "sticky": boolean;
1997
+ /**
1998
+ * The theme determines the visual appearance of the component.
1999
+ */
2000
+ "theme"?: "ios" | "md" | "ionic";
1623
2001
  }
1624
2002
  interface IonItemGroup {
2003
+ /**
2004
+ * The mode determines the platform behaviors of the component.
2005
+ */
2006
+ "mode"?: "ios" | "md";
2007
+ /**
2008
+ * The theme determines the visual appearance of the component.
2009
+ */
2010
+ "theme"?: "ios" | "md" | "ionic";
1625
2011
  }
1626
2012
  interface IonItemOption {
1627
2013
  /**
@@ -1647,17 +2033,30 @@ export namespace Components {
1647
2033
  */
1648
2034
  "href": string | undefined;
1649
2035
  /**
1650
- * The mode determines which platform styles to use.
2036
+ * 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.
2037
+ * @default 'subtle'
2038
+ */
2039
+ "hue"?: 'bold' | 'subtle';
2040
+ /**
2041
+ * The mode determines the platform behaviors of the component.
1651
2042
  */
1652
2043
  "mode"?: "ios" | "md";
1653
2044
  /**
1654
2045
  * 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).
1655
2046
  */
1656
2047
  "rel": string | undefined;
2048
+ /**
2049
+ * 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.
2050
+ */
2051
+ "shape"?: 'soft' | 'round' | 'rectangular';
1657
2052
  /**
1658
2053
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1659
2054
  */
1660
2055
  "target": string | undefined;
2056
+ /**
2057
+ * The theme determines the visual appearance of the component.
2058
+ */
2059
+ "theme"?: "ios" | "md" | "ionic";
1661
2060
  /**
1662
2061
  * The type of the button.
1663
2062
  * @default 'button'
@@ -1666,11 +2065,19 @@ export namespace Components {
1666
2065
  }
1667
2066
  interface IonItemOptions {
1668
2067
  "fireSwipeEvent": () => Promise<void>;
2068
+ /**
2069
+ * The mode determines the platform behaviors of the component.
2070
+ */
2071
+ "mode"?: "ios" | "md";
1669
2072
  /**
1670
2073
  * 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.
1671
2074
  * @default 'end'
1672
2075
  */
1673
2076
  "side": Side;
2077
+ /**
2078
+ * The theme determines the visual appearance of the component.
2079
+ */
2080
+ "theme"?: "ios" | "md" | "ionic";
1674
2081
  }
1675
2082
  interface IonItemSliding {
1676
2083
  /**
@@ -1694,11 +2101,19 @@ export namespace Components {
1694
2101
  * 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.
1695
2102
  */
1696
2103
  "getSlidingRatio": () => Promise<number>;
2104
+ /**
2105
+ * The mode determines the platform behaviors of the component.
2106
+ */
2107
+ "mode"?: "ios" | "md";
1697
2108
  /**
1698
2109
  * Open the sliding item.
1699
2110
  * @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.
1700
2111
  */
1701
2112
  "open": (side: Side | undefined) => Promise<void>;
2113
+ /**
2114
+ * The theme determines the visual appearance of the component.
2115
+ */
2116
+ "theme"?: "ios" | "md" | "ionic";
1702
2117
  }
1703
2118
  interface IonLabel {
1704
2119
  /**
@@ -1706,13 +2121,17 @@ export namespace Components {
1706
2121
  */
1707
2122
  "color"?: Color;
1708
2123
  /**
1709
- * The mode determines which platform styles to use.
2124
+ * The mode determines the platform behaviors of the component.
1710
2125
  */
1711
2126
  "mode"?: "ios" | "md";
1712
2127
  /**
1713
2128
  * The position determines where and how the label behaves inside an item.
1714
2129
  */
1715
2130
  "position"?: 'fixed' | 'stacked' | 'floating';
2131
+ /**
2132
+ * The theme determines the visual appearance of the component.
2133
+ */
2134
+ "theme"?: "ios" | "md" | "ionic";
1716
2135
  }
1717
2136
  interface IonList {
1718
2137
  /**
@@ -1729,9 +2148,17 @@ export namespace Components {
1729
2148
  */
1730
2149
  "lines"?: 'full' | 'inset' | 'none';
1731
2150
  /**
1732
- * The mode determines which platform styles to use.
2151
+ * The mode determines the platform behaviors of the component.
1733
2152
  */
1734
2153
  "mode"?: "ios" | "md";
2154
+ /**
2155
+ * 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.
2156
+ */
2157
+ "shape"?: 'soft' | 'round' | 'rectangular';
2158
+ /**
2159
+ * The theme determines the visual appearance of the component.
2160
+ */
2161
+ "theme"?: "ios" | "md" | "ionic";
1735
2162
  }
1736
2163
  interface IonListHeader {
1737
2164
  /**
@@ -1743,9 +2170,13 @@ export namespace Components {
1743
2170
  */
1744
2171
  "lines"?: 'full' | 'inset' | 'none';
1745
2172
  /**
1746
- * The mode determines which platform styles to use.
2173
+ * The mode determines the platform behaviors of the component.
1747
2174
  */
1748
2175
  "mode"?: "ios" | "md";
2176
+ /**
2177
+ * The theme determines the visual appearance of the component.
2178
+ */
2179
+ "theme"?: "ios" | "md" | "ionic";
1749
2180
  }
1750
2181
  interface IonLoading {
1751
2182
  /**
@@ -1805,7 +2236,7 @@ export namespace Components {
1805
2236
  */
1806
2237
  "message"?: string | IonicSafeString;
1807
2238
  /**
1808
- * The mode determines which platform styles to use.
2239
+ * The mode determines the platform behaviors of the component.
1809
2240
  */
1810
2241
  "mode"?: "ios" | "md";
1811
2242
  /**
@@ -1831,7 +2262,11 @@ export namespace Components {
1831
2262
  */
1832
2263
  "spinner"?: SpinnerTypes | null;
1833
2264
  /**
1834
- * 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).
2265
+ * The theme determines the visual appearance of the component.
2266
+ */
2267
+ "theme"?: "ios" | "md" | "ionic";
2268
+ /**
2269
+ * 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).
1835
2270
  * @default false
1836
2271
  */
1837
2272
  "translucent": boolean;
@@ -1873,6 +2308,10 @@ export namespace Components {
1873
2308
  * An id for the menu.
1874
2309
  */
1875
2310
  "menuId"?: string;
2311
+ /**
2312
+ * The mode determines the platform behaviors of the component.
2313
+ */
2314
+ "mode"?: "ios" | "md";
1876
2315
  /**
1877
2316
  * Opens the menu. If the menu is already open or it can't be opened, it returns `false`.
1878
2317
  * @param animated If `true`, the menu will animate when opening. If `false`, the menu will open instantly without animation. Defaults to `true`.
@@ -1895,6 +2334,10 @@ export namespace Components {
1895
2334
  * @default true
1896
2335
  */
1897
2336
  "swipeGesture": boolean;
2337
+ /**
2338
+ * The theme determines the visual appearance of the component.
2339
+ */
2340
+ "theme"?: "ios" | "md" | "ionic";
1898
2341
  /**
1899
2342
  * 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`.
1900
2343
  * @param animated If `true`, the menu will animate when opening/closing. If `false`, the menu will open/close instantly without animation. Defaults to `true`.
@@ -1925,9 +2368,13 @@ export namespace Components {
1925
2368
  */
1926
2369
  "menu"?: string;
1927
2370
  /**
1928
- * The mode determines which platform styles to use.
2371
+ * The mode determines the platform behaviors of the component.
1929
2372
  */
1930
2373
  "mode"?: "ios" | "md";
2374
+ /**
2375
+ * The theme determines the visual appearance of the component.
2376
+ */
2377
+ "theme"?: "ios" | "md" | "ionic";
1931
2378
  /**
1932
2379
  * The type of the button.
1933
2380
  * @default 'button'
@@ -1944,6 +2391,14 @@ export namespace Components {
1944
2391
  * 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.
1945
2392
  */
1946
2393
  "menu"?: string;
2394
+ /**
2395
+ * The mode determines the platform behaviors of the component.
2396
+ */
2397
+ "mode"?: "ios" | "md";
2398
+ /**
2399
+ * The theme determines the visual appearance of the component.
2400
+ */
2401
+ "theme"?: "ios" | "md" | "ionic";
1947
2402
  }
1948
2403
  interface IonModal {
1949
2404
  /**
@@ -2048,7 +2503,7 @@ export namespace Components {
2048
2503
  */
2049
2504
  "leaveAnimation"?: AnimationBuilder;
2050
2505
  /**
2051
- * The mode determines which platform styles to use.
2506
+ * The mode determines the platform behaviors of the component.
2052
2507
  */
2053
2508
  "mode"?: "ios" | "md";
2054
2509
  /**
@@ -2073,11 +2528,19 @@ export namespace Components {
2073
2528
  * @param breakpoint The breakpoint value to move the sheet modal to. Must be a value defined in your `breakpoints` array.
2074
2529
  */
2075
2530
  "setCurrentBreakpoint": (breakpoint: number) => Promise<void>;
2531
+ /**
2532
+ * 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.
2533
+ */
2534
+ "shape"?: 'soft' | 'round' | 'rectangular';
2076
2535
  /**
2077
2536
  * 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.
2078
2537
  * @default true
2079
2538
  */
2080
2539
  "showBackdrop": boolean;
2540
+ /**
2541
+ * The theme determines the visual appearance of the component.
2542
+ */
2543
+ "theme"?: "ios" | "md" | "ionic";
2081
2544
  /**
2082
2545
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
2083
2546
  */
@@ -2090,7 +2553,7 @@ export namespace Components {
2090
2553
  */
2091
2554
  "animated": boolean;
2092
2555
  /**
2093
- * 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.
2556
+ * 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.
2094
2557
  */
2095
2558
  "animation"?: AnimationBuilder;
2096
2559
  /**
@@ -2134,6 +2597,10 @@ export namespace Components {
2134
2597
  * @param done The transition complete function.
2135
2598
  */
2136
2599
  "insertPages": (insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean>;
2600
+ /**
2601
+ * The mode determines the platform behaviors of the component.
2602
+ */
2603
+ "mode"?: "ios" | "md";
2137
2604
  /**
2138
2605
  * Pop a component off of the navigation stack. Navigates back from the current component.
2139
2606
  * @param opts The navigation options.
@@ -2196,6 +2663,10 @@ export namespace Components {
2196
2663
  * If the nav component should allow for swipe-to-go-back.
2197
2664
  */
2198
2665
  "swipeGesture"?: boolean;
2666
+ /**
2667
+ * The theme determines the visual appearance of the component.
2668
+ */
2669
+ "theme"?: "ios" | "md" | "ionic";
2199
2670
  }
2200
2671
  interface IonNavLink {
2201
2672
  /**
@@ -2206,6 +2677,10 @@ export namespace Components {
2206
2677
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
2207
2678
  */
2208
2679
  "componentProps"?: ComponentProps;
2680
+ /**
2681
+ * The mode determines the platform behaviors of the component.
2682
+ */
2683
+ "mode"?: "ios" | "md";
2209
2684
  /**
2210
2685
  * The transition animation when navigating to another page.
2211
2686
  */
@@ -2215,6 +2690,10 @@ export namespace Components {
2215
2690
  * @default 'forward'
2216
2691
  */
2217
2692
  "routerDirection": RouterDirection;
2693
+ /**
2694
+ * The theme determines the visual appearance of the component.
2695
+ */
2696
+ "theme"?: "ios" | "md" | "ionic";
2218
2697
  }
2219
2698
  interface IonNote {
2220
2699
  /**
@@ -2222,16 +2701,24 @@ export namespace Components {
2222
2701
  */
2223
2702
  "color"?: Color;
2224
2703
  /**
2225
- * The mode determines which platform styles to use.
2704
+ * The mode determines the platform behaviors of the component.
2226
2705
  */
2227
2706
  "mode"?: "ios" | "md";
2707
+ /**
2708
+ * The theme determines the visual appearance of the component.
2709
+ */
2710
+ "theme"?: "ios" | "md" | "ionic";
2228
2711
  }
2229
2712
  interface IonPicker {
2230
2713
  "exitInputMode": () => Promise<void>;
2231
2714
  /**
2232
- * The mode determines which platform styles to use.
2715
+ * The mode determines the platform behaviors of the component.
2233
2716
  */
2234
2717
  "mode"?: "ios" | "md";
2718
+ /**
2719
+ * The theme determines the visual appearance of the component.
2720
+ */
2721
+ "theme"?: "ios" | "md" | "ionic";
2235
2722
  }
2236
2723
  interface IonPickerColumn {
2237
2724
  /**
@@ -2244,7 +2731,7 @@ export namespace Components {
2244
2731
  */
2245
2732
  "disabled": boolean;
2246
2733
  /**
2247
- * The mode determines which platform styles to use.
2734
+ * The mode determines the platform behaviors of the component.
2248
2735
  */
2249
2736
  "mode"?: "ios" | "md";
2250
2737
  /**
@@ -2261,6 +2748,10 @@ export namespace Components {
2261
2748
  * 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.
2262
2749
  */
2263
2750
  "setValue": (value: PickerColumnValue) => Promise<void>;
2751
+ /**
2752
+ * The theme determines the visual appearance of the component.
2753
+ */
2754
+ "theme"?: "ios" | "md" | "ionic";
2264
2755
  /**
2265
2756
  * The selected option in the picker.
2266
2757
  */
@@ -2276,6 +2767,14 @@ export namespace Components {
2276
2767
  * @default false
2277
2768
  */
2278
2769
  "disabled": boolean;
2770
+ /**
2771
+ * The mode determines the platform behaviors of the component.
2772
+ */
2773
+ "mode"?: "ios" | "md";
2774
+ /**
2775
+ * The theme determines the visual appearance of the component.
2776
+ */
2777
+ "theme"?: "ios" | "md" | "ionic";
2279
2778
  /**
2280
2779
  * The text value of the option.
2281
2780
  */
@@ -2283,7 +2782,7 @@ export namespace Components {
2283
2782
  }
2284
2783
  interface IonPopover {
2285
2784
  /**
2286
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
2785
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
2287
2786
  */
2288
2787
  "alignment"?: PositionAlign;
2289
2788
  /**
@@ -2292,7 +2791,7 @@ export namespace Components {
2292
2791
  */
2293
2792
  "animated": boolean;
2294
2793
  /**
2295
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
2794
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
2296
2795
  * @default true
2297
2796
  */
2298
2797
  "arrow": boolean;
@@ -2372,7 +2871,7 @@ export namespace Components {
2372
2871
  */
2373
2872
  "leaveAnimation"?: AnimationBuilder;
2374
2873
  /**
2375
- * The mode determines which platform styles to use.
2874
+ * The mode determines the platform behaviors of the component.
2376
2875
  */
2377
2876
  "mode"?: "ios" | "md";
2378
2877
  /**
@@ -2414,7 +2913,11 @@ export namespace Components {
2414
2913
  */
2415
2914
  "size": PopoverSize;
2416
2915
  /**
2417
- * 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).
2916
+ * The theme determines the visual appearance of the component.
2917
+ */
2918
+ "theme"?: "ios" | "md" | "ionic";
2919
+ /**
2920
+ * 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).
2418
2921
  * @default false
2419
2922
  */
2420
2923
  "translucent": boolean;
@@ -2439,7 +2942,7 @@ export namespace Components {
2439
2942
  */
2440
2943
  "color"?: Color;
2441
2944
  /**
2442
- * The mode determines which platform styles to use.
2945
+ * The mode determines the platform behaviors of the component.
2443
2946
  */
2444
2947
  "mode"?: "ios" | "md";
2445
2948
  /**
@@ -2447,6 +2950,14 @@ export namespace Components {
2447
2950
  * @default false
2448
2951
  */
2449
2952
  "reversed": boolean;
2953
+ /**
2954
+ * 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.
2955
+ */
2956
+ "shape"?: 'round' | 'rectangular';
2957
+ /**
2958
+ * The theme determines the visual appearance of the component.
2959
+ */
2960
+ "theme"?: "ios" | "md" | "ionic";
2450
2961
  /**
2451
2962
  * 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).
2452
2963
  * @default 'determinate'
@@ -2482,7 +2993,7 @@ export namespace Components {
2482
2993
  */
2483
2994
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
2484
2995
  /**
2485
- * The mode determines which platform styles to use.
2996
+ * The mode determines the platform behaviors of the component.
2486
2997
  */
2487
2998
  "mode"?: "ios" | "md";
2488
2999
  /**
@@ -2492,6 +3003,10 @@ export namespace Components {
2492
3003
  "name": string;
2493
3004
  "setButtonTabindex": (value: number) => Promise<void>;
2494
3005
  "setFocus": (ev?: globalThis.Event) => Promise<void>;
3006
+ /**
3007
+ * The theme determines the visual appearance of the component.
3008
+ */
3009
+ "theme"?: "ios" | "md" | "ionic";
2495
3010
  /**
2496
3011
  * the value of the radio.
2497
3012
  */
@@ -2515,12 +3030,21 @@ export namespace Components {
2515
3030
  * The helper text to display at the top of the radio group.
2516
3031
  */
2517
3032
  "helperText"?: string;
3033
+ /**
3034
+ * The mode determines the platform behaviors of the component.
3035
+ */
3036
+ "mode"?: "ios" | "md";
2518
3037
  /**
2519
3038
  * The name of the control, which is submitted with the form data.
2520
3039
  * @default this.inputId
2521
3040
  */
2522
3041
  "name": string;
2523
3042
  "setFocus": () => Promise<void>;
3043
+ /**
3044
+ * The theme determines the visual appearance of the component.
3045
+ */
3046
+ "theme"?: "ios" | "md" | "ionic";
3047
+ "updateRadiosTabindex": () => Promise<void>;
2524
3048
  /**
2525
3049
  * the value of the radio group.
2526
3050
  */
@@ -2569,7 +3093,7 @@ export namespace Components {
2569
3093
  */
2570
3094
  "min": number;
2571
3095
  /**
2572
- * The mode determines which platform styles to use.
3096
+ * The mode determines the platform behaviors of the component.
2573
3097
  */
2574
3098
  "mode"?: "ios" | "md";
2575
3099
  /**
@@ -2597,6 +3121,10 @@ export namespace Components {
2597
3121
  * @default 1
2598
3122
  */
2599
3123
  "step": number;
3124
+ /**
3125
+ * The theme determines the visual appearance of the component.
3126
+ */
3127
+ "theme"?: "ios" | "md" | "ionic";
2600
3128
  /**
2601
3129
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
2602
3130
  * @default true
@@ -2632,7 +3160,7 @@ export namespace Components {
2632
3160
  */
2633
3161
  "getProgress": () => Promise<number>;
2634
3162
  /**
2635
- * The mode determines which platform styles to use.
3163
+ * The mode determines the platform behaviors of the component.
2636
3164
  */
2637
3165
  "mode"?: "ios" | "md";
2638
3166
  /**
@@ -2655,8 +3183,16 @@ export namespace Components {
2655
3183
  * @default '280ms'
2656
3184
  */
2657
3185
  "snapbackDuration": string;
3186
+ /**
3187
+ * The theme determines the visual appearance of the component.
3188
+ */
3189
+ "theme"?: "ios" | "md" | "ionic";
2658
3190
  }
2659
3191
  interface IonRefresherContent {
3192
+ /**
3193
+ * The mode determines the platform behaviors of the component.
3194
+ */
3195
+ "mode"?: "ios" | "md";
2660
3196
  /**
2661
3197
  * 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.
2662
3198
  */
@@ -2673,8 +3209,20 @@ export namespace Components {
2673
3209
  * 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.
2674
3210
  */
2675
3211
  "refreshingText"?: string | IonicSafeString;
3212
+ /**
3213
+ * The theme determines the visual appearance of the component.
3214
+ */
3215
+ "theme"?: "ios" | "md" | "ionic";
2676
3216
  }
2677
3217
  interface IonReorder {
3218
+ /**
3219
+ * The mode determines the platform behaviors of the component.
3220
+ */
3221
+ "mode"?: "ios" | "md";
3222
+ /**
3223
+ * The theme determines the visual appearance of the component.
3224
+ */
3225
+ "theme"?: "ios" | "md" | "ionic";
2678
3226
  }
2679
3227
  interface IonReorderGroup {
2680
3228
  /**
@@ -2687,6 +3235,14 @@ export namespace Components {
2687
3235
  * @default true
2688
3236
  */
2689
3237
  "disabled": boolean;
3238
+ /**
3239
+ * The mode determines the platform behaviors of the component.
3240
+ */
3241
+ "mode"?: "ios" | "md";
3242
+ /**
3243
+ * The theme determines the visual appearance of the component.
3244
+ */
3245
+ "theme"?: "ios" | "md" | "ionic";
2690
3246
  }
2691
3247
  interface IonRippleEffect {
2692
3248
  /**
@@ -2695,6 +3251,14 @@ export namespace Components {
2695
3251
  * @param y The vertical coordinate of where the ripple should start.
2696
3252
  */
2697
3253
  "addRipple": (x: number, y: number) => Promise<() => void>;
3254
+ /**
3255
+ * The mode determines the platform behaviors of the component.
3256
+ */
3257
+ "mode"?: "ios" | "md";
3258
+ /**
3259
+ * The theme determines the visual appearance of the component.
3260
+ */
3261
+ "theme"?: "ios" | "md" | "ionic";
2698
3262
  /**
2699
3263
  * 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.
2700
3264
  * @default 'bounded'
@@ -2718,6 +3282,14 @@ export namespace Components {
2718
3282
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
2719
3283
  */
2720
3284
  "componentProps"?: { [key: string]: any };
3285
+ /**
3286
+ * The mode determines the platform behaviors of the component.
3287
+ */
3288
+ "mode"?: "ios" | "md";
3289
+ /**
3290
+ * The theme determines the visual appearance of the component.
3291
+ */
3292
+ "theme"?: "ios" | "md" | "ionic";
2721
3293
  /**
2722
3294
  * 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.
2723
3295
  * @default ''
@@ -2740,6 +3312,10 @@ export namespace Components {
2740
3312
  */
2741
3313
  "back": () => Promise<void>;
2742
3314
  "canTransition": () => Promise<string | boolean>;
3315
+ /**
3316
+ * The mode determines the platform behaviors of the component.
3317
+ */
3318
+ "mode"?: "ios" | "md";
2743
3319
  "navChanged": (direction: RouterDirection) => Promise<boolean>;
2744
3320
  "printDebug": () => Promise<void>;
2745
3321
  /**
@@ -2754,6 +3330,10 @@ export namespace Components {
2754
3330
  * @default '/'
2755
3331
  */
2756
3332
  "root": string;
3333
+ /**
3334
+ * The theme determines the visual appearance of the component.
3335
+ */
3336
+ "theme"?: "ios" | "md" | "ionic";
2757
3337
  /**
2758
3338
  * 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.
2759
3339
  * @default true
@@ -2769,6 +3349,10 @@ export namespace Components {
2769
3349
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2770
3350
  */
2771
3351
  "href": string | undefined;
3352
+ /**
3353
+ * The mode determines the platform behaviors of the component.
3354
+ */
3355
+ "mode"?: "ios" | "md";
2772
3356
  /**
2773
3357
  * 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).
2774
3358
  */
@@ -2786,6 +3370,10 @@ export namespace Components {
2786
3370
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2787
3371
  */
2788
3372
  "target": string | undefined;
3373
+ /**
3374
+ * The theme determines the visual appearance of the component.
3375
+ */
3376
+ "theme"?: "ios" | "md" | "ionic";
2789
3377
  }
2790
3378
  interface IonRouterOutlet {
2791
3379
  /**
@@ -2801,7 +3389,7 @@ export namespace Components {
2801
3389
  "delegate"?: FrameworkDelegate;
2802
3390
  "getRouteId": () => Promise<RouteID | undefined>;
2803
3391
  /**
2804
- * The mode determines which platform styles to use.
3392
+ * The mode determines the platform behaviors of the component.
2805
3393
  * @default getIonMode(this)
2806
3394
  */
2807
3395
  "mode": "ios" | "md";
@@ -2811,8 +3399,20 @@ export namespace Components {
2811
3399
  */
2812
3400
  "swipeGesture"?: boolean;
2813
3401
  "swipeHandler"?: SwipeGestureHandler;
3402
+ /**
3403
+ * The theme determines the visual appearance of the component.
3404
+ */
3405
+ "theme"?: "ios" | "md" | "ionic";
2814
3406
  }
2815
3407
  interface IonRow {
3408
+ /**
3409
+ * The mode determines the platform behaviors of the component.
3410
+ */
3411
+ "mode"?: "ios" | "md";
3412
+ /**
3413
+ * The theme determines the visual appearance of the component.
3414
+ */
3415
+ "theme"?: "ios" | "md" | "ionic";
2816
3416
  }
2817
3417
  interface IonSearchbar {
2818
3418
  /**
@@ -2836,17 +3436,16 @@ export namespace Components {
2836
3436
  */
2837
3437
  "autocorrect": boolean;
2838
3438
  /**
2839
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
2840
- * @default config.get('backButtonIcon', arrowBackSharp) as string
3439
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
2841
3440
  */
2842
- "cancelButtonIcon": string;
3441
+ "cancelButtonIcon"?: string;
2843
3442
  /**
2844
- * Set the cancel button text. Only applies to `ios` mode.
3443
+ * Set the cancel button text. Only available when the theme is `"ios"`.
2845
3444
  * @default 'Cancel'
2846
3445
  */
2847
3446
  "cancelButtonText": string;
2848
3447
  /**
2849
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
3448
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
2850
3449
  */
2851
3450
  "clearIcon"?: string;
2852
3451
  /**
@@ -2883,7 +3482,7 @@ export namespace Components {
2883
3482
  */
2884
3483
  "minlength"?: number;
2885
3484
  /**
2886
- * The mode determines which platform styles to use.
3485
+ * The mode determines the platform behaviors of the component.
2887
3486
  */
2888
3487
  "mode"?: "ios" | "md";
2889
3488
  /**
@@ -2897,13 +3496,17 @@ export namespace Components {
2897
3496
  */
2898
3497
  "placeholder": string;
2899
3498
  /**
2900
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
3499
+ * 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.
2901
3500
  */
2902
- "searchIcon"?: string;
3501
+ "searchIcon"?: string | boolean;
2903
3502
  /**
2904
3503
  * 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.
2905
3504
  */
2906
3505
  "setFocus": () => Promise<void>;
3506
+ /**
3507
+ * 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.
3508
+ */
3509
+ "shape"?: 'soft' | 'round' | 'rectangular';
2907
3510
  /**
2908
3511
  * 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.
2909
3512
  * @default 'never'
@@ -2914,11 +3517,19 @@ export namespace Components {
2914
3517
  * @default 'always'
2915
3518
  */
2916
3519
  "showClearButton": 'never' | 'focus' | 'always';
3520
+ /**
3521
+ * 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.
3522
+ */
3523
+ "size"?: 'small' | 'medium' | 'large';
2917
3524
  /**
2918
3525
  * If `true`, enable spellcheck on the input.
2919
3526
  * @default false
2920
3527
  */
2921
3528
  "spellcheck": boolean;
3529
+ /**
3530
+ * The theme determines the visual appearance of the component.
3531
+ */
3532
+ "theme"?: "ios" | "md" | "ionic";
2922
3533
  /**
2923
3534
  * Set the type of the input.
2924
3535
  * @default 'search'
@@ -2941,7 +3552,7 @@ export namespace Components {
2941
3552
  */
2942
3553
  "disabled": boolean;
2943
3554
  /**
2944
- * The mode determines which platform styles to use.
3555
+ * The mode determines the platform behaviors of the component.
2945
3556
  */
2946
3557
  "mode"?: "ios" | "md";
2947
3558
  /**
@@ -2959,6 +3570,10 @@ export namespace Components {
2959
3570
  * @default true
2960
3571
  */
2961
3572
  "swipeGesture": boolean;
3573
+ /**
3574
+ * The theme determines the visual appearance of the component.
3575
+ */
3576
+ "theme"?: "ios" | "md" | "ionic";
2962
3577
  /**
2963
3578
  * the value of the segment.
2964
3579
  */
@@ -2980,10 +3595,14 @@ export namespace Components {
2980
3595
  */
2981
3596
  "layout"?: SegmentButtonLayout;
2982
3597
  /**
2983
- * The mode determines which platform styles to use.
3598
+ * The mode determines the platform behaviors of the component.
2984
3599
  */
2985
3600
  "mode"?: "ios" | "md";
2986
3601
  "setFocus": () => Promise<void>;
3602
+ /**
3603
+ * The theme determines the visual appearance of the component.
3604
+ */
3605
+ "theme"?: "ios" | "md" | "ionic";
2987
3606
  /**
2988
3607
  * The type of the button.
2989
3608
  * @default 'button'
@@ -3015,6 +3634,11 @@ export namespace Components {
3015
3634
  "swipeGesture": boolean;
3016
3635
  }
3017
3636
  interface IonSelect {
3637
+ /**
3638
+ * 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.
3639
+ * @default false
3640
+ */
3641
+ "cancelIcon": boolean;
3018
3642
  /**
3019
3643
  * The text to display on the cancel button.
3020
3644
  * @default 'Cancel'
@@ -3038,11 +3662,11 @@ export namespace Components {
3038
3662
  */
3039
3663
  "errorText"?: string;
3040
3664
  /**
3041
- * 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.
3665
+ * 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.
3042
3666
  */
3043
3667
  "expandedIcon"?: string;
3044
3668
  /**
3045
- * 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.
3669
+ * 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.
3046
3670
  */
3047
3671
  "fill"?: 'outline' | 'solid';
3048
3672
  /**
@@ -3073,7 +3697,7 @@ export namespace Components {
3073
3697
  */
3074
3698
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
3075
3699
  /**
3076
- * The mode determines which platform styles to use.
3700
+ * The mode determines the platform behaviors of the component.
3077
3701
  */
3078
3702
  "mode"?: "ios" | "md";
3079
3703
  /**
@@ -3110,11 +3734,19 @@ export namespace Components {
3110
3734
  */
3111
3735
  "selectedText"?: string | null;
3112
3736
  /**
3113
- * The shape of the select. If "round" it will have an increased border radius.
3737
+ * 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.
3738
+ */
3739
+ "shape"?: 'soft' | 'round' | 'rectangular';
3740
+ /**
3741
+ * 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.
3114
3742
  */
3115
- "shape"?: 'round';
3743
+ "size"?: 'small' | 'medium' | 'large';
3744
+ /**
3745
+ * The theme determines the visual appearance of the component.
3746
+ */
3747
+ "theme"?: "ios" | "md" | "ionic";
3116
3748
  /**
3117
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
3749
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
3118
3750
  */
3119
3751
  "toggleIcon"?: string;
3120
3752
  /**
@@ -3123,6 +3755,11 @@ export namespace Components {
3123
3755
  "value"?: any | null;
3124
3756
  }
3125
3757
  interface IonSelectModal {
3758
+ /**
3759
+ * 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.
3760
+ * @default false
3761
+ */
3762
+ "cancelIcon": boolean;
3126
3763
  /**
3127
3764
  * The text to display on the cancel button.
3128
3765
  * @default 'Close'
@@ -3146,17 +3783,21 @@ export namespace Components {
3146
3783
  */
3147
3784
  "disabled": boolean;
3148
3785
  /**
3149
- * 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 `md` (the radio control is hidden there). When unset, the interface picks a default based on mode and control type.
3786
+ * 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.
3150
3787
  */
3151
3788
  "justify"?: 'start' | 'end' | 'space-between';
3152
3789
  /**
3153
- * 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 `md` (the radio control is hidden there). When unset, the interface picks a default based on mode and control type.
3790
+ * 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.
3154
3791
  */
3155
3792
  "labelPlacement"?: 'start' | 'end';
3156
3793
  /**
3157
3794
  * The mode determines the platform behaviors of the component.
3158
3795
  */
3159
3796
  "mode"?: "ios" | "md";
3797
+ /**
3798
+ * The theme determines the visual appearance of the component.
3799
+ */
3800
+ "theme"?: "ios" | "md" | "ionic";
3160
3801
  /**
3161
3802
  * The text value of the option.
3162
3803
  */
@@ -3171,6 +3812,10 @@ export namespace Components {
3171
3812
  * The text content of the popover body
3172
3813
  */
3173
3814
  "message"?: string;
3815
+ /**
3816
+ * The mode determines the platform behaviors of the component.
3817
+ */
3818
+ "mode"?: "ios" | "md";
3174
3819
  /**
3175
3820
  * If true, the select accepts multiple values
3176
3821
  */
@@ -3184,6 +3829,10 @@ export namespace Components {
3184
3829
  * The subheader text of the popover
3185
3830
  */
3186
3831
  "subHeader"?: string;
3832
+ /**
3833
+ * The theme determines the visual appearance of the component.
3834
+ */
3835
+ "theme"?: "ios" | "md" | "ionic";
3187
3836
  }
3188
3837
  interface IonSkeletonText {
3189
3838
  /**
@@ -3191,6 +3840,14 @@ export namespace Components {
3191
3840
  * @default false
3192
3841
  */
3193
3842
  "animated": boolean;
3843
+ /**
3844
+ * The mode determines the platform behaviors of the component.
3845
+ */
3846
+ "mode"?: "ios" | "md";
3847
+ /**
3848
+ * The theme determines the visual appearance of the component.
3849
+ */
3850
+ "theme"?: "ios" | "md" | "ionic";
3194
3851
  }
3195
3852
  interface IonSpinner {
3196
3853
  /**
@@ -3201,6 +3858,10 @@ export namespace Components {
3201
3858
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
3202
3859
  */
3203
3860
  "duration"?: number;
3861
+ /**
3862
+ * The mode determines the platform behaviors of the component.
3863
+ */
3864
+ "mode"?: "ios" | "md";
3204
3865
  /**
3205
3866
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
3206
3867
  */
@@ -3210,6 +3871,14 @@ export namespace Components {
3210
3871
  * @default false
3211
3872
  */
3212
3873
  "paused": boolean;
3874
+ /**
3875
+ * 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.
3876
+ */
3877
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
3878
+ /**
3879
+ * The theme determines the visual appearance of the component.
3880
+ */
3881
+ "theme"?: "ios" | "md" | "ionic";
3213
3882
  }
3214
3883
  interface IonSplitPane {
3215
3884
  /**
@@ -3222,6 +3891,14 @@ export namespace Components {
3222
3891
  */
3223
3892
  "disabled": boolean;
3224
3893
  "isVisible": () => Promise<boolean>;
3894
+ /**
3895
+ * The mode determines the platform behaviors of the component.
3896
+ */
3897
+ "mode"?: "ios" | "md";
3898
+ /**
3899
+ * The theme determines the visual appearance of the component.
3900
+ */
3901
+ "theme"?: "ios" | "md" | "ionic";
3225
3902
  /**
3226
3903
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
3227
3904
  * @default '(min-width: 992px)'
@@ -3238,6 +3915,10 @@ export namespace Components {
3238
3915
  */
3239
3916
  "component"?: ComponentRef;
3240
3917
  "delegate"?: FrameworkDelegate;
3918
+ /**
3919
+ * The mode determines the platform behaviors of the component.
3920
+ */
3921
+ "mode"?: "ios" | "md";
3241
3922
  /**
3242
3923
  * Set the active component for the tab
3243
3924
  */
@@ -3246,6 +3927,10 @@ export namespace Components {
3246
3927
  * 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.
3247
3928
  */
3248
3929
  "tab": string;
3930
+ /**
3931
+ * The theme determines the visual appearance of the component.
3932
+ */
3933
+ "theme"?: "ios" | "md" | "ionic";
3249
3934
  }
3250
3935
  interface IonTabBar {
3251
3936
  /**
@@ -3253,15 +3938,32 @@ export namespace Components {
3253
3938
  */
3254
3939
  "color"?: Color;
3255
3940
  /**
3256
- * The mode determines which platform styles to use.
3941
+ * 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"`.
3942
+ * @default 'full'
3943
+ */
3944
+ "expand": 'compact' | 'full';
3945
+ /**
3946
+ * The mode determines the platform behaviors of the component.
3257
3947
  */
3258
3948
  "mode"?: "ios" | "md";
3949
+ /**
3950
+ * Describes the scroll effect that will be applied to the tab bar. `"hide"` slides the tab bar out of view when scrolling down and back in when scrolling up. Note: `"hide"` is ignored when the tab bar is nested inside an `ion-footer` to avoid leaving an empty footer visible on screen. Set `scroll-effect="hide"` on the footer instead so the entire footer hides together.
3951
+ */
3952
+ "scrollEffect"?: TabBarScrollEffect;
3259
3953
  /**
3260
3954
  * The selected tab component
3261
3955
  */
3262
3956
  "selectedTab"?: string;
3263
3957
  /**
3264
- * 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).
3958
+ * 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.
3959
+ */
3960
+ "shape"?: 'soft' | 'round' | 'rectangular';
3961
+ /**
3962
+ * The theme determines the visual appearance of the component.
3963
+ */
3964
+ "theme"?: "ios" | "md" | "ionic";
3965
+ /**
3966
+ * 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).
3265
3967
  * @default false
3266
3968
  */
3267
3969
  "translucent": boolean;
@@ -3285,7 +3987,7 @@ export namespace Components {
3285
3987
  */
3286
3988
  "layout"?: TabButtonLayout;
3287
3989
  /**
3288
- * The mode determines which platform styles to use.
3990
+ * The mode determines the platform behaviors of the component.
3289
3991
  */
3290
3992
  "mode"?: "ios" | "md";
3291
3993
  /**
@@ -3297,6 +3999,10 @@ export namespace Components {
3297
3999
  * @default false
3298
4000
  */
3299
4001
  "selected": boolean;
4002
+ /**
4003
+ * 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.
4004
+ */
4005
+ "shape"?: 'soft' | 'round' | 'rectangular';
3300
4006
  /**
3301
4007
  * 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.
3302
4008
  */
@@ -3305,6 +4011,10 @@ export namespace Components {
3305
4011
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
3306
4012
  */
3307
4013
  "target": string | undefined;
4014
+ /**
4015
+ * The theme determines the visual appearance of the component.
4016
+ */
4017
+ "theme"?: "ios" | "md" | "ionic";
3308
4018
  }
3309
4019
  interface IonTabs {
3310
4020
  "getRouteId": () => Promise<RouteID | undefined>;
@@ -3317,12 +4027,20 @@ export namespace Components {
3317
4027
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3318
4028
  */
3319
4029
  "getTab": (tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined>;
4030
+ /**
4031
+ * The mode determines the platform behaviors of the component.
4032
+ */
4033
+ "mode"?: "ios" | "md";
3320
4034
  /**
3321
4035
  * 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.
3322
4036
  * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
3323
4037
  */
3324
4038
  "select": (tab: string | HTMLIonTabElement) => Promise<boolean>;
3325
4039
  "setRouteId": (id: string) => Promise<RouteWrite>;
4040
+ /**
4041
+ * The theme determines the visual appearance of the component.
4042
+ */
4043
+ "theme"?: "ios" | "md" | "ionic";
3326
4044
  /**
3327
4045
  * @default false
3328
4046
  */
@@ -3334,9 +4052,13 @@ export namespace Components {
3334
4052
  */
3335
4053
  "color"?: Color;
3336
4054
  /**
3337
- * The mode determines which platform styles to use.
4055
+ * The mode determines the platform behaviors of the component.
3338
4056
  */
3339
4057
  "mode"?: "ios" | "md";
4058
+ /**
4059
+ * The theme determines the visual appearance of the component.
4060
+ */
4061
+ "theme"?: "ios" | "md" | "ionic";
3340
4062
  }
3341
4063
  interface IonTextarea {
3342
4064
  /**
@@ -3394,7 +4116,7 @@ export namespace Components {
3394
4116
  */
3395
4117
  "errorText"?: string;
3396
4118
  /**
3397
- * 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.
4119
+ * 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"`.
3398
4120
  */
3399
4121
  "fill"?: 'outline' | 'solid';
3400
4122
  /**
@@ -3427,7 +4149,7 @@ export namespace Components {
3427
4149
  */
3428
4150
  "minlength"?: number;
3429
4151
  /**
3430
- * The mode determines which platform styles to use.
4152
+ * The mode determines the platform behaviors of the component.
3431
4153
  */
3432
4154
  "mode"?: "ios" | "md";
3433
4155
  /**
@@ -3458,14 +4180,23 @@ export namespace Components {
3458
4180
  */
3459
4181
  "setFocus": () => Promise<void>;
3460
4182
  /**
3461
- * The shape of the textarea. If "round" it will have an increased border radius.
4183
+ * 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.
3462
4184
  */
3463
- "shape"?: 'round';
4185
+ "shape"?: 'soft' | 'round' | 'rectangular';
4186
+ /**
4187
+ * 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.
4188
+ * @default 'medium'
4189
+ */
4190
+ "size"?: 'small' | 'medium' | 'large';
3464
4191
  /**
3465
4192
  * If `true`, the element will have its spelling and grammar checked.
3466
4193
  * @default false
3467
4194
  */
3468
4195
  "spellcheck": boolean;
4196
+ /**
4197
+ * The theme determines the visual appearance of the component.
4198
+ */
4199
+ "theme"?: "ios" | "md" | "ionic";
3469
4200
  /**
3470
4201
  * The value of the textarea.
3471
4202
  * @default ''
@@ -3477,16 +4208,32 @@ export namespace Components {
3477
4208
  "wrap"?: 'hard' | 'soft' | 'off';
3478
4209
  }
3479
4210
  interface IonThumbnail {
4211
+ /**
4212
+ * The mode determines the platform behaviors of the component.
4213
+ */
4214
+ "mode"?: "ios" | "md";
4215
+ /**
4216
+ * The theme determines the visual appearance of the component.
4217
+ */
4218
+ "theme"?: "ios" | "md" | "ionic";
3480
4219
  }
3481
4220
  interface IonTitle {
3482
4221
  /**
3483
4222
  * 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).
3484
4223
  */
3485
4224
  "color"?: Color;
4225
+ /**
4226
+ * The mode determines the platform behaviors of the component.
4227
+ */
4228
+ "mode"?: "ios" | "md";
3486
4229
  /**
3487
4230
  * The size of the toolbar title.
3488
4231
  */
3489
4232
  "size"?: 'large' | 'small';
4233
+ /**
4234
+ * The theme determines the visual appearance of the component.
4235
+ */
4236
+ "theme"?: "ios" | "md" | "ionic";
3490
4237
  }
3491
4238
  interface IonToast {
3492
4239
  /**
@@ -3534,6 +4281,11 @@ export namespace Components {
3534
4281
  * Additional attributes to pass to the toast.
3535
4282
  */
3536
4283
  "htmlAttributes"?: { [key: string]: any };
4284
+ /**
4285
+ * 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.
4286
+ * @default 'subtle'
4287
+ */
4288
+ "hue"?: 'bold' | 'subtle';
3537
4289
  /**
3538
4290
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
3539
4291
  */
@@ -3562,7 +4314,7 @@ export namespace Components {
3562
4314
  */
3563
4315
  "message"?: string | IonicSafeString;
3564
4316
  /**
3565
- * The mode determines which platform styles to use.
4317
+ * The mode determines the platform behaviors of the component.
3566
4318
  */
3567
4319
  "mode"?: "ios" | "md";
3568
4320
  /**
@@ -3587,12 +4339,20 @@ export namespace Components {
3587
4339
  * Present the toast overlay after it has been created.
3588
4340
  */
3589
4341
  "present": () => Promise<void>;
4342
+ /**
4343
+ * 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.
4344
+ */
4345
+ "shape"?: 'soft' | 'round' | 'rectangular';
3590
4346
  /**
3591
4347
  * 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.
3592
4348
  */
3593
4349
  "swipeGesture"?: ToastSwipeGestureDirection;
3594
4350
  /**
3595
- * 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).
4351
+ * The theme determines the visual appearance of the component.
4352
+ */
4353
+ "theme"?: "ios" | "md" | "ionic";
4354
+ /**
4355
+ * 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).
3596
4356
  * @default false
3597
4357
  */
3598
4358
  "translucent": boolean;
@@ -3643,7 +4403,7 @@ export namespace Components {
3643
4403
  */
3644
4404
  "labelPlacement": 'start' | 'end' | 'fixed' | 'stacked';
3645
4405
  /**
3646
- * The mode determines which platform styles to use.
4406
+ * The mode determines the platform behaviors of the component.
3647
4407
  */
3648
4408
  "mode"?: "ios" | "md";
3649
4409
  /**
@@ -3656,6 +4416,10 @@ export namespace Components {
3656
4416
  * @default false
3657
4417
  */
3658
4418
  "required": boolean;
4419
+ /**
4420
+ * The theme determines the visual appearance of the component.
4421
+ */
4422
+ "theme"?: "ios" | "md" | "ionic";
3659
4423
  /**
3660
4424
  * 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>`.
3661
4425
  * @default 'on'
@@ -3668,9 +4432,17 @@ export namespace Components {
3668
4432
  */
3669
4433
  "color"?: Color;
3670
4434
  /**
3671
- * The mode determines which platform styles to use.
4435
+ * The mode determines the platform behaviors of the component.
3672
4436
  */
3673
4437
  "mode"?: "ios" | "md";
4438
+ /**
4439
+ * The theme determines the visual appearance of the component.
4440
+ */
4441
+ "theme"?: "ios" | "md" | "ionic";
4442
+ /**
4443
+ * 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.
4444
+ */
4445
+ "titlePlacement"?: 'start' | 'center' | 'end';
3674
4446
  }
3675
4447
  }
3676
4448
  export interface IonAccordionGroupCustomEvent<T> extends CustomEvent<T> {
@@ -4144,6 +4916,12 @@ declare global {
4144
4916
  prototype: HTMLIonDatetimeButtonElement;
4145
4917
  new (): HTMLIonDatetimeButtonElement;
4146
4918
  };
4919
+ interface HTMLIonDividerElement extends Components.IonDivider, HTMLStencilElement {
4920
+ }
4921
+ var HTMLIonDividerElement: {
4922
+ prototype: HTMLIonDividerElement;
4923
+ new (): HTMLIonDividerElement;
4924
+ };
4147
4925
  interface HTMLIonFabElement extends Components.IonFab, HTMLStencilElement {
4148
4926
  }
4149
4927
  var HTMLIonFabElement: {
@@ -4180,6 +4958,18 @@ declare global {
4180
4958
  prototype: HTMLIonFooterElement;
4181
4959
  new (): HTMLIonFooterElement;
4182
4960
  };
4961
+ interface HTMLIonGalleryElement extends Components.IonGallery, HTMLStencilElement {
4962
+ }
4963
+ var HTMLIonGalleryElement: {
4964
+ prototype: HTMLIonGalleryElement;
4965
+ new (): HTMLIonGalleryElement;
4966
+ };
4967
+ interface HTMLIonGalleryItemElement extends Components.IonGalleryItem, HTMLStencilElement {
4968
+ }
4969
+ var HTMLIonGalleryItemElement: {
4970
+ prototype: HTMLIonGalleryItemElement;
4971
+ new (): HTMLIonGalleryItemElement;
4972
+ };
4183
4973
  interface HTMLIonGridElement extends Components.IonGrid, HTMLStencilElement {
4184
4974
  }
4185
4975
  var HTMLIonGridElement: {
@@ -5094,10 +5884,13 @@ declare global {
5094
5884
  "ion-content": HTMLIonContentElement;
5095
5885
  "ion-datetime": HTMLIonDatetimeElement;
5096
5886
  "ion-datetime-button": HTMLIonDatetimeButtonElement;
5887
+ "ion-divider": HTMLIonDividerElement;
5097
5888
  "ion-fab": HTMLIonFabElement;
5098
5889
  "ion-fab-button": HTMLIonFabButtonElement;
5099
5890
  "ion-fab-list": HTMLIonFabListElement;
5100
5891
  "ion-footer": HTMLIonFooterElement;
5892
+ "ion-gallery": HTMLIonGalleryElement;
5893
+ "ion-gallery-item": HTMLIonGalleryItemElement;
5101
5894
  "ion-grid": HTMLIonGridElement;
5102
5895
  "ion-header": HTMLIonHeaderElement;
5103
5896
  "ion-img": HTMLIonImgElement;
@@ -5177,7 +5970,7 @@ declare namespace LocalJSX {
5177
5970
  */
5178
5971
  "disabled"?: boolean;
5179
5972
  /**
5180
- * The mode determines which platform styles to use.
5973
+ * The mode determines the platform behaviors of the component.
5181
5974
  */
5182
5975
  "mode"?: "ios" | "md";
5183
5976
  /**
@@ -5185,9 +5978,12 @@ declare namespace LocalJSX {
5185
5978
  * @default false
5186
5979
  */
5187
5980
  "readonly"?: boolean;
5981
+ /**
5982
+ * The theme determines the visual appearance of the component.
5983
+ */
5984
+ "theme"?: "ios" | "md" | "ionic";
5188
5985
  /**
5189
5986
  * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
5190
- * @default chevronDown
5191
5987
  */
5192
5988
  "toggleIcon"?: string;
5193
5989
  /**
@@ -5218,7 +6014,7 @@ declare namespace LocalJSX {
5218
6014
  */
5219
6015
  "expand"?: 'compact' | 'inset';
5220
6016
  /**
5221
- * The mode determines which platform styles to use.
6017
+ * The mode determines the platform behaviors of the component.
5222
6018
  */
5223
6019
  "mode"?: "ios" | "md";
5224
6020
  /**
@@ -5234,6 +6030,14 @@ declare namespace LocalJSX {
5234
6030
  * @default false
5235
6031
  */
5236
6032
  "readonly"?: boolean;
6033
+ /**
6034
+ * 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"`.
6035
+ */
6036
+ "shape"?: 'soft' | 'round' | 'rectangular';
6037
+ /**
6038
+ * The theme determines the visual appearance of the component.
6039
+ */
6040
+ "theme"?: "ios" | "md" | "ionic";
5237
6041
  /**
5238
6042
  * The value of the accordion group. This controls which accordions are expanded. This should be an array of strings only when `multiple="true"`
5239
6043
  */
@@ -5286,7 +6090,7 @@ declare namespace LocalJSX {
5286
6090
  */
5287
6091
  "leaveAnimation"?: AnimationBuilder;
5288
6092
  /**
5289
- * The mode determines which platform styles to use.
6093
+ * The mode determines the platform behaviors of the component.
5290
6094
  */
5291
6095
  "mode"?: "ios" | "md";
5292
6096
  /**
@@ -5326,7 +6130,11 @@ declare namespace LocalJSX {
5326
6130
  */
5327
6131
  "subHeader"?: string;
5328
6132
  /**
5329
- * 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).
6133
+ * The theme determines the visual appearance of the component.
6134
+ */
6135
+ "theme"?: "ios" | "md" | "ionic";
6136
+ /**
6137
+ * 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).
5330
6138
  * @default false
5331
6139
  */
5332
6140
  "translucent"?: boolean;
@@ -5391,7 +6199,7 @@ declare namespace LocalJSX {
5391
6199
  */
5392
6200
  "message"?: string | IonicSafeString;
5393
6201
  /**
5394
- * The mode determines which platform styles to use.
6202
+ * The mode determines the platform behaviors of the component.
5395
6203
  */
5396
6204
  "mode"?: "ios" | "md";
5397
6205
  /**
@@ -5431,7 +6239,11 @@ declare namespace LocalJSX {
5431
6239
  */
5432
6240
  "subHeader"?: string;
5433
6241
  /**
5434
- * 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).
6242
+ * The theme determines the visual appearance of the component.
6243
+ */
6244
+ "theme"?: "ios" | "md" | "ionic";
6245
+ /**
6246
+ * 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).
5435
6247
  * @default false
5436
6248
  */
5437
6249
  "translucent"?: boolean;
@@ -5441,8 +6253,37 @@ declare namespace LocalJSX {
5441
6253
  "trigger"?: string | undefined;
5442
6254
  }
5443
6255
  interface IonApp {
6256
+ /**
6257
+ * The mode determines the platform behaviors of the component.
6258
+ */
6259
+ "mode"?: "ios" | "md";
6260
+ /**
6261
+ * The theme determines the visual appearance of the component.
6262
+ */
6263
+ "theme"?: "ios" | "md" | "ionic";
5444
6264
  }
5445
6265
  interface IonAvatar {
6266
+ /**
6267
+ * If `true`, the user cannot interact with the avatar.
6268
+ * @default false
6269
+ */
6270
+ "disabled"?: boolean;
6271
+ /**
6272
+ * The mode determines the platform behaviors of the component.
6273
+ */
6274
+ "mode"?: "ios" | "md";
6275
+ /**
6276
+ * 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.
6277
+ */
6278
+ "shape"?: 'soft' | 'round' | 'rectangular';
6279
+ /**
6280
+ * 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.
6281
+ */
6282
+ "size"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
6283
+ /**
6284
+ * The theme determines the visual appearance of the component.
6285
+ */
6286
+ "theme"?: "ios" | "md" | "ionic";
5446
6287
  }
5447
6288
  interface IonBackButton {
5448
6289
  /**
@@ -5463,7 +6304,7 @@ declare namespace LocalJSX {
5463
6304
  */
5464
6305
  "icon"?: string | null;
5465
6306
  /**
5466
- * The mode determines which platform styles to use.
6307
+ * The mode determines the platform behaviors of the component.
5467
6308
  */
5468
6309
  "mode"?: "ios" | "md";
5469
6310
  /**
@@ -5474,6 +6315,10 @@ declare namespace LocalJSX {
5474
6315
  * The text to display in the back button.
5475
6316
  */
5476
6317
  "text"?: string | null;
6318
+ /**
6319
+ * The theme determines the visual appearance of the component.
6320
+ */
6321
+ "theme"?: "ios" | "md" | "ionic";
5477
6322
  /**
5478
6323
  * The type of the button.
5479
6324
  * @default 'button'
@@ -5481,6 +6326,10 @@ declare namespace LocalJSX {
5481
6326
  "type"?: 'submit' | 'reset' | 'button';
5482
6327
  }
5483
6328
  interface IonBackdrop {
6329
+ /**
6330
+ * The mode determines the platform behaviors of the component.
6331
+ */
6332
+ "mode"?: "ios" | "md";
5484
6333
  /**
5485
6334
  * Emitted when the backdrop is tapped.
5486
6335
  */
@@ -5495,6 +6344,10 @@ declare namespace LocalJSX {
5495
6344
  * @default true
5496
6345
  */
5497
6346
  "tappable"?: boolean;
6347
+ /**
6348
+ * The theme determines the visual appearance of the component.
6349
+ */
6350
+ "theme"?: "ios" | "md" | "ionic";
5498
6351
  /**
5499
6352
  * If `true`, the backdrop will be visible.
5500
6353
  * @default true
@@ -5507,9 +6360,29 @@ declare namespace LocalJSX {
5507
6360
  */
5508
6361
  "color"?: Color;
5509
6362
  /**
5510
- * The mode determines which platform styles to use.
6363
+ * 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.
6364
+ */
6365
+ "hue"?: 'bold' | 'subtle';
6366
+ /**
6367
+ * The mode determines the platform behaviors of the component.
5511
6368
  */
5512
6369
  "mode"?: "ios" | "md";
6370
+ /**
6371
+ * 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.
6372
+ */
6373
+ "shape"?: 'soft' | 'round | rectangular';
6374
+ /**
6375
+ * 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.
6376
+ */
6377
+ "size"?: 'small' | 'medium' | 'large';
6378
+ /**
6379
+ * The theme determines the visual appearance of the component.
6380
+ */
6381
+ "theme"?: "ios" | "md" | "ionic";
6382
+ /**
6383
+ * 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.
6384
+ */
6385
+ "vertical"?: 'top' | 'bottom';
5513
6386
  }
5514
6387
  interface IonBreadcrumb {
5515
6388
  /**
@@ -5535,7 +6408,7 @@ declare namespace LocalJSX {
5535
6408
  */
5536
6409
  "href"?: string | undefined;
5537
6410
  /**
5538
- * The mode determines which platform styles to use.
6411
+ * The mode determines the platform behaviors of the component.
5539
6412
  */
5540
6413
  "mode"?: "ios" | "md";
5541
6414
  /**
@@ -5567,6 +6440,10 @@ declare namespace LocalJSX {
5567
6440
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5568
6441
  */
5569
6442
  "target"?: string | undefined;
6443
+ /**
6444
+ * The theme determines the visual appearance of the component.
6445
+ */
6446
+ "theme"?: "ios" | "md" | "ionic";
5570
6447
  }
5571
6448
  interface IonBreadcrumbs {
5572
6449
  /**
@@ -5588,13 +6465,17 @@ declare namespace LocalJSX {
5588
6465
  */
5589
6466
  "maxItems"?: number;
5590
6467
  /**
5591
- * The mode determines which platform styles to use.
6468
+ * The mode determines the platform behaviors of the component.
5592
6469
  */
5593
6470
  "mode"?: "ios" | "md";
5594
6471
  /**
5595
6472
  * Emitted when the collapsed indicator is clicked on.
5596
6473
  */
5597
6474
  "onIonCollapsedClick"?: (event: IonBreadcrumbsCustomEvent<BreadcrumbCollapsedClickEventDetail>) => void;
6475
+ /**
6476
+ * The theme determines the visual appearance of the component.
6477
+ */
6478
+ "theme"?: "ios" | "md" | "ionic";
5598
6479
  }
5599
6480
  interface IonButton {
5600
6481
  /**
@@ -5620,7 +6501,7 @@ declare namespace LocalJSX {
5620
6501
  */
5621
6502
  "expand"?: 'full' | 'block';
5622
6503
  /**
5623
- * 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"`.
6504
+ * 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"`.
5624
6505
  */
5625
6506
  "fill"?: 'clear' | 'outline' | 'solid' | 'default';
5626
6507
  /**
@@ -5632,7 +6513,7 @@ declare namespace LocalJSX {
5632
6513
  */
5633
6514
  "href"?: string | undefined;
5634
6515
  /**
5635
- * The mode determines which platform styles to use.
6516
+ * The mode determines the platform behaviors of the component.
5636
6517
  */
5637
6518
  "mode"?: "ios" | "md";
5638
6519
  /**
@@ -5657,13 +6538,13 @@ declare namespace LocalJSX {
5657
6538
  */
5658
6539
  "routerDirection"?: RouterDirection;
5659
6540
  /**
5660
- * Set to `"round"` for a button with more rounded corners.
6541
+ * 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.
5661
6542
  */
5662
- "shape"?: 'round';
6543
+ "shape"?: 'soft' | 'round' | 'rectangular';
5663
6544
  /**
5664
- * 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.
6545
+ * 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.
5665
6546
  */
5666
- "size"?: 'small' | 'default' | 'large';
6547
+ "size"?: 'small' | 'default' | 'medium' | 'large';
5667
6548
  /**
5668
6549
  * If `true`, activates a button with a heavier font weight.
5669
6550
  * @default false
@@ -5673,6 +6554,10 @@ declare namespace LocalJSX {
5673
6554
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5674
6555
  */
5675
6556
  "target"?: string | undefined;
6557
+ /**
6558
+ * The theme determines the visual appearance of the component.
6559
+ */
6560
+ "theme"?: "ios" | "md" | "ionic";
5676
6561
  /**
5677
6562
  * The type of the button.
5678
6563
  * @default 'button'
@@ -5681,10 +6566,18 @@ declare namespace LocalJSX {
5681
6566
  }
5682
6567
  interface IonButtons {
5683
6568
  /**
5684
- * 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)
5685
- * @default false
6569
+ * 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)
6570
+ * @default false
6571
+ */
6572
+ "collapse"?: boolean;
6573
+ /**
6574
+ * The mode determines the platform behaviors of the component.
6575
+ */
6576
+ "mode"?: "ios" | "md";
6577
+ /**
6578
+ * The theme determines the visual appearance of the component.
5686
6579
  */
5687
- "collapse"?: boolean;
6580
+ "theme"?: "ios" | "md" | "ionic";
5688
6581
  }
5689
6582
  interface IonCard {
5690
6583
  /**
@@ -5710,7 +6603,7 @@ declare namespace LocalJSX {
5710
6603
  */
5711
6604
  "href"?: string | undefined;
5712
6605
  /**
5713
- * The mode determines which platform styles to use.
6606
+ * The mode determines the platform behaviors of the component.
5714
6607
  */
5715
6608
  "mode"?: "ios" | "md";
5716
6609
  /**
@@ -5726,10 +6619,19 @@ declare namespace LocalJSX {
5726
6619
  * @default 'forward'
5727
6620
  */
5728
6621
  "routerDirection"?: RouterDirection;
6622
+ /**
6623
+ * 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"`.
6624
+ * @default 'round'
6625
+ */
6626
+ "shape"?: 'soft' | 'round' | 'rectangular';
5729
6627
  /**
5730
6628
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5731
6629
  */
5732
6630
  "target"?: string | undefined;
6631
+ /**
6632
+ * The theme determines the visual appearance of the component.
6633
+ */
6634
+ "theme"?: "ios" | "md" | "ionic";
5733
6635
  /**
5734
6636
  * The type of the button. Only used when an `onclick` or `button` property is present.
5735
6637
  * @default 'button'
@@ -5738,9 +6640,13 @@ declare namespace LocalJSX {
5738
6640
  }
5739
6641
  interface IonCardContent {
5740
6642
  /**
5741
- * The mode determines which platform styles to use.
6643
+ * The mode determines the platform behaviors of the component.
5742
6644
  */
5743
6645
  "mode"?: "ios" | "md";
6646
+ /**
6647
+ * The theme determines the visual appearance of the component.
6648
+ */
6649
+ "theme"?: "ios" | "md" | "ionic";
5744
6650
  }
5745
6651
  interface IonCardHeader {
5746
6652
  /**
@@ -5748,11 +6654,15 @@ declare namespace LocalJSX {
5748
6654
  */
5749
6655
  "color"?: Color;
5750
6656
  /**
5751
- * The mode determines which platform styles to use.
6657
+ * The mode determines the platform behaviors of the component.
5752
6658
  */
5753
6659
  "mode"?: "ios" | "md";
5754
6660
  /**
5755
- * 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).
6661
+ * The theme determines the visual appearance of the component.
6662
+ */
6663
+ "theme"?: "ios" | "md" | "ionic";
6664
+ /**
6665
+ * 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).
5756
6666
  * @default false
5757
6667
  */
5758
6668
  "translucent"?: boolean;
@@ -5763,9 +6673,13 @@ declare namespace LocalJSX {
5763
6673
  */
5764
6674
  "color"?: Color;
5765
6675
  /**
5766
- * The mode determines which platform styles to use.
6676
+ * The mode determines the platform behaviors of the component.
5767
6677
  */
5768
6678
  "mode"?: "ios" | "md";
6679
+ /**
6680
+ * The theme determines the visual appearance of the component.
6681
+ */
6682
+ "theme"?: "ios" | "md" | "ionic";
5769
6683
  }
5770
6684
  interface IonCardTitle {
5771
6685
  /**
@@ -5773,9 +6687,13 @@ declare namespace LocalJSX {
5773
6687
  */
5774
6688
  "color"?: Color;
5775
6689
  /**
5776
- * The mode determines which platform styles to use.
6690
+ * The mode determines the platform behaviors of the component.
5777
6691
  */
5778
6692
  "mode"?: "ios" | "md";
6693
+ /**
6694
+ * The theme determines the visual appearance of the component.
6695
+ */
6696
+ "theme"?: "ios" | "md" | "ionic";
5779
6697
  }
5780
6698
  interface IonCheckbox {
5781
6699
  /**
@@ -5819,7 +6737,7 @@ declare namespace LocalJSX {
5819
6737
  */
5820
6738
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
5821
6739
  /**
5822
- * The mode determines which platform styles to use.
6740
+ * The mode determines the platform behaviors of the component.
5823
6741
  */
5824
6742
  "mode"?: "ios" | "md";
5825
6743
  /**
@@ -5832,7 +6750,7 @@ declare namespace LocalJSX {
5832
6750
  */
5833
6751
  "onIonBlur"?: (event: IonCheckboxCustomEvent<void>) => void;
5834
6752
  /**
5835
- * 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.
6753
+ * 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.
5836
6754
  */
5837
6755
  "onIonChange"?: (event: IonCheckboxCustomEvent<CheckboxChangeEventDetail>) => void;
5838
6756
  /**
@@ -5844,6 +6762,19 @@ declare namespace LocalJSX {
5844
6762
  * @default false
5845
6763
  */
5846
6764
  "required"?: boolean;
6765
+ /**
6766
+ * Set to `"soft"` for a checkbox with more rounded corners. Only available when the theme is `"ionic"`.
6767
+ * @default 'soft'
6768
+ */
6769
+ "shape"?: 'soft' | 'rectangular';
6770
+ /**
6771
+ * Set to `"small"` for a checkbox with less height and padding.
6772
+ */
6773
+ "size"?: 'small';
6774
+ /**
6775
+ * The theme determines the visual appearance of the component.
6776
+ */
6777
+ "theme"?: "ios" | "md" | "ionic";
5847
6778
  /**
5848
6779
  * 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>`.
5849
6780
  * @default 'on'
@@ -5861,7 +6792,12 @@ declare namespace LocalJSX {
5861
6792
  */
5862
6793
  "disabled"?: boolean;
5863
6794
  /**
5864
- * The mode determines which platform styles to use.
6795
+ * 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.
6796
+ * @default 'subtle'
6797
+ */
6798
+ "hue"?: 'bold' | 'subtle';
6799
+ /**
6800
+ * The mode determines the platform behaviors of the component.
5865
6801
  */
5866
6802
  "mode"?: "ios" | "md";
5867
6803
  /**
@@ -5869,8 +6805,24 @@ declare namespace LocalJSX {
5869
6805
  * @default false
5870
6806
  */
5871
6807
  "outline"?: boolean;
6808
+ /**
6809
+ * 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.
6810
+ */
6811
+ "shape"?: 'soft' | 'round' | 'rectangular';
6812
+ /**
6813
+ * Set to `"small"` for a chip with less height and padding. Defaults to `"large"` for the ionic theme, and undefined for all other themes.
6814
+ */
6815
+ "size"?: 'small' | 'large';
6816
+ /**
6817
+ * The theme determines the visual appearance of the component.
6818
+ */
6819
+ "theme"?: "ios" | "md" | "ionic";
5872
6820
  }
5873
6821
  interface IonCol {
6822
+ /**
6823
+ * The mode determines the platform behaviors of the component.
6824
+ */
6825
+ "mode"?: "ios" | "md";
5874
6826
  /**
5875
6827
  * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
5876
6828
  */
@@ -5895,52 +6847,88 @@ declare namespace LocalJSX {
5895
6847
  * 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.
5896
6848
  */
5897
6849
  "offsetXs"?: string;
6850
+ /**
6851
+ * 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.
6852
+ */
6853
+ "order"?: string;
6854
+ /**
6855
+ * 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.
6856
+ */
6857
+ "orderLg"?: string;
6858
+ /**
6859
+ * 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.
6860
+ */
6861
+ "orderMd"?: string;
6862
+ /**
6863
+ * 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.
6864
+ */
6865
+ "orderSm"?: string;
6866
+ /**
6867
+ * 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.
6868
+ */
6869
+ "orderXl"?: string;
6870
+ /**
6871
+ * 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.
6872
+ */
6873
+ "orderXs"?: string;
5898
6874
  /**
5899
6875
  * The amount to pull the column, in terms of how many columns it should shift to the start of the total available.
6876
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
5900
6877
  */
5901
6878
  "pull"?: string;
5902
6879
  /**
5903
6880
  * 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.
6881
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
5904
6882
  */
5905
6883
  "pullLg"?: string;
5906
6884
  /**
5907
6885
  * 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.
6886
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
5908
6887
  */
5909
6888
  "pullMd"?: string;
5910
6889
  /**
5911
6890
  * 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.
6891
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
5912
6892
  */
5913
6893
  "pullSm"?: string;
5914
6894
  /**
5915
6895
  * 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.
6896
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
5916
6897
  */
5917
6898
  "pullXl"?: string;
5918
6899
  /**
5919
6900
  * 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.
6901
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
5920
6902
  */
5921
6903
  "pullXs"?: string;
5922
6904
  /**
5923
6905
  * The amount to push the column, in terms of how many columns it should shift to the end of the total available.
6906
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
5924
6907
  */
5925
6908
  "push"?: string;
5926
6909
  /**
5927
6910
  * 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.
6911
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
5928
6912
  */
5929
6913
  "pushLg"?: string;
5930
6914
  /**
5931
6915
  * 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.
6916
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
5932
6917
  */
5933
6918
  "pushMd"?: string;
5934
6919
  /**
5935
6920
  * 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.
6921
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
5936
6922
  */
5937
6923
  "pushSm"?: string;
5938
6924
  /**
5939
6925
  * 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.
6926
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
5940
6927
  */
5941
6928
  "pushXl"?: string;
5942
6929
  /**
5943
6930
  * 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.
6931
+ * @deprecated Use the combination of `size` and `order` properties to achieve the same effect.
5944
6932
  */
5945
6933
  "pushXs"?: string;
5946
6934
  /**
@@ -5967,6 +6955,10 @@ declare namespace LocalJSX {
5967
6955
  * 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.
5968
6956
  */
5969
6957
  "sizeXs"?: string;
6958
+ /**
6959
+ * The theme determines the visual appearance of the component.
6960
+ */
6961
+ "theme"?: "ios" | "md" | "ionic";
5970
6962
  }
5971
6963
  interface IonContent {
5972
6964
  /**
@@ -5987,6 +6979,10 @@ declare namespace LocalJSX {
5987
6979
  * @default false
5988
6980
  */
5989
6981
  "fullscreen"?: boolean;
6982
+ /**
6983
+ * The mode determines the platform behaviors of the component.
6984
+ */
6985
+ "mode"?: "ios" | "md";
5990
6986
  /**
5991
6987
  * Emitted while scrolling. This event is disabled by default. Set `scrollEvents` to `true` to enable.
5992
6988
  */
@@ -6014,6 +7010,10 @@ declare namespace LocalJSX {
6014
7010
  * @default true
6015
7011
  */
6016
7012
  "scrollY"?: boolean;
7013
+ /**
7014
+ * The theme determines the visual appearance of the component.
7015
+ */
7016
+ "theme"?: "ios" | "md" | "ionic";
6017
7017
  }
6018
7018
  interface IonDatetime {
6019
7019
  /**
@@ -6087,7 +7087,7 @@ declare namespace LocalJSX {
6087
7087
  */
6088
7088
  "minuteValues"?: number[] | number | string;
6089
7089
  /**
6090
- * The mode determines which platform styles to use.
7090
+ * The mode determines the platform behaviors of the component.
6091
7091
  */
6092
7092
  "mode"?: "ios" | "md";
6093
7093
  /**
@@ -6165,6 +7165,10 @@ declare namespace LocalJSX {
6165
7165
  * @default 'fixed'
6166
7166
  */
6167
7167
  "size"?: 'cover' | 'fixed';
7168
+ /**
7169
+ * The theme determines the visual appearance of the component.
7170
+ */
7171
+ "theme"?: "ios" | "md" | "ionic";
6168
7172
  /**
6169
7173
  * 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.
6170
7174
  */
@@ -6193,9 +7197,25 @@ declare namespace LocalJSX {
6193
7197
  */
6194
7198
  "disabled"?: boolean;
6195
7199
  /**
6196
- * The mode determines which platform styles to use.
7200
+ * The mode determines the platform behaviors of the component.
6197
7201
  */
6198
7202
  "mode"?: "ios" | "md";
7203
+ /**
7204
+ * The theme determines the visual appearance of the component.
7205
+ */
7206
+ "theme"?: "ios" | "md" | "ionic";
7207
+ }
7208
+ interface IonDivider {
7209
+ /**
7210
+ * If `true`, the divider will have horizontal margins By default, it's `false`
7211
+ * @default false
7212
+ */
7213
+ "inset"?: boolean;
7214
+ /**
7215
+ * 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"`.
7216
+ * @default 'medium'
7217
+ */
7218
+ "spacing"?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
6199
7219
  }
6200
7220
  interface IonFab {
6201
7221
  /**
@@ -6212,6 +7232,14 @@ declare namespace LocalJSX {
6212
7232
  * Where to align the fab horizontally in the viewport.
6213
7233
  */
6214
7234
  "horizontal"?: 'start' | 'end' | 'center';
7235
+ /**
7236
+ * The mode determines the platform behaviors of the component.
7237
+ */
7238
+ "mode"?: "ios" | "md";
7239
+ /**
7240
+ * The theme determines the visual appearance of the component.
7241
+ */
7242
+ "theme"?: "ios" | "md" | "ionic";
6215
7243
  /**
6216
7244
  * Where to align the fab vertically in the viewport.
6217
7245
  */
@@ -6225,7 +7253,6 @@ declare namespace LocalJSX {
6225
7253
  "activated"?: boolean;
6226
7254
  /**
6227
7255
  * 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.
6228
- * @default close
6229
7256
  */
6230
7257
  "closeIcon"?: string;
6231
7258
  /**
@@ -6250,7 +7277,7 @@ declare namespace LocalJSX {
6250
7277
  */
6251
7278
  "href"?: string | undefined;
6252
7279
  /**
6253
- * The mode determines which platform styles to use.
7280
+ * The mode determines the platform behaviors of the component.
6254
7281
  */
6255
7282
  "mode"?: "ios" | "md";
6256
7283
  /**
@@ -6288,7 +7315,11 @@ declare namespace LocalJSX {
6288
7315
  */
6289
7316
  "target"?: string | undefined;
6290
7317
  /**
6291
- * 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).
7318
+ * The theme determines the visual appearance of the component.
7319
+ */
7320
+ "theme"?: "ios" | "md" | "ionic";
7321
+ /**
7322
+ * 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).
6292
7323
  * @default false
6293
7324
  */
6294
7325
  "translucent"?: boolean;
@@ -6304,45 +7335,123 @@ declare namespace LocalJSX {
6304
7335
  * @default false
6305
7336
  */
6306
7337
  "activated"?: boolean;
7338
+ /**
7339
+ * The mode determines the platform behaviors of the component.
7340
+ */
7341
+ "mode"?: "ios" | "md";
6307
7342
  /**
6308
7343
  * The side the fab list will show on relative to the main fab button.
6309
7344
  * @default 'bottom'
6310
7345
  */
6311
7346
  "side"?: 'start' | 'end' | 'top' | 'bottom';
7347
+ /**
7348
+ * The theme determines the visual appearance of the component.
7349
+ */
7350
+ "theme"?: "ios" | "md" | "ionic";
6312
7351
  }
6313
7352
  interface IonFooter {
6314
7353
  /**
6315
- * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
7354
+ * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
7355
+ * @deprecated Use `scrollEffect` instead.
6316
7356
  */
6317
7357
  "collapse"?: 'fade';
6318
7358
  /**
6319
- * The mode determines which platform styles to use.
7359
+ * The mode determines the platform behaviors of the component.
6320
7360
  */
6321
7361
  "mode"?: "ios" | "md";
6322
7362
  /**
6323
- * 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.
7363
+ * Describes the scroll effect that will be applied to the footer. `"hide"` slides the footer out of view when scrolling down and back in when scrolling up. `"fade"` fades the toolbar background on scroll.
7364
+ */
7365
+ "scrollEffect"?: FooterScrollEffect;
7366
+ /**
7367
+ * The theme determines the visual appearance of the component.
7368
+ */
7369
+ "theme"?: "ios" | "md" | "ionic";
7370
+ /**
7371
+ * 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.
6324
7372
  * @default false
6325
7373
  */
6326
7374
  "translucent"?: boolean;
6327
7375
  }
7376
+ interface IonGallery {
7377
+ /**
7378
+ * 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 }`).
7379
+ * @default { xs: 2, sm: 3, md: 4, lg: 6, xl: 8, xxl: 10, }
7380
+ */
7381
+ "columns"?: GalleryColumns;
7382
+ /**
7383
+ * 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.
7384
+ * @default '16px'
7385
+ */
7386
+ "gap"?: GalleryGap;
7387
+ /**
7388
+ * 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.
7389
+ * @default 'uniform'
7390
+ */
7391
+ "layout"?: 'uniform' | 'masonry';
7392
+ /**
7393
+ * The mode determines the platform behaviors of the component.
7394
+ */
7395
+ "mode"?: "ios" | "md";
7396
+ /**
7397
+ * 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.
7398
+ */
7399
+ "order"?: 'sequential' | 'best-fit';
7400
+ /**
7401
+ * The theme determines the visual appearance of the component.
7402
+ */
7403
+ "theme"?: "ios" | "md" | "ionic";
7404
+ }
7405
+ interface IonGalleryItem {
7406
+ /**
7407
+ * The mode determines the platform behaviors of the component.
7408
+ */
7409
+ "mode"?: "ios" | "md";
7410
+ /**
7411
+ * The theme determines the visual appearance of the component.
7412
+ */
7413
+ "theme"?: "ios" | "md" | "ionic";
7414
+ }
6328
7415
  interface IonGrid {
6329
7416
  /**
6330
7417
  * If `true`, the grid will have a fixed width based on the screen size.
6331
7418
  * @default false
6332
7419
  */
6333
7420
  "fixed"?: boolean;
7421
+ /**
7422
+ * The mode determines the platform behaviors of the component.
7423
+ */
7424
+ "mode"?: "ios" | "md";
7425
+ /**
7426
+ * The theme determines the visual appearance of the component.
7427
+ */
7428
+ "theme"?: "ios" | "md" | "ionic";
6334
7429
  }
6335
7430
  interface IonHeader {
6336
7431
  /**
6337
- * 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)
7432
+ * 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)
7433
+ * @deprecated Use `scrollEffect` instead.
6338
7434
  */
6339
7435
  "collapse"?: 'condense' | 'fade';
6340
7436
  /**
6341
- * The mode determines which platform styles to use.
7437
+ * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
7438
+ * @default false
7439
+ */
7440
+ "divider"?: boolean;
7441
+ /**
7442
+ * The mode determines the platform behaviors of the component.
6342
7443
  */
6343
7444
  "mode"?: "ios" | "md";
6344
7445
  /**
6345
- * 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.
7446
+ * Describes the scroll effect that will be applied to the header. `"hide"` slides the header out of view when scrolling down and back in when scrolling up. `"condense"` collapses the large title into the main toolbar on scroll. `"fade"` fades the toolbar background on scroll.
7447
+ */
7448
+ "scrollEffect"?: HeaderScrollEffect;
7449
+ /**
7450
+ * The theme determines the visual appearance of the component.
7451
+ */
7452
+ "theme"?: "ios" | "md" | "ionic";
7453
+ /**
7454
+ * 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.
6346
7455
  * @default false
6347
7456
  */
6348
7457
  "translucent"?: boolean;
@@ -6355,6 +7464,10 @@ declare namespace LocalJSX {
6355
7464
  * 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.
6356
7465
  */
6357
7466
  "alt"?: string;
7467
+ /**
7468
+ * The mode determines the platform behaviors of the component.
7469
+ */
7470
+ "mode"?: "ios" | "md";
6358
7471
  /**
6359
7472
  * Emitted when the img fails to load
6360
7473
  */
@@ -6371,6 +7484,10 @@ declare namespace LocalJSX {
6371
7484
  * The image URL. This attribute is mandatory for the `<img>` element.
6372
7485
  */
6373
7486
  "src"?: string;
7487
+ /**
7488
+ * The theme determines the visual appearance of the component.
7489
+ */
7490
+ "theme"?: "ios" | "md" | "ionic";
6374
7491
  }
6375
7492
  interface IonInfiniteScroll {
6376
7493
  /**
@@ -6378,6 +7495,10 @@ declare namespace LocalJSX {
6378
7495
  * @default false
6379
7496
  */
6380
7497
  "disabled"?: boolean;
7498
+ /**
7499
+ * The mode determines the platform behaviors of the component.
7500
+ */
7501
+ "mode"?: "ios" | "md";
6381
7502
  /**
6382
7503
  * 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.
6383
7504
  */
@@ -6387,6 +7508,15 @@ declare namespace LocalJSX {
6387
7508
  * @default 'bottom'
6388
7509
  */
6389
7510
  "position"?: 'top' | 'bottom';
7511
+ /**
7512
+ * 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.
7513
+ * @default false
7514
+ */
7515
+ "preserveRerenderScrollPosition"?: boolean;
7516
+ /**
7517
+ * The theme determines the visual appearance of the component.
7518
+ */
7519
+ "theme"?: "ios" | "md" | "ionic";
6390
7520
  /**
6391
7521
  * 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.
6392
7522
  * @default '15%'
@@ -6402,6 +7532,14 @@ declare namespace LocalJSX {
6402
7532
  * 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.
6403
7533
  */
6404
7534
  "loadingText"?: string | IonicSafeString;
7535
+ /**
7536
+ * The mode determines the platform behaviors of the component.
7537
+ */
7538
+ "mode"?: "ios" | "md";
7539
+ /**
7540
+ * The theme determines the visual appearance of the component.
7541
+ */
7542
+ "theme"?: "ios" | "md" | "ionic";
6405
7543
  }
6406
7544
  interface IonInput {
6407
7545
  /**
@@ -6468,7 +7606,7 @@ declare namespace LocalJSX {
6468
7606
  */
6469
7607
  "errorText"?: string;
6470
7608
  /**
6471
- * 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.
7609
+ * 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"`.
6472
7610
  */
6473
7611
  "fill"?: 'outline' | 'solid';
6474
7612
  /**
@@ -6484,8 +7622,7 @@ declare namespace LocalJSX {
6484
7622
  */
6485
7623
  "label"?: string;
6486
7624
  /**
6487
- * 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 ("...").
6488
- * @default 'start'
7625
+ * 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.
6489
7626
  */
6490
7627
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
6491
7628
  /**
@@ -6505,7 +7642,7 @@ declare namespace LocalJSX {
6505
7642
  */
6506
7643
  "minlength"?: number;
6507
7644
  /**
6508
- * The mode determines which platform styles to use.
7645
+ * The mode determines the platform behaviors of the component.
6509
7646
  */
6510
7647
  "mode"?: "ios" | "md";
6511
7648
  /**
@@ -6552,9 +7689,14 @@ declare namespace LocalJSX {
6552
7689
  */
6553
7690
  "required"?: boolean;
6554
7691
  /**
6555
- * The shape of the input. If "round" it will have an increased border radius.
7692
+ * 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"`.
7693
+ */
7694
+ "shape"?: 'soft' | 'round' | 'rectangular';
7695
+ /**
7696
+ * 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.
7697
+ * @default 'medium'
6556
7698
  */
6557
- "shape"?: 'round';
7699
+ "size"?: 'medium' | 'large' | 'xlarge';
6558
7700
  /**
6559
7701
  * If `true`, the element will have its spelling and grammar checked.
6560
7702
  * @default false
@@ -6564,6 +7706,10 @@ declare namespace LocalJSX {
6564
7706
  * 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.
6565
7707
  */
6566
7708
  "step"?: string;
7709
+ /**
7710
+ * The theme determines the visual appearance of the component.
7711
+ */
7712
+ "theme"?: "ios" | "md" | "ionic";
6567
7713
  /**
6568
7714
  * The type of control to display. The default type is text.
6569
7715
  * @default 'text'
@@ -6595,6 +7741,10 @@ declare namespace LocalJSX {
6595
7741
  * @default 'outline'
6596
7742
  */
6597
7743
  "fill"?: 'outline' | 'solid';
7744
+ /**
7745
+ * The `id` of a `<form>` element to associate this element with.
7746
+ */
7747
+ "form"?: string;
6598
7748
  /**
6599
7749
  * 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"
6600
7750
  */
@@ -6604,6 +7754,14 @@ declare namespace LocalJSX {
6604
7754
  * @default 4
6605
7755
  */
6606
7756
  "length"?: number;
7757
+ /**
7758
+ * The mode determines the platform behaviors of the component.
7759
+ */
7760
+ "mode"?: "ios" | "md";
7761
+ /**
7762
+ * The name of the element, used when submitting an HTML form.
7763
+ */
7764
+ "name"?: string;
6607
7765
  /**
6608
7766
  * Emitted when the input group loses focus.
6609
7767
  */
@@ -6647,6 +7805,10 @@ declare namespace LocalJSX {
6647
7805
  * @default 'medium'
6648
7806
  */
6649
7807
  "size"?: 'small' | 'medium' | 'large';
7808
+ /**
7809
+ * The theme determines the visual appearance of the component.
7810
+ */
7811
+ "theme"?: "ios" | "md" | "ionic";
6650
7812
  /**
6651
7813
  * The type of input allowed in the input boxes.
6652
7814
  * @default 'number'
@@ -6687,12 +7849,11 @@ declare namespace LocalJSX {
6687
7849
  */
6688
7850
  "color"?: Color;
6689
7851
  /**
6690
- * 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.
7852
+ * 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.
6691
7853
  */
6692
7854
  "detail"?: boolean;
6693
7855
  /**
6694
7856
  * The icon to use when `detail` is set to `true`.
6695
- * @default chevronForward
6696
7857
  */
6697
7858
  "detailIcon"?: string;
6698
7859
  /**
@@ -6713,7 +7874,7 @@ declare namespace LocalJSX {
6713
7874
  */
6714
7875
  "lines"?: 'full' | 'inset' | 'none';
6715
7876
  /**
6716
- * The mode determines which platform styles to use.
7877
+ * The mode determines the platform behaviors of the component.
6717
7878
  */
6718
7879
  "mode"?: "ios" | "md";
6719
7880
  /**
@@ -6733,6 +7894,10 @@ declare namespace LocalJSX {
6733
7894
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6734
7895
  */
6735
7896
  "target"?: string | undefined;
7897
+ /**
7898
+ * The theme determines the visual appearance of the component.
7899
+ */
7900
+ "theme"?: "ios" | "md" | "ionic";
6736
7901
  /**
6737
7902
  * The type of the button. Only used when an `onclick` or `button` property is present.
6738
7903
  * @default 'button'
@@ -6745,7 +7910,7 @@ declare namespace LocalJSX {
6745
7910
  */
6746
7911
  "color"?: Color;
6747
7912
  /**
6748
- * The mode determines which platform styles to use.
7913
+ * The mode determines the platform behaviors of the component.
6749
7914
  */
6750
7915
  "mode"?: "ios" | "md";
6751
7916
  /**
@@ -6753,8 +7918,20 @@ declare namespace LocalJSX {
6753
7918
  * @default false
6754
7919
  */
6755
7920
  "sticky"?: boolean;
7921
+ /**
7922
+ * The theme determines the visual appearance of the component.
7923
+ */
7924
+ "theme"?: "ios" | "md" | "ionic";
6756
7925
  }
6757
7926
  interface IonItemGroup {
7927
+ /**
7928
+ * The mode determines the platform behaviors of the component.
7929
+ */
7930
+ "mode"?: "ios" | "md";
7931
+ /**
7932
+ * The theme determines the visual appearance of the component.
7933
+ */
7934
+ "theme"?: "ios" | "md" | "ionic";
6758
7935
  }
6759
7936
  interface IonItemOption {
6760
7937
  /**
@@ -6780,17 +7957,30 @@ declare namespace LocalJSX {
6780
7957
  */
6781
7958
  "href"?: string | undefined;
6782
7959
  /**
6783
- * The mode determines which platform styles to use.
7960
+ * 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.
7961
+ * @default 'subtle'
7962
+ */
7963
+ "hue"?: 'bold' | 'subtle';
7964
+ /**
7965
+ * The mode determines the platform behaviors of the component.
6784
7966
  */
6785
7967
  "mode"?: "ios" | "md";
6786
7968
  /**
6787
7969
  * 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).
6788
7970
  */
6789
7971
  "rel"?: string | undefined;
7972
+ /**
7973
+ * 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.
7974
+ */
7975
+ "shape"?: 'soft' | 'round' | 'rectangular';
6790
7976
  /**
6791
7977
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6792
7978
  */
6793
7979
  "target"?: string | undefined;
7980
+ /**
7981
+ * The theme determines the visual appearance of the component.
7982
+ */
7983
+ "theme"?: "ios" | "md" | "ionic";
6794
7984
  /**
6795
7985
  * The type of the button.
6796
7986
  * @default 'button'
@@ -6798,6 +7988,10 @@ declare namespace LocalJSX {
6798
7988
  "type"?: 'submit' | 'reset' | 'button';
6799
7989
  }
6800
7990
  interface IonItemOptions {
7991
+ /**
7992
+ * The mode determines the platform behaviors of the component.
7993
+ */
7994
+ "mode"?: "ios" | "md";
6801
7995
  /**
6802
7996
  * Emitted when the item has been fully swiped.
6803
7997
  */
@@ -6807,6 +8001,10 @@ declare namespace LocalJSX {
6807
8001
  * @default 'end'
6808
8002
  */
6809
8003
  "side"?: Side;
8004
+ /**
8005
+ * The theme determines the visual appearance of the component.
8006
+ */
8007
+ "theme"?: "ios" | "md" | "ionic";
6810
8008
  }
6811
8009
  interface IonItemSliding {
6812
8010
  /**
@@ -6814,10 +8012,18 @@ declare namespace LocalJSX {
6814
8012
  * @default false
6815
8013
  */
6816
8014
  "disabled"?: boolean;
8015
+ /**
8016
+ * The mode determines the platform behaviors of the component.
8017
+ */
8018
+ "mode"?: "ios" | "md";
6817
8019
  /**
6818
8020
  * Emitted when the sliding position changes.
6819
8021
  */
6820
8022
  "onIonDrag"?: (event: IonItemSlidingCustomEvent<any>) => void;
8023
+ /**
8024
+ * The theme determines the visual appearance of the component.
8025
+ */
8026
+ "theme"?: "ios" | "md" | "ionic";
6821
8027
  }
6822
8028
  interface IonLabel {
6823
8029
  /**
@@ -6825,13 +8031,17 @@ declare namespace LocalJSX {
6825
8031
  */
6826
8032
  "color"?: Color;
6827
8033
  /**
6828
- * The mode determines which platform styles to use.
8034
+ * The mode determines the platform behaviors of the component.
6829
8035
  */
6830
8036
  "mode"?: "ios" | "md";
6831
8037
  /**
6832
8038
  * The position determines where and how the label behaves inside an item.
6833
8039
  */
6834
8040
  "position"?: 'fixed' | 'stacked' | 'floating';
8041
+ /**
8042
+ * The theme determines the visual appearance of the component.
8043
+ */
8044
+ "theme"?: "ios" | "md" | "ionic";
6835
8045
  }
6836
8046
  interface IonList {
6837
8047
  /**
@@ -6844,9 +8054,17 @@ declare namespace LocalJSX {
6844
8054
  */
6845
8055
  "lines"?: 'full' | 'inset' | 'none';
6846
8056
  /**
6847
- * The mode determines which platform styles to use.
8057
+ * The mode determines the platform behaviors of the component.
6848
8058
  */
6849
8059
  "mode"?: "ios" | "md";
8060
+ /**
8061
+ * 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.
8062
+ */
8063
+ "shape"?: 'soft' | 'round' | 'rectangular';
8064
+ /**
8065
+ * The theme determines the visual appearance of the component.
8066
+ */
8067
+ "theme"?: "ios" | "md" | "ionic";
6850
8068
  }
6851
8069
  interface IonListHeader {
6852
8070
  /**
@@ -6858,9 +8076,13 @@ declare namespace LocalJSX {
6858
8076
  */
6859
8077
  "lines"?: 'full' | 'inset' | 'none';
6860
8078
  /**
6861
- * The mode determines which platform styles to use.
8079
+ * The mode determines the platform behaviors of the component.
6862
8080
  */
6863
8081
  "mode"?: "ios" | "md";
8082
+ /**
8083
+ * The theme determines the visual appearance of the component.
8084
+ */
8085
+ "theme"?: "ios" | "md" | "ionic";
6864
8086
  }
6865
8087
  interface IonLoading {
6866
8088
  /**
@@ -6909,7 +8131,7 @@ declare namespace LocalJSX {
6909
8131
  */
6910
8132
  "message"?: string | IonicSafeString;
6911
8133
  /**
6912
- * The mode determines which platform styles to use.
8134
+ * The mode determines the platform behaviors of the component.
6913
8135
  */
6914
8136
  "mode"?: "ios" | "md";
6915
8137
  /**
@@ -6954,7 +8176,11 @@ declare namespace LocalJSX {
6954
8176
  */
6955
8177
  "spinner"?: SpinnerTypes | null;
6956
8178
  /**
6957
- * 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).
8179
+ * The theme determines the visual appearance of the component.
8180
+ */
8181
+ "theme"?: "ios" | "md" | "ionic";
8182
+ /**
8183
+ * 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).
6958
8184
  * @default false
6959
8185
  */
6960
8186
  "translucent"?: boolean;
@@ -6982,6 +8208,10 @@ declare namespace LocalJSX {
6982
8208
  * An id for the menu.
6983
8209
  */
6984
8210
  "menuId"?: string;
8211
+ /**
8212
+ * The mode determines the platform behaviors of the component.
8213
+ */
8214
+ "mode"?: "ios" | "md";
6985
8215
  /**
6986
8216
  * Emitted when the menu is closed.
6987
8217
  */
@@ -7008,6 +8238,10 @@ declare namespace LocalJSX {
7008
8238
  * @default true
7009
8239
  */
7010
8240
  "swipeGesture"?: boolean;
8241
+ /**
8242
+ * The theme determines the visual appearance of the component.
8243
+ */
8244
+ "theme"?: "ios" | "md" | "ionic";
7011
8245
  /**
7012
8246
  * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
7013
8247
  */
@@ -7033,9 +8267,13 @@ declare namespace LocalJSX {
7033
8267
  */
7034
8268
  "menu"?: string;
7035
8269
  /**
7036
- * The mode determines which platform styles to use.
8270
+ * The mode determines the platform behaviors of the component.
7037
8271
  */
7038
8272
  "mode"?: "ios" | "md";
8273
+ /**
8274
+ * The theme determines the visual appearance of the component.
8275
+ */
8276
+ "theme"?: "ios" | "md" | "ionic";
7039
8277
  /**
7040
8278
  * The type of the button.
7041
8279
  * @default 'button'
@@ -7052,6 +8290,14 @@ declare namespace LocalJSX {
7052
8290
  * 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.
7053
8291
  */
7054
8292
  "menu"?: string;
8293
+ /**
8294
+ * The mode determines the platform behaviors of the component.
8295
+ */
8296
+ "mode"?: "ios" | "md";
8297
+ /**
8298
+ * The theme determines the visual appearance of the component.
8299
+ */
8300
+ "theme"?: "ios" | "md" | "ionic";
7055
8301
  }
7056
8302
  interface IonModal {
7057
8303
  /**
@@ -7129,7 +8375,7 @@ declare namespace LocalJSX {
7129
8375
  */
7130
8376
  "leaveAnimation"?: AnimationBuilder;
7131
8377
  /**
7132
- * The mode determines which platform styles to use.
8378
+ * The mode determines the platform behaviors of the component.
7133
8379
  */
7134
8380
  "mode"?: "ios" | "md";
7135
8381
  /**
@@ -7184,11 +8430,19 @@ declare namespace LocalJSX {
7184
8430
  * 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.
7185
8431
  */
7186
8432
  "presentingElement"?: HTMLElement;
8433
+ /**
8434
+ * 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.
8435
+ */
8436
+ "shape"?: 'soft' | 'round' | 'rectangular';
7187
8437
  /**
7188
8438
  * 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.
7189
8439
  * @default true
7190
8440
  */
7191
8441
  "showBackdrop"?: boolean;
8442
+ /**
8443
+ * The theme determines the visual appearance of the component.
8444
+ */
8445
+ "theme"?: "ios" | "md" | "ionic";
7192
8446
  /**
7193
8447
  * An ID corresponding to the trigger element that causes the modal to open when clicked.
7194
8448
  */
@@ -7201,9 +8455,13 @@ declare namespace LocalJSX {
7201
8455
  */
7202
8456
  "animated"?: boolean;
7203
8457
  /**
7204
- * 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.
8458
+ * 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.
7205
8459
  */
7206
8460
  "animation"?: AnimationBuilder;
8461
+ /**
8462
+ * The mode determines the platform behaviors of the component.
8463
+ */
8464
+ "mode"?: "ios" | "md";
7207
8465
  /**
7208
8466
  * Event fired when the nav has changed components
7209
8467
  */
@@ -7224,6 +8482,10 @@ declare namespace LocalJSX {
7224
8482
  * If the nav component should allow for swipe-to-go-back.
7225
8483
  */
7226
8484
  "swipeGesture"?: boolean;
8485
+ /**
8486
+ * The theme determines the visual appearance of the component.
8487
+ */
8488
+ "theme"?: "ios" | "md" | "ionic";
7227
8489
  }
7228
8490
  interface IonNavLink {
7229
8491
  /**
@@ -7234,6 +8496,10 @@ declare namespace LocalJSX {
7234
8496
  * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
7235
8497
  */
7236
8498
  "componentProps"?: ComponentProps;
8499
+ /**
8500
+ * The mode determines the platform behaviors of the component.
8501
+ */
8502
+ "mode"?: "ios" | "md";
7237
8503
  /**
7238
8504
  * The transition animation when navigating to another page.
7239
8505
  */
@@ -7243,6 +8509,10 @@ declare namespace LocalJSX {
7243
8509
  * @default 'forward'
7244
8510
  */
7245
8511
  "routerDirection"?: RouterDirection;
8512
+ /**
8513
+ * The theme determines the visual appearance of the component.
8514
+ */
8515
+ "theme"?: "ios" | "md" | "ionic";
7246
8516
  }
7247
8517
  interface IonNote {
7248
8518
  /**
@@ -7250,15 +8520,23 @@ declare namespace LocalJSX {
7250
8520
  */
7251
8521
  "color"?: Color;
7252
8522
  /**
7253
- * The mode determines which platform styles to use.
8523
+ * The mode determines the platform behaviors of the component.
7254
8524
  */
7255
8525
  "mode"?: "ios" | "md";
8526
+ /**
8527
+ * The theme determines the visual appearance of the component.
8528
+ */
8529
+ "theme"?: "ios" | "md" | "ionic";
7256
8530
  }
7257
8531
  interface IonPicker {
7258
8532
  /**
7259
- * The mode determines which platform styles to use.
8533
+ * The mode determines the platform behaviors of the component.
7260
8534
  */
7261
8535
  "mode"?: "ios" | "md";
8536
+ /**
8537
+ * The theme determines the visual appearance of the component.
8538
+ */
8539
+ "theme"?: "ios" | "md" | "ionic";
7262
8540
  }
7263
8541
  interface IonPickerColumn {
7264
8542
  /**
@@ -7271,13 +8549,17 @@ declare namespace LocalJSX {
7271
8549
  */
7272
8550
  "disabled"?: boolean;
7273
8551
  /**
7274
- * The mode determines which platform styles to use.
8552
+ * The mode determines the platform behaviors of the component.
7275
8553
  */
7276
8554
  "mode"?: "ios" | "md";
7277
8555
  /**
7278
8556
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7279
8557
  */
7280
8558
  "onIonChange"?: (event: IonPickerColumnCustomEvent<PickerColumnChangeEventDetail>) => void;
8559
+ /**
8560
+ * The theme determines the visual appearance of the component.
8561
+ */
8562
+ "theme"?: "ios" | "md" | "ionic";
7281
8563
  /**
7282
8564
  * The selected option in the picker.
7283
8565
  */
@@ -7293,6 +8575,14 @@ declare namespace LocalJSX {
7293
8575
  * @default false
7294
8576
  */
7295
8577
  "disabled"?: boolean;
8578
+ /**
8579
+ * The mode determines the platform behaviors of the component.
8580
+ */
8581
+ "mode"?: "ios" | "md";
8582
+ /**
8583
+ * The theme determines the visual appearance of the component.
8584
+ */
8585
+ "theme"?: "ios" | "md" | "ionic";
7296
8586
  /**
7297
8587
  * The text value of the option.
7298
8588
  */
@@ -7300,7 +8590,7 @@ declare namespace LocalJSX {
7300
8590
  }
7301
8591
  interface IonPopover {
7302
8592
  /**
7303
- * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
8593
+ * Describes how to align the popover content with the `reference` point. Defaults to `"center"` for `"ios"` theme, and `"start"` for `"md"` theme.
7304
8594
  */
7305
8595
  "alignment"?: PositionAlign;
7306
8596
  /**
@@ -7309,7 +8599,7 @@ declare namespace LocalJSX {
7309
8599
  */
7310
8600
  "animated"?: boolean;
7311
8601
  /**
7312
- * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode. Does not apply in `md` mode.
8602
+ * If `true`, the popover will display an arrow that points at the `reference` on `"ios"` theme.
7313
8603
  * @default true
7314
8604
  */
7315
8605
  "arrow"?: boolean;
@@ -7368,7 +8658,7 @@ declare namespace LocalJSX {
7368
8658
  */
7369
8659
  "leaveAnimation"?: AnimationBuilder;
7370
8660
  /**
7371
- * The mode determines which platform styles to use.
8661
+ * The mode determines the platform behaviors of the component.
7372
8662
  */
7373
8663
  "mode"?: "ios" | "md";
7374
8664
  /**
@@ -7424,7 +8714,11 @@ declare namespace LocalJSX {
7424
8714
  */
7425
8715
  "size"?: PopoverSize;
7426
8716
  /**
7427
- * 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).
8717
+ * The theme determines the visual appearance of the component.
8718
+ */
8719
+ "theme"?: "ios" | "md" | "ionic";
8720
+ /**
8721
+ * 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).
7428
8722
  * @default false
7429
8723
  */
7430
8724
  "translucent"?: boolean;
@@ -7449,7 +8743,7 @@ declare namespace LocalJSX {
7449
8743
  */
7450
8744
  "color"?: Color;
7451
8745
  /**
7452
- * The mode determines which platform styles to use.
8746
+ * The mode determines the platform behaviors of the component.
7453
8747
  */
7454
8748
  "mode"?: "ios" | "md";
7455
8749
  /**
@@ -7457,6 +8751,14 @@ declare namespace LocalJSX {
7457
8751
  * @default false
7458
8752
  */
7459
8753
  "reversed"?: boolean;
8754
+ /**
8755
+ * 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.
8756
+ */
8757
+ "shape"?: 'round' | 'rectangular';
8758
+ /**
8759
+ * The theme determines the visual appearance of the component.
8760
+ */
8761
+ "theme"?: "ios" | "md" | "ionic";
7460
8762
  /**
7461
8763
  * 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).
7462
8764
  * @default 'determinate'
@@ -7492,7 +8794,7 @@ declare namespace LocalJSX {
7492
8794
  */
7493
8795
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
7494
8796
  /**
7495
- * The mode determines which platform styles to use.
8797
+ * The mode determines the platform behaviors of the component.
7496
8798
  */
7497
8799
  "mode"?: "ios" | "md";
7498
8800
  /**
@@ -7508,6 +8810,10 @@ declare namespace LocalJSX {
7508
8810
  * Emitted when the radio button has focus.
7509
8811
  */
7510
8812
  "onIonFocus"?: (event: IonRadioCustomEvent<void>) => void;
8813
+ /**
8814
+ * The theme determines the visual appearance of the component.
8815
+ */
8816
+ "theme"?: "ios" | "md" | "ionic";
7511
8817
  /**
7512
8818
  * the value of the radio.
7513
8819
  */
@@ -7531,6 +8837,10 @@ declare namespace LocalJSX {
7531
8837
  * The helper text to display at the top of the radio group.
7532
8838
  */
7533
8839
  "helperText"?: string;
8840
+ /**
8841
+ * The mode determines the platform behaviors of the component.
8842
+ */
8843
+ "mode"?: "ios" | "md";
7534
8844
  /**
7535
8845
  * The name of the control, which is submitted with the form data.
7536
8846
  * @default this.inputId
@@ -7540,6 +8850,10 @@ declare namespace LocalJSX {
7540
8850
  * Emitted when the value has changed. This event will not emit when programmatically setting the `value` property.
7541
8851
  */
7542
8852
  "onIonChange"?: (event: IonRadioGroupCustomEvent<RadioGroupChangeEventDetail>) => void;
8853
+ /**
8854
+ * The theme determines the visual appearance of the component.
8855
+ */
8856
+ "theme"?: "ios" | "md" | "ionic";
7543
8857
  /**
7544
8858
  * the value of the radio group.
7545
8859
  */
@@ -7588,7 +8902,7 @@ declare namespace LocalJSX {
7588
8902
  */
7589
8903
  "min"?: number;
7590
8904
  /**
7591
- * The mode determines which platform styles to use.
8905
+ * The mode determines the platform behaviors of the component.
7592
8906
  */
7593
8907
  "mode"?: "ios" | "md";
7594
8908
  /**
@@ -7640,6 +8954,10 @@ declare namespace LocalJSX {
7640
8954
  * @default 1
7641
8955
  */
7642
8956
  "step"?: number;
8957
+ /**
8958
+ * The theme determines the visual appearance of the component.
8959
+ */
8960
+ "theme"?: "ios" | "md" | "ionic";
7643
8961
  /**
7644
8962
  * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
7645
8963
  * @default true
@@ -7663,7 +8981,7 @@ declare namespace LocalJSX {
7663
8981
  */
7664
8982
  "disabled"?: boolean;
7665
8983
  /**
7666
- * The mode determines which platform styles to use.
8984
+ * The mode determines the platform behaviors of the component.
7667
8985
  */
7668
8986
  "mode"?: "ios" | "md";
7669
8987
  /**
@@ -7707,8 +9025,16 @@ declare namespace LocalJSX {
7707
9025
  * @default '280ms'
7708
9026
  */
7709
9027
  "snapbackDuration"?: string;
9028
+ /**
9029
+ * The theme determines the visual appearance of the component.
9030
+ */
9031
+ "theme"?: "ios" | "md" | "ionic";
7710
9032
  }
7711
9033
  interface IonRefresherContent {
9034
+ /**
9035
+ * The mode determines the platform behaviors of the component.
9036
+ */
9037
+ "mode"?: "ios" | "md";
7712
9038
  /**
7713
9039
  * 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.
7714
9040
  */
@@ -7725,8 +9051,20 @@ declare namespace LocalJSX {
7725
9051
  * 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.
7726
9052
  */
7727
9053
  "refreshingText"?: string | IonicSafeString;
9054
+ /**
9055
+ * The theme determines the visual appearance of the component.
9056
+ */
9057
+ "theme"?: "ios" | "md" | "ionic";
7728
9058
  }
7729
9059
  interface IonReorder {
9060
+ /**
9061
+ * The mode determines the platform behaviors of the component.
9062
+ */
9063
+ "mode"?: "ios" | "md";
9064
+ /**
9065
+ * The theme determines the visual appearance of the component.
9066
+ */
9067
+ "theme"?: "ios" | "md" | "ionic";
7730
9068
  }
7731
9069
  interface IonReorderGroup {
7732
9070
  /**
@@ -7734,6 +9072,10 @@ declare namespace LocalJSX {
7734
9072
  * @default true
7735
9073
  */
7736
9074
  "disabled"?: boolean;
9075
+ /**
9076
+ * The mode determines the platform behaviors of the component.
9077
+ */
9078
+ "mode"?: "ios" | "md";
7737
9079
  /**
7738
9080
  * Event that needs to be listened to in order to complete the reorder action.
7739
9081
  * @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.
@@ -7751,8 +9093,20 @@ declare namespace LocalJSX {
7751
9093
  * Event that is emitted when the reorder gesture starts.
7752
9094
  */
7753
9095
  "onIonReorderStart"?: (event: IonReorderGroupCustomEvent<void>) => void;
9096
+ /**
9097
+ * The theme determines the visual appearance of the component.
9098
+ */
9099
+ "theme"?: "ios" | "md" | "ionic";
7754
9100
  }
7755
9101
  interface IonRippleEffect {
9102
+ /**
9103
+ * The mode determines the platform behaviors of the component.
9104
+ */
9105
+ "mode"?: "ios" | "md";
9106
+ /**
9107
+ * The theme determines the visual appearance of the component.
9108
+ */
9109
+ "theme"?: "ios" | "md" | "ionic";
7756
9110
  /**
7757
9111
  * 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.
7758
9112
  * @default 'bounded'
@@ -7776,10 +9130,18 @@ declare namespace LocalJSX {
7776
9130
  * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
7777
9131
  */
7778
9132
  "componentProps"?: { [key: string]: any };
9133
+ /**
9134
+ * The mode determines the platform behaviors of the component.
9135
+ */
9136
+ "mode"?: "ios" | "md";
7779
9137
  /**
7780
9138
  * Used internally by `ion-router` to know when this route did change.
7781
9139
  */
7782
9140
  "onIonRouteDataChanged"?: (event: IonRouteCustomEvent<any>) => void;
9141
+ /**
9142
+ * The theme determines the visual appearance of the component.
9143
+ */
9144
+ "theme"?: "ios" | "md" | "ionic";
7783
9145
  /**
7784
9146
  * 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.
7785
9147
  * @default ''
@@ -7801,6 +9163,10 @@ declare namespace LocalJSX {
7801
9163
  "to": string | undefined | null;
7802
9164
  }
7803
9165
  interface IonRouter {
9166
+ /**
9167
+ * The mode determines the platform behaviors of the component.
9168
+ */
9169
+ "mode"?: "ios" | "md";
7804
9170
  /**
7805
9171
  * Emitted when the route had changed
7806
9172
  */
@@ -7814,6 +9180,10 @@ declare namespace LocalJSX {
7814
9180
  * @default '/'
7815
9181
  */
7816
9182
  "root"?: string;
9183
+ /**
9184
+ * The theme determines the visual appearance of the component.
9185
+ */
9186
+ "theme"?: "ios" | "md" | "ionic";
7817
9187
  /**
7818
9188
  * 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.
7819
9189
  * @default true
@@ -7829,6 +9199,10 @@ declare namespace LocalJSX {
7829
9199
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
7830
9200
  */
7831
9201
  "href"?: string | undefined;
9202
+ /**
9203
+ * The mode determines the platform behaviors of the component.
9204
+ */
9205
+ "mode"?: "ios" | "md";
7832
9206
  /**
7833
9207
  * 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).
7834
9208
  */
@@ -7846,6 +9220,10 @@ declare namespace LocalJSX {
7846
9220
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
7847
9221
  */
7848
9222
  "target"?: string | undefined;
9223
+ /**
9224
+ * The theme determines the visual appearance of the component.
9225
+ */
9226
+ "theme"?: "ios" | "md" | "ionic";
7849
9227
  }
7850
9228
  interface IonRouterOutlet {
7851
9229
  /**
@@ -7858,7 +9236,7 @@ declare namespace LocalJSX {
7858
9236
  */
7859
9237
  "animation"?: AnimationBuilder;
7860
9238
  /**
7861
- * The mode determines which platform styles to use.
9239
+ * The mode determines the platform behaviors of the component.
7862
9240
  * @default getIonMode(this)
7863
9241
  */
7864
9242
  "mode"?: "ios" | "md";
@@ -7866,8 +9244,20 @@ declare namespace LocalJSX {
7866
9244
  * If `true`, the router-outlet should allow navigation via swipe-to-go-back gesture. Defaults to `true` for `"ios"` mode and `false` for `"md"` mode.
7867
9245
  */
7868
9246
  "swipeGesture"?: boolean;
9247
+ /**
9248
+ * The theme determines the visual appearance of the component.
9249
+ */
9250
+ "theme"?: "ios" | "md" | "ionic";
7869
9251
  }
7870
9252
  interface IonRow {
9253
+ /**
9254
+ * The mode determines the platform behaviors of the component.
9255
+ */
9256
+ "mode"?: "ios" | "md";
9257
+ /**
9258
+ * The theme determines the visual appearance of the component.
9259
+ */
9260
+ "theme"?: "ios" | "md" | "ionic";
7871
9261
  }
7872
9262
  interface IonSearchbar {
7873
9263
  /**
@@ -7891,17 +9281,16 @@ declare namespace LocalJSX {
7891
9281
  */
7892
9282
  "autocorrect"?: boolean;
7893
9283
  /**
7894
- * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
7895
- * @default config.get('backButtonIcon', arrowBackSharp) as string
9284
+ * Set the cancel button icon. Only available when the theme is `"md"`. Defaults to `"arrow-back-sharp"`.
7896
9285
  */
7897
9286
  "cancelButtonIcon"?: string;
7898
9287
  /**
7899
- * Set the cancel button text. Only applies to `ios` mode.
9288
+ * Set the cancel button text. Only available when the theme is `"ios"`.
7900
9289
  * @default 'Cancel'
7901
9290
  */
7902
9291
  "cancelButtonText"?: string;
7903
9292
  /**
7904
- * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
9293
+ * Set the clear icon. Defaults to `"close-circle"` for `"ios"` theme and `"close-sharp"` for `"md"` and `"ionic"` theme.
7905
9294
  */
7906
9295
  "clearIcon"?: string;
7907
9296
  /**
@@ -7934,7 +9323,7 @@ declare namespace LocalJSX {
7934
9323
  */
7935
9324
  "minlength"?: number;
7936
9325
  /**
7937
- * The mode determines which platform styles to use.
9326
+ * The mode determines the platform behaviors of the component.
7938
9327
  */
7939
9328
  "mode"?: "ios" | "md";
7940
9329
  /**
@@ -7972,9 +9361,13 @@ declare namespace LocalJSX {
7972
9361
  */
7973
9362
  "placeholder"?: string;
7974
9363
  /**
7975
- * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
9364
+ * 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.
7976
9365
  */
7977
- "searchIcon"?: string;
9366
+ "searchIcon"?: string | boolean;
9367
+ /**
9368
+ * 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.
9369
+ */
9370
+ "shape"?: 'soft' | 'round' | 'rectangular';
7978
9371
  /**
7979
9372
  * 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.
7980
9373
  * @default 'never'
@@ -7985,11 +9378,19 @@ declare namespace LocalJSX {
7985
9378
  * @default 'always'
7986
9379
  */
7987
9380
  "showClearButton"?: 'never' | 'focus' | 'always';
9381
+ /**
9382
+ * 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.
9383
+ */
9384
+ "size"?: 'small' | 'medium' | 'large';
7988
9385
  /**
7989
9386
  * If `true`, enable spellcheck on the input.
7990
9387
  * @default false
7991
9388
  */
7992
9389
  "spellcheck"?: boolean;
9390
+ /**
9391
+ * The theme determines the visual appearance of the component.
9392
+ */
9393
+ "theme"?: "ios" | "md" | "ionic";
7993
9394
  /**
7994
9395
  * Set the type of the input.
7995
9396
  * @default 'search'
@@ -8012,7 +9413,7 @@ declare namespace LocalJSX {
8012
9413
  */
8013
9414
  "disabled"?: boolean;
8014
9415
  /**
8015
- * The mode determines which platform styles to use.
9416
+ * The mode determines the platform behaviors of the component.
8016
9417
  */
8017
9418
  "mode"?: "ios" | "md";
8018
9419
  /**
@@ -8034,6 +9435,10 @@ declare namespace LocalJSX {
8034
9435
  * @default true
8035
9436
  */
8036
9437
  "swipeGesture"?: boolean;
9438
+ /**
9439
+ * The theme determines the visual appearance of the component.
9440
+ */
9441
+ "theme"?: "ios" | "md" | "ionic";
8037
9442
  /**
8038
9443
  * the value of the segment.
8039
9444
  */
@@ -8055,9 +9460,13 @@ declare namespace LocalJSX {
8055
9460
  */
8056
9461
  "layout"?: SegmentButtonLayout;
8057
9462
  /**
8058
- * The mode determines which platform styles to use.
9463
+ * The mode determines the platform behaviors of the component.
8059
9464
  */
8060
9465
  "mode"?: "ios" | "md";
9466
+ /**
9467
+ * The theme determines the visual appearance of the component.
9468
+ */
9469
+ "theme"?: "ios" | "md" | "ionic";
8061
9470
  /**
8062
9471
  * The type of the button.
8063
9472
  * @default 'button'
@@ -8088,6 +9497,11 @@ declare namespace LocalJSX {
8088
9497
  "swipeGesture"?: boolean;
8089
9498
  }
8090
9499
  interface IonSelect {
9500
+ /**
9501
+ * 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.
9502
+ * @default false
9503
+ */
9504
+ "cancelIcon"?: boolean;
8091
9505
  /**
8092
9506
  * The text to display on the cancel button.
8093
9507
  * @default 'Cancel'
@@ -8111,11 +9525,11 @@ declare namespace LocalJSX {
8111
9525
  */
8112
9526
  "errorText"?: string;
8113
9527
  /**
8114
- * 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.
9528
+ * 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.
8115
9529
  */
8116
9530
  "expandedIcon"?: string;
8117
9531
  /**
8118
- * 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.
9532
+ * 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.
8119
9533
  */
8120
9534
  "fill"?: 'outline' | 'solid';
8121
9535
  /**
@@ -8146,7 +9560,7 @@ declare namespace LocalJSX {
8146
9560
  */
8147
9561
  "labelPlacement"?: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
8148
9562
  /**
8149
- * The mode determines which platform styles to use.
9563
+ * The mode determines the platform behaviors of the component.
8150
9564
  */
8151
9565
  "mode"?: "ios" | "md";
8152
9566
  /**
@@ -8198,11 +9612,19 @@ declare namespace LocalJSX {
8198
9612
  */
8199
9613
  "selectedText"?: string | null;
8200
9614
  /**
8201
- * The shape of the select. If "round" it will have an increased border radius.
9615
+ * 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.
8202
9616
  */
8203
- "shape"?: 'round';
9617
+ "shape"?: 'soft' | 'round' | 'rectangular';
8204
9618
  /**
8205
- * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode.
9619
+ * 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.
9620
+ */
9621
+ "size"?: 'small' | 'medium' | 'large';
9622
+ /**
9623
+ * The theme determines the visual appearance of the component.
9624
+ */
9625
+ "theme"?: "ios" | "md" | "ionic";
9626
+ /**
9627
+ * The toggle icon to use. Defaults to `"chevronExpand"` for the `"ios"` theme, or `"caretDownSharp"` for the `"md"` and `"ionic"` themes.
8206
9628
  */
8207
9629
  "toggleIcon"?: string;
8208
9630
  /**
@@ -8211,6 +9633,11 @@ declare namespace LocalJSX {
8211
9633
  "value"?: any | null;
8212
9634
  }
8213
9635
  interface IonSelectModal {
9636
+ /**
9637
+ * 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.
9638
+ * @default false
9639
+ */
9640
+ "cancelIcon"?: boolean;
8214
9641
  /**
8215
9642
  * The text to display on the cancel button.
8216
9643
  * @default 'Close'
@@ -8234,17 +9661,21 @@ declare namespace LocalJSX {
8234
9661
  */
8235
9662
  "disabled"?: boolean;
8236
9663
  /**
8237
- * 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 `md` (the radio control is hidden there). When unset, the interface picks a default based on mode and control type.
9664
+ * 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.
8238
9665
  */
8239
9666
  "justify"?: 'start' | 'end' | 'space-between';
8240
9667
  /**
8241
- * 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 `md` (the radio control is hidden there). When unset, the interface picks a default based on mode and control type.
9668
+ * 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.
8242
9669
  */
8243
9670
  "labelPlacement"?: 'start' | 'end';
8244
9671
  /**
8245
9672
  * The mode determines the platform behaviors of the component.
8246
9673
  */
8247
9674
  "mode"?: "ios" | "md";
9675
+ /**
9676
+ * The theme determines the visual appearance of the component.
9677
+ */
9678
+ "theme"?: "ios" | "md" | "ionic";
8248
9679
  /**
8249
9680
  * The text value of the option.
8250
9681
  */
@@ -8259,6 +9690,10 @@ declare namespace LocalJSX {
8259
9690
  * The text content of the popover body
8260
9691
  */
8261
9692
  "message"?: string;
9693
+ /**
9694
+ * The mode determines the platform behaviors of the component.
9695
+ */
9696
+ "mode"?: "ios" | "md";
8262
9697
  /**
8263
9698
  * If true, the select accepts multiple values
8264
9699
  */
@@ -8272,6 +9707,10 @@ declare namespace LocalJSX {
8272
9707
  * The subheader text of the popover
8273
9708
  */
8274
9709
  "subHeader"?: string;
9710
+ /**
9711
+ * The theme determines the visual appearance of the component.
9712
+ */
9713
+ "theme"?: "ios" | "md" | "ionic";
8275
9714
  }
8276
9715
  interface IonSkeletonText {
8277
9716
  /**
@@ -8279,6 +9718,14 @@ declare namespace LocalJSX {
8279
9718
  * @default false
8280
9719
  */
8281
9720
  "animated"?: boolean;
9721
+ /**
9722
+ * The mode determines the platform behaviors of the component.
9723
+ */
9724
+ "mode"?: "ios" | "md";
9725
+ /**
9726
+ * The theme determines the visual appearance of the component.
9727
+ */
9728
+ "theme"?: "ios" | "md" | "ionic";
8282
9729
  }
8283
9730
  interface IonSpinner {
8284
9731
  /**
@@ -8289,6 +9736,10 @@ declare namespace LocalJSX {
8289
9736
  * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
8290
9737
  */
8291
9738
  "duration"?: number;
9739
+ /**
9740
+ * The mode determines the platform behaviors of the component.
9741
+ */
9742
+ "mode"?: "ios" | "md";
8292
9743
  /**
8293
9744
  * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
8294
9745
  */
@@ -8298,6 +9749,14 @@ declare namespace LocalJSX {
8298
9749
  * @default false
8299
9750
  */
8300
9751
  "paused"?: boolean;
9752
+ /**
9753
+ * 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.
9754
+ */
9755
+ "size"?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
9756
+ /**
9757
+ * The theme determines the visual appearance of the component.
9758
+ */
9759
+ "theme"?: "ios" | "md" | "ionic";
8301
9760
  }
8302
9761
  interface IonSplitPane {
8303
9762
  /**
@@ -8309,10 +9768,18 @@ declare namespace LocalJSX {
8309
9768
  * @default false
8310
9769
  */
8311
9770
  "disabled"?: boolean;
9771
+ /**
9772
+ * The mode determines the platform behaviors of the component.
9773
+ */
9774
+ "mode"?: "ios" | "md";
8312
9775
  /**
8313
9776
  * Expression to be called when the split-pane visibility has changed
8314
9777
  */
8315
9778
  "onIonSplitPaneVisible"?: (event: IonSplitPaneCustomEvent<{ visible: boolean }>) => void;
9779
+ /**
9780
+ * The theme determines the visual appearance of the component.
9781
+ */
9782
+ "theme"?: "ios" | "md" | "ionic";
8316
9783
  /**
8317
9784
  * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
8318
9785
  * @default '(min-width: 992px)'
@@ -8324,10 +9791,18 @@ declare namespace LocalJSX {
8324
9791
  * The component to display inside of the tab.
8325
9792
  */
8326
9793
  "component"?: ComponentRef;
9794
+ /**
9795
+ * The mode determines the platform behaviors of the component.
9796
+ */
9797
+ "mode"?: "ios" | "md";
8327
9798
  /**
8328
9799
  * 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.
8329
9800
  */
8330
9801
  "tab": string;
9802
+ /**
9803
+ * The theme determines the visual appearance of the component.
9804
+ */
9805
+ "theme"?: "ios" | "md" | "ionic";
8331
9806
  }
8332
9807
  interface IonTabBar {
8333
9808
  /**
@@ -8335,15 +9810,32 @@ declare namespace LocalJSX {
8335
9810
  */
8336
9811
  "color"?: Color;
8337
9812
  /**
8338
- * The mode determines which platform styles to use.
9813
+ * 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"`.
9814
+ * @default 'full'
9815
+ */
9816
+ "expand"?: 'compact' | 'full';
9817
+ /**
9818
+ * The mode determines the platform behaviors of the component.
8339
9819
  */
8340
9820
  "mode"?: "ios" | "md";
9821
+ /**
9822
+ * Describes the scroll effect that will be applied to the tab bar. `"hide"` slides the tab bar out of view when scrolling down and back in when scrolling up. Note: `"hide"` is ignored when the tab bar is nested inside an `ion-footer` to avoid leaving an empty footer visible on screen. Set `scroll-effect="hide"` on the footer instead so the entire footer hides together.
9823
+ */
9824
+ "scrollEffect"?: TabBarScrollEffect;
8341
9825
  /**
8342
9826
  * The selected tab component
8343
9827
  */
8344
9828
  "selectedTab"?: string;
8345
9829
  /**
8346
- * 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).
9830
+ * 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.
9831
+ */
9832
+ "shape"?: 'soft' | 'round' | 'rectangular';
9833
+ /**
9834
+ * The theme determines the visual appearance of the component.
9835
+ */
9836
+ "theme"?: "ios" | "md" | "ionic";
9837
+ /**
9838
+ * 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).
8347
9839
  * @default false
8348
9840
  */
8349
9841
  "translucent"?: boolean;
@@ -8367,7 +9859,7 @@ declare namespace LocalJSX {
8367
9859
  */
8368
9860
  "layout"?: TabButtonLayout;
8369
9861
  /**
8370
- * The mode determines which platform styles to use.
9862
+ * The mode determines the platform behaviors of the component.
8371
9863
  */
8372
9864
  "mode"?: "ios" | "md";
8373
9865
  /**
@@ -8379,6 +9871,10 @@ declare namespace LocalJSX {
8379
9871
  * @default false
8380
9872
  */
8381
9873
  "selected"?: boolean;
9874
+ /**
9875
+ * 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.
9876
+ */
9877
+ "shape"?: 'soft' | 'round' | 'rectangular';
8382
9878
  /**
8383
9879
  * 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.
8384
9880
  */
@@ -8387,8 +9883,16 @@ declare namespace LocalJSX {
8387
9883
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
8388
9884
  */
8389
9885
  "target"?: string | undefined;
9886
+ /**
9887
+ * The theme determines the visual appearance of the component.
9888
+ */
9889
+ "theme"?: "ios" | "md" | "ionic";
8390
9890
  }
8391
9891
  interface IonTabs {
9892
+ /**
9893
+ * The mode determines the platform behaviors of the component.
9894
+ */
9895
+ "mode"?: "ios" | "md";
8392
9896
  /**
8393
9897
  * Emitted when the navigation has finished transitioning to a new component.
8394
9898
  */
@@ -8397,6 +9901,10 @@ declare namespace LocalJSX {
8397
9901
  * Emitted when the navigation is about to transition to a new component.
8398
9902
  */
8399
9903
  "onIonTabsWillChange"?: (event: IonTabsCustomEvent<{ tab: string }>) => void;
9904
+ /**
9905
+ * The theme determines the visual appearance of the component.
9906
+ */
9907
+ "theme"?: "ios" | "md" | "ionic";
8400
9908
  }
8401
9909
  interface IonText {
8402
9910
  /**
@@ -8404,9 +9912,13 @@ declare namespace LocalJSX {
8404
9912
  */
8405
9913
  "color"?: Color;
8406
9914
  /**
8407
- * The mode determines which platform styles to use.
9915
+ * The mode determines the platform behaviors of the component.
8408
9916
  */
8409
9917
  "mode"?: "ios" | "md";
9918
+ /**
9919
+ * The theme determines the visual appearance of the component.
9920
+ */
9921
+ "theme"?: "ios" | "md" | "ionic";
8410
9922
  }
8411
9923
  interface IonTextarea {
8412
9924
  /**
@@ -8464,9 +9976,13 @@ declare namespace LocalJSX {
8464
9976
  */
8465
9977
  "errorText"?: string;
8466
9978
  /**
8467
- * 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.
9979
+ * 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"`.
8468
9980
  */
8469
9981
  "fill"?: 'outline' | 'solid';
9982
+ /**
9983
+ * The `id` of a `<form>` element to associate this element with.
9984
+ */
9985
+ "form"?: string;
8470
9986
  /**
8471
9987
  * Text that is placed under the textarea and displayed when no error is detected.
8472
9988
  */
@@ -8493,7 +10009,7 @@ declare namespace LocalJSX {
8493
10009
  */
8494
10010
  "minlength"?: number;
8495
10011
  /**
8496
- * The mode determines which platform styles to use.
10012
+ * The mode determines the platform behaviors of the component.
8497
10013
  */
8498
10014
  "mode"?: "ios" | "md";
8499
10015
  /**
@@ -8536,14 +10052,23 @@ declare namespace LocalJSX {
8536
10052
  */
8537
10053
  "rows"?: number;
8538
10054
  /**
8539
- * The shape of the textarea. If "round" it will have an increased border radius.
10055
+ * 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.
8540
10056
  */
8541
- "shape"?: 'round';
10057
+ "shape"?: 'soft' | 'round' | 'rectangular';
10058
+ /**
10059
+ * 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.
10060
+ * @default 'medium'
10061
+ */
10062
+ "size"?: 'small' | 'medium' | 'large';
8542
10063
  /**
8543
10064
  * If `true`, the element will have its spelling and grammar checked.
8544
10065
  * @default false
8545
10066
  */
8546
10067
  "spellcheck"?: boolean;
10068
+ /**
10069
+ * The theme determines the visual appearance of the component.
10070
+ */
10071
+ "theme"?: "ios" | "md" | "ionic";
8547
10072
  /**
8548
10073
  * The value of the textarea.
8549
10074
  * @default ''
@@ -8555,16 +10080,32 @@ declare namespace LocalJSX {
8555
10080
  "wrap"?: 'hard' | 'soft' | 'off';
8556
10081
  }
8557
10082
  interface IonThumbnail {
10083
+ /**
10084
+ * The mode determines the platform behaviors of the component.
10085
+ */
10086
+ "mode"?: "ios" | "md";
10087
+ /**
10088
+ * The theme determines the visual appearance of the component.
10089
+ */
10090
+ "theme"?: "ios" | "md" | "ionic";
8558
10091
  }
8559
10092
  interface IonTitle {
8560
10093
  /**
8561
10094
  * 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).
8562
10095
  */
8563
10096
  "color"?: Color;
10097
+ /**
10098
+ * The mode determines the platform behaviors of the component.
10099
+ */
10100
+ "mode"?: "ios" | "md";
8564
10101
  /**
8565
10102
  * The size of the toolbar title.
8566
10103
  */
8567
10104
  "size"?: 'large' | 'small';
10105
+ /**
10106
+ * The theme determines the visual appearance of the component.
10107
+ */
10108
+ "theme"?: "ios" | "md" | "ionic";
8568
10109
  }
8569
10110
  interface IonToast {
8570
10111
  /**
@@ -8601,6 +10142,11 @@ declare namespace LocalJSX {
8601
10142
  * Additional attributes to pass to the toast.
8602
10143
  */
8603
10144
  "htmlAttributes"?: { [key: string]: any };
10145
+ /**
10146
+ * 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.
10147
+ * @default 'subtle'
10148
+ */
10149
+ "hue"?: 'bold' | 'subtle';
8604
10150
  /**
8605
10151
  * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
8606
10152
  */
@@ -8629,7 +10175,7 @@ declare namespace LocalJSX {
8629
10175
  */
8630
10176
  "message"?: string | IonicSafeString;
8631
10177
  /**
8632
- * The mode determines which platform styles to use.
10178
+ * The mode determines the platform behaviors of the component.
8633
10179
  */
8634
10180
  "mode"?: "ios" | "md";
8635
10181
  /**
@@ -8673,12 +10219,20 @@ declare namespace LocalJSX {
8673
10219
  * 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.
8674
10220
  */
8675
10221
  "positionAnchor"?: HTMLElement | string;
10222
+ /**
10223
+ * 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.
10224
+ */
10225
+ "shape"?: 'soft' | 'round' | 'rectangular';
8676
10226
  /**
8677
10227
  * 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.
8678
10228
  */
8679
10229
  "swipeGesture"?: ToastSwipeGestureDirection;
8680
10230
  /**
8681
- * 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).
10231
+ * The theme determines the visual appearance of the component.
10232
+ */
10233
+ "theme"?: "ios" | "md" | "ionic";
10234
+ /**
10235
+ * 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).
8682
10236
  * @default false
8683
10237
  */
8684
10238
  "translucent"?: boolean;
@@ -8729,7 +10283,7 @@ declare namespace LocalJSX {
8729
10283
  */
8730
10284
  "labelPlacement"?: 'start' | 'end' | 'fixed' | 'stacked';
8731
10285
  /**
8732
- * The mode determines which platform styles to use.
10286
+ * The mode determines the platform behaviors of the component.
8733
10287
  */
8734
10288
  "mode"?: "ios" | "md";
8735
10289
  /**
@@ -8754,6 +10308,10 @@ declare namespace LocalJSX {
8754
10308
  * @default false
8755
10309
  */
8756
10310
  "required"?: boolean;
10311
+ /**
10312
+ * The theme determines the visual appearance of the component.
10313
+ */
10314
+ "theme"?: "ios" | "md" | "ionic";
8757
10315
  /**
8758
10316
  * 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>`.
8759
10317
  * @default 'on'
@@ -8766,9 +10324,17 @@ declare namespace LocalJSX {
8766
10324
  */
8767
10325
  "color"?: Color;
8768
10326
  /**
8769
- * The mode determines which platform styles to use.
10327
+ * The mode determines the platform behaviors of the component.
8770
10328
  */
8771
10329
  "mode"?: "ios" | "md";
10330
+ /**
10331
+ * The theme determines the visual appearance of the component.
10332
+ */
10333
+ "theme"?: "ios" | "md" | "ionic";
10334
+ /**
10335
+ * 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.
10336
+ */
10337
+ "titlePlacement"?: 'start' | 'center' | 'end';
8772
10338
  }
8773
10339
 
8774
10340
  interface IonAccordionAttributes {
@@ -8785,6 +10351,7 @@ declare namespace LocalJSX {
8785
10351
  "disabled": boolean;
8786
10352
  "readonly": boolean;
8787
10353
  "expand": 'compact' | 'inset';
10354
+ "shape": 'soft' | 'round' | 'rectangular';
8788
10355
  }
8789
10356
  interface IonActionSheetAttributes {
8790
10357
  "keyboardClose": boolean;
@@ -8809,6 +10376,11 @@ declare namespace LocalJSX {
8809
10376
  "isOpen": boolean;
8810
10377
  "trigger": string | undefined;
8811
10378
  }
10379
+ interface IonAvatarAttributes {
10380
+ "size": 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
10381
+ "shape": 'soft' | 'round' | 'rectangular';
10382
+ "disabled": boolean;
10383
+ }
8812
10384
  interface IonBackButtonAttributes {
8813
10385
  "color": Color;
8814
10386
  "defaultHref": string;
@@ -8824,6 +10396,10 @@ declare namespace LocalJSX {
8824
10396
  }
8825
10397
  interface IonBadgeAttributes {
8826
10398
  "color": Color;
10399
+ "hue": 'bold' | 'subtle';
10400
+ "shape": 'soft' | 'round | rectangular';
10401
+ "size": 'small' | 'medium' | 'large';
10402
+ "vertical": 'top' | 'bottom';
8827
10403
  }
8828
10404
  interface IonBreadcrumbAttributes {
8829
10405
  "color": Color;
@@ -8852,8 +10428,8 @@ declare namespace LocalJSX {
8852
10428
  "download": string | undefined;
8853
10429
  "href": string | undefined;
8854
10430
  "rel": string | undefined;
8855
- "shape": 'round';
8856
- "size": 'small' | 'default' | 'large';
10431
+ "shape": 'soft' | 'round' | 'rectangular';
10432
+ "size": 'small' | 'default' | 'medium' | 'large';
8857
10433
  "strong": boolean;
8858
10434
  "target": string | undefined;
8859
10435
  "type": 'submit' | 'reset' | 'button';
@@ -8871,6 +10447,7 @@ declare namespace LocalJSX {
8871
10447
  "href": string | undefined;
8872
10448
  "rel": string | undefined;
8873
10449
  "routerDirection": RouterDirection;
10450
+ "shape": 'soft' | 'round' | 'rectangular';
8874
10451
  "target": string | undefined;
8875
10452
  }
8876
10453
  interface IonCardHeaderAttributes {
@@ -8896,11 +10473,16 @@ declare namespace LocalJSX {
8896
10473
  "justify": 'start' | 'end' | 'space-between';
8897
10474
  "alignment": 'start' | 'center';
8898
10475
  "required": boolean;
10476
+ "shape": 'soft' | 'rectangular';
10477
+ "size": 'small';
8899
10478
  }
8900
10479
  interface IonChipAttributes {
8901
10480
  "color": Color;
8902
10481
  "outline": boolean;
8903
10482
  "disabled": boolean;
10483
+ "hue": 'bold' | 'subtle';
10484
+ "shape": 'soft' | 'round' | 'rectangular';
10485
+ "size": 'small' | 'large';
8904
10486
  }
8905
10487
  interface IonColAttributes {
8906
10488
  "offset": string;
@@ -8909,6 +10491,12 @@ declare namespace LocalJSX {
8909
10491
  "offsetMd": string;
8910
10492
  "offsetLg": string;
8911
10493
  "offsetXl": string;
10494
+ "order": string;
10495
+ "orderXs": string;
10496
+ "orderSm": string;
10497
+ "orderMd": string;
10498
+ "orderLg": string;
10499
+ "orderXl": string;
8912
10500
  "pull": string;
8913
10501
  "pullXs": string;
8914
10502
  "pullSm": string;
@@ -8971,6 +10559,10 @@ declare namespace LocalJSX {
8971
10559
  "disabled": boolean;
8972
10560
  "datetime": string;
8973
10561
  }
10562
+ interface IonDividerAttributes {
10563
+ "spacing": 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
10564
+ "inset": boolean;
10565
+ }
8974
10566
  interface IonFabAttributes {
8975
10567
  "horizontal": 'start' | 'end' | 'center';
8976
10568
  "vertical": 'top' | 'bottom' | 'center';
@@ -8998,14 +10590,23 @@ declare namespace LocalJSX {
8998
10590
  "side": 'start' | 'end' | 'top' | 'bottom';
8999
10591
  }
9000
10592
  interface IonFooterAttributes {
10593
+ "scrollEffect": FooterScrollEffect;
9001
10594
  "collapse": 'fade';
9002
10595
  "translucent": boolean;
9003
10596
  }
10597
+ interface IonGalleryAttributes {
10598
+ "layout": 'uniform' | 'masonry';
10599
+ "order": 'sequential' | 'best-fit';
10600
+ "columns": string;
10601
+ "gap": string;
10602
+ }
9004
10603
  interface IonGridAttributes {
9005
10604
  "fixed": boolean;
9006
10605
  }
9007
10606
  interface IonHeaderAttributes {
10607
+ "scrollEffect": HeaderScrollEffect;
9008
10608
  "collapse": 'condense' | 'fade';
10609
+ "divider": boolean;
9009
10610
  "translucent": boolean;
9010
10611
  }
9011
10612
  interface IonImgAttributes {
@@ -9016,6 +10617,7 @@ declare namespace LocalJSX {
9016
10617
  "threshold": string;
9017
10618
  "disabled": boolean;
9018
10619
  "position": 'top' | 'bottom';
10620
+ "preserveRerenderScrollPosition": boolean;
9019
10621
  }
9020
10622
  interface IonInfiniteScrollContentAttributes {
9021
10623
  "loadingSpinner": SpinnerTypes | null;
@@ -9050,9 +10652,10 @@ declare namespace LocalJSX {
9050
10652
  "placeholder": string;
9051
10653
  "readonly": boolean;
9052
10654
  "required": boolean;
9053
- "shape": 'round';
10655
+ "shape": 'soft' | 'round' | 'rectangular';
9054
10656
  "spellcheck": boolean;
9055
10657
  "step": string;
10658
+ "size": 'medium' | 'large' | 'xlarge';
9056
10659
  "type": TextFieldTypes;
9057
10660
  "value": string;
9058
10661
  }
@@ -9100,9 +10703,11 @@ declare namespace LocalJSX {
9100
10703
  "download": string | undefined;
9101
10704
  "expandable": boolean;
9102
10705
  "href": string | undefined;
10706
+ "hue": 'bold' | 'subtle';
9103
10707
  "rel": string | undefined;
9104
10708
  "target": string | undefined;
9105
10709
  "type": 'submit' | 'reset' | 'button';
10710
+ "shape": 'soft' | 'round' | 'rectangular';
9106
10711
  }
9107
10712
  interface IonItemOptionsAttributes {
9108
10713
  "side": Side;
@@ -9117,6 +10722,7 @@ declare namespace LocalJSX {
9117
10722
  interface IonListAttributes {
9118
10723
  "lines": 'full' | 'inset' | 'none';
9119
10724
  "inset": boolean;
10725
+ "shape": 'soft' | 'round' | 'rectangular';
9120
10726
  }
9121
10727
  interface IonListHeaderAttributes {
9122
10728
  "color": Color;
@@ -9170,6 +10776,7 @@ declare namespace LocalJSX {
9170
10776
  "keepContentsMounted": boolean;
9171
10777
  "focusTrap": boolean;
9172
10778
  "canDismiss": boolean | ((data?: any, role?: string) => Promise<boolean>);
10779
+ "shape": 'soft' | 'round' | 'rectangular';
9173
10780
  }
9174
10781
  interface IonNavAttributes {
9175
10782
  "swipeGesture": boolean;
@@ -9219,6 +10826,7 @@ declare namespace LocalJSX {
9219
10826
  "value": number;
9220
10827
  "buffer": number;
9221
10828
  "color": Color;
10829
+ "shape": 'round' | 'rectangular';
9222
10830
  }
9223
10831
  interface IonRadioAttributes {
9224
10832
  "color": Color;
@@ -9321,6 +10929,8 @@ declare namespace LocalJSX {
9321
10929
  "spellcheck": boolean;
9322
10930
  "type": 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url';
9323
10931
  "value": string | null;
10932
+ "shape": 'soft' | 'round' | 'rectangular';
10933
+ "size": 'small' | 'medium' | 'large';
9324
10934
  }
9325
10935
  interface IonSegmentAttributes {
9326
10936
  "color": Color;
@@ -9343,6 +10953,7 @@ declare namespace LocalJSX {
9343
10953
  }
9344
10954
  interface IonSelectAttributes {
9345
10955
  "cancelText": string;
10956
+ "cancelIcon": boolean;
9346
10957
  "color": Color;
9347
10958
  "compareWith": string | SelectCompareFn | null;
9348
10959
  "disabled": boolean;
@@ -9361,13 +10972,15 @@ declare namespace LocalJSX {
9361
10972
  "selectedText": string | null;
9362
10973
  "toggleIcon": string;
9363
10974
  "expandedIcon": string;
9364
- "shape": 'round';
9365
- "value": string;
9366
10975
  "required": boolean;
10976
+ "shape": 'soft' | 'round' | 'rectangular';
10977
+ "size": 'small' | 'medium' | 'large';
10978
+ "value": string;
9367
10979
  }
9368
10980
  interface IonSelectModalAttributes {
9369
10981
  "header": string;
9370
10982
  "cancelText": string;
10983
+ "cancelIcon": boolean;
9371
10984
  "multiple": boolean;
9372
10985
  }
9373
10986
  interface IonSelectOptionAttributes {
@@ -9391,6 +11004,7 @@ declare namespace LocalJSX {
9391
11004
  "duration": number;
9392
11005
  "name": SpinnerTypes;
9393
11006
  "paused": boolean;
11007
+ "size": 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
9394
11008
  }
9395
11009
  interface IonSplitPaneAttributes {
9396
11010
  "contentId": string;
@@ -9404,7 +11018,10 @@ declare namespace LocalJSX {
9404
11018
  interface IonTabBarAttributes {
9405
11019
  "color": Color;
9406
11020
  "selectedTab": string;
11021
+ "scrollEffect": TabBarScrollEffect;
9407
11022
  "translucent": boolean;
11023
+ "expand": 'compact' | 'full';
11024
+ "shape": 'soft' | 'round' | 'rectangular';
9408
11025
  }
9409
11026
  interface IonTabButtonAttributes {
9410
11027
  "disabled": boolean;
@@ -9413,6 +11030,7 @@ declare namespace LocalJSX {
9413
11030
  "rel": string | undefined;
9414
11031
  "layout": TabButtonLayout;
9415
11032
  "selected": boolean;
11033
+ "shape": 'soft' | 'round' | 'rectangular';
9416
11034
  "tab": string;
9417
11035
  "target": string | undefined;
9418
11036
  }
@@ -9449,7 +11067,8 @@ declare namespace LocalJSX {
9449
11067
  "helperText": string;
9450
11068
  "label": string;
9451
11069
  "labelPlacement": 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
9452
- "shape": 'round';
11070
+ "shape": 'soft' | 'round' | 'rectangular';
11071
+ "size": 'small' | 'medium' | 'large';
9453
11072
  }
9454
11073
  interface IonTitleAttributes {
9455
11074
  "color": Color;
@@ -9460,11 +11079,13 @@ declare namespace LocalJSX {
9460
11079
  "cssClass": string | string[];
9461
11080
  "duration": number;
9462
11081
  "header": string;
11082
+ "hue": 'bold' | 'subtle';
9463
11083
  "layout": ToastLayout;
9464
11084
  "message": string | IonicSafeString;
9465
11085
  "keyboardClose": boolean;
9466
11086
  "position": ToastPosition;
9467
11087
  "positionAnchor": HTMLElement | string;
11088
+ "shape": 'soft' | 'round' | 'rectangular';
9468
11089
  "translucent": boolean;
9469
11090
  "animated": boolean;
9470
11091
  "icon": string;
@@ -9488,6 +11109,7 @@ declare namespace LocalJSX {
9488
11109
  }
9489
11110
  interface IonToolbarAttributes {
9490
11111
  "color": Color;
11112
+ "titlePlacement": 'start' | 'center' | 'end';
9491
11113
  }
9492
11114
 
9493
11115
  interface IntrinsicElements {
@@ -9496,7 +11118,7 @@ declare namespace LocalJSX {
9496
11118
  "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] };
9497
11119
  "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] };
9498
11120
  "ion-app": IonApp;
9499
- "ion-avatar": IonAvatar;
11121
+ "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] };
9500
11122
  "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] };
9501
11123
  "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] };
9502
11124
  "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] };
@@ -9515,10 +11137,13 @@ declare namespace LocalJSX {
9515
11137
  "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] };
9516
11138
  "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] };
9517
11139
  "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] };
11140
+ "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] };
9518
11141
  "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] };
9519
11142
  "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] };
9520
11143
  "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] };
9521
11144
  "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] };
11145
+ "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] };
11146
+ "ion-gallery-item": IonGalleryItem;
9522
11147
  "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] };
9523
11148
  "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] };
9524
11149
  "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] };
@@ -9616,10 +11241,13 @@ declare module "@stencil/core" {
9616
11241
  "ion-content": LocalJSX.IntrinsicElements["ion-content"] & JSXBase.HTMLAttributes<HTMLIonContentElement>;
9617
11242
  "ion-datetime": LocalJSX.IntrinsicElements["ion-datetime"] & JSXBase.HTMLAttributes<HTMLIonDatetimeElement>;
9618
11243
  "ion-datetime-button": LocalJSX.IntrinsicElements["ion-datetime-button"] & JSXBase.HTMLAttributes<HTMLIonDatetimeButtonElement>;
11244
+ "ion-divider": LocalJSX.IntrinsicElements["ion-divider"] & JSXBase.HTMLAttributes<HTMLIonDividerElement>;
9619
11245
  "ion-fab": LocalJSX.IntrinsicElements["ion-fab"] & JSXBase.HTMLAttributes<HTMLIonFabElement>;
9620
11246
  "ion-fab-button": LocalJSX.IntrinsicElements["ion-fab-button"] & JSXBase.HTMLAttributes<HTMLIonFabButtonElement>;
9621
11247
  "ion-fab-list": LocalJSX.IntrinsicElements["ion-fab-list"] & JSXBase.HTMLAttributes<HTMLIonFabListElement>;
9622
11248
  "ion-footer": LocalJSX.IntrinsicElements["ion-footer"] & JSXBase.HTMLAttributes<HTMLIonFooterElement>;
11249
+ "ion-gallery": LocalJSX.IntrinsicElements["ion-gallery"] & JSXBase.HTMLAttributes<HTMLIonGalleryElement>;
11250
+ "ion-gallery-item": LocalJSX.IntrinsicElements["ion-gallery-item"] & JSXBase.HTMLAttributes<HTMLIonGalleryItemElement>;
9623
11251
  "ion-grid": LocalJSX.IntrinsicElements["ion-grid"] & JSXBase.HTMLAttributes<HTMLIonGridElement>;
9624
11252
  "ion-header": LocalJSX.IntrinsicElements["ion-header"] & JSXBase.HTMLAttributes<HTMLIonHeaderElement>;
9625
11253
  /**