voyager-ionic-core 8.8.8 → 8.8.12

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 (423) 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-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker-legacy-column.js +1 -1
  59. package/components/ion-picker-legacy.js +1 -1
  60. package/components/ion-picker.js +1 -1
  61. package/components/ion-popover.js +1 -1
  62. package/components/ion-progress-bar.js +1 -1
  63. package/components/ion-radio-group.js +1 -1
  64. package/components/ion-radio.js +1 -1
  65. package/components/ion-range.js +1 -1
  66. package/components/ion-refresher-content.js +1 -1
  67. package/components/ion-refresher.js +1 -1
  68. package/components/ion-reorder-group.js +1 -1
  69. package/components/ion-reorder.js +1 -1
  70. package/components/ion-ripple-effect.js +1 -1
  71. package/components/ion-route-redirect.js +1 -1
  72. package/components/ion-route.js +1 -1
  73. package/components/ion-router-link.js +1 -1
  74. package/components/ion-router-outlet.js +1 -1
  75. package/components/ion-router.js +1 -1
  76. package/components/ion-row.js +1 -1
  77. package/components/ion-searchbar.js +1 -1
  78. package/components/ion-segment-button.js +1 -1
  79. package/components/ion-segment-content.js +1 -1
  80. package/components/ion-segment-view.js +1 -1
  81. package/components/ion-segment.js +1 -1
  82. package/components/ion-select-modal.js +1 -1
  83. package/components/ion-select-option.js +1 -1
  84. package/components/ion-select-popover.js +1 -1
  85. package/components/ion-select.js +1 -1
  86. package/components/ion-skeleton-text.js +1 -1
  87. package/components/ion-spinner.js +1 -1
  88. package/components/ion-split-pane.js +1 -1
  89. package/components/ion-tab-bar.js +1 -1
  90. package/components/ion-tab-button.js +1 -1
  91. package/components/ion-tab.js +1 -1
  92. package/components/ion-tabs.js +1 -1
  93. package/components/ion-text.js +1 -1
  94. package/components/ion-textarea.js +1 -1
  95. package/components/ion-thumbnail.js +1 -1
  96. package/components/ion-title.js +1 -1
  97. package/components/ion-toast.js +1 -1
  98. package/components/ion-toggle.js +1 -1
  99. package/components/ion-toolbar.js +1 -1
  100. package/components/{p-CoA-aqGF.js → p--JUspHvy.js} +1 -1
  101. package/components/{p-DHsZWn1l.js → p-0NRupjzW.js} +1 -1
  102. package/components/{p-BSB38Tek.js → p-5bE_Wz4Y.js} +1 -1
  103. package/components/{p-kvaDs24J.js → p-B60hm8Qv.js} +1 -1
  104. package/components/{p-B6FQ0cKR.js → p-B9jFTlwE.js} +1 -1
  105. package/{dist/ionic/p-BvFYtOdE.js → components/p-BAYYcg3o.js} +1 -1
  106. package/components/{p-DJMZehmW.js → p-BLmJ0zRm.js} +1 -1
  107. package/components/{p-Cyxa_4PV.js → p-BSEgsdFI.js} +1 -1
  108. package/components/{p-B6HaBl3o.js → p-BTPfOxsU.js} +1 -1
  109. package/{dist/ionic/p-DjriolRs.js → components/p-BT_5jSqG.js} +1 -1
  110. package/components/{p-DgbT0exM.js → p-Baq1XyAy.js} +1 -1
  111. package/components/{p-BYDc3hSE.js → p-BirPFsRD.js} +1 -1
  112. package/components/{p-FBcnjE5W.js → p-BjfgFSSR.js} +1 -1
  113. package/components/p-BjoEPDW5.js +4 -0
  114. package/{dist/ionic/p-DLbbmF9h.js → components/p-BnqQlm7c.js} +1 -1
  115. package/components/{p-BxwWvu-b.js → p-BsPelv04.js} +1 -1
  116. package/components/{p-DZhbcvo5.js → p-Bth-EzJ0.js} +1 -1
  117. package/components/{p-vEbVo2hO.js → p-Bz0dSlXZ.js} +1 -1
  118. package/components/{p-CBzELu-H.js → p-C1aScSTo.js} +1 -1
  119. package/components/{p-BTeL5HCK.js → p-C2lKgrXx.js} +1 -1
  120. package/components/{p-BgwEQWW6.js → p-C4t5ymfq.js} +1 -1
  121. package/components/p-CHqRYvYm.js +4 -0
  122. package/components/{p-Q1-Xy3As.js → p-CI3ncNZm.js} +1 -1
  123. package/components/{p-DYdpXONG.js → p-CSZf8_j0.js} +1 -1
  124. package/components/p-CU5rbWAW.js +4 -0
  125. package/components/p-C_xFdyXe.js +4 -0
  126. package/components/{p-CgfaEEem.js → p-Cfx4M1Bn.js} +1 -1
  127. package/{dist/ionic/p-C0JvVFMv.js → components/p-Ciz1-FuE.js} +1 -1
  128. package/components/p-CmR5uXej.js +4 -0
  129. package/components/p-CtukzcyX.js +4 -0
  130. package/components/{p-CEmXdzGo.js → p-D5Ubpm7D.js} +1 -1
  131. package/components/p-D7bSXQD3.js +4 -0
  132. package/components/{p-Cf6Z1pmL.js → p-DDWp95gH.js} +1 -1
  133. package/components/p-DIE4pXMl.js +4 -0
  134. package/components/p-DNQI6d-L.js +4 -0
  135. package/components/{p-CDfQnFrd.js → p-DOFCbuQR.js} +1 -1
  136. package/components/{p-BR3tZJmu.js → p-DnL1c9_X.js} +1 -1
  137. package/components/{p-YLXPWgVj.js → p-DqLB8yFQ.js} +1 -1
  138. package/components/{p-BagjAGC0.js → p-DqZAXv2t.js} +1 -1
  139. package/components/p-W5nO8mX_.js +4 -0
  140. package/components/{p-Cq8cQ0NL.js → p-W9CZ2mWX.js} +1 -1
  141. package/components/p-XlSIJDJ-.js +4 -0
  142. package/components/{p-ZuZOauwD.js → p-dhLYXa7A.js} +1 -1
  143. package/components/p-ijF0iCrA.js +4 -0
  144. package/components/{p-B8b1Ukl9.js → p-j5IxBIan.js} +1 -1
  145. package/components/{p-BUbsoBOV.js → p-k_E4tX5Z.js} +1 -1
  146. package/components/{p-DvOO1fxp.js → p-lE_JGpHD.js} +1 -1
  147. package/components/{p-D-cP12ZN.js → p-nQi4oKcG.js} +1 -1
  148. package/components/{p-fpbh6w3f.js → p-rCa2eL0j.js} +1 -1
  149. package/components/{p-SBseW5KJ.js → p-ryqmO0B-.js} +1 -1
  150. package/dist/cjs/{animation-Dg4yiuR2.js → animation-BJq0kcy2.js} +1 -1
  151. package/dist/cjs/{app-globals-CLI8xCmk.js → app-globals-BlqrqKTN.js} +1 -1
  152. package/dist/cjs/{button-active-FscMI17-.js → button-active-0mPOKmV2.js} +1 -1
  153. package/dist/cjs/{config-BukYi_pW.js → config-xninhj0J.js} +1 -1
  154. package/dist/cjs/{data-BYlBjkMU.js → data-DLTUw-KF.js} +1 -1
  155. package/dist/cjs/{framework-delegate-CRgp8o_p.js → framework-delegate-BtICZDHr.js} +1 -1
  156. package/dist/cjs/{hardware-back-button-C4rMJ5uI.js → hardware-back-button-iUuF_76h.js} +1 -1
  157. package/dist/cjs/{helpers-CxTYJdbT.js → helpers-Cv23MFHM.js} +1 -1
  158. package/dist/cjs/{index-C845Ti6K.js → index-BERfRao3.js} +4 -4
  159. package/dist/cjs/{index-MbaBbWXk.js → index-CIrkNXqJ.js} +2 -2
  160. package/dist/cjs/{index-CqT-2gKy.js → index-Ct7gcRif.js} +67 -23
  161. package/dist/cjs/{index-YcSftOMz.js → index-D81eLYUM.js} +2 -2
  162. package/dist/cjs/{index-CFUwM5x_.js → index-aC4x3Fk3.js} +5 -5
  163. package/dist/cjs/index.cjs.js +12 -12
  164. package/dist/cjs/{input-shims-CPL2J8F-.js → input-shims-CFLg7uzj.js} +3 -3
  165. package/dist/cjs/{input.utils-DmeJ8dmo.js → input.utils-DetjmtH2.js} +2 -2
  166. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  167. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  168. package/dist/cjs/ion-alert.cjs.entry.js +9 -9
  169. package/dist/cjs/ion-app_8.cjs.entry.js +12 -12
  170. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  171. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  172. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  173. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  174. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  175. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  176. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -3
  177. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  178. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  179. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  180. package/dist/cjs/ion-datetime_3.cjs.entry.js +9 -9
  181. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  182. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  183. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  184. package/dist/cjs/ion-input-otp.cjs.entry.js +6 -6
  185. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  186. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  187. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  188. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  189. package/dist/cjs/ion-loading.cjs.entry.js +8 -8
  190. package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
  191. package/dist/cjs/ion-modal.cjs.entry.js +16 -13
  192. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  193. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -4
  194. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  195. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  196. package/dist/cjs/ion-popover.cjs.entry.js +8 -8
  197. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  198. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  199. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  200. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
  201. package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -5
  202. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  203. package/dist/cjs/ion-route_4.cjs.entry.js +187 -21
  204. package/dist/cjs/ion-searchbar.cjs.entry.js +29 -8
  205. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  206. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  207. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  208. package/dist/cjs/ion-select-modal.cjs.entry.js +6 -6
  209. package/dist/cjs/ion-select_3.cjs.entry.js +7 -7
  210. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  211. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  212. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +3 -3
  213. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  214. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  215. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  216. package/dist/cjs/ion-toast.cjs.entry.js +9 -9
  217. package/dist/cjs/ion-toggle.cjs.entry.js +5 -5
  218. package/dist/cjs/{ionic-global-Bc3kJi1Z.js → ionic-global-B-cA6LkY.js} +1 -1
  219. package/dist/cjs/ionic.cjs.js +5 -5
  220. package/dist/cjs/{ios.transition-trBiC95R.js → ios.transition-BOSWOaiK.js} +4 -4
  221. package/dist/cjs/loader.cjs.js +4 -4
  222. package/dist/cjs/{md.transition-CUQECuvD.js → md.transition-B8-wBZqt.js} +4 -4
  223. package/dist/cjs/{notch-controller-sD-lTpdc.js → notch-controller-18PzRGXd.js} +1 -1
  224. package/dist/cjs/{overlays-C2jiBSNQ.js → overlays-TbKsuC-K.js} +5 -5
  225. package/dist/cjs/{status-tap-CCJk5VgT.js → status-tap-BXX8H8_Y.js} +3 -3
  226. package/dist/cjs/{swipe-back-CCpyQb6R.js → swipe-back-CCMaNiP2.js} +2 -2
  227. package/dist/collection/collection-manifest.json +2 -1
  228. package/dist/collection/components/input-otp/input-otp.js +3 -3
  229. package/dist/collection/components/modal/modal.js +7 -4
  230. package/dist/collection/components/picker-column-option/picker-column-option.md.css +13 -1
  231. package/dist/collection/components/router/router.js +55 -14
  232. package/dist/collection/components/router/utils/dom.js +114 -1
  233. package/dist/collection/components/router/utils/path.js +17 -5
  234. package/dist/collection/components/searchbar/searchbar.js +26 -5
  235. package/dist/collection/components/split-pane/split-pane.js +1 -1
  236. package/dist/docs.json +4 -4
  237. package/dist/esm/{animation-CnGMT4ji.js → animation-DLJpuoEz.js} +1 -1
  238. package/dist/esm/{app-globals-DhZjtldk.js → app-globals-D0C5S4hU.js} +1 -1
  239. package/dist/esm/{button-active-BBx21brx.js → button-active-BSpTQmS9.js} +1 -1
  240. package/dist/esm/{config-TO1rZH52.js → config-DQCONYYp.js} +1 -1
  241. package/dist/esm/{data-B9iGR5YO.js → data-DZI70dKr.js} +1 -1
  242. package/dist/esm/{framework-delegate-CyxE1S_P.js → framework-delegate-FnPGymXL.js} +1 -1
  243. package/dist/esm/{hardware-back-button-CTe4XmL7.js → hardware-back-button-B93Gru0Y.js} +1 -1
  244. package/dist/esm/{helpers-Tl8jw6S2.js → helpers-HEqiOzXb.js} +1 -1
  245. package/dist/esm/{index-BtUdxPjv.js → index-BRHzoo00.js} +2 -2
  246. package/dist/esm/{index-B-hkiOUh.js → index-B_dQk_WE.js} +4 -4
  247. package/dist/esm/{index-hW6eNZ3o.js → index-MEDq2S8l.js} +2 -2
  248. package/dist/esm/{index-B2KwgBLx.js → index-Q6UPU0Ay.js} +5 -5
  249. package/dist/esm/{index-IGIE5vDm.js → index-tcQvqkiX.js} +67 -23
  250. package/dist/esm/index.js +12 -12
  251. package/dist/esm/{input-shims-DbrgeeNb.js → input-shims-D10mwcw1.js} +3 -3
  252. package/dist/esm/{input.utils-Bxa_DQ7-.js → input.utils-Y6NgW8bw.js} +2 -2
  253. package/dist/esm/ion-accordion_2.entry.js +3 -3
  254. package/dist/esm/ion-action-sheet.entry.js +8 -8
  255. package/dist/esm/ion-alert.entry.js +9 -9
  256. package/dist/esm/ion-app_8.entry.js +12 -12
  257. package/dist/esm/ion-avatar_3.entry.js +2 -2
  258. package/dist/esm/ion-back-button.entry.js +3 -3
  259. package/dist/esm/ion-backdrop.entry.js +2 -2
  260. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  261. package/dist/esm/ion-button_2.entry.js +3 -3
  262. package/dist/esm/ion-card_5.entry.js +3 -3
  263. package/dist/esm/ion-checkbox.entry.js +3 -3
  264. package/dist/esm/ion-chip.entry.js +2 -2
  265. package/dist/esm/ion-col_3.entry.js +2 -2
  266. package/dist/esm/ion-datetime-button.entry.js +4 -4
  267. package/dist/esm/ion-datetime_3.entry.js +9 -9
  268. package/dist/esm/ion-fab_3.entry.js +3 -3
  269. package/dist/esm/ion-img.entry.js +3 -3
  270. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  271. package/dist/esm/ion-input-otp.entry.js +6 -6
  272. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  273. package/dist/esm/ion-input.entry.js +5 -5
  274. package/dist/esm/ion-item-option_3.entry.js +4 -4
  275. package/dist/esm/ion-item_8.entry.js +3 -3
  276. package/dist/esm/ion-loading.entry.js +8 -8
  277. package/dist/esm/ion-menu_3.entry.js +8 -8
  278. package/dist/esm/ion-modal.entry.js +16 -13
  279. package/dist/esm/ion-nav_2.entry.js +6 -6
  280. package/dist/esm/ion-picker-column-option.entry.js +4 -4
  281. package/dist/esm/ion-picker-column.entry.js +3 -3
  282. package/dist/esm/ion-picker.entry.js +2 -2
  283. package/dist/esm/ion-popover.entry.js +8 -8
  284. package/dist/esm/ion-progress-bar.entry.js +3 -3
  285. package/dist/esm/ion-radio_2.entry.js +3 -3
  286. package/dist/esm/ion-range.entry.js +4 -4
  287. package/dist/esm/ion-refresher_2.entry.js +6 -6
  288. package/dist/esm/ion-reorder_2.entry.js +5 -5
  289. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  290. package/dist/esm/ion-route_4.entry.js +187 -21
  291. package/dist/esm/ion-searchbar.entry.js +29 -8
  292. package/dist/esm/ion-segment-content.entry.js +1 -1
  293. package/dist/esm/ion-segment-view.entry.js +1 -1
  294. package/dist/esm/ion-segment_2.entry.js +3 -3
  295. package/dist/esm/ion-select-modal.entry.js +6 -6
  296. package/dist/esm/ion-select_3.entry.js +7 -7
  297. package/dist/esm/ion-spinner.entry.js +2 -2
  298. package/dist/esm/ion-split-pane.entry.js +2 -2
  299. package/dist/esm/ion-tab-bar_2.entry.js +3 -3
  300. package/dist/esm/ion-tab_2.entry.js +3 -3
  301. package/dist/esm/ion-text.entry.js +2 -2
  302. package/dist/esm/ion-textarea.entry.js +5 -5
  303. package/dist/esm/ion-toast.entry.js +9 -9
  304. package/dist/esm/ion-toggle.entry.js +5 -5
  305. package/dist/esm/{ionic-global-DfbeLwcV.js → ionic-global-Cp_eT4sZ.js} +1 -1
  306. package/dist/esm/ionic.js +6 -6
  307. package/dist/esm/{ios.transition--aMF-pDH.js → ios.transition-ClFrsIrS.js} +4 -4
  308. package/dist/esm/loader.js +5 -5
  309. package/dist/esm/{md.transition-BEVbfm8j.js → md.transition-D0msQmzI.js} +4 -4
  310. package/dist/esm/{notch-controller-DAcvKU57.js → notch-controller-DKDjU_O7.js} +1 -1
  311. package/dist/esm/{overlays-F8GHPo-e.js → overlays-TbiM4mdr.js} +5 -5
  312. package/dist/esm/{status-tap-BfJqFSLF.js → status-tap-Kan2W7sh.js} +3 -3
  313. package/dist/esm/{swipe-back-D6Ce7Ca3.js → swipe-back-ZUWwA-KF.js} +2 -2
  314. package/dist/ionic/index.esm.js +1 -1
  315. package/dist/ionic/ionic.esm.js +1 -1
  316. package/dist/ionic/{p-f3e7b155.entry.js → p-00dbb17e.entry.js} +1 -1
  317. package/dist/ionic/{p-f2deaceb.entry.js → p-01f81ea5.entry.js} +1 -1
  318. package/dist/ionic/{p-078037da.entry.js → p-06c232a4.entry.js} +1 -1
  319. package/dist/ionic/{p-1ca9c36b.entry.js → p-0d005398.entry.js} +1 -1
  320. package/dist/ionic/{p-b325a113.entry.js → p-0fa9c382.entry.js} +1 -1
  321. package/dist/ionic/{p-6b97f2a3.entry.js → p-1ae21e4c.entry.js} +1 -1
  322. package/dist/ionic/{p-a805674e.entry.js → p-20b1a044.entry.js} +1 -1
  323. package/dist/ionic/p-21eb76d5.entry.js +4 -0
  324. package/dist/ionic/{p-164f79c4.entry.js → p-2394a9a6.entry.js} +1 -1
  325. package/dist/ionic/{p-6b701daa.entry.js → p-27d30585.entry.js} +1 -1
  326. package/dist/ionic/{p-f8186550.entry.js → p-2bb2cb18.entry.js} +1 -1
  327. package/dist/ionic/{p-8fda6a62.entry.js → p-2f55dc1a.entry.js} +1 -1
  328. package/dist/ionic/p-30bf9737.entry.js +4 -0
  329. package/dist/ionic/{p-031b76f7.entry.js → p-3353c229.entry.js} +1 -1
  330. package/dist/ionic/p-33704f20.entry.js +4 -0
  331. package/dist/ionic/{p-e863ffe8.entry.js → p-37e720da.entry.js} +1 -1
  332. package/dist/ionic/{p-d4e8b473.entry.js → p-390ca786.entry.js} +1 -1
  333. package/dist/ionic/{p-084c25b2.entry.js → p-3a126bca.entry.js} +1 -1
  334. package/dist/ionic/{p-7761ef65.entry.js → p-3a541154.entry.js} +1 -1
  335. package/dist/ionic/{p-2a68388b.entry.js → p-3a7d1e91.entry.js} +1 -1
  336. package/dist/ionic/{p-a893c61c.entry.js → p-3ae5f277.entry.js} +1 -1
  337. package/dist/ionic/{p-87125490.entry.js → p-4745f534.entry.js} +1 -1
  338. package/dist/ionic/{p-294f4bb5.entry.js → p-4858af1f.entry.js} +1 -1
  339. package/dist/ionic/{p-53f750a5.entry.js → p-4baa5b82.entry.js} +1 -1
  340. package/dist/ionic/{p-7ca71c83.entry.js → p-4dc1c33c.entry.js} +1 -1
  341. package/dist/ionic/{p-e663bc5a.entry.js → p-4e92a11f.entry.js} +1 -1
  342. package/dist/ionic/{p-6af16209.entry.js → p-50e1194a.entry.js} +1 -1
  343. package/dist/ionic/{p-c3cce9d8.entry.js → p-5d1da0a2.entry.js} +1 -1
  344. package/dist/ionic/{p-a84f2d21.entry.js → p-75dc25ba.entry.js} +1 -1
  345. package/dist/ionic/{p-f5dfb9a3.entry.js → p-81ea5652.entry.js} +1 -1
  346. package/dist/ionic/{p-1b169fb6.entry.js → p-84d5ce05.entry.js} +1 -1
  347. package/dist/ionic/{p-2fd110aa.entry.js → p-874b4bd8.entry.js} +1 -1
  348. package/dist/ionic/{p-23ec35e4.entry.js → p-8c8eee7d.entry.js} +1 -1
  349. package/dist/ionic/{p-301c43f8.entry.js → p-8eb8ee76.entry.js} +1 -1
  350. package/dist/ionic/p-8fce95d5.entry.js +4 -0
  351. package/dist/ionic/{p-7620be24.entry.js → p-94f2a736.entry.js} +1 -1
  352. package/dist/ionic/{p-aa812c4b.entry.js → p-9a65ac7f.entry.js} +1 -1
  353. package/dist/ionic/{p-bcaa827e.entry.js → p-9f1103ce.entry.js} +1 -1
  354. package/dist/ionic/{p-BAt5H1ac.js → p-BGqMS-oh.js} +1 -1
  355. package/dist/ionic/{p-DB_iPQC-.js → p-BUFIpxKM.js} +1 -1
  356. package/dist/ionic/{p-CmFz1Mjc.js → p-CFlfIb2g.js} +1 -1
  357. package/dist/ionic/p-CwdymDLH.js +4 -0
  358. package/dist/ionic/p-Cx3IXROA.js +4 -0
  359. package/{components/p-BS1TtEiJ.js → dist/ionic/p-DAAFkPFT.js} +1 -1
  360. package/{components/p-ak_d-z48.js → dist/ionic/p-DC3RagnA.js} +1 -1
  361. package/dist/ionic/{p-CGmVTdWh.js → p-DIuEbVLu.js} +1 -1
  362. package/dist/ionic/p-DSG2s2Eb.js +4 -0
  363. package/dist/ionic/{p-DcSNwXfb.js → p-Dfbt-q2k.js} +1 -1
  364. package/dist/ionic/p-DoJvtrbw.js +4 -0
  365. package/dist/ionic/{p-gbVXD275.js → p-DzWaWHGc.js} +1 -1
  366. package/{components/p-D6NJwNJN.js → dist/ionic/p-KjNvRoEp.js} +1 -1
  367. package/dist/ionic/{p-NFFyoJ4Q.js → p-Nqf6uvGh.js} +1 -1
  368. package/dist/ionic/p-SNAkTDfm.js +4 -0
  369. package/{components/p-9VcRUwdB.js → dist/ionic/p-VAemlbDS.js} +1 -1
  370. package/dist/ionic/{p-B8xlpH8p.js → p-Wk5HzclC.js} +1 -1
  371. package/dist/ionic/{p-9cbc6f1f.entry.js → p-a21add2f.entry.js} +1 -1
  372. package/dist/ionic/{p-370a60ee.entry.js → p-a3bdcae6.entry.js} +1 -1
  373. package/dist/ionic/{p-28a9e720.entry.js → p-aa5d6b8f.entry.js} +1 -1
  374. package/dist/ionic/{p-045a6a42.entry.js → p-c0fb8edd.entry.js} +1 -1
  375. package/dist/ionic/{p-80cac7a2.entry.js → p-c4d8641b.entry.js} +1 -1
  376. package/dist/ionic/{p-9833cf63.entry.js → p-c6e49f3f.entry.js} +1 -1
  377. package/dist/ionic/{p-ca31010f.entry.js → p-dfa8d673.entry.js} +1 -1
  378. package/dist/ionic/{p-0d8b5c38.entry.js → p-e0be05c5.entry.js} +1 -1
  379. package/dist/ionic/{p-f69a5f71.entry.js → p-e847a888.entry.js} +1 -1
  380. package/dist/ionic/{p-16813ce7.entry.js → p-ec090e0a.entry.js} +1 -1
  381. package/dist/ionic/{p-07506134.entry.js → p-ef4c3bee.entry.js} +1 -1
  382. package/dist/ionic/{p-fdbc90d4.entry.js → p-fabcce6c.entry.js} +1 -1
  383. package/dist/ionic/{p-050873ec.entry.js → p-facfde02.entry.js} +1 -1
  384. package/dist/ionic/{p-9a851035.entry.js → p-fd7eebc4.entry.js} +1 -1
  385. package/dist/ionic/p-mjKAFv89.js +4 -0
  386. package/dist/ionic/p-tcQvqkiX.js +5 -0
  387. package/{components/p-Cy5XSfIk.js → dist/ionic/p-viFHDgRs.js} +1 -1
  388. package/dist/ionic/{p-DTPR1Wpn.js → p-xOfi7-Zn.js} +1 -1
  389. package/dist/ionic/p-xWb6fgfq.js +4 -0
  390. package/dist/types/components/router/router.d.ts +7 -0
  391. package/dist/types/components/router/utils/dom.d.ts +10 -0
  392. package/dist/types/components/router/utils/interface.d.ts +2 -0
  393. package/dist/types/components/router/utils/path.d.ts +3 -2
  394. package/dist/types/components/searchbar/searchbar.d.ts +1 -0
  395. package/dist/types/components.d.ts +2 -2
  396. package/dist/types/stencil-public-runtime.d.ts +4 -1
  397. package/hydrate/index.js +1092 -428
  398. package/hydrate/index.mjs +1092 -428
  399. package/package.json +4 -4
  400. package/components/p-BJoMtgfR.js +0 -4
  401. package/components/p-BNAG-aVv.js +0 -4
  402. package/components/p-BeXMwcl5.js +0 -4
  403. package/components/p-BegtE7nr.js +0 -4
  404. package/components/p-C4jPsTQa.js +0 -4
  405. package/components/p-C59ryAuS.js +0 -4
  406. package/components/p-CU1SSH8_.js +0 -4
  407. package/components/p-CgqKJg96.js +0 -4
  408. package/components/p-CneGxKsZ.js +0 -4
  409. package/components/p-Csw8xuz4.js +0 -4
  410. package/components/p-DVJHuxRx.js +0 -4
  411. package/dist/ionic/p-23fac490.entry.js +0 -4
  412. package/dist/ionic/p-2f5a8140.entry.js +0 -4
  413. package/dist/ionic/p-771b27a5.entry.js +0 -4
  414. package/dist/ionic/p-BW_TRJm8.js +0 -4
  415. package/dist/ionic/p-Bum7H1fw.js +0 -4
  416. package/dist/ionic/p-BxIcPWoV.js +0 -4
  417. package/dist/ionic/p-CYbRmDdy.js +0 -4
  418. package/dist/ionic/p-CtA-yJYy.js +0 -4
  419. package/dist/ionic/p-Dt1wGZdq.js +0 -4
  420. package/dist/ionic/p-DtVZDHlS.js +0 -4
  421. package/dist/ionic/p-IGIE5vDm.js +0 -5
  422. package/dist/ionic/p-cbe95f72.entry.js +0 -4
  423. package/dist/ionic/p-hNN3VvaC.js +0 -4
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-DkNv4J_i.js');
7
- var helpers = require('./helpers-CxTYJdbT.js');
7
+ var helpers = require('./helpers-Cv23MFHM.js');
8
8
 
9
9
  /**
10
10
  * A utility to calculate the size of an outline notch
@@ -4,11 +4,11 @@
4
4
  'use strict';
5
5
 
6
6
  var index$1 = require('./index-DkNv4J_i.js');
7
- var helpers = require('./helpers-CxTYJdbT.js');
8
- var hardwareBackButton = require('./hardware-back-button-C4rMJ5uI.js');
9
- var index = require('./index-CqT-2gKy.js');
10
- var ionicGlobal = require('./ionic-global-Bc3kJi1Z.js');
11
- var frameworkDelegate = require('./framework-delegate-CRgp8o_p.js');
7
+ var helpers = require('./helpers-Cv23MFHM.js');
8
+ var hardwareBackButton = require('./hardware-back-button-iUuF_76h.js');
9
+ var index = require('./index-Ct7gcRif.js');
10
+ var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
11
+ var frameworkDelegate = require('./framework-delegate-BtICZDHr.js');
12
12
  var gestureController = require('./gesture-controller-dtqlP_q4.js');
13
13
 
14
14
  /**
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-CqT-2gKy.js');
7
- var index$1 = require('./index-MbaBbWXk.js');
8
- var helpers = require('./helpers-CxTYJdbT.js');
6
+ var index = require('./index-Ct7gcRif.js');
7
+ var index$1 = require('./index-CIrkNXqJ.js');
8
+ var helpers = require('./helpers-Cv23MFHM.js');
9
9
 
10
10
  const startStatusTap = () => {
11
11
  const win = window;
@@ -3,10 +3,10 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var helpers = require('./helpers-CxTYJdbT.js');
6
+ var helpers = require('./helpers-Cv23MFHM.js');
7
7
  var dir = require('./dir-Cn0z1rJH.js');
8
8
  var index = require('./index-CAvQ7Tka.js');
9
- require('./index-CqT-2gKy.js');
9
+ require('./index-Ct7gcRif.js');
10
10
  require('./gesture-controller-dtqlP_q4.js');
11
11
 
12
12
  const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
@@ -98,9 +98,10 @@
98
98
  "components/toggle/toggle.js",
99
99
  "components/toolbar/toolbar.js"
100
100
  ],
101
+ "mixins": [],
101
102
  "compiler": {
102
103
  "name": "@stencil/core",
103
- "version": "4.43.0",
104
+ "version": "4.43.5",
104
105
  "typescriptVersion": "5.8.3"
105
106
  },
106
107
  "collections": [
@@ -620,7 +620,7 @@ export class InputOTP {
620
620
  const tabbableIndex = this.getTabbableIndex();
621
621
  const pattern = this.getPattern();
622
622
  const hasDescription = ((_b = (_a = el.querySelector('.input-otp-description')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== '';
623
- return (h(Host, { key: '5c1386ae6b8038ec33ca94fd818c9353b1b37f75', class: createColorClasses(color, {
623
+ return (h(Host, { key: 'ffeec6d07b5d3cd375b72d4c9f4fe755d80ac094', class: createColorClasses(color, {
624
624
  [mode]: true,
625
625
  'has-focus': hasFocus,
626
626
  [`input-otp-size-${size}`]: true,
@@ -628,10 +628,10 @@ export class InputOTP {
628
628
  [`input-otp-fill-${fill}`]: true,
629
629
  'input-otp-disabled': disabled,
630
630
  'input-otp-readonly': readonly,
631
- }) }, h("div", Object.assign({ key: '9a19129688e55095f8386826c73ef3f9744becff', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: '7853819c3610c4691191f1836b947bf4ec17939d', class: {
631
+ }) }, h("div", Object.assign({ key: 'f42471e4ed8054f07162a52b42a0ca49c3d57bb0', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: 'b06461605b2404476b856785b7116e18b4dbaeaa', class: {
632
632
  'input-otp-description': true,
633
633
  'input-otp-description-hidden': !hasDescription,
634
- } }, h("slot", { key: 'f4674d47d3d3991f21a0a79321ebc323968071dc' }))));
634
+ } }, h("slot", { key: '5bf9e7dc365f6caf0d4b13ae26e5559cdbbd162c' }))));
635
635
  }
636
636
  static get is() { return "ion-input-otp"; }
637
637
  static get encapsulation() { return "scoped"; }
@@ -1162,20 +1162,20 @@ export class Modal {
1162
1162
  const isCardModal = presentingElement !== undefined && mode === 'ios';
1163
1163
  const isHandleCycle = handleBehavior === 'cycle';
1164
1164
  const isSheetModalWithHandle = isSheetModal && showHandle;
1165
- return (h(Host, Object.assign({ key: 'd6a271ace939c33703966a1425ab32b7a30bf246', "no-router": true,
1165
+ return (h(Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
1166
1166
  // Allow the modal to be navigable when the handle is focusable
1167
1167
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
1168
1168
  zIndex: `${20000 + this.overlayIndex}`,
1169
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '51e29823c1444059edc1299e2f8509dda4c39008', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '4292a849e82b83570b18b95e3cbdf05af0a4e170', class: "modal-shadow" }), h("div", Object.assign({ key: 'd3131150733c13cd6658545207e4ab49094672b7',
1169
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), h("div", Object.assign({ key: '3f6c61ba60b063592784d76a9594073b3bf210a9',
1170
1170
  /*
1171
1171
  role and aria-modal must be used on the
1172
1172
  same element. They must also be set inside the
1173
1173
  shadow DOM otherwise ion-button will not be highlighted
1174
1174
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
1175
1175
  */
1176
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '3da13bff87602c8c0aa8e3db54375b40d96d3b83', class: "modal-handle",
1176
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '7f66b4fdb3dec61a2b9aec4e9dbacf5d013d637c', class: "modal-handle",
1177
1177
  // Prevents the handle from receiving keyboard focus when it does not cycle
1178
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '73b22a4eb7ca2e499b9f843b66751a1dbfef69a9', onSlotchange: this.onSlotChange }))));
1178
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '2dfaaebe3d0b2a46be1224c25f9ab89bf1744332', onSlotchange: this.onSlotChange }))));
1179
1179
  }
1180
1180
  static get is() { return "ion-modal"; }
1181
1181
  static get encapsulation() { return "shadow"; }
@@ -2157,6 +2157,9 @@ export class Modal {
2157
2157
  }, {
2158
2158
  "propName": "trigger",
2159
2159
  "methodName": "triggerChanged"
2160
+ }, {
2161
+ "propName": "breakpoints",
2162
+ "methodName": "breakpointsChanged"
2160
2163
  }];
2161
2164
  }
2162
2165
  static get listeners() {
@@ -86,6 +86,18 @@
86
86
  cursor: default;
87
87
  }
88
88
 
89
- :host(.option-active) {
89
+ /**
90
+ * The active option is colored when either:
91
+ * - picker-column applies the `option-active` class (standalone ion-picker,
92
+ * where the column lives in the light DOM), or
93
+ * - datetime sets `part="... active"` on the option. This is the reliable
94
+ * value-based source of truth and keeps the option colored when the column
95
+ * lives inside datetime's shadow DOM, where the class can be missed
96
+ * (WebKit's elementsFromPoint is unreliable in a shadow root).
97
+ * TODO(FW-6594): Determine if this workaround can be removed when iOS 16 is
98
+ * no longer supported.
99
+ */
100
+ :host(.option-active),
101
+ :host([part~=active]) {
90
102
  color: var(--ion-color-base);
91
103
  }
@@ -2,7 +2,7 @@ import { debounce } from "../../utils/helpers";
2
2
  import { printIonError, printIonWarning } from "../../utils/logging/index";
3
3
  import { ROUTER_INTENT_BACK, ROUTER_INTENT_FORWARD, ROUTER_INTENT_NONE } from "./utils/constants";
4
4
  import { printRedirects, printRoutes } from "./utils/debug";
5
- import { readNavState, waitUntilNavNode, writeNavState } from "./utils/dom";
5
+ import { readNavState, scrollToFragment, waitUntilNavNode, writeNavState } from "./utils/dom";
6
6
  import { findChainForIDs, findChainForSegments, findRouteRedirect } from "./utils/matching";
7
7
  import { readRedirects, readRoutes } from "./utils/parser";
8
8
  import { chainToSegments, generatePath, parsePath, readSegments, writeSegments } from "./utils/path";
@@ -12,6 +12,7 @@ export class Router {
12
12
  this.busy = false;
13
13
  this.state = 0;
14
14
  this.lastState = 0;
15
+ this.fragmentScrollToken = 0;
15
16
  /**
16
17
  * The root path to use when matching URLs. By default, this is set to "/", but you can specify
17
18
  * an alternate prefix for all URL paths.
@@ -40,12 +41,17 @@ export class Router {
40
41
  if (typeof canProceed === 'object') {
41
42
  const { redirect } = canProceed;
42
43
  const path = parsePath(redirect);
43
- this.setSegments(path.segments, ROUTER_INTENT_NONE, path.queryString);
44
- await this.writeNavStateRoot(path.segments, ROUTER_INTENT_NONE);
44
+ this.setSegments(path.segments, ROUTER_INTENT_NONE, path.queryString, path.fragment);
45
+ const result = await this.writeNavStateRoot(path.segments, ROUTER_INTENT_NONE);
46
+ if (result) {
47
+ this.maybeScrollToFragment();
48
+ }
45
49
  }
50
+ return;
46
51
  }
47
- else {
48
- await this.onRoutesChanged();
52
+ const result = await this.onRoutesChanged();
53
+ if (result) {
54
+ this.maybeScrollToFragment();
49
55
  }
50
56
  }
51
57
  componentDidLoad() {
@@ -64,7 +70,11 @@ export class Router {
64
70
  return false;
65
71
  }
66
72
  }
67
- return this.writeNavStateRoot(segments, direction);
73
+ const result = await this.writeNavStateRoot(segments, direction);
74
+ if (result) {
75
+ this.maybeScrollToFragment();
76
+ }
77
+ return result;
68
78
  }
69
79
  onBackButton(ev) {
70
80
  ev.detail.register(0, (processNextHandler) => {
@@ -98,7 +108,7 @@ export class Router {
98
108
  const currentPath = (_a = this.previousPath) !== null && _a !== void 0 ? _a : '/';
99
109
  // Convert currentPath to an URL by pre-pending a protocol and a host to resolve the relative path.
100
110
  const url = new URL(path, `https://host/${currentPath}`);
101
- path = url.pathname + url.search;
111
+ path = url.pathname + url.search + url.hash;
102
112
  }
103
113
  let parsedPath = parsePath(path);
104
114
  const canProceed = await this.runGuards(parsedPath.segments);
@@ -110,8 +120,12 @@ export class Router {
110
120
  return false;
111
121
  }
112
122
  }
113
- this.setSegments(parsedPath.segments, direction, parsedPath.queryString);
114
- return this.writeNavStateRoot(parsedPath.segments, direction, animation);
123
+ this.setSegments(parsedPath.segments, direction, parsedPath.queryString, parsedPath.fragment);
124
+ const result = await this.writeNavStateRoot(parsedPath.segments, direction, animation);
125
+ if (result) {
126
+ this.maybeScrollToFragment();
127
+ }
128
+ return result;
115
129
  }
116
130
  /** Go back to previous page in the window.history. */
117
131
  back() {
@@ -141,7 +155,12 @@ export class Router {
141
155
  printIonWarning('[ion-router] - Router could not match path because some required param is missing.');
142
156
  return false;
143
157
  }
144
- this.setSegments(segments, direction);
158
+ // navChanged is an outlet-driven URL sync. Only keep the fragment when
159
+ // the path is unchanged; on a real navigation it refers to an anchor on
160
+ // the page being left and would be stale.
161
+ const newPath = generatePath(segments);
162
+ const fragment = newPath === this.previousPath ? this.getFragment() : undefined;
163
+ this.setSegments(segments, direction, undefined, fragment);
145
164
  await this.safeWriteNavState(outlet, chain, ROUTER_INTENT_NONE, segments, null, ids.length);
146
165
  return true;
147
166
  }
@@ -184,8 +203,8 @@ export class Router {
184
203
  const redirect = findRouteRedirect(segments, redirects);
185
204
  let redirectFrom = null;
186
205
  if (redirect) {
187
- const { segments: toSegments, queryString } = redirect.to;
188
- this.setSegments(toSegments, direction, queryString);
206
+ const { segments: toSegments, queryString, fragment } = redirect.to;
207
+ this.setSegments(toSegments, direction, queryString, fragment);
189
208
  redirectFrom = redirect.from;
190
209
  segments = toSegments;
191
210
  }
@@ -265,13 +284,35 @@ export class Router {
265
284
  }
266
285
  return changed;
267
286
  }
268
- setSegments(segments, direction, queryString) {
287
+ setSegments(segments, direction, queryString, fragment) {
269
288
  this.state++;
270
- writeSegments(window.history, this.root, this.useHash, segments, direction, this.state, queryString);
289
+ // Every URL write invalidates any in-flight fragment scroll: a newer nav
290
+ // (with or without a fragment, successful or not) should always supersede.
291
+ this.fragmentScrollToken++;
292
+ writeSegments(window.history, this.root, this.useHash, segments, direction, this.state, queryString, fragment);
271
293
  }
272
294
  getSegments() {
273
295
  return readSegments(window.location, this.root, this.useHash);
274
296
  }
297
+ getFragment() {
298
+ // In hash mode the URL fragment trails a second `#` (e.g. `#/path#anchor`);
299
+ // parse the routing portion to extract it.
300
+ const raw = this.useHash ? parsePath(window.location.hash.slice(1)).fragment : window.location.hash.slice(1);
301
+ return raw ? raw : undefined;
302
+ }
303
+ /**
304
+ * Fires a best-effort scroll to the current URL fragment. The scroll bails
305
+ * if a newer `setSegments` advances `fragmentScrollToken` mid-flight.
306
+ */
307
+ maybeScrollToFragment() {
308
+ const fragment = this.getFragment();
309
+ if (!fragment)
310
+ return;
311
+ const token = this.fragmentScrollToken;
312
+ // Fire-and-forget; the returned promise resolves only after the scroll
313
+ // animation completes, which the caller does not need to await.
314
+ scrollToFragment(fragment, () => token === this.fragmentScrollToken).catch(() => { });
315
+ }
275
316
  routeChangeEvent(toSegments, redirectFromSegments) {
276
317
  const from = this.previousPath;
277
318
  const to = generatePath(toSegments);
@@ -1,7 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { componentOnReady } from "../../../utils/helpers";
4
+ import { findClosestIonContent, getScrollElement, isIonContent } from "../../../utils/content/index";
5
+ import { componentOnReady, raf } from "../../../utils/helpers";
5
6
  import { printIonError } from "../../../utils/logging/index";
6
7
  import { ROUTER_INTENT_NONE } from "./constants";
7
8
  /**
@@ -66,6 +67,118 @@ export const readNavState = async (root) => {
66
67
  }
67
68
  return { ids, outlet };
68
69
  };
70
+ /** Max animation frames `scrollToFragment` polls while waiting for the target to mount. */
71
+ const FRAGMENT_POLL_FRAMES = 30;
72
+ /** Duration (ms) of the smooth-scroll animation that lands on the fragment target. */
73
+ const FRAGMENT_SCROLL_DURATION = 300;
74
+ const nextFrame = () => new Promise((resolve) => raf(() => resolve()));
75
+ /**
76
+ * Returns true when `el` lives inside an active `.ion-page`. `ion-page-hidden`
77
+ * marks nav back-stack entries; `tab-hidden` marks inactive `ion-tab` elements.
78
+ * Either class on the page's ancestor chain disqualifies it. When no `.ion-page`
79
+ * exists in the document at all (non-router pages), the candidate is accepted
80
+ * so plain anchors still work.
81
+ */
82
+ const isInActivePage = (el) => {
83
+ const page = el.closest('.ion-page');
84
+ if (page === null) {
85
+ return document.querySelector('.ion-page') === null;
86
+ }
87
+ return page.closest('.ion-page-hidden, .tab-hidden') === null;
88
+ };
89
+ /**
90
+ * Polls across animation frames for an element matching `fragment` that lives
91
+ * in the active page. Scoping by "last `.ion-page:not(.ion-page-hidden)`" is
92
+ * unreliable: inactive `ion-tab` siblings carry `.ion-page` (gated by
93
+ * `.tab-hidden`, not `.ion-page-hidden`) and can be ordered after the leaf.
94
+ * Instead, locate candidates globally and walk them from last to first,
95
+ * accepting the deepest one whose `.ion-page` ancestor is not hidden. The
96
+ * last-to-first order preserves leaf-most preference for nested outlets.
97
+ */
98
+ const findFragmentTarget = async (fragment, shouldContinue) => {
99
+ // CSS.escape is unavailable on very old WebViews; the fallback path uses
100
+ // `getElementById` and drops the legacy `<a name>` branch.
101
+ const canEscape = typeof CSS !== 'undefined' && typeof CSS.escape === 'function';
102
+ const escaped = canEscape ? CSS.escape(fragment) : null;
103
+ for (let i = 0; i < FRAGMENT_POLL_FRAMES; i++) {
104
+ if (!shouldContinue())
105
+ return null;
106
+ let candidates = [];
107
+ if (escaped !== null) {
108
+ try {
109
+ candidates = [...document.querySelectorAll(`#${escaped}, a[name="${escaped}"]`)];
110
+ }
111
+ catch (_a) {
112
+ candidates = [...document.querySelectorAll(`#${escaped}`)];
113
+ }
114
+ }
115
+ else {
116
+ const byId = document.getElementById(fragment);
117
+ if (byId !== null)
118
+ candidates = [byId];
119
+ }
120
+ for (let j = candidates.length - 1; j >= 0; j--) {
121
+ if (isInActivePage(candidates[j])) {
122
+ return candidates[j];
123
+ }
124
+ }
125
+ await nextFrame();
126
+ }
127
+ return null;
128
+ };
129
+ /**
130
+ * Scrolls to the element whose id matches `fragment`, falling back to a legacy
131
+ * `<a name="...">` target. When the target lives inside an `ion-content`, the
132
+ * scroll uses its smooth-animated scroll API; otherwise it falls back to
133
+ * `Element.scrollIntoView`.
134
+ *
135
+ * `shouldContinue` lets callers cancel in-flight scrolls when a newer
136
+ * navigation supersedes this one. It is checked between async steps.
137
+ */
138
+ export const scrollToFragment = async (fragment, shouldContinue = () => true) => {
139
+ if (fragment == null || fragment === '') {
140
+ return false;
141
+ }
142
+ // URL fragments are percent-encoded but element ids are not; decode for
143
+ // matching per the HTML spec's indicated-element resolution.
144
+ let decoded;
145
+ try {
146
+ decoded = decodeURIComponent(fragment);
147
+ }
148
+ catch (_a) {
149
+ decoded = fragment;
150
+ }
151
+ const target = await findFragmentTarget(decoded, shouldContinue);
152
+ if (!target || !shouldContinue()) {
153
+ return false;
154
+ }
155
+ // Best-effort scroll: swallow exceptions if the page tears down mid-animation.
156
+ try {
157
+ const contentHost = findClosestIonContent(target);
158
+ if (contentHost && isIonContent(contentHost)) {
159
+ const content = contentHost;
160
+ const scrollEl = await getScrollElement(content);
161
+ // Yield one frame so the newly mounted target's layout is stable
162
+ // before we measure its rect.
163
+ await nextFrame();
164
+ if (!shouldContinue())
165
+ return false;
166
+ const targetRect = target.getBoundingClientRect();
167
+ const scrollRect = scrollEl.getBoundingClientRect();
168
+ const top = targetRect.top - scrollRect.top + scrollEl.scrollTop;
169
+ // Preserve scrollLeft so RTL and horizontally-scrolling pages aren't reset.
170
+ await content.scrollToPoint(scrollEl.scrollLeft, top, FRAGMENT_SCROLL_DURATION);
171
+ }
172
+ else {
173
+ target.scrollIntoView({ behavior: 'smooth' });
174
+ }
175
+ return true;
176
+ }
177
+ catch (e) {
178
+ printIonError('[ion-router] - Exception in scrollToFragment:', e);
179
+ return false;
180
+ }
181
+ };
69
182
  export const waitUntilNavNode = () => {
70
183
  if (searchNavNode(document.body)) {
71
184
  return Promise.resolve();
@@ -7,7 +7,7 @@ export const generatePath = (segments) => {
7
7
  const path = segments.filter((s) => s.length > 0).join('/');
8
8
  return '/' + path;
9
9
  };
10
- const generateUrl = (segments, useHash, queryString) => {
10
+ const generateUrl = (segments, useHash, queryString, fragment) => {
11
11
  let url = generatePath(segments);
12
12
  if (useHash) {
13
13
  url = '#' + url;
@@ -15,10 +15,13 @@ const generateUrl = (segments, useHash, queryString) => {
15
15
  if (queryString !== undefined) {
16
16
  url += '?' + queryString;
17
17
  }
18
+ if (fragment !== undefined) {
19
+ url += '#' + fragment;
20
+ }
18
21
  return url;
19
22
  };
20
- export const writeSegments = (history, root, useHash, segments, direction, state, queryString) => {
21
- const url = generateUrl([...parsePath(root).segments, ...segments], useHash, queryString);
23
+ export const writeSegments = (history, root, useHash, segments, direction, state, queryString, fragment) => {
24
+ const url = generateUrl([...parsePath(root).segments, ...segments], useHash, queryString, fragment);
22
25
  if (direction === ROUTER_INTENT_FORWARD) {
23
26
  history.pushState(state, '', url);
24
27
  }
@@ -85,12 +88,21 @@ export const readSegments = (loc, root, useHash) => {
85
88
  /**
86
89
  * Parses the path to:
87
90
  * - segments an array of '/' separated parts,
88
- * - queryString (undefined when no query string).
91
+ * - queryString (undefined when no query string),
92
+ * - fragment (undefined when no `#`).
89
93
  */
90
94
  export const parsePath = (path) => {
91
95
  let segments = [''];
92
96
  let queryString;
97
+ let fragment;
93
98
  if (path != null) {
99
+ // The fragment ("#") starts a section that runs to the end of the URL.
100
+ // Anything inside it (including "?") is part of the fragment per RFC 3986.
101
+ const fragStart = path.indexOf('#');
102
+ if (fragStart > -1) {
103
+ fragment = path.substring(fragStart + 1);
104
+ path = path.substring(0, fragStart);
105
+ }
94
106
  const qsStart = path.indexOf('?');
95
107
  if (qsStart > -1) {
96
108
  queryString = path.substring(qsStart + 1);
@@ -104,5 +116,5 @@ export const parsePath = (path) => {
104
116
  segments = [''];
105
117
  }
106
118
  }
107
- return { segments, queryString };
119
+ return { segments, queryString, fragment };
108
120
  };
@@ -243,12 +243,14 @@ export class Searchbar {
243
243
  }, 300);
244
244
  }
245
245
  disconnectedCallback() {
246
+ var _a;
246
247
  if (this.loadTimeout) {
247
248
  clearTimeout(this.loadTimeout);
248
249
  }
249
250
  if (this.clearTimeout) {
250
251
  clearTimeout(this.clearTimeout);
251
252
  }
253
+ (_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
252
254
  }
253
255
  emitStyle() {
254
256
  this.ionStyle.emit({
@@ -346,6 +348,7 @@ export class Searchbar {
346
348
  doc.body.appendChild(tempSpan);
347
349
  // Get the width of the span then remove it
348
350
  raf(() => {
351
+ var _a, _b;
349
352
  const textWidth = tempSpan.offsetWidth;
350
353
  tempSpan.remove();
351
354
  // Calculate the input padding
@@ -357,7 +360,25 @@ export class Searchbar {
357
360
  * such as Dynamic Type on iOS as well as 8px
358
361
  * of padding.
359
362
  */
360
- const iconLeft = 'calc(50% - ' + (textWidth / 2 + iconEl.clientWidth + 8) + 'px)';
363
+ const iconWidth = iconEl.clientWidth;
364
+ /**
365
+ * Fix for https://github.com/ionic-team/ionic-framework/issues/30434:
366
+ * iconEl.clientWidth can very briefly be 0 when this is called from componentDidLoad.
367
+ * If it is zero, set up a ResizeObserver and call this function when it observes a width greater than 0.
368
+ */
369
+ if (iconWidth === 0) {
370
+ (_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
371
+ this.searchIconResizeObserver = new ResizeObserver((entries) => {
372
+ var _a;
373
+ if (entries[0].contentRect.width > 0) {
374
+ (_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
375
+ this.positionPlaceholder();
376
+ }
377
+ });
378
+ (_b = this.searchIconResizeObserver) === null || _b === void 0 ? void 0 : _b.observe(iconEl);
379
+ return;
380
+ }
381
+ const iconLeft = 'calc(50% - ' + (textWidth / 2 + iconWidth + 8) + 'px)';
361
382
  // Set the input padding start and icon margin start
362
383
  if (rtl) {
363
384
  inputEl.style.paddingRight = inputLeft;
@@ -438,8 +459,8 @@ export class Searchbar {
438
459
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
439
460
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
440
461
  const shouldShowCancelButton = this.shouldShowCancelButton();
441
- const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '9e9f3a7f6ee66140181f8c3cfa42bbeee75adafc', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '5f83fbcc0708830637815e8c0b69356cad381870', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
442
- return (h(Host, { key: '219c263c1f3cc63e18bc2d2ba5d672b7806eddd0', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
462
+ const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '226b7a676b4819cda4062b8334fa8d4c4cee6f1a', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '89adb4efa17a78c973bbd5527cfac91d99ceb9bb', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
463
+ return (h(Host, { key: '237dd767403dba3cb3d7de8905996e275669da3b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
443
464
  [mode]: true,
444
465
  'searchbar-animated': animated,
445
466
  'searchbar-disabled': this.disabled,
@@ -449,14 +470,14 @@ export class Searchbar {
449
470
  'searchbar-has-focus': this.focused,
450
471
  'searchbar-should-show-clear': this.shouldShowClearButton(),
451
472
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
452
- }) }, h("div", { key: '3f1c25442d6d87c0df67f79482a925b80dcc403d', class: "searchbar-input-container" }, h("input", Object.assign({ key: 'a386fecafda0fab449ea1488906ba6cfc55e2b5c', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, h("ion-icon", { key: '5f81642628335def39a14f0726e0fafdc7203776', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: 'da3073646f2d7f639261b556517fbadabc3c10e9', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
473
+ }) }, h("div", { key: '5b4bdf7280bea710304b6975e76390fe6ceb7417', class: "searchbar-input-container" }, h("input", Object.assign({ key: '01a0820a2cf904aec1c7d84b542ab7918d435632', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, h("ion-icon", { key: 'cd64973206b1cc59d221112861733b7ee25f0323', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '2061fa8449bbc576cf8c5130ea613378ea492944', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
453
474
  /**
454
475
  * This prevents mobile browsers from
455
476
  * blurring the input when the clear
456
477
  * button is activated.
457
478
  */
458
479
  ev.preventDefault();
459
- }, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '065cd6c707ae462c0767df1bab04ce8045f340a4', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
480
+ }, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '00df6f7742bff70b1b088d544b8c00e962e7216c', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
460
481
  }
461
482
  static get is() { return "ion-searchbar"; }
462
483
  static get encapsulation() { return "scoped"; }
@@ -206,7 +206,7 @@ export class SplitPane {
206
206
  "setter": false,
207
207
  "reflect": false,
208
208
  "attribute": "when",
209
- "defaultValue": "QUERY['lg']"
209
+ "defaultValue": "'(min-width: 992px)'"
210
210
  }
211
211
  };
212
212
  }
package/dist/docs.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2026-06-01T03:46:08",
2
+ "timestamp": "2026-06-28T16:23:29",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
- "version": "4.43.0",
5
+ "version": "4.43.5",
6
6
  "typescriptVersion": "5.8.3"
7
7
  },
8
8
  "components": [
@@ -33097,10 +33097,10 @@
33097
33097
  "docsTags": [
33098
33098
  {
33099
33099
  "name": "default",
33100
- "text": "QUERY['lg']"
33100
+ "text": "'(min-width: 992px)'"
33101
33101
  }
33102
33102
  ],
33103
- "default": "QUERY['lg']",
33103
+ "default": "'(min-width: 992px)'",
33104
33104
  "values": [
33105
33105
  {
33106
33106
  "type": "boolean"
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { j as printIonError } from './index-IGIE5vDm.js';
4
+ import { j as printIonError } from './index-tcQvqkiX.js';
5
5
  import { w as win } from './index-ZjP4CjeZ.js';
6
6
 
7
7
  let animationPrefix;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { i as initialize } from './ionic-global-DfbeLwcV.js';
4
+ import { i as initialize } from './ionic-global-Cp_eT4sZ.js';
5
5
 
6
6
  const appGlobalScript = initialize || (() => {});
7
7
  const globalScripts = appGlobalScript;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask } from './index-IGIE5vDm.js';
4
+ import { w as writeTask } from './index-tcQvqkiX.js';
5
5
  import { h as hapticSelectionEnd, a as hapticSelectionChanged, b as hapticSelectionStart } from './haptic-DzAMWJuk.js';
6
6
  import { createGesture } from './index-CfgBF1SE.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { j as printIonError } from './index-IGIE5vDm.js';
4
+ import { j as printIonError } from './index-tcQvqkiX.js';
5
5
 
6
6
  /**
7
7
  * Does a simple sanitization of all elements
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { f as printIonWarning } from './index-IGIE5vDm.js';
4
+ import { f as printIonWarning } from './index-tcQvqkiX.js';
5
5
 
6
6
  /**
7
7
  * Returns true if the selected day is equal to the reference day