@ionic/core 8.7.12-dev.11764199266.187e50ad → 8.7.12-dev.11764617184.1f736014

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 (935) hide show
  1. package/components/action-sheet.js +13 -9
  2. package/components/alert.js +14 -11
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +9 -6
  5. package/components/button.js +41 -10
  6. package/components/buttons.js +11 -8
  7. package/components/capacitor.js +1 -1
  8. package/components/caret-down.js +6 -0
  9. package/components/caret-left.js +6 -0
  10. package/components/caret-right.js +6 -0
  11. package/components/checkbox.js +31 -12
  12. package/components/content.js +14 -12
  13. package/components/data.js +5 -5
  14. package/components/focus-visible.js +23 -1
  15. package/components/framework-delegate.js +3 -1
  16. package/components/header.js +34 -22
  17. package/components/helpers.js +42 -3
  18. package/components/index5.js +8 -8
  19. package/components/index6.js +1 -1
  20. package/components/index7.js +111 -150
  21. package/components/index8.js +150 -111
  22. package/components/input-shims.js +2 -2
  23. package/components/input.utils.js +1 -1
  24. package/components/ion-accordion-group.js +23 -5
  25. package/components/ion-accordion.js +32 -21
  26. package/components/ion-app.js +12 -77
  27. package/components/ion-avatar.js +58 -5
  28. package/components/ion-back-button.js +27 -19
  29. package/components/ion-badge.js +73 -9
  30. package/components/ion-breadcrumb.js +43 -10
  31. package/components/ion-breadcrumbs.js +8 -5
  32. package/components/ion-card-content.js +10 -7
  33. package/components/ion-card-header.js +9 -6
  34. package/components/ion-card-subtitle.js +8 -5
  35. package/components/ion-card-title.js +8 -5
  36. package/components/ion-card.js +21 -9
  37. package/components/ion-chip.js +53 -8
  38. package/components/ion-col.js +51 -50
  39. package/components/ion-datetime-button.js +8 -5
  40. package/components/ion-datetime.js +98 -21
  41. package/components/ion-divider.d.ts +11 -0
  42. package/components/ion-divider.js +72 -0
  43. package/components/ion-fab-button.js +31 -15
  44. package/components/ion-fab-list.js +5 -5
  45. package/components/ion-fab.js +6 -6
  46. package/components/ion-footer.js +18 -13
  47. package/components/ion-grid.js +5 -5
  48. package/components/ion-img.js +5 -2
  49. package/components/ion-infinite-scroll-content.js +11 -8
  50. package/components/ion-infinite-scroll.js +78 -6
  51. package/components/ion-input-otp.js +9 -6
  52. package/components/ion-input-password-toggle.js +51 -13
  53. package/components/ion-input.js +120 -28
  54. package/components/ion-item-divider.js +8 -5
  55. package/components/ion-item-group.js +8 -5
  56. package/components/ion-item-option.js +36 -9
  57. package/components/ion-item-options.js +10 -7
  58. package/components/ion-item-sliding.js +5 -5
  59. package/components/ion-loading.js +12 -9
  60. package/components/ion-menu-button.js +26 -10
  61. package/components/ion-menu-toggle.js +5 -5
  62. package/components/ion-menu.js +10 -8
  63. package/components/ion-nav-link.js +1 -1
  64. package/components/ion-nav.js +7 -5
  65. package/components/ion-note.js +8 -5
  66. package/components/ion-picker-legacy.js +7 -7
  67. package/components/ion-progress-bar.js +25 -7
  68. package/components/ion-range.js +12 -9
  69. package/components/ion-refresher-content.js +23 -8
  70. package/components/ion-refresher.js +10 -7
  71. package/components/ion-reorder-group.js +5 -5
  72. package/components/ion-reorder.js +30 -5
  73. package/components/ion-router-link.js +6 -6
  74. package/components/ion-router-outlet.js +4 -4
  75. package/components/ion-row.js +6 -3
  76. package/components/ion-searchbar.js +137 -23
  77. package/components/ion-segment-button.js +10 -7
  78. package/components/ion-segment-content.js +1 -1
  79. package/components/ion-segment-view.js +5 -2
  80. package/components/ion-segment.js +10 -7
  81. package/components/ion-select-option.js +5 -2
  82. package/components/ion-select.js +117 -33
  83. package/components/ion-skeleton-text.js +5 -5
  84. package/components/ion-split-pane.js +11 -8
  85. package/components/ion-tab-bar.js +39 -9
  86. package/components/ion-tab-button.js +35 -8
  87. package/components/ion-tab.js +2 -2
  88. package/components/ion-tabs.js +2 -2
  89. package/components/ion-text.js +5 -5
  90. package/components/ion-textarea.js +52 -11
  91. package/components/ion-thumbnail.js +5 -2
  92. package/components/ion-toast.js +37 -12
  93. package/components/ion-toggle.js +74 -17
  94. package/components/ionic-global.js +349 -15
  95. package/components/ios.transition.js +1 -0
  96. package/components/item.js +47 -15
  97. package/components/keyboard-controller.js +4 -2
  98. package/components/label.js +8 -5
  99. package/components/list-header.js +10 -7
  100. package/components/list.js +27 -6
  101. package/components/list2.js +6 -0
  102. package/components/modal.js +48 -20
  103. package/components/notch-controller.js +1 -1
  104. package/components/overlays.js +3 -4
  105. package/components/picker-column-option.js +8 -5
  106. package/components/picker-column.js +7 -8
  107. package/components/picker-column2.js +4 -4
  108. package/components/picker.js +7 -4
  109. package/components/popover.js +12 -9
  110. package/components/radio-group.js +10 -5
  111. package/components/radio.js +11 -8
  112. package/components/ripple-effect.js +15 -7
  113. package/components/select-modal.js +12 -5
  114. package/components/select-popover.js +8 -2
  115. package/components/spinner.js +31 -8
  116. package/components/status-tap.js +1 -1
  117. package/components/title.js +10 -7
  118. package/components/toolbar.js +153 -9
  119. package/components/x.js +6 -0
  120. package/css/core.css +1 -1
  121. package/css/core.css.map +1 -1
  122. package/css/display.css +1 -1
  123. package/css/display.css.map +1 -1
  124. package/css/flex-utils.css +1 -1
  125. package/css/flex-utils.css.map +1 -1
  126. package/css/float-elements.css.map +1 -1
  127. package/css/global.bundle.css.map +1 -1
  128. package/css/ionic/bundle.ionic.css +1 -0
  129. package/css/ionic/bundle.ionic.css.map +1 -0
  130. package/css/ionic/core.ionic.css +1 -0
  131. package/css/ionic/core.ionic.css.map +1 -0
  132. package/css/ionic/global.bundle.ionic.css +1 -0
  133. package/css/ionic/global.bundle.ionic.css.map +1 -0
  134. package/css/ionic/ionic-swiper.ionic.css +1 -0
  135. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  136. package/css/ionic/link.ionic.css +1 -0
  137. package/css/ionic/link.ionic.css.map +1 -0
  138. package/css/ionic/structure.ionic.css +1 -0
  139. package/css/ionic/structure.ionic.css.map +1 -0
  140. package/css/ionic/typography.ionic.css +1 -0
  141. package/css/ionic/typography.ionic.css.map +1 -0
  142. package/css/ionic/utils.bundle.ionic.css +1 -0
  143. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  144. package/css/ionic-swiper.css +1 -1
  145. package/css/ionic-swiper.css.map +1 -1
  146. package/css/ionic.bundle.css +1 -1
  147. package/css/ionic.bundle.css.map +1 -1
  148. package/css/normalize.css.map +1 -1
  149. package/css/padding.css.map +1 -1
  150. package/css/palettes/dark.always.css.map +1 -1
  151. package/css/palettes/dark.class.css.map +1 -1
  152. package/css/palettes/dark.system.css.map +1 -1
  153. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  154. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  156. package/css/palettes/high-contrast.always.css.map +1 -1
  157. package/css/palettes/high-contrast.class.css.map +1 -1
  158. package/css/palettes/high-contrast.system.css.map +1 -1
  159. package/css/structure.css.map +1 -1
  160. package/css/text-alignment.css.map +1 -1
  161. package/css/text-transformation.css.map +1 -1
  162. package/css/typography.css.map +1 -1
  163. package/css/utils.bundle.css +1 -1
  164. package/css/utils.bundle.css.map +1 -1
  165. package/dist/cjs/{animation-Bt3H9L1C.js → animation-BYsP2q5j.js} +2 -2
  166. package/dist/cjs/{app-globals-Ciccnk9_.js → app-globals-CrtAvKxl.js} +1 -1
  167. package/dist/cjs/{button-active-CMc8cD90.js → button-active-CDa7BeCl.js} +1 -1
  168. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-BMhHF0O5.js} +3 -3
  169. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  170. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  171. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  172. package/dist/cjs/{data-JwZKaIQB.js → data-MoL8Ckx5.js} +5 -5
  173. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  174. package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-Bwdk9vFS.js} +4 -2
  175. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-Cy3moXzO.js} +1 -1
  176. package/dist/cjs/{helpers-DrTqNghc.js → helpers-DnouLczu.js} +41 -2
  177. package/dist/cjs/{index-C534ULug.js → index-Bq6U5NAb.js} +8 -7
  178. package/dist/cjs/{index-094mMFB-.js → index-CWyLwRTs.js} +3 -3
  179. package/dist/cjs/{index-CO6eryBo.js → index-DUoP_H1L.js} +1 -1
  180. package/dist/cjs/{index-DrMUZJj6.js → index-XjN3PjKG.js} +15 -15
  181. package/dist/cjs/index.cjs.js +10 -11
  182. package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-D6DHFHsE.js} +17 -16
  183. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-BVyJKWft.js} +5 -5
  184. package/dist/cjs/ion-accordion_2.cjs.entry.js +55 -26
  185. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -18
  186. package/dist/cjs/ion-alert.cjs.entry.js +22 -20
  187. package/dist/cjs/ion-app_8.cjs.entry.js +249 -150
  188. package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -11
  189. package/dist/cjs/ion-back-button.cjs.entry.js +28 -19
  190. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -6
  191. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +51 -15
  192. package/dist/cjs/ion-button_2.cjs.entry.js +43 -11
  193. package/dist/cjs/ion-card_5.cjs.entry.js +53 -29
  194. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -13
  195. package/dist/cjs/ion-chip.cjs.entry.js +48 -7
  196. package/dist/cjs/ion-col_3.cjs.entry.js +53 -56
  197. package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -7
  198. package/dist/cjs/ion-datetime_3.cjs.entry.js +113 -38
  199. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  200. package/dist/cjs/ion-fab_3.cjs.entry.js +41 -25
  201. package/dist/cjs/ion-img.cjs.entry.js +7 -3
  202. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +89 -14
  203. package/dist/cjs/ion-input-otp.cjs.entry.js +11 -7
  204. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +50 -12
  205. package/dist/cjs/ion-input.cjs.entry.js +120 -30
  206. package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -19
  207. package/dist/cjs/ion-item_8.cjs.entry.js +113 -46
  208. package/dist/cjs/ion-loading.cjs.entry.js +17 -15
  209. package/dist/cjs/ion-menu_3.cjs.entry.js +44 -26
  210. package/dist/cjs/ion-modal.cjs.entry.js +96 -69
  211. package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
  212. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -6
  213. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
  214. package/dist/cjs/ion-picker.cjs.entry.js +9 -5
  215. package/dist/cjs/ion-popover.cjs.entry.js +18 -16
  216. package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -7
  217. package/dist/cjs/ion-radio_2.cjs.entry.js +22 -13
  218. package/dist/cjs/ion-range.cjs.entry.js +14 -10
  219. package/dist/cjs/ion-refresher_2.cjs.entry.js +36 -18
  220. package/dist/cjs/ion-reorder_2.cjs.entry.js +36 -12
  221. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -6
  222. package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
  223. package/dist/cjs/ion-searchbar.cjs.entry.js +134 -21
  224. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  225. package/dist/cjs/ion-segment-view.cjs.entry.js +5 -2
  226. package/dist/cjs/ion-segment_2.cjs.entry.js +21 -14
  227. package/dist/cjs/ion-select-modal.cjs.entry.js +15 -9
  228. package/dist/cjs/ion-select_3.cjs.entry.js +129 -38
  229. package/dist/cjs/ion-spinner.cjs.entry.js +28 -6
  230. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -8
  231. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +75 -21
  232. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -6
  233. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  234. package/dist/cjs/ion-textarea.cjs.entry.js +55 -15
  235. package/dist/cjs/ion-toast.cjs.entry.js +66 -43
  236. package/dist/cjs/ion-toggle.cjs.entry.js +78 -21
  237. package/dist/cjs/ionic-global-DuRUel5m.js +491 -0
  238. package/dist/cjs/ionic.cjs.js +3 -3
  239. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-Duxxr-xb.js} +6 -4
  240. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-C1Ds9WQH.js} +4 -3
  241. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-UYQhk8rB.js} +1 -1
  242. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-ts0z4BIe.js} +11 -9
  243. package/dist/cjs/list-a-7GSA6K.js +8 -0
  244. package/dist/cjs/loader.cjs.js +3 -3
  245. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-BqUnXqxP.js} +5 -4
  246. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-BX7CnNaL.js} +4 -4
  247. package/dist/cjs/{overlays-DxIZwUXI.js → overlays-pdcfssMG.js} +8 -9
  248. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-e-hyosXV.js} +3 -2
  249. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-CR060nOX.js} +2 -1
  250. package/dist/cjs/x-BTF99yFH.js +8 -0
  251. package/dist/collection/collection-manifest.json +1 -0
  252. package/dist/collection/components/accordion/accordion.ionic.css +196 -0
  253. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  254. package/dist/collection/components/accordion/accordion.js +36 -26
  255. package/dist/collection/components/accordion/accordion.md.css +67 -59
  256. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  257. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  258. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  259. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  260. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  261. package/dist/collection/components/action-sheet/action-sheet.js +15 -11
  262. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  263. package/dist/collection/components/alert/alert.ios.css +19 -1
  264. package/dist/collection/components/alert/alert.js +16 -13
  265. package/dist/collection/components/alert/alert.md.css +19 -1
  266. package/dist/collection/components/app/app.js +15 -78
  267. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  268. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  269. package/dist/collection/components/avatar/avatar.js +120 -4
  270. package/dist/collection/components/avatar/avatar.md.css +51 -0
  271. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  272. package/dist/collection/components/back-button/back-button.js +27 -19
  273. package/dist/collection/components/back-button/back-button.md.css +60 -48
  274. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  275. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  276. package/dist/collection/components/backdrop/backdrop.js +12 -6
  277. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  278. package/dist/collection/components/badge/badge.ionic.css +275 -0
  279. package/dist/collection/components/badge/badge.ios.css +139 -12
  280. package/dist/collection/components/badge/badge.js +145 -9
  281. package/dist/collection/components/badge/badge.md.css +123 -12
  282. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  283. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  284. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  285. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  286. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  287. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  288. package/dist/collection/components/button/button.ionic.css +636 -0
  289. package/dist/collection/components/button/button.ios.css +135 -46
  290. package/dist/collection/components/button/button.js +48 -17
  291. package/dist/collection/components/button/button.md.css +126 -50
  292. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  293. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  294. package/dist/collection/components/buttons/buttons.js +15 -9
  295. package/dist/collection/components/buttons/buttons.md.css +55 -3
  296. package/dist/collection/components/card/card.ionic.css +144 -0
  297. package/dist/collection/components/card/card.ios.css +65 -14
  298. package/dist/collection/components/card/card.js +41 -10
  299. package/dist/collection/components/card/card.md.css +65 -14
  300. package/dist/collection/components/card-content/card-content.ionic.css +92 -0
  301. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  302. package/dist/collection/components/card-content/card-content.js +11 -8
  303. package/dist/collection/components/card-content/card-content.md.css +16 -1
  304. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  305. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  306. package/dist/collection/components/card-header/card-header.js +13 -10
  307. package/dist/collection/components/card-header/card-header.md.css +27 -15
  308. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  309. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  310. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  311. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  312. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  313. package/dist/collection/components/card-title/card-title.js +11 -8
  314. package/dist/collection/components/card-title/card-title.md.css +73 -0
  315. package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
  316. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  317. package/dist/collection/components/checkbox/checkbox.js +70 -14
  318. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  319. package/dist/collection/components/chip/chip.ionic.css +214 -0
  320. package/dist/collection/components/chip/chip.ios.css +67 -14
  321. package/dist/collection/components/chip/chip.js +108 -8
  322. package/dist/collection/components/chip/chip.md.css +67 -14
  323. package/dist/collection/components/col/col.css +192 -4
  324. package/dist/collection/components/col/col.js +210 -61
  325. package/dist/collection/components/content/content.css +8 -2
  326. package/dist/collection/components/content/content.js +16 -11
  327. package/dist/collection/components/datetime/datetime.ionic.css +697 -0
  328. package/dist/collection/components/datetime/datetime.ios.css +242 -86
  329. package/dist/collection/components/datetime/datetime.js +98 -20
  330. package/dist/collection/components/datetime/datetime.md.css +242 -86
  331. package/dist/collection/components/datetime/utils/data.js +5 -5
  332. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  333. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  334. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  335. package/dist/collection/components/divider/divider.ionic.css +148 -0
  336. package/dist/collection/components/divider/divider.ios.css +87 -0
  337. package/dist/collection/components/divider/divider.js +94 -0
  338. package/dist/collection/components/divider/divider.md.css +87 -0
  339. package/dist/collection/components/fab/fab.css +25 -1
  340. package/dist/collection/components/fab/fab.js +9 -5
  341. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  342. package/dist/collection/components/fab-button/fab-button.js +36 -21
  343. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  344. package/dist/collection/components/fab-list/fab-list.css +12 -0
  345. package/dist/collection/components/fab-list/fab-list.js +9 -5
  346. package/dist/collection/components/footer/footer.ios.css +14 -2
  347. package/dist/collection/components/footer/footer.js +21 -16
  348. package/dist/collection/components/footer/footer.md.css +12 -0
  349. package/dist/collection/components/grid/grid.css +12 -0
  350. package/dist/collection/components/grid/grid.js +9 -5
  351. package/dist/collection/components/header/header.ionic.css +97 -0
  352. package/dist/collection/components/header/header.ios.css +25 -10
  353. package/dist/collection/components/header/header.js +50 -19
  354. package/dist/collection/components/header/header.md.css +23 -8
  355. package/dist/collection/components/header/header.utils.js +5 -5
  356. package/dist/collection/components/img/img.js +8 -2
  357. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  358. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  359. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  360. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  361. package/dist/collection/components/input/input.ionic.css +881 -0
  362. package/dist/collection/components/input/input.ios.css +223 -140
  363. package/dist/collection/components/input/input.js +149 -38
  364. package/dist/collection/components/input/input.md.css +193 -212
  365. package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
  366. package/dist/collection/components/input-otp/input-otp.ios.css +102 -60
  367. package/dist/collection/components/input-otp/input-otp.js +7 -5
  368. package/dist/collection/components/input-otp/input-otp.md.css +102 -60
  369. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  370. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  371. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  372. package/dist/collection/components/item/item.ionic.css +508 -0
  373. package/dist/collection/components/item/item.ios.css +109 -69
  374. package/dist/collection/components/item/item.js +51 -20
  375. package/dist/collection/components/item/item.md.css +120 -68
  376. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  377. package/dist/collection/components/item-divider/item-divider.js +11 -8
  378. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  379. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  380. package/dist/collection/components/item-group/item-group.js +13 -7
  381. package/dist/collection/components/item-group/item-group.md.css +12 -0
  382. package/dist/collection/components/item-option/item-option.ionic.css +278 -0
  383. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  384. package/dist/collection/components/item-option/item-option.js +73 -9
  385. package/dist/collection/components/item-option/item-option.md.css +136 -29
  386. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  387. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  388. package/dist/collection/components/item-options/item-options.js +13 -7
  389. package/dist/collection/components/item-options/item-options.md.css +77 -34
  390. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  391. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  392. package/dist/collection/components/label/label.ios.css +18 -0
  393. package/dist/collection/components/label/label.js +11 -8
  394. package/dist/collection/components/label/label.md.css +18 -0
  395. package/dist/collection/components/list/list.ionic.css +212 -0
  396. package/dist/collection/components/list/list.ios.css +54 -14
  397. package/dist/collection/components/list/list.js +48 -9
  398. package/dist/collection/components/list/list.md.css +56 -16
  399. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  400. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  401. package/dist/collection/components/list-header/list-header.js +11 -8
  402. package/dist/collection/components/list-header/list-header.md.css +82 -38
  403. package/dist/collection/components/loading/loading.ios.css +13 -1
  404. package/dist/collection/components/loading/loading.js +14 -11
  405. package/dist/collection/components/loading/loading.md.css +13 -1
  406. package/dist/collection/components/menu/menu.ios.css +15 -3
  407. package/dist/collection/components/menu/menu.js +12 -7
  408. package/dist/collection/components/menu/menu.md.css +15 -3
  409. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  410. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  411. package/dist/collection/components/menu-button/menu-button.js +26 -10
  412. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  413. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  414. package/dist/collection/components/modal/animations/sheet.js +8 -2
  415. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  416. package/dist/collection/components/modal/modal.ionic.css +247 -0
  417. package/dist/collection/components/modal/modal.ios.css +174 -70
  418. package/dist/collection/components/modal/modal.js +48 -11
  419. package/dist/collection/components/modal/modal.md.css +174 -70
  420. package/dist/collection/components/nav/nav.css +7 -1
  421. package/dist/collection/components/nav/nav.js +11 -5
  422. package/dist/collection/components/nav-link/nav-link.js +5 -1
  423. package/dist/collection/components/note/note.ios.css +12 -0
  424. package/dist/collection/components/note/note.js +11 -8
  425. package/dist/collection/components/note/note.md.css +12 -0
  426. package/dist/collection/components/picker/picker.ios.css +15 -3
  427. package/dist/collection/components/picker/picker.js +8 -5
  428. package/dist/collection/components/picker/picker.md.css +15 -3
  429. package/dist/collection/components/picker-column/picker-column.css +9 -2
  430. package/dist/collection/components/picker-column/picker-column.js +8 -7
  431. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  432. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  433. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  434. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  435. package/dist/collection/components/picker-legacy/picker.js +7 -6
  436. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  437. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  438. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  439. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  440. package/dist/collection/components/popover/popover.ios.css +13 -1
  441. package/dist/collection/components/popover/popover.js +17 -14
  442. package/dist/collection/components/popover/popover.md.css +13 -1
  443. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  444. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  445. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  446. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  447. package/dist/collection/components/radio/radio.ionic.css +422 -0
  448. package/dist/collection/components/radio/radio.ios.css +134 -91
  449. package/dist/collection/components/radio/radio.js +12 -9
  450. package/dist/collection/components/radio/radio.md.css +134 -91
  451. package/dist/collection/components/radio-group/radio-group.ionic.css +125 -0
  452. package/dist/collection/components/radio-group/radio-group.ios.css +42 -18
  453. package/dist/collection/components/radio-group/radio-group.js +13 -5
  454. package/dist/collection/components/radio-group/radio-group.md.css +42 -18
  455. package/dist/collection/components/range/range.ionic.css +563 -0
  456. package/dist/collection/components/range/range.ios.css +128 -85
  457. package/dist/collection/components/range/range.js +12 -9
  458. package/dist/collection/components/range/range.md.css +128 -85
  459. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  460. package/dist/collection/components/refresher/refresher.js +11 -8
  461. package/dist/collection/components/refresher/refresher.md.css +15 -2
  462. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  463. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  464. package/dist/collection/components/reorder/reorder.js +33 -6
  465. package/dist/collection/components/reorder/reorder.md.css +6 -0
  466. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  467. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  468. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  469. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  470. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  471. package/dist/collection/components/route/route.js +4 -0
  472. package/dist/collection/components/router/router.js +4 -0
  473. package/dist/collection/components/router-link/router-link.css +8 -2
  474. package/dist/collection/components/router-link/router-link.js +9 -5
  475. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  476. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  477. package/dist/collection/components/row/row.css +16 -0
  478. package/dist/collection/components/row/row.js +9 -2
  479. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  480. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  481. package/dist/collection/components/searchbar/searchbar.js +181 -34
  482. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  483. package/dist/collection/components/segment/segment.ionic.css +115 -0
  484. package/dist/collection/components/segment/segment.ios.css +45 -2
  485. package/dist/collection/components/segment/segment.js +11 -8
  486. package/dist/collection/components/segment/segment.md.css +45 -2
  487. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  488. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  489. package/dist/collection/components/segment-button/segment-button.js +11 -8
  490. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  491. package/dist/collection/components/segment-content/segment-content.js +1 -1
  492. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  493. package/dist/collection/components/segment-view/segment-view.js +6 -4
  494. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  495. package/dist/collection/components/select/select.ionic.css +773 -0
  496. package/dist/collection/components/select/select.ios.css +315 -176
  497. package/dist/collection/components/select/select.js +156 -53
  498. package/dist/collection/components/select/select.md.css +331 -178
  499. package/dist/collection/components/select-modal/select-modal.ionic.css +130 -0
  500. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  501. package/dist/collection/components/select-modal/select-modal.js +11 -4
  502. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  503. package/dist/collection/components/select-option/select-option.js +9 -2
  504. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  505. package/dist/collection/components/select-popover/select-popover.js +12 -4
  506. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  507. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  508. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  509. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +77 -10
  510. package/dist/collection/components/spinner/spinner.js +47 -6
  511. package/dist/collection/components/spinner/spinner.native.css +198 -0
  512. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  513. package/dist/collection/components/split-pane/split-pane.js +14 -8
  514. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  515. package/dist/collection/components/tab/tab.js +6 -2
  516. package/dist/collection/components/tab-bar/tab-bar.ionic.css +201 -0
  517. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  518. package/dist/collection/components/tab-bar/tab-bar.js +78 -11
  519. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  520. package/dist/collection/components/tab-button/tab-button.ionic.css +337 -0
  521. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  522. package/dist/collection/components/tab-button/tab-button.js +54 -9
  523. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  524. package/dist/collection/components/tabs/tabs.css +7 -1
  525. package/dist/collection/components/tabs/tabs.js +4 -1
  526. package/dist/collection/components/text/text.css +6 -0
  527. package/dist/collection/components/text/text.js +7 -6
  528. package/dist/collection/components/textarea/textarea.ionic.css +881 -0
  529. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  530. package/dist/collection/components/textarea/textarea.js +76 -16
  531. package/dist/collection/components/textarea/textarea.md.css +288 -140
  532. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  533. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  534. package/dist/collection/components/title/title.ionic.css +127 -0
  535. package/dist/collection/components/title/title.ios.css +32 -4
  536. package/dist/collection/components/title/title.js +13 -7
  537. package/dist/collection/components/title/title.md.css +32 -4
  538. package/dist/collection/components/toast/animations/utils.js +1 -1
  539. package/dist/collection/components/toast/toast.ionic.css +394 -0
  540. package/dist/collection/components/toast/toast.ios.css +84 -45
  541. package/dist/collection/components/toast/toast.js +75 -12
  542. package/dist/collection/components/toast/toast.md.css +84 -45
  543. package/dist/collection/components/toggle/toggle.ionic.css +508 -0
  544. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  545. package/dist/collection/components/toggle/toggle.js +73 -18
  546. package/dist/collection/components/toggle/toggle.md.css +244 -131
  547. package/dist/collection/components/toolbar/test/image.svg +1 -0
  548. package/dist/collection/components/toolbar/toolbar.ionic.css +241 -0
  549. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  550. package/dist/collection/components/toolbar/toolbar.js +157 -13
  551. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  552. package/dist/collection/global/ionic-global.js +228 -13
  553. package/dist/collection/utils/focus-visible.js +22 -0
  554. package/dist/collection/utils/framework-delegate.js +3 -1
  555. package/dist/collection/utils/helpers.js +42 -2
  556. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  557. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  558. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  559. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  560. package/dist/collection/utils/overlays.js +2 -1
  561. package/dist/collection/utils/test/playwright/generator.js +48 -23
  562. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  563. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  564. package/dist/collection/utils/transition/ios.transition.js +1 -0
  565. package/dist/docs.json +8168 -372
  566. package/dist/esm/{animation-Dt8bGnA-.js → animation-DGDOQ6ES.js} +1 -1
  567. package/dist/esm/{app-globals-BDSf8fOA.js → app-globals-BNKecRVD.js} +1 -1
  568. package/dist/esm/{button-active-L570Swow.js → button-active-C_l8DIlb.js} +1 -1
  569. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CiBLEyrT.js} +1 -1
  570. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  571. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  572. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  573. package/dist/esm/{data-DCORV9FH.js → data-DFCY8gnk.js} +5 -5
  574. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  575. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-D2mUP0WI.js} +4 -2
  576. package/dist/esm/{haptic-DzAMWJuk.js → haptic-7RTk38ue.js} +1 -1
  577. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Bsml3FcE.js} +42 -3
  578. package/dist/esm/{index-Bs3kT4bc.js → index-BpFi2B8W.js} +1 -1
  579. package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
  580. package/dist/esm/{index-r2D9DEro.js → index-Cj1G4iWF.js} +3 -3
  581. package/dist/esm/{index-CvDIirVx.js → index-DWD4QoaP.js} +10 -10
  582. package/dist/esm/{index-ceb5RaMT.js → index-rXea6WR_.js} +3 -2
  583. package/dist/esm/index.js +10 -11
  584. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-Bz3HiPwU.js} +6 -5
  585. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-BQAE1QTA.js} +2 -2
  586. package/dist/esm/ion-accordion_2.entry.js +56 -27
  587. package/dist/esm/ion-action-sheet.entry.js +21 -18
  588. package/dist/esm/ion-alert.entry.js +22 -20
  589. package/dist/esm/ion-app_8.entry.js +250 -151
  590. package/dist/esm/ion-avatar_3.entry.js +125 -13
  591. package/dist/esm/ion-back-button.entry.js +29 -20
  592. package/dist/esm/ion-backdrop.entry.js +9 -6
  593. package/dist/esm/ion-breadcrumb_2.entry.js +53 -17
  594. package/dist/esm/ion-button_2.entry.js +43 -11
  595. package/dist/esm/ion-card_5.entry.js +53 -29
  596. package/dist/esm/ion-checkbox.entry.js +31 -13
  597. package/dist/esm/ion-chip.entry.js +49 -8
  598. package/dist/esm/ion-col_3.entry.js +54 -57
  599. package/dist/esm/ion-datetime-button.entry.js +11 -7
  600. package/dist/esm/ion-datetime_3.entry.js +115 -40
  601. package/dist/esm/ion-divider.entry.js +49 -0
  602. package/dist/esm/ion-fab_3.entry.js +43 -27
  603. package/dist/esm/ion-img.entry.js +7 -3
  604. package/dist/esm/ion-infinite-scroll_2.entry.js +89 -14
  605. package/dist/esm/ion-input-otp.entry.js +11 -7
  606. package/dist/esm/ion-input-password-toggle.entry.js +52 -14
  607. package/dist/esm/ion-input.entry.js +122 -32
  608. package/dist/esm/ion-item-option_3.entry.js +48 -19
  609. package/dist/esm/ion-item_8.entry.js +115 -48
  610. package/dist/esm/ion-loading.entry.js +17 -15
  611. package/dist/esm/ion-menu_3.entry.js +45 -27
  612. package/dist/esm/ion-modal.entry.js +56 -29
  613. package/dist/esm/ion-nav_2.entry.js +13 -10
  614. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  615. package/dist/esm/ion-picker-column.entry.js +11 -11
  616. package/dist/esm/ion-picker.entry.js +9 -5
  617. package/dist/esm/ion-popover.entry.js +18 -16
  618. package/dist/esm/ion-progress-bar.entry.js +25 -7
  619. package/dist/esm/ion-radio_2.entry.js +22 -13
  620. package/dist/esm/ion-range.entry.js +14 -10
  621. package/dist/esm/ion-refresher_2.entry.js +37 -19
  622. package/dist/esm/ion-reorder_2.entry.js +38 -14
  623. package/dist/esm/ion-ripple-effect.entry.js +14 -6
  624. package/dist/esm/ion-route_4.entry.js +8 -7
  625. package/dist/esm/ion-searchbar.entry.js +137 -24
  626. package/dist/esm/ion-segment-content.entry.js +1 -1
  627. package/dist/esm/ion-segment-view.entry.js +5 -2
  628. package/dist/esm/ion-segment_2.entry.js +21 -14
  629. package/dist/esm/ion-select-modal.entry.js +16 -10
  630. package/dist/esm/ion-select_3.entry.js +131 -40
  631. package/dist/esm/ion-spinner.entry.js +28 -6
  632. package/dist/esm/ion-split-pane.entry.js +11 -8
  633. package/dist/esm/ion-tab-bar_2.entry.js +75 -21
  634. package/dist/esm/ion-tab_2.entry.js +7 -6
  635. package/dist/esm/ion-text.entry.js +5 -5
  636. package/dist/esm/ion-textarea.entry.js +55 -15
  637. package/dist/esm/ion-toast.entry.js +40 -17
  638. package/dist/esm/ion-toggle.entry.js +79 -22
  639. package/dist/esm/ionic-global-2R0iPB51.js +480 -0
  640. package/dist/esm/ionic.js +3 -3
  641. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition-DvzxRGcW.js} +6 -4
  642. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-DuUgrXrK.js} +4 -3
  643. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-WCK1pWfR.js} +1 -1
  644. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-Bc4alOiF.js} +5 -3
  645. package/dist/esm/list-Dhi5xtNS.js +6 -0
  646. package/dist/esm/loader.js +3 -3
  647. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-DV0cjDzj.js} +5 -4
  648. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DO30Bsls.js} +2 -2
  649. package/dist/esm/{overlays-BymNv-BL.js → overlays-Da_6xSKI.js} +5 -6
  650. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-DXVlluKS.js} +3 -2
  651. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-DNhAt9fY.js} +2 -1
  652. package/dist/esm/x-BDqjX7Z_.js +6 -0
  653. package/dist/html.html-data.json +2530 -224
  654. package/dist/ionic/index.esm.js +1 -1
  655. package/dist/ionic/ionic.esm.js +1 -1
  656. package/dist/ionic/p--8Ga2Cg0.js +4 -0
  657. package/dist/ionic/p-0f7163d6.entry.js +4 -0
  658. package/dist/ionic/p-10fdbbc1.entry.js +4 -0
  659. package/dist/ionic/p-14346334.entry.js +4 -0
  660. package/dist/ionic/p-1d342a37.entry.js +4 -0
  661. package/dist/ionic/p-23e07f77.entry.js +4 -0
  662. package/dist/ionic/p-23e4b68a.entry.js +4 -0
  663. package/dist/ionic/p-2a3ff36f.entry.js +4 -0
  664. package/dist/ionic/p-3622a9ea.entry.js +4 -0
  665. package/dist/ionic/p-3a481932.entry.js +4 -0
  666. package/dist/ionic/p-3a4865fd.entry.js +4 -0
  667. package/dist/ionic/p-4041ddea.entry.js +4 -0
  668. package/dist/ionic/p-418e4330.entry.js +4 -0
  669. package/dist/ionic/p-46fb5199.entry.js +4 -0
  670. package/dist/ionic/p-4757e558.entry.js +4 -0
  671. package/dist/ionic/p-484aeb4c.entry.js +4 -0
  672. package/dist/ionic/p-4e13d498.entry.js +4 -0
  673. package/dist/ionic/p-51824ad7.entry.js +4 -0
  674. package/dist/ionic/p-5557bd92.entry.js +4 -0
  675. package/dist/ionic/p-55e2352e.entry.js +4 -0
  676. package/dist/ionic/p-57ef19f7.entry.js +4 -0
  677. package/dist/ionic/p-5883f08d.entry.js +4 -0
  678. package/dist/ionic/p-59a79bd9.entry.js +4 -0
  679. package/dist/ionic/p-66397fac.entry.js +4 -0
  680. package/dist/ionic/p-665c2df8.entry.js +4 -0
  681. package/dist/ionic/p-66d094b2.entry.js +4 -0
  682. package/dist/ionic/p-6fac73e6.entry.js +4 -0
  683. package/dist/ionic/p-7a18e825.entry.js +4 -0
  684. package/dist/ionic/p-7d450184.entry.js +4 -0
  685. package/dist/ionic/p-81770a5c.entry.js +4 -0
  686. package/dist/ionic/p-844bd58c.entry.js +4 -0
  687. package/dist/ionic/p-85386f56.entry.js +4 -0
  688. package/dist/ionic/p-86a6f814.entry.js +4 -0
  689. package/dist/ionic/p-86b82096.entry.js +4 -0
  690. package/dist/ionic/p-88ef6829.entry.js +4 -0
  691. package/dist/ionic/p-89743bba.entry.js +4 -0
  692. package/dist/ionic/p-91966afa.entry.js +4 -0
  693. package/dist/ionic/p-93ed8a1d.entry.js +4 -0
  694. package/dist/ionic/p-9c3361e4.entry.js +4 -0
  695. package/dist/ionic/p-B-N4FEiY.js +4 -0
  696. package/dist/ionic/{p-CwgG81ZD.js → p-B3uz75uZ.js} +1 -1
  697. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  698. package/dist/ionic/p-BRd1Ag6P.js +4 -0
  699. package/dist/ionic/p-BYSs-jZz.js +4 -0
  700. package/dist/ionic/{p-CJxh_yLS.js → p-BbT4IAlw.js} +1 -1
  701. package/dist/ionic/p-BiTKUjko.js +4 -0
  702. package/dist/ionic/p-CGo9Zrhw.js +4 -0
  703. package/dist/ionic/p-CK1xn1Nt.js +4 -0
  704. package/dist/ionic/p-CK4YXTyz.js +4 -0
  705. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  706. package/dist/ionic/p-CeO9Shc9.js +4 -0
  707. package/dist/ionic/p-CkzsSTjr.js +4 -0
  708. package/dist/ionic/p-D1t981Ih.js +4 -0
  709. package/dist/ionic/{p-Dc45iWE4.js → p-DBaOCAfc.js} +1 -1
  710. package/dist/ionic/p-DPNSAVjP.js +4 -0
  711. package/dist/ionic/p-D_8SMvQ3.js +4 -0
  712. package/dist/ionic/p-DdaOdN_z.js +4 -0
  713. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  714. package/dist/ionic/p-Dq8ap6AD.js +4 -0
  715. package/dist/ionic/p-Dv5UHqHj.js +4 -0
  716. package/dist/ionic/{p-CKvCXMs9.js → p-DxFexTIr.js} +1 -1
  717. package/dist/ionic/{p-DUt5fQmA.js → p-DxVdyQoe.js} +1 -1
  718. package/dist/ionic/p-DyaKZbAH.js +4 -0
  719. package/dist/ionic/{p-D0dMcSkw.js → p-HpOiAvpC.js} +1 -1
  720. package/dist/ionic/{p-D13Eaw-8.js → p-Q7JLYEUZ.js} +1 -1
  721. package/dist/ionic/p-W-2TssC9.js +4 -0
  722. package/dist/ionic/p-a1128f7f.entry.js +4 -0
  723. package/dist/ionic/p-a57c0cce.entry.js +4 -0
  724. package/dist/ionic/p-c289efa5.entry.js +4 -0
  725. package/dist/ionic/p-c8740f44.entry.js +4 -0
  726. package/dist/ionic/p-cdd40776.entry.js +4 -0
  727. package/dist/ionic/p-ce510c06.entry.js +4 -0
  728. package/dist/ionic/p-db4b3111.entry.js +4 -0
  729. package/dist/ionic/p-db90b95a.entry.js +4 -0
  730. package/dist/ionic/p-e12bb3dc.entry.js +4 -0
  731. package/dist/ionic/p-e2171c27.entry.js +4 -0
  732. package/dist/ionic/p-ecc8aebb.entry.js +4 -0
  733. package/dist/ionic/p-f3de58bd.entry.js +4 -0
  734. package/dist/ionic/p-f8abe85c.entry.js +4 -0
  735. package/dist/ionic/p-fIOYmaqA.js +4 -0
  736. package/dist/ionic/p-fa7fe783.entry.js +4 -0
  737. package/dist/ionic/p-ff69e0c6.entry.js +4 -0
  738. package/dist/ionic/p-vXpMhGrs.js +4 -0
  739. package/dist/ionic/p-vpXGWZiy.js +4 -0
  740. package/dist/types/components/accordion/accordion.d.ts +5 -3
  741. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  742. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  743. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  744. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  745. package/dist/types/components/alert/alert.d.ts +3 -2
  746. package/dist/types/components/app/app.d.ts +4 -2
  747. package/dist/types/components/avatar/avatar.d.ts +32 -0
  748. package/dist/types/components/back-button/back-button.d.ts +2 -1
  749. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  750. package/dist/types/components/badge/badge.d.ts +34 -1
  751. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  752. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  753. package/dist/types/components/button/button.d.ts +19 -6
  754. package/dist/types/components/buttons/buttons.d.ts +5 -1
  755. package/dist/types/components/card/card.d.ts +8 -1
  756. package/dist/types/components/card-content/card-content.d.ts +2 -1
  757. package/dist/types/components/card-header/card-header.d.ts +3 -2
  758. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  759. package/dist/types/components/card-title/card-title.d.ts +2 -1
  760. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  761. package/dist/types/components/chip/chip.d.ts +26 -1
  762. package/dist/types/components/col/col.d.ts +52 -5
  763. package/dist/types/components/content/content.d.ts +3 -0
  764. package/dist/types/components/datetime/datetime.d.ts +26 -1
  765. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  766. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  767. package/dist/types/components/divider/divider.d.ts +20 -0
  768. package/dist/types/components/fab/fab.d.ts +4 -0
  769. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  770. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  771. package/dist/types/components/footer/footer.d.ts +4 -3
  772. package/dist/types/components/grid/grid.d.ts +4 -0
  773. package/dist/types/components/header/header.d.ts +9 -3
  774. package/dist/types/components/header/header.utils.d.ts +3 -3
  775. package/dist/types/components/img/img.d.ts +3 -0
  776. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  777. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  778. package/dist/types/components/input/input.d.ts +31 -5
  779. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  780. package/dist/types/components/item/item.d.ts +11 -4
  781. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  782. package/dist/types/components/item-group/item-group.d.ts +4 -0
  783. package/dist/types/components/item-option/item-option.d.ts +18 -1
  784. package/dist/types/components/item-options/item-options.d.ts +4 -0
  785. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  786. package/dist/types/components/label/label.d.ts +2 -1
  787. package/dist/types/components/list/list.d.ts +15 -1
  788. package/dist/types/components/list-header/list-header.d.ts +2 -1
  789. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  790. package/dist/types/components/loading/loading.d.ts +3 -2
  791. package/dist/types/components/menu/menu.d.ts +3 -0
  792. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  793. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  794. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  795. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  796. package/dist/types/components/modal/modal.d.ts +11 -1
  797. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  798. package/dist/types/components/nav/nav.d.ts +5 -1
  799. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  800. package/dist/types/components/note/note.d.ts +2 -1
  801. package/dist/types/components/picker/picker.d.ts +2 -1
  802. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  803. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  804. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  805. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  806. package/dist/types/components/popover/popover.d.ts +6 -5
  807. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  808. package/dist/types/components/radio/radio.d.ts +2 -1
  809. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  810. package/dist/types/components/range/range.d.ts +2 -1
  811. package/dist/types/components/refresher/refresher.d.ts +2 -1
  812. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  813. package/dist/types/components/reorder/reorder.d.ts +9 -0
  814. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  815. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  816. package/dist/types/components/route/route.d.ts +4 -0
  817. package/dist/types/components/router/router.d.ts +4 -0
  818. package/dist/types/components/router-link/router-link.d.ts +4 -0
  819. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  820. package/dist/types/components/row/row.d.ts +4 -0
  821. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  822. package/dist/types/components/segment/segment.d.ts +2 -1
  823. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  824. package/dist/types/components/select/select.d.ts +41 -13
  825. package/dist/types/components/select-modal/select-modal.d.ts +1 -0
  826. package/dist/types/components/select-option/select-option.d.ts +4 -0
  827. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  828. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  829. package/dist/types/components/spinner/spinner.d.ts +15 -0
  830. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  831. package/dist/types/components/tab/tab.d.ts +4 -0
  832. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  833. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  834. package/dist/types/components/tabs/tabs.d.ts +3 -0
  835. package/dist/types/components/text/text.d.ts +2 -1
  836. package/dist/types/components/textarea/textarea.d.ts +17 -4
  837. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  838. package/dist/types/components/title/title.d.ts +4 -0
  839. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  840. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  841. package/dist/types/components/toast/toast.d.ts +19 -2
  842. package/dist/types/components/toggle/toggle.d.ts +15 -1
  843. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  844. package/dist/types/components.d.ts +1593 -196
  845. package/dist/types/global/ionic-global.d.ts +27 -2
  846. package/dist/types/interface.d.ts +3 -0
  847. package/dist/types/utils/config.d.ts +106 -2
  848. package/dist/types/utils/focus-visible.d.ts +13 -0
  849. package/dist/types/utils/helpers.d.ts +11 -0
  850. package/dist/types/utils/overlays-interface.d.ts +31 -1
  851. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  852. package/hydrate/index.js +2868 -944
  853. package/hydrate/index.mjs +2868 -944
  854. package/package.json +9 -4
  855. package/components/hardware-back-button.js +0 -115
  856. package/components/index9.js +0 -7
  857. package/dist/cjs/hardware-back-button-VCK4V3mG.js +0 -121
  858. package/dist/cjs/index-DkNv4J_i.js +0 -10
  859. package/dist/cjs/ionic-global-HMVqOFGO.js +0 -151
  860. package/dist/esm/hardware-back-button-CPLxO-Ev.js +0 -115
  861. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  862. package/dist/esm/ionic-global-CDrldh-5.js +0 -146
  863. package/dist/ionic/p-020af078.entry.js +0 -4
  864. package/dist/ionic/p-074839fc.entry.js +0 -4
  865. package/dist/ionic/p-0b80d700.entry.js +0 -4
  866. package/dist/ionic/p-0dfa5a37.entry.js +0 -4
  867. package/dist/ionic/p-11518b31.entry.js +0 -4
  868. package/dist/ionic/p-15193d01.entry.js +0 -4
  869. package/dist/ionic/p-1647c46c.entry.js +0 -4
  870. package/dist/ionic/p-2a939845.entry.js +0 -4
  871. package/dist/ionic/p-316c0420.entry.js +0 -4
  872. package/dist/ionic/p-31f7095f.entry.js +0 -4
  873. package/dist/ionic/p-370e4237.entry.js +0 -4
  874. package/dist/ionic/p-3a6caca9.entry.js +0 -4
  875. package/dist/ionic/p-40c261a3.entry.js +0 -4
  876. package/dist/ionic/p-43ed1ef5.entry.js +0 -4
  877. package/dist/ionic/p-46d74291.entry.js +0 -4
  878. package/dist/ionic/p-49d06882.entry.js +0 -4
  879. package/dist/ionic/p-4c85d268.entry.js +0 -4
  880. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  881. package/dist/ionic/p-510d86e1.entry.js +0 -4
  882. package/dist/ionic/p-51a60e0f.entry.js +0 -4
  883. package/dist/ionic/p-582824c5.entry.js +0 -4
  884. package/dist/ionic/p-6241ce47.entry.js +0 -4
  885. package/dist/ionic/p-639dd543.entry.js +0 -4
  886. package/dist/ionic/p-6444c606.entry.js +0 -4
  887. package/dist/ionic/p-675b1a31.entry.js +0 -4
  888. package/dist/ionic/p-6d070558.entry.js +0 -4
  889. package/dist/ionic/p-7268efa5.entry.js +0 -4
  890. package/dist/ionic/p-72c38b88.entry.js +0 -4
  891. package/dist/ionic/p-7380261c.entry.js +0 -4
  892. package/dist/ionic/p-79bd78f9.entry.js +0 -4
  893. package/dist/ionic/p-7da39a4d.entry.js +0 -4
  894. package/dist/ionic/p-83be404e.entry.js +0 -4
  895. package/dist/ionic/p-86f53961.entry.js +0 -4
  896. package/dist/ionic/p-94de5cfa.entry.js +0 -4
  897. package/dist/ionic/p-9575b654.entry.js +0 -4
  898. package/dist/ionic/p-98fc09eb.entry.js +0 -4
  899. package/dist/ionic/p-9eeaBrnk.js +0 -4
  900. package/dist/ionic/p-B0q1YL7N.js +0 -4
  901. package/dist/ionic/p-BFvmZNyx.js +0 -4
  902. package/dist/ionic/p-BKc55Xev.js +0 -4
  903. package/dist/ionic/p-BOVrCkpJ.js +0 -4
  904. package/dist/ionic/p-BYEqWnSg.js +0 -4
  905. package/dist/ionic/p-BmVRXR1y.js +0 -4
  906. package/dist/ionic/p-Bmgaetn_.js +0 -4
  907. package/dist/ionic/p-C7hRNDhM.js +0 -4
  908. package/dist/ionic/p-CIGNaXM1.js +0 -4
  909. package/dist/ionic/p-CTfR9YZG.js +0 -4
  910. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  911. package/dist/ionic/p-D-eFFUkA.js +0 -4
  912. package/dist/ionic/p-D87hU-Ly.js +0 -4
  913. package/dist/ionic/p-DCv9sLH2.js +0 -4
  914. package/dist/ionic/p-DDb5r57F.js +0 -4
  915. package/dist/ionic/p-DNcfiJwE.js +0 -4
  916. package/dist/ionic/p-DZRJwG4S.js +0 -4
  917. package/dist/ionic/p-QHYY4sjU.js +0 -4
  918. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  919. package/dist/ionic/p-a127bee2.entry.js +0 -4
  920. package/dist/ionic/p-a80f1b04.entry.js +0 -4
  921. package/dist/ionic/p-ac4eb91d.entry.js +0 -4
  922. package/dist/ionic/p-b0a7585c.entry.js +0 -4
  923. package/dist/ionic/p-b57c6d3e.entry.js +0 -4
  924. package/dist/ionic/p-c19f63d0.entry.js +0 -4
  925. package/dist/ionic/p-cb93126d.entry.js +0 -4
  926. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  927. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  928. package/dist/ionic/p-d126e8d3.entry.js +0 -4
  929. package/dist/ionic/p-d1f54e28.entry.js +0 -4
  930. package/dist/ionic/p-d3014190.entry.js +0 -4
  931. package/dist/ionic/p-da7d04cc.entry.js +0 -4
  932. package/dist/ionic/p-dbbe606a.entry.js +0 -4
  933. package/dist/ionic/p-e16b69e1.entry.js +0 -4
  934. package/dist/ionic/p-f8f22cc0.entry.js +0 -4
  935. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -1,3 +1,70 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
7
+ /**
8
+ * Convert a font size to a dynamic font size.
9
+ * Fonts that participate in Dynamic Type should use
10
+ * dynamic font sizes.
11
+ * @param size - The initial font size including the unit (i.e. px or pt)
12
+ * @param unit (optional) - The unit to convert to. Use this if you want to
13
+ * convert to a unit other than $baselineUnit.
14
+ */
15
+ /**
16
+ * Convert a font size to a dynamic font size but impose
17
+ * a maximum font size.
18
+ * @param size - The initial font size including the unit (i.e. px or pt)
19
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
20
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
21
+ * convert to a unit other than $baselineUnit.
22
+ */
23
+ /**
24
+ * Convert a font size to a dynamic font size but impose
25
+ * a minimum font size.
26
+ * @param size - The initial font size including the unit (i.e. px or pt)
27
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
28
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
29
+ * convert to a unit other than $baselineUnit.
30
+ */
31
+ /**
32
+ * Convert a font size to a dynamic font size but impose
33
+ * maximum and minimum font sizes.
34
+ * @param size - The initial font size including the unit (i.e. px or pt)
35
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
36
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
37
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
38
+ * convert to a unit other than $baselineUnit.
39
+ */
40
+ /**
41
+ * A heuristic that applies CSS to tablet
42
+ * viewports.
43
+ *
44
+ * Usage:
45
+ * @include tablet-viewport() {
46
+ * :host {
47
+ * background-color: green;
48
+ * }
49
+ * }
50
+ */
51
+ /**
52
+ * A heuristic that applies CSS to mobile
53
+ * viewports (i.e. phones, not tablets).
54
+ *
55
+ * Usage:
56
+ * @include mobile-viewport() {
57
+ * :host {
58
+ * background-color: blue;
59
+ * }
60
+ * }
61
+ */
62
+ /**
63
+ * Convert a pixels given value into rem
64
+ *
65
+ * @param pixels - Value in pixels to be converted (i.e. px)
66
+ * @param context (optional) - Baseline value
67
+ */
1
68
  /**
2
69
  * Convert a font size to a dynamic font size.
3
70
  * Fonts that participate in Dynamic Type should use
@@ -56,16 +123,6 @@
56
123
  :host {
57
124
  /**
58
125
  * @prop --background: The primary background of the datetime component.
59
- * @prop --background-rgb: The primary background of the datetime component in RGB format.
60
- * @prop --title-color: The text color of the title.
61
- *
62
- * @prop --wheel-highlight-background: The background of the highlight under the selected
63
- * item when using a wheel style layout, or in the month/year picker for grid style layouts.
64
- * @prop --wheel-highlight-border-radius: The border radius of the highlight under the selected
65
- * item when using a wheel style layout, or in the month/year picker for grid style layouts.
66
- * @prop --wheel-fade-background-rgb: The color of the gradient covering non-selected items
67
- * when using a wheel style layout, or in the month/year picker for grid style layouts. Must
68
- * be in RGB format, e.g. `255, 255, 255`.
69
126
  */
70
127
  display: flex;
71
128
  flex-flow: column;
@@ -78,19 +135,6 @@
78
135
  height: auto;
79
136
  }
80
137
 
81
- :host(.datetime-size-fixed:not(.datetime-prefer-wheel)) {
82
- max-width: 350px;
83
- }
84
-
85
- /**
86
- * This ensures that the picker is appropriately
87
- * sized and never truncates the text.
88
- */
89
- :host(.datetime-size-fixed.datetime-prefer-wheel) {
90
- min-width: 350px;
91
- max-width: max-content;
92
- }
93
-
94
138
  :host(.datetime-size-cover) {
95
139
  width: 100%;
96
140
  }
@@ -172,6 +216,7 @@
172
216
  :host(.datetime-disabled) {
173
217
  pointer-events: none;
174
218
  }
219
+
175
220
  :host(.datetime-disabled) .calendar-days-of-week,
176
221
  :host(.datetime-disabled) .datetime-time {
177
222
  opacity: 0.4;
@@ -188,11 +233,13 @@
188
233
  * in readonly mode
189
234
  */
190
235
  }
236
+
191
237
  :host(.datetime-readonly) .calendar-action-buttons,
192
238
  :host(.datetime-readonly) .calendar-body,
193
239
  :host(.datetime-readonly) .datetime-year {
194
240
  pointer-events: initial;
195
241
  }
242
+
196
243
  :host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),
197
244
  :host(.datetime-readonly) .datetime-action-buttons ion-button[disabled] {
198
245
  opacity: 1;
@@ -213,19 +260,7 @@
213
260
  width: 100%;
214
261
  }
215
262
 
216
- :host .datetime-action-buttons ion-buttons {
217
- display: flex;
218
- justify-content: space-between;
219
- }
220
-
221
- /**
222
- * The confirm and clear buttons are grouped in a
223
- * container so that they appear on the end opposite
224
- * of the cancel button.
225
- * We use display: flex so that the
226
- * wrapper only takes up as much
227
- * height as it needs.
228
- */
263
+ :host .datetime-action-buttons ion-buttons,
229
264
  .datetime-action-buttons .datetime-action-buttons-container {
230
265
  display: flex;
231
266
  }
@@ -240,10 +275,6 @@
240
275
  justify-content: space-between;
241
276
  }
242
277
 
243
- :host .calendar-action-buttons ion-button {
244
- --background: transparent;
245
- }
246
-
247
278
  :host .calendar-days-of-week {
248
279
  display: grid;
249
280
  grid-template-columns: repeat(7, 1fr);
@@ -339,7 +370,6 @@
339
370
  * and horizontally within its grid cell.
340
371
  */
341
372
  .calendar-day {
342
- border-radius: 50%;
343
373
  -webkit-padding-start: 0px;
344
374
  padding-inline-start: 0px;
345
375
  -webkit-padding-end: 0px;
@@ -360,20 +390,13 @@
360
390
  outline: none;
361
391
  background: none;
362
392
  color: currentColor;
363
- font-family: var(--ion-font-family, inherit);
364
393
  cursor: pointer;
365
394
  appearance: none;
366
395
  z-index: 0;
367
396
  }
368
397
 
369
- :host .calendar-day[disabled] {
398
+ .calendar-day[disabled] {
370
399
  pointer-events: none;
371
- opacity: 0.4;
372
- }
373
-
374
- .calendar-day:not(.calendar-day-adjacent-day):focus {
375
- background: rgba(var(--ion-color-base-rgb), 0.2);
376
- box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);
377
400
  }
378
401
 
379
402
  :host .datetime-time {
@@ -381,69 +404,41 @@
381
404
  justify-content: space-between;
382
405
  }
383
406
 
384
- :host(.datetime-presentation-time) .datetime-time {
385
- padding-left: 0;
386
- padding-right: 0;
387
- padding-top: 0;
388
- padding-bottom: 0;
389
- }
390
-
391
- :host ion-popover {
392
- --height: 200px;
393
- }
394
-
395
407
  :host .time-header {
396
408
  display: flex;
397
409
  align-items: center;
398
410
  }
399
411
 
400
412
  :host .time-body {
401
- border-radius: 8px;
402
- -webkit-padding-start: 12px;
403
- padding-inline-start: 12px;
404
- -webkit-padding-end: 12px;
405
- padding-inline-end: 12px;
406
- padding-top: 6px;
407
- padding-bottom: 6px;
408
413
  display: flex;
409
414
  border: none;
410
- background: var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));
411
- color: var(--ion-text-color, #000);
412
415
  font-family: inherit;
413
416
  font-size: inherit;
414
417
  cursor: pointer;
415
418
  appearance: none;
416
419
  }
417
420
 
418
- :host .time-body-active {
419
- color: var(--ion-color-base);
420
- }
421
-
422
421
  :host(.in-item) {
423
422
  position: static;
424
423
  }
425
424
 
426
- :host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
427
- color: var(--ion-color-base);
428
- }
429
-
430
425
  .calendar-month-year {
431
426
  min-width: 0;
432
427
  }
433
428
 
434
429
  .calendar-month-year-toggle {
430
+ color: inherit;
435
431
  font-family: inherit;
436
432
  font-size: inherit;
437
433
  font-style: inherit;
438
434
  font-weight: inherit;
439
435
  letter-spacing: inherit;
436
+ text-align: inherit;
440
437
  text-decoration: inherit;
441
438
  text-indent: inherit;
442
439
  text-overflow: inherit;
443
440
  text-transform: inherit;
444
- text-align: inherit;
445
441
  white-space: inherit;
446
- color: inherit;
447
442
  position: relative;
448
443
  border: 0;
449
444
  outline: none;
@@ -451,9 +446,105 @@
451
446
  cursor: pointer;
452
447
  z-index: 1;
453
448
  }
449
+
450
+ .calendar-month-year-toggle ion-icon {
451
+ flex-shrink: 0;
452
+ }
453
+
454
+ .calendar-month-year-toggle #toggle-wrapper {
455
+ display: inline-flex;
456
+ align-items: center;
457
+ }
458
+
459
+ :host {
460
+ /**
461
+ * @prop --background-rgb: The primary background of the datetime component in RGB format.
462
+ * @prop --title-color: The text color of the title.
463
+ *
464
+ * @prop --wheel-highlight-background: The background of the highlight under the selected
465
+ * item when using a wheel style layout, or in the month/year picker for grid style layouts.
466
+ * @prop --wheel-highlight-border-radius: The border radius of the highlight under the selected
467
+ * item when using a wheel style layout, or in the month/year picker for grid style layouts.
468
+ * @prop --wheel-fade-background-rgb: The color of the gradient covering non-selected items
469
+ * when using a wheel style layout, or in the month/year picker for grid style layouts. Must
470
+ * be in RGB format, e.g. `255, 255, 255`.
471
+ */
472
+ }
473
+
474
+ :host(.datetime-size-fixed:not(.datetime-prefer-wheel)) {
475
+ max-width: 350px;
476
+ }
477
+
478
+ /**
479
+ * This ensures that the picker is appropriately
480
+ * sized and never truncates the text.
481
+ */
482
+ :host(.datetime-size-fixed.datetime-prefer-wheel) {
483
+ min-width: 350px;
484
+ max-width: max-content;
485
+ }
486
+
487
+ :host .calendar-action-buttons ion-button {
488
+ --background: transparent;
489
+ }
490
+
491
+ /**
492
+ * Center the day text vertically
493
+ * and horizontally within its grid cell.
494
+ */
495
+ .calendar-day {
496
+ border-radius: 50%;
497
+ font-family: var(--ion-font-family, inherit);
498
+ }
499
+
500
+ :host .calendar-day[disabled] {
501
+ opacity: 0.4;
502
+ }
503
+
504
+ .calendar-day:not(.calendar-day-adjacent-day):focus {
505
+ background: current-color(base, 0.2);
506
+ box-shadow: 0px 0px 0px 4px current-color(base, 0.2);
507
+ }
508
+
509
+ .calendar-day:focus {
510
+ background: rgba(var(--ion-color-base-rgb), 0.2);
511
+ box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);
512
+ }
513
+
514
+ :host(.datetime-presentation-time) .datetime-time {
515
+ padding-left: 0;
516
+ padding-right: 0;
517
+ padding-top: 0;
518
+ padding-bottom: 0;
519
+ }
520
+
521
+ :host ion-popover {
522
+ --height: 200px;
523
+ }
524
+
525
+ :host .time-body {
526
+ border-radius: 8px;
527
+ -webkit-padding-start: 12px;
528
+ padding-inline-start: 12px;
529
+ -webkit-padding-end: 12px;
530
+ padding-inline-end: 12px;
531
+ padding-top: 6px;
532
+ padding-bottom: 6px;
533
+ background: var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));
534
+ color: var(--ion-text-color, #000);
535
+ }
536
+
537
+ :host .time-body-active {
538
+ color: var(--ion-color-base);
539
+ }
540
+
541
+ :host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
542
+ color: var(--ion-color-base);
543
+ }
544
+
454
545
  .calendar-month-year-toggle::after {
455
- left: 0;
456
546
  right: 0;
547
+ left: 0;
457
548
  top: 0;
458
549
  bottom: 0;
459
550
  position: absolute;
@@ -477,12 +568,6 @@
477
568
  padding-inline-end: 0;
478
569
  padding-top: 0;
479
570
  padding-bottom: 0;
480
- flex-shrink: 0;
481
- }
482
-
483
- .calendar-month-year-toggle #toggle-wrapper {
484
- display: inline-flex;
485
- align-items: center;
486
571
  }
487
572
 
488
573
  ion-picker {
@@ -491,6 +576,77 @@ ion-picker {
491
576
  --fade-background-rgb: var(--wheel-fade-background-rgb);
492
577
  }
493
578
 
579
+ :host .datetime-action-buttons ion-buttons {
580
+ justify-content: space-between;
581
+ }
582
+
583
+ /**
584
+ * Convert a pixels given value into rem
585
+ *
586
+ * @param pixels - Value in pixels to be converted (i.e. px)
587
+ * @param context (optional) - Baseline value
588
+ */
589
+ /**
590
+ * Convert a font size to a dynamic font size.
591
+ * Fonts that participate in Dynamic Type should use
592
+ * dynamic font sizes.
593
+ * @param size - The initial font size including the unit (i.e. px or pt)
594
+ * @param unit (optional) - The unit to convert to. Use this if you want to
595
+ * convert to a unit other than $baselineUnit.
596
+ */
597
+ /**
598
+ * Convert a font size to a dynamic font size but impose
599
+ * a maximum font size.
600
+ * @param size - The initial font size including the unit (i.e. px or pt)
601
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
602
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
603
+ * convert to a unit other than $baselineUnit.
604
+ */
605
+ /**
606
+ * Convert a font size to a dynamic font size but impose
607
+ * a minimum font size.
608
+ * @param size - The initial font size including the unit (i.e. px or pt)
609
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
610
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
611
+ * convert to a unit other than $baselineUnit.
612
+ */
613
+ /**
614
+ * Convert a font size to a dynamic font size but impose
615
+ * maximum and minimum font sizes.
616
+ * @param size - The initial font size including the unit (i.e. px or pt)
617
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
618
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
619
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
620
+ * convert to a unit other than $baselineUnit.
621
+ */
622
+ /**
623
+ * A heuristic that applies CSS to tablet
624
+ * viewports.
625
+ *
626
+ * Usage:
627
+ * @include tablet-viewport() {
628
+ * :host {
629
+ * background-color: green;
630
+ * }
631
+ * }
632
+ */
633
+ /**
634
+ * A heuristic that applies CSS to mobile
635
+ * viewports (i.e. phones, not tablets).
636
+ *
637
+ * Usage:
638
+ * @include mobile-viewport() {
639
+ * :host {
640
+ * background-color: blue;
641
+ * }
642
+ * }
643
+ */
644
+ /**
645
+ * Convert a pixels given value into rem
646
+ *
647
+ * @param pixels - Value in pixels to be converted (i.e. px)
648
+ * @param context (optional) - Baseline value
649
+ */
494
650
  /**
495
651
  * Convert a font size to a dynamic font size.
496
652
  * Fonts that participate in Dynamic Type should use
@@ -1,6 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import caretLeftRegular from "@phosphor-icons/core/assets/regular/caret-left.svg";
5
+ import caretRightRegular from "@phosphor-icons/core/assets/regular/caret-right.svg";
4
6
  import { Host, h, writeTask } from "@stencil/core";
5
7
  import { startFocusVisible } from "../../utils/focus-visible";
6
8
  import { getElementRoot, raf, renderHiddenInput } from "../../utils/helpers";
@@ -9,7 +11,8 @@ import { FOCUS_TRAP_DISABLE_CLASS } from "../../utils/overlays";
9
11
  import { isRTL } from "../../utils/rtl/index";
10
12
  import { createColorClasses } from "../../utils/theme";
11
13
  import { caretDownSharp, caretUpSharp, chevronBack, chevronDown, chevronForward } from "ionicons/icons";
12
- import { getIonMode } from "../../global/ionic-global";
14
+ import { config } from "../../global/config";
15
+ import { getIonMode, getIonTheme } from "../../global/ionic-global";
13
16
  import { isSameDay, warnIfValueOutOfBounds, isBefore, isAfter } from "./utils/comparison";
14
17
  import { generateMonths, getDaysOfMonth, getDaysOfWeek, getToday, getMonthColumnData, getDayColumnData, getYearColumnData, getTimeColumnsData, getCombinedDateColumnData, } from "./utils/data";
15
18
  import { formatValue, getLocalizedDateTime, getLocalizedTime, getMonthAndYear } from "./utils/format";
@@ -19,7 +22,8 @@ import { clampDate, convertToArrayOfNumbers, getPartsFromCalendarDay, parseAmPm,
19
22
  import { getCalendarDayState, getHighlightStyles, isDayDisabled, isMonthDisabled, isNextMonthDisabled, isPrevMonthDisabled, } from "./utils/state";
20
23
  import { checkForPresentationFormatMismatch, warnIfTimeZoneProvided } from "./utils/validate";
21
24
  /**
22
- * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
25
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
26
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
23
27
  *
24
28
  * @slot title - The title of the datetime.
25
29
  * @slot buttons - The buttons in the datetime.
@@ -1090,6 +1094,7 @@ export class Datetime {
1090
1094
  * are rendered independently of presentation.
1091
1095
  */
1092
1096
  renderFooter() {
1097
+ const theme = getIonTheme(this);
1093
1098
  const { disabled, readonly, showDefaultButtons, showClearButton } = this;
1094
1099
  /**
1095
1100
  * The cancel, clear, and confirm buttons
@@ -1097,6 +1102,7 @@ export class Datetime {
1097
1102
  * is disabled or readonly.
1098
1103
  */
1099
1104
  const isButtonDisabled = disabled || readonly;
1105
+ const confirmFill = theme === 'ionic' ? 'solid' : undefined;
1100
1106
  const hasSlottedButtons = this.el.querySelector('[slot="buttons"]') !== null;
1101
1107
  if (!hasSlottedButtons && !showDefaultButtons && !showClearButton) {
1102
1108
  return;
@@ -1115,7 +1121,7 @@ export class Datetime {
1115
1121
  return (h("div", { class: "datetime-footer" }, h("div", { class: "datetime-buttons" }, h("div", { class: {
1116
1122
  ['datetime-action-buttons']: true,
1117
1123
  ['has-clear-button']: this.showClearButton,
1118
- } }, h("slot", { name: "buttons" }, h("ion-buttons", null, showDefaultButtons && (h("ion-button", { id: "cancel-button", color: this.color, onClick: () => this.cancel(true), disabled: isButtonDisabled }, this.cancelText)), h("div", { class: "datetime-action-buttons-container" }, showClearButton && (h("ion-button", { id: "clear-button", color: this.color, onClick: () => clearButtonClick(), disabled: isButtonDisabled }, this.clearText)), showDefaultButtons && (h("ion-button", { id: "confirm-button", color: this.color, onClick: () => this.confirm(true), disabled: isButtonDisabled }, this.doneText)))))))));
1124
+ } }, h("slot", { name: "buttons" }, h("ion-buttons", null, showDefaultButtons && (h("ion-button", { id: "cancel-button", color: this.color, onClick: () => this.cancel(true), disabled: isButtonDisabled }, this.cancelText)), h("div", { class: "datetime-action-buttons-container" }, showClearButton && (h("ion-button", { id: "clear-button", color: this.color, onClick: () => clearButtonClick(), disabled: isButtonDisabled }, this.clearText)), showDefaultButtons && (h("ion-button", { id: "confirm-button", color: this.color, onClick: () => this.confirm(true), disabled: isButtonDisabled, fill: confirmFill }, this.doneText)))))))));
1119
1125
  }
1120
1126
  /**
1121
1127
  * Wheel picker render methods
@@ -1366,10 +1372,8 @@ export class Datetime {
1366
1372
  /**
1367
1373
  * Grid Render Methods
1368
1374
  */
1369
- renderCalendarHeader(mode) {
1370
- const { disabled } = this;
1371
- const expandedIcon = mode === 'ios' ? chevronDown : caretUpSharp;
1372
- const collapsedIcon = mode === 'ios' ? chevronForward : caretDownSharp;
1375
+ renderCalendarHeader(theme) {
1376
+ const { disabled, datetimeNextIcon, datetimePreviousIcon, datetimeCollapsedIcon, datetimeExpandedIcon } = this;
1373
1377
  const prevMonthDisabled = disabled || isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
1374
1378
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
1375
1379
  // don't use the inheritAttributes util because it removes dir from the host, and we still need that
@@ -1378,7 +1382,7 @@ export class Datetime {
1378
1382
  'calendar-month-year-toggle': true,
1379
1383
  'ion-activatable': true,
1380
1384
  'ion-focusable': true,
1381
- }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1385
+ }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), theme !== 'ionic' && (h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? datetimeExpandedIcon : datetimeCollapsedIcon, lazy: false, flipRtl: true }))), theme === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: datetimePreviousIcon, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: datetimeNextIcon, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, theme, this.firstDayOfWeek % 7).map((d) => {
1382
1386
  return h("div", { class: "day-of-week" }, d);
1383
1387
  }))));
1384
1388
  }
@@ -1530,8 +1534,8 @@ export class Datetime {
1530
1534
  return this.renderMonth(month, year);
1531
1535
  })));
1532
1536
  }
1533
- renderCalendar(mode) {
1534
- return (h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(mode), this.renderCalendarBody()));
1537
+ renderCalendar(theme) {
1538
+ return (h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(theme), this.renderCalendarBody()));
1535
1539
  }
1536
1540
  renderTimeLabel() {
1537
1541
  const hasSlottedTimeLabel = this.el.querySelector('[slot="time-label"]') !== null;
@@ -1639,7 +1643,7 @@ export class Datetime {
1639
1643
  * Render entry point
1640
1644
  * All presentation types are rendered from here.
1641
1645
  */
1642
- renderDatetime(mode) {
1646
+ renderDatetime(theme) {
1643
1647
  const { presentation, preferWheel } = this;
1644
1648
  /**
1645
1649
  * Certain presentation types have separate grid and wheel displays.
@@ -1653,7 +1657,7 @@ export class Datetime {
1653
1657
  case 'date-time':
1654
1658
  return [
1655
1659
  this.renderHeader(),
1656
- this.renderCalendar(mode),
1660
+ this.renderCalendar(theme),
1657
1661
  this.renderCalendarViewMonthYearPicker(),
1658
1662
  this.renderTime(),
1659
1663
  this.renderFooter(),
@@ -1662,7 +1666,7 @@ export class Datetime {
1662
1666
  return [
1663
1667
  this.renderHeader(),
1664
1668
  this.renderTime(),
1665
- this.renderCalendar(mode),
1669
+ this.renderCalendar(theme),
1666
1670
  this.renderCalendarViewMonthYearPicker(),
1667
1671
  this.renderFooter(),
1668
1672
  ];
@@ -1675,23 +1679,95 @@ export class Datetime {
1675
1679
  default:
1676
1680
  return [
1677
1681
  this.renderHeader(),
1678
- this.renderCalendar(mode),
1682
+ this.renderCalendar(theme),
1679
1683
  this.renderCalendarViewMonthYearPicker(),
1680
1684
  this.renderFooter(),
1681
1685
  ];
1682
1686
  }
1683
1687
  }
1688
+ /**
1689
+ * Get the icon to use for the next icon.
1690
+ * Otherwise, use the icon set in the config.
1691
+ * If no icon is set in the config, use the default icon.
1692
+ */
1693
+ get datetimeNextIcon() {
1694
+ // Determine the theme and map to default icons
1695
+ const theme = getIonTheme(this);
1696
+ const defaultIcons = {
1697
+ ios: chevronForward,
1698
+ ionic: caretRightRegular,
1699
+ md: chevronForward,
1700
+ };
1701
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
1702
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
1703
+ // Return the configured datetime next icon or the default icon
1704
+ return config.get('datetimeNextIcon', defaultIcon);
1705
+ }
1706
+ /**
1707
+ * Get the icon to use for the previous icon.
1708
+ * Otherwise, use the icon set in the config.
1709
+ * If no icon is set in the config, use the default icon.
1710
+ */
1711
+ get datetimePreviousIcon() {
1712
+ // Determine the theme and map to default icons
1713
+ const theme = getIonTheme(this);
1714
+ const defaultIcons = {
1715
+ ios: chevronBack,
1716
+ ionic: caretLeftRegular,
1717
+ md: chevronBack,
1718
+ };
1719
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
1720
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
1721
+ // Return the configured datetime previous icon or the default icon
1722
+ return config.get('datetimePreviousIcon', defaultIcon);
1723
+ }
1724
+ /**
1725
+ * Get the icon to use for the show month and year icon.
1726
+ * Otherwise, use the icon set in the config.
1727
+ * If no icon is set in the config, use the default icon.
1728
+ */
1729
+ get datetimeCollapsedIcon() {
1730
+ // Determine the theme and map to default icons
1731
+ const theme = getIonTheme(this);
1732
+ const defaultIcons = {
1733
+ ios: chevronForward,
1734
+ ionic: undefined,
1735
+ md: caretDownSharp,
1736
+ };
1737
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
1738
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
1739
+ // Return the configured datetime show month and year icon or the default icon
1740
+ return config.get('datetimeCollapsedIcon', defaultIcon);
1741
+ }
1742
+ /**
1743
+ * Get the icon to use for the hide month and year icon.
1744
+ * Otherwise, use the icon set in the config.
1745
+ * If no icon is set in the config, use the default icon.
1746
+ */
1747
+ get datetimeExpandedIcon() {
1748
+ // Determine the theme and map to default icons
1749
+ const theme = getIonTheme(this);
1750
+ const defaultIcons = {
1751
+ ios: chevronDown,
1752
+ ionic: undefined,
1753
+ md: caretUpSharp,
1754
+ };
1755
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
1756
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
1757
+ // Return the configured datetime hide month and year icon or the default icon
1758
+ return config.get('datetimeExpandedIcon', defaultIcon);
1759
+ }
1684
1760
  render() {
1685
1761
  const { name, value, disabled, el, color, readonly, showMonthAndYear, preferWheel, presentation, size, isGridStyle, } = this;
1686
- const mode = getIonMode(this);
1762
+ const theme = getIonTheme(this);
1687
1763
  const isMonthAndYearPresentation = presentation === 'year' || presentation === 'month' || presentation === 'month-year';
1688
1764
  const shouldShowMonthAndYear = showMonthAndYear || isMonthAndYearPresentation;
1689
1765
  const monthYearPickerOpen = showMonthAndYear && !isMonthAndYearPresentation;
1690
1766
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1691
1767
  const hasWheelVariant = hasDatePresentation && preferWheel;
1692
1768
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1693
- return (h(Host, { key: 'efdbc0922670a841bc667ceac392cdc1dedffd01', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1694
- [mode]: true,
1769
+ return (h(Host, { key: '33a72e6e63b14de1d77ab7e199a571a28d640fb6', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1770
+ [theme]: true,
1695
1771
  ['datetime-readonly']: readonly,
1696
1772
  ['datetime-disabled']: disabled,
1697
1773
  'show-month-and-year': shouldShowMonthAndYear,
@@ -1700,20 +1776,22 @@ export class Datetime {
1700
1776
  [`datetime-size-${size}`]: true,
1701
1777
  [`datetime-prefer-wheel`]: hasWheelVariant,
1702
1778
  [`datetime-grid`]: isGridStyle,
1703
- })) }, h("div", { key: '3f8bb75fcb0baff55182ef3aa1b535eacc58d81f', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1779
+ })) }, h("div", { key: 'cc48f62668ace1a3fc30bb53fa555a8fe85fc499', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
1704
1780
  }
1705
1781
  static get is() { return "ion-datetime"; }
1706
1782
  static get encapsulation() { return "shadow"; }
1707
1783
  static get originalStyleUrls() {
1708
1784
  return {
1709
1785
  "ios": ["datetime.ios.scss"],
1710
- "md": ["datetime.md.scss"]
1786
+ "md": ["datetime.md.scss"],
1787
+ "ionic": ["datetime.ionic.scss"]
1711
1788
  };
1712
1789
  }
1713
1790
  static get styleUrls() {
1714
1791
  return {
1715
1792
  "ios": ["datetime.ios.css"],
1716
- "md": ["datetime.md.css"]
1793
+ "md": ["datetime.md.css"],
1794
+ "ionic": ["datetime.ionic.css"]
1717
1795
  };
1718
1796
  }
1719
1797
  static get properties() {