@ionic/core 8.8.14-dev.11784238294.131cd99d → 8.8.14-dev.11784563563.137a903a

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 (476) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-img.js +1 -1
  33. package/components/ion-infinite-scroll-content.js +1 -1
  34. package/components/ion-infinite-scroll.js +1 -1
  35. package/components/ion-input-otp.js +1 -1
  36. package/components/ion-input-password-toggle.js +1 -1
  37. package/components/ion-input.js +1 -1
  38. package/components/ion-item-divider.js +1 -1
  39. package/components/ion-item-group.js +1 -1
  40. package/components/ion-item-option.js +1 -1
  41. package/components/ion-item-options.js +1 -1
  42. package/components/ion-item-sliding.js +1 -1
  43. package/components/ion-item.js +1 -1
  44. package/components/ion-label.js +1 -1
  45. package/components/ion-list-header.js +1 -1
  46. package/components/ion-list.js +1 -1
  47. package/components/ion-loading.js +1 -1
  48. package/components/ion-menu-button.js +1 -1
  49. package/components/ion-menu-toggle.js +1 -1
  50. package/components/ion-menu.js +1 -1
  51. package/components/ion-modal.js +1 -1
  52. package/components/ion-nav.js +1 -1
  53. package/components/ion-note.js +1 -1
  54. package/components/ion-picker-column-option.js +1 -1
  55. package/components/ion-picker-column.js +1 -1
  56. package/components/ion-popover.js +1 -1
  57. package/components/ion-progress-bar.js +1 -1
  58. package/components/ion-radio-group.js +1 -1
  59. package/components/ion-radio.js +1 -1
  60. package/components/ion-range.js +1 -1
  61. package/components/ion-refresher-content.js +1 -1
  62. package/components/ion-refresher.js +1 -1
  63. package/components/ion-reorder-group.js +1 -1
  64. package/components/ion-reorder.js +1 -1
  65. package/components/ion-ripple-effect.js +1 -1
  66. package/components/ion-router-link.js +1 -1
  67. package/components/ion-router-outlet.js +1 -1
  68. package/components/ion-router.js +1 -1
  69. package/components/ion-row.js +1 -1
  70. package/components/ion-searchbar.js +1 -1
  71. package/components/ion-segment-button.js +1 -1
  72. package/components/ion-segment-content.js +1 -1
  73. package/components/ion-segment-view.js +1 -1
  74. package/components/ion-segment.js +1 -1
  75. package/components/ion-select-modal.js +1 -1
  76. package/components/ion-select-option.js +1 -1
  77. package/components/ion-select-popover.js +1 -1
  78. package/components/ion-select.js +1 -1
  79. package/components/ion-skeleton-text.js +1 -1
  80. package/components/ion-spinner.js +1 -1
  81. package/components/ion-split-pane.js +1 -1
  82. package/components/ion-tab-bar.js +1 -1
  83. package/components/ion-tab-button.js +1 -1
  84. package/components/ion-tab.js +1 -1
  85. package/components/ion-tabs.js +1 -1
  86. package/components/ion-text.js +1 -1
  87. package/components/ion-textarea.js +1 -1
  88. package/components/ion-thumbnail.js +1 -1
  89. package/components/ion-title.js +1 -1
  90. package/components/ion-toast.js +1 -1
  91. package/components/ion-toggle.js +1 -1
  92. package/components/ion-toolbar.js +1 -1
  93. package/components/{p-BLmJ0zRm.js → p-8cRBED2y.js} +1 -1
  94. package/components/{p-BSEgsdFI.js → p-B5Ia5kbJ.js} +1 -1
  95. package/components/p-BG9RNTmW.js +4 -0
  96. package/components/p-BSQPZ79H.js +4 -0
  97. package/components/p-BnTB62Lu.js +4 -0
  98. package/components/p-BwKpO3Is.js +4 -0
  99. package/components/p-CEktCi-l.js +4 -0
  100. package/components/{p-B60hm8Qv.js → p-CHdYfvVx.js} +1 -1
  101. package/components/{p-B9jFTlwE.js → p-CPa2WmW7.js} +1 -1
  102. package/components/{p-BnqQlm7c.js → p-CYhGN6l4.js} +1 -1
  103. package/components/{p-ryqmO0B-.js → p-CbJDPICP.js} +1 -1
  104. package/components/{p-rCa2eL0j.js → p-CtQ-1ZRt.js} +1 -1
  105. package/components/p-CwcD5kE9.js +4 -0
  106. package/components/{p--JUspHvy.js → p-CyFtf1Mm.js} +1 -1
  107. package/components/{p-DqZAXv2t.js → p-CzuRCorP.js} +1 -1
  108. package/components/{p-j5IxBIan.js → p-D-lHU3L1.js} +1 -1
  109. package/components/p-D1-tlI3U.js +4 -0
  110. package/components/p-D2D6VdCA.js +4 -0
  111. package/components/{p-BHrrc-3d.js → p-D355UF9s.js} +1 -1
  112. package/components/{p-5bE_Wz4Y.js → p-DEI720fP.js} +1 -1
  113. package/components/p-DK0D_QD_.js +4 -0
  114. package/components/p-DXTfY6aF.js +4 -0
  115. package/components/{p-Cfx4M1Bn.js → p-DfjhtfFw.js} +1 -1
  116. package/components/{p-CI3ncNZm.js → p-Dg1a5T1q.js} +1 -1
  117. package/components/{p-lE_JGpHD.js → p-Ds1Brlka.js} +1 -1
  118. package/components/p-Dtmv7Nm_.js +4 -0
  119. package/components/{p-BirPFsRD.js → p-Dy5czMtc.js} +1 -1
  120. package/components/p-FV45cfy9.js +4 -0
  121. package/components/p-LMGfIvTf.js +4 -0
  122. package/components/{p-CSZf8_j0.js → p-XX59Wsi5.js} +1 -1
  123. package/components/p-jOtMJMv8.js +4 -0
  124. package/components/p-xjzudrQv.js +4 -0
  125. package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-7VMuu6PT.js} +1 -1
  126. package/dist/cjs/config-DWdFbSNK.js +35 -0
  127. package/dist/cjs/index-Cueg3U4w.js +429 -0
  128. package/dist/cjs/{index-aC4x3Fk3.js → index-IPWmFzOn.js} +1 -1
  129. package/dist/cjs/index.cjs.js +7 -7
  130. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  131. package/dist/cjs/ion-action-sheet.cjs.entry.js +28 -8
  132. package/dist/cjs/ion-alert.cjs.entry.js +65 -26
  133. package/dist/cjs/ion-app_8.cjs.entry.js +24 -10
  134. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  135. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  136. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  137. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  138. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  139. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  140. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  141. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  142. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  143. package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -11
  144. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +13 -657
  145. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  146. package/dist/cjs/ion-img.cjs.entry.js +4 -2
  147. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -3
  148. package/dist/cjs/ion-input-otp.cjs.entry.js +1 -1
  149. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
  150. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  151. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  152. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  153. package/dist/cjs/ion-loading.cjs.entry.js +11 -6
  154. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  155. package/dist/cjs/ion-modal.cjs.entry.js +24 -33
  156. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -116
  157. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -10
  158. package/dist/cjs/ion-picker-column.cjs.entry.js +5 -11
  159. package/dist/cjs/ion-popover.cjs.entry.js +10 -6
  160. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  161. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  162. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  163. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -6
  164. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  165. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  166. package/dist/cjs/ion-route_4.cjs.entry.js +19 -5
  167. package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
  168. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  169. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  170. package/dist/cjs/ion-segment_2.cjs.entry.js +5 -5
  171. package/dist/cjs/ion-select-modal.cjs.entry.js +85 -31
  172. package/dist/cjs/ion-select_3.cjs.entry.js +408 -50
  173. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  174. package/dist/cjs/ion-split-pane.cjs.entry.js +3 -3
  175. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
  176. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  177. package/dist/cjs/ion-text.cjs.entry.js +3 -3
  178. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  179. package/dist/cjs/ion-toast.cjs.entry.js +7 -6
  180. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  181. package/dist/cjs/{ionic-global-B-cA6LkY.js → ionic-global-CbxQmwkf.js} +2 -2
  182. package/dist/cjs/ionic.cjs.js +3 -3
  183. package/dist/cjs/loader.cjs.js +3 -3
  184. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  185. package/dist/cjs/{overlays-DdtIYQUH.js → overlays-DXnnHORC.js} +28 -32
  186. package/dist/cjs/select-option-render-DTF50t5r.js +124 -0
  187. package/dist/collection/collection-manifest.json +6 -10
  188. package/dist/collection/components/action-sheet/action-sheet.ios.css +229 -2
  189. package/dist/collection/components/action-sheet/action-sheet.js +24 -5
  190. package/dist/collection/components/action-sheet/action-sheet.md.css +175 -2
  191. package/dist/collection/components/alert/alert.ios.css +280 -10
  192. package/dist/collection/components/alert/alert.js +59 -21
  193. package/dist/collection/components/alert/alert.md.css +269 -20
  194. package/dist/collection/components/datetime/datetime.ios.css +42 -2
  195. package/dist/collection/components/datetime/datetime.js +10 -17
  196. package/dist/collection/components/datetime/datetime.md.css +42 -1
  197. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
  198. package/dist/collection/components/datetime-button/datetime-button.js +3 -10
  199. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
  200. package/dist/collection/components/img/img.js +6 -1
  201. package/dist/collection/components/input/input.js +8 -8
  202. package/dist/collection/components/loading/loading.js +7 -3
  203. package/dist/collection/components/modal/gestures/sheet.js +0 -7
  204. package/dist/collection/components/modal/gestures/swipe-to-close.js +0 -7
  205. package/dist/collection/components/modal/modal.ios.css +0 -8
  206. package/dist/collection/components/modal/modal.js +23 -18
  207. package/dist/collection/components/modal/modal.md.css +0 -8
  208. package/dist/collection/components/nav/nav.js +4 -219
  209. package/dist/collection/components/picker-column/picker-column.css +3 -0
  210. package/dist/collection/components/picker-column/picker-column.js +4 -11
  211. package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
  212. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
  213. package/dist/collection/components/popover/popover.ios.css +15 -0
  214. package/dist/collection/components/popover/popover.js +7 -3
  215. package/dist/collection/components/popover/popover.md.css +15 -0
  216. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  217. package/dist/collection/components/radio/radio.js +4 -4
  218. package/dist/collection/components/range/range.js +3 -3
  219. package/dist/collection/components/refresher/refresher.js +1 -1
  220. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  221. package/dist/collection/components/reorder/reorder.js +1 -1
  222. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  223. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  224. package/dist/collection/components/route/route.js +1 -1
  225. package/dist/collection/components/router/utils/dom.js +22 -3
  226. package/dist/collection/components/router-link/router-link.js +2 -2
  227. package/dist/collection/components/router-outlet/router-outlet.js +38 -5
  228. package/dist/collection/components/row/row.js +1 -1
  229. package/dist/collection/components/searchbar/searchbar.js +9 -9
  230. package/dist/collection/components/segment/segment.js +2 -2
  231. package/dist/collection/components/segment-button/segment-button.js +2 -2
  232. package/dist/collection/components/segment-content/segment-content.js +1 -1
  233. package/dist/collection/components/segment-view/segment-view.js +2 -2
  234. package/dist/collection/components/select/select.ios.css +33 -0
  235. package/dist/collection/components/select/select.js +323 -16
  236. package/dist/collection/components/select/select.md.css +33 -0
  237. package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
  238. package/dist/collection/components/select-modal/select-modal.js +79 -26
  239. package/dist/collection/components/select-modal/select-modal.md.css +165 -0
  240. package/dist/collection/components/select-option/select-option.js +67 -3
  241. package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
  242. package/dist/collection/components/select-popover/select-popover.js +78 -26
  243. package/dist/collection/components/select-popover/select-popover.md.css +165 -0
  244. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  245. package/dist/collection/components/spinner/spinner.js +1 -1
  246. package/dist/collection/components/split-pane/split-pane.js +2 -2
  247. package/dist/collection/components/tab/tab.js +2 -2
  248. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  249. package/dist/collection/components/tab-button/tab-button.js +2 -2
  250. package/dist/collection/components/tabs/tabs.js +1 -1
  251. package/dist/collection/components/text/text.js +2 -2
  252. package/dist/collection/components/textarea/textarea.js +2 -2
  253. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  254. package/dist/collection/components/title/title.js +2 -2
  255. package/dist/collection/components/toast/toast.js +2 -2
  256. package/dist/collection/components/toggle/toggle.js +3 -3
  257. package/dist/collection/components/toolbar/toolbar.js +2 -2
  258. package/dist/collection/index.js +1 -1
  259. package/dist/collection/utils/overlay-control-label.js +45 -0
  260. package/dist/collection/utils/overlays.js +26 -30
  261. package/dist/collection/utils/platform.js +2 -2
  262. package/dist/collection/utils/sanitization/index.js +274 -18
  263. package/dist/collection/utils/select-option-render.js +119 -0
  264. package/dist/collection/utils/test/playwright/drag-element.js +0 -5
  265. package/dist/docs.json +556 -1272
  266. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-DNgPBV1i.js} +1 -1
  267. package/dist/esm/config-BwKpO3Is.js +31 -0
  268. package/dist/esm/{index-Q6UPU0Ay.js → index-0f4UTH6Z.js} +1 -1
  269. package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
  270. package/dist/esm/index-DQSkZyOJ.js +424 -0
  271. package/dist/esm/index.js +5 -4
  272. package/dist/esm/ion-accordion_2.entry.js +2 -2
  273. package/dist/esm/ion-action-sheet.entry.js +28 -8
  274. package/dist/esm/ion-alert.entry.js +64 -25
  275. package/dist/esm/ion-app_8.entry.js +24 -10
  276. package/dist/esm/ion-avatar_3.entry.js +2 -2
  277. package/dist/esm/ion-back-button.entry.js +2 -2
  278. package/dist/esm/ion-backdrop.entry.js +1 -1
  279. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  280. package/dist/esm/ion-button_2.entry.js +1 -1
  281. package/dist/esm/ion-card_5.entry.js +1 -1
  282. package/dist/esm/ion-checkbox.entry.js +1 -1
  283. package/dist/esm/ion-chip.entry.js +1 -1
  284. package/dist/esm/ion-col_3.entry.js +2 -2
  285. package/dist/esm/ion-datetime-button.entry.js +5 -11
  286. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +17 -659
  287. package/dist/esm/ion-fab_3.entry.js +2 -2
  288. package/dist/esm/ion-img.entry.js +5 -3
  289. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -2
  290. package/dist/esm/ion-input-otp.entry.js +1 -1
  291. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  292. package/dist/esm/ion-input.entry.js +6 -6
  293. package/dist/esm/ion-item-option_3.entry.js +1 -1
  294. package/dist/esm/ion-item_8.entry.js +4 -4
  295. package/dist/esm/ion-loading.entry.js +10 -5
  296. package/dist/esm/ion-menu_3.entry.js +4 -4
  297. package/dist/esm/ion-modal.entry.js +24 -33
  298. package/dist/esm/ion-nav_2.entry.js +4 -117
  299. package/dist/esm/ion-picker-column-option.entry.js +4 -10
  300. package/dist/esm/ion-picker-column.entry.js +5 -11
  301. package/dist/esm/ion-popover.entry.js +10 -6
  302. package/dist/esm/ion-progress-bar.entry.js +2 -2
  303. package/dist/esm/ion-radio_2.entry.js +4 -4
  304. package/dist/esm/ion-range.entry.js +4 -4
  305. package/dist/esm/ion-refresher_2.entry.js +6 -5
  306. package/dist/esm/ion-reorder_2.entry.js +4 -4
  307. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  308. package/dist/esm/ion-route_4.entry.js +19 -5
  309. package/dist/esm/ion-searchbar.entry.js +7 -7
  310. package/dist/esm/ion-segment-content.entry.js +1 -1
  311. package/dist/esm/ion-segment-view.entry.js +2 -2
  312. package/dist/esm/ion-segment_2.entry.js +5 -5
  313. package/dist/esm/ion-select-modal.entry.js +85 -31
  314. package/dist/esm/ion-select_3.entry.js +411 -53
  315. package/dist/esm/ion-spinner.entry.js +2 -2
  316. package/dist/esm/ion-split-pane.entry.js +3 -3
  317. package/dist/esm/ion-tab-bar_2.entry.js +5 -5
  318. package/dist/esm/ion-tab_2.entry.js +3 -3
  319. package/dist/esm/ion-text.entry.js +3 -3
  320. package/dist/esm/ion-textarea.entry.js +3 -3
  321. package/dist/esm/ion-toast.entry.js +6 -5
  322. package/dist/esm/ion-toggle.entry.js +5 -5
  323. package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-pMW1XhFZ.js} +2 -2
  324. package/dist/esm/ionic.js +3 -3
  325. package/dist/esm/loader.js +3 -3
  326. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  327. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DVgWBV3s.js} +29 -33
  328. package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
  329. package/dist/html.html-data.json +52 -80
  330. package/dist/ionic/index.esm.js +1 -1
  331. package/dist/ionic/ionic.esm.js +1 -1
  332. package/dist/ionic/{p-d889ff6d.entry.js → p-06cef0c6.entry.js} +1 -1
  333. package/dist/ionic/{p-c6e49f3f.entry.js → p-0be097d7.entry.js} +1 -1
  334. package/dist/ionic/{p-dfa8d673.entry.js → p-0e7de053.entry.js} +1 -1
  335. package/dist/ionic/p-129d3ed9.entry.js +4 -0
  336. package/dist/ionic/p-1d9e649a.entry.js +4 -0
  337. package/dist/ionic/p-2b3a2a38.entry.js +4 -0
  338. package/dist/ionic/{p-0fa9c382.entry.js → p-306b2e91.entry.js} +1 -1
  339. package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
  340. package/dist/ionic/{p-37e720da.entry.js → p-34c8f2dc.entry.js} +1 -1
  341. package/dist/ionic/{p-e0be05c5.entry.js → p-3ce3a59d.entry.js} +1 -1
  342. package/dist/ionic/p-3d719e91.entry.js +4 -0
  343. package/dist/ionic/{p-3a7d1e91.entry.js → p-408afa6d.entry.js} +1 -1
  344. package/dist/ionic/{p-9a65ac7f.entry.js → p-426130ad.entry.js} +1 -1
  345. package/dist/ionic/p-5599e1e1.entry.js +4 -0
  346. package/dist/ionic/{p-75dc25ba.entry.js → p-567b25e9.entry.js} +1 -1
  347. package/dist/ionic/p-570a212e.entry.js +4 -0
  348. package/dist/ionic/{p-4858af1f.entry.js → p-656e8181.entry.js} +1 -1
  349. package/dist/ionic/p-686de5dc.entry.js +4 -0
  350. package/dist/ionic/{p-b6a7397c.entry.js → p-694aa5fc.entry.js} +1 -1
  351. package/dist/ionic/p-73d06afe.entry.js +4 -0
  352. package/dist/ionic/{p-34586ead.entry.js → p-79054426.entry.js} +1 -1
  353. package/dist/ionic/{p-9f1103ce.entry.js → p-79b2abe6.entry.js} +1 -1
  354. package/dist/ionic/p-7cb5cf53.entry.js +4 -0
  355. package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
  356. package/dist/ionic/p-845eb5d5.entry.js +4 -0
  357. package/dist/ionic/p-88f33e44.entry.js +4 -0
  358. package/dist/ionic/p-89c9c057.entry.js +4 -0
  359. package/dist/ionic/{p-c4d8641b.entry.js → p-8c4bdd70.entry.js} +1 -1
  360. package/dist/ionic/{p-a3bdcae6.entry.js → p-8c898f59.entry.js} +1 -1
  361. package/dist/ionic/p-8cde6208.entry.js +4 -0
  362. package/dist/ionic/{p-5d1da0a2.entry.js → p-9366f06d.entry.js} +1 -1
  363. package/dist/ionic/p-9a29ba8c.entry.js +4 -0
  364. package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
  365. package/dist/ionic/p-BDtODLZ4.js +4 -0
  366. package/dist/ionic/p-BSQPZ79H.js +4 -0
  367. package/dist/ionic/p-BwKpO3Is.js +4 -0
  368. package/dist/ionic/p-CGqbOURp.js +4 -0
  369. package/dist/ionic/{p-KjNvRoEp.js → p-D9iu80E_.js} +1 -1
  370. package/dist/ionic/p-DCOvXkOm.js +4 -0
  371. package/dist/ionic/p-DZigX5id.js +4 -0
  372. package/dist/ionic/p-DeSfrUWZ.js +4 -0
  373. package/dist/ionic/{p-84d5ce05.entry.js → p-a1448991.entry.js} +1 -1
  374. package/dist/ionic/{p-390ca786.entry.js → p-a256aeb6.entry.js} +1 -1
  375. package/dist/ionic/{p-8c8eee7d.entry.js → p-aeff523a.entry.js} +1 -1
  376. package/dist/ionic/{p-8eb8ee76.entry.js → p-b2f15bd0.entry.js} +1 -1
  377. package/dist/ionic/p-b7737b44.entry.js +4 -0
  378. package/dist/ionic/p-ba99d16b.entry.js +4 -0
  379. package/dist/ionic/{p-ef4c3bee.entry.js → p-cdfe2531.entry.js} +1 -1
  380. package/dist/ionic/p-cf68f89c.entry.js +4 -0
  381. package/dist/ionic/p-d183a4ba.entry.js +4 -0
  382. package/dist/ionic/p-d57560ff.entry.js +4 -0
  383. package/dist/ionic/p-d5be2815.entry.js +4 -0
  384. package/dist/ionic/{p-874b4bd8.entry.js → p-d6d91a44.entry.js} +1 -1
  385. package/dist/ionic/{p-4745f534.entry.js → p-e3842b54.entry.js} +1 -1
  386. package/dist/ionic/{p-3ae5f277.entry.js → p-e56b1836.entry.js} +1 -1
  387. package/dist/ionic/p-f09f9642.entry.js +4 -0
  388. package/dist/ionic/p-f2ae690a.entry.js +4 -0
  389. package/dist/ionic/{p-3a126bca.entry.js → p-f5b104d9.entry.js} +1 -1
  390. package/dist/ionic/p-f88310b9.entry.js +4 -0
  391. package/dist/ionic/p-fd4e56cd.entry.js +4 -0
  392. package/dist/types/components/img/img.d.ts +2 -0
  393. package/dist/types/components/input/input.d.ts +1 -1
  394. package/dist/types/components/modal/modal.d.ts +11 -4
  395. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  396. package/dist/types/components/nav/nav.d.ts +2 -22
  397. package/dist/types/components/route/route.d.ts +1 -1
  398. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  399. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  400. package/dist/types/components/select/select-interface.d.ts +31 -0
  401. package/dist/types/components/select/select.d.ts +18 -0
  402. package/dist/types/components/select-option/select-option.d.ts +42 -1
  403. package/dist/types/components.d.ts +74 -311
  404. package/dist/types/index.d.ts +1 -1
  405. package/dist/types/interface.d.ts +0 -1
  406. package/dist/types/utils/config.d.ts +0 -8
  407. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  408. package/dist/types/utils/overlays.d.ts +11 -9
  409. package/dist/types/utils/sanitization/index.d.ts +58 -2
  410. package/dist/types/utils/select-option-render.d.ts +53 -0
  411. package/hydrate/index.js +1355 -1261
  412. package/hydrate/index.mjs +1355 -1261
  413. package/package.json +37 -5
  414. package/components/ion-picker-legacy-column.d.ts +0 -11
  415. package/components/ion-picker-legacy-column.js +0 -4
  416. package/components/ion-picker-legacy.d.ts +0 -11
  417. package/components/ion-picker-legacy.js +0 -4
  418. package/components/p-BIPPbW0M.js +0 -4
  419. package/components/p-BUYFy35a.js +0 -4
  420. package/components/p-BWEZufiK.js +0 -4
  421. package/components/p-BjfgFSSR.js +0 -4
  422. package/components/p-BqpciLfi.js +0 -4
  423. package/components/p-BsPelv04.js +0 -4
  424. package/components/p-BsQPAqo9.js +0 -4
  425. package/components/p-CRNiQiYf.js +0 -4
  426. package/components/p-CU5rbWAW.js +0 -4
  427. package/components/p-DOFCbuQR.js +0 -4
  428. package/components/p-W5nO8mX_.js +0 -4
  429. package/components/p-k_E4tX5Z.js +0 -4
  430. package/components/p-nyXeHk23.js +0 -4
  431. package/dist/cjs/config-xninhj0J.js +0 -201
  432. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  433. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  434. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  435. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  436. package/dist/collection/components/picker-legacy/picker.js +0 -890
  437. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  438. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  439. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  440. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  441. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  442. package/dist/esm/config-DQCONYYp.js +0 -195
  443. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  444. package/dist/ionic/p-06c232a4.entry.js +0 -4
  445. package/dist/ionic/p-0dc33652.entry.js +0 -4
  446. package/dist/ionic/p-20b1a044.entry.js +0 -4
  447. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  448. package/dist/ionic/p-27d30585.entry.js +0 -4
  449. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  450. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  451. package/dist/ionic/p-485fda23.entry.js +0 -4
  452. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  453. package/dist/ionic/p-5018dfc8.entry.js +0 -4
  454. package/dist/ionic/p-50e1194a.entry.js +0 -4
  455. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  456. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  457. package/dist/ionic/p-6ebdbebe.entry.js +0 -4
  458. package/dist/ionic/p-8fce95d5.entry.js +0 -4
  459. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  460. package/dist/ionic/p-D-3ycHmd.js +0 -4
  461. package/dist/ionic/p-DzWaWHGc.js +0 -4
  462. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  463. package/dist/ionic/p-SNAkTDfm.js +0 -4
  464. package/dist/ionic/p-a21add2f.entry.js +0 -4
  465. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  466. package/dist/ionic/p-c38b648e.entry.js +0 -4
  467. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  468. package/dist/ionic/p-e6a4bb56.entry.js +0 -4
  469. package/dist/ionic/p-ec090e0a.entry.js +0 -4
  470. package/dist/ionic/p-f386f6ae.entry.js +0 -4
  471. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  472. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  473. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  474. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  475. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  476. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
@@ -1,3 +1,168 @@
1
+ /**
2
+ * A heuristic that applies CSS to tablet
3
+ * viewports.
4
+ *
5
+ * Usage:
6
+ * @include tablet-viewport() {
7
+ * :host {
8
+ * background-color: green;
9
+ * }
10
+ * }
11
+ */
12
+ /**
13
+ * A heuristic that applies CSS to mobile
14
+ * viewports (i.e. phones, not tablets).
15
+ *
16
+ * Usage:
17
+ * @include mobile-viewport() {
18
+ * :host {
19
+ * background-color: blue;
20
+ * }
21
+ * }
22
+ */
23
+ /**
24
+ * Convert a font size to a dynamic font size.
25
+ * Fonts that participate in Dynamic Type should use
26
+ * dynamic font sizes.
27
+ * @param size - The initial font size including the unit (i.e. px or pt)
28
+ * @param unit (optional) - The unit to convert 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
+ * a maximum font size.
34
+ * @param size - The initial font size including the unit (i.e. px or pt)
35
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
36
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
37
+ * convert to a unit other than $baselineUnit.
38
+ */
39
+ /**
40
+ * Convert a font size to a dynamic font size but impose
41
+ * a minimum font size.
42
+ * @param size - The initial font size including the unit (i.e. px or pt)
43
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
44
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
45
+ * convert to a unit other than $baselineUnit.
46
+ */
47
+ /**
48
+ * Convert a font size to a dynamic font size but impose
49
+ * maximum and minimum font sizes.
50
+ * @param size - The initial font size including the unit (i.e. px or pt)
51
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
52
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
53
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
54
+ * convert to a unit other than $baselineUnit.
55
+ */
56
+ .action-sheet-button-label-has-rich-content,
57
+ .alert-radio-label-has-rich-content,
58
+ .alert-checkbox-label-has-rich-content,
59
+ .select-option-label-has-rich-content {
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 16px;
63
+ }
64
+
65
+ /**
66
+ * Outer label container has rich content
67
+ * (start, content, description, end) that needs the
68
+ * label to span the available row width.
69
+ */
70
+ .action-sheet-button-label-has-rich-content,
71
+ .alert-radio-label-has-rich-content,
72
+ .alert-checkbox-label-has-rich-content,
73
+ .select-option-content {
74
+ flex: 1;
75
+ }
76
+
77
+ .action-sheet-button-label-text,
78
+ .alert-checkbox-label-text,
79
+ .alert-radio-label-text,
80
+ .select-option-label-text {
81
+ display: flex;
82
+ align-items: center;
83
+ gap: 12px;
84
+ }
85
+
86
+ .select-option-start,
87
+ .select-option-end {
88
+ display: flex;
89
+ align-items: center;
90
+ gap: 8px;
91
+ }
92
+
93
+ .select-option-description {
94
+ padding-left: 0;
95
+ padding-right: 0;
96
+ padding-top: 5px;
97
+ padding-bottom: 0;
98
+ display: block;
99
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
100
+ font-size: 0.75rem;
101
+ }
102
+
103
+ /**
104
+ * Non-rich labels are plain text and should ellipsize when they
105
+ * overflow the row. Rich-content labels switch to flex so the
106
+ * start / content / end pieces can lay out side-by-side and wrap.
107
+ */
108
+ .select-option-label:not(.select-option-label-has-rich-content) {
109
+ text-overflow: ellipsis;
110
+ white-space: nowrap;
111
+ overflow: hidden;
112
+ }
113
+
114
+ .select-option-label-has-rich-content {
115
+ display: flex;
116
+ align-items: center;
117
+ }
118
+
119
+ ion-radio.select-option-has-rich-content::part(label),
120
+ ion-checkbox.select-option-has-rich-content::part(label),
121
+ .select-option-content {
122
+ flex: 1;
123
+ /**
124
+ * Let rich content wrap instead of inheriting the label part's
125
+ * single-line truncation, so arbitrary slotted elements render
126
+ * without clipping.
127
+ */
128
+ white-space: normal;
129
+ }
130
+
131
+ /**
132
+ * Cap slotted children so they can't stretch the option
133
+ * row out of proportion, keeping rows visually uniform
134
+ * regardless of the content.
135
+ */
136
+ .select-option-start > ion-avatar,
137
+ .select-option-end > ion-avatar {
138
+ width: 40px;
139
+ height: 40px;
140
+ }
141
+
142
+ .select-option-start > ion-icon,
143
+ .select-option-end > ion-icon {
144
+ width: 24px;
145
+ height: 24px;
146
+ }
147
+
148
+ .select-option-start > ion-img,
149
+ .select-option-start > img,
150
+ .select-option-start > svg,
151
+ .select-option-start > ion-thumbnail,
152
+ .select-option-end > ion-img,
153
+ .select-option-end > img,
154
+ .select-option-end > svg,
155
+ .select-option-end > ion-thumbnail {
156
+ width: 56px;
157
+ height: 56px;
158
+ }
159
+
160
+ .select-option-start > video,
161
+ .select-option-end > video {
162
+ width: 114px;
163
+ height: 56px;
164
+ }
165
+
1
166
  /**
2
167
  * Convert a font size to a dynamic font size.
3
168
  * Fonts that participate in Dynamic Type should use
@@ -242,6 +407,39 @@
242
407
  min-height: inherit;
243
408
  }
244
409
 
410
+ /**
411
+ * Label is on the right of the radio in LTR and
412
+ * on the left in RTL.
413
+ */
414
+ .radio-label-placement-start,
415
+ .checkbox-label-placement-start {
416
+ flex-direction: row-reverse;
417
+ }
418
+
419
+ /**
420
+ * Label is on the left of the radio in LTR and
421
+ * on the right in RTL.
422
+ */
423
+ .radio-label-placement-end,
424
+ .checkbox-label-placement-end {
425
+ flex-direction: row;
426
+ }
427
+
428
+ .radio-justify-start,
429
+ .checkbox-justify-start {
430
+ justify-content: start;
431
+ }
432
+
433
+ .radio-justify-end,
434
+ .checkbox-justify-end {
435
+ justify-content: end;
436
+ }
437
+
438
+ .radio-justify-space-between,
439
+ .checkbox-justify-space-between {
440
+ justify-content: space-between;
441
+ }
442
+
245
443
  .alert-input-disabled,
246
444
  .alert-checkbox-button-disabled .alert-button-inner,
247
445
  .alert-radio-button-disabled .alert-button-inner {
@@ -419,10 +617,10 @@ textarea.alert-input {
419
617
  }
420
618
 
421
619
  .alert-head {
422
- -webkit-padding-start: 23px;
423
- padding-inline-start: 23px;
424
- -webkit-padding-end: 23px;
425
- padding-inline-end: 23px;
620
+ -webkit-padding-start: 24px;
621
+ padding-inline-start: 24px;
622
+ -webkit-padding-end: 24px;
623
+ padding-inline-end: 24px;
426
624
  padding-top: 20px;
427
625
  padding-bottom: 15px;
428
626
  text-align: start;
@@ -522,30 +720,56 @@ textarea.alert-input {
522
720
  }
523
721
 
524
722
  .alert-radio-label {
525
- -webkit-padding-start: 52px;
526
- padding-inline-start: 52px;
527
- -webkit-padding-end: 26px;
528
- padding-inline-end: 26px;
529
723
  padding-top: 13px;
530
724
  padding-bottom: 13px;
531
- flex: 1;
725
+ max-width: calc(100% - 20px);
532
726
  color: var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));
533
727
  font-size: 1rem;
534
728
  }
535
729
 
730
+ .radio-label-placement-end .alert-radio-label {
731
+ /**
732
+ * The label's inline padding clears space for the icon on the icon's side.
733
+ * When the label is placed at the end, the icon is at the start, so the
734
+ * larger padding clears it on the start side.
735
+ */
736
+ -webkit-padding-start: 56px;
737
+ padding-inline-start: 56px;
738
+ -webkit-padding-end: 24px;
739
+ padding-inline-end: 24px;
740
+ }
741
+
742
+ .radio-label-placement-start .alert-radio-label {
743
+ /**
744
+ * The label's inline padding clears space for the icon on the icon's side.
745
+ * When the label is placed at the start, the icon is at the end, so the
746
+ * larger padding clears it on the end side.
747
+ */
748
+ -webkit-padding-start: 24px;
749
+ padding-inline-start: 24px;
750
+ -webkit-padding-end: 56px;
751
+ padding-inline-end: 56px;
752
+ }
753
+
536
754
  .alert-radio-icon {
537
755
  top: 0;
538
756
  border-radius: 50%;
539
757
  display: block;
540
758
  position: relative;
759
+ flex-shrink: 0;
541
760
  width: 20px;
542
761
  height: 20px;
543
762
  border-width: 2px;
544
763
  border-style: solid;
545
764
  border-color: var(--ion-color-step-550, var(--ion-background-color-step-550, #737373));
546
765
  }
547
- .alert-radio-icon {
548
- inset-inline-start: 26px;
766
+
767
+ .radio-label-placement-end .alert-radio-icon {
768
+ inset-inline-start: 24px;
769
+ }
770
+
771
+ .radio-label-placement-start .alert-radio-icon {
772
+ inset-inline-end: 24px;
549
773
  }
550
774
 
551
775
  .alert-radio-inner {
@@ -575,22 +799,42 @@ textarea.alert-input {
575
799
  }
576
800
 
577
801
  .alert-checkbox-label {
578
- -webkit-padding-start: 53px;
579
- padding-inline-start: 53px;
580
- -webkit-padding-end: 26px;
581
- padding-inline-end: 26px;
582
802
  padding-top: 13px;
583
803
  padding-bottom: 13px;
584
- flex: 1;
585
- width: calc(100% - 53px);
804
+ max-width: calc(100% - 16px);
586
805
  color: var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));
587
806
  font-size: 1rem;
588
807
  }
589
808
 
809
+ .checkbox-label-placement-end .alert-checkbox-label {
810
+ /**
811
+ * The label's inline padding clears space for the icon on the icon's side.
812
+ * When the label is placed at the end, the icon is at the start, so the
813
+ * larger padding clears it on the start side.
814
+ */
815
+ -webkit-padding-start: 56px;
816
+ padding-inline-start: 56px;
817
+ -webkit-padding-end: 24px;
818
+ padding-inline-end: 24px;
819
+ }
820
+
821
+ .checkbox-label-placement-start .alert-checkbox-label {
822
+ /**
823
+ * The label's inline padding clears space for the icon on the icon's side.
824
+ * When the label is placed at the start, the icon is at the end, so the
825
+ * larger padding clears it on the end side.
826
+ */
827
+ -webkit-padding-start: 24px;
828
+ padding-inline-start: 24px;
829
+ -webkit-padding-end: 56px;
830
+ padding-inline-end: 56px;
831
+ }
832
+
590
833
  .alert-checkbox-icon {
591
834
  top: 0;
592
835
  border-radius: 2px;
593
836
  position: relative;
837
+ flex-shrink: 0;
594
838
  width: 16px;
595
839
  height: 16px;
596
840
  border-width: 2px;
@@ -598,8 +842,13 @@ textarea.alert-input {
598
842
  border-color: var(--ion-color-step-550, var(--ion-background-color-step-550, #737373));
599
843
  contain: strict;
600
844
  }
601
- .alert-checkbox-icon {
602
- inset-inline-start: 26px;
845
+
846
+ .checkbox-label-placement-end .alert-checkbox-icon {
847
+ inset-inline-start: 24px;
848
+ }
849
+
850
+ .checkbox-label-placement-start .alert-checkbox-icon {
851
+ inset-inline-end: 24px;
603
852
  }
604
853
 
605
854
  [aria-checked=true] .alert-checkbox-icon {
@@ -658,7 +907,7 @@ textarea.alert-input {
658
907
  overflow: hidden;
659
908
  }
660
909
 
661
- .alert-button-inner {
910
+ .alert-button-group .alert-button-inner {
662
911
  justify-content: flex-end;
663
912
  }
664
913
 
@@ -218,6 +218,10 @@
218
218
  justify-content: space-between;
219
219
  }
220
220
 
221
+ :host .datetime-action-buttons ion-button {
222
+ --color: var(--ion-color-primary, #0054e9);
223
+ }
224
+
221
225
  /**
222
226
  * The confirm and clear buttons are grouped in a
223
227
  * container so that they appear on the end opposite
@@ -372,6 +376,11 @@
372
376
  }
373
377
 
374
378
  .calendar-day:not(.calendar-day-adjacent-day):focus {
379
+ background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
380
+ box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
381
+ }
382
+
383
+ :host(.ion-color) .calendar-day:not(.calendar-day-adjacent-day):focus {
375
384
  background: rgba(var(--ion-color-base-rgb), 0.2);
376
385
  box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);
377
386
  }
@@ -416,6 +425,10 @@
416
425
  }
417
426
 
418
427
  :host .time-body-active {
428
+ color: var(--ion-color-primary, #0054e9);
429
+ }
430
+
431
+ :host(.ion-color) .time-body-active {
419
432
  color: var(--ion-color-base);
420
433
  }
421
434
 
@@ -424,6 +437,10 @@
424
437
  }
425
438
 
426
439
  :host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
440
+ color: var(--ion-color-primary, #0054e9);
441
+ }
442
+
443
+ :host(.ion-color.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
427
444
  color: var(--ion-color-base);
428
445
  }
429
446
 
@@ -603,6 +620,11 @@ ion-picker {
603
620
 
604
621
  :host .calendar-action-buttons .calendar-month-year-toggle ion-icon,
605
622
  :host .calendar-action-buttons ion-buttons ion-button {
623
+ color: var(--ion-color-primary, #0054e9);
624
+ }
625
+
626
+ :host(.ion-color) .calendar-action-buttons .calendar-month-year-toggle ion-icon,
627
+ :host(.ion-color) .calendar-action-buttons ion-buttons ion-button {
606
628
  color: var(--ion-color-base);
607
629
  }
608
630
 
@@ -768,15 +790,23 @@ ion-picker {
768
790
  }
769
791
 
770
792
  .calendar-day.calendar-day-active {
771
- background: rgba(var(--ion-color-base-rgb), 0.2);
793
+ background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
772
794
  font-size: min(1.375rem, 35.2px);
773
795
  }
774
796
 
797
+ :host(.ion-color) .calendar-day.calendar-day-active {
798
+ background: rgba(var(--ion-color-base-rgb), 0.2);
799
+ }
800
+
775
801
  /**
776
802
  * Day that today but not selected
777
803
  * should have ion-color for text color.
778
804
  */
779
805
  :host .calendar-day.calendar-day-today {
806
+ color: var(--ion-color-primary, #0054e9);
807
+ }
808
+
809
+ :host(.ion-color) .calendar-day.calendar-day-today {
780
810
  color: var(--ion-color-base);
781
811
  }
782
812
 
@@ -787,16 +817,26 @@ ion-picker {
787
817
  */
788
818
  :host .calendar-day.calendar-day-active,
789
819
  :host .calendar-day.calendar-day-adjacent-day.calendar-day-active {
790
- color: var(--ion-color-base);
820
+ color: var(--ion-color-primary, #0054e9);
791
821
  font-weight: 600;
792
822
  }
793
823
 
824
+ :host(.ion-color) .calendar-day.calendar-day-active,
825
+ :host(.ion-color) .calendar-day.calendar-day-adjacent-day.calendar-day-active {
826
+ color: var(--ion-color-base);
827
+ }
828
+
794
829
  /**
795
830
  * Day that is selected and is today
796
831
  * should have base background color
797
832
  * with contrast text.
798
833
  */
799
834
  :host .calendar-day.calendar-day-today.calendar-day-active {
835
+ background: var(--ion-color-primary, #0054e9);
836
+ color: var(--ion-color-primary-contrast, #fff);
837
+ }
838
+
839
+ :host(.ion-color) .calendar-day.calendar-day-today.calendar-day-active {
800
840
  background: var(--ion-color-base);
801
841
  color: var(--ion-color-contrast);
802
842
  }
@@ -75,12 +75,6 @@ export class Datetime {
75
75
  isAdjacentDay: false,
76
76
  };
77
77
  this.isTimePopoverOpen = false;
78
- /**
79
- * The color to use from your application's color palette.
80
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
81
- * For more information on colors, see [theming](/docs/theming/basics).
82
- */
83
- this.color = 'primary';
84
78
  /**
85
79
  * The name of the control, which is submitted with the form data.
86
80
  */
@@ -1256,7 +1250,7 @@ export class Datetime {
1256
1250
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
1257
1251
  this.setActiveParts(Object.assign(Object.assign({}, activePart), findPart));
1258
1252
  ev.stopPropagation();
1259
- } }, items.map((item) => (h("ion-picker-column-option", { part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
1253
+ } }, items.map((item) => (h("ion-picker-column-option", { color: this.color, part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
1260
1254
  }
1261
1255
  renderIndividualDatePickerColumns(forcePresentation) {
1262
1256
  const { workingParts, isDateEnabled } = this;
@@ -1329,7 +1323,7 @@ export class Datetime {
1329
1323
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
1330
1324
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
1331
1325
  ev.stopPropagation();
1332
- } }, days.map((day) => (h("ion-picker-column-option", { part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
1326
+ } }, days.map((day) => (h("ion-picker-column-option", { color: this.color, part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
1333
1327
  }
1334
1328
  renderMonthPickerColumn(months) {
1335
1329
  if (months.length === 0) {
@@ -1344,7 +1338,7 @@ export class Datetime {
1344
1338
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
1345
1339
  }
1346
1340
  ev.stopPropagation();
1347
- } }, months.map((month) => (h("ion-picker-column-option", { part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
1341
+ } }, months.map((month) => (h("ion-picker-column-option", { color: this.color, part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
1348
1342
  }
1349
1343
  renderYearPickerColumn(years) {
1350
1344
  if (years.length === 0) {
@@ -1359,7 +1353,7 @@ export class Datetime {
1359
1353
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
1360
1354
  }
1361
1355
  ev.stopPropagation();
1362
- } }, years.map((year) => (h("ion-picker-column-option", { part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
1356
+ } }, years.map((year) => (h("ion-picker-column-option", { color: this.color, part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
1363
1357
  }
1364
1358
  renderTimePickerColumns(forcePresentation) {
1365
1359
  if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
@@ -1392,7 +1386,7 @@ export class Datetime {
1392
1386
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
1393
1387
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
1394
1388
  ev.stopPropagation();
1395
- } }, hoursData.map((hour) => (h("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
1389
+ } }, hoursData.map((hour) => (h("ion-picker-column-option", { color: this.color, part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
1396
1390
  }
1397
1391
  renderMinutePickerColumn(minutesData) {
1398
1392
  const { disabled, workingParts } = this;
@@ -1403,7 +1397,7 @@ export class Datetime {
1403
1397
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
1404
1398
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
1405
1399
  ev.stopPropagation();
1406
- } }, minutesData.map((minute) => (h("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
1400
+ } }, minutesData.map((minute) => (h("ion-picker-column-option", { color: this.color, part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
1407
1401
  }
1408
1402
  renderDayPeriodPickerColumn(dayPeriodData) {
1409
1403
  const { disabled, workingParts } = this;
@@ -1417,7 +1411,7 @@ export class Datetime {
1417
1411
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
1418
1412
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
1419
1413
  ev.stopPropagation();
1420
- } }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
1414
+ } }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { color: this.color, part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
1421
1415
  }
1422
1416
  renderWheelView(forcePresentation) {
1423
1417
  const { locale } = this;
@@ -1754,7 +1748,7 @@ export class Datetime {
1754
1748
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1755
1749
  const hasWheelVariant = hasDatePresentation && preferWheel;
1756
1750
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1757
- return (h(Host, { key: '5e0b83cb88a87945eaae2f9402751819b75452ee', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1751
+ return (h(Host, { key: '79b906669d3e0d9ff356421a5f571d5cf12b6793', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1758
1752
  [mode]: true,
1759
1753
  ['datetime-readonly']: readonly,
1760
1754
  ['datetime-disabled']: disabled,
@@ -1764,7 +1758,7 @@ export class Datetime {
1764
1758
  [`datetime-size-${size}`]: true,
1765
1759
  [`datetime-prefer-wheel`]: hasWheelVariant,
1766
1760
  [`datetime-grid`]: isGridStyle,
1767
- })) }, h("div", { key: '9f9ba72e9879525961b00abe342a7891492ca0ff', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1761
+ })) }, h("div", { key: 'e29ce6edd79f3efb8f7cc4a81bb543d580e5f4c6', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1768
1762
  }
1769
1763
  static get is() { return "ion-datetime"; }
1770
1764
  static get encapsulation() { return "shadow"; }
@@ -1806,8 +1800,7 @@ export class Datetime {
1806
1800
  "getter": false,
1807
1801
  "setter": false,
1808
1802
  "reflect": false,
1809
- "attribute": "color",
1810
- "defaultValue": "'primary'"
1803
+ "attribute": "color"
1811
1804
  },
1812
1805
  "name": {
1813
1806
  "type": "string",
@@ -218,6 +218,10 @@
218
218
  justify-content: space-between;
219
219
  }
220
220
 
221
+ :host .datetime-action-buttons ion-button {
222
+ --color: var(--ion-color-primary, #0054e9);
223
+ }
224
+
221
225
  /**
222
226
  * The confirm and clear buttons are grouped in a
223
227
  * container so that they appear on the end opposite
@@ -372,6 +376,11 @@
372
376
  }
373
377
 
374
378
  .calendar-day:not(.calendar-day-adjacent-day):focus {
379
+ background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
380
+ box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
381
+ }
382
+
383
+ :host(.ion-color) .calendar-day:not(.calendar-day-adjacent-day):focus {
375
384
  background: rgba(var(--ion-color-base-rgb), 0.2);
376
385
  box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);
377
386
  }
@@ -416,6 +425,10 @@
416
425
  }
417
426
 
418
427
  :host .time-body-active {
428
+ color: var(--ion-color-primary, #0054e9);
429
+ }
430
+
431
+ :host(.ion-color) .time-body-active {
419
432
  color: var(--ion-color-base);
420
433
  }
421
434
 
@@ -424,6 +437,10 @@
424
437
  }
425
438
 
426
439
  :host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
440
+ color: var(--ion-color-primary, #0054e9);
441
+ }
442
+
443
+ :host(.ion-color.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
427
444
  color: var(--ion-color-base);
428
445
  }
429
446
 
@@ -548,6 +565,10 @@ ion-picker {
548
565
  */
549
566
  :host {
550
567
  --background: var(--ion-color-step-100, var(--ion-background-color-step-100, #ffffff));
568
+ --title-color: var(--ion-color-primary-contrast, #fff);
569
+ }
570
+
571
+ :host(.ion-color) {
551
572
  --title-color: var(--ion-color-contrast);
552
573
  }
553
574
 
@@ -558,10 +579,14 @@ ion-picker {
558
579
  padding-inline-end: 20px;
559
580
  padding-top: 20px;
560
581
  padding-bottom: 20px;
561
- background: var(--ion-color-base);
582
+ background: var(--ion-color-primary, #0054e9);
562
583
  color: var(--title-color);
563
584
  }
564
585
 
586
+ :host(.ion-color) .datetime-header {
587
+ background: var(--ion-color-base);
588
+ }
589
+
565
590
  :host .datetime-header .datetime-title {
566
591
  font-size: 0.75rem;
567
592
  text-transform: uppercase;
@@ -643,6 +668,11 @@ ion-picker {
643
668
  * should have ion-color for text color.
644
669
  */
645
670
  :host .calendar-day.calendar-day-today {
671
+ border: 1px solid var(--ion-color-primary, #0054e9);
672
+ color: var(--ion-color-primary, #0054e9);
673
+ }
674
+
675
+ :host(.ion-color) .calendar-day.calendar-day-today {
646
676
  border: 1px solid var(--ion-color-base);
647
677
  color: var(--ion-color-base);
648
678
  }
@@ -654,11 +684,22 @@ ion-picker {
654
684
  */
655
685
  :host .calendar-day.calendar-day-active,
656
686
  :host .calendar-day.calendar-day-adjacent-day.calendar-day-active {
687
+ color: var(--ion-color-primary-contrast, #fff);
688
+ }
689
+
690
+ :host(.ion-color) .calendar-day.calendar-day-active,
691
+ :host(.ion-color) .calendar-day.calendar-day-adjacent-day.calendar-day-active {
657
692
  color: var(--ion-color-contrast);
658
693
  }
659
694
 
660
695
  .calendar-day.calendar-day-active,
661
696
  .calendar-day.calendar-day-active:focus {
697
+ border: 1px solid var(--ion-color-primary, #0054e9);
698
+ background: var(--ion-color-primary, #0054e9);
699
+ }
700
+
701
+ :host(.ion-color) .calendar-day.calendar-day-active,
702
+ :host(.ion-color) .calendar-day.calendar-day-active:focus {
662
703
  border: 1px solid var(--ion-color-base);
663
704
  background: var(--ion-color-base);
664
705
  }
@@ -82,6 +82,11 @@
82
82
 
83
83
  :host(.time-active) #time-button,
84
84
  :host(.date-active) #date-button {
85
+ color: var(--ion-color-primary, #0054e9);
86
+ }
87
+
88
+ :host(.ion-color.time-active) #time-button,
89
+ :host(.ion-color.date-active) #date-button {
85
90
  color: var(--ion-color-base);
86
91
  }
87
92