@ionic/core 9.0.7-dev.11791478996.1b854592 → 9.0.7-dev.11792524803.14f0e7d2

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 (477) 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.js +1 -1
  59. package/components/ion-popover.js +1 -1
  60. package/components/ion-progress-bar.js +1 -1
  61. package/components/ion-radio-group.js +1 -1
  62. package/components/ion-radio.js +1 -1
  63. package/components/ion-range.js +1 -1
  64. package/components/ion-refresher-content.js +1 -1
  65. package/components/ion-refresher.js +1 -1
  66. package/components/ion-reorder-group.js +1 -1
  67. package/components/ion-reorder.js +1 -1
  68. package/components/ion-ripple-effect.js +1 -1
  69. package/components/ion-route-redirect.js +1 -1
  70. package/components/ion-route.js +1 -1
  71. package/components/ion-router-link.js +1 -1
  72. package/components/ion-router-outlet.js +1 -1
  73. package/components/ion-router.js +1 -1
  74. package/components/ion-row.js +1 -1
  75. package/components/ion-searchbar.js +1 -1
  76. package/components/ion-segment-button.js +1 -1
  77. package/components/ion-segment-content.js +1 -1
  78. package/components/ion-segment-view.js +1 -1
  79. package/components/ion-segment.js +1 -1
  80. package/components/ion-select-modal.js +1 -1
  81. package/components/ion-select-option.js +1 -1
  82. package/components/ion-select-popover.js +1 -1
  83. package/components/ion-select.js +1 -1
  84. package/components/ion-skeleton-text.js +1 -1
  85. package/components/ion-spinner.js +1 -1
  86. package/components/ion-split-pane.js +1 -1
  87. package/components/ion-tab-bar.js +1 -1
  88. package/components/ion-tab-button.js +1 -1
  89. package/components/ion-tab.js +1 -1
  90. package/components/ion-tabs.js +1 -1
  91. package/components/ion-text.js +1 -1
  92. package/components/ion-textarea.js +1 -1
  93. package/components/ion-thumbnail.js +1 -1
  94. package/components/ion-title.js +1 -1
  95. package/components/ion-toast.js +1 -1
  96. package/components/ion-toggle.js +1 -1
  97. package/components/ion-toolbar.js +1 -1
  98. package/components/{p-CvyvLbPe.js → p-6sKRBFnK.js} +1 -1
  99. package/components/{p-V1THdfzs.js → p-B8HBLiYi.js} +1 -1
  100. package/components/{p-HthJZjZ6.js → p-BEiYs-sz.js} +1 -1
  101. package/components/p-BKeulLTJ.js +4 -0
  102. package/components/{p-D0nwlsl_.js → p-BKxLivx4.js} +1 -1
  103. package/components/{p-BMHdI-wb.js → p-BLjEwM6v.js} +1 -1
  104. package/components/p-BNnmwjuy.js +4 -0
  105. package/components/{p-DMPsc_0r.js → p-BSJriPuC.js} +1 -1
  106. package/components/p-BUVGbkSc.js +4 -0
  107. package/components/{p-KbMCbGRA.js → p-B_tZQKpS.js} +1 -1
  108. package/components/{p-DhfJAkyd.js → p-BinR4_P7.js} +1 -1
  109. package/components/{p-CqvARtmt.js → p-BrOSQhkA.js} +1 -1
  110. package/components/p-BriaEJK8.js +4 -0
  111. package/components/p-BsLM9eQu.js +4 -0
  112. package/components/p-Bu6O-veK.js +4 -0
  113. package/{dist/ionic/p-e1haAYzm.js → components/p-C7rB-0-1.js} +1 -1
  114. package/components/{p-CdrNHfZl.js → p-C9ioHZq-.js} +1 -1
  115. package/components/{p-BODcC-C0.js → p-CAQG0btC.js} +1 -1
  116. package/components/{p-BqyLLYLm.js → p-CHHkdXfP.js} +1 -1
  117. package/components/{p-Bd8hg9FK.js → p-CJgshb3W.js} +1 -1
  118. package/components/{p-jsVMT15X.js → p-CQjNc-Pz.js} +1 -1
  119. package/components/{p-Drpw2dyl.js → p-CTUMJM0R.js} +1 -1
  120. package/components/p-CVVUo4J1.js +4 -0
  121. package/components/{p-DBtFJlTi.js → p-CXy2v7GI.js} +1 -1
  122. package/components/{p-C1AxSUnp.js → p-C_NQIzjP.js} +1 -1
  123. package/components/{p-Ba9_OzSY.js → p-Canp1qah.js} +1 -1
  124. package/components/p-CcQQ8oRo.js +4 -0
  125. package/components/{p-hLu-eIbb.js → p-CiFFeRH9.js} +1 -1
  126. package/components/{p-DnGlmM4u.js → p-CiXOsJF2.js} +1 -1
  127. package/components/p-Ctw69DyZ.js +4 -0
  128. package/components/{p-C_gnmBt2.js → p-CvzE7FFp.js} +1 -1
  129. package/components/{p-r59A3wQk.js → p-CzykzqAO.js} +1 -1
  130. package/components/{p--cshUOAU.js → p-D0jSx7rE.js} +1 -1
  131. package/components/{p-YNnH1_Hs.js → p-D4NOsSCE.js} +1 -1
  132. package/components/{p-CJdQ1u7W.js → p-DGLuPe1e.js} +1 -1
  133. package/components/{p-CjPRDxby.js → p-DGUed0uX.js} +1 -1
  134. package/components/{p-DDI6VLW9.js → p-DM2jMsSO.js} +1 -1
  135. package/components/{p-yGD6MBgf.js → p-DPyjiKOq.js} +1 -1
  136. package/components/{p-7KepMw9O.js → p-DSmHJ2DH.js} +1 -1
  137. package/components/{p-DHo45oj7.js → p-DWGgvN5e.js} +1 -1
  138. package/components/{p-B4IBdPVJ.js → p-DlUdjUlf.js} +1 -1
  139. package/components/{p-ChkSQqfP.js → p-Dlr7b3_2.js} +1 -1
  140. package/components/{p-ChsJlFCQ.js → p-LH1I_Zhd.js} +1 -1
  141. package/components/{p-CQKWzUsE.js → p-PPagT42x.js} +1 -1
  142. package/components/{p-ZrYBjOcc.js → p-RJT5zTbD.js} +1 -1
  143. package/components/{p-GpqwNbxf.js → p-T2dnrBya.js} +1 -1
  144. package/components/p-WMQuK_Tj.js +4 -0
  145. package/components/{p-_y7kwBO8.js → p-eJpG4UbM.js} +1 -1
  146. package/components/{p-TLtgwTFF.js → p-fFx6WCTj.js} +1 -1
  147. package/components/p-q2WJ5Igc.js +4 -0
  148. package/components/{p-CKiqp4Vl.js → p-y7Nhe3de.js} +1 -1
  149. package/components/{p-BVNUhOOf.js → p-yjLe0sN2.js} +1 -1
  150. package/css/core.css.map +1 -1
  151. package/css/display.css.map +1 -1
  152. package/css/flex-utils.css.map +1 -1
  153. package/css/float-elements.css +1 -1
  154. package/css/float-elements.css.map +1 -1
  155. package/css/global.bundle.css.map +1 -1
  156. package/css/ionic.bundle.css +1 -1
  157. package/css/ionic.bundle.css.map +1 -1
  158. package/css/padding.css.map +1 -1
  159. package/css/structure.css.map +1 -1
  160. package/css/text-alignment.css.map +1 -1
  161. package/css/text-transformation.css.map +1 -1
  162. package/css/typography.css.map +1 -1
  163. package/css/utils.bundle.css +1 -1
  164. package/css/utils.bundle.css.map +1 -1
  165. package/dist/cjs/{animation-DcgLg_PI.js → animation-BFKyYY11.js} +2 -2
  166. package/dist/cjs/{app-globals-BoFCZq0K.js → app-globals-BLTzqkrC.js} +1 -1
  167. package/dist/cjs/{attribute-controller-BjTE2TOf.js → attribute-controller-CXIeB0Mn.js} +1 -1
  168. package/dist/cjs/{button-active-FdsfRDY_.js → button-active-CEQaiV9N.js} +2 -2
  169. package/dist/cjs/{capacitor-C6Pp4Z7A.js → capacitor-BMzmHhwe.js} +1 -1
  170. package/dist/cjs/{format-CVjpvAl1.js → format-CdRlDqPs.js} +1 -1
  171. package/dist/cjs/{framework-delegate-JbKIVMzR.js → framework-delegate-DTLbqaaO.js} +1 -1
  172. package/dist/cjs/{haptic--4QteuuM.js → haptic-CJVUv_GB.js} +1 -1
  173. package/dist/cjs/{helpers-Cqr69qxA.js → helpers-Crluoxqu.js} +1 -1
  174. package/dist/cjs/{index-CNaZ6SYM.js → index-BAM4223M.js} +2 -2
  175. package/dist/cjs/{index-BQpSekmz.js → index-BKpybYNI.js} +2 -2
  176. package/dist/cjs/{index-B4ONUQRp.js → index-BSD7toMO.js} +1 -1
  177. package/dist/cjs/{index-BhWiDK25.js → index-CElfU-dK.js} +5 -6
  178. package/dist/cjs/{index-DCfr5hz-.js → index-CgXTRA_-.js} +4 -16
  179. package/dist/cjs/{index-BiQyIvoc.js → index-SAR1xwtW.js} +27 -40
  180. package/dist/cjs/index.cjs.js +11 -11
  181. package/dist/cjs/{input-shims-2AsXPZ5m.js → input-shims-CHghGZe-.js} +5 -5
  182. package/dist/cjs/{input.utils-Becpo0ax.js → input.utils-BBZr0wjw.js} +1 -1
  183. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  184. package/dist/cjs/ion-action-sheet.cjs.entry.js +11 -11
  185. package/dist/cjs/ion-alert.cjs.entry.js +11 -11
  186. package/dist/cjs/ion-app_8.cjs.entry.js +18 -46
  187. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  188. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  189. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  190. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  191. package/dist/cjs/ion-button_2.cjs.entry.js +4 -4
  192. package/dist/cjs/ion-card_5.cjs.entry.js +4 -4
  193. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
  194. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  195. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  196. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  197. package/dist/cjs/ion-datetime.cjs.entry.js +6 -6
  198. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  199. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  200. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  201. package/dist/cjs/ion-input-otp.cjs.entry.js +8 -33
  202. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  203. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  204. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  205. package/dist/cjs/ion-item_8.cjs.entry.js +4 -4
  206. package/dist/cjs/ion-loading.cjs.entry.js +7 -7
  207. package/dist/cjs/ion-menu_3.cjs.entry.js +9 -10
  208. package/dist/cjs/ion-modal.cjs.entry.js +11 -11
  209. package/dist/cjs/ion-nav_2.cjs.entry.js +7 -29
  210. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  211. package/dist/cjs/ion-picker-column.cjs.entry.js +5 -5
  212. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  213. package/dist/cjs/ion-popover.cjs.entry.js +7 -7
  214. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  215. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  216. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  217. package/dist/cjs/ion-refresher_2.cjs.entry.js +8 -8
  218. package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
  219. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  220. package/dist/cjs/ion-route_4.cjs.entry.js +125 -20
  221. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  222. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  223. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +7 -7
  226. package/dist/cjs/ion-select_3.cjs.entry.js +8 -8
  227. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  228. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  229. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
  230. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  231. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  232. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  233. package/dist/cjs/ion-toast.cjs.entry.js +7 -7
  234. package/dist/cjs/ion-toggle.cjs.entry.js +6 -6
  235. package/dist/cjs/{ionic-global-48ceLiJ6.js → ionic-global-C1h8Yi_K.js} +1 -1
  236. package/dist/cjs/ionic.cjs.js +5 -5
  237. package/dist/cjs/{ios.transition-Ca6XODo9.js → ios.transition-YFSxiyP_.js} +4 -4
  238. package/dist/cjs/{item-multiple-inputs-C-hz7xrh.js → item-multiple-inputs-h2PyAFzG.js} +1 -1
  239. package/dist/cjs/{keyboard-BlHp4a_c.js → keyboard-C-C7xMKk.js} +1 -1
  240. package/dist/cjs/{keyboard-c2_I35b-.js → keyboard-Cv-LNReK.js} +4 -4
  241. package/dist/cjs/{keyboard-controller-DHS0BgXp.js → keyboard-controller-CLcFxSnb.js} +2 -2
  242. package/dist/cjs/loader.cjs.js +4 -4
  243. package/dist/cjs/{md.transition-D8SfNYEp.js → md.transition-Cm8yg0UK.js} +4 -4
  244. package/dist/cjs/{overlays-CLld3axA.js → overlays-C68wNDWY.js} +20 -79
  245. package/dist/cjs/{select-option-render-CzyhrkOu.js → select-option-render-C-Yh9yZG.js} +2 -2
  246. package/dist/cjs/{slot-mutation-controller-ClDxh3EK.js → slot-mutation-controller-zixZ5LyH.js} +1 -1
  247. package/dist/cjs/{status-tap-CDA0Y3Ad.js → status-tap-C3frTJ4c.js} +3 -3
  248. package/dist/cjs/{swipe-back-Idb4gqUk.js → swipe-back-BigumsQ1.js} +2 -2
  249. package/dist/collection/collection-manifest.json +1 -1
  250. package/dist/collection/components/input-otp/input-otp.js +3 -29
  251. package/dist/collection/components/menu/menu.js +3 -4
  252. package/dist/collection/components/nav/nav.js +2 -24
  253. package/dist/collection/components/route/route.js +9 -1
  254. package/dist/collection/components/route-redirect/route-redirect.js +1 -1
  255. package/dist/collection/components/router/utils/constants.js +2 -0
  256. package/dist/collection/components/router/utils/matching.js +97 -14
  257. package/dist/collection/components/router/utils/path.js +17 -3
  258. package/dist/collection/components/router-outlet/router-outlet.js +3 -31
  259. package/dist/collection/utils/hardware-back-button.js +12 -41
  260. package/dist/collection/utils/menu-controller/index.js +1 -2
  261. package/dist/collection/utils/overlays.js +4 -30
  262. package/dist/collection/utils/transition/index.js +0 -11
  263. package/dist/docs.json +4 -4
  264. package/dist/esm/{animation-DmtJpz89.js → animation-CFd8Olt3.js} +2 -2
  265. package/dist/esm/{app-globals-CNfpAPW6.js → app-globals-7GHLBkwd.js} +1 -1
  266. package/dist/esm/{attribute-controller-DPMIcbef.js → attribute-controller-Cn665x42.js} +1 -1
  267. package/dist/esm/{button-active-DVk40Sjl.js → button-active-DMuYeDQN.js} +2 -2
  268. package/dist/esm/{capacitor-CHJaJ9aX.js → capacitor-CoEgIpR9.js} +1 -1
  269. package/dist/esm/{format-Ck1cw5z7.js → format-C9zPmwKU.js} +1 -1
  270. package/dist/esm/{framework-delegate-CDjM1vRH.js → framework-delegate-DeT5pmPB.js} +1 -1
  271. package/dist/esm/{haptic-WXfMCob9.js → haptic-Dxm7ZmT5.js} +1 -1
  272. package/dist/esm/{helpers-BJqKF1pr.js → helpers-B54ynME_.js} +1 -1
  273. package/dist/esm/{index-TkLga3ma.js → index--21qeSt0.js} +2 -2
  274. package/dist/esm/{index-z9vdZN7I.js → index-B8iieOdw.js} +5 -16
  275. package/dist/esm/{index-DIouXecD.js → index-B9jhwvmO.js} +5 -6
  276. package/dist/esm/{index-CK8uF0iB.js → index-D4ZMZz_3.js} +1 -1
  277. package/dist/esm/{index-BpRUsN_W.js → index-D9OR05yj.js} +27 -40
  278. package/dist/esm/{index-Clv8QC5L.js → index-D_xZtbw6.js} +2 -2
  279. package/dist/esm/index.js +11 -11
  280. package/dist/esm/{input-shims-C1iYF5JK.js → input-shims-MCrhq67U.js} +5 -5
  281. package/dist/esm/{input.utils-DZY_K8Po.js → input.utils-B-IIWrwT.js} +1 -1
  282. package/dist/esm/ion-accordion_2.entry.js +3 -3
  283. package/dist/esm/ion-action-sheet.entry.js +11 -11
  284. package/dist/esm/ion-alert.entry.js +11 -11
  285. package/dist/esm/ion-app_8.entry.js +18 -46
  286. package/dist/esm/ion-avatar_3.entry.js +2 -2
  287. package/dist/esm/ion-back-button.entry.js +3 -3
  288. package/dist/esm/ion-backdrop.entry.js +2 -2
  289. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  290. package/dist/esm/ion-button_2.entry.js +4 -4
  291. package/dist/esm/ion-card_5.entry.js +4 -4
  292. package/dist/esm/ion-checkbox.entry.js +4 -4
  293. package/dist/esm/ion-chip.entry.js +2 -2
  294. package/dist/esm/ion-col_3.entry.js +2 -2
  295. package/dist/esm/ion-datetime-button.entry.js +4 -4
  296. package/dist/esm/ion-datetime.entry.js +6 -6
  297. package/dist/esm/ion-fab_3.entry.js +3 -3
  298. package/dist/esm/ion-img.entry.js +3 -3
  299. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  300. package/dist/esm/ion-input-otp.entry.js +8 -33
  301. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  302. package/dist/esm/ion-input.entry.js +5 -5
  303. package/dist/esm/ion-item-option_3.entry.js +4 -4
  304. package/dist/esm/ion-item_8.entry.js +4 -4
  305. package/dist/esm/ion-loading.entry.js +7 -7
  306. package/dist/esm/ion-menu_3.entry.js +9 -10
  307. package/dist/esm/ion-modal.entry.js +11 -11
  308. package/dist/esm/ion-nav_2.entry.js +7 -29
  309. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  310. package/dist/esm/ion-picker-column.entry.js +5 -5
  311. package/dist/esm/ion-picker.entry.js +2 -2
  312. package/dist/esm/ion-popover.entry.js +7 -7
  313. package/dist/esm/ion-progress-bar.entry.js +3 -3
  314. package/dist/esm/ion-radio_2.entry.js +4 -4
  315. package/dist/esm/ion-range.entry.js +4 -4
  316. package/dist/esm/ion-refresher_2.entry.js +8 -8
  317. package/dist/esm/ion-reorder_2.entry.js +6 -6
  318. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  319. package/dist/esm/ion-route_4.entry.js +125 -20
  320. package/dist/esm/ion-searchbar.entry.js +3 -3
  321. package/dist/esm/ion-segment-content.entry.js +1 -1
  322. package/dist/esm/ion-segment-view.entry.js +1 -1
  323. package/dist/esm/ion-segment_2.entry.js +3 -3
  324. package/dist/esm/ion-select-modal.entry.js +7 -7
  325. package/dist/esm/ion-select_3.entry.js +8 -8
  326. package/dist/esm/ion-spinner.entry.js +2 -2
  327. package/dist/esm/ion-split-pane.entry.js +2 -2
  328. package/dist/esm/ion-tab-bar_2.entry.js +6 -6
  329. package/dist/esm/ion-tab_2.entry.js +3 -3
  330. package/dist/esm/ion-text.entry.js +2 -2
  331. package/dist/esm/ion-textarea.entry.js +5 -5
  332. package/dist/esm/ion-toast.entry.js +7 -7
  333. package/dist/esm/ion-toggle.entry.js +6 -6
  334. package/dist/esm/{ionic-global-Cep6oYzK.js → ionic-global-B-G43ddm.js} +1 -1
  335. package/dist/esm/ionic.js +6 -6
  336. package/dist/esm/{ios.transition-BkUGiDUz.js → ios.transition-CRfGj4Mo.js} +4 -4
  337. package/dist/esm/{item-multiple-inputs-Bd2LO7qK.js → item-multiple-inputs-BSD9wGHO.js} +1 -1
  338. package/dist/esm/{keyboard-B4Y-Gph8.js → keyboard-DDw62P0D.js} +4 -4
  339. package/dist/esm/{keyboard-controller-B2NoF7bV.js → keyboard-controller-Dzjet5wD.js} +2 -2
  340. package/dist/esm/{keyboard-Cmqp5iZD.js → keyboard-ly3M0GO7.js} +1 -1
  341. package/dist/esm/loader.js +5 -5
  342. package/dist/esm/{md.transition-B6hlrWjR.js → md.transition-wqThNy_C.js} +4 -4
  343. package/dist/esm/{overlays-DmDY-El7.js → overlays-BQnV0HAU.js} +21 -78
  344. package/dist/esm/{select-option-render-BSDT9oSA.js → select-option-render-CGxPejmz.js} +2 -2
  345. package/dist/esm/{slot-mutation-controller-hAS2uJ7c.js → slot-mutation-controller-C3s4-_YN.js} +1 -1
  346. package/dist/esm/{status-tap-VGRBYwiC.js → status-tap-DRx9wSD_.js} +3 -3
  347. package/dist/esm/{swipe-back-DV3UpWzz.js → swipe-back-Ch3UU_US.js} +2 -2
  348. package/dist/html.html-data.json +2 -2
  349. package/dist/ionic/index.esm.js +1 -1
  350. package/dist/ionic/ionic.esm.js +1 -1
  351. package/dist/ionic/{p-7db20410.entry.js → p-0517aec4.entry.js} +1 -1
  352. package/dist/ionic/{p-9ffccbf1.entry.js → p-083b1119.entry.js} +1 -1
  353. package/dist/ionic/{p-d0e374f8.entry.js → p-0ab133d6.entry.js} +1 -1
  354. package/dist/ionic/{p-4d785062.entry.js → p-1213b719.entry.js} +1 -1
  355. package/dist/ionic/{p-0c32c626.entry.js → p-150f350e.entry.js} +1 -1
  356. package/dist/ionic/{p-c293f854.entry.js → p-20d1ac29.entry.js} +1 -1
  357. package/dist/ionic/{p-d72accc4.entry.js → p-24b0a961.entry.js} +1 -1
  358. package/dist/ionic/{p-d2406889.entry.js → p-28f506ce.entry.js} +1 -1
  359. package/dist/ionic/{p-930c3538.entry.js → p-2e6e933d.entry.js} +1 -1
  360. package/dist/ionic/{p-0f97175e.entry.js → p-30dcf43b.entry.js} +1 -1
  361. package/dist/ionic/{p-00cd107d.entry.js → p-378341d1.entry.js} +1 -1
  362. package/dist/ionic/{p-6c7b5930.entry.js → p-37f46670.entry.js} +1 -1
  363. package/dist/ionic/{p-b9ed3a52.entry.js → p-3a5faaa8.entry.js} +1 -1
  364. package/dist/ionic/p-3bd7e5df.entry.js +4 -0
  365. package/dist/ionic/{p-4e4e5919.entry.js → p-3c4b0ba7.entry.js} +1 -1
  366. package/dist/ionic/{p-4bd80334.entry.js → p-42b2a992.entry.js} +1 -1
  367. package/dist/ionic/p-52449f1f.entry.js +4 -0
  368. package/dist/ionic/p-52dc3309.entry.js +4 -0
  369. package/dist/ionic/{p-64ac3864.entry.js → p-58f914ee.entry.js} +1 -1
  370. package/dist/ionic/{p-b3aadfe8.entry.js → p-5b9666be.entry.js} +1 -1
  371. package/dist/ionic/{p-a4389f13.entry.js → p-5c19330c.entry.js} +1 -1
  372. package/dist/ionic/{p-bfdbe24b.entry.js → p-61b304c8.entry.js} +1 -1
  373. package/dist/ionic/{p-0b09c60e.entry.js → p-624f2fa8.entry.js} +1 -1
  374. package/dist/ionic/{p-d9a3dfd1.entry.js → p-636349e2.entry.js} +1 -1
  375. package/dist/ionic/{p-4f25b926.entry.js → p-6865f0e1.entry.js} +1 -1
  376. package/dist/ionic/{p-27d96a9b.entry.js → p-7441ed2b.entry.js} +1 -1
  377. package/dist/ionic/{p-91f3cd8b.entry.js → p-76309bab.entry.js} +1 -1
  378. package/dist/ionic/p-83448626.entry.js +4 -0
  379. package/dist/ionic/{p-7e9c2a97.entry.js → p-834afcf7.entry.js} +1 -1
  380. package/dist/ionic/{p-362dcd86.entry.js → p-93cd738b.entry.js} +1 -1
  381. package/dist/ionic/{p-eb989dc9.entry.js → p-9b78fedf.entry.js} +1 -1
  382. package/dist/ionic/{p-5bb24bce.entry.js → p-9dd9788c.entry.js} +1 -1
  383. package/dist/ionic/{p-nCAPr1Ah.js → p-B4ELlbJE.js} +1 -1
  384. package/dist/ionic/p-B4wzg4z4.js +4 -0
  385. package/dist/ionic/{p-Co7eql8D.js → p-B4xjg_Qu.js} +1 -1
  386. package/dist/ionic/{p-DPNVo1nr.js → p-BCgqWm-V.js} +1 -1
  387. package/dist/ionic/p-BChRVdVv.js +4 -0
  388. package/dist/ionic/{p-BO10QT9r.js → p-BUB5OrpU.js} +1 -1
  389. package/dist/ionic/{p-BZTgGzGK.js → p-BVEsh7-M.js} +1 -1
  390. package/dist/ionic/p-Ba6ZV-qU.js +4 -0
  391. package/dist/ionic/{p-DxftXYZp.js → p-BhMQahM6.js} +1 -1
  392. package/dist/ionic/{p-D926OmIX.js → p-BtHAx8im.js} +1 -1
  393. package/{components/p-Dbi3KqKm.js → dist/ionic/p-Bv-6401R.js} +1 -1
  394. package/dist/ionic/{p-DfvWlTdB.js → p-CCik51Nv.js} +1 -1
  395. package/dist/ionic/p-CTmJSZcs.js +4 -0
  396. package/dist/ionic/{p-CngfKMRU.js → p-CTrwMl44.js} +1 -1
  397. package/dist/ionic/p-CVwXN07G.js +4 -0
  398. package/dist/ionic/p-CgQdInM0.js +4 -0
  399. package/dist/ionic/{p-SEecsUh7.js → p-CrAPHbJ3.js} +1 -1
  400. package/dist/ionic/{p-Bx5x5GJV.js → p-CsWrz1c2.js} +1 -1
  401. package/dist/ionic/p-D5akOqD0.js +4 -0
  402. package/dist/ionic/p-D9OR05yj.js +6 -0
  403. package/dist/ionic/p-DHf9V6zI.js +4 -0
  404. package/dist/ionic/{p-CXs4J83x.js → p-DNxEB9-T.js} +1 -1
  405. package/dist/ionic/p-DZUqAr_6.js +4 -0
  406. package/dist/ionic/{p-BY4FwwBp.js → p-DxvRP6ld.js} +1 -1
  407. package/dist/ionic/p-Dzew6Qv7.js +4 -0
  408. package/dist/ionic/p-PkaVMJga.js +4 -0
  409. package/dist/ionic/{p-c250b6b0.entry.js → p-b0a3dd1a.entry.js} +1 -1
  410. package/dist/ionic/{p-ec259ac5.entry.js → p-b1164028.entry.js} +1 -1
  411. package/dist/ionic/{p-230f510c.entry.js → p-b710b4b8.entry.js} +1 -1
  412. package/dist/ionic/{p-8c85e250.entry.js → p-b9659d21.entry.js} +1 -1
  413. package/dist/ionic/p-ba7bd621.entry.js +4 -0
  414. package/dist/ionic/{p-82abf431.entry.js → p-daaecea3.entry.js} +1 -1
  415. package/dist/ionic/{p-e7ab4def.entry.js → p-e05073f6.entry.js} +1 -1
  416. package/dist/ionic/{p-8d651adb.entry.js → p-e137f724.entry.js} +1 -1
  417. package/dist/ionic/{p-107a81a6.entry.js → p-e1969fd1.entry.js} +1 -1
  418. package/dist/ionic/{p-77252596.entry.js → p-e338693a.entry.js} +1 -1
  419. package/dist/ionic/{p-8b79061e.entry.js → p-e4c3f17f.entry.js} +1 -1
  420. package/dist/ionic/{p-01b7e3f2.entry.js → p-e7414c33.entry.js} +1 -1
  421. package/dist/ionic/{p-8db08782.entry.js → p-eb762f80.entry.js} +1 -1
  422. package/dist/ionic/p-edcb63e5.entry.js +4 -0
  423. package/dist/ionic/{p-c97e4c00.entry.js → p-efa00ce5.entry.js} +1 -1
  424. package/dist/ionic/{p-60780b88.entry.js → p-f19e50f8.entry.js} +1 -1
  425. package/dist/ionic/{p-8d2ccf0c.entry.js → p-f20b6a9b.entry.js} +1 -1
  426. package/dist/ionic/{p-f2116a54.entry.js → p-f9057f70.entry.js} +1 -1
  427. package/dist/ionic/{p-0a789930.entry.js → p-f99cf5aa.entry.js} +1 -1
  428. package/dist/ionic/{p-62c87f3d.entry.js → p-fee863dc.entry.js} +1 -1
  429. package/dist/ionic/{p-CgcGX08t.js → p-kKvGoaEe.js} +1 -1
  430. package/dist/ionic/{p-B8IuTu_r.js → p-tXpzvta8.js} +1 -1
  431. package/dist/ionic/p-vPo3vRFc.js +4 -0
  432. package/dist/types/components/input-otp/input-otp.d.ts +0 -7
  433. package/dist/types/components/nav/nav.d.ts +0 -1
  434. package/dist/types/components/route/route.d.ts +8 -0
  435. package/dist/types/components/route-redirect/route-redirect.d.ts +3 -1
  436. package/dist/types/components/router/utils/constants.d.ts +2 -0
  437. package/dist/types/components/router/utils/matching.d.ts +10 -0
  438. package/dist/types/components/router/utils/path.d.ts +5 -1
  439. package/dist/types/components/router-outlet/router-outlet.d.ts +0 -1
  440. package/dist/types/components.d.ts +4 -4
  441. package/dist/types/utils/config.d.ts +1 -4
  442. package/dist/types/utils/hardware-back-button.d.ts +0 -11
  443. package/dist/types/utils/overlays.d.ts +2 -5
  444. package/dist/types/utils/transition/index.d.ts +0 -6
  445. package/hydrate/index.js +319 -524
  446. package/hydrate/index.mjs +319 -524
  447. package/package.json +1 -1
  448. package/components/p-B02CcbPD.js +0 -4
  449. package/components/p-CohRJRIu.js +0 -4
  450. package/components/p-Ct2aBEue.js +0 -4
  451. package/components/p-CwEis84J.js +0 -4
  452. package/components/p-CxEV3Vwy.js +0 -4
  453. package/components/p-Cyajikho.js +0 -4
  454. package/components/p-DD92Fw3n.js +0 -4
  455. package/components/p-DfDIY2oP.js +0 -4
  456. package/components/p-IQN1T5zw.js +0 -4
  457. package/components/p-ODGeXc3M.js +0 -4
  458. package/components/p-R4UxBukQ.js +0 -4
  459. package/dist/ionic/p-52a16f94.entry.js +0 -4
  460. package/dist/ionic/p-539d6c8e.entry.js +0 -4
  461. package/dist/ionic/p-7ce9c6f8.entry.js +0 -4
  462. package/dist/ionic/p-7l6ENjIV.js +0 -4
  463. package/dist/ionic/p-BNXIurCt.js +0 -4
  464. package/dist/ionic/p-BOLqP2-V.js +0 -4
  465. package/dist/ionic/p-BdHBcCZF.js +0 -4
  466. package/dist/ionic/p-BexAj0yw.js +0 -4
  467. package/dist/ionic/p-BpRUsN_W.js +0 -6
  468. package/dist/ionic/p-BuLlVedw.js +0 -4
  469. package/dist/ionic/p-C1WYZOZj.js +0 -4
  470. package/dist/ionic/p-C2LaBx3E.js +0 -4
  471. package/dist/ionic/p-D13gXhdC.js +0 -4
  472. package/dist/ionic/p-DXXGkPA8.js +0 -4
  473. package/dist/ionic/p-Dk4Mdaru.js +0 -4
  474. package/dist/ionic/p-DriE1ZAo.js +0 -4
  475. package/dist/ionic/p-af11d3c6.entry.js +0 -4
  476. package/dist/ionic/p-b5bcbbc1.entry.js +0 -4
  477. package/dist/ionic/p-c83dbc12.entry.js +0 -4
@@ -3,10 +3,10 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var helpers = require('./helpers-Cqr69qxA.js');
7
- var index = require('./index-BiQyIvoc.js');
8
- var ionicGlobal = require('./ionic-global-48ceLiJ6.js');
9
- var frameworkDelegate = require('./framework-delegate-JbKIVMzR.js');
6
+ var helpers = require('./helpers-Crluoxqu.js');
7
+ var index = require('./index-SAR1xwtW.js');
8
+ var ionicGlobal = require('./ionic-global-C1h8Yi_K.js');
9
+ var frameworkDelegate = require('./framework-delegate-DTLbqaaO.js');
10
10
  var gestureController = require('./gesture-controller-CeJslptU.js');
11
11
 
12
12
  /**
@@ -35,23 +35,6 @@ const shouldUseCloseWatcher = () => index.config.get('experimentalCloseWatcher',
35
35
  const blockHardwareBackButton = () => {
36
36
  document.addEventListener('backbutton', () => { });
37
37
  };
38
- const closeWatcherConditions = [];
39
- let syncCloseWatcher;
40
- /**
41
- * Registers a check for whether the back button
42
- * has something to close. The CloseWatcher is only
43
- * active while one of these checks passes.
44
- */
45
- const addCloseWatcherCondition = (condition) => {
46
- closeWatcherConditions.push(condition);
47
- };
48
- /**
49
- * Call this whenever something the back button
50
- * can close opens or closes.
51
- */
52
- const updateCloseWatcher = () => {
53
- syncCloseWatcher?.();
54
- };
55
38
  const startHardwareBackButton = () => {
56
39
  const doc = document;
57
40
  let busy = false;
@@ -103,44 +86,32 @@ const startHardwareBackButton = () => {
103
86
  processHandlers();
104
87
  };
105
88
  /**
106
- * Android WebView never sends the hardware back
107
- * button to a CloseWatcher, so hybrid apps still
108
- * need this. Browsers never fire backbutton.
89
+ * If the CloseWatcher is defined then
90
+ * we don't want to also listen for the native
91
+ * backbutton event otherwise we may get duplicate
92
+ * events firing.
109
93
  */
110
- doc.addEventListener('backbutton', backButtonCallback);
111
94
  if (shouldUseCloseWatcher()) {
112
95
  let watcher;
113
- /**
114
- * An active CloseWatcher stops the back button from
115
- * navigating, so only keep one while there's something to close.
116
- */
117
- syncCloseWatcher = () => {
118
- const canClose = closeWatcherConditions.some((condition) => condition());
119
- if (!canClose) {
120
- watcher?.destroy();
121
- watcher = undefined;
122
- return;
123
- }
124
- if (watcher !== undefined) {
125
- return;
126
- }
96
+ const configureWatcher = () => {
97
+ watcher?.destroy();
127
98
  watcher = new helpers.win.CloseWatcher();
128
99
  /**
129
100
  * Once a close request happens
130
101
  * the watcher gets destroyed.
131
102
  * As a result, we need to re-configure
132
103
  * the watcher so we can respond to other
133
- * close requests, including after one that
134
- * closed nothing, like a modal whose canDismiss
135
- * returned false.
104
+ * close requests.
136
105
  */
137
106
  watcher.onclose = () => {
138
- watcher = undefined;
139
107
  backButtonCallback();
140
- syncCloseWatcher?.();
108
+ configureWatcher();
141
109
  };
142
110
  };
143
- syncCloseWatcher();
111
+ configureWatcher();
112
+ }
113
+ else {
114
+ doc.addEventListener('backbutton', backButtonCallback);
144
115
  }
145
116
  };
146
117
  const OVERLAY_BACK_BUTTON_PRIORITY = 100;
@@ -150,11 +121,9 @@ var hardwareBackButton = /*#__PURE__*/Object.freeze({
150
121
  __proto__: null,
151
122
  MENU_BACK_BUTTON_PRIORITY: MENU_BACK_BUTTON_PRIORITY,
152
123
  OVERLAY_BACK_BUTTON_PRIORITY: OVERLAY_BACK_BUTTON_PRIORITY,
153
- addCloseWatcherCondition: addCloseWatcherCondition,
154
124
  blockHardwareBackButton: blockHardwareBackButton,
155
125
  shouldUseCloseWatcher: shouldUseCloseWatcher,
156
- startHardwareBackButton: startHardwareBackButton,
157
- updateCloseWatcher: updateCloseWatcher
126
+ startHardwareBackButton: startHardwareBackButton
158
127
  });
159
128
 
160
129
  /**
@@ -240,11 +209,6 @@ const focusElementInContext = (hostToFocus, fallbackElement) => {
240
209
 
241
210
  let lastOverlayIndex = 0;
242
211
  let lastId = 0;
243
- /**
244
- * Every overlay except toast, which doesn't trap
245
- * focus or close on back.
246
- */
247
- const NON_TOAST_OVERLAYS = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover';
248
212
  const activeAnimations = new WeakMap();
249
213
  /**
250
214
  * Determines if the overlay's backdrop is always blocking (no background interaction).
@@ -371,7 +335,7 @@ const focusElementInOverlay = (hostToFocus, overlay) => {
371
335
  * Should NOT include: Toast
372
336
  */
373
337
  const trapKeyboardFocus = (ev, doc) => {
374
- const lastOverlay = getPresentedOverlay(doc, NON_TOAST_OVERLAYS);
338
+ const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover');
375
339
  const target = ev.target;
376
340
  /**
377
341
  * If no active overlay, ignore this event.
@@ -554,11 +518,6 @@ const connectListeners = (doc) => {
554
518
  doc.addEventListener('focus', (ev) => {
555
519
  trapKeyboardFocus(ev, doc);
556
520
  }, true);
557
- /**
558
- * Whether the overlay actually dismisses is checked at press time,
559
- * since `backdropDismiss` can change while it's open.
560
- */
561
- addCloseWatcherCondition(() => getPresentedOverlay(doc, NON_TOAST_OVERLAYS) !== undefined);
562
521
  // handle back-button click
563
522
  doc.addEventListener('ionBackButton', (ev) => {
564
523
  const lastOverlay = getPresentedOverlay(doc);
@@ -682,8 +641,7 @@ const setRootAriaHidden = (hidden = false) => {
682
641
  * Cleans up root `aria-hidden` and `backdrop-no-scroll` when
683
642
  * an overlay is removed from the DOM without going through
684
643
  * the `dismiss()` flow (e.g., when a framework unmounts the
685
- * overlay during a route change). Also releases the
686
- * CloseWatcher if nothing is left to close.
644
+ * overlay during a route change).
687
645
  *
688
646
  * Should be called from an overlay's `disconnectedCallback`
689
647
  * when the overlay was still presented at the time of removal.
@@ -692,7 +650,6 @@ const cleanupRootFocusTrapAccessibility = () => {
692
650
  if (typeof document === 'undefined') {
693
651
  return;
694
652
  }
695
- updateCloseWatcher();
696
653
  const remainingOverlays = getPresentedOverlays(document);
697
654
  const hasRemainingLocking = remainingOverlays.some((o) => locksAppRoot(o));
698
655
  if (!hasRemainingLocking) {
@@ -714,9 +671,7 @@ const applyRootLock = (el) => {
714
671
  };
715
672
  /**
716
673
  * Re-applies the root lock that `cleanupRootFocusTrapAccessibility()` released.
717
- * Call from `connectedCallback` when the overlay is still presented. Also
718
- * re-arms the CloseWatcher, which every overlay needs, so that happens
719
- * before the `locksAppRoot` check.
674
+ * Call from `connectedCallback` when the overlay is still presented.
720
675
  *
721
676
  * A synchronous move keeps the overlay connected, so the lock survives. A
722
677
  * detach with a re-insert in a later task releases it, which is the shape a
@@ -726,7 +681,6 @@ const restoreRootFocusTrapAccessibility = (overlayEl) => {
726
681
  if (typeof document === 'undefined') {
727
682
  return;
728
683
  }
729
- updateCloseWatcher();
730
684
  const el = overlayEl;
731
685
  if (!locksAppRoot(el)) {
732
686
  return;
@@ -940,11 +894,6 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
940
894
  index.printIonError(`[${overlay.el.tagName.toLowerCase()}] - `, err);
941
895
  }
942
896
  overlay.el.remove();
943
- /**
944
- * Release the back button if nothing
945
- * else is left to close.
946
- */
947
- updateCloseWatcher();
948
897
  return true;
949
898
  };
950
899
  const getAppRoot = (doc) => {
@@ -953,12 +902,6 @@ const getAppRoot = (doc) => {
953
902
  const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
954
903
  // Make overlay visible in case it's hidden
955
904
  baseEl.classList.remove('overlay-hidden');
956
- /**
957
- * Removing `overlay-hidden` makes the overlay count
958
- * as presented, so back can dismiss it while it
959
- * animates in.
960
- */
961
- updateCloseWatcher();
962
905
  const aniRoot = overlay.el;
963
906
  const animation = animationBuilder(aniRoot, opts);
964
907
  if (!overlay.animated || !index.config.getBoolean('animated', true)) {
@@ -1188,7 +1131,6 @@ exports.GESTURE = GESTURE;
1188
1131
  exports.MENU_BACK_BUTTON_PRIORITY = MENU_BACK_BUTTON_PRIORITY;
1189
1132
  exports.OVERLAY_GESTURE_PRIORITY = OVERLAY_GESTURE_PRIORITY;
1190
1133
  exports.actionSheetController = actionSheetController;
1191
- exports.addCloseWatcherCondition = addCloseWatcherCondition;
1192
1134
  exports.alertController = alertController;
1193
1135
  exports.cleanupRootFocusTrapAccessibility = cleanupRootFocusTrapAccessibility;
1194
1136
  exports.createDelegateController = createDelegateController;
@@ -1211,4 +1153,3 @@ exports.safeCall = safeCall;
1211
1153
  exports.setOverlayId = setOverlayId;
1212
1154
  exports.shouldUseCloseWatcher = shouldUseCloseWatcher;
1213
1155
  exports.toastController = toastController;
1214
- exports.updateCloseWatcher = updateCloseWatcher;
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-BiQyIvoc.js');
7
- var index$1 = require('./index-B4ONUQRp.js');
6
+ var index = require('./index-SAR1xwtW.js');
7
+ var index$1 = require('./index-BSD7toMO.js');
8
8
 
9
9
  /**
10
10
  * Converts a DOM node into a Stencil VNode (or text string) so the
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var helpers = require('./helpers-Cqr69qxA.js');
6
+ var helpers = require('./helpers-Crluoxqu.js');
7
7
  var dir = require('./dir-zwDPRE5K.js');
8
8
 
9
9
  /**
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-BiQyIvoc.js');
7
- var index$1 = require('./index-CNaZ6SYM.js');
8
- var helpers = require('./helpers-Cqr69qxA.js');
6
+ var index = require('./index-SAR1xwtW.js');
7
+ var index$1 = require('./index-BAM4223M.js');
8
+ var helpers = require('./helpers-Crluoxqu.js');
9
9
  require('./dir-zwDPRE5K.js');
10
10
 
11
11
  const startStatusTap = () => {
@@ -3,10 +3,10 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var helpers = require('./helpers-Cqr69qxA.js');
6
+ var helpers = require('./helpers-Crluoxqu.js');
7
7
  var dir = require('./dir-zwDPRE5K.js');
8
8
  var index = require('./index-DRPqwSvU.js');
9
- require('./index-BiQyIvoc.js');
9
+ require('./index-SAR1xwtW.js');
10
10
  require('./gesture-controller-CeJslptU.js');
11
11
 
12
12
  const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
@@ -99,7 +99,7 @@
99
99
  "mixins": [],
100
100
  "compiler": {
101
101
  "name": "@stencil/core",
102
- "version": "4.45.2",
102
+ "version": "4.45.1",
103
103
  "typescriptVersion": "5.8.3"
104
104
  },
105
105
  "collections": [
@@ -19,11 +19,6 @@ export class InputOTP {
19
19
  * focus behavior when an input box is focused.
20
20
  */
21
21
  this.isKeyboardNavigation = false;
22
- /**
23
- * The `length` watcher runs before new inputs render, so
24
- * `componentDidRender` updates their tab indexes instead.
25
- */
26
- this.updateTabIndexesAfterRender = false;
27
22
  this.inputValues = [];
28
23
  this.hasFocus = false;
29
24
  this.previousInputValues = [];
@@ -383,10 +378,6 @@ export class InputOTP {
383
378
  this.initializeValues();
384
379
  this.updateTabIndexes();
385
380
  }
386
- lengthChanged() {
387
- this.initializeValues();
388
- this.updateTabIndexesAfterRender = true;
389
- }
390
381
  /**
391
382
  * Processes the separators prop into an array of numbers.
392
383
  *
@@ -443,12 +434,6 @@ export class InputOTP {
443
434
  componentDidLoad() {
444
435
  this.updateTabIndexes();
445
436
  }
446
- componentDidRender() {
447
- if (this.updateTabIndexesAfterRender) {
448
- this.updateTabIndexesAfterRender = false;
449
- this.updateTabIndexes();
450
- }
451
- }
452
437
  /**
453
438
  * Get the regex pattern for allowed characters.
454
439
  * If a pattern is provided, use it to create a regex pattern
@@ -626,7 +611,7 @@ export class InputOTP {
626
611
  const tabbableIndex = this.getTabbableIndex();
627
612
  const pattern = this.getPattern();
628
613
  const hasDescription = el.querySelector('.input-otp-description')?.textContent?.trim() !== '';
629
- return (h(Host, { key: 'def9fbd4fa135e6f435380c6ea86ac1621b4a111', class: createColorClasses(color, {
614
+ return (h(Host, { key: 'bd37661e13cde21feff30c663e6813ce3fff0d9a', class: createColorClasses(color, {
630
615
  [mode]: true,
631
616
  'has-focus': hasFocus,
632
617
  [`input-otp-size-${size}`]: true,
@@ -634,18 +619,10 @@ export class InputOTP {
634
619
  [`input-otp-fill-${fill}`]: true,
635
620
  'input-otp-disabled': disabled,
636
621
  'input-otp-readonly': readonly,
637
- }) }, h("div", { key: '5d3d7646a3d4fc856b7b2e1f53d29fca47b10baf', 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) => {
638
- if (el) {
639
- inputRefs[index] = el;
640
- }
641
- else {
642
- // The input was removed, so drop its ref and any after it.
643
- inputRefs.splice(index);
644
- }
645
- }, 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: '9d72a4ab35b5fdd6bba9701050c385ed253b310f', class: {
622
+ }) }, h("div", { key: '5e206f870024f1ecfebda999ff31e6e815774deb', 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: 'c268f838ddab2c8d6a612a11c7d38e6ca076436d', class: {
646
623
  'input-otp-description': true,
647
624
  'input-otp-description-hidden': !hasDescription,
648
- } }, h("slot", { key: '7deb3373c0d4e5deac22fa51577d271b9bb3a6d2' }))));
625
+ } }, h("slot", { key: 'c0736359b26f609b795e399fc1ad9b540632af18' }))));
649
626
  }
650
627
  static get is() { return "ion-input-otp"; }
651
628
  static get encapsulation() { return "scoped"; }
@@ -1077,9 +1054,6 @@ export class InputOTP {
1077
1054
  return [{
1078
1055
  "propName": "value",
1079
1056
  "methodName": "valueChanged"
1080
- }, {
1081
- "propName": "length",
1082
- "methodName": "lengthChanged"
1083
1057
  }, {
1084
1058
  "propName": "separators",
1085
1059
  "methodName": "processSeparators"
@@ -5,7 +5,7 @@ import { Build, Host, h } from "@stencil/core";
5
5
  import { getTimeGivenProgression } from "../../utils/animation/cubic-bezier";
6
6
  import { focusFirstDescendant, focusLastDescendant } from "../../utils/focus-trap";
7
7
  import { GESTURE_CONTROLLER } from "../../utils/gesture/index";
8
- import { shouldUseCloseWatcher, updateCloseWatcher } from "../../utils/hardware-back-button";
8
+ import { shouldUseCloseWatcher } from "../../utils/hardware-back-button";
9
9
  import { inheritAriaAttributes, assert, clamp, isEndSide as isEnd } from "../../utils/helpers";
10
10
  import { printIonError } from "../../utils/logging/index";
11
11
  import { menuController } from "../../utils/menu-controller/index";
@@ -560,7 +560,6 @@ export class Menu {
560
560
  // emit opened/closed events
561
561
  this._isOpen = isOpen;
562
562
  this.isAnimating = false;
563
- updateCloseWatcher();
564
563
  if (!this._isOpen) {
565
564
  this.blocker.unblock();
566
565
  }
@@ -657,14 +656,14 @@ export class Menu {
657
656
  * the ionBackButton listener in the menu controller
658
657
  * will handle closing the menu when Escape is pressed.
659
658
  */
660
- return (h(Host, { key: '5cf26df26d4e539860cbeaea98ec621b98c3fcfc', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
659
+ return (h(Host, { key: '1208ba437fa58680325408d3d4c8580950da1d68', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
661
660
  [mode]: true,
662
661
  [`menu-type-${type}`]: true,
663
662
  'menu-enabled': !disabled,
664
663
  [`menu-side-${side}`]: true,
665
664
  'menu-pane-visible': isPaneVisible,
666
665
  'split-pane-side': hostContext('ion-split-pane', el),
667
- } }, h("div", { key: 'f337016e293bb8665c99762e0c389dd6c372bb33', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '4c3fe331aa42cd57d7ad9bd1f5910f8eeb62d7da' })), h("ion-backdrop", { key: '61af7ea876d81574841e1dd3e81e2352e555d096', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
666
+ } }, h("div", { key: 'c0ddc957b7a7956b41901d77ae02d91e73071c55', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '6e44c56116431a024f114ab85ded1b822c942fac' })), h("ion-backdrop", { key: '5f4bbcf84444d96ec6b02bf567e1aaf95f59078d', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
668
667
  }
669
668
  static get is() { return "ion-menu"; }
670
669
  static get encapsulation() { return "shadow"; }
@@ -5,7 +5,7 @@ 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";
8
- import { blockSwipeClicks, lifecycle, setPageHidden, transition } from "../../utils/transition/index";
8
+ import { lifecycle, setPageHidden, transition } from "../../utils/transition/index";
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";
@@ -68,12 +68,6 @@ export class Nav {
68
68
  this.gesture.destroy();
69
69
  this.gesture = undefined;
70
70
  }
71
- // Destroying the gesture skips onEnd, so end a deferred swipe here.
72
- if (this.unblockSwipeClicks) {
73
- this.unblockSwipeClicks();
74
- this.unblockSwipeClicks = undefined;
75
- this.gestureOrAnimationInProgress = false;
76
- }
77
71
  this.transInstr.length = 0;
78
72
  this.views.length = 0;
79
73
  this.destroyed = true;
@@ -694,14 +688,6 @@ export class Nav {
694
688
  }
695
689
  onStart() {
696
690
  this.gestureOrAnimationInProgress = true;
697
- /**
698
- * Without animations there's nothing for the swipe to drive, so
699
- * wait until the gesture ends to decide whether to go back.
700
- */
701
- if (!(this.animated && config.getBoolean('animated', true))) {
702
- this.unblockSwipeClicks = blockSwipeClicks(this.el);
703
- return;
704
- }
705
691
  this.pop({ direction: 'back', progressAnimation: true });
706
692
  }
707
693
  onMove(stepValue) {
@@ -735,18 +721,10 @@ export class Nav {
735
721
  }
736
722
  else {
737
723
  this.gestureOrAnimationInProgress = false;
738
- const { unblockSwipeClicks } = this;
739
- if (unblockSwipeClicks) {
740
- this.unblockSwipeClicks = undefined;
741
- if (shouldComplete) {
742
- this.pop({ direction: 'back' });
743
- }
744
- unblockSwipeClicks();
745
- }
746
724
  }
747
725
  }
748
726
  render() {
749
- return h("slot", { key: '0aea554c0cf00dd3829757ec74c3855eccf1e068' });
727
+ return h("slot", { key: '1886154d3c2fa8511af4d641d269aaa4c0f45c05' });
750
728
  }
751
729
  static get is() { return "ion-nav"; }
752
730
  static get encapsulation() { return "shadow"; }
@@ -6,6 +6,14 @@ export class Route {
6
6
  *
7
7
  * Accepts paths similar to expressjs so that you can define parameters
8
8
  * in the url /foo/:bar where bar would be available in incoming props.
9
+ *
10
+ * A url ending in `*`, such as `*` or `/admin/*`, matches any remaining path,
11
+ * including none, so `/admin/*` also matches `/admin`. It only wins over a
12
+ * route that matches the whole path when it has more fixed segments, so
13
+ * `/admin/*` wins over `/:section/:id` but not over `/admin/:id`. It always
14
+ * wins over a route that matches by ignoring trailing segments, such as
15
+ * `/admin` for `/admin/users`. The matched path is passed in the `pathMatch`
16
+ * prop without a leading `/`. A `*` on a route with child routes is ignored.
9
17
  */
10
18
  this.url = '';
11
19
  }
@@ -47,7 +55,7 @@ export class Route {
47
55
  "optional": false,
48
56
  "docs": {
49
57
  "tags": [],
50
- "text": "Relative path that needs to match in order for this route to apply.\n\nAccepts paths similar to expressjs so that you can define parameters\nin the url /foo/:bar where bar would be available in incoming props."
58
+ "text": "Relative path that needs to match in order for this route to apply.\n\nAccepts paths similar to expressjs so that you can define parameters\nin the url /foo/:bar where bar would be available in incoming props.\n\nA url ending in `*`, such as `*` or `/admin/*`, matches any remaining path,\nincluding none, so `/admin/*` also matches `/admin`. It only wins over a\nroute that matches the whole path when it has more fixed segments, so\n`/admin/*` wins over `/:section/:id` but not over `/admin/:id`. It always\nwins over a route that matches by ignoring trailing segments, such as\n`/admin` for `/admin/users`. The matched path is passed in the `pathMatch`\nprop without a leading `/`. A `*` on a route with child routes is ignored."
51
59
  },
52
60
  "getter": false,
53
61
  "setter": false,
@@ -20,7 +20,7 @@ export class RouteRedirect {
20
20
  "optional": false,
21
21
  "docs": {
22
22
  "tags": [],
23
- "text": "A redirect route, redirects \"from\" a URL \"to\" another URL. This property is that \"from\" URL.\nIt needs to be an exact match of the navigated URL in order to apply.\n\nThe path specified in this value is always an absolute path, even if the initial `/` slash\nis not specified."
23
+ "text": "A redirect route, redirects \"from\" a URL \"to\" another URL. This property is that \"from\" URL.\nIt needs to be an exact match of the navigated URL in order to apply, unless it ends in `*`.\nA `from` that ends in `*` matches any path below it, but not the path itself, so `/admin/*`\nmatches `/admin/posts` but not `/admin`.\n\nThe path specified in this value is always an absolute path, even if the initial `/` slash\nis not specified."
24
24
  },
25
25
  "getter": false,
26
26
  "setter": false,
@@ -4,3 +4,5 @@
4
4
  export const ROUTER_INTENT_NONE = 'root';
5
5
  export const ROUTER_INTENT_FORWARD = 'forward';
6
6
  export const ROUTER_INTENT_BACK = 'back';
7
+ /** Param that holds the path matched by a trailing `*` in an `ion-route` url. */
8
+ export const WILDCARD_PARAM = 'pathMatch';