@ionic/core 9.0.7-dev.11791381676.118a7a15 → 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.
- package/components/index.js +1 -1
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/{p-CvyvLbPe.js → p-6sKRBFnK.js} +1 -1
- package/components/{p-V1THdfzs.js → p-B8HBLiYi.js} +1 -1
- package/components/{p-HthJZjZ6.js → p-BEiYs-sz.js} +1 -1
- package/components/p-BKeulLTJ.js +4 -0
- package/components/{p-Dvyv9SMk.js → p-BKxLivx4.js} +1 -1
- package/components/{p-BMHdI-wb.js → p-BLjEwM6v.js} +1 -1
- package/components/p-BNnmwjuy.js +4 -0
- package/components/{p-DMPsc_0r.js → p-BSJriPuC.js} +1 -1
- package/components/p-BUVGbkSc.js +4 -0
- package/components/{p-KbMCbGRA.js → p-B_tZQKpS.js} +1 -1
- package/components/{p-DhfJAkyd.js → p-BinR4_P7.js} +1 -1
- package/components/{p-CqvARtmt.js → p-BrOSQhkA.js} +1 -1
- package/components/p-BriaEJK8.js +4 -0
- package/components/p-BsLM9eQu.js +4 -0
- package/components/p-Bu6O-veK.js +4 -0
- package/{dist/ionic/p-e1haAYzm.js → components/p-C7rB-0-1.js} +1 -1
- package/components/{p-CdrNHfZl.js → p-C9ioHZq-.js} +1 -1
- package/components/{p-BODcC-C0.js → p-CAQG0btC.js} +1 -1
- package/components/{p-BqyLLYLm.js → p-CHHkdXfP.js} +1 -1
- package/components/p-CJgshb3W.js +4 -0
- package/components/{p-jsVMT15X.js → p-CQjNc-Pz.js} +1 -1
- package/components/{p-Drpw2dyl.js → p-CTUMJM0R.js} +1 -1
- package/{dist/ionic/p-DQXtveHv.js → components/p-CVVUo4J1.js} +1 -1
- package/components/{p-DBtFJlTi.js → p-CXy2v7GI.js} +1 -1
- package/components/{p-C1AxSUnp.js → p-C_NQIzjP.js} +1 -1
- package/components/{p-Ba9_OzSY.js → p-Canp1qah.js} +1 -1
- package/components/p-CcQQ8oRo.js +4 -0
- package/components/{p-hLu-eIbb.js → p-CiFFeRH9.js} +1 -1
- package/components/{p-DnGlmM4u.js → p-CiXOsJF2.js} +1 -1
- package/components/p-Ctw69DyZ.js +4 -0
- package/components/{p-C_gnmBt2.js → p-CvzE7FFp.js} +1 -1
- package/components/{p-r59A3wQk.js → p-CzykzqAO.js} +1 -1
- package/components/{p--cshUOAU.js → p-D0jSx7rE.js} +1 -1
- package/components/{p-YNnH1_Hs.js → p-D4NOsSCE.js} +1 -1
- package/components/{p-BG2lMobd.js → p-DGLuPe1e.js} +1 -1
- package/components/{p-CjPRDxby.js → p-DGUed0uX.js} +1 -1
- package/components/{p-DDI6VLW9.js → p-DM2jMsSO.js} +1 -1
- package/components/{p-yGD6MBgf.js → p-DPyjiKOq.js} +1 -1
- package/components/{p-7KepMw9O.js → p-DSmHJ2DH.js} +1 -1
- package/components/{p-DHo45oj7.js → p-DWGgvN5e.js} +1 -1
- package/components/{p-B4IBdPVJ.js → p-DlUdjUlf.js} +1 -1
- package/components/{p-ChkSQqfP.js → p-Dlr7b3_2.js} +1 -1
- package/components/{p-ChsJlFCQ.js → p-LH1I_Zhd.js} +1 -1
- package/components/{p-D64Tyi-z.js → p-PPagT42x.js} +1 -1
- package/components/{p-ZrYBjOcc.js → p-RJT5zTbD.js} +1 -1
- package/components/{p-GpqwNbxf.js → p-T2dnrBya.js} +1 -1
- package/components/p-WMQuK_Tj.js +4 -0
- package/components/{p-_y7kwBO8.js → p-eJpG4UbM.js} +1 -1
- package/components/{p-TLtgwTFF.js → p-fFx6WCTj.js} +1 -1
- package/components/p-q2WJ5Igc.js +4 -0
- package/components/{p-CKiqp4Vl.js → p-y7Nhe3de.js} +1 -1
- package/components/{p-BVNUhOOf.js → p-yjLe0sN2.js} +1 -1
- package/css/core.css.map +1 -1
- package/css/display.css.map +1 -1
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{animation-DcgLg_PI.js → animation-BFKyYY11.js} +2 -2
- package/dist/cjs/{app-globals-BoFCZq0K.js → app-globals-BLTzqkrC.js} +1 -1
- package/dist/cjs/{attribute-controller-BjTE2TOf.js → attribute-controller-CXIeB0Mn.js} +1 -1
- package/dist/cjs/{button-active-FdsfRDY_.js → button-active-CEQaiV9N.js} +2 -2
- package/dist/cjs/{capacitor-C6Pp4Z7A.js → capacitor-BMzmHhwe.js} +1 -1
- package/dist/cjs/{format-CVjpvAl1.js → format-CdRlDqPs.js} +1 -1
- package/dist/cjs/{framework-delegate-JbKIVMzR.js → framework-delegate-DTLbqaaO.js} +1 -1
- package/dist/cjs/{haptic--4QteuuM.js → haptic-CJVUv_GB.js} +1 -1
- package/dist/cjs/{helpers-Cqr69qxA.js → helpers-Crluoxqu.js} +1 -1
- package/dist/cjs/{index-CNaZ6SYM.js → index-BAM4223M.js} +2 -2
- package/dist/cjs/{index-BQpSekmz.js → index-BKpybYNI.js} +2 -2
- package/dist/cjs/{index-B4ONUQRp.js → index-BSD7toMO.js} +1 -1
- package/dist/cjs/{index-BhWiDK25.js → index-CElfU-dK.js} +5 -6
- package/dist/cjs/{index-DUiuw_fH.js → index-CgXTRA_-.js} +4 -4
- package/dist/cjs/{index-BiQyIvoc.js → index-SAR1xwtW.js} +27 -40
- package/dist/cjs/index.cjs.js +11 -11
- package/dist/cjs/{input-shims-2AsXPZ5m.js → input-shims-CHghGZe-.js} +5 -5
- package/dist/cjs/{input.utils-Becpo0ax.js → input.utils-BBZr0wjw.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +11 -11
- package/dist/cjs/ion-alert.cjs.entry.js +11 -11
- package/dist/cjs/ion-app_8.cjs.entry.js +16 -16
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-button_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-card_5.cjs.entry.js +4 -4
- package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
- package/dist/cjs/ion-datetime.cjs.entry.js +6 -6
- package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-img.cjs.entry.js +3 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-input-otp.cjs.entry.js +8 -33
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +5 -5
- package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +4 -4
- package/dist/cjs/ion-loading.cjs.entry.js +7 -7
- package/dist/cjs/ion-menu_3.cjs.entry.js +9 -10
- package/dist/cjs/ion-modal.cjs.entry.js +11 -11
- package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker-column.cjs.entry.js +5 -5
- package/dist/cjs/ion-picker.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +7 -7
- package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-range.cjs.entry.js +4 -4
- package/dist/cjs/ion-refresher_2.cjs.entry.js +8 -8
- package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +125 -20
- package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-select-modal.cjs.entry.js +7 -7
- package/dist/cjs/ion-select_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
- package/dist/cjs/ion-toast.cjs.entry.js +7 -7
- package/dist/cjs/ion-toggle.cjs.entry.js +6 -6
- package/dist/cjs/{ionic-global-48ceLiJ6.js → ionic-global-C1h8Yi_K.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-D85_rHf5.js → ios.transition-YFSxiyP_.js} +4 -4
- package/dist/cjs/{item-multiple-inputs-C-hz7xrh.js → item-multiple-inputs-h2PyAFzG.js} +1 -1
- package/dist/cjs/{keyboard-BlHp4a_c.js → keyboard-C-C7xMKk.js} +1 -1
- package/dist/cjs/{keyboard-c2_I35b-.js → keyboard-Cv-LNReK.js} +4 -4
- package/dist/cjs/{keyboard-controller-DHS0BgXp.js → keyboard-controller-CLcFxSnb.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-Ce9X1WXr.js → md.transition-Cm8yg0UK.js} +4 -4
- package/dist/cjs/{overlays-CLld3axA.js → overlays-C68wNDWY.js} +20 -79
- package/dist/cjs/{select-option-render-CzyhrkOu.js → select-option-render-C-Yh9yZG.js} +2 -2
- package/dist/cjs/{slot-mutation-controller-ClDxh3EK.js → slot-mutation-controller-zixZ5LyH.js} +1 -1
- package/dist/cjs/{status-tap-CDA0Y3Ad.js → status-tap-C3frTJ4c.js} +3 -3
- package/dist/cjs/{swipe-back-Idb4gqUk.js → swipe-back-BigumsQ1.js} +2 -2
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/input-otp/input-otp.js +3 -29
- package/dist/collection/components/menu/menu.js +3 -4
- package/dist/collection/components/route/route.js +9 -1
- package/dist/collection/components/route-redirect/route-redirect.js +1 -1
- package/dist/collection/components/router/utils/constants.js +2 -0
- package/dist/collection/components/router/utils/matching.js +97 -14
- package/dist/collection/components/router/utils/path.js +17 -3
- package/dist/collection/utils/hardware-back-button.js +12 -41
- package/dist/collection/utils/menu-controller/index.js +1 -2
- package/dist/collection/utils/overlays.js +4 -30
- package/dist/docs.json +4 -4
- package/dist/esm/{animation-DmtJpz89.js → animation-CFd8Olt3.js} +2 -2
- package/dist/esm/{app-globals-CNfpAPW6.js → app-globals-7GHLBkwd.js} +1 -1
- package/dist/esm/{attribute-controller-DPMIcbef.js → attribute-controller-Cn665x42.js} +1 -1
- package/dist/esm/{button-active-DVk40Sjl.js → button-active-DMuYeDQN.js} +2 -2
- package/dist/esm/{capacitor-CHJaJ9aX.js → capacitor-CoEgIpR9.js} +1 -1
- package/dist/esm/{format-Ck1cw5z7.js → format-C9zPmwKU.js} +1 -1
- package/dist/esm/{framework-delegate-CDjM1vRH.js → framework-delegate-DeT5pmPB.js} +1 -1
- package/dist/esm/{haptic-WXfMCob9.js → haptic-Dxm7ZmT5.js} +1 -1
- package/dist/esm/{helpers-BJqKF1pr.js → helpers-B54ynME_.js} +1 -1
- package/dist/esm/{index-TkLga3ma.js → index--21qeSt0.js} +2 -2
- package/dist/esm/{index-BBASprVu.js → index-B8iieOdw.js} +4 -4
- package/dist/esm/{index-DIouXecD.js → index-B9jhwvmO.js} +5 -6
- package/dist/esm/{index-CK8uF0iB.js → index-D4ZMZz_3.js} +1 -1
- package/dist/esm/{index-BpRUsN_W.js → index-D9OR05yj.js} +27 -40
- package/dist/esm/{index-Clv8QC5L.js → index-D_xZtbw6.js} +2 -2
- package/dist/esm/index.js +11 -11
- package/dist/esm/{input-shims-C1iYF5JK.js → input-shims-MCrhq67U.js} +5 -5
- package/dist/esm/{input.utils-DZY_K8Po.js → input.utils-B-IIWrwT.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +11 -11
- package/dist/esm/ion-alert.entry.js +11 -11
- package/dist/esm/ion-app_8.entry.js +16 -16
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +3 -3
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
- package/dist/esm/ion-button_2.entry.js +4 -4
- package/dist/esm/ion-card_5.entry.js +4 -4
- package/dist/esm/ion-checkbox.entry.js +4 -4
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +4 -4
- package/dist/esm/ion-datetime.entry.js +6 -6
- package/dist/esm/ion-fab_3.entry.js +3 -3
- package/dist/esm/ion-img.entry.js +3 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
- package/dist/esm/ion-input-otp.entry.js +8 -33
- package/dist/esm/ion-input-password-toggle.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +5 -5
- package/dist/esm/ion-item-option_3.entry.js +4 -4
- package/dist/esm/ion-item_8.entry.js +4 -4
- package/dist/esm/ion-loading.entry.js +7 -7
- package/dist/esm/ion-menu_3.entry.js +9 -10
- package/dist/esm/ion-modal.entry.js +11 -11
- package/dist/esm/ion-nav_2.entry.js +6 -6
- package/dist/esm/ion-picker-column-option.entry.js +3 -3
- package/dist/esm/ion-picker-column.entry.js +5 -5
- package/dist/esm/ion-picker.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +7 -7
- package/dist/esm/ion-progress-bar.entry.js +3 -3
- package/dist/esm/ion-radio_2.entry.js +4 -4
- package/dist/esm/ion-range.entry.js +4 -4
- package/dist/esm/ion-refresher_2.entry.js +8 -8
- package/dist/esm/ion-reorder_2.entry.js +6 -6
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +125 -20
- package/dist/esm/ion-searchbar.entry.js +3 -3
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +3 -3
- package/dist/esm/ion-select-modal.entry.js +7 -7
- package/dist/esm/ion-select_3.entry.js +8 -8
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +6 -6
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +5 -5
- package/dist/esm/ion-toast.entry.js +7 -7
- package/dist/esm/ion-toggle.entry.js +6 -6
- package/dist/esm/{ionic-global-Cep6oYzK.js → ionic-global-B-G43ddm.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-B8netzsb.js → ios.transition-CRfGj4Mo.js} +4 -4
- package/dist/esm/{item-multiple-inputs-Bd2LO7qK.js → item-multiple-inputs-BSD9wGHO.js} +1 -1
- package/dist/esm/{keyboard-B4Y-Gph8.js → keyboard-DDw62P0D.js} +4 -4
- package/dist/esm/{keyboard-controller-B2NoF7bV.js → keyboard-controller-Dzjet5wD.js} +2 -2
- package/dist/esm/{keyboard-Cmqp5iZD.js → keyboard-ly3M0GO7.js} +1 -1
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-DNCSSiXk.js → md.transition-wqThNy_C.js} +4 -4
- package/dist/esm/{overlays-DmDY-El7.js → overlays-BQnV0HAU.js} +21 -78
- package/dist/esm/{select-option-render-BSDT9oSA.js → select-option-render-CGxPejmz.js} +2 -2
- package/dist/esm/{slot-mutation-controller-hAS2uJ7c.js → slot-mutation-controller-C3s4-_YN.js} +1 -1
- package/dist/esm/{status-tap-VGRBYwiC.js → status-tap-DRx9wSD_.js} +3 -3
- package/dist/esm/{swipe-back-DV3UpWzz.js → swipe-back-Ch3UU_US.js} +2 -2
- package/dist/html.html-data.json +2 -2
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-7db20410.entry.js → p-0517aec4.entry.js} +1 -1
- package/dist/ionic/{p-9ffccbf1.entry.js → p-083b1119.entry.js} +1 -1
- package/dist/ionic/{p-d0e374f8.entry.js → p-0ab133d6.entry.js} +1 -1
- package/dist/ionic/{p-4d785062.entry.js → p-1213b719.entry.js} +1 -1
- package/dist/ionic/{p-0c32c626.entry.js → p-150f350e.entry.js} +1 -1
- package/dist/ionic/{p-c293f854.entry.js → p-20d1ac29.entry.js} +1 -1
- package/dist/ionic/{p-d72accc4.entry.js → p-24b0a961.entry.js} +1 -1
- package/dist/ionic/{p-2124fd4f.entry.js → p-28f506ce.entry.js} +1 -1
- package/dist/ionic/{p-930c3538.entry.js → p-2e6e933d.entry.js} +1 -1
- package/dist/ionic/{p-0f97175e.entry.js → p-30dcf43b.entry.js} +1 -1
- package/dist/ionic/{p-00cd107d.entry.js → p-378341d1.entry.js} +1 -1
- package/dist/ionic/{p-6c7b5930.entry.js → p-37f46670.entry.js} +1 -1
- package/dist/ionic/{p-b9ed3a52.entry.js → p-3a5faaa8.entry.js} +1 -1
- package/dist/ionic/{p-fcb04fb5.entry.js → p-3bd7e5df.entry.js} +1 -1
- package/dist/ionic/{p-4e4e5919.entry.js → p-3c4b0ba7.entry.js} +1 -1
- package/dist/ionic/{p-4bd80334.entry.js → p-42b2a992.entry.js} +1 -1
- package/dist/ionic/p-52449f1f.entry.js +4 -0
- package/dist/ionic/p-52dc3309.entry.js +4 -0
- package/dist/ionic/{p-64ac3864.entry.js → p-58f914ee.entry.js} +1 -1
- package/dist/ionic/{p-b3aadfe8.entry.js → p-5b9666be.entry.js} +1 -1
- package/dist/ionic/{p-a4389f13.entry.js → p-5c19330c.entry.js} +1 -1
- package/dist/ionic/{p-bfdbe24b.entry.js → p-61b304c8.entry.js} +1 -1
- package/dist/ionic/{p-0b09c60e.entry.js → p-624f2fa8.entry.js} +1 -1
- package/dist/ionic/{p-d9a3dfd1.entry.js → p-636349e2.entry.js} +1 -1
- package/dist/ionic/{p-4f25b926.entry.js → p-6865f0e1.entry.js} +1 -1
- package/dist/ionic/{p-27d96a9b.entry.js → p-7441ed2b.entry.js} +1 -1
- package/dist/ionic/{p-91f3cd8b.entry.js → p-76309bab.entry.js} +1 -1
- package/dist/ionic/p-83448626.entry.js +4 -0
- package/dist/ionic/{p-7e9c2a97.entry.js → p-834afcf7.entry.js} +1 -1
- package/dist/ionic/{p-362dcd86.entry.js → p-93cd738b.entry.js} +1 -1
- package/dist/ionic/{p-eb989dc9.entry.js → p-9b78fedf.entry.js} +1 -1
- package/dist/ionic/{p-5bb24bce.entry.js → p-9dd9788c.entry.js} +1 -1
- package/dist/ionic/{p-nCAPr1Ah.js → p-B4ELlbJE.js} +1 -1
- package/dist/ionic/p-B4wzg4z4.js +4 -0
- package/dist/ionic/{p-Co7eql8D.js → p-B4xjg_Qu.js} +1 -1
- package/dist/ionic/{p-DPNVo1nr.js → p-BCgqWm-V.js} +1 -1
- package/dist/ionic/p-BChRVdVv.js +4 -0
- package/dist/ionic/{p-BO10QT9r.js → p-BUB5OrpU.js} +1 -1
- package/dist/ionic/p-BVEsh7-M.js +4 -0
- package/dist/ionic/p-Ba6ZV-qU.js +4 -0
- package/dist/ionic/{p-DxftXYZp.js → p-BhMQahM6.js} +1 -1
- package/dist/ionic/{p-D926OmIX.js → p-BtHAx8im.js} +1 -1
- package/{components/p-Dbi3KqKm.js → dist/ionic/p-Bv-6401R.js} +1 -1
- package/dist/ionic/{p-DfvWlTdB.js → p-CCik51Nv.js} +1 -1
- package/dist/ionic/p-CTmJSZcs.js +4 -0
- package/dist/ionic/{p-CngfKMRU.js → p-CTrwMl44.js} +1 -1
- package/dist/ionic/p-CVwXN07G.js +4 -0
- package/dist/ionic/p-CgQdInM0.js +4 -0
- package/dist/ionic/{p-SEecsUh7.js → p-CrAPHbJ3.js} +1 -1
- package/dist/ionic/{p-Bx5x5GJV.js → p-CsWrz1c2.js} +1 -1
- package/dist/ionic/p-D5akOqD0.js +4 -0
- package/dist/ionic/p-D9OR05yj.js +6 -0
- package/dist/ionic/p-DHf9V6zI.js +4 -0
- package/dist/ionic/{p-CXs4J83x.js → p-DNxEB9-T.js} +1 -1
- package/dist/ionic/p-DZUqAr_6.js +4 -0
- package/dist/ionic/{p-BY4FwwBp.js → p-DxvRP6ld.js} +1 -1
- package/dist/ionic/p-Dzew6Qv7.js +4 -0
- package/{components/p-C7r5Gja6.js → dist/ionic/p-PkaVMJga.js} +1 -1
- package/dist/ionic/{p-c250b6b0.entry.js → p-b0a3dd1a.entry.js} +1 -1
- package/dist/ionic/{p-ec259ac5.entry.js → p-b1164028.entry.js} +1 -1
- package/dist/ionic/{p-230f510c.entry.js → p-b710b4b8.entry.js} +1 -1
- package/dist/ionic/{p-8c85e250.entry.js → p-b9659d21.entry.js} +1 -1
- package/dist/ionic/p-ba7bd621.entry.js +4 -0
- package/dist/ionic/{p-82abf431.entry.js → p-daaecea3.entry.js} +1 -1
- package/dist/ionic/{p-e7ab4def.entry.js → p-e05073f6.entry.js} +1 -1
- package/dist/ionic/{p-8d651adb.entry.js → p-e137f724.entry.js} +1 -1
- package/dist/ionic/{p-107a81a6.entry.js → p-e1969fd1.entry.js} +1 -1
- package/dist/ionic/{p-77252596.entry.js → p-e338693a.entry.js} +1 -1
- package/dist/ionic/{p-8b79061e.entry.js → p-e4c3f17f.entry.js} +1 -1
- package/dist/ionic/{p-01b7e3f2.entry.js → p-e7414c33.entry.js} +1 -1
- package/dist/ionic/{p-8db08782.entry.js → p-eb762f80.entry.js} +1 -1
- package/dist/ionic/p-edcb63e5.entry.js +4 -0
- package/dist/ionic/{p-f6fcd4f8.entry.js → p-efa00ce5.entry.js} +1 -1
- package/dist/ionic/{p-60780b88.entry.js → p-f19e50f8.entry.js} +1 -1
- package/dist/ionic/{p-8d2ccf0c.entry.js → p-f20b6a9b.entry.js} +1 -1
- package/dist/ionic/{p-af56702e.entry.js → p-f9057f70.entry.js} +1 -1
- package/dist/ionic/{p-0a789930.entry.js → p-f99cf5aa.entry.js} +1 -1
- package/dist/ionic/{p-62c87f3d.entry.js → p-fee863dc.entry.js} +1 -1
- package/dist/ionic/{p-Bnc1L7Rk.js → p-kKvGoaEe.js} +1 -1
- package/dist/ionic/{p-B8IuTu_r.js → p-tXpzvta8.js} +1 -1
- package/dist/ionic/p-vPo3vRFc.js +4 -0
- package/dist/types/components/input-otp/input-otp.d.ts +0 -7
- package/dist/types/components/route/route.d.ts +8 -0
- package/dist/types/components/route-redirect/route-redirect.d.ts +3 -1
- package/dist/types/components/router/utils/constants.d.ts +2 -0
- package/dist/types/components/router/utils/matching.d.ts +10 -0
- package/dist/types/components/router/utils/path.d.ts +5 -1
- package/dist/types/components.d.ts +4 -4
- package/dist/types/utils/config.d.ts +1 -4
- package/dist/types/utils/hardware-back-button.d.ts +0 -11
- package/dist/types/utils/overlays.d.ts +2 -5
- package/hydrate/index.js +316 -460
- package/hydrate/index.mjs +316 -460
- package/package.json +1 -1
- package/components/p-B02CcbPD.js +0 -4
- package/components/p-CohRJRIu.js +0 -4
- package/components/p-Ct2aBEue.js +0 -4
- package/components/p-CwEis84J.js +0 -4
- package/components/p-CxEV3Vwy.js +0 -4
- package/components/p-Cyajikho.js +0 -4
- package/components/p-DD92Fw3n.js +0 -4
- package/components/p-IQN1T5zw.js +0 -4
- package/components/p-ODGeXc3M.js +0 -4
- package/components/p-R4UxBukQ.js +0 -4
- package/components/p-Uk13YgEc.js +0 -4
- package/dist/ionic/p-539d6c8e.entry.js +0 -4
- package/dist/ionic/p-7ce9c6f8.entry.js +0 -4
- package/dist/ionic/p-7l6ENjIV.js +0 -4
- package/dist/ionic/p-BNXIurCt.js +0 -4
- package/dist/ionic/p-BOLqP2-V.js +0 -4
- package/dist/ionic/p-BdHBcCZF.js +0 -4
- package/dist/ionic/p-BexAj0yw.js +0 -4
- package/dist/ionic/p-BpRUsN_W.js +0 -6
- package/dist/ionic/p-Bppj2PE0.js +0 -4
- package/dist/ionic/p-BuLlVedw.js +0 -4
- package/dist/ionic/p-C1WYZOZj.js +0 -4
- package/dist/ionic/p-C2LaBx3E.js +0 -4
- package/dist/ionic/p-D13gXhdC.js +0 -4
- package/dist/ionic/p-DXXGkPA8.js +0 -4
- package/dist/ionic/p-DriE1ZAo.js +0 -4
- package/dist/ionic/p-af11d3c6.entry.js +0 -4
- package/dist/ionic/p-b5bcbbc1.entry.js +0 -4
- 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-
|
|
7
|
-
var index = require('./index-
|
|
8
|
-
var ionicGlobal = require('./ionic-global-
|
|
9
|
-
var frameworkDelegate = require('./framework-delegate-
|
|
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
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
108
|
+
configureWatcher();
|
|
141
109
|
};
|
|
142
110
|
};
|
|
143
|
-
|
|
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,
|
|
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).
|
|
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.
|
|
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-
|
|
7
|
-
var index$1 = require('./index-
|
|
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,9 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var index$1 = require('./index-
|
|
8
|
-
var helpers = require('./helpers-
|
|
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-
|
|
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-
|
|
9
|
+
require('./index-SAR1xwtW.js');
|
|
10
10
|
require('./gesture-controller-CeJslptU.js');
|
|
11
11
|
|
|
12
12
|
const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
|
|
@@ -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: '
|
|
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: '
|
|
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: '
|
|
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
|
|
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: '
|
|
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: '
|
|
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"; }
|
|
@@ -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
|
|
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,
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import { WILDCARD_PARAM } from "./constants";
|
|
5
|
+
import { chainToSegments, endsWithWildcard, withoutWildcard } from "./path";
|
|
4
6
|
/**
|
|
5
7
|
* Returns whether the given redirect matches the given path segments.
|
|
6
8
|
*
|
|
@@ -41,6 +43,10 @@ export const matchesIDs = (ids, chain) => {
|
|
|
41
43
|
if (routeId.id.toLowerCase() !== routeChain.id) {
|
|
42
44
|
break;
|
|
43
45
|
}
|
|
46
|
+
// Weight a wildcard route when the outlet reports its `pathMatch`
|
|
47
|
+
if (routeId.params?.[WILDCARD_PARAM] !== undefined && endsWithWildcard(routeChain.segments)) {
|
|
48
|
+
score++;
|
|
49
|
+
}
|
|
44
50
|
if (routeId.params) {
|
|
45
51
|
const routeIdParams = Object.keys(routeId.params);
|
|
46
52
|
// Only compare routes with the chain that have the same number of parameters.
|
|
@@ -96,21 +102,28 @@ export const matchesSegments = (segments, chain) => {
|
|
|
96
102
|
matchesDefault = true;
|
|
97
103
|
}
|
|
98
104
|
else {
|
|
99
|
-
|
|
105
|
+
const params = {};
|
|
106
|
+
for (const segment of withoutWildcard(chainSegments)) {
|
|
100
107
|
const data = inputSegments.next();
|
|
101
108
|
// data param
|
|
102
109
|
if (segment[0] === ':') {
|
|
103
110
|
if (data === '') {
|
|
104
111
|
return null;
|
|
105
112
|
}
|
|
106
|
-
allparams = allparams || [];
|
|
107
|
-
const params = allparams[i] || (allparams[i] = {});
|
|
108
113
|
params[segment.slice(1)] = data;
|
|
109
114
|
}
|
|
110
115
|
else if (data !== segment) {
|
|
111
116
|
return null;
|
|
112
117
|
}
|
|
113
118
|
}
|
|
119
|
+
// A trailing `*` on a parent route has no effect. Its children match the rest of the path.
|
|
120
|
+
if (i === chain.length - 1 && endsWithWildcard(chainSegments)) {
|
|
121
|
+
params[WILDCARD_PARAM] = inputSegments.rest().join('/');
|
|
122
|
+
}
|
|
123
|
+
if (Object.keys(params).length > 0) {
|
|
124
|
+
allparams = allparams || [];
|
|
125
|
+
allparams[i] = params;
|
|
126
|
+
}
|
|
114
127
|
matchesDefault = false;
|
|
115
128
|
}
|
|
116
129
|
}
|
|
@@ -142,25 +155,38 @@ export const mergeParams = (a, b) => {
|
|
|
142
155
|
* Returns the best match or null when no match is found.
|
|
143
156
|
* When a chain is returned the parameters are updated from the RouteIDs.
|
|
144
157
|
* That is they contain both the componentProps of the <ion-route> and the parameter segment.
|
|
158
|
+
*
|
|
159
|
+
* When a wildcard route ties with other routes, a route without a wildcard that can build a url wins,
|
|
160
|
+
* then the wildcard route. Otherwise the first route declared wins a tie.
|
|
145
161
|
*/
|
|
146
162
|
export const findChainForIDs = (ids, chains) => {
|
|
147
|
-
let match = null;
|
|
148
163
|
let maxMatches = 0;
|
|
164
|
+
let tied = [];
|
|
149
165
|
for (const chain of chains) {
|
|
150
166
|
const score = matchesIDs(ids, chain);
|
|
151
167
|
if (score > maxMatches) {
|
|
152
|
-
match = chain;
|
|
153
168
|
maxMatches = score;
|
|
169
|
+
tied = [chain];
|
|
170
|
+
}
|
|
171
|
+
else if (score > 0 && score === maxMatches) {
|
|
172
|
+
tied.push(chain);
|
|
154
173
|
}
|
|
155
174
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
175
|
+
const matches = tied.map((chain) => chain.map((route, i) => ({
|
|
176
|
+
id: route.id,
|
|
177
|
+
segments: route.segments,
|
|
178
|
+
params: mergeParams(route.params, ids[i]?.params),
|
|
179
|
+
})));
|
|
180
|
+
if (!matches.some(chainEndsWithWildcard)) {
|
|
181
|
+
return matches.length > 0 ? matches[0] : null;
|
|
182
|
+
}
|
|
183
|
+
return matches.reduce((best, chain) => (tieRank(chain) > tieRank(best) ? chain : best));
|
|
184
|
+
};
|
|
185
|
+
const tieRank = (chain) => {
|
|
186
|
+
if (chainEndsWithWildcard(chain)) {
|
|
187
|
+
return 1;
|
|
162
188
|
}
|
|
163
|
-
return null;
|
|
189
|
+
return chainToSegments(chain) !== null ? 2 : 0;
|
|
164
190
|
};
|
|
165
191
|
/**
|
|
166
192
|
* Finds the best match for the segments in the chains.
|
|
@@ -168,10 +194,17 @@ export const findChainForIDs = (ids, chains) => {
|
|
|
168
194
|
* Returns the best match or null when no match is found.
|
|
169
195
|
* When a chain is returned the parameters are updated from the segments.
|
|
170
196
|
* That is they contain both the componentProps of the <ion-route> and the parameter segments.
|
|
197
|
+
*
|
|
198
|
+
* When wildcard routes match, the one with the most fixed segments wins if it has more fixed segments than every
|
|
199
|
+
* route that matched the whole path. Routes that only matched by ignoring trailing segments don't count.
|
|
171
200
|
*/
|
|
172
201
|
export const findChainForSegments = (segments, chains) => {
|
|
173
202
|
let match = null;
|
|
174
203
|
let bestScore = 0;
|
|
204
|
+
let fullMatch = null;
|
|
205
|
+
let bestFullScore = 0;
|
|
206
|
+
let maxFullFixed = -1;
|
|
207
|
+
let wildcard = null;
|
|
175
208
|
for (const chain of chains) {
|
|
176
209
|
const matchedChain = matchesSegments(segments, chain);
|
|
177
210
|
if (matchedChain !== null) {
|
|
@@ -180,9 +213,51 @@ export const findChainForSegments = (segments, chains) => {
|
|
|
180
213
|
bestScore = score;
|
|
181
214
|
match = matchedChain;
|
|
182
215
|
}
|
|
216
|
+
if (chainEndsWithWildcard(matchedChain)) {
|
|
217
|
+
if (wildcard === null || winsWildcard(matchedChain, wildcard)) {
|
|
218
|
+
wildcard = matchedChain;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
else if (!isPartialMatch(segments, matchedChain)) {
|
|
222
|
+
if (score > bestFullScore) {
|
|
223
|
+
bestFullScore = score;
|
|
224
|
+
fullMatch = matchedChain;
|
|
225
|
+
}
|
|
226
|
+
maxFullFixed = Math.max(maxFullFixed, countFixedSegments(matchedChain));
|
|
227
|
+
}
|
|
183
228
|
}
|
|
184
229
|
}
|
|
185
|
-
|
|
230
|
+
// Without a wildcard to match the rest of the path, routes can still ignore trailing segments.
|
|
231
|
+
if (wildcard === null) {
|
|
232
|
+
return match;
|
|
233
|
+
}
|
|
234
|
+
// Compare fixed segments rather than priority, since nesting under default routes raises the priority
|
|
235
|
+
return countFixedSegments(wildcard) > maxFullFixed ? wildcard : fullMatch;
|
|
236
|
+
};
|
|
237
|
+
/** Returns whether the chain matched the path segments only by ignoring some trailing segments. */
|
|
238
|
+
const isPartialMatch = (segments, chain) => {
|
|
239
|
+
const matched = chainToSegments(chain);
|
|
240
|
+
return matched !== null && matched.length < segments.filter((s) => s !== '').length;
|
|
241
|
+
};
|
|
242
|
+
const chainEndsWithWildcard = (chain) => {
|
|
243
|
+
return endsWithWildcard(chain[chain.length - 1].segments);
|
|
244
|
+
};
|
|
245
|
+
/** Returns whether the wildcard chain beats `best` by fixed segments, then by priority. */
|
|
246
|
+
const winsWildcard = (chain, best) => {
|
|
247
|
+
const chainFixed = countFixedSegments(chain);
|
|
248
|
+
const bestFixed = countFixedSegments(best);
|
|
249
|
+
return chainFixed > bestFixed || (chainFixed === bestFixed && computePriority(chain) > computePriority(best));
|
|
250
|
+
};
|
|
251
|
+
const countFixedSegments = (chain) => {
|
|
252
|
+
let count = 0;
|
|
253
|
+
for (const route of chain) {
|
|
254
|
+
for (const segment of withoutWildcard(route.segments)) {
|
|
255
|
+
if (segment !== '' && segment[0] !== ':') {
|
|
256
|
+
count++;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
return count;
|
|
186
261
|
};
|
|
187
262
|
/**
|
|
188
263
|
* Computes the priority of a chain.
|
|
@@ -194,12 +269,14 @@ export const findChainForSegments = (segments, chains) => {
|
|
|
194
269
|
* - /path/to/page
|
|
195
270
|
*
|
|
196
271
|
* The second one will be given a higher priority because "page" is a fixed segment (vs ":where", a parameter segment).
|
|
272
|
+
*
|
|
273
|
+
* A trailing wildcard is not counted.
|
|
197
274
|
*/
|
|
198
275
|
export const computePriority = (chain) => {
|
|
199
276
|
let score = 1;
|
|
200
277
|
let level = 1;
|
|
201
278
|
for (const route of chain) {
|
|
202
|
-
for (const segment of route.segments) {
|
|
279
|
+
for (const segment of withoutWildcard(route.segments)) {
|
|
203
280
|
if (segment[0] === ':') {
|
|
204
281
|
score += Math.pow(1, level);
|
|
205
282
|
}
|
|
@@ -221,4 +298,10 @@ export class RouterSegments {
|
|
|
221
298
|
}
|
|
222
299
|
return '';
|
|
223
300
|
}
|
|
301
|
+
/** Consumes and returns the remaining non empty segments. */
|
|
302
|
+
rest() {
|
|
303
|
+
const rest = this.segments.filter((s) => s !== '');
|
|
304
|
+
this.segments = [];
|
|
305
|
+
return rest;
|
|
306
|
+
}
|
|
224
307
|
}
|