@ionic/core 8.8.4-dev.11777318673.18d001f6 → 8.8.4-dev.11777393099.1a6ea277
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-divider.d.ts +11 -0
- package/components/ion-divider.js +4 -0
- 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-legacy-column.d.ts +11 -0
- package/components/ion-picker-legacy-column.js +4 -0
- package/components/ion-picker-legacy.d.ts +11 -0
- package/components/ion-picker-legacy.js +4 -0
- 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-0sa2JgYA.js +4 -0
- package/components/p-3Ni1Z654.js +4 -0
- package/{dist/ionic/p-D13Eaw-8.js → components/p-9gxM3tAr.js} +1 -1
- package/components/{p-ak_d-z48.js → p-B636tzQ7.js} +1 -1
- package/components/p-BAJR2rtd.js +4 -0
- package/components/p-BCDEEm9n.js +4 -0
- package/components/p-BDndEqui.js +4 -0
- package/components/p-BDqjX7Z_.js +4 -0
- package/components/p-BErKjY03.js +4 -0
- package/components/p-BFCM_1oE.js +4 -0
- package/components/{p-cyNmxje6.js → p-BLysWQA1.js} +1 -1
- package/components/p-BO4aickU.js +4 -0
- package/components/p-BU8N7ZrK.js +4 -0
- package/components/p-BYSs-jZz.js +4 -0
- package/components/p-BaPtaYEC.js +4 -0
- package/components/p-BcbmT6b3.js +4 -0
- package/components/p-BeVlsaLA.js +4 -0
- package/components/p-BfHB6wX_.js +4 -0
- package/components/p-BhfW3d9j.js +4 -0
- package/components/p-BjW8SOqw.js +4 -0
- package/components/p-Bp__mr16.js +4 -0
- package/components/p-BqDiJgC_.js +4 -0
- package/components/p-Br3pqTOz.js +4 -0
- package/components/p-BtAlyZ0b.js +4 -0
- package/components/p-C-_EGKki.js +4 -0
- package/components/p-C00Y_WJv.js +4 -0
- package/components/p-C2cZvGcF.js +4 -0
- package/components/{p-BUbsoBOV.js → p-CHgKFg32.js} +1 -1
- package/components/p-CKfNwyAb.js +4 -0
- package/components/p-CVBkx7m1.js +4 -0
- package/components/p-Cb9imMZh.js +4 -0
- package/components/p-CdYTq34D.js +4 -0
- package/components/p-CeYwuysM.js +4 -0
- package/components/p-Cf9-xP7P.js +4 -0
- package/components/{p-Cwv-vmkN.js → p-CjSx8W-k.js} +1 -1
- package/components/p-CnwZE7CW.js +4 -0
- package/components/p-CoarhFWH.js +4 -0
- package/components/p-CtiqM786.js +4 -0
- package/components/p-D1bKIW7n.js +4 -0
- package/components/p-D1t981Ih.js +4 -0
- package/components/p-D5lMX0xt.js +4 -0
- package/components/p-D8NAdIPC.js +4 -0
- package/components/p-DAeMHNER.js +4 -0
- package/components/p-DDw-NYxz.js +4 -0
- package/components/p-DVcs-2q3.js +4 -0
- package/components/p-DWhesBL8.js +4 -0
- package/components/p-DaJxRxSQ.js +4 -0
- package/components/p-DbmwH3zj.js +4 -0
- package/components/p-Dhi5xtNS.js +4 -0
- package/components/p-DlHXJAF8.js +4 -0
- package/components/p-DrhTPUzN.js +4 -0
- package/components/p-GnGGIfCd.js +4 -0
- package/components/p-XegQjlzJ.js +4 -0
- package/components/p-fIOYmaqA.js +4 -0
- package/components/p-lIOqnNXn.js +4 -0
- package/{dist/ionic/p-BvFYtOdE.js → components/p-oF-CwZ0b.js} +1 -1
- package/components/p-qx-oKGQ-.js +4 -0
- package/components/p-sK-FK9CT.js +4 -0
- package/components/p-t98_NeNv.js +4 -0
- package/components/p-vCpF32Z7.js +4 -0
- package/components/p-vXpMhGrs.js +4 -0
- package/components/p-wCDzv5Q8.js +4 -0
- package/components/{p-YLXPWgVj.js → p-zWP0sUV_.js} +1 -1
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/display.css +1 -1
- package/css/display.css.map +1 -1
- package/css/flex-utils.css +1 -1
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic/bundle.ionic.css +1 -0
- package/css/ionic/bundle.ionic.css.map +1 -0
- package/css/ionic/core.ionic.css +1 -0
- package/css/ionic/core.ionic.css.map +1 -0
- package/css/ionic/global.bundle.ionic.css +1 -0
- package/css/ionic/global.bundle.ionic.css.map +1 -0
- package/css/ionic/ionic-swiper.ionic.css +1 -0
- package/css/ionic/ionic-swiper.ionic.css.map +1 -0
- package/css/ionic/link.ionic.css +1 -0
- package/css/ionic/link.ionic.css.map +1 -0
- package/css/ionic/structure.ionic.css +1 -0
- package/css/ionic/structure.ionic.css.map +1 -0
- package/css/ionic/typography.ionic.css +1 -0
- package/css/ionic/typography.ionic.css.map +1 -0
- package/css/ionic/utils.bundle.ionic.css +1 -0
- package/css/ionic/utils.bundle.ionic.css.map +1 -0
- package/css/ionic-swiper.css +1 -1
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/normalize.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/palettes/dark.always.css +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.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-Dg4yiuR2.js → animation-DknMeJ3x.js} +3 -3
- package/dist/cjs/{app-globals-CLI8xCmk.js → app-globals-DtAeky3x.js} +1 -1
- package/dist/cjs/{button-active-FscMI17-.js → button-active-JoIWyYri.js} +2 -2
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-BnRBm_ys.js} +3 -3
- package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
- package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
- package/dist/cjs/caret-right-CRCgv98E.js +8 -0
- package/dist/cjs/{config-BukYi_pW.js → config-B0utyWaD.js} +1 -1
- package/dist/cjs/{data-BYlBjkMU.js → data-DuOuKG7I.js} +6 -6
- package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
- package/dist/cjs/{framework-delegate-CRgp8o_p.js → framework-delegate-Dx9FrqAC.js} +4 -2
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-D3Ay9mmg.js} +1 -1
- package/dist/cjs/{helpers-CxTYJdbT.js → helpers-DJYxKN5U.js} +57 -4
- package/dist/cjs/{index-MbaBbWXk.js → index-BJrpF9T3.js} +2 -2
- package/dist/cjs/{index-CFUwM5x_.js → index-Cer2Qy4I.js} +15 -15
- package/dist/cjs/{index-DqmRDbxg.js → index-CgAbCW6L.js} +2 -0
- package/dist/cjs/{index-CqT-2gKy.js → index-CzcLEdQ5.js} +41 -4
- package/dist/cjs/{index-YcSftOMz.js → index-DMJjUhXH.js} +9 -8
- package/dist/cjs/{index-C845Ti6K.js → index-D_mPAIqF.js} +4 -4
- package/dist/cjs/index.cjs.js +14 -14
- package/dist/cjs/{input-shims-Dl5cnc_e.js → input-shims-Dn33gFln.js} +18 -17
- package/dist/cjs/{input.utils-DmeJ8dmo.js → input.utils-DnVnhWEF.js} +5 -5
- package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -29
- package/dist/cjs/ion-action-sheet.cjs.entry.js +25 -26
- package/dist/cjs/ion-alert.cjs.entry.js +25 -27
- package/dist/cjs/ion-app_8.cjs.entry.js +296 -175
- package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -13
- package/dist/cjs/ion-back-button.cjs.entry.js +31 -22
- package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +54 -18
- package/dist/cjs/ion-button_2.cjs.entry.js +59 -22
- package/dist/cjs/ion-card_5.cjs.entry.js +55 -33
- package/dist/cjs/ion-checkbox.cjs.entry.js +34 -16
- package/dist/cjs/ion-chip.cjs.entry.js +50 -9
- package/dist/cjs/ion-col_3.cjs.entry.js +54 -57
- package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -9
- package/dist/cjs/{ion-datetime.cjs.entry.js → ion-datetime_3.cjs.entry.js} +755 -32
- package/dist/cjs/ion-divider.cjs.entry.js +51 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +44 -28
- package/dist/cjs/ion-img.cjs.entry.js +8 -4
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +91 -16
- package/dist/cjs/ion-input-otp.cjs.entry.js +74 -9
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +53 -15
- package/dist/cjs/ion-input.cjs.entry.js +124 -34
- package/dist/cjs/ion-item-option_3.cjs.entry.js +401 -31
- package/dist/cjs/ion-item_8.cjs.entry.js +116 -49
- package/dist/cjs/ion-loading.cjs.entry.js +20 -22
- package/dist/cjs/ion-menu_3.cjs.entry.js +47 -29
- package/dist/cjs/ion-modal.cjs.entry.js +262 -142
- package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
- package/dist/cjs/ion-picker-column.cjs.entry.js +15 -15
- package/dist/cjs/ion-picker.cjs.entry.js +10 -6
- package/dist/cjs/ion-popover.cjs.entry.js +21 -23
- package/dist/cjs/ion-progress-bar.cjs.entry.js +27 -9
- package/dist/cjs/ion-radio_2.cjs.entry.js +35 -17
- package/dist/cjs/ion-range.cjs.entry.js +20 -13
- package/dist/cjs/ion-refresher_2.cjs.entry.js +39 -21
- package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -14
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
- package/dist/cjs/ion-route_4.cjs.entry.js +10 -9
- package/dist/cjs/ion-searchbar.cjs.entry.js +137 -24
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
- package/dist/cjs/ion-select-modal.cjs.entry.js +34 -11
- package/dist/cjs/ion-select_3.cjs.entry.js +142 -42
- package/dist/cjs/ion-spinner.cjs.entry.js +30 -8
- package/dist/cjs/ion-split-pane.cjs.entry.js +12 -9
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +147 -23
- package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
- package/dist/cjs/ion-text.cjs.entry.js +7 -7
- package/dist/cjs/ion-textarea.cjs.entry.js +137 -23
- package/dist/cjs/ion-toast.cjs.entry.js +69 -46
- package/dist/cjs/ion-toggle.cjs.entry.js +82 -25
- package/dist/cjs/ionic-global-CSEbHD_F.js +519 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-trBiC95R.js → ios.transition-UCjoxA3D.js} +7 -5
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Bhav6x-R.js} +4 -3
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Dsczf-iT.js} +1 -1
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-tqGDP9SU.js} +11 -9
- package/dist/cjs/list-a-7GSA6K.js +8 -0
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-CUQECuvD.js → md.transition-CNwlchQn.js} +6 -5
- package/dist/cjs/{notch-controller-sD-lTpdc.js → notch-controller-CgtkBzy0.js} +4 -4
- package/dist/cjs/{overlays-DIfHxkst.js → overlays-Hci_7vw_.js} +117 -42
- package/dist/cjs/{status-tap-CCJk5VgT.js → status-tap-CTY2dMsZ.js} +4 -3
- package/dist/cjs/{swipe-back-BGhTQ1CU.js → swipe-back-jJFi5KCB.js} +3 -2
- package/dist/cjs/{theme-CeDs6Hcv.js → theme-IlOsGAz7.js} +25 -1
- package/dist/cjs/validity-QmuwEptc.js +51 -0
- package/dist/cjs/x-BTF99yFH.js +8 -0
- package/dist/collection/collection-manifest.json +10 -5
- package/dist/collection/components/accordion/accordion.ionic.css +201 -0
- package/dist/collection/components/accordion/accordion.ios.css +73 -58
- package/dist/collection/components/accordion/accordion.js +41 -27
- package/dist/collection/components/accordion/accordion.md.css +67 -59
- package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
- package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
- package/dist/collection/components/accordion-group/accordion-group.js +44 -8
- package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
- package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
- package/dist/collection/components/action-sheet/action-sheet.js +18 -18
- package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
- package/dist/collection/components/alert/alert.ios.css +19 -1
- package/dist/collection/components/alert/alert.js +17 -18
- package/dist/collection/components/alert/alert.md.css +19 -1
- package/dist/collection/components/app/app.js +15 -83
- package/dist/collection/components/avatar/avatar.ionic.css +391 -0
- package/dist/collection/components/avatar/avatar.ios.css +7 -33
- package/dist/collection/components/avatar/avatar.js +120 -4
- package/dist/collection/components/avatar/avatar.md.css +51 -0
- package/dist/collection/components/back-button/back-button.ios.css +60 -48
- package/dist/collection/components/back-button/back-button.js +27 -19
- package/dist/collection/components/back-button/back-button.md.css +60 -48
- package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
- package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
- package/dist/collection/components/backdrop/backdrop.js +12 -6
- package/dist/collection/components/backdrop/backdrop.md.css +56 -19
- package/dist/collection/components/badge/badge.ionic.css +275 -0
- package/dist/collection/components/badge/badge.ios.css +139 -12
- package/dist/collection/components/badge/badge.js +145 -9
- package/dist/collection/components/badge/badge.md.css +123 -12
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
- package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
- package/dist/collection/components/button/button.ionic.css +646 -0
- package/dist/collection/components/button/button.ios.css +154 -46
- package/dist/collection/components/button/button.js +63 -27
- package/dist/collection/components/button/button.md.css +150 -50
- package/dist/collection/components/buttons/buttons.ionic.css +97 -0
- package/dist/collection/components/buttons/buttons.ios.css +59 -7
- package/dist/collection/components/buttons/buttons.js +15 -9
- package/dist/collection/components/buttons/buttons.md.css +55 -3
- package/dist/collection/components/card/card.ionic.css +144 -0
- package/dist/collection/components/card/card.ios.css +65 -14
- package/dist/collection/components/card/card.js +41 -10
- package/dist/collection/components/card/card.md.css +65 -14
- package/dist/collection/components/card-content/card-content.ionic.css +89 -0
- package/dist/collection/components/card-content/card-content.ios.css +20 -35
- package/dist/collection/components/card-content/card-content.js +12 -10
- package/dist/collection/components/card-content/card-content.md.css +20 -35
- package/dist/collection/components/card-header/card-header.ionic.css +85 -0
- package/dist/collection/components/card-header/card-header.ios.css +27 -15
- package/dist/collection/components/card-header/card-header.js +13 -10
- package/dist/collection/components/card-header/card-header.md.css +27 -15
- package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
- package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
- package/dist/collection/components/card-title/card-title.ios.css +73 -0
- package/dist/collection/components/card-title/card-title.js +11 -8
- package/dist/collection/components/card-title/card-title.md.css +73 -0
- package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
- package/dist/collection/components/checkbox/checkbox.js +70 -14
- package/dist/collection/components/checkbox/checkbox.md.css +162 -102
- package/dist/collection/components/chip/chip.ionic.css +217 -0
- package/dist/collection/components/chip/chip.ios.css +67 -14
- package/dist/collection/components/chip/chip.js +108 -8
- package/dist/collection/components/chip/chip.md.css +67 -14
- package/dist/collection/components/col/col.css +192 -4
- package/dist/collection/components/col/col.js +210 -61
- package/dist/collection/components/content/content.css +8 -2
- package/dist/collection/components/content/content.js +16 -11
- package/dist/collection/components/datetime/datetime.ionic.css +703 -0
- package/dist/collection/components/datetime/datetime.ios.css +302 -106
- package/dist/collection/components/datetime/datetime.js +111 -23
- package/dist/collection/components/datetime/datetime.md.css +293 -96
- package/dist/collection/components/datetime/utils/data.js +5 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
- package/dist/collection/components/datetime-button/datetime-button.js +11 -8
- package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
- package/dist/collection/components/divider/divider.ionic.css +148 -0
- package/dist/collection/components/divider/divider.ios.css +87 -0
- package/dist/collection/components/divider/divider.js +94 -0
- package/dist/collection/components/divider/divider.md.css +87 -0
- package/dist/collection/components/fab/fab.css +25 -1
- package/dist/collection/components/fab/fab.js +9 -5
- package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
- package/dist/collection/components/fab-button/fab-button.js +36 -21
- package/dist/collection/components/fab-button/fab-button.md.css +20 -8
- package/dist/collection/components/fab-list/fab-list.css +12 -0
- package/dist/collection/components/fab-list/fab-list.js +9 -5
- package/dist/collection/components/footer/footer.ios.css +14 -2
- package/dist/collection/components/footer/footer.js +21 -16
- package/dist/collection/components/footer/footer.md.css +12 -0
- package/dist/collection/components/grid/grid.css +12 -0
- package/dist/collection/components/grid/grid.js +9 -5
- package/dist/collection/components/header/header.ionic.css +97 -0
- package/dist/collection/components/header/header.ios.css +25 -10
- package/dist/collection/components/header/header.js +50 -19
- package/dist/collection/components/header/header.md.css +23 -8
- package/dist/collection/components/header/header.utils.js +5 -5
- package/dist/collection/components/img/img.js +8 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
- package/dist/collection/components/input/input.ionic.css +889 -0
- package/dist/collection/components/input/input.ios.css +223 -135
- package/dist/collection/components/input/input.js +148 -37
- package/dist/collection/components/input/input.md.css +193 -207
- package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
- package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
- package/dist/collection/components/input-otp/input-otp.js +73 -6
- package/dist/collection/components/input-otp/input-otp.md.css +105 -60
- package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
- package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
- package/dist/collection/components/item/item.ionic.css +508 -0
- package/dist/collection/components/item/item.ios.css +109 -69
- package/dist/collection/components/item/item.js +51 -20
- package/dist/collection/components/item/item.md.css +120 -68
- package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
- package/dist/collection/components/item-divider/item-divider.js +11 -8
- package/dist/collection/components/item-divider/item-divider.md.css +18 -0
- package/dist/collection/components/item-group/item-group.ios.css +12 -0
- package/dist/collection/components/item-group/item-group.js +13 -7
- package/dist/collection/components/item-group/item-group.md.css +12 -0
- package/dist/collection/components/item-option/item-option.ionic.css +274 -0
- package/dist/collection/components/item-option/item-option.ios.css +136 -29
- package/dist/collection/components/item-option/item-option.js +73 -9
- package/dist/collection/components/item-option/item-option.md.css +136 -29
- package/dist/collection/components/item-options/item-options.ionic.css +221 -0
- package/dist/collection/components/item-options/item-options.ios.css +77 -34
- package/dist/collection/components/item-options/item-options.js +13 -7
- package/dist/collection/components/item-options/item-options.md.css +77 -34
- package/dist/collection/components/item-sliding/item-sliding.css +6 -0
- package/dist/collection/components/item-sliding/item-sliding.js +355 -14
- package/dist/collection/components/label/label.ios.css +18 -0
- package/dist/collection/components/label/label.js +11 -8
- package/dist/collection/components/label/label.md.css +18 -0
- package/dist/collection/components/list/list.ionic.css +212 -0
- package/dist/collection/components/list/list.ios.css +54 -14
- package/dist/collection/components/list/list.js +48 -9
- package/dist/collection/components/list/list.md.css +56 -16
- package/dist/collection/components/list-header/list-header.ionic.css +190 -0
- package/dist/collection/components/list-header/list-header.ios.css +82 -38
- package/dist/collection/components/list-header/list-header.js +11 -8
- package/dist/collection/components/list-header/list-header.md.css +82 -38
- package/dist/collection/components/loading/loading.ios.css +13 -1
- package/dist/collection/components/loading/loading.js +15 -16
- package/dist/collection/components/loading/loading.md.css +13 -1
- package/dist/collection/components/menu/menu.ios.css +15 -3
- package/dist/collection/components/menu/menu.js +12 -7
- package/dist/collection/components/menu/menu.md.css +15 -3
- package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
- package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
- package/dist/collection/components/menu-button/menu-button.js +26 -10
- package/dist/collection/components/menu-button/menu-button.md.css +49 -15
- package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
- package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
- package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
- package/dist/collection/components/modal/animations/sheet.js +8 -2
- package/dist/collection/components/modal/gestures/sheet.js +76 -10
- package/dist/collection/components/modal/modal.ionic.css +247 -0
- package/dist/collection/components/modal/modal.ios.css +178 -70
- package/dist/collection/components/modal/modal.js +51 -17
- package/dist/collection/components/modal/modal.md.css +178 -70
- package/dist/collection/components/nav/nav.css +7 -1
- package/dist/collection/components/nav/nav.js +11 -5
- package/dist/collection/components/nav-link/nav-link.js +5 -1
- package/dist/collection/components/note/note.ios.css +12 -0
- package/dist/collection/components/note/note.js +11 -8
- package/dist/collection/components/note/note.md.css +12 -0
- package/dist/collection/components/picker/picker.ios.css +15 -3
- package/dist/collection/components/picker/picker.js +8 -5
- package/dist/collection/components/picker/picker.md.css +15 -3
- package/dist/collection/components/picker-column/picker-column.css +9 -2
- package/dist/collection/components/picker-column/picker-column.js +10 -9
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
- package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
- package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
- package/dist/collection/components/picker-legacy/picker.ios.css +312 -0
- package/dist/collection/components/picker-legacy/picker.js +891 -0
- package/dist/collection/components/picker-legacy/picker.md.css +299 -0
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +243 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +234 -0
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
- package/dist/collection/components/popover/popover.ionic.css +274 -0
- package/dist/collection/components/popover/popover.ios.css +13 -1
- package/dist/collection/components/popover/popover.js +19 -20
- package/dist/collection/components/popover/popover.md.css +13 -1
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
- package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
- package/dist/collection/components/progress-bar/progress-bar.js +43 -7
- package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
- package/dist/collection/components/radio/radio.ionic.css +422 -0
- package/dist/collection/components/radio/radio.ios.css +134 -91
- package/dist/collection/components/radio/radio.js +15 -10
- package/dist/collection/components/radio/radio.md.css +134 -91
- package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
- package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
- package/dist/collection/components/radio-group/radio-group.js +48 -7
- package/dist/collection/components/radio-group/radio-group.md.css +43 -19
- package/dist/collection/components/range/range.ionic.css +567 -0
- package/dist/collection/components/range/range.ios.css +128 -85
- package/dist/collection/components/range/range.js +16 -10
- package/dist/collection/components/range/range.md.css +128 -85
- package/dist/collection/components/refresher/refresher.ios.css +14 -1
- package/dist/collection/components/refresher/refresher.js +11 -8
- package/dist/collection/components/refresher/refresher.md.css +15 -2
- package/dist/collection/components/refresher-content/refresher-content.js +28 -7
- package/dist/collection/components/reorder/reorder.ios.css +6 -0
- package/dist/collection/components/reorder/reorder.js +33 -6
- package/dist/collection/components/reorder/reorder.md.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.js +8 -4
- package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
- package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
- package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
- package/dist/collection/components/route/route.js +4 -0
- package/dist/collection/components/router/router.js +4 -0
- package/dist/collection/components/router-link/router-link.css +8 -2
- package/dist/collection/components/router-link/router-link.js +9 -5
- package/dist/collection/components/router-outlet/router-outlet.css +7 -1
- package/dist/collection/components/router-outlet/router-outlet.js +10 -40
- package/dist/collection/components/row/row.css +16 -0
- package/dist/collection/components/row/row.js +9 -2
- package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
- package/dist/collection/components/searchbar/searchbar.js +180 -33
- package/dist/collection/components/searchbar/searchbar.md.css +56 -18
- package/dist/collection/components/segment/segment.ionic.css +115 -0
- package/dist/collection/components/segment/segment.ios.css +45 -2
- package/dist/collection/components/segment/segment.js +11 -8
- package/dist/collection/components/segment/segment.md.css +45 -2
- package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
- package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
- package/dist/collection/components/segment-button/segment-button.js +11 -8
- package/dist/collection/components/segment-button/segment-button.md.css +148 -107
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
- package/dist/collection/components/segment-view/segment-view.js +6 -4
- package/dist/collection/components/segment-view/segment-view.md.css +6 -0
- package/dist/collection/components/select/select.ionic.css +777 -0
- package/dist/collection/components/select/select.ios.css +315 -176
- package/dist/collection/components/select/select.js +185 -53
- package/dist/collection/components/select/select.md.css +331 -178
- package/dist/collection/components/select-modal/select-modal.ionic.css +130 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
- package/dist/collection/components/select-modal/select-modal.js +49 -5
- package/dist/collection/components/select-modal/select-modal.md.css +7 -3
- package/dist/collection/components/select-option/select-option.js +9 -2
- package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
- package/dist/collection/components/select-popover/select-popover.js +12 -4
- package/dist/collection/components/select-popover/select-popover.md.css +18 -0
- package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
- package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
- package/dist/collection/components/spinner/spinner.js +47 -6
- package/dist/collection/components/spinner/spinner.native.css +199 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
- package/dist/collection/components/split-pane/split-pane.js +14 -8
- package/dist/collection/components/split-pane/split-pane.md.css +20 -2
- package/dist/collection/components/tab/tab.js +6 -2
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +227 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
- package/dist/collection/components/tab-bar/tab-bar.js +171 -13
- package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
- package/dist/collection/components/tab-button/tab-button.ionic.css +348 -0
- package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
- package/dist/collection/components/tab-button/tab-button.js +54 -9
- package/dist/collection/components/tab-button/tab-button.md.css +137 -93
- package/dist/collection/components/tabs/tabs.css +7 -1
- package/dist/collection/components/tabs/tabs.js +4 -1
- package/dist/collection/components/text/text.css +6 -0
- package/dist/collection/components/text/text.js +7 -6
- package/dist/collection/components/textarea/textarea.ionic.css +898 -0
- package/dist/collection/components/textarea/textarea.ios.css +298 -158
- package/dist/collection/components/textarea/textarea.js +162 -24
- package/dist/collection/components/textarea/textarea.md.css +312 -159
- package/dist/collection/components/thumbnail/thumbnail.css +6 -0
- package/dist/collection/components/thumbnail/thumbnail.js +9 -2
- package/dist/collection/components/title/title.ionic.css +127 -0
- package/dist/collection/components/title/title.ios.css +32 -4
- package/dist/collection/components/title/title.js +13 -7
- package/dist/collection/components/title/title.md.css +32 -4
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ionic.css +394 -0
- package/dist/collection/components/toast/toast.ios.css +84 -45
- package/dist/collection/components/toast/toast.js +76 -13
- package/dist/collection/components/toast/toast.md.css +84 -45
- package/dist/collection/components/toggle/toggle.ionic.css +508 -0
- package/dist/collection/components/toggle/toggle.ios.css +247 -131
- package/dist/collection/components/toggle/toggle.js +73 -18
- package/dist/collection/components/toggle/toggle.md.css +244 -131
- package/dist/collection/components/toolbar/test/image.svg +1 -0
- package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
- package/dist/collection/components/toolbar/toolbar.js +218 -13
- package/dist/collection/components/toolbar/toolbar.md.css +90 -47
- package/dist/collection/global/ionic-global.js +241 -13
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/focus-trap.js +13 -2
- package/dist/collection/utils/focus-visible.js +22 -0
- package/dist/collection/utils/forms/validity.js +31 -0
- package/dist/collection/utils/framework-delegate.js +3 -1
- package/dist/collection/utils/hardware-back-button.js +15 -0
- package/dist/collection/utils/helpers.js +57 -3
- package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
- package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
- package/dist/collection/utils/menu-controller/animations/push.js +2 -1
- package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
- package/dist/collection/utils/overlays.js +97 -31
- package/dist/collection/utils/test/playwright/drag-element.js +3 -4
- package/dist/collection/utils/test/playwright/generator.js +48 -23
- package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
- package/dist/collection/utils/theme.js +25 -1
- package/dist/collection/utils/transition/ios.transition.js +1 -0
- package/dist/docs.json +9698 -675
- package/dist/esm/{animation-CnGMT4ji.js → animation-Cqe2x-Pt.js} +2 -2
- package/dist/esm/{app-globals-DhZjtldk.js → app-globals-Dk1rB3aE.js} +1 -1
- package/dist/esm/{button-active-BBx21brx.js → button-active-g6ZnZzDZ.js} +2 -2
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-C4lYa1nV.js} +1 -1
- package/dist/esm/caret-down-D1t981Ih.js +6 -0
- package/dist/esm/caret-left-fIOYmaqA.js +6 -0
- package/dist/esm/caret-right-BYSs-jZz.js +6 -0
- package/dist/esm/{config-TO1rZH52.js → config-BvDxfLa-.js} +1 -1
- package/dist/esm/{data-B9iGR5YO.js → data-BNKYavC3.js} +6 -6
- package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
- package/dist/esm/{framework-delegate-CyxE1S_P.js → framework-delegate-CjVwn_KZ.js} +4 -2
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-_88k1V5U.js} +1 -1
- package/dist/esm/{helpers-Tl8jw6S2.js → helpers-Do7zwvM1.js} +58 -5
- package/dist/esm/{index-hW6eNZ3o.js → index-BmkLokUL.js} +2 -2
- package/dist/esm/{index-BtUdxPjv.js → index-C5t9-ciC.js} +4 -3
- package/dist/esm/{index-B-hkiOUh.js → index-CGthURny.js} +4 -4
- package/dist/esm/{index-AlrZKoWR.js → index-D2tu5BUg.js} +2 -1
- package/dist/esm/{index-IGIE5vDm.js → index-Omi_TcwW.js} +41 -4
- package/dist/esm/{index-B2KwgBLx.js → index-hpH08p5s.js} +11 -11
- package/dist/esm/index.js +13 -14
- package/dist/esm/{input-shims-AaDhOpKN.js → input-shims-vDjCsx95.js} +7 -6
- package/dist/esm/{input.utils-Bxa_DQ7-.js → input.utils-B9Q5xHp6.js} +3 -3
- package/dist/esm/ion-accordion_2.entry.js +61 -29
- package/dist/esm/ion-action-sheet.entry.js +25 -26
- package/dist/esm/ion-alert.entry.js +25 -27
- package/dist/esm/ion-app_8.entry.js +296 -175
- package/dist/esm/ion-avatar_3.entry.js +125 -13
- package/dist/esm/ion-back-button.entry.js +31 -22
- package/dist/esm/ion-backdrop.entry.js +10 -7
- package/dist/esm/ion-breadcrumb_2.entry.js +54 -18
- package/dist/esm/ion-button_2.entry.js +59 -22
- package/dist/esm/ion-card_5.entry.js +55 -33
- package/dist/esm/ion-checkbox.entry.js +34 -16
- package/dist/esm/ion-chip.entry.js +50 -9
- package/dist/esm/ion-col_3.entry.js +54 -57
- package/dist/esm/ion-datetime-button.entry.js +13 -9
- package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +754 -33
- package/dist/esm/ion-divider.entry.js +49 -0
- package/dist/esm/ion-fab_3.entry.js +44 -28
- package/dist/esm/ion-img.entry.js +8 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +91 -16
- package/dist/esm/ion-input-otp.entry.js +74 -9
- package/dist/esm/ion-input-password-toggle.entry.js +53 -15
- package/dist/esm/ion-input.entry.js +124 -34
- package/dist/esm/ion-item-option_3.entry.js +401 -31
- package/dist/esm/ion-item_8.entry.js +116 -49
- package/dist/esm/ion-loading.entry.js +20 -22
- package/dist/esm/ion-menu_3.entry.js +47 -29
- package/dist/esm/ion-modal.entry.js +215 -95
- package/dist/esm/ion-nav_2.entry.js +14 -11
- package/dist/esm/ion-picker-column-option.entry.js +12 -8
- package/dist/esm/ion-picker-column.entry.js +14 -14
- package/dist/esm/ion-picker.entry.js +10 -6
- package/dist/esm/ion-popover.entry.js +21 -23
- package/dist/esm/ion-progress-bar.entry.js +27 -9
- package/dist/esm/ion-radio_2.entry.js +35 -17
- package/dist/esm/ion-range.entry.js +20 -13
- package/dist/esm/ion-refresher_2.entry.js +39 -21
- package/dist/esm/ion-reorder_2.entry.js +38 -14
- package/dist/esm/ion-ripple-effect.entry.js +15 -7
- package/dist/esm/ion-route_4.entry.js +10 -9
- package/dist/esm/ion-searchbar.entry.js +137 -24
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +6 -3
- package/dist/esm/ion-segment_2.entry.js +23 -16
- package/dist/esm/ion-select-modal.entry.js +34 -11
- package/dist/esm/ion-select_3.entry.js +142 -42
- package/dist/esm/ion-spinner.entry.js +30 -8
- package/dist/esm/ion-split-pane.entry.js +12 -9
- package/dist/esm/ion-tab-bar_2.entry.js +147 -23
- package/dist/esm/ion-tab_2.entry.js +8 -7
- package/dist/esm/ion-text.entry.js +7 -7
- package/dist/esm/ion-textarea.entry.js +137 -23
- package/dist/esm/ion-toast.entry.js +44 -21
- package/dist/esm/ion-toggle.entry.js +82 -25
- package/dist/esm/ionic-global-CAZb-5i-.js +508 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition--aMF-pDH.js → ios.transition-CzSncKQg.js} +7 -5
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Cpw6xVLJ.js} +1 -1
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-DJpS2IGK.js} +4 -3
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-CAc33ylR.js} +5 -3
- package/dist/esm/list-Dhi5xtNS.js +6 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-BEVbfm8j.js → md.transition-DIsWqYBZ.js} +6 -5
- package/dist/esm/{notch-controller-DAcvKU57.js → notch-controller-DiBq57w8.js} +2 -2
- package/dist/esm/{overlays-BDGzTP3L.js → overlays-rwDDzEs4.js} +114 -39
- package/dist/esm/{status-tap-BfJqFSLF.js → status-tap-fYFdZg6z.js} +4 -3
- package/dist/esm/{swipe-back-BZBFwTQV.js → swipe-back-BzGqTrrq.js} +3 -2
- package/dist/esm/{theme-DiVJyqlX.js → theme-DaJxRxSQ.js} +25 -1
- package/dist/esm/validity-BjW8SOqw.js +48 -0
- package/dist/esm/x-BDqjX7Z_.js +6 -0
- package/dist/html.html-data.json +2544 -129
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-07d3388f.entry.js +4 -0
- package/dist/ionic/p-092e92b0.entry.js +4 -0
- package/dist/ionic/p-09338ca0.entry.js +4 -0
- package/dist/ionic/p-11nqcMM3.js +4 -0
- package/dist/ionic/p-139d02eb.entry.js +4 -0
- package/dist/ionic/p-1855fcb6.entry.js +4 -0
- package/dist/ionic/p-228b6a9c.entry.js +4 -0
- package/dist/ionic/p-2311e660.entry.js +4 -0
- package/dist/ionic/p-2aa44c65.entry.js +4 -0
- package/dist/ionic/p-2bf931ae.entry.js +4 -0
- package/dist/ionic/p-2effd05d.entry.js +4 -0
- package/dist/ionic/p-3093958a.entry.js +4 -0
- package/dist/ionic/p-37ccbee4.entry.js +4 -0
- package/dist/ionic/p-3aba19e2.entry.js +4 -0
- package/dist/ionic/p-3bf01c2c.entry.js +4 -0
- package/dist/ionic/p-4091ad21.entry.js +4 -0
- package/dist/ionic/p-41914dc2.entry.js +4 -0
- package/dist/ionic/p-45825c2c.entry.js +4 -0
- package/dist/ionic/p-4610e447.entry.js +4 -0
- package/dist/ionic/p-488992b6.entry.js +4 -0
- package/dist/ionic/p-49c92227.entry.js +4 -0
- package/dist/ionic/p-4c864eb2.entry.js +4 -0
- package/dist/ionic/p-4ce731be.entry.js +4 -0
- package/dist/ionic/p-4e46439d.entry.js +4 -0
- package/dist/ionic/p-50d90690.entry.js +4 -0
- package/dist/ionic/p-5239fc93.entry.js +4 -0
- package/dist/ionic/p-575d972f.entry.js +4 -0
- package/dist/ionic/p-5ac21be2.entry.js +4 -0
- package/dist/ionic/p-5b7eaf60.entry.js +4 -0
- package/dist/ionic/p-64341e32.entry.js +4 -0
- package/dist/ionic/p-68c21b2a.entry.js +4 -0
- package/dist/ionic/p-6c8c37c2.entry.js +4 -0
- package/dist/ionic/p-6fbead83.entry.js +4 -0
- package/dist/ionic/p-7194f6fa.entry.js +4 -0
- package/dist/ionic/p-76d0e7ef.entry.js +4 -0
- package/dist/ionic/p-7959826e.entry.js +4 -0
- package/dist/ionic/p-79ae0425.entry.js +4 -0
- package/dist/ionic/p-7d267dc6.entry.js +4 -0
- package/dist/ionic/p-7fd3311f.entry.js +4 -0
- package/dist/ionic/p-8516eb69.entry.js +4 -0
- package/dist/ionic/p-8uDL7fql.js +4 -0
- package/dist/ionic/p-91e242e4.entry.js +4 -0
- package/dist/ionic/p-98c34fd7.entry.js +4 -0
- package/dist/ionic/p-9b9b1450.entry.js +4 -0
- package/dist/ionic/p-BDqjX7Z_.js +4 -0
- package/dist/ionic/p-BYSs-jZz.js +4 -0
- package/dist/ionic/p-BjW8SOqw.js +4 -0
- package/{components/p-9VcRUwdB.js → dist/ionic/p-BsfuYVMP.js} +1 -1
- package/dist/ionic/p-Bx0bt2Ar.js +4 -0
- package/dist/ionic/p-C2mpVKI1.js +4 -0
- package/dist/ionic/p-C4uUM9DM.js +4 -0
- package/dist/ionic/p-C5zxLmJ_.js +4 -0
- package/{components/p-BS1TtEiJ.js → dist/ionic/p-C8IHbcuP.js} +1 -1
- package/dist/ionic/p-CBV-BGvD.js +4 -0
- package/dist/ionic/p-CDn0uNJA.js +4 -0
- package/dist/ionic/p-CHE1xWbg.js +4 -0
- package/dist/ionic/p-CIk5QtPm.js +4 -0
- package/dist/ionic/p-CQKe4n56.js +4 -0
- package/dist/ionic/p-CVp2D--1.js +4 -0
- package/dist/ionic/p-CXqdKf1K.js +4 -0
- package/dist/ionic/p-Cb-0O4h8.js +4 -0
- package/dist/ionic/{p-CKvCXMs9.js → p-CbkICFBN.js} +1 -1
- package/dist/ionic/p-D1t981Ih.js +4 -0
- package/dist/ionic/p-D2tu5BUg.js +4 -0
- package/dist/ionic/{p-B8xlpH8p.js → p-DKWXAwlR.js} +1 -1
- package/dist/ionic/p-DaJxRxSQ.js +4 -0
- package/dist/ionic/p-Dhi5xtNS.js +4 -0
- package/dist/ionic/p-DoyDJ2X5.js +4 -0
- package/dist/ionic/p-FvDKM4Ax.js +4 -0
- package/dist/ionic/p-Omi_TcwW.js +5 -0
- package/{components/p-D13Eaw-8.js → dist/ionic/p-SJmaFQ0H.js} +1 -1
- package/dist/ionic/p-SOASChNu.js +4 -0
- package/dist/ionic/{p-DjriolRs.js → p-ZqkJDyhe.js} +1 -1
- package/dist/ionic/p-a53a3ecc.entry.js +4 -0
- package/dist/ionic/p-acdc21a6.entry.js +4 -0
- package/dist/ionic/p-b00bbeb7.entry.js +4 -0
- package/dist/ionic/p-b8b20b7e.entry.js +4 -0
- package/dist/ionic/p-bc5713f7.entry.js +4 -0
- package/dist/ionic/p-caa1ce72.entry.js +4 -0
- package/dist/ionic/p-d954cd19.entry.js +4 -0
- package/dist/ionic/p-e45be51f.entry.js +4 -0
- package/dist/ionic/p-edb0b0c8.entry.js +4 -0
- package/dist/ionic/p-f061fcb7.entry.js +4 -0
- package/dist/ionic/p-f740c359.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-qETiT38a.js +4 -0
- package/dist/ionic/{p-gbVXD275.js → p-qYp06FUk.js} +1 -1
- package/dist/ionic/p-vXpMhGrs.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +6 -3
- package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
- package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
- package/dist/types/components/alert/alert-interface.d.ts +3 -7
- package/dist/types/components/alert/alert.d.ts +3 -2
- package/dist/types/components/app/app.d.ts +4 -5
- package/dist/types/components/avatar/avatar.d.ts +32 -0
- package/dist/types/components/back-button/back-button.d.ts +2 -1
- package/dist/types/components/backdrop/backdrop.d.ts +4 -0
- package/dist/types/components/badge/badge.d.ts +34 -1
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +23 -8
- package/dist/types/components/buttons/buttons.d.ts +5 -1
- package/dist/types/components/card/card.d.ts +8 -1
- package/dist/types/components/card-content/card-content.d.ts +2 -1
- package/dist/types/components/card-header/card-header.d.ts +3 -2
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
- package/dist/types/components/card-title/card-title.d.ts +2 -1
- package/dist/types/components/checkbox/checkbox.d.ts +14 -4
- package/dist/types/components/chip/chip.d.ts +26 -1
- package/dist/types/components/col/col.d.ts +52 -5
- package/dist/types/components/content/content.d.ts +3 -0
- package/dist/types/components/datetime/datetime.d.ts +27 -1
- package/dist/types/components/datetime/utils/data.d.ts +5 -5
- package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
- package/dist/types/components/divider/divider.d.ts +20 -0
- package/dist/types/components/fab/fab.d.ts +4 -0
- package/dist/types/components/fab-button/fab-button.d.ts +5 -3
- package/dist/types/components/fab-list/fab-list.d.ts +4 -0
- package/dist/types/components/footer/footer.d.ts +4 -3
- package/dist/types/components/grid/grid.d.ts +4 -0
- package/dist/types/components/header/header.d.ts +9 -3
- package/dist/types/components/header/header.utils.d.ts +3 -3
- package/dist/types/components/img/img.d.ts +3 -0
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +31 -5
- package/dist/types/components/input-otp/input-otp.d.ts +37 -0
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
- package/dist/types/components/item/item.d.ts +11 -4
- package/dist/types/components/item-divider/item-divider.d.ts +2 -1
- package/dist/types/components/item-group/item-group.d.ts +4 -0
- package/dist/types/components/item-option/item-option.d.ts +18 -1
- package/dist/types/components/item-options/item-options.d.ts +4 -0
- package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
- package/dist/types/components/label/label.d.ts +2 -1
- package/dist/types/components/list/list.d.ts +15 -1
- package/dist/types/components/list-header/list-header.d.ts +2 -1
- package/dist/types/components/loading/loading-interface.d.ts +2 -7
- package/dist/types/components/loading/loading.d.ts +3 -2
- package/dist/types/components/menu/menu.d.ts +3 -0
- package/dist/types/components/menu-button/menu-button.d.ts +3 -1
- package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
- package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
- package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +4 -7
- package/dist/types/components/modal/modal.d.ts +11 -1
- package/dist/types/components/nav/nav-interface.d.ts +9 -1
- package/dist/types/components/nav/nav.d.ts +5 -1
- package/dist/types/components/nav-link/nav-link.d.ts +4 -0
- package/dist/types/components/note/note.d.ts +2 -1
- package/dist/types/components/picker/picker.d.ts +2 -1
- package/dist/types/components/picker-column/picker-column.d.ts +2 -1
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
- package/dist/types/components/picker-legacy/picker.d.ts +159 -0
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
- package/dist/types/components/popover/popover-interface.d.ts +3 -6
- package/dist/types/components/popover/popover.d.ts +6 -5
- package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
- package/dist/types/components/radio/radio.d.ts +2 -1
- package/dist/types/components/radio-group/radio-group.d.ts +12 -0
- package/dist/types/components/range/range.d.ts +2 -1
- package/dist/types/components/refresher/refresher.d.ts +2 -1
- package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
- package/dist/types/components/reorder/reorder.d.ts +9 -0
- package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
- package/dist/types/components/route/route.d.ts +4 -0
- package/dist/types/components/router/router.d.ts +4 -0
- package/dist/types/components/router-link/router-link.d.ts +4 -0
- package/dist/types/components/router-outlet/router-outlet.d.ts +4 -8
- package/dist/types/components/row/row.d.ts +4 -0
- package/dist/types/components/searchbar/searchbar.d.ts +51 -9
- package/dist/types/components/segment/segment.d.ts +2 -1
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +49 -13
- package/dist/types/components/select-modal/select-modal.d.ts +8 -0
- package/dist/types/components/select-option/select-option.d.ts +4 -0
- package/dist/types/components/select-popover/select-popover.d.ts +3 -0
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
- package/dist/types/components/spinner/spinner.d.ts +15 -0
- package/dist/types/components/split-pane/split-pane.d.ts +4 -0
- package/dist/types/components/tab/tab.d.ts +4 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +37 -2
- package/dist/types/components/tab-button/tab-button.d.ts +12 -1
- package/dist/types/components/tabs/tabs.d.ts +3 -0
- package/dist/types/components/text/text.d.ts +2 -1
- package/dist/types/components/textarea/textarea.d.ts +53 -4
- package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
- package/dist/types/components/title/title.d.ts +4 -0
- package/dist/types/components/toast/animations/utils.d.ts +2 -2
- package/dist/types/components/toast/toast-interface.d.ts +3 -7
- package/dist/types/components/toast/toast.d.ts +19 -2
- package/dist/types/components/toggle/toggle.d.ts +15 -1
- package/dist/types/components/toolbar/toolbar.d.ts +43 -3
- package/dist/types/components.d.ts +2031 -256
- package/dist/types/global/ionic-global.d.ts +28 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +4 -0
- package/dist/types/utils/config.d.ts +114 -2
- package/dist/types/utils/focus-trap.d.ts +1 -1
- package/dist/types/utils/focus-visible.d.ts +13 -0
- package/dist/types/utils/forms/validity.d.ts +7 -0
- package/dist/types/utils/helpers.d.ts +11 -0
- package/dist/types/utils/overlays-interface.d.ts +31 -1
- package/dist/types/utils/overlays.d.ts +10 -12
- package/dist/types/utils/test/playwright/drag-element.d.ts +1 -1
- package/dist/types/utils/test/playwright/generator.d.ts +31 -2
- package/dist/types/utils/theme.d.ts +9 -0
- package/hydrate/index.js +4627 -1156
- package/hydrate/index.mjs +4627 -1156
- package/package.json +9 -5
- package/components/p-ApmKVjaE.js +0 -4
- package/components/p-B6FQ0cKR.js +0 -4
- package/components/p-B6HaBl3o.js +0 -4
- package/components/p-B8b1Ukl9.js +0 -4
- package/components/p-BHlzkIpO.js +0 -4
- package/components/p-BJoMtgfR.js +0 -4
- package/components/p-BNAG-aVv.js +0 -4
- package/components/p-BR3tZJmu.js +0 -4
- package/components/p-BYDc3hSE.js +0 -4
- package/components/p-BagjAGC0.js +0 -4
- package/components/p-BeL7B3Bb.js +0 -4
- package/components/p-Bg7NsGS9.js +0 -4
- package/components/p-BgwEQWW6.js +0 -4
- package/components/p-Bk2zuNWT.js +0 -4
- package/components/p-BmVRXR1y.js +0 -4
- package/components/p-BxwWvu-b.js +0 -4
- package/components/p-C4jPsTQa.js +0 -4
- package/components/p-C59ryAuS.js +0 -4
- package/components/p-C7AoMl7c.js +0 -4
- package/components/p-CBzELu-H.js +0 -4
- package/components/p-CDXBV7oG.js +0 -4
- package/components/p-CDfQnFrd.js +0 -4
- package/components/p-CIGNaXM1.js +0 -4
- package/components/p-CO7fmmxt.js +0 -4
- package/components/p-CU1SSH8_.js +0 -4
- package/components/p-CWpbvhwY.js +0 -4
- package/components/p-CeGEptO5.js +0 -4
- package/components/p-CgqKJg96.js +0 -4
- package/components/p-CneGxKsZ.js +0 -4
- package/components/p-CoA-aqGF.js +0 -4
- package/components/p-ConfEMkh.js +0 -4
- package/components/p-Csw8xuz4.js +0 -4
- package/components/p-CtWGkNnJ.js +0 -4
- package/components/p-Cy5XSfIk.js +0 -4
- package/components/p-Cz5nLPGT.js +0 -4
- package/components/p-D6NJwNJN.js +0 -4
- package/components/p-D6Ynv7Xh.js +0 -4
- package/components/p-DJztqcrH.js +0 -4
- package/components/p-DL2W2mt3.js +0 -4
- package/components/p-DPdqO7R6.js +0 -4
- package/components/p-DYdpXONG.js +0 -4
- package/components/p-DbISMmiI.js +0 -4
- package/components/p-DgbT0exM.js +0 -4
- package/components/p-DiVJyqlX.js +0 -4
- package/components/p-DoeApPDj.js +0 -4
- package/components/p-DrIm1s9R.js +0 -4
- package/components/p-DxXmSp9Y.js +0 -4
- package/components/p-ZjP4CjeZ.js +0 -4
- package/components/p-cvHphHJA.js +0 -4
- package/components/p-nPoOPlPt.js +0 -4
- package/components/p-vEbVo2hO.js +0 -4
- package/dist/cjs/hardware-back-button-C4rMJ5uI.js +0 -121
- package/dist/cjs/index-DkNv4J_i.js +0 -10
- package/dist/cjs/ionic-global-Bc3kJi1Z.js +0 -151
- package/dist/cjs/validity-BpS37YFM.js +0 -19
- package/dist/esm/hardware-back-button-CTe4XmL7.js +0 -115
- package/dist/esm/index-ZjP4CjeZ.js +0 -7
- package/dist/esm/ionic-global-DfbeLwcV.js +0 -146
- package/dist/esm/validity-DJztqcrH.js +0 -17
- package/dist/ionic/p-04535ede.entry.js +0 -4
- package/dist/ionic/p-045a6a42.entry.js +0 -4
- package/dist/ionic/p-18b5d5ff.entry.js +0 -4
- package/dist/ionic/p-19adf785.entry.js +0 -4
- package/dist/ionic/p-1d2163ad.entry.js +0 -4
- package/dist/ionic/p-30f5ad9e.entry.js +0 -4
- package/dist/ionic/p-34b3a309.entry.js +0 -4
- package/dist/ionic/p-370a60ee.entry.js +0 -4
- package/dist/ionic/p-3b58996c.entry.js +0 -4
- package/dist/ionic/p-460fbe5b.entry.js +0 -4
- package/dist/ionic/p-4c8d8c55.entry.js +0 -4
- package/dist/ionic/p-4ea520a4.entry.js +0 -4
- package/dist/ionic/p-4ed63122.entry.js +0 -4
- package/dist/ionic/p-4f3a8ccf.entry.js +0 -4
- package/dist/ionic/p-528d4c1d.entry.js +0 -4
- package/dist/ionic/p-5430ae94.entry.js +0 -4
- package/dist/ionic/p-66494f9b.entry.js +0 -4
- package/dist/ionic/p-6af16209.entry.js +0 -4
- package/dist/ionic/p-6b97f2a3.entry.js +0 -4
- package/dist/ionic/p-6da572e7.entry.js +0 -4
- package/dist/ionic/p-6e99ae8d.entry.js +0 -4
- package/dist/ionic/p-7f269aff.entry.js +0 -4
- package/dist/ionic/p-7f9db51b.entry.js +0 -4
- package/dist/ionic/p-87125490.entry.js +0 -4
- package/dist/ionic/p-898f9d11.entry.js +0 -4
- package/dist/ionic/p-8a3a936b.entry.js +0 -4
- package/dist/ionic/p-9833cf63.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-9fae83d8.entry.js +0 -4
- package/dist/ionic/p-AlrZKoWR.js +0 -4
- package/dist/ionic/p-BAt5H1ac.js +0 -4
- package/dist/ionic/p-BW_TRJm8.js +0 -4
- package/dist/ionic/p-BmVRXR1y.js +0 -4
- package/dist/ionic/p-Bum7H1fw.js +0 -4
- package/dist/ionic/p-BxIcPWoV.js +0 -4
- package/dist/ionic/p-C0JvVFMv.js +0 -4
- package/dist/ionic/p-CGmVTdWh.js +0 -4
- package/dist/ionic/p-CIGNaXM1.js +0 -4
- package/dist/ionic/p-CYbRmDdy.js +0 -4
- package/dist/ionic/p-CYvM5g3q.js +0 -4
- package/dist/ionic/p-CmFz1Mjc.js +0 -4
- package/dist/ionic/p-Csx_Ej2k.js +0 -4
- package/dist/ionic/p-CtA-yJYy.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-D8HJQ1qq.js +0 -4
- package/dist/ionic/p-DB_iPQC-.js +0 -4
- package/dist/ionic/p-DJztqcrH.js +0 -4
- package/dist/ionic/p-DLbbmF9h.js +0 -4
- package/dist/ionic/p-DiVJyqlX.js +0 -4
- package/dist/ionic/p-DtVZDHlS.js +0 -4
- package/dist/ionic/p-IGIE5vDm.js +0 -5
- package/dist/ionic/p-NFFyoJ4Q.js +0 -4
- package/dist/ionic/p-ZjP4CjeZ.js +0 -4
- package/dist/ionic/p-a39db980.entry.js +0 -4
- package/dist/ionic/p-a805674e.entry.js +0 -4
- package/dist/ionic/p-abca709f.entry.js +0 -4
- package/dist/ionic/p-b553828c.entry.js +0 -4
- package/dist/ionic/p-b5e3e1f7.entry.js +0 -4
- package/dist/ionic/p-b6e0ff03.entry.js +0 -4
- package/dist/ionic/p-b6f16f18.entry.js +0 -4
- package/dist/ionic/p-c4c39b36.entry.js +0 -4
- package/dist/ionic/p-c744307d.entry.js +0 -4
- package/dist/ionic/p-c8f15bd8.entry.js +0 -4
- package/dist/ionic/p-ca31010f.entry.js +0 -4
- package/dist/ionic/p-cce0cd26.entry.js +0 -4
- package/dist/ionic/p-cdd9bb6c.entry.js +0 -4
- package/dist/ionic/p-d92ba088.entry.js +0 -4
- package/dist/ionic/p-dc198c3a.entry.js +0 -4
- package/dist/ionic/p-dead316d.entry.js +0 -4
- package/dist/ionic/p-e663bc5a.entry.js +0 -4
- package/dist/ionic/p-e6cedcd7.entry.js +0 -4
- package/dist/ionic/p-e9dd191b.entry.js +0 -4
- package/dist/ionic/p-ede28b71.entry.js +0 -4
- package/dist/ionic/p-f17d05e3.entry.js +0 -4
- package/dist/ionic/p-f5dfb9a3.entry.js +0 -4
- package/dist/ionic/p-f7762013.entry.js +0 -4
- package/dist/ionic/p-fed27c64.entry.js +0 -4
- package/dist/ionic/p-hNN3VvaC.js +0 -4
- /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
|
@@ -3,24 +3,23 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index$
|
|
7
|
-
var index$
|
|
8
|
-
var frameworkDelegate = require('./framework-delegate-
|
|
9
|
-
var helpers = require('./helpers-
|
|
6
|
+
var index$2 = require('./index-CzcLEdQ5.js');
|
|
7
|
+
var index$1 = require('./index-BJrpF9T3.js');
|
|
8
|
+
var frameworkDelegate = require('./framework-delegate-Dx9FrqAC.js');
|
|
9
|
+
var helpers = require('./helpers-DJYxKN5U.js');
|
|
10
10
|
var lockController = require('./lock-controller-aDB9wrEf.js');
|
|
11
|
-
var capacitor = require('./capacitor-
|
|
12
|
-
var overlays = require('./overlays-
|
|
13
|
-
var theme = require('./theme-
|
|
14
|
-
var index$
|
|
15
|
-
var ionicGlobal = require('./ionic-global-
|
|
16
|
-
var keyboard = require('./keyboard-
|
|
17
|
-
var animation = require('./animation-
|
|
11
|
+
var capacitor = require('./capacitor-BnRBm_ys.js');
|
|
12
|
+
var overlays = require('./overlays-Hci_7vw_.js');
|
|
13
|
+
var theme = require('./theme-IlOsGAz7.js');
|
|
14
|
+
var index$3 = require('./index-D_mPAIqF.js');
|
|
15
|
+
var ionicGlobal = require('./ionic-global-CSEbHD_F.js');
|
|
16
|
+
var keyboard = require('./keyboard-Bhav6x-R.js');
|
|
17
|
+
var animation = require('./animation-DknMeJ3x.js');
|
|
18
18
|
var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
|
|
19
|
-
var index
|
|
20
|
-
|
|
21
|
-
require('./hardware-back-button-C4rMJ5uI.js');
|
|
19
|
+
var index = require('./index-CAvQ7Tka.js');
|
|
20
|
+
require('./focus-visible-BIj-I3-C.js');
|
|
22
21
|
require('./gesture-controller-dtqlP_q4.js');
|
|
23
|
-
require('./keyboard-
|
|
22
|
+
require('./keyboard-Dsczf-iT.js');
|
|
24
23
|
|
|
25
24
|
var Style;
|
|
26
25
|
(function (Style) {
|
|
@@ -117,18 +116,116 @@ const getBackdropValueForSheet = (x, backdropBreakpoint) => {
|
|
|
117
116
|
*
|
|
118
117
|
*/
|
|
119
118
|
const setCardStatusBarDark = () => {
|
|
120
|
-
if (!
|
|
119
|
+
if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
|
|
121
120
|
return;
|
|
122
121
|
}
|
|
123
122
|
StatusBar.setStyle({ style: Style.Dark });
|
|
124
123
|
};
|
|
125
124
|
const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
|
|
126
|
-
if (!
|
|
125
|
+
if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
|
|
127
126
|
return;
|
|
128
127
|
}
|
|
129
128
|
StatusBar.setStyle({ style: defaultStyle });
|
|
130
129
|
};
|
|
131
130
|
|
|
131
|
+
const createSheetEnterAnimation = (opts) => {
|
|
132
|
+
const { currentBreakpoint, backdropBreakpoint, expandToScroll, staticBackdropOpacity } = opts;
|
|
133
|
+
/**
|
|
134
|
+
* If the backdropBreakpoint is undefined, then the backdrop
|
|
135
|
+
* should always fade in. If the backdropBreakpoint came before the
|
|
136
|
+
* current breakpoint, then the backdrop should be fading in.
|
|
137
|
+
*/
|
|
138
|
+
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
139
|
+
let initialBackdrop = '0';
|
|
140
|
+
if (staticBackdropOpacity) {
|
|
141
|
+
initialBackdrop = 'calc(var(--backdrop-opacity)';
|
|
142
|
+
}
|
|
143
|
+
else if (shouldShowBackdrop) {
|
|
144
|
+
initialBackdrop = `calc(var(--backdrop-opacity) * ${currentBreakpoint})`;
|
|
145
|
+
}
|
|
146
|
+
const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
147
|
+
if (shouldShowBackdrop) {
|
|
148
|
+
backdropAnimation
|
|
149
|
+
.beforeStyles({
|
|
150
|
+
'pointer-events': 'none',
|
|
151
|
+
})
|
|
152
|
+
.afterClearStyles(['pointer-events']);
|
|
153
|
+
}
|
|
154
|
+
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
155
|
+
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
156
|
+
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
157
|
+
]);
|
|
158
|
+
/**
|
|
159
|
+
* This allows the content to be scrollable at any breakpoint.
|
|
160
|
+
*/
|
|
161
|
+
const contentAnimation = !expandToScroll
|
|
162
|
+
? animation.createAnimation('contentAnimation').keyframes([
|
|
163
|
+
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
164
|
+
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
165
|
+
])
|
|
166
|
+
: undefined;
|
|
167
|
+
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
168
|
+
};
|
|
169
|
+
const createSheetLeaveAnimation = (opts) => {
|
|
170
|
+
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
171
|
+
/**
|
|
172
|
+
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
173
|
+
* is defined, so we need to account for that offset by figuring out
|
|
174
|
+
* what the current backdrop value should be.
|
|
175
|
+
*/
|
|
176
|
+
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
177
|
+
const defaultBackdrop = [
|
|
178
|
+
{ offset: 0, opacity: backdropValue },
|
|
179
|
+
{ offset: 1, opacity: 0 },
|
|
180
|
+
];
|
|
181
|
+
const customBackdrop = [
|
|
182
|
+
{ offset: 0, opacity: backdropValue },
|
|
183
|
+
{ offset: backdropBreakpoint, opacity: 0 },
|
|
184
|
+
{ offset: 1, opacity: 0 },
|
|
185
|
+
];
|
|
186
|
+
const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
187
|
+
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
188
|
+
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
189
|
+
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
190
|
+
]);
|
|
191
|
+
return { wrapperAnimation, backdropAnimation };
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
const createEnterAnimation$2 = () => {
|
|
195
|
+
const backdropAnimation = animation.createAnimation()
|
|
196
|
+
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
197
|
+
.beforeStyles({
|
|
198
|
+
'pointer-events': 'none',
|
|
199
|
+
})
|
|
200
|
+
.afterClearStyles(['pointer-events']);
|
|
201
|
+
const wrapperAnimation = animation.createAnimation().keyframes([
|
|
202
|
+
{ offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
|
|
203
|
+
{ offset: 1, opacity: 1, transform: `translateY(0px)` },
|
|
204
|
+
]);
|
|
205
|
+
return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* Ionic Modal Enter Animation
|
|
209
|
+
*/
|
|
210
|
+
const ionicEnterAnimation = (baseEl, opts) => {
|
|
211
|
+
const { currentBreakpoint, expandToScroll } = opts;
|
|
212
|
+
const root = helpers.getElementRoot(baseEl);
|
|
213
|
+
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$2();
|
|
214
|
+
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
215
|
+
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
216
|
+
// The content animation is only added if scrolling is enabled for
|
|
217
|
+
// all the breakpoints.
|
|
218
|
+
!expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
219
|
+
backdropAnimation.duration(300).easing('ease-out');
|
|
220
|
+
wrapperAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
|
|
221
|
+
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
|
|
222
|
+
const baseAnimation = animation.createAnimation().addElement(baseEl).addAnimation([backdropAnimation, wrapperAnimation]);
|
|
223
|
+
if (contentAnimation) {
|
|
224
|
+
baseAnimation.addAnimation(contentAnimation);
|
|
225
|
+
}
|
|
226
|
+
return baseAnimation;
|
|
227
|
+
};
|
|
228
|
+
|
|
132
229
|
const handleCanDismiss = async (el, animation) => {
|
|
133
230
|
/**
|
|
134
231
|
* If canDismiss is not a function
|
|
@@ -264,7 +361,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
264
361
|
let initialScrollY = true;
|
|
265
362
|
let lastStep = 0;
|
|
266
363
|
const getScrollY = () => {
|
|
267
|
-
if (contentEl && index$
|
|
364
|
+
if (contentEl && index$1.isIonContent(contentEl)) {
|
|
268
365
|
return contentEl.scrollY;
|
|
269
366
|
/**
|
|
270
367
|
* Custom scroll containers are intended to be
|
|
@@ -296,7 +393,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
296
393
|
* swipe again. The target content will not
|
|
297
394
|
* be the same between swipes.
|
|
298
395
|
*/
|
|
299
|
-
contentEl = index$
|
|
396
|
+
contentEl = index$1.findClosestIonContent(target);
|
|
300
397
|
if (contentEl) {
|
|
301
398
|
/**
|
|
302
399
|
* The card should never swipe to close
|
|
@@ -312,7 +409,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
312
409
|
* operation, and getScrollElement is
|
|
313
410
|
* asynchronous.
|
|
314
411
|
*/
|
|
315
|
-
if (index$
|
|
412
|
+
if (index$1.isIonContent(contentEl)) {
|
|
316
413
|
const root = helpers.getElementRoot(contentEl);
|
|
317
414
|
scrollEl = root.querySelector('.inner-scroll');
|
|
318
415
|
}
|
|
@@ -356,7 +453,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
356
453
|
* happen at the same time as the gesture.
|
|
357
454
|
*/
|
|
358
455
|
if (deltaY > 0 && contentEl) {
|
|
359
|
-
index$
|
|
456
|
+
index$1.disableContentScrollY(contentEl);
|
|
360
457
|
}
|
|
361
458
|
animation.progressStart(true, isOpen ? 1 : 0);
|
|
362
459
|
onDragStart();
|
|
@@ -370,7 +467,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
370
467
|
* happen at the same time as the gesture.
|
|
371
468
|
*/
|
|
372
469
|
if (deltaY > 0 && contentEl) {
|
|
373
|
-
index$
|
|
470
|
+
index$1.disableContentScrollY(contentEl);
|
|
374
471
|
}
|
|
375
472
|
/**
|
|
376
473
|
* If we are swiping on the content
|
|
@@ -465,7 +562,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
465
562
|
isOpen = shouldComplete;
|
|
466
563
|
gesture.enable(false);
|
|
467
564
|
if (contentEl) {
|
|
468
|
-
index$
|
|
565
|
+
index$1.resetContentScrollY(contentEl, initialScrollY);
|
|
469
566
|
}
|
|
470
567
|
animation
|
|
471
568
|
.onFinish(() => {
|
|
@@ -500,7 +597,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
500
597
|
};
|
|
501
598
|
onDragEnd(eventDetail);
|
|
502
599
|
};
|
|
503
|
-
const gesture = index
|
|
600
|
+
const gesture = index.createGesture({
|
|
504
601
|
el,
|
|
505
602
|
gestureName: 'modalSwipeToClose',
|
|
506
603
|
gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
|
|
@@ -555,63 +652,6 @@ const calculateProgress = (el, deltaY) => {
|
|
|
555
652
|
return Math.max(0, Math.min(1, roundedProgress));
|
|
556
653
|
};
|
|
557
654
|
|
|
558
|
-
const createSheetEnterAnimation = (opts) => {
|
|
559
|
-
const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
|
|
560
|
-
/**
|
|
561
|
-
* If the backdropBreakpoint is undefined, then the backdrop
|
|
562
|
-
* should always fade in. If the backdropBreakpoint came before the
|
|
563
|
-
* current breakpoint, then the backdrop should be fading in.
|
|
564
|
-
*/
|
|
565
|
-
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
566
|
-
const initialBackdrop = shouldShowBackdrop ? `calc(var(--backdrop-opacity) * ${currentBreakpoint})` : '0';
|
|
567
|
-
const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
568
|
-
if (shouldShowBackdrop) {
|
|
569
|
-
backdropAnimation
|
|
570
|
-
.beforeStyles({
|
|
571
|
-
'pointer-events': 'none',
|
|
572
|
-
})
|
|
573
|
-
.afterClearStyles(['pointer-events']);
|
|
574
|
-
}
|
|
575
|
-
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
576
|
-
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
577
|
-
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
578
|
-
]);
|
|
579
|
-
/**
|
|
580
|
-
* This allows the content to be scrollable at any breakpoint.
|
|
581
|
-
*/
|
|
582
|
-
const contentAnimation = !expandToScroll
|
|
583
|
-
? animation.createAnimation('contentAnimation').keyframes([
|
|
584
|
-
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
585
|
-
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
586
|
-
])
|
|
587
|
-
: undefined;
|
|
588
|
-
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
589
|
-
};
|
|
590
|
-
const createSheetLeaveAnimation = (opts) => {
|
|
591
|
-
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
592
|
-
/**
|
|
593
|
-
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
594
|
-
* is defined, so we need to account for that offset by figuring out
|
|
595
|
-
* what the current backdrop value should be.
|
|
596
|
-
*/
|
|
597
|
-
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
598
|
-
const defaultBackdrop = [
|
|
599
|
-
{ offset: 0, opacity: backdropValue },
|
|
600
|
-
{ offset: 1, opacity: 0 },
|
|
601
|
-
];
|
|
602
|
-
const customBackdrop = [
|
|
603
|
-
{ offset: 0, opacity: backdropValue },
|
|
604
|
-
{ offset: backdropBreakpoint, opacity: 0 },
|
|
605
|
-
{ offset: 1, opacity: 0 },
|
|
606
|
-
];
|
|
607
|
-
const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
608
|
-
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
609
|
-
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
610
|
-
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
611
|
-
]);
|
|
612
|
-
return { wrapperAnimation, backdropAnimation };
|
|
613
|
-
};
|
|
614
|
-
|
|
615
655
|
const createEnterAnimation$1 = () => {
|
|
616
656
|
const backdropAnimation = animation.createAnimation()
|
|
617
657
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
@@ -1002,16 +1042,16 @@ const mdLeaveAnimation = (baseEl, opts) => {
|
|
|
1002
1042
|
return baseAnimation;
|
|
1003
1043
|
};
|
|
1004
1044
|
|
|
1005
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
|
|
1045
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, usePhysicsBasedGesture, onDragStart, onDragMove, onDragEnd) => {
|
|
1006
1046
|
// Defaults for the sheet swipe animation
|
|
1007
1047
|
const defaultBackdrop = [
|
|
1008
1048
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1009
|
-
{ offset: 1, opacity: 0.01 },
|
|
1049
|
+
{ offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0.01 },
|
|
1010
1050
|
];
|
|
1011
1051
|
const customBackdrop = [
|
|
1012
1052
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1013
|
-
{ offset: 1 - backdropBreakpoint, opacity: 0 },
|
|
1014
|
-
{ offset: 1, opacity: 0 },
|
|
1053
|
+
{ offset: 1 - backdropBreakpoint, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
|
|
1054
|
+
{ offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
|
|
1015
1055
|
];
|
|
1016
1056
|
const SheetDefaults = {
|
|
1017
1057
|
WRAPPER_KEYFRAMES: [
|
|
@@ -1192,14 +1232,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1192
1232
|
* For example, when using ion-nav within a modal it is possible to swipe, push a view,
|
|
1193
1233
|
* and then swipe again. The target content will not be the same between swipes.
|
|
1194
1234
|
*/
|
|
1195
|
-
const contentEl = index$
|
|
1235
|
+
const contentEl = index$1.findClosestIonContent(detail.event.target);
|
|
1196
1236
|
currentBreakpoint = getCurrentBreakpoint();
|
|
1197
1237
|
/**
|
|
1198
1238
|
* If `expandToScroll` is disabled, we should not allow the swipe gesture
|
|
1199
1239
|
* to start if the content is not scrolled to the top.
|
|
1200
1240
|
*/
|
|
1201
1241
|
if (!expandToScroll && contentEl) {
|
|
1202
|
-
const scrollEl = index$
|
|
1242
|
+
const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
1203
1243
|
return scrollEl.scrollTop === 0;
|
|
1204
1244
|
}
|
|
1205
1245
|
if (currentBreakpoint === 1 && contentEl) {
|
|
@@ -1212,7 +1252,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1212
1252
|
* Note 2: Do not use getScrollElement here because we need this to be a synchronous
|
|
1213
1253
|
* operation, and getScrollElement is asynchronous.
|
|
1214
1254
|
*/
|
|
1215
|
-
const scrollEl = index$
|
|
1255
|
+
const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
1216
1256
|
const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
|
|
1217
1257
|
return !hasRefresherInContent && scrollEl.scrollTop === 0;
|
|
1218
1258
|
}
|
|
@@ -1238,9 +1278,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1238
1278
|
* which would impact performance significantly.
|
|
1239
1279
|
*/
|
|
1240
1280
|
if (!expandToScroll) {
|
|
1241
|
-
const targetEl = index$
|
|
1281
|
+
const targetEl = index$1.findClosestIonContent(detail.event.target);
|
|
1242
1282
|
cachedScrollEl =
|
|
1243
|
-
targetEl && index$
|
|
1283
|
+
targetEl && index$1.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
|
|
1244
1284
|
}
|
|
1245
1285
|
/**
|
|
1246
1286
|
* If expandToScroll is disabled, we need to swap
|
|
@@ -1334,7 +1374,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1334
1374
|
: step;
|
|
1335
1375
|
offset = helpers.clamp(0.0001, processedStep, maxStep);
|
|
1336
1376
|
animation.progressStep(offset);
|
|
1337
|
-
const snapBreakpoint =
|
|
1377
|
+
const snapBreakpoint = usePhysicsBasedGesture
|
|
1378
|
+
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1379
|
+
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1338
1380
|
const eventDetail = {
|
|
1339
1381
|
currentY: detail.currentY,
|
|
1340
1382
|
deltaY: detail.deltaY,
|
|
@@ -1345,7 +1387,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1345
1387
|
onDragMove(eventDetail);
|
|
1346
1388
|
};
|
|
1347
1389
|
const onEnd = (detail) => {
|
|
1348
|
-
const snapBreakpoint =
|
|
1390
|
+
const snapBreakpoint = usePhysicsBasedGesture
|
|
1391
|
+
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1392
|
+
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1349
1393
|
const eventDetail = {
|
|
1350
1394
|
currentY: detail.currentY,
|
|
1351
1395
|
deltaY: detail.deltaY,
|
|
@@ -1392,6 +1436,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1392
1436
|
*/
|
|
1393
1437
|
const shouldPreventDismiss = canDismiss && breakpoint === 0;
|
|
1394
1438
|
const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
|
|
1439
|
+
/**
|
|
1440
|
+
* Detect snap-back behavior: when the snap target is the same as the current breakpoint,
|
|
1441
|
+
* the user released before crossing the threshold to a new breakpoint.
|
|
1442
|
+
* Apply different timing and easing for snap-back vs. snap-to-new.
|
|
1443
|
+
*/
|
|
1444
|
+
const isSnapBack = snapToBreakpoint === currentBreakpoint;
|
|
1445
|
+
const duration = usePhysicsBasedGesture ? (isSnapBack ? 300 : 400) : 500;
|
|
1446
|
+
const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
|
|
1395
1447
|
const shouldRemainOpen = snapToBreakpoint !== 0;
|
|
1396
1448
|
currentBreakpoint = 0;
|
|
1397
1449
|
/**
|
|
@@ -1406,11 +1458,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1406
1458
|
backdropAnimation.keyframes([
|
|
1407
1459
|
{
|
|
1408
1460
|
offset: 0,
|
|
1409
|
-
opacity:
|
|
1461
|
+
opacity: usePhysicsBasedGesture
|
|
1462
|
+
? 'var(--backdrop-opacity)'
|
|
1463
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
|
|
1410
1464
|
},
|
|
1411
1465
|
{
|
|
1412
1466
|
offset: 1,
|
|
1413
|
-
opacity:
|
|
1467
|
+
opacity: usePhysicsBasedGesture
|
|
1468
|
+
? 'var(--backdrop-opacity)'
|
|
1469
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
1414
1470
|
},
|
|
1415
1471
|
]);
|
|
1416
1472
|
if (contentAnimation) {
|
|
@@ -1428,6 +1484,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1428
1484
|
}
|
|
1429
1485
|
animation.progressStep(0);
|
|
1430
1486
|
}
|
|
1487
|
+
/**
|
|
1488
|
+
* Apply the appropriate easing curve for this snap behavior.
|
|
1489
|
+
*/
|
|
1490
|
+
if (usePhysicsBasedGesture) {
|
|
1491
|
+
animation.easing(easing);
|
|
1492
|
+
}
|
|
1431
1493
|
/**
|
|
1432
1494
|
* Gesture should remain disabled until the
|
|
1433
1495
|
* snapping animation completes.
|
|
@@ -1517,7 +1579,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1517
1579
|
* be added every time onEnd runs.
|
|
1518
1580
|
*/
|
|
1519
1581
|
}, { oneTimeCallback: true })
|
|
1520
|
-
.progressEnd(1, 0, animated ?
|
|
1582
|
+
.progressEnd(1, 0, animated ? duration : 0);
|
|
1521
1583
|
});
|
|
1522
1584
|
};
|
|
1523
1585
|
/**
|
|
@@ -1528,7 +1590,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1528
1590
|
* @param deltaY The change in Y position since the gesture started.
|
|
1529
1591
|
* @returns The snap breakpoint value.
|
|
1530
1592
|
*/
|
|
1531
|
-
const
|
|
1593
|
+
const calculatePositionSnapBreakpoint = (deltaY) => {
|
|
1532
1594
|
/**
|
|
1533
1595
|
* Calculates the real-time vertical position of the modal.
|
|
1534
1596
|
* We combine the wrapper's current bounding box position with the
|
|
@@ -1548,6 +1610,50 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1548
1610
|
});
|
|
1549
1611
|
return snapBreakpoint;
|
|
1550
1612
|
};
|
|
1613
|
+
/**
|
|
1614
|
+
* Calculates the snap breakpoint using velocity-based logic.
|
|
1615
|
+
* This provides a more intuitive and responsive sheet behavior for the Ionic theme.
|
|
1616
|
+
*
|
|
1617
|
+
* Rules:
|
|
1618
|
+
* 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
|
|
1619
|
+
* 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
|
|
1620
|
+
* 3. If dragged 40% below current snap point without fast upward flick, dismisses
|
|
1621
|
+
* 4. Otherwise, falls back to position-based snap (closest breakpoint)
|
|
1622
|
+
*
|
|
1623
|
+
* @param deltaY The change in Y position since gesture started
|
|
1624
|
+
* @param velocityY The velocity in pixels per millisecond
|
|
1625
|
+
* @param currentY The current Y position of the gesture
|
|
1626
|
+
* @returns The snap breakpoint value
|
|
1627
|
+
*/
|
|
1628
|
+
const calculateVelocitySnapBreakpoint = (deltaY, velocityY, currentY) => {
|
|
1629
|
+
// Convert velocity from px/ms to px/s for easier threshold comparison
|
|
1630
|
+
const velocityYPerSecond = velocityY * 1000;
|
|
1631
|
+
// Calculate current progress (0 = fully closed, 1 = fully expanded)
|
|
1632
|
+
const currentProgress = calculateProgress(currentY);
|
|
1633
|
+
// Rule 1: Fast downward flick always dismisses
|
|
1634
|
+
if (velocityYPerSecond > 500) {
|
|
1635
|
+
return minBreakpoint;
|
|
1636
|
+
}
|
|
1637
|
+
// Rule 2: Fast upward flick moves to next breakpoint above
|
|
1638
|
+
if (velocityYPerSecond < -400) {
|
|
1639
|
+
// Find next breakpoint above current position
|
|
1640
|
+
const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
|
|
1641
|
+
// If no breakpoint above, stay at max breakpoint
|
|
1642
|
+
return nextBreakpoint !== null && nextBreakpoint !== void 0 ? nextBreakpoint : maxBreakpoint;
|
|
1643
|
+
}
|
|
1644
|
+
// Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
|
|
1645
|
+
if (minBreakpoint === 0 && currentBreakpoint > 0) {
|
|
1646
|
+
// Calculate how far we've moved below the current snap point
|
|
1647
|
+
const distanceBelowSnap = currentBreakpoint - currentProgress;
|
|
1648
|
+
const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
|
|
1649
|
+
// If dragged more than 40% below and not flicking up, dismiss
|
|
1650
|
+
if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
|
|
1651
|
+
return 0;
|
|
1652
|
+
}
|
|
1653
|
+
}
|
|
1654
|
+
// Rule 4: Fallback to position-based snap (existing logic)
|
|
1655
|
+
return calculatePositionSnapBreakpoint(deltaY);
|
|
1656
|
+
};
|
|
1551
1657
|
/**
|
|
1552
1658
|
* Calculates the progress of the swipe gesture.
|
|
1553
1659
|
*
|
|
@@ -1618,7 +1724,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1618
1724
|
*/
|
|
1619
1725
|
return viewportBottom - activeHeight;
|
|
1620
1726
|
};
|
|
1621
|
-
const gesture = index
|
|
1727
|
+
const gesture = index.createGesture({
|
|
1622
1728
|
el: wrapperEl,
|
|
1623
1729
|
gestureName: 'modalSheet',
|
|
1624
1730
|
gesturePriority: 40,
|
|
@@ -1658,9 +1764,9 @@ let cacheInvalidationScheduled = false;
|
|
|
1658
1764
|
* Matches: @media (min-width: 768px) and (min-height: 600px)
|
|
1659
1765
|
*/
|
|
1660
1766
|
const isCenteredDialogViewport = () => {
|
|
1661
|
-
if (!
|
|
1767
|
+
if (!ionicGlobal.win)
|
|
1662
1768
|
return false;
|
|
1663
|
-
return
|
|
1769
|
+
return ionicGlobal.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
|
|
1664
1770
|
.matches;
|
|
1665
1771
|
};
|
|
1666
1772
|
/**
|
|
@@ -1675,7 +1781,7 @@ const getRootSafeAreaTop = () => {
|
|
|
1675
1781
|
if (cachedRootSafeAreaTop !== null) {
|
|
1676
1782
|
return cachedRootSafeAreaTop;
|
|
1677
1783
|
}
|
|
1678
|
-
const doc =
|
|
1784
|
+
const doc = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.document;
|
|
1679
1785
|
if (!(doc === null || doc === void 0 ? void 0 : doc.body)) {
|
|
1680
1786
|
return 0;
|
|
1681
1787
|
}
|
|
@@ -1762,8 +1868,8 @@ const getInitialSafeAreaConfig = (context) => {
|
|
|
1762
1868
|
const getPositionBasedSafeAreaConfig = (wrapperEl) => {
|
|
1763
1869
|
var _a, _b;
|
|
1764
1870
|
const rect = wrapperEl.getBoundingClientRect();
|
|
1765
|
-
const vh = (_a =
|
|
1766
|
-
const vw = (_b =
|
|
1871
|
+
const vh = (_a = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
|
|
1872
|
+
const vw = (_b = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerWidth) !== null && _b !== void 0 ? _b : 0;
|
|
1767
1873
|
// Only apply safe-area to sides where modal overlaps with screen edge
|
|
1768
1874
|
return {
|
|
1769
1875
|
top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
|
|
@@ -1796,26 +1902,28 @@ const clearSafeAreaOverrides = (hostEl) => {
|
|
|
1796
1902
|
hostEl.style.removeProperty('--ion-safe-area-right');
|
|
1797
1903
|
};
|
|
1798
1904
|
|
|
1799
|
-
const
|
|
1905
|
+
const modalIonicCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));--box-shadow:var(--token-elevation-3, 0px 2px 7px 0px rgba(0, 0, 0, 0.05), 0px 6px 32px 0px rgba(0, 0, 0, 0.16));--backdrop-opacity:0.7;color:var(--token-text-default, var(--token-primitives-neutral-1200, #242424))}:host(.modal-round){--border-radius:var(--token-border-radius-1000, var(--token-scale-1000, 40px))}:host(.modal-soft){--border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px))}:host(.modal-rectangular){--border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}:host(.select-modal.modal-default){--max-height:45%;--max-width:calc(100% - (var(--token-space-400, var(--token-scale-400, 16px)) * 2));--min-height:340px}.modal-handle{right:0px;left:0px;top:var(--token-space-300, var(--token-scale-300, 12px));border-radius:var(--token-border-radius-100, var(--token-scale-100, 4px));width:var(--token-scale-1100, 44px);height:var(--token-scale-100, 4px);background-color:var(--token-primitives-neutral-300, #e0e0e0)}.modal-handle::before{-webkit-padding-start:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-start:var(--token-space-100, var(--token-scale-100, 4px));-webkit-padding-end:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-end:var(--token-space-100, var(--token-scale-100, 4px));padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px))}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + var(--token-scale-250, 10px)))}`;
|
|
1906
|
+
|
|
1907
|
+
const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--ion-background-color, #fff);--border-radius:0;--backdrop-opacity:0;color:var(--ion-text-color, #000)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{right:0px;left:0px;top:5px;border-radius:8px;width:36px;height:5px;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be))}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;width:36px;height:5px}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
|
|
1800
1908
|
|
|
1801
|
-
const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-
|
|
1909
|
+
const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--ion-background-color, #fff);--border-radius:0;--backdrop-opacity:0;color:var(--ion-text-color, #000)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{right:0px;left:0px;top:5px;border-radius:8px;width:36px;height:5px;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be))}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;width:36px;height:5px}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
|
|
1802
1910
|
|
|
1803
1911
|
const Modal = class {
|
|
1804
1912
|
constructor(hostRef) {
|
|
1805
|
-
index$
|
|
1806
|
-
this.didPresent = index$
|
|
1807
|
-
this.willPresent = index$
|
|
1808
|
-
this.willDismiss = index$
|
|
1809
|
-
this.didDismiss = index$
|
|
1810
|
-
this.ionBreakpointDidChange = index$
|
|
1811
|
-
this.didPresentShorthand = index$
|
|
1812
|
-
this.willPresentShorthand = index$
|
|
1813
|
-
this.willDismissShorthand = index$
|
|
1814
|
-
this.didDismissShorthand = index$
|
|
1815
|
-
this.ionMount = index$
|
|
1816
|
-
this.ionDragStart = index$
|
|
1817
|
-
this.ionDragMove = index$
|
|
1818
|
-
this.ionDragEnd = index$
|
|
1913
|
+
index$2.registerInstance(this, hostRef);
|
|
1914
|
+
this.didPresent = index$2.createEvent(this, "ionModalDidPresent", 7);
|
|
1915
|
+
this.willPresent = index$2.createEvent(this, "ionModalWillPresent", 7);
|
|
1916
|
+
this.willDismiss = index$2.createEvent(this, "ionModalWillDismiss", 7);
|
|
1917
|
+
this.didDismiss = index$2.createEvent(this, "ionModalDidDismiss", 7);
|
|
1918
|
+
this.ionBreakpointDidChange = index$2.createEvent(this, "ionBreakpointDidChange", 7);
|
|
1919
|
+
this.didPresentShorthand = index$2.createEvent(this, "didPresent", 7);
|
|
1920
|
+
this.willPresentShorthand = index$2.createEvent(this, "willPresent", 7);
|
|
1921
|
+
this.willDismissShorthand = index$2.createEvent(this, "willDismiss", 7);
|
|
1922
|
+
this.didDismissShorthand = index$2.createEvent(this, "didDismiss", 7);
|
|
1923
|
+
this.ionMount = index$2.createEvent(this, "ionMount", 7);
|
|
1924
|
+
this.ionDragStart = index$2.createEvent(this, "ionDragStart", 7);
|
|
1925
|
+
this.ionDragMove = index$2.createEvent(this, "ionDragMove", 7);
|
|
1926
|
+
this.ionDragEnd = index$2.createEvent(this, "ionDragEnd", 7);
|
|
1819
1927
|
this.lockController = lockController.createLockController();
|
|
1820
1928
|
this.triggerController = overlays.createTriggerController();
|
|
1821
1929
|
this.coreDelegate = frameworkDelegate.CoreDelegate();
|
|
@@ -2058,10 +2166,6 @@ const Modal = class {
|
|
|
2058
2166
|
// Also called in dismiss() — intentional dual cleanup covers both
|
|
2059
2167
|
// dismiss-then-remove and direct DOM removal without dismiss.
|
|
2060
2168
|
this.cleanupSafeAreaOverrides();
|
|
2061
|
-
// Clean up aria-hidden if removed without dismiss() being called
|
|
2062
|
-
if (this.presented) {
|
|
2063
|
-
overlays.cleanupRootFocusTrapAccessibility();
|
|
2064
|
-
}
|
|
2065
2169
|
}
|
|
2066
2170
|
componentWillLoad() {
|
|
2067
2171
|
var _a;
|
|
@@ -2108,7 +2212,7 @@ const Modal = class {
|
|
|
2108
2212
|
this.currentBreakpoint = this.initialBreakpoint;
|
|
2109
2213
|
}
|
|
2110
2214
|
if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
|
|
2111
|
-
index$
|
|
2215
|
+
index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
|
|
2112
2216
|
}
|
|
2113
2217
|
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
2114
2218
|
overlays.setOverlayId(this.el);
|
|
@@ -2208,7 +2312,7 @@ const Modal = class {
|
|
|
2208
2312
|
* get the transition incorrect.
|
|
2209
2313
|
*/
|
|
2210
2314
|
if (helpers.hasLazyBuild(el)) {
|
|
2211
|
-
await index$
|
|
2315
|
+
await index$3.deepReady(this.usersElement);
|
|
2212
2316
|
/**
|
|
2213
2317
|
* If keepContentsMounted="true" then the
|
|
2214
2318
|
* JS Framework has already mounted the inner
|
|
@@ -2219,9 +2323,9 @@ const Modal = class {
|
|
|
2219
2323
|
*/
|
|
2220
2324
|
}
|
|
2221
2325
|
else if (!this.keepContentsMounted) {
|
|
2222
|
-
await index$
|
|
2326
|
+
await index$3.waitForMount();
|
|
2223
2327
|
}
|
|
2224
|
-
index$
|
|
2328
|
+
index$2.writeTask(() => this.el.classList.add('show-modal'));
|
|
2225
2329
|
// Recalculate isSheetModal before safe-area setup because framework
|
|
2226
2330
|
// bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
|
|
2227
2331
|
this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
|
|
@@ -2238,11 +2342,12 @@ const Modal = class {
|
|
|
2238
2342
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
2239
2343
|
setCardStatusBarDark();
|
|
2240
2344
|
}
|
|
2241
|
-
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
2345
|
+
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
|
|
2242
2346
|
presentingEl: presentingElement,
|
|
2243
2347
|
currentBreakpoint: this.initialBreakpoint,
|
|
2244
2348
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
2245
2349
|
expandToScroll: this.expandToScroll,
|
|
2350
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2246
2351
|
});
|
|
2247
2352
|
// Update safe-area based on actual position after animation
|
|
2248
2353
|
this.updateSafeAreaOverrides();
|
|
@@ -2300,14 +2405,14 @@ const Modal = class {
|
|
|
2300
2405
|
// All of the elements needed for the swipe gesture
|
|
2301
2406
|
// should be in the DOM and referenced by now, except
|
|
2302
2407
|
// for the presenting el
|
|
2303
|
-
const animationBuilder = this.leaveAnimation || index$
|
|
2408
|
+
const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
|
|
2304
2409
|
const ani = (this.animation = animationBuilder(el, {
|
|
2305
2410
|
presentingEl: this.presentingElement,
|
|
2306
2411
|
expandToScroll: this.expandToScroll,
|
|
2307
2412
|
}));
|
|
2308
|
-
const contentEl = index$
|
|
2413
|
+
const contentEl = index$1.findIonContent(el);
|
|
2309
2414
|
if (!contentEl) {
|
|
2310
|
-
index$
|
|
2415
|
+
index$1.printIonContentErrorMsg(el);
|
|
2311
2416
|
return;
|
|
2312
2417
|
}
|
|
2313
2418
|
const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
|
|
@@ -2319,12 +2424,13 @@ const Modal = class {
|
|
|
2319
2424
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
2320
2425
|
return;
|
|
2321
2426
|
}
|
|
2322
|
-
const animationBuilder = this.enterAnimation || index$
|
|
2427
|
+
const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
|
|
2323
2428
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
2324
2429
|
presentingEl: this.presentingElement,
|
|
2325
2430
|
currentBreakpoint: initialBreakpoint,
|
|
2326
2431
|
backdropBreakpoint,
|
|
2327
2432
|
expandToScroll: this.expandToScroll,
|
|
2433
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2328
2434
|
}));
|
|
2329
2435
|
ani.progressStart(true, 1);
|
|
2330
2436
|
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
@@ -2332,7 +2438,7 @@ const Modal = class {
|
|
|
2332
2438
|
this.currentBreakpoint = breakpoint;
|
|
2333
2439
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
2334
2440
|
}
|
|
2335
|
-
}, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2441
|
+
}, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2336
2442
|
this.gesture = gesture;
|
|
2337
2443
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
2338
2444
|
this.gesture.enable(true);
|
|
@@ -2518,7 +2624,7 @@ const Modal = class {
|
|
|
2518
2624
|
if (dismissed) {
|
|
2519
2625
|
const { delegate } = this.getDelegate();
|
|
2520
2626
|
await frameworkDelegate.detachComponent(delegate, this.usersElement);
|
|
2521
|
-
index$
|
|
2627
|
+
index$2.writeTask(() => this.el.classList.remove('show-modal'));
|
|
2522
2628
|
if (this.animation) {
|
|
2523
2629
|
this.animation.destroy();
|
|
2524
2630
|
}
|
|
@@ -2555,11 +2661,11 @@ const Modal = class {
|
|
|
2555
2661
|
*/
|
|
2556
2662
|
async setCurrentBreakpoint(breakpoint) {
|
|
2557
2663
|
if (!this.isSheetModal) {
|
|
2558
|
-
index$
|
|
2664
|
+
index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
|
|
2559
2665
|
return;
|
|
2560
2666
|
}
|
|
2561
2667
|
if (!this.breakpoints.includes(breakpoint)) {
|
|
2562
|
-
index$
|
|
2668
|
+
index$2.printIonWarning(`[ion-modal] - Attempted to set invalid breakpoint value ${breakpoint}. Please double check that the breakpoint value is part of your defined breakpoints.`);
|
|
2563
2669
|
return;
|
|
2564
2670
|
}
|
|
2565
2671
|
const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
|
|
@@ -2604,6 +2710,18 @@ const Modal = class {
|
|
|
2604
2710
|
await this.setCurrentBreakpoint(nextBreakpoint);
|
|
2605
2711
|
return true;
|
|
2606
2712
|
}
|
|
2713
|
+
getShape() {
|
|
2714
|
+
const theme = ionicGlobal.getIonTheme(this);
|
|
2715
|
+
const { shape } = this;
|
|
2716
|
+
// TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
|
|
2717
|
+
if (theme !== 'ionic') {
|
|
2718
|
+
return undefined;
|
|
2719
|
+
}
|
|
2720
|
+
if (shape === undefined) {
|
|
2721
|
+
return 'round';
|
|
2722
|
+
}
|
|
2723
|
+
return shape;
|
|
2724
|
+
}
|
|
2607
2725
|
initViewTransitionListener() {
|
|
2608
2726
|
// Only enable for iOS card modals when no custom animations are provided
|
|
2609
2727
|
if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
@@ -2906,26 +3024,27 @@ const Modal = class {
|
|
|
2906
3024
|
render() {
|
|
2907
3025
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
2908
3026
|
const showHandle = handle !== false && isSheetModal;
|
|
2909
|
-
const
|
|
2910
|
-
const isCardModal = presentingElement !== undefined &&
|
|
3027
|
+
const theme$1 = ionicGlobal.getIonTheme(this);
|
|
3028
|
+
const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
|
|
2911
3029
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
3030
|
+
const shape = this.getShape();
|
|
2912
3031
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
2913
|
-
return (index$
|
|
3032
|
+
return (index$2.h(index$2.Host, Object.assign({ key: '3011c8f49c1ccb6c20c01db35b59fe4f6e22ec01', "no-router": true,
|
|
2914
3033
|
// Allow the modal to be navigable when the handle is focusable
|
|
2915
3034
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
2916
3035
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
2917
|
-
}, class: Object.assign({ [
|
|
3036
|
+
}, class: Object.assign({ [theme$1]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$2.h("ion-backdrop", { key: 'ab99fb4ff1b335b06d5676890012dfe3cd1a1a01', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme$1 === 'ios' && index$2.h("div", { key: '95d4c79c4455c6a5ae6d581fa9dfaabdbee8c567', class: "modal-shadow" }), index$2.h("div", Object.assign({ key: '2d7d2406cdb986c69ef52708d33eca67d8a877f8',
|
|
2918
3037
|
/*
|
|
2919
3038
|
role and aria-modal must be used on the
|
|
2920
3039
|
same element. They must also be set inside the
|
|
2921
3040
|
shadow DOM otherwise ion-button will not be highlighted
|
|
2922
3041
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
2923
3042
|
*/
|
|
2924
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$
|
|
3043
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$2.h("button", { key: 'ccec8bfc314763bd6dd868b69fbfdc085f5957c9', class: "modal-handle",
|
|
2925
3044
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
2926
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$
|
|
3045
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$2.h("slot", { key: '38469e3447b46983783627d697e12cadcef614fa', onSlotchange: this.onSlotChange }))));
|
|
2927
3046
|
}
|
|
2928
|
-
get el() { return index$
|
|
3047
|
+
get el() { return index$2.getElement(this); }
|
|
2929
3048
|
static get watchers() { return {
|
|
2930
3049
|
"isOpen": [{
|
|
2931
3050
|
"onIsOpenChange": 0
|
|
@@ -2942,6 +3061,7 @@ const LIFECYCLE_MAP = {
|
|
|
2942
3061
|
ionModalDidDismiss: 'ionViewDidLeave',
|
|
2943
3062
|
};
|
|
2944
3063
|
Modal.style = {
|
|
3064
|
+
ionic: modalIonicCss(),
|
|
2945
3065
|
ios: modalIosCss(),
|
|
2946
3066
|
md: modalMdCss()
|
|
2947
3067
|
};
|