@ionic/core 8.7.10 → 8.7.11-dev.11763677588.1682e25d

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 +25 -7
  87. package/components/ion-tab.js +2 -2
  88. package/components/ion-tabs.js +2 -2
  89. package/components/ion-text.js +5 -5
  90. package/components/ion-textarea.js +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 +40 -14
  97. package/components/keyboard-controller.js +4 -2
  98. package/components/label.js +8 -5
  99. package/components/list-header.js +10 -7
  100. package/components/list.js +27 -6
  101. package/components/list2.js +6 -0
  102. package/components/modal.js +48 -20
  103. package/components/notch-controller.js +1 -1
  104. package/components/overlays.js +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 +106 -45
  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 +65 -20
  232. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -6
  233. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  234. package/dist/cjs/ion-textarea.cjs.entry.js +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 +228 -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 +98 -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 +44 -19
  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 +44 -8
  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 +509 -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 +108 -47
  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 +65 -20
  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-0a64bb9c.entry.js +4 -0
  658. package/dist/ionic/p-0f7163d6.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-23e4b68a.entry.js +4 -0
  662. package/dist/ionic/p-2a3ff36f.entry.js +4 -0
  663. package/dist/ionic/p-2a825e5e.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-418e4330.entry.js +4 -0
  668. package/dist/ionic/p-46fb5199.entry.js +4 -0
  669. package/dist/ionic/p-4757e558.entry.js +4 -0
  670. package/dist/ionic/p-477843a1.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-53211e8a.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-86b82096.entry.js +4 -0
  689. package/dist/ionic/p-88ef6829.entry.js +4 -0
  690. package/dist/ionic/p-89743bba.entry.js +4 -0
  691. package/dist/ionic/p-8a1c5f2b.entry.js +4 -0
  692. package/dist/ionic/p-91966afa.entry.js +4 -0
  693. package/dist/ionic/p-921fef6a.entry.js +4 -0
  694. package/dist/ionic/p-93ed8a1d.entry.js +4 -0
  695. package/dist/ionic/p-9c3361e4.entry.js +4 -0
  696. package/dist/ionic/p-B-N4FEiY.js +4 -0
  697. package/dist/ionic/{p-CwgG81ZD.js → p-B3uz75uZ.js} +1 -1
  698. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  699. package/dist/ionic/p-BRd1Ag6P.js +4 -0
  700. package/dist/ionic/p-BYSs-jZz.js +4 -0
  701. package/dist/ionic/{p-CJxh_yLS.js → p-BbT4IAlw.js} +1 -1
  702. package/dist/ionic/p-BiTKUjko.js +4 -0
  703. package/dist/ionic/p-CGo9Zrhw.js +4 -0
  704. package/dist/ionic/p-CK1xn1Nt.js +4 -0
  705. package/dist/ionic/p-CK4YXTyz.js +4 -0
  706. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  707. package/dist/ionic/p-CeO9Shc9.js +4 -0
  708. package/dist/ionic/p-CkzsSTjr.js +4 -0
  709. package/dist/ionic/p-D1t981Ih.js +4 -0
  710. package/dist/ionic/{p-Dc45iWE4.js → p-DBaOCAfc.js} +1 -1
  711. package/dist/ionic/p-DPNSAVjP.js +4 -0
  712. package/dist/ionic/p-D_8SMvQ3.js +4 -0
  713. package/dist/ionic/p-DdaOdN_z.js +4 -0
  714. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  715. package/dist/ionic/p-Dq8ap6AD.js +4 -0
  716. package/dist/ionic/p-Dv5UHqHj.js +4 -0
  717. package/dist/ionic/{p-CKvCXMs9.js → p-DxFexTIr.js} +1 -1
  718. package/dist/ionic/{p-DUt5fQmA.js → p-DxVdyQoe.js} +1 -1
  719. package/dist/ionic/p-DyaKZbAH.js +4 -0
  720. package/dist/ionic/{p-D0dMcSkw.js → p-HpOiAvpC.js} +1 -1
  721. package/dist/ionic/{p-D13Eaw-8.js → p-Q7JLYEUZ.js} +1 -1
  722. package/dist/ionic/p-W-2TssC9.js +4 -0
  723. package/dist/ionic/p-a1128f7f.entry.js +4 -0
  724. package/dist/ionic/p-a57c0cce.entry.js +4 -0
  725. package/dist/ionic/p-c289efa5.entry.js +4 -0
  726. package/dist/ionic/p-c8740f44.entry.js +4 -0
  727. package/dist/ionic/p-cdd40776.entry.js +4 -0
  728. package/dist/ionic/p-ce510c06.entry.js +4 -0
  729. package/dist/ionic/p-db4b3111.entry.js +4 -0
  730. package/dist/ionic/p-db90b95a.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 +11 -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 +2851 -942
  853. package/hydrate/index.mjs +2851 -942
  854. package/package.json +8 -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-4efea47a.entry.js +0 -4
  882. package/dist/ionic/p-510d86e1.entry.js +0 -4
  883. package/dist/ionic/p-51a60e0f.entry.js +0 -4
  884. package/dist/ionic/p-582824c5.entry.js +0 -4
  885. package/dist/ionic/p-6241ce47.entry.js +0 -4
  886. package/dist/ionic/p-639dd543.entry.js +0 -4
  887. package/dist/ionic/p-6444c606.entry.js +0 -4
  888. package/dist/ionic/p-675b1a31.entry.js +0 -4
  889. package/dist/ionic/p-6d070558.entry.js +0 -4
  890. package/dist/ionic/p-7268efa5.entry.js +0 -4
  891. package/dist/ionic/p-72c38b88.entry.js +0 -4
  892. package/dist/ionic/p-7380261c.entry.js +0 -4
  893. package/dist/ionic/p-79bd78f9.entry.js +0 -4
  894. package/dist/ionic/p-7da39a4d.entry.js +0 -4
  895. package/dist/ionic/p-83be404e.entry.js +0 -4
  896. package/dist/ionic/p-86f53961.entry.js +0 -4
  897. package/dist/ionic/p-94de5cfa.entry.js +0 -4
  898. package/dist/ionic/p-9575b654.entry.js +0 -4
  899. package/dist/ionic/p-98fc09eb.entry.js +0 -4
  900. package/dist/ionic/p-9eeaBrnk.js +0 -4
  901. package/dist/ionic/p-B0q1YL7N.js +0 -4
  902. package/dist/ionic/p-BFvmZNyx.js +0 -4
  903. package/dist/ionic/p-BKc55Xev.js +0 -4
  904. package/dist/ionic/p-BOVrCkpJ.js +0 -4
  905. package/dist/ionic/p-BYEqWnSg.js +0 -4
  906. package/dist/ionic/p-BmVRXR1y.js +0 -4
  907. package/dist/ionic/p-Bmgaetn_.js +0 -4
  908. package/dist/ionic/p-C7hRNDhM.js +0 -4
  909. package/dist/ionic/p-CIGNaXM1.js +0 -4
  910. package/dist/ionic/p-CTfR9YZG.js +0 -4
  911. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  912. package/dist/ionic/p-D-eFFUkA.js +0 -4
  913. package/dist/ionic/p-D87hU-Ly.js +0 -4
  914. package/dist/ionic/p-DCv9sLH2.js +0 -4
  915. package/dist/ionic/p-DDb5r57F.js +0 -4
  916. package/dist/ionic/p-DNcfiJwE.js +0 -4
  917. package/dist/ionic/p-DZRJwG4S.js +0 -4
  918. package/dist/ionic/p-QHYY4sjU.js +0 -4
  919. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  920. package/dist/ionic/p-a127bee2.entry.js +0 -4
  921. package/dist/ionic/p-a80f1b04.entry.js +0 -4
  922. package/dist/ionic/p-ac4eb91d.entry.js +0 -4
  923. package/dist/ionic/p-b0a7585c.entry.js +0 -4
  924. package/dist/ionic/p-b57c6d3e.entry.js +0 -4
  925. package/dist/ionic/p-c19f63d0.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.
@@ -1057,6 +1061,7 @@ export class Datetime {
1057
1061
  * are rendered independently of presentation.
1058
1062
  */
1059
1063
  renderFooter() {
1064
+ const theme = getIonTheme(this);
1060
1065
  const { disabled, readonly, showDefaultButtons, showClearButton } = this;
1061
1066
  /**
1062
1067
  * The cancel, clear, and confirm buttons
@@ -1064,6 +1069,7 @@ export class Datetime {
1064
1069
  * is disabled or readonly.
1065
1070
  */
1066
1071
  const isButtonDisabled = disabled || readonly;
1072
+ const confirmFill = theme === 'ionic' ? 'solid' : undefined;
1067
1073
  const hasSlottedButtons = this.el.querySelector('[slot="buttons"]') !== null;
1068
1074
  if (!hasSlottedButtons && !showDefaultButtons && !showClearButton) {
1069
1075
  return;
@@ -1082,7 +1088,7 @@ export class Datetime {
1082
1088
  return (h("div", { class: "datetime-footer" }, h("div", { class: "datetime-buttons" }, h("div", { class: {
1083
1089
  ['datetime-action-buttons']: true,
1084
1090
  ['has-clear-button']: this.showClearButton,
1085
- } }, 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)))))))));
1091
+ } }, 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)))))))));
1086
1092
  }
1087
1093
  /**
1088
1094
  * Wheel picker render methods
@@ -1333,10 +1339,8 @@ export class Datetime {
1333
1339
  /**
1334
1340
  * Grid Render Methods
1335
1341
  */
1336
- renderCalendarHeader(mode) {
1337
- const { disabled } = this;
1338
- const expandedIcon = mode === 'ios' ? chevronDown : caretUpSharp;
1339
- const collapsedIcon = mode === 'ios' ? chevronForward : caretDownSharp;
1342
+ renderCalendarHeader(theme) {
1343
+ const { disabled, datetimeNextIcon, datetimePreviousIcon, datetimeCollapsedIcon, datetimeExpandedIcon } = this;
1340
1344
  const prevMonthDisabled = disabled || isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
1341
1345
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
1342
1346
  // don't use the inheritAttributes util because it removes dir from the host, and we still need that
@@ -1345,7 +1349,7 @@ export class Datetime {
1345
1349
  'calendar-month-year-toggle': true,
1346
1350
  'ion-activatable': true,
1347
1351
  'ion-focusable': true,
1348
- }, 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) => {
1352
+ }, 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) => {
1349
1353
  return h("div", { class: "day-of-week" }, d);
1350
1354
  }))));
1351
1355
  }
@@ -1497,8 +1501,8 @@ export class Datetime {
1497
1501
  return this.renderMonth(month, year);
1498
1502
  })));
1499
1503
  }
1500
- renderCalendar(mode) {
1501
- return (h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(mode), this.renderCalendarBody()));
1504
+ renderCalendar(theme) {
1505
+ return (h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(theme), this.renderCalendarBody()));
1502
1506
  }
1503
1507
  renderTimeLabel() {
1504
1508
  const hasSlottedTimeLabel = this.el.querySelector('[slot="time-label"]') !== null;
@@ -1606,7 +1610,7 @@ export class Datetime {
1606
1610
  * Render entry point
1607
1611
  * All presentation types are rendered from here.
1608
1612
  */
1609
- renderDatetime(mode) {
1613
+ renderDatetime(theme) {
1610
1614
  const { presentation, preferWheel } = this;
1611
1615
  /**
1612
1616
  * Certain presentation types have separate grid and wheel displays.
@@ -1620,7 +1624,7 @@ export class Datetime {
1620
1624
  case 'date-time':
1621
1625
  return [
1622
1626
  this.renderHeader(),
1623
- this.renderCalendar(mode),
1627
+ this.renderCalendar(theme),
1624
1628
  this.renderCalendarViewMonthYearPicker(),
1625
1629
  this.renderTime(),
1626
1630
  this.renderFooter(),
@@ -1629,7 +1633,7 @@ export class Datetime {
1629
1633
  return [
1630
1634
  this.renderHeader(),
1631
1635
  this.renderTime(),
1632
- this.renderCalendar(mode),
1636
+ this.renderCalendar(theme),
1633
1637
  this.renderCalendarViewMonthYearPicker(),
1634
1638
  this.renderFooter(),
1635
1639
  ];
@@ -1642,23 +1646,95 @@ export class Datetime {
1642
1646
  default:
1643
1647
  return [
1644
1648
  this.renderHeader(),
1645
- this.renderCalendar(mode),
1649
+ this.renderCalendar(theme),
1646
1650
  this.renderCalendarViewMonthYearPicker(),
1647
1651
  this.renderFooter(),
1648
1652
  ];
1649
1653
  }
1650
1654
  }
1655
+ /**
1656
+ * Get the icon to use for the next icon.
1657
+ * Otherwise, use the icon set in the config.
1658
+ * If no icon is set in the config, use the default icon.
1659
+ */
1660
+ get datetimeNextIcon() {
1661
+ // Determine the theme and map to default icons
1662
+ const theme = getIonTheme(this);
1663
+ const defaultIcons = {
1664
+ ios: chevronForward,
1665
+ ionic: caretRightRegular,
1666
+ md: chevronForward,
1667
+ };
1668
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
1669
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
1670
+ // Return the configured datetime next icon or the default icon
1671
+ return config.get('datetimeNextIcon', defaultIcon);
1672
+ }
1673
+ /**
1674
+ * Get the icon to use for the previous icon.
1675
+ * Otherwise, use the icon set in the config.
1676
+ * If no icon is set in the config, use the default icon.
1677
+ */
1678
+ get datetimePreviousIcon() {
1679
+ // Determine the theme and map to default icons
1680
+ const theme = getIonTheme(this);
1681
+ const defaultIcons = {
1682
+ ios: chevronBack,
1683
+ ionic: caretLeftRegular,
1684
+ md: chevronBack,
1685
+ };
1686
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
1687
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
1688
+ // Return the configured datetime previous icon or the default icon
1689
+ return config.get('datetimePreviousIcon', defaultIcon);
1690
+ }
1691
+ /**
1692
+ * Get the icon to use for the show month and year icon.
1693
+ * Otherwise, use the icon set in the config.
1694
+ * If no icon is set in the config, use the default icon.
1695
+ */
1696
+ get datetimeCollapsedIcon() {
1697
+ // Determine the theme and map to default icons
1698
+ const theme = getIonTheme(this);
1699
+ const defaultIcons = {
1700
+ ios: chevronForward,
1701
+ ionic: undefined,
1702
+ md: caretDownSharp,
1703
+ };
1704
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
1705
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
1706
+ // Return the configured datetime show month and year icon or the default icon
1707
+ return config.get('datetimeCollapsedIcon', defaultIcon);
1708
+ }
1709
+ /**
1710
+ * Get the icon to use for the hide month and year icon.
1711
+ * Otherwise, use the icon set in the config.
1712
+ * If no icon is set in the config, use the default icon.
1713
+ */
1714
+ get datetimeExpandedIcon() {
1715
+ // Determine the theme and map to default icons
1716
+ const theme = getIonTheme(this);
1717
+ const defaultIcons = {
1718
+ ios: chevronDown,
1719
+ ionic: undefined,
1720
+ md: caretUpSharp,
1721
+ };
1722
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
1723
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
1724
+ // Return the configured datetime hide month and year icon or the default icon
1725
+ return config.get('datetimeExpandedIcon', defaultIcon);
1726
+ }
1651
1727
  render() {
1652
1728
  const { name, value, disabled, el, color, readonly, showMonthAndYear, preferWheel, presentation, size, isGridStyle, } = this;
1653
- const mode = getIonMode(this);
1729
+ const theme = getIonTheme(this);
1654
1730
  const isMonthAndYearPresentation = presentation === 'year' || presentation === 'month' || presentation === 'month-year';
1655
1731
  const shouldShowMonthAndYear = showMonthAndYear || isMonthAndYearPresentation;
1656
1732
  const monthYearPickerOpen = showMonthAndYear && !isMonthAndYearPresentation;
1657
1733
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1658
1734
  const hasWheelVariant = hasDatePresentation && preferWheel;
1659
1735
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1660
- return (h(Host, { key: '57492534800ea059a7c2bbd9f0059cc0b75ae8d2', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1661
- [mode]: true,
1736
+ return (h(Host, { key: 'd87c9e8d85ae7b1c8af3c8f266b76dd8d364a446', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1737
+ [theme]: true,
1662
1738
  ['datetime-readonly']: readonly,
1663
1739
  ['datetime-disabled']: disabled,
1664
1740
  'show-month-and-year': shouldShowMonthAndYear,
@@ -1667,20 +1743,22 @@ export class Datetime {
1667
1743
  [`datetime-size-${size}`]: true,
1668
1744
  [`datetime-prefer-wheel`]: hasWheelVariant,
1669
1745
  [`datetime-grid`]: isGridStyle,
1670
- })) }, h("div", { key: '97dac5e5195635ac0bc5fb472b9d09e5c3c6bbc3', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1746
+ })) }, h("div", { key: '4d2e7316268ebbadf79f00b5d85928bbeffd283d', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
1671
1747
  }
1672
1748
  static get is() { return "ion-datetime"; }
1673
1749
  static get encapsulation() { return "shadow"; }
1674
1750
  static get originalStyleUrls() {
1675
1751
  return {
1676
1752
  "ios": ["datetime.ios.scss"],
1677
- "md": ["datetime.md.scss"]
1753
+ "md": ["datetime.md.scss"],
1754
+ "ionic": ["datetime.ionic.scss"]
1678
1755
  };
1679
1756
  }
1680
1757
  static get styleUrls() {
1681
1758
  return {
1682
1759
  "ios": ["datetime.ios.css"],
1683
- "md": ["datetime.md.css"]
1760
+ "md": ["datetime.md.css"],
1761
+ "ionic": ["datetime.ionic.css"]
1684
1762
  };
1685
1763
  }
1686
1764
  static get properties() {