@ionic/core 8.8.5 → 8.8.6-dev.11777490150.1970e4f2
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-gallery.d.ts +11 -0
- package/components/ion-gallery.js +4 -0
- 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.js +1 -1
- package/components/ion-picker-legacy.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-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-B2rpt1JV.js +4 -0
- package/components/{p-ak_d-z48.js → p-B636tzQ7.js} +1 -1
- package/components/p-B6zr9RZN.js +4 -0
- package/components/p-B71c6yUH.js +4 -0
- package/components/p-B8Oa6a_k.js +4 -0
- package/components/p-BCDEEm9n.js +4 -0
- package/components/p-BCFZKMI6.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-BFbsici0.js +4 -0
- package/components/p-BLCuPAtN.js +4 -0
- package/components/{p-cyNmxje6.js → p-BLysWQA1.js} +1 -1
- package/components/p-BO4aickU.js +4 -0
- package/components/p-BRWWcnBq.js +4 -0
- package/components/p-BXcCGjEc.js +4 -0
- package/components/p-BYSs-jZz.js +4 -0
- package/components/p-BaPtaYEC.js +4 -0
- package/components/p-BbQGmZyu.js +4 -0
- package/components/p-BcbmT6b3.js +4 -0
- package/components/p-BeVlsaLA.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-BqImG3uk.js +4 -0
- package/components/p-BwKpO3Is.js +4 -0
- package/components/p-C00Y_WJv.js +4 -0
- package/components/p-C0U8YqYW.js +4 -0
- package/components/p-C8ktKu9j.js +4 -0
- package/components/p-CIoAIKEr.js +4 -0
- package/components/p-CKfNwyAb.js +4 -0
- package/components/p-CN-WzkJE.js +4 -0
- package/components/p-CVBkx7m1.js +4 -0
- package/components/p-Cb9imMZh.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-Cmql_g3_.js +4 -0
- package/components/p-CoFqDNc5.js +4 -0
- package/components/p-CtiqM786.js +4 -0
- package/components/p-D1t981Ih.js +4 -0
- package/components/p-DAv9P_LE.js +4 -0
- package/components/p-DDw-NYxz.js +4 -0
- package/components/p-DH_9VCbD.js +4 -0
- package/components/p-DTtRWhIZ.js +4 -0
- package/components/p-DVcs-2q3.js +4 -0
- package/components/p-DXUyXgVL.js +4 -0
- package/components/p-DaJxRxSQ.js +4 -0
- package/components/p-Dhi5xtNS.js +4 -0
- package/components/p-Di5rHO3q.js +4 -0
- package/components/p-IMXp2Inn.js +4 -0
- package/components/p-TR4ubkPu.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-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.map +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +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-DWdFbSNK.js +35 -0
- 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/{config-BukYi_pW.js → index-BJlwOs11.js} +1 -31
- 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 +16 -16
- 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 +41 -22
- package/dist/cjs/ion-alert.cjs.entry.js +62 -41
- package/dist/cjs/ion-app_8.cjs.entry.js +292 -157
- 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 +56 -57
- package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -9
- package/dist/cjs/ion-datetime_3.cjs.entry.js +116 -41
- 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-gallery.cjs.entry.js +330 -0
- package/dist/cjs/ion-img.cjs.entry.js +8 -4
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +93 -17
- 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 +186 -21
- package/dist/cjs/ion-item_8.cjs.entry.js +116 -49
- package/dist/cjs/ion-loading.cjs.entry.js +22 -19
- package/dist/cjs/ion-menu_3.cjs.entry.js +47 -29
- package/dist/cjs/ion-modal.cjs.entry.js +262 -138
- 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 +14 -14
- package/dist/cjs/ion-picker.cjs.entry.js +10 -6
- package/dist/cjs/ion-popover.cjs.entry.js +21 -19
- 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 +42 -23
- 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 +97 -40
- package/dist/cjs/ion-select_3.cjs.entry.js +453 -84
- package/dist/cjs/ion-spinner.cjs.entry.js +30 -8
- package/dist/cjs/ion-split-pane.cjs.entry.js +13 -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 +70 -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-C2jiBSNQ.js → overlays-Hci_7vw_.js} +110 -16
- package/dist/cjs/select-option-render-C7klBX2H.js +81 -0
- 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 +7 -0
- 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.ionic.css +834 -0
- package/dist/collection/components/action-sheet/action-sheet.ios.css +102 -6
- package/dist/collection/components/action-sheet/action-sheet.js +32 -13
- package/dist/collection/components/action-sheet/action-sheet.md.css +101 -5
- package/dist/collection/components/alert/alert.ionic.css +1165 -0
- package/dist/collection/components/alert/alert.ios.css +102 -1
- package/dist/collection/components/alert/alert.js +51 -30
- package/dist/collection/components/alert/alert.md.css +102 -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 +211 -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 +98 -20
- 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/gallery/gallery-interface.js +1 -0
- package/dist/collection/components/gallery/gallery.css +38 -0
- package/dist/collection/components/gallery/gallery.js +421 -0
- package/dist/collection/components/gallery/test/utils.js +100 -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 +278 -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 +144 -4
- 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 +14 -11
- 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 +50 -12
- 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 +8 -7
- 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/picker.ios.css +13 -1
- package/dist/collection/components/picker-legacy/picker.js +7 -6
- package/dist/collection/components/picker-legacy/picker.md.css +13 -1
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
- package/dist/collection/components/popover/popover.ionic.css +290 -0
- package/dist/collection/components/popover/popover.ios.css +29 -1
- package/dist/collection/components/popover/popover.js +18 -15
- package/dist/collection/components/popover/popover.md.css +29 -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 +14 -9
- 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 +6 -3
- 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 +810 -0
- package/dist/collection/components/select/select.ios.css +348 -176
- package/dist/collection/components/select/select.js +434 -66
- package/dist/collection/components/select/select.md.css +364 -178
- package/dist/collection/components/select-modal/select-modal.ionic.css +154 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +95 -0
- package/dist/collection/components/select-modal/select-modal.js +109 -32
- package/dist/collection/components/select-modal/select-modal.md.css +83 -0
- package/dist/collection/components/select-option/select-option.js +32 -2
- package/dist/collection/components/select-popover/select-popover.ionic.css +499 -0
- package/dist/collection/components/select-popover/select-popover.ios.css +100 -0
- package/dist/collection/components/select-popover/select-popover.js +72 -31
- package/dist/collection/components/select-popover/select-popover.md.css +100 -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 +15 -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/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/media.js +1 -0
- 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 +91 -6
- package/dist/collection/utils/select-option-render.js +76 -0
- 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 +8781 -283
- 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-BwKpO3Is.js +31 -0
- 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-DV3sJJW8.js → index-D2tu5BUg.js} +2 -1
- package/dist/esm/{config-TO1rZH52.js → index-D4ugF_sT.js} +2 -29
- 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 +14 -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 +41 -22
- package/dist/esm/ion-alert.entry.js +61 -40
- package/dist/esm/ion-app_8.entry.js +292 -157
- 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 +56 -57
- package/dist/esm/ion-datetime-button.entry.js +13 -9
- package/dist/esm/ion-datetime_3.entry.js +116 -41
- package/dist/esm/ion-divider.entry.js +49 -0
- package/dist/esm/ion-fab_3.entry.js +44 -28
- package/dist/esm/ion-gallery.entry.js +328 -0
- package/dist/esm/ion-img.entry.js +8 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +92 -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 +186 -21
- package/dist/esm/ion-item_8.entry.js +116 -49
- package/dist/esm/ion-loading.entry.js +21 -18
- package/dist/esm/ion-menu_3.entry.js +47 -29
- package/dist/esm/ion-modal.entry.js +215 -91
- 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 +13 -13
- package/dist/esm/ion-picker.entry.js +10 -6
- package/dist/esm/ion-popover.entry.js +21 -19
- 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 +40 -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 +97 -40
- package/dist/esm/ion-select_3.entry.js +453 -84
- package/dist/esm/ion-spinner.entry.js +30 -8
- package/dist/esm/ion-split-pane.entry.js +13 -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 +45 -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-F8GHPo-e.js → overlays-rwDDzEs4.js} +107 -13
- package/dist/esm/select-option-render-B2qc5ZP7.js +79 -0
- 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 +2551 -117
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-00c0bd38.entry.js +4 -0
- package/dist/ionic/p-05a30032.entry.js +4 -0
- package/dist/ionic/p-07d3388f.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-15e3e8f5.entry.js +4 -0
- package/dist/ionic/p-1709b0aa.entry.js +4 -0
- package/dist/ionic/p-1c2c1869.entry.js +4 -0
- package/dist/ionic/p-1c4de46b.entry.js +4 -0
- package/dist/ionic/p-1e1c8d61.entry.js +4 -0
- package/dist/ionic/p-2311e660.entry.js +4 -0
- package/dist/ionic/p-2aa7567e.entry.js +4 -0
- package/dist/ionic/p-2ad79c23.entry.js +4 -0
- package/dist/ionic/p-2f0073af.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-3f79f594.entry.js +4 -0
- package/dist/ionic/p-4079cee3.entry.js +4 -0
- package/dist/ionic/p-45825c2c.entry.js +4 -0
- package/dist/ionic/p-48026d15.entry.js +4 -0
- package/dist/ionic/p-488992b6.entry.js +4 -0
- package/dist/ionic/p-4a0260e6.entry.js +4 -0
- package/dist/ionic/p-50b61fab.entry.js +4 -0
- package/dist/ionic/p-50cd2d57.entry.js +4 -0
- package/dist/ionic/p-5274f999.entry.js +4 -0
- package/dist/ionic/p-586d4270.entry.js +4 -0
- package/dist/ionic/p-68c21b2a.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-71b6014c.entry.js +4 -0
- package/dist/ionic/p-72491468.entry.js +4 -0
- package/dist/ionic/p-7d267dc6.entry.js +4 -0
- package/dist/ionic/p-7d5057c4.entry.js +4 -0
- package/dist/ionic/p-83c693c4.entry.js +4 -0
- package/dist/ionic/p-8537b2fb.entry.js +4 -0
- package/dist/ionic/p-8f127a9c.entry.js +4 -0
- package/dist/ionic/p-8uDL7fql.js +4 -0
- package/dist/ionic/p-9d789053.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-BwKpO3Is.js +4 -0
- 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-CFjI63GE.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-CWJdc8f_.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-a9fb086b.entry.js +4 -0
- package/dist/ionic/p-acdc21a6.entry.js +4 -0
- package/dist/ionic/p-ae667493.entry.js +4 -0
- package/dist/ionic/p-b2fe6c1c.entry.js +4 -0
- package/dist/ionic/p-b3c9f19c.entry.js +4 -0
- package/dist/ionic/p-b653f4c2.entry.js +4 -0
- package/dist/ionic/p-bd71a4a7.entry.js +4 -0
- package/dist/ionic/p-bdfd1761.entry.js +4 -0
- package/dist/ionic/p-bf972309.entry.js +4 -0
- package/dist/ionic/p-c10fa162.entry.js +4 -0
- package/dist/ionic/p-d4ed5710.entry.js +4 -0
- package/dist/ionic/p-d6299c37.entry.js +4 -0
- package/dist/ionic/p-d976e777.entry.js +4 -0
- package/dist/ionic/p-e18d3fdb.entry.js +4 -0
- package/dist/ionic/p-e3abffbe.entry.js +4 -0
- package/dist/ionic/p-f02ba305.entry.js +4 -0
- package/dist/ionic/p-f85942f8.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-fad05840.entry.js +4 -0
- package/dist/ionic/p-qETiT38a.js +4 -0
- 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 +26 -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/gallery/gallery-interface.d.ts +9 -0
- package/dist/types/components/gallery/gallery.d.ts +125 -0
- package/dist/types/components/gallery/test/utils.d.ts +2 -0
- 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 +32 -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/picker.d.ts +2 -1
- 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 -1
- 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-interface.d.ts +23 -0
- package/dist/types/components/select/select.d.ts +66 -13
- package/dist/types/components/select-modal/select-modal.d.ts +8 -0
- package/dist/types/components/select-option/select-option.d.ts +12 -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 +1793 -206
- package/dist/types/global/ionic-global.d.ts +28 -2
- package/dist/types/interface.d.ts +3 -0
- package/dist/types/utils/config.d.ts +106 -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 +1 -1
- package/dist/types/utils/select-option-render.d.ts +22 -0
- 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 +4682 -1301
- package/hydrate/index.mjs +4682 -1301
- package/package.json +8 -4
- package/components/p-1KVKSLu5.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-BGHGpkPX.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-BSB38Tek.js +0 -4
- package/components/p-BTeL5HCK.js +0 -4
- package/components/p-BUbsoBOV.js +0 -4
- package/components/p-BYDc3hSE.js +0 -4
- package/components/p-BagjAGC0.js +0 -4
- package/components/p-BegtE7nr.js +0 -4
- package/components/p-BgwEQWW6.js +0 -4
- package/components/p-BlNv564p.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-CBzELu-H.js +0 -4
- package/components/p-CDfQnFrd.js +0 -4
- package/components/p-CH0NYjKq.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-CgfaEEem.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-Cq8cQ0NL.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-Cyxa_4PV.js +0 -4
- package/components/p-Cz5nLPGT.js +0 -4
- package/components/p-D-cP12ZN.js +0 -4
- package/components/p-D6NJwNJN.js +0 -4
- package/components/p-D6Ynv7Xh.js +0 -4
- package/components/p-DHsZWn1l.js +0 -4
- package/components/p-DJMZehmW.js +0 -4
- package/components/p-DJztqcrH.js +0 -4
- package/components/p-DUqnmRFi.js +0 -4
- package/components/p-DYdpXONG.js +0 -4
- package/components/p-DgbT0exM.js +0 -4
- package/components/p-DiVJyqlX.js +0 -4
- package/components/p-DvOO1fxp.js +0 -4
- package/components/p-FBcnjE5W.js +0 -4
- package/components/p-SBseW5KJ.js +0 -4
- package/components/p-ZjP4CjeZ.js +0 -4
- package/components/p-fpbh6w3f.js +0 -4
- package/components/p-kvaDs24J.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-031b76f7.entry.js +0 -4
- package/dist/ionic/p-045a6a42.entry.js +0 -4
- package/dist/ionic/p-07506134.entry.js +0 -4
- package/dist/ionic/p-078037da.entry.js +0 -4
- package/dist/ionic/p-084c25b2.entry.js +0 -4
- package/dist/ionic/p-0d8b5c38.entry.js +0 -4
- package/dist/ionic/p-16813ce7.entry.js +0 -4
- package/dist/ionic/p-1b02923f.entry.js +0 -4
- package/dist/ionic/p-1b169fb6.entry.js +0 -4
- package/dist/ionic/p-23ec35e4.entry.js +0 -4
- package/dist/ionic/p-23fac490.entry.js +0 -4
- package/dist/ionic/p-28a9e720.entry.js +0 -4
- package/dist/ionic/p-294f4bb5.entry.js +0 -4
- package/dist/ionic/p-2a68388b.entry.js +0 -4
- package/dist/ionic/p-2f5a8140.entry.js +0 -4
- package/dist/ionic/p-2fd110aa.entry.js +0 -4
- package/dist/ionic/p-301c43f8.entry.js +0 -4
- package/dist/ionic/p-370a60ee.entry.js +0 -4
- package/dist/ionic/p-4c67ce4c.entry.js +0 -4
- package/dist/ionic/p-51c11c47.entry.js +0 -4
- package/dist/ionic/p-53f750a5.entry.js +0 -4
- package/dist/ionic/p-6af16209.entry.js +0 -4
- package/dist/ionic/p-6b701daa.entry.js +0 -4
- package/dist/ionic/p-6b97f2a3.entry.js +0 -4
- package/dist/ionic/p-7620be24.entry.js +0 -4
- package/dist/ionic/p-771b27a5.entry.js +0 -4
- package/dist/ionic/p-7ca71c83.entry.js +0 -4
- package/dist/ionic/p-80cac7a2.entry.js +0 -4
- package/dist/ionic/p-87125490.entry.js +0 -4
- package/dist/ionic/p-8fda6a62.entry.js +0 -4
- package/dist/ionic/p-9833cf63.entry.js +0 -4
- package/dist/ionic/p-9cbc6f1f.entry.js +0 -4
- package/dist/ionic/p-9cdbabbb.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.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-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-DTPR1Wpn.js +0 -4
- package/dist/ionic/p-DV3sJJW8.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-a805674e.entry.js +0 -4
- package/dist/ionic/p-a84f2d21.entry.js +0 -4
- package/dist/ionic/p-aa812c4b.entry.js +0 -4
- package/dist/ionic/p-b325a113.entry.js +0 -4
- package/dist/ionic/p-b5ea8cdd.entry.js +0 -4
- package/dist/ionic/p-b6e0ff03.entry.js +0 -4
- package/dist/ionic/p-bcaa827e.entry.js +0 -4
- package/dist/ionic/p-c3cce9d8.entry.js +0 -4
- package/dist/ionic/p-ca31010f.entry.js +0 -4
- package/dist/ionic/p-d4e8b473.entry.js +0 -4
- package/dist/ionic/p-e0287f41.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-e863ffe8.entry.js +0 -4
- package/dist/ionic/p-f2deaceb.entry.js +0 -4
- package/dist/ionic/p-f5dfb9a3.entry.js +0 -4
- package/dist/ionic/p-f69a5f71.entry.js +0 -4
- package/dist/ionic/p-f8186550.entry.js +0 -4
- package/dist/ionic/p-fdbc90d4.entry.js +0 -4
- package/dist/ionic/p-gbVXD275.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,
|
|
@@ -1664,9 +1770,9 @@ let cacheInvalidationScheduled = false;
|
|
|
1664
1770
|
* Matches: @media (min-width: 768px) and (min-height: 600px)
|
|
1665
1771
|
*/
|
|
1666
1772
|
const isCenteredDialogViewport = () => {
|
|
1667
|
-
if (!
|
|
1773
|
+
if (!ionicGlobal.win)
|
|
1668
1774
|
return false;
|
|
1669
|
-
return
|
|
1775
|
+
return ionicGlobal.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
|
|
1670
1776
|
.matches;
|
|
1671
1777
|
};
|
|
1672
1778
|
/**
|
|
@@ -1681,7 +1787,7 @@ const getRootSafeAreaTop = () => {
|
|
|
1681
1787
|
if (cachedRootSafeAreaTop !== null) {
|
|
1682
1788
|
return cachedRootSafeAreaTop;
|
|
1683
1789
|
}
|
|
1684
|
-
const doc =
|
|
1790
|
+
const doc = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.document;
|
|
1685
1791
|
if (!(doc === null || doc === void 0 ? void 0 : doc.body)) {
|
|
1686
1792
|
return 0;
|
|
1687
1793
|
}
|
|
@@ -1787,8 +1893,8 @@ const getInitialSafeAreaConfig = (context) => {
|
|
|
1787
1893
|
const getPositionBasedSafeAreaConfig = (wrapperEl) => {
|
|
1788
1894
|
var _a, _b;
|
|
1789
1895
|
const rect = wrapperEl.getBoundingClientRect();
|
|
1790
|
-
const vh = (_a =
|
|
1791
|
-
const vw = (_b =
|
|
1896
|
+
const vh = (_a = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
|
|
1897
|
+
const vw = (_b = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerWidth) !== null && _b !== void 0 ? _b : 0;
|
|
1792
1898
|
// Only apply safe-area to sides where modal overlaps with screen edge
|
|
1793
1899
|
return {
|
|
1794
1900
|
top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
|
|
@@ -1821,26 +1927,28 @@ const clearSafeAreaOverrides = (hostEl) => {
|
|
|
1821
1927
|
hostEl.style.removeProperty('--ion-safe-area-right');
|
|
1822
1928
|
};
|
|
1823
1929
|
|
|
1824
|
-
const
|
|
1930
|
+
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)))}`;
|
|
1825
1931
|
|
|
1826
|
-
const
|
|
1932
|
+
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}`;
|
|
1933
|
+
|
|
1934
|
+
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}`;
|
|
1827
1935
|
|
|
1828
1936
|
const Modal = class {
|
|
1829
1937
|
constructor(hostRef) {
|
|
1830
|
-
index$
|
|
1831
|
-
this.didPresent = index$
|
|
1832
|
-
this.willPresent = index$
|
|
1833
|
-
this.willDismiss = index$
|
|
1834
|
-
this.didDismiss = index$
|
|
1835
|
-
this.ionBreakpointDidChange = index$
|
|
1836
|
-
this.didPresentShorthand = index$
|
|
1837
|
-
this.willPresentShorthand = index$
|
|
1838
|
-
this.willDismissShorthand = index$
|
|
1839
|
-
this.didDismissShorthand = index$
|
|
1840
|
-
this.ionMount = index$
|
|
1841
|
-
this.ionDragStart = index$
|
|
1842
|
-
this.ionDragMove = index$
|
|
1843
|
-
this.ionDragEnd = index$
|
|
1938
|
+
index$2.registerInstance(this, hostRef);
|
|
1939
|
+
this.didPresent = index$2.createEvent(this, "ionModalDidPresent", 7);
|
|
1940
|
+
this.willPresent = index$2.createEvent(this, "ionModalWillPresent", 7);
|
|
1941
|
+
this.willDismiss = index$2.createEvent(this, "ionModalWillDismiss", 7);
|
|
1942
|
+
this.didDismiss = index$2.createEvent(this, "ionModalDidDismiss", 7);
|
|
1943
|
+
this.ionBreakpointDidChange = index$2.createEvent(this, "ionBreakpointDidChange", 7);
|
|
1944
|
+
this.didPresentShorthand = index$2.createEvent(this, "didPresent", 7);
|
|
1945
|
+
this.willPresentShorthand = index$2.createEvent(this, "willPresent", 7);
|
|
1946
|
+
this.willDismissShorthand = index$2.createEvent(this, "willDismiss", 7);
|
|
1947
|
+
this.didDismissShorthand = index$2.createEvent(this, "didDismiss", 7);
|
|
1948
|
+
this.ionMount = index$2.createEvent(this, "ionMount", 7);
|
|
1949
|
+
this.ionDragStart = index$2.createEvent(this, "ionDragStart", 7);
|
|
1950
|
+
this.ionDragMove = index$2.createEvent(this, "ionDragMove", 7);
|
|
1951
|
+
this.ionDragEnd = index$2.createEvent(this, "ionDragEnd", 7);
|
|
1844
1952
|
this.lockController = lockController.createLockController();
|
|
1845
1953
|
this.triggerController = overlays.createTriggerController();
|
|
1846
1954
|
this.coreDelegate = frameworkDelegate.CoreDelegate();
|
|
@@ -2127,7 +2235,7 @@ const Modal = class {
|
|
|
2127
2235
|
this.currentBreakpoint = this.initialBreakpoint;
|
|
2128
2236
|
}
|
|
2129
2237
|
if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
|
|
2130
|
-
index$
|
|
2238
|
+
index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
|
|
2131
2239
|
}
|
|
2132
2240
|
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
2133
2241
|
overlays.setOverlayId(this.el);
|
|
@@ -2227,7 +2335,7 @@ const Modal = class {
|
|
|
2227
2335
|
* get the transition incorrect.
|
|
2228
2336
|
*/
|
|
2229
2337
|
if (helpers.hasLazyBuild(el)) {
|
|
2230
|
-
await index$
|
|
2338
|
+
await index$3.deepReady(this.usersElement);
|
|
2231
2339
|
/**
|
|
2232
2340
|
* If keepContentsMounted="true" then the
|
|
2233
2341
|
* JS Framework has already mounted the inner
|
|
@@ -2238,9 +2346,9 @@ const Modal = class {
|
|
|
2238
2346
|
*/
|
|
2239
2347
|
}
|
|
2240
2348
|
else if (!this.keepContentsMounted) {
|
|
2241
|
-
await index$
|
|
2349
|
+
await index$3.waitForMount();
|
|
2242
2350
|
}
|
|
2243
|
-
index$
|
|
2351
|
+
index$2.writeTask(() => this.el.classList.add('show-modal'));
|
|
2244
2352
|
// Recalculate isSheetModal before safe-area setup because framework
|
|
2245
2353
|
// bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
|
|
2246
2354
|
this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
|
|
@@ -2257,11 +2365,12 @@ const Modal = class {
|
|
|
2257
2365
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
2258
2366
|
setCardStatusBarDark();
|
|
2259
2367
|
}
|
|
2260
|
-
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
2368
|
+
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
|
|
2261
2369
|
presentingEl: presentingElement,
|
|
2262
2370
|
currentBreakpoint: this.initialBreakpoint,
|
|
2263
2371
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
2264
2372
|
expandToScroll: this.expandToScroll,
|
|
2373
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2265
2374
|
});
|
|
2266
2375
|
// Update safe-area based on actual position after animation
|
|
2267
2376
|
this.updateSafeAreaOverrides();
|
|
@@ -2319,14 +2428,14 @@ const Modal = class {
|
|
|
2319
2428
|
// All of the elements needed for the swipe gesture
|
|
2320
2429
|
// should be in the DOM and referenced by now, except
|
|
2321
2430
|
// for the presenting el
|
|
2322
|
-
const animationBuilder = this.leaveAnimation || index$
|
|
2431
|
+
const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
|
|
2323
2432
|
const ani = (this.animation = animationBuilder(el, {
|
|
2324
2433
|
presentingEl: this.presentingElement,
|
|
2325
2434
|
expandToScroll: this.expandToScroll,
|
|
2326
2435
|
}));
|
|
2327
|
-
const contentEl = index$
|
|
2436
|
+
const contentEl = index$1.findIonContent(el);
|
|
2328
2437
|
if (!contentEl) {
|
|
2329
|
-
index$
|
|
2438
|
+
index$1.printIonContentErrorMsg(el);
|
|
2330
2439
|
return;
|
|
2331
2440
|
}
|
|
2332
2441
|
const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
|
|
@@ -2338,12 +2447,13 @@ const Modal = class {
|
|
|
2338
2447
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
2339
2448
|
return;
|
|
2340
2449
|
}
|
|
2341
|
-
const animationBuilder = this.enterAnimation || index$
|
|
2450
|
+
const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
|
|
2342
2451
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
2343
2452
|
presentingEl: this.presentingElement,
|
|
2344
2453
|
currentBreakpoint: initialBreakpoint,
|
|
2345
2454
|
backdropBreakpoint,
|
|
2346
2455
|
expandToScroll: this.expandToScroll,
|
|
2456
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2347
2457
|
}));
|
|
2348
2458
|
ani.progressStart(true, 1);
|
|
2349
2459
|
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) => {
|
|
@@ -2351,7 +2461,7 @@ const Modal = class {
|
|
|
2351
2461
|
this.currentBreakpoint = breakpoint;
|
|
2352
2462
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
2353
2463
|
}
|
|
2354
|
-
}, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2464
|
+
}, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2355
2465
|
this.gesture = gesture;
|
|
2356
2466
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
2357
2467
|
this.gesture.enable(true);
|
|
@@ -2537,7 +2647,7 @@ const Modal = class {
|
|
|
2537
2647
|
if (dismissed) {
|
|
2538
2648
|
const { delegate } = this.getDelegate();
|
|
2539
2649
|
await frameworkDelegate.detachComponent(delegate, this.usersElement);
|
|
2540
|
-
index$
|
|
2650
|
+
index$2.writeTask(() => this.el.classList.remove('show-modal'));
|
|
2541
2651
|
if (this.animation) {
|
|
2542
2652
|
this.animation.destroy();
|
|
2543
2653
|
}
|
|
@@ -2574,11 +2684,11 @@ const Modal = class {
|
|
|
2574
2684
|
*/
|
|
2575
2685
|
async setCurrentBreakpoint(breakpoint) {
|
|
2576
2686
|
if (!this.isSheetModal) {
|
|
2577
|
-
index$
|
|
2687
|
+
index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
|
|
2578
2688
|
return;
|
|
2579
2689
|
}
|
|
2580
2690
|
if (!this.breakpoints.includes(breakpoint)) {
|
|
2581
|
-
index$
|
|
2691
|
+
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.`);
|
|
2582
2692
|
return;
|
|
2583
2693
|
}
|
|
2584
2694
|
const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
|
|
@@ -2623,6 +2733,18 @@ const Modal = class {
|
|
|
2623
2733
|
await this.setCurrentBreakpoint(nextBreakpoint);
|
|
2624
2734
|
return true;
|
|
2625
2735
|
}
|
|
2736
|
+
getShape() {
|
|
2737
|
+
const theme = ionicGlobal.getIonTheme(this);
|
|
2738
|
+
const { shape } = this;
|
|
2739
|
+
// TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
|
|
2740
|
+
if (theme !== 'ionic') {
|
|
2741
|
+
return undefined;
|
|
2742
|
+
}
|
|
2743
|
+
if (shape === undefined) {
|
|
2744
|
+
return 'round';
|
|
2745
|
+
}
|
|
2746
|
+
return shape;
|
|
2747
|
+
}
|
|
2626
2748
|
initViewTransitionListener() {
|
|
2627
2749
|
// Only enable for iOS card modals when no custom animations are provided
|
|
2628
2750
|
if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
@@ -2956,26 +3078,27 @@ const Modal = class {
|
|
|
2956
3078
|
render() {
|
|
2957
3079
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
2958
3080
|
const showHandle = handle !== false && isSheetModal;
|
|
2959
|
-
const
|
|
2960
|
-
const isCardModal = presentingElement !== undefined &&
|
|
3081
|
+
const theme$1 = ionicGlobal.getIonTheme(this);
|
|
3082
|
+
const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
|
|
2961
3083
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
3084
|
+
const shape = this.getShape();
|
|
2962
3085
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
2963
|
-
return (index$
|
|
3086
|
+
return (index$2.h(index$2.Host, Object.assign({ key: '2d3a31da1613386cf90f0d59d6b26c9a5b654d2a', "no-router": true,
|
|
2964
3087
|
// Allow the modal to be navigable when the handle is focusable
|
|
2965
3088
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
2966
3089
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
2967
|
-
}, class: Object.assign({ [
|
|
3090
|
+
}, 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: 'baf6be86f7d5053d870a4ad794c1d584985c5ba0', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme$1 === 'ios' && index$2.h("div", { key: 'e3b76699bc31e8dd29b09ed6091d8f9003865e15', class: "modal-shadow" }), index$2.h("div", Object.assign({ key: '3043e51b33a1e394ae731ebc49fd4df7ef71be99',
|
|
2968
3091
|
/*
|
|
2969
3092
|
role and aria-modal must be used on the
|
|
2970
3093
|
same element. They must also be set inside the
|
|
2971
3094
|
shadow DOM otherwise ion-button will not be highlighted
|
|
2972
3095
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
2973
3096
|
*/
|
|
2974
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$
|
|
3097
|
+
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: '19e71dc84abf18b21be76ec35229c5c5e7410c6e', class: "modal-handle",
|
|
2975
3098
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
2976
|
-
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$
|
|
3099
|
+
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: '9b868070ee1be064e6b385f4783fc428c78d8084', onSlotchange: this.onSlotChange }))));
|
|
2977
3100
|
}
|
|
2978
|
-
get el() { return index$
|
|
3101
|
+
get el() { return index$2.getElement(this); }
|
|
2979
3102
|
static get watchers() { return {
|
|
2980
3103
|
"isOpen": [{
|
|
2981
3104
|
"onIsOpenChange": 0
|
|
@@ -2992,6 +3115,7 @@ const LIFECYCLE_MAP = {
|
|
|
2992
3115
|
ionModalDidDismiss: 'ionViewDidLeave',
|
|
2993
3116
|
};
|
|
2994
3117
|
Modal.style = {
|
|
3118
|
+
ionic: modalIonicCss(),
|
|
2995
3119
|
ios: modalIosCss(),
|
|
2996
3120
|
md: modalMdCss()
|
|
2997
3121
|
};
|