@ionic/core 8.8.14-dev.11784243422.11f0110c → 8.8.14-dev.11785447127.1dbdd22e

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 (317) 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.js +1 -1
  73. package/components/ion-select-modal.js +1 -1
  74. package/components/ion-select-option.js +1 -1
  75. package/components/ion-select-popover.js +1 -1
  76. package/components/ion-select.js +1 -1
  77. package/components/ion-skeleton-text.js +1 -1
  78. package/components/ion-spinner.js +1 -1
  79. package/components/ion-split-pane.js +1 -1
  80. package/components/ion-tab-bar.js +1 -1
  81. package/components/ion-tab-button.js +1 -1
  82. package/components/ion-text.js +1 -1
  83. package/components/ion-textarea.js +1 -1
  84. package/components/ion-thumbnail.js +1 -1
  85. package/components/ion-title.js +1 -1
  86. package/components/ion-toast.js +1 -1
  87. package/components/ion-toggle.js +1 -1
  88. package/components/ion-toolbar.js +1 -1
  89. package/components/{p-XJWMAP8m.js → p-8cRBED2y.js} +1 -1
  90. package/components/{p-DhkITZ-y.js → p-B5Ia5kbJ.js} +1 -1
  91. package/components/{p-j9Da6cYO.js → p-BG9RNTmW.js} +1 -1
  92. package/components/p-BnTB62Lu.js +4 -0
  93. package/components/{p-uTR_dEqg.js → p-CEktCi-l.js} +1 -1
  94. package/components/{p-r0aq7dpt.js → p-CHdYfvVx.js} +1 -1
  95. package/components/{p-B9jFTlwE.js → p-CPa2WmW7.js} +1 -1
  96. package/components/{p-BnqQlm7c.js → p-CYhGN6l4.js} +1 -1
  97. package/components/{p-ryqmO0B-.js → p-CbJDPICP.js} +1 -1
  98. package/components/{p-wk2QqrAo.js → p-CtQ-1ZRt.js} +1 -1
  99. package/components/p-CwcD5kE9.js +4 -0
  100. package/components/{p--JUspHvy.js → p-CyFtf1Mm.js} +1 -1
  101. package/components/{p-DqZAXv2t.js → p-CzuRCorP.js} +1 -1
  102. package/components/{p-j5IxBIan.js → p-D-lHU3L1.js} +1 -1
  103. package/components/p-D1-tlI3U.js +4 -0
  104. package/components/p-D2D6VdCA.js +4 -0
  105. package/components/{p-Buf_7zcy.js → p-D355UF9s.js} +1 -1
  106. package/components/{p-DpV-p5Xs.js → p-DEI720fP.js} +1 -1
  107. package/components/p-DK0D_QD_.js +4 -0
  108. package/components/p-DXTfY6aF.js +4 -0
  109. package/components/{p-Dz74mwlk.js → p-DfjhtfFw.js} +1 -1
  110. package/components/{p-CI3ncNZm.js → p-Dg1a5T1q.js} +1 -1
  111. package/components/{p-lE_JGpHD.js → p-Ds1Brlka.js} +1 -1
  112. package/components/{p-C-Rx1zny.js → p-Dtmv7Nm_.js} +1 -1
  113. package/components/{p-BirPFsRD.js → p-Dy5czMtc.js} +1 -1
  114. package/components/{p-279dFMvg.js → p-FV45cfy9.js} +1 -1
  115. package/components/{p-CSZf8_j0.js → p-XX59Wsi5.js} +1 -1
  116. package/components/{p-CHzfYZbv.js → p-xjzudrQv.js} +1 -1
  117. package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-7VMuu6PT.js} +1 -1
  118. package/dist/cjs/{index-aC4x3Fk3.js → index-IPWmFzOn.js} +1 -1
  119. package/dist/cjs/index.cjs.js +3 -3
  120. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  121. package/dist/cjs/ion-action-sheet.cjs.entry.js +2 -2
  122. package/dist/cjs/ion-alert.cjs.entry.js +2 -2
  123. package/dist/cjs/ion-app_8.cjs.entry.js +1 -1
  124. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  125. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  126. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  127. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  128. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  129. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  130. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  131. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  132. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  133. package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -11
  134. package/dist/cjs/ion-datetime.cjs.entry.js +13 -19
  135. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  136. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  137. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +1 -1
  138. package/dist/cjs/ion-input-otp.cjs.entry.js +1 -1
  139. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
  140. package/dist/cjs/ion-input.cjs.entry.js +1 -1
  141. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  142. package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
  143. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  144. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  145. package/dist/cjs/ion-modal.cjs.entry.js +2 -2
  146. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -116
  147. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -10
  148. package/dist/cjs/ion-picker-column.cjs.entry.js +5 -11
  149. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  150. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  151. package/dist/cjs/ion-radio_2.cjs.entry.js +1 -1
  152. package/dist/cjs/ion-range.cjs.entry.js +1 -1
  153. package/dist/cjs/ion-refresher_2.cjs.entry.js +1 -1
  154. package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
  155. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  156. package/dist/cjs/ion-route_4.cjs.entry.js +17 -3
  157. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  158. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  159. package/dist/cjs/ion-select-modal.cjs.entry.js +2 -2
  160. package/dist/cjs/ion-select_3.cjs.entry.js +2 -2
  161. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  162. package/dist/cjs/ion-split-pane.cjs.entry.js +1 -1
  163. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
  164. package/dist/cjs/ion-text.cjs.entry.js +1 -1
  165. package/dist/cjs/ion-textarea.cjs.entry.js +1 -1
  166. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  167. package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
  168. package/dist/cjs/{ionic-global-B-cA6LkY.js → ionic-global-CbxQmwkf.js} +2 -2
  169. package/dist/cjs/ionic.cjs.js +3 -3
  170. package/dist/cjs/loader.cjs.js +3 -3
  171. package/dist/cjs/{overlays-DSmSrd_4.js → overlays-DXnnHORC.js} +1 -1
  172. package/dist/collection/components/datetime/datetime.ios.css +42 -2
  173. package/dist/collection/components/datetime/datetime.js +10 -17
  174. package/dist/collection/components/datetime/datetime.md.css +42 -1
  175. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
  176. package/dist/collection/components/datetime-button/datetime-button.js +3 -10
  177. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
  178. package/dist/collection/components/nav/nav.js +4 -219
  179. package/dist/collection/components/picker-column/picker-column.css +3 -0
  180. package/dist/collection/components/picker-column/picker-column.js +4 -11
  181. package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
  182. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
  183. package/dist/collection/components/route/route.js +1 -1
  184. package/dist/collection/components/router/utils/dom.js +22 -3
  185. package/dist/collection/utils/platform.js +2 -2
  186. package/dist/docs.json +17 -41
  187. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-DNgPBV1i.js} +1 -1
  188. package/dist/esm/{index-Q6UPU0Ay.js → index-0f4UTH6Z.js} +1 -1
  189. package/dist/esm/index.js +3 -3
  190. package/dist/esm/ion-accordion_2.entry.js +1 -1
  191. package/dist/esm/ion-action-sheet.entry.js +2 -2
  192. package/dist/esm/ion-alert.entry.js +2 -2
  193. package/dist/esm/ion-app_8.entry.js +1 -1
  194. package/dist/esm/ion-avatar_3.entry.js +1 -1
  195. package/dist/esm/ion-back-button.entry.js +1 -1
  196. package/dist/esm/ion-backdrop.entry.js +1 -1
  197. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  198. package/dist/esm/ion-button_2.entry.js +1 -1
  199. package/dist/esm/ion-card_5.entry.js +1 -1
  200. package/dist/esm/ion-checkbox.entry.js +1 -1
  201. package/dist/esm/ion-chip.entry.js +1 -1
  202. package/dist/esm/ion-col_3.entry.js +1 -1
  203. package/dist/esm/ion-datetime-button.entry.js +5 -11
  204. package/dist/esm/ion-datetime.entry.js +13 -19
  205. package/dist/esm/ion-fab_3.entry.js +1 -1
  206. package/dist/esm/ion-img.entry.js +1 -1
  207. package/dist/esm/ion-infinite-scroll_2.entry.js +1 -1
  208. package/dist/esm/ion-input-otp.entry.js +1 -1
  209. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  210. package/dist/esm/ion-input.entry.js +1 -1
  211. package/dist/esm/ion-item-option_3.entry.js +1 -1
  212. package/dist/esm/ion-item_8.entry.js +1 -1
  213. package/dist/esm/ion-loading.entry.js +2 -2
  214. package/dist/esm/ion-menu_3.entry.js +3 -3
  215. package/dist/esm/ion-modal.entry.js +2 -2
  216. package/dist/esm/ion-nav_2.entry.js +4 -117
  217. package/dist/esm/ion-picker-column-option.entry.js +4 -10
  218. package/dist/esm/ion-picker-column.entry.js +5 -11
  219. package/dist/esm/ion-popover.entry.js +2 -2
  220. package/dist/esm/ion-progress-bar.entry.js +1 -1
  221. package/dist/esm/ion-radio_2.entry.js +1 -1
  222. package/dist/esm/ion-range.entry.js +1 -1
  223. package/dist/esm/ion-refresher_2.entry.js +1 -1
  224. package/dist/esm/ion-reorder_2.entry.js +1 -1
  225. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  226. package/dist/esm/ion-route_4.entry.js +17 -3
  227. package/dist/esm/ion-searchbar.entry.js +1 -1
  228. package/dist/esm/ion-segment_2.entry.js +1 -1
  229. package/dist/esm/ion-select-modal.entry.js +2 -2
  230. package/dist/esm/ion-select_3.entry.js +2 -2
  231. package/dist/esm/ion-spinner.entry.js +1 -1
  232. package/dist/esm/ion-split-pane.entry.js +1 -1
  233. package/dist/esm/ion-tab-bar_2.entry.js +1 -1
  234. package/dist/esm/ion-text.entry.js +1 -1
  235. package/dist/esm/ion-textarea.entry.js +1 -1
  236. package/dist/esm/ion-toast.entry.js +2 -2
  237. package/dist/esm/ion-toggle.entry.js +1 -1
  238. package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-pMW1XhFZ.js} +2 -2
  239. package/dist/esm/ionic.js +3 -3
  240. package/dist/esm/loader.js +3 -3
  241. package/dist/esm/{overlays-DLNOHWNc.js → overlays-DVgWBV3s.js} +1 -1
  242. package/dist/html.html-data.json +1 -1
  243. package/dist/ionic/index.esm.js +1 -1
  244. package/dist/ionic/ionic.esm.js +1 -1
  245. package/dist/ionic/{p-d889ff6d.entry.js → p-06cef0c6.entry.js} +1 -1
  246. package/dist/ionic/{p-c6e49f3f.entry.js → p-0be097d7.entry.js} +1 -1
  247. package/dist/ionic/{p-dfa8d673.entry.js → p-0e7de053.entry.js} +1 -1
  248. package/dist/ionic/{p-4ace7762.entry.js → p-129d3ed9.entry.js} +1 -1
  249. package/dist/ionic/{p-038eb991.entry.js → p-1d9e649a.entry.js} +1 -1
  250. package/dist/ionic/{p-913b218a.entry.js → p-2b3a2a38.entry.js} +1 -1
  251. package/dist/ionic/{p-fe4aa1db.entry.js → p-306b2e91.entry.js} +1 -1
  252. package/dist/ionic/{p-a7628bc7.entry.js → p-34c8f2dc.entry.js} +1 -1
  253. package/dist/ionic/{p-629e4703.entry.js → p-3ce3a59d.entry.js} +1 -1
  254. package/dist/ionic/{p-c08e666a.entry.js → p-3d719e91.entry.js} +1 -1
  255. package/dist/ionic/{p-4502a274.entry.js → p-408afa6d.entry.js} +1 -1
  256. package/dist/ionic/{p-db1b6738.entry.js → p-426130ad.entry.js} +1 -1
  257. package/dist/ionic/p-5599e1e1.entry.js +4 -0
  258. package/dist/ionic/{p-d2c7f046.entry.js → p-567b25e9.entry.js} +1 -1
  259. package/dist/ionic/{p-f1c06f82.entry.js → p-570a212e.entry.js} +1 -1
  260. package/dist/ionic/{p-a5213260.entry.js → p-656e8181.entry.js} +1 -1
  261. package/dist/ionic/{p-bfc8c629.entry.js → p-686de5dc.entry.js} +1 -1
  262. package/dist/ionic/{p-b6a7397c.entry.js → p-694aa5fc.entry.js} +1 -1
  263. package/dist/ionic/p-73d06afe.entry.js +4 -0
  264. package/dist/ionic/{p-c93553d2.entry.js → p-79054426.entry.js} +1 -1
  265. package/dist/ionic/{p-7a37b3ce.entry.js → p-79b2abe6.entry.js} +1 -1
  266. package/dist/ionic/{p-5c3ec490.entry.js → p-7cb5cf53.entry.js} +1 -1
  267. package/dist/ionic/{p-ce7992c4.entry.js → p-845eb5d5.entry.js} +1 -1
  268. package/dist/ionic/{p-4e9ec5c5.entry.js → p-88f33e44.entry.js} +1 -1
  269. package/dist/ionic/p-89c9c057.entry.js +4 -0
  270. package/dist/ionic/{p-d8387b99.entry.js → p-8c4bdd70.entry.js} +1 -1
  271. package/dist/ionic/{p-a3bdcae6.entry.js → p-8c898f59.entry.js} +1 -1
  272. package/dist/ionic/{p-4621c387.entry.js → p-8cde6208.entry.js} +1 -1
  273. package/dist/ionic/{p-76e92a84.entry.js → p-9366f06d.entry.js} +1 -1
  274. package/dist/ionic/p-9a29ba8c.entry.js +4 -0
  275. package/dist/ionic/p-CGqbOURp.js +4 -0
  276. package/dist/ionic/{p-KjNvRoEp.js → p-D9iu80E_.js} +1 -1
  277. package/dist/ionic/{p-Cg5-OQYy.js → p-DZigX5id.js} +1 -1
  278. package/dist/ionic/p-DeSfrUWZ.js +4 -0
  279. package/dist/ionic/{p-b9ac1fe0.entry.js → p-a1448991.entry.js} +1 -1
  280. package/dist/ionic/{p-9177f4ac.entry.js → p-a256aeb6.entry.js} +1 -1
  281. package/dist/ionic/{p-8c8eee7d.entry.js → p-aeff523a.entry.js} +1 -1
  282. package/dist/ionic/{p-ef93ca92.entry.js → p-b2f15bd0.entry.js} +1 -1
  283. package/dist/ionic/{p-f718fccb.entry.js → p-b7737b44.entry.js} +1 -1
  284. package/dist/ionic/{p-ed797c72.entry.js → p-ba99d16b.entry.js} +1 -1
  285. package/dist/ionic/{p-b1599fca.entry.js → p-cdfe2531.entry.js} +1 -1
  286. package/dist/ionic/{p-a9a33367.entry.js → p-cf68f89c.entry.js} +1 -1
  287. package/dist/ionic/{p-ad728198.entry.js → p-d183a4ba.entry.js} +1 -1
  288. package/dist/ionic/{p-5d1ac2c7.entry.js → p-d57560ff.entry.js} +1 -1
  289. package/dist/ionic/p-d5be2815.entry.js +4 -0
  290. package/dist/ionic/{p-51cd1643.entry.js → p-d6d91a44.entry.js} +1 -1
  291. package/dist/ionic/{p-4745f534.entry.js → p-e3842b54.entry.js} +1 -1
  292. package/dist/ionic/{p-627fabd9.entry.js → p-e56b1836.entry.js} +1 -1
  293. package/dist/ionic/{p-79a36078.entry.js → p-f2ae690a.entry.js} +1 -1
  294. package/dist/ionic/{p-259d0d98.entry.js → p-f5b104d9.entry.js} +1 -1
  295. package/dist/ionic/{p-4bb3eb60.entry.js → p-f88310b9.entry.js} +1 -1
  296. package/dist/ionic/p-fd4e56cd.entry.js +4 -0
  297. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  298. package/dist/types/components/nav/nav.d.ts +2 -22
  299. package/dist/types/components/route/route.d.ts +1 -1
  300. package/dist/types/components.d.ts +2 -23
  301. package/hydrate/index.js +42 -167
  302. package/hydrate/index.mjs +42 -167
  303. package/package.json +1 -1
  304. package/components/p-BjfgFSSR.js +0 -4
  305. package/components/p-BsPelv04.js +0 -4
  306. package/components/p-D4h1H_hh.js +0 -4
  307. package/components/p-DOFCbuQR.js +0 -4
  308. package/components/p-W5nO8mX_.js +0 -4
  309. package/components/p-_lHSumhG.js +0 -4
  310. package/dist/ionic/p-06c232a4.entry.js +0 -4
  311. package/dist/ionic/p-14095ba5.entry.js +0 -4
  312. package/dist/ionic/p-700795f6.entry.js +0 -4
  313. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  314. package/dist/ionic/p-SNAkTDfm.js +0 -4
  315. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  316. package/dist/ionic/p-c38b648e.entry.js +0 -4
  317. package/dist/ionic/p-f386f6ae.entry.js +0 -4
@@ -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
 
@@ -23,12 +23,6 @@ export class DatetimeButton {
23
23
  this.overlayEl = null;
24
24
  this.datetimePresentation = 'date-time';
25
25
  this.datetimeActive = false;
26
- /**
27
- * The color to use from your application's color palette.
28
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
29
- * For more information on colors, see [theming](/docs/theming/basics).
30
- */
31
- this.color = 'primary';
32
26
  /**
33
27
  * If `true`, the user cannot interact with the button.
34
28
  */
@@ -342,11 +336,11 @@ export class DatetimeButton {
342
336
  render() {
343
337
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
344
338
  const mode = getIonMode(this);
345
- return (h(Host, { key: 'c28e5e428111f18eaceb030dca8aba5579867eaa', class: createColorClasses(color, {
339
+ return (h(Host, { key: '2aaa284fe9b53b6347fcb5a1d325fbab1a6f38bd', class: createColorClasses(color, {
346
340
  [mode]: true,
347
341
  [`${selectedButton}-active`]: datetimeActive,
348
342
  ['datetime-button-disabled']: disabled,
349
- }) }, dateText && (h("button", { key: 'a08f41b3150ef7171d0f1d9b3d69b51be67b7b84', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: '35ee68ca1cea59f03e1b59b72606e618141c8e1f', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '4be53227aaf0acd20e8ebbff9f645140e8a96f33' }))), timeText && (h("button", { key: 'ab500f9b78f8c194180073eaf7325041adbd02f7', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: '5822486dfdedba6c071a0f5233cc06f8321a1f5d', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '054a4acb811a98cc6d9bb6a3cf51232a1f09b0ea' })))));
343
+ }) }, dateText && (h("button", { key: 'd9698471fa5d5c834ca73db57f9ed98dfc705b4c', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: 'c8761a7f25ae5b93c953b3486dd6335f5ad4fd53', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '3dd5e97af8d35a2b008de4ab01f690b3c2223135' }))), timeText && (h("button", { key: '1107ca2382940b642b551f885f7ca763012c236c', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: '5cff53e486923b03715b9ab4dc0947e26f4ea1d9', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '5aac1facb6fc7457307c4f59a241e3a5b31facc8' })))));
350
344
  }
351
345
  static get is() { return "ion-datetime-button"; }
352
346
  static get encapsulation() { return "shadow"; }
@@ -388,8 +382,7 @@ export class DatetimeButton {
388
382
  "getter": false,
389
383
  "setter": false,
390
384
  "reflect": true,
391
- "attribute": "color",
392
- "defaultValue": "'primary'"
385
+ "attribute": "color"
393
386
  },
394
387
  "disabled": {
395
388
  "type": "boolean",
@@ -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
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { Build, h } from "@stencil/core";
4
+ import { h } from "@stencil/core";
5
5
  import { getTimeGivenProgression } from "../../utils/animation/cubic-bezier";
6
6
  import { assert } from "../../utils/helpers";
7
7
  import { printIonWarning } from "../../utils/logging/index";
@@ -9,12 +9,11 @@ import { lifecycle, setPageHidden, transition } from "../../utils/transition/ind
9
9
  import { config } from "../../global/config";
10
10
  import { getIonMode } from "../../global/ionic-global";
11
11
  import { LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_LEAVE, LIFECYCLE_WILL_UNLOAD } from "./constants";
12
- import { VIEW_STATE_ATTACHED, VIEW_STATE_DESTROYED, VIEW_STATE_NEW, convertToViews, matches } from "./view-controller";
12
+ import { VIEW_STATE_ATTACHED, VIEW_STATE_DESTROYED, VIEW_STATE_NEW, convertToViews } from "./view-controller";
13
13
  export class Nav {
14
14
  constructor() {
15
15
  this.transInstr = [];
16
16
  this.gestureOrAnimationInProgress = false;
17
- this.useRouter = false;
18
17
  this.isTransitioning = false;
19
18
  this.destroyed = false;
20
19
  this.views = [];
@@ -30,7 +29,6 @@ export class Nav {
30
29
  }
31
30
  }
32
31
  rootChanged() {
33
- const isDev = Build.isDev;
34
32
  if (this.root === undefined) {
35
33
  return;
36
34
  }
@@ -41,17 +39,9 @@ export class Nav {
41
39
  */
42
40
  return;
43
41
  }
44
- if (!this.useRouter) {
45
- if (this.root !== undefined) {
46
- this.setRoot(this.root, this.rootParams);
47
- }
48
- }
49
- else if (isDev) {
50
- printIonWarning('[ion-nav] - A root attribute is not supported when using ion-router.', this.el);
51
- }
42
+ this.setRoot(this.root, this.rootParams);
52
43
  }
53
44
  componentWillLoad() {
54
- this.useRouter = document.querySelector('ion-router') !== null && this.el.closest('[no-router]') === null;
55
45
  if (this.swipeGesture === undefined) {
56
46
  const mode = getIonMode(this);
57
47
  this.swipeGesture = config.getBoolean('swipeBackEnabled', mode === 'ios');
@@ -216,78 +206,6 @@ export class Nav {
216
206
  opts,
217
207
  }, done);
218
208
  }
219
- /**
220
- * Called by the router to update the view.
221
- *
222
- * @param id The component tag.
223
- * @param params The component params.
224
- * @param direction A direction hint.
225
- * @param animation an AnimationBuilder.
226
- *
227
- * @return the status.
228
- * @internal
229
- */
230
- setRouteId(id, params, direction, animation) {
231
- const active = this.getActiveSync();
232
- if (matches(active, id, params)) {
233
- return Promise.resolve({
234
- changed: false,
235
- element: active.element,
236
- });
237
- }
238
- let resolve;
239
- const promise = new Promise((r) => (resolve = r));
240
- let finish;
241
- const commonOpts = {
242
- updateURL: false,
243
- viewIsReady: (enteringEl) => {
244
- let mark;
245
- const p = new Promise((r) => (mark = r));
246
- resolve({
247
- changed: true,
248
- element: enteringEl,
249
- markVisible: async () => {
250
- mark();
251
- await finish;
252
- },
253
- });
254
- return p;
255
- },
256
- };
257
- if (direction === 'root') {
258
- finish = this.setRoot(id, params, commonOpts);
259
- }
260
- else {
261
- // Look for a view matching the target in the view stack.
262
- const viewController = this.views.find((v) => matches(v, id, params));
263
- if (viewController) {
264
- finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
265
- }
266
- else if (direction === 'forward') {
267
- finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));
268
- }
269
- else if (direction === 'back') {
270
- finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));
271
- }
272
- }
273
- return promise;
274
- }
275
- /**
276
- * Called by <ion-router> to retrieve the current component.
277
- *
278
- * @internal
279
- */
280
- async getRouteId() {
281
- const active = this.getActiveSync();
282
- if (active) {
283
- return {
284
- id: active.element.tagName,
285
- params: active.params,
286
- element: active.element,
287
- };
288
- }
289
- return undefined;
290
- }
291
209
  /**
292
210
  * Get the active view.
293
211
  */
@@ -353,25 +271,6 @@ export class Nav {
353
271
  ti.reject = reject;
354
272
  });
355
273
  ti.done = done;
356
- /**
357
- * If using router, check to see if navigation hooks
358
- * will allow us to perform this transition. This
359
- * is required in order for hooks to work with
360
- * the ion-back-button or swipe to go back.
361
- */
362
- if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {
363
- const router = document.querySelector('ion-router');
364
- if (router) {
365
- const canTransition = await router.canTransition();
366
- if (canTransition === false) {
367
- return false;
368
- }
369
- if (typeof canTransition === 'string') {
370
- router.push(canTransition, ti.opts.direction || 'back');
371
- return false;
372
- }
373
- }
374
- }
375
274
  // Normalize empty
376
275
  if (((_b = ti.insertViews) === null || _b === void 0 ? void 0 : _b.length) === 0) {
377
276
  ti.insertViews = undefined;
@@ -392,13 +291,6 @@ export class Nav {
392
291
  ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);
393
292
  }
394
293
  ti.resolve(result.hasCompleted);
395
- if (ti.opts.updateURL !== false && this.useRouter) {
396
- const router = document.querySelector('ion-router');
397
- if (router) {
398
- const direction = result.direction === 'back' ? 'back' : 'forward';
399
- router.navChanged(direction);
400
- }
401
- }
402
294
  }
403
295
  failed(rejectReason, ti) {
404
296
  if (this.destroyed) {
@@ -828,7 +720,7 @@ export class Nav {
828
720
  }
829
721
  }
830
722
  render() {
831
- return h("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
723
+ return h("slot", { key: 'bb4a201a3a8079548f5474ff42293b28fc7599fb' });
832
724
  }
833
725
  static get is() { return "ion-nav"; }
834
726
  static get encapsulation() { return "shadow"; }
@@ -1601,113 +1493,6 @@ export class Nav {
1601
1493
  }]
1602
1494
  }
1603
1495
  },
1604
- "setRouteId": {
1605
- "complexType": {
1606
- "signature": "(id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>",
1607
- "parameters": [{
1608
- "name": "id",
1609
- "type": "string",
1610
- "docs": "The component tag."
1611
- }, {
1612
- "name": "params",
1613
- "type": "ComponentProps | undefined",
1614
- "docs": "The component params."
1615
- }, {
1616
- "name": "direction",
1617
- "type": "\"root\" | \"back\" | \"forward\"",
1618
- "docs": "A direction hint."
1619
- }, {
1620
- "name": "animation",
1621
- "type": "AnimationBuilder | undefined",
1622
- "docs": "an AnimationBuilder."
1623
- }],
1624
- "references": {
1625
- "Promise": {
1626
- "location": "global",
1627
- "id": "global::Promise"
1628
- },
1629
- "RouteWrite": {
1630
- "location": "import",
1631
- "path": "../router/utils/interface",
1632
- "id": "src/components/router/utils/interface.ts::RouteWrite",
1633
- "referenceLocation": "RouteWrite"
1634
- },
1635
- "ComponentProps": {
1636
- "location": "import",
1637
- "path": "../../interface",
1638
- "id": "src/interface.d.ts::ComponentProps",
1639
- "referenceLocation": "ComponentProps"
1640
- },
1641
- "RouterDirection": {
1642
- "location": "import",
1643
- "path": "../router/utils/interface",
1644
- "id": "src/components/router/utils/interface.ts::RouterDirection",
1645
- "referenceLocation": "RouterDirection"
1646
- },
1647
- "AnimationBuilder": {
1648
- "location": "import",
1649
- "path": "../../interface",
1650
- "id": "src/interface.d.ts::AnimationBuilder",
1651
- "referenceLocation": "AnimationBuilder"
1652
- },
1653
- "NavOptions": {
1654
- "location": "import",
1655
- "path": "./nav-interface",
1656
- "id": "src/components/nav/nav-interface.ts::NavOptions",
1657
- "referenceLocation": "NavOptions"
1658
- }
1659
- },
1660
- "return": "Promise<RouteWrite>"
1661
- },
1662
- "docs": {
1663
- "text": "Called by the router to update the view.",
1664
- "tags": [{
1665
- "name": "param",
1666
- "text": "id The component tag."
1667
- }, {
1668
- "name": "param",
1669
- "text": "params The component params."
1670
- }, {
1671
- "name": "param",
1672
- "text": "direction A direction hint."
1673
- }, {
1674
- "name": "param",
1675
- "text": "animation an AnimationBuilder."
1676
- }, {
1677
- "name": "return",
1678
- "text": "the status."
1679
- }, {
1680
- "name": "internal",
1681
- "text": undefined
1682
- }]
1683
- }
1684
- },
1685
- "getRouteId": {
1686
- "complexType": {
1687
- "signature": "() => Promise<RouteID | undefined>",
1688
- "parameters": [],
1689
- "references": {
1690
- "Promise": {
1691
- "location": "global",
1692
- "id": "global::Promise"
1693
- },
1694
- "RouteID": {
1695
- "location": "import",
1696
- "path": "../router/utils/interface",
1697
- "id": "src/components/router/utils/interface.ts::RouteID",
1698
- "referenceLocation": "RouteID"
1699
- }
1700
- },
1701
- "return": "Promise<RouteID | undefined>"
1702
- },
1703
- "docs": {
1704
- "text": "Called by <ion-router> to retrieve the current component.",
1705
- "tags": [{
1706
- "name": "internal",
1707
- "text": undefined
1708
- }]
1709
- }
1710
- },
1711
1496
  "getActive": {
1712
1497
  "complexType": {
1713
1498
  "signature": "() => Promise<ViewController | undefined>",