@ionic/core 9.0.2 → 9.0.3-dev.11788449150.16022b1e
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-item.d.ts +11 -0
- package/components/ion-gallery-item.js +4 -0
- 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.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-B1AK6oR-.js +4 -0
- package/components/p-B8dfyFoB.js +4 -0
- package/components/p-B9UT2JwK.js +4 -0
- package/components/p-BBz0jPCg.js +4 -0
- package/components/p-BDqjX7Z_.js +4 -0
- package/components/p-BGP1kR6j.js +4 -0
- package/components/p-BLGqtLjb.js +4 -0
- package/components/p-BQUTtt8S.js +4 -0
- package/components/p-BUF_V-Kg.js +4 -0
- package/components/p-BYSs-jZz.js +4 -0
- package/components/{p-BT9-hMMz.js → p-BZmR0M4X.js} +1 -1
- package/components/{p-CWuIRJQN.js → p-BZtGrrX4.js} +1 -1
- package/{dist/ionic/p-DTxBioUO.js → components/p-BahD7B6k.js} +1 -1
- package/{dist/ionic/p-DZ6Hmc-8.js → components/p-BcxhVbtz.js} +1 -1
- package/components/p-BdAOHgnb.js +4 -0
- package/components/p-Be00fpKV.js +4 -0
- package/{dist/ionic/p-C8XilMh0.js → components/p-BkQ1V9ee.js} +1 -1
- package/components/p-Bkk8447d.js +4 -0
- package/components/p-C8aonLbo.js +4 -0
- package/components/p-C9cwz4xv.js +4 -0
- package/components/p-CDmCFFLL.js +4 -0
- package/components/{p-Cw6WocLJ.js → p-CN41sVGB.js} +1 -1
- package/components/p-CODBQrPj.js +4 -0
- package/components/p-CPXKIYkL.js +4 -0
- package/components/p-CPdOdJa7.js +4 -0
- package/components/p-CTTmpA7l.js +4 -0
- package/components/p-Cc3oC60a.js +4 -0
- package/components/{p-BMPN55of.js → p-CksPhDEa.js} +1 -1
- package/components/{p-Fl7ZFU74.js → p-ClnMyzlV.js} +1 -1
- package/components/p-Cm78Kk79.js +4 -0
- package/components/p-CmEe-Llj.js +4 -0
- package/components/{p-DM1gJSMP.js → p-CrNVENZG.js} +1 -1
- package/components/p-CsQsFkwO.js +4 -0
- package/components/{p-BQyuFxYc.js → p-CtLeQL1G.js} +1 -1
- package/components/p-CvRAtS4n.js +4 -0
- package/components/p-D1t981Ih.js +4 -0
- package/components/p-D5lFNdff.js +4 -0
- package/components/p-D9jEKvVd.js +4 -0
- package/components/p-DG-ZC7Js.js +4 -0
- package/components/p-DGfjyB0v.js +4 -0
- package/components/p-DJkuoL4u.js +4 -0
- package/{dist/ionic/p-BaeKWZ-a.js → components/p-DNrr6r3I.js} +1 -1
- package/components/p-DOdd_Inr.js +4 -0
- package/components/p-DOoxQDxg.js +4 -0
- package/components/p-DWBpR7SJ.js +4 -0
- package/components/{p-CEW4RXZO.js → p-DcOWEjmv.js} +1 -1
- package/components/p-DgEOEy6x.js +4 -0
- package/components/{p-DhNuxvJH.js → p-DgIAZUGe.js} +1 -1
- package/components/{p-qAXsfUff.js → p-DhBOoebx.js} +1 -1
- package/components/p-Dhi5xtNS.js +4 -0
- package/components/p-DkQNAyg8.js +4 -0
- package/components/p-DtPgvez6.js +4 -0
- package/components/p-DwAij6DN.js +4 -0
- package/components/p-DzaPYdjZ.js +4 -0
- package/components/p-Dzuh_AKJ.js +4 -0
- package/components/p-EayFnjkU.js +4 -0
- package/components/p-JAFy4ZHv.js +4 -0
- package/components/p-NcQUGze-.js +4 -0
- package/components/p-Uo-TYRpE.js +4 -0
- package/components/p-VLn2Ytmp.js +4 -0
- package/components/p-W8Yq_OMR.js +4 -0
- package/components/p-ZxET9sbA.js +4 -0
- package/components/p-cKiRADSB.js +4 -0
- package/components/p-e73ca-aN.js +4 -0
- package/components/p-fIOYmaqA.js +4 -0
- package/components/p-fh4o6dKR.js +4 -0
- package/components/p-vXpMhGrs.js +4 -0
- 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-Kd1N7WTN.js → animation-DVrkairK.js} +3 -3
- package/dist/cjs/{app-globals-b1G4t26O.js → app-globals-CTxe9MxF.js} +1 -1
- package/dist/cjs/{button-active-CQCFubJJ.js → button-active-B8t6YMNb.js} +2 -2
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-w_r4U-_S.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/clear-button-press-controller-BKSn-dVq.js +45 -0
- package/dist/{esm/focus-visible-BmVRXR1y.js → cjs/focus-visible-BIj-I3-C.js} +27 -1
- package/dist/cjs/{format-bHU8N1g5.js → format-CSwmjLtu.js} +1 -1
- package/dist/cjs/{framework-delegate-d-fWfeI6.js → framework-delegate-Dmce7iqZ.js} +4 -2
- package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-DZEv3V5s.js} +1 -1
- package/dist/cjs/{helpers-7wzdhdeg.js → helpers-DFJMw-qZ.js} +71 -4
- package/dist/cjs/{index-C74Q3t6a.js → index-Bm6y0Ibt.js} +9 -8
- package/dist/cjs/{index-CQfEIyLK.js → index-BoQA7njo.js} +4 -4
- package/dist/cjs/{index-DXoo08JC.js → index-BsDPqfGS.js} +53 -4
- package/dist/cjs/{index-wOmugbdg.js → index-CxDnX7hd.js} +2 -0
- package/dist/cjs/{index-DFNrCX7M.js → index-DN51-BQl.js} +15 -15
- package/dist/cjs/{index-DtvKGwdh.js → index-DWP810QI.js} +2 -2
- package/dist/cjs/{index-KiSZqhYS.js → index-jHTqyXrs.js} +1 -1
- package/dist/cjs/index.cjs.js +13 -14
- package/dist/cjs/{input-shims-VJIiKBKv.js → input-shims-BFGH5o2Z.js} +18 -17
- package/dist/cjs/{input.utils-EHVE2RK_.js → input.utils-C5MTV3xv.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -29
- package/dist/cjs/ion-action-sheet.cjs.entry.js +26 -24
- package/dist/cjs/ion-alert.cjs.entry.js +33 -31
- package/dist/cjs/ion-app_8.cjs.entry.js +454 -195
- package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -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 -17
- package/dist/cjs/ion-chip.cjs.entry.js +50 -9
- package/dist/cjs/ion-col_3.cjs.entry.js +56 -62
- package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -9
- package/dist/cjs/ion-datetime.cjs.entry.js +109 -34
- 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-item.cjs.entry.js +58 -0
- package/dist/cjs/ion-gallery.cjs.entry.js +607 -0
- package/dist/cjs/ion-img.cjs.entry.js +8 -4
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +90 -16
- package/dist/cjs/ion-input-otp.cjs.entry.js +73 -9
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +53 -14
- package/dist/cjs/ion-input.cjs.entry.js +157 -38
- package/dist/cjs/ion-item-option_3.cjs.entry.js +465 -52
- package/dist/cjs/ion-item_8.cjs.entry.js +121 -50
- package/dist/cjs/ion-loading.cjs.entry.js +21 -19
- package/dist/cjs/ion-menu_3.cjs.entry.js +47 -29
- package/dist/cjs/ion-modal.cjs.entry.js +264 -139
- package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
- package/dist/cjs/ion-picker-column.cjs.entry.js +16 -16
- package/dist/cjs/ion-picker.cjs.entry.js +10 -6
- package/dist/cjs/ion-popover.cjs.entry.js +22 -20
- package/dist/cjs/ion-progress-bar.cjs.entry.js +27 -9
- package/dist/cjs/ion-radio_2.cjs.entry.js +36 -18
- package/dist/cjs/ion-range.cjs.entry.js +20 -13
- package/dist/cjs/ion-refresher_2.cjs.entry.js +39 -21
- package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -14
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
- package/dist/cjs/ion-route_4.cjs.entry.js +11 -10
- package/dist/cjs/ion-searchbar.cjs.entry.js +146 -32
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +13 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
- package/dist/cjs/ion-select-modal.cjs.entry.js +51 -26
- package/dist/cjs/ion-select_3.cjs.entry.js +216 -77
- 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 +149 -28
- 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 +190 -25
- package/dist/cjs/ion-toast.cjs.entry.js +72 -46
- package/dist/cjs/ion-toggle.cjs.entry.js +82 -26
- package/dist/cjs/ionic-global-BaVLW54G.js +522 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-DYGiD6gM.js → ios.transition-Bm4N3WK1.js} +7 -5
- package/dist/cjs/{item-multiple-inputs-Dv6qrMhm.js → item-multiple-inputs-C3d1lMiz.js} +1 -1
- package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-5cEsoK5l.js} +4 -3
- package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-9uOUQmB-.js} +1 -1
- package/dist/cjs/list-a-7GSA6K.js +8 -0
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-CrSkaoz6.js → md.transition-Z-7hu2x1.js} +6 -5
- package/dist/cjs/{overlay-control-label-D2sdL2O8.js → overlay-control-label-DnRLQR1t.js} +13 -11
- package/dist/cjs/{overlays-BR21NUIG.js → overlays-Jn6TNpc3.js} +306 -18
- package/dist/cjs/scroll-hide-controller-DQ9ulQ11.js +345 -0
- package/dist/cjs/{select-option-render-D8ZEjYji.js → select-option-render-BUF8TPE0.js} +2 -2
- package/dist/cjs/{slot-mutation-controller-D6IjSEIh.js → slot-mutation-controller-C9i1ymbP.js} +5 -5
- package/dist/cjs/{status-tap-CNP5eD1R.js → status-tap-DT7J4fZQ.js} +4 -3
- package/dist/cjs/{swipe-back-BYb_nLJe.js → swipe-back-BIbF7bVy.js} +3 -2
- package/dist/cjs/{theme-Bw0rpaNN.js → theme-Cy4joHPt.js} +25 -1
- package/dist/cjs/validity-CoPMWggj.js +51 -0
- package/dist/cjs/x-BTF99yFH.js +8 -0
- package/dist/collection/collection-manifest.json +8 -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 +494 -0
- package/dist/collection/components/action-sheet/action-sheet.ios.css +184 -54
- package/dist/collection/components/action-sheet/action-sheet.js +16 -13
- package/dist/collection/components/action-sheet/action-sheet.md.css +179 -55
- package/dist/collection/components/alert/alert.ionic.css +787 -0
- package/dist/collection/components/alert/alert.ios.css +247 -54
- package/dist/collection/components/alert/alert.js +22 -19
- package/dist/collection/components/alert/alert.md.css +243 -56
- package/dist/collection/components/app/app.js +15 -83
- package/dist/collection/components/avatar/avatar.ionic.css +385 -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 +272 -0
- package/dist/collection/components/badge/badge.ios.css +137 -12
- package/dist/collection/components/badge/badge.js +143 -9
- package/dist/collection/components/badge/badge.md.css +122 -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 +644 -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 +543 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +242 -117
- package/dist/collection/components/checkbox/checkbox.js +69 -14
- package/dist/collection/components/checkbox/checkbox.md.css +243 -118
- 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 -66
- package/dist/collection/components/content/content.css +47 -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 +314 -118
- package/dist/collection/components/datetime/datetime.js +97 -20
- package/dist/collection/components/datetime/datetime.md.css +304 -107
- 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-interface.js +1 -0
- package/dist/collection/components/footer/footer.ios.css +33 -6
- package/dist/collection/components/footer/footer.js +117 -25
- package/dist/collection/components/footer/footer.md.css +40 -0
- package/dist/collection/components/gallery/gallery-constants.js +12 -0
- package/dist/collection/components/gallery/gallery-interface.js +1 -0
- package/dist/collection/components/gallery/gallery.css +15 -0
- package/dist/collection/components/gallery/gallery.js +678 -0
- package/dist/collection/components/gallery/test/utils.js +100 -0
- package/dist/collection/components/gallery-item/gallery-item.css +49 -0
- package/dist/collection/components/gallery-item/gallery-item.js +98 -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-interface.js +1 -0
- package/dist/collection/components/header/header.ionic.css +250 -0
- package/dist/collection/components/header/header.ios.css +178 -133
- package/dist/collection/components/header/header.js +180 -39
- package/dist/collection/components/header/header.md.css +199 -9
- package/dist/collection/components/header/header.utils.js +5 -13
- package/dist/collection/components/img/img.js +7 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +99 -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 +937 -0
- package/dist/collection/components/input/input.ios.css +245 -154
- package/dist/collection/components/input/input.js +183 -43
- package/dist/collection/components/input/input.md.css +215 -226
- 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 -7
- 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 -11
- package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
- package/dist/collection/components/item/item.ionic.css +496 -0
- package/dist/collection/components/item/item.ios.css +120 -80
- package/dist/collection/components/item/item.js +56 -21
- package/dist/collection/components/item/item.md.css +131 -79
- 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 +277 -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.ionic.css +211 -0
- package/dist/collection/components/item-sliding/item-sliding.js +419 -35
- package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
- package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
- package/dist/collection/components/label/label.ios.css +18 -0
- package/dist/collection/components/label/label.js +11 -8
- package/dist/collection/components/label/label.md.css +18 -0
- package/dist/collection/components/list/list.ionic.css +212 -0
- package/dist/collection/components/list/list.ios.css +54 -14
- package/dist/collection/components/list/list.js +48 -9
- package/dist/collection/components/list/list.md.css +56 -16
- package/dist/collection/components/list-header/list-header.ionic.css +190 -0
- package/dist/collection/components/list-header/list-header.ios.css +82 -38
- package/dist/collection/components/list-header/list-header.js +11 -8
- package/dist/collection/components/list-header/list-header.md.css +82 -38
- package/dist/collection/components/loading/loading.ios.css +13 -1
- package/dist/collection/components/loading/loading.js +15 -12
- 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 +255 -0
- package/dist/collection/components/modal/modal.ios.css +178 -70
- package/dist/collection/components/modal/modal.js +52 -13
- 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 +10 -4
- 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/popover/popover.ionic.css +289 -0
- package/dist/collection/components/popover/popover.ios.css +13 -1
- package/dist/collection/components/popover/popover.js +19 -16
- package/dist/collection/components/popover/popover.md.css +13 -1
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
- package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
- package/dist/collection/components/progress-bar/progress-bar.js +43 -7
- package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
- package/dist/collection/components/radio/radio.ionic.css +422 -0
- package/dist/collection/components/radio/radio.ios.css +207 -102
- package/dist/collection/components/radio/radio.js +14 -9
- package/dist/collection/components/radio/radio.md.css +207 -102
- 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 +622 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
- package/dist/collection/components/searchbar/searchbar.js +191 -42
- 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 +352 -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 +13 -4
- package/dist/collection/components/segment-view/segment-view.md.css +6 -0
- package/dist/collection/components/select/select.ionic.css +864 -0
- package/dist/collection/components/select/select.ios.css +300 -148
- package/dist/collection/components/select/select.js +252 -81
- package/dist/collection/components/select/select.md.css +316 -150
- package/dist/collection/components/select-modal/select-modal.ionic.css +257 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +293 -45
- package/dist/collection/components/select-modal/select-modal.js +61 -15
- package/dist/collection/components/select-modal/select-modal.md.css +273 -43
- package/dist/collection/components/select-option/select-option.js +8 -4
- package/dist/collection/components/select-popover/select-popover.ionic.css +255 -0
- package/dist/collection/components/select-popover/select-popover.ios.css +188 -124
- package/dist/collection/components/select-popover/select-popover.js +17 -9
- package/dist/collection/components/select-popover/select-popover.md.css +228 -47
- 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 +249 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
- package/dist/collection/components/tab-bar/tab-bar.js +178 -15
- package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
- package/dist/collection/components/tab-button/tab-button.ionic.css +373 -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 +945 -0
- package/dist/collection/components/textarea/textarea.ios.css +301 -155
- package/dist/collection/components/textarea/textarea.js +215 -26
- package/dist/collection/components/textarea/textarea.md.css +315 -156
- 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 +39 -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 +79 -13
- package/dist/collection/components/toast/toast.md.css +84 -45
- package/dist/collection/components/toggle/toggle.ionic.css +512 -0
- package/dist/collection/components/toggle/toggle.ios.css +247 -127
- package/dist/collection/components/toggle/toggle.js +72 -18
- package/dist/collection/components/toggle/toggle.md.css +245 -127
- 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 +216 -14
- package/dist/collection/components/toolbar/toolbar.md.css +90 -47
- package/dist/collection/global/ionic-global.js +239 -13
- package/dist/collection/utils/css-value-validation.js +39 -0
- package/dist/collection/utils/focus-trap.js +13 -2
- package/dist/collection/utils/focus-visible.js +22 -0
- package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
- package/dist/collection/utils/forms/index.js +1 -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 +70 -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/overlay-control-label.js +13 -11
- package/dist/collection/utils/overlays.js +287 -8
- package/dist/collection/utils/scroll-hide-controller.js +178 -0
- package/dist/collection/utils/test/playwright/drag-element.js +32 -9
- package/dist/collection/utils/test/playwright/generator.js +48 -23
- package/dist/collection/utils/test/playwright/page/utils/goto.js +10 -1
- 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 +8849 -288
- package/dist/esm/{animation-BFNVlYum.js → animation-DXpoXT3G.js} +2 -2
- package/dist/esm/{app-globals-BgX0BGL1.js → app-globals-gnMsODWu.js} +1 -1
- package/dist/esm/{button-active-BfOvDr3b.js → button-active-DtDlu9-d.js} +2 -2
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CMyaZHxy.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/clear-button-press-controller-CWOPHFBc.js +43 -0
- package/dist/{cjs/focus-visible-CCvKiLh3.js → esm/focus-visible-vXpMhGrs.js} +23 -3
- package/dist/esm/{format-DDFE9jM5.js → format-DHkUcwuW.js} +1 -1
- package/dist/esm/{framework-delegate-BwNhx9NR.js → framework-delegate-DUQ69ajj.js} +4 -2
- package/dist/esm/{haptic-Cq4UAeka.js → haptic-Dal3yCq6.js} +1 -1
- package/dist/esm/{helpers-BSmc0nst.js → helpers-DTqW6MzS.js} +71 -5
- package/dist/esm/{index-D76bbuoi.js → index-B6qBfx1b.js} +1 -1
- package/dist/esm/{index-BvabGprD.js → index-BqQ15K9a.js} +2 -1
- package/dist/esm/{index-BuPaALjU.js → index-C2QkTAgc.js} +11 -11
- package/dist/esm/{index-C1b9CLFg.js → index-CpKLzrYn.js} +2 -2
- package/dist/esm/{index-DnA_7Bnx.js → index-D76uuG8P.js} +4 -4
- package/dist/esm/{index-CJln0gS3.js → index-D_YUqPZN.js} +4 -3
- package/dist/esm/{index-C23AVPx9.js → index-jsOqXOKf.js} +53 -4
- package/dist/esm/index.js +13 -14
- package/dist/esm/{input-shims-Dqk-Ou25.js → input-shims-DgFi_b6v.js} +7 -6
- package/dist/esm/{input.utils-rqoH22pW.js → input.utils-BV974hyf.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +61 -29
- package/dist/esm/ion-action-sheet.entry.js +26 -24
- package/dist/esm/ion-alert.entry.js +33 -31
- package/dist/esm/ion-app_8.entry.js +453 -194
- package/dist/esm/ion-avatar_3.entry.js +123 -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 -17
- package/dist/esm/ion-chip.entry.js +50 -9
- package/dist/esm/ion-col_3.entry.js +56 -62
- package/dist/esm/ion-datetime-button.entry.js +13 -9
- package/dist/esm/ion-datetime.entry.js +109 -34
- package/dist/esm/ion-divider.entry.js +49 -0
- package/dist/esm/ion-fab_3.entry.js +44 -28
- package/dist/esm/ion-gallery-item.entry.js +56 -0
- package/dist/esm/ion-gallery.entry.js +605 -0
- package/dist/esm/ion-img.entry.js +8 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +90 -16
- package/dist/esm/ion-input-otp.entry.js +73 -9
- package/dist/esm/ion-input-password-toggle.entry.js +53 -14
- package/dist/esm/ion-input.entry.js +157 -38
- package/dist/esm/ion-item-option_3.entry.js +465 -52
- package/dist/esm/ion-item_8.entry.js +121 -50
- package/dist/esm/ion-loading.entry.js +21 -19
- package/dist/esm/ion-menu_3.entry.js +47 -29
- package/dist/esm/ion-modal.entry.js +217 -92
- package/dist/esm/ion-nav_2.entry.js +13 -10
- 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 +22 -20
- package/dist/esm/ion-progress-bar.entry.js +27 -9
- package/dist/esm/ion-radio_2.entry.js +36 -18
- package/dist/esm/ion-range.entry.js +20 -13
- package/dist/esm/ion-refresher_2.entry.js +39 -21
- package/dist/esm/ion-reorder_2.entry.js +38 -14
- package/dist/esm/ion-ripple-effect.entry.js +15 -7
- package/dist/esm/ion-route_4.entry.js +11 -10
- package/dist/esm/ion-searchbar.entry.js +146 -32
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +13 -3
- package/dist/esm/ion-segment_2.entry.js +23 -16
- package/dist/esm/ion-select-modal.entry.js +51 -26
- package/dist/esm/ion-select_3.entry.js +216 -77
- 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 +148 -27
- 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 +190 -25
- package/dist/esm/ion-toast.entry.js +47 -21
- package/dist/esm/ion-toggle.entry.js +82 -26
- package/dist/esm/ionic-global-oK2heABF.js +511 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-CWAgfQ1r.js → ios.transition-D6rsx0aJ.js} +7 -5
- package/dist/esm/{item-multiple-inputs-DZnIiOO_.js → item-multiple-inputs-CAlufDbv.js} +1 -1
- package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-Dzp50ozz.js} +1 -1
- package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-YBye__Ay.js} +4 -3
- package/dist/esm/list-Dhi5xtNS.js +6 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-ZuqDDdDW.js → md.transition-0y4So3tu.js} +6 -5
- package/dist/esm/{overlay-control-label-BSQPZ79H.js → overlay-control-label-CODBQrPj.js} +13 -11
- package/dist/esm/{overlays-DKE0DgvE.js → overlays-CLlfG_qy.js} +303 -15
- package/dist/esm/scroll-hide-controller-BUZm0jSI.js +342 -0
- package/dist/esm/{select-option-render-CRP_teb1.js → select-option-render-DICJMeLf.js} +2 -2
- package/dist/esm/{slot-mutation-controller-B5NpUZ-N.js → slot-mutation-controller-C5Vj7Od7.js} +2 -2
- package/dist/esm/{status-tap-Cv9gb3ja.js → status-tap-VmNhEOZr.js} +4 -3
- package/dist/esm/{swipe-back-B2CmabKY.js → swipe-back-BHHiqew-.js} +3 -2
- package/dist/esm/{theme-byZM6qHV.js → theme-BUF_V-Kg.js} +25 -1
- package/dist/esm/validity-NcQUGze-.js +48 -0
- package/dist/esm/x-BDqjX7Z_.js +6 -0
- package/dist/html.html-data.json +2631 -150
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-04d96dad.entry.js +4 -0
- package/dist/ionic/p-08f20edc.entry.js +4 -0
- package/dist/ionic/p-0a924e6a.entry.js +4 -0
- package/dist/ionic/p-0f268972.entry.js +4 -0
- package/dist/ionic/p-18c6af89.entry.js +4 -0
- package/dist/ionic/p-1cc2a196.entry.js +4 -0
- package/dist/ionic/p-201f484e.entry.js +4 -0
- package/dist/ionic/p-26efcc45.entry.js +4 -0
- package/dist/ionic/p-2c3704b9.entry.js +4 -0
- package/dist/ionic/p-2da21af7.entry.js +4 -0
- package/dist/ionic/p-2e3acd77.entry.js +4 -0
- package/dist/ionic/p-2fc1521f.entry.js +4 -0
- package/dist/ionic/p-30c4458b.entry.js +4 -0
- package/dist/ionic/p-32829ef8.entry.js +4 -0
- package/dist/ionic/p-32be916d.entry.js +4 -0
- package/dist/ionic/p-384fb50d.entry.js +4 -0
- package/dist/ionic/p-3bb43e22.entry.js +4 -0
- package/dist/ionic/p-46709a42.entry.js +4 -0
- package/dist/ionic/p-4QzQhqmw.js +4 -0
- package/dist/ionic/p-4eec50dd.entry.js +4 -0
- package/dist/ionic/p-5217eb00.entry.js +4 -0
- package/dist/ionic/p-55e13406.entry.js +4 -0
- package/dist/ionic/p-6b23289a.entry.js +4 -0
- package/dist/ionic/p-73309d35.entry.js +4 -0
- package/dist/ionic/p-74ab5f49.entry.js +4 -0
- package/dist/ionic/p-7d2f3242.entry.js +4 -0
- package/dist/ionic/p-7e28cc53.entry.js +4 -0
- package/dist/ionic/p-84b5eafe.entry.js +4 -0
- package/dist/ionic/p-854b95f9.entry.js +4 -0
- package/dist/ionic/p-886236f0.entry.js +4 -0
- package/dist/ionic/p-8NLG9fne.js +4 -0
- package/dist/ionic/p-8a7bf6c7.entry.js +4 -0
- package/dist/ionic/p-8c446282.entry.js +4 -0
- package/dist/ionic/p-8dcd18cf.entry.js +4 -0
- package/dist/ionic/p-924182fc.entry.js +4 -0
- package/dist/ionic/p-92f21db6.entry.js +4 -0
- package/dist/ionic/p-945ed823.entry.js +4 -0
- package/dist/ionic/p-9ca59419.entry.js +4 -0
- package/dist/ionic/p-B3L20Lav.js +4 -0
- package/dist/ionic/p-B6aOaV_m.js +4 -0
- package/dist/ionic/p-BDqjX7Z_.js +4 -0
- package/dist/ionic/p-BUF_V-Kg.js +4 -0
- package/dist/ionic/{p-D7jHfs0Y.js → p-BUvFnCVr.js} +1 -1
- package/dist/ionic/{p-Bd72UYI2.js → p-BVv5nqxG.js} +1 -1
- package/dist/ionic/p-BYSs-jZz.js +4 -0
- package/dist/ionic/p-BdqFx5km.js +4 -0
- package/dist/ionic/p-BnRvdoDY.js +4 -0
- package/{components/p-DiuOa1vw.js → dist/ionic/p-BooNJoKP.js} +1 -1
- package/dist/ionic/p-BqQ15K9a.js +4 -0
- package/{components/p-6ZLn6K5e.js → dist/ionic/p-C0V6sqau.js} +1 -1
- package/dist/ionic/p-CD4Mty1V.js +4 -0
- package/dist/ionic/p-CE00jiiW.js +4 -0
- package/dist/ionic/p-CLVGlNRl.js +4 -0
- package/dist/ionic/p-CODBQrPj.js +4 -0
- package/dist/ionic/p-CP5-2cXj.js +4 -0
- package/dist/ionic/p-CRbXZpID.js +4 -0
- package/dist/ionic/p-CZ-V4tB0.js +4 -0
- package/dist/ionic/p-Cs5kzNVE.js +4 -0
- package/dist/ionic/p-CsmXfOZY.js +4 -0
- package/dist/ionic/p-CyXL8sF6.js +4 -0
- package/dist/ionic/{p-T71k3C35.js → p-D1ej8PMz.js} +1 -1
- package/dist/ionic/p-D1t981Ih.js +4 -0
- package/{components/p-DxhHlJln.js → dist/ionic/p-D8HyO4-0.js} +1 -1
- package/dist/ionic/p-DAFzmzMJ.js +4 -0
- package/{components/p-BgkOsq-d.js → dist/ionic/p-DFZcZ5hU.js} +1 -1
- package/dist/ionic/p-Dhi5xtNS.js +4 -0
- package/dist/ionic/{p-CkxVYPtX.js → p-DpE9LgN6.js} +1 -1
- package/dist/ionic/p-DvXo4Ng9.js +4 -0
- package/{components/p-C4VpVfrJ.js → dist/ionic/p-Izgzy5eB.js} +1 -1
- package/dist/ionic/p-NcQUGze-.js +4 -0
- package/dist/ionic/p-ac4ea8db.entry.js +4 -0
- package/dist/ionic/p-b10dc124.entry.js +4 -0
- package/dist/ionic/p-b411d90d.entry.js +4 -0
- package/dist/ionic/p-b7ce4a50.entry.js +4 -0
- package/dist/ionic/p-b83de44e.entry.js +4 -0
- package/dist/ionic/p-c7035f3f.entry.js +4 -0
- package/dist/ionic/p-c91fc9d4.entry.js +4 -0
- package/dist/ionic/p-cd05447f.entry.js +4 -0
- package/dist/ionic/p-ce1ab874.entry.js +4 -0
- package/dist/ionic/p-d0368d31.entry.js +4 -0
- package/dist/ionic/p-d1d3048b.entry.js +4 -0
- package/dist/ionic/p-db011674.entry.js +4 -0
- package/dist/ionic/p-dc000de0.entry.js +4 -0
- package/dist/ionic/p-e53980b0.entry.js +4 -0
- package/dist/ionic/p-e939adf3.entry.js +4 -0
- package/dist/ionic/p-e9fdff49.entry.js +4 -0
- package/dist/ionic/p-f29b784f.entry.js +4 -0
- package/dist/ionic/p-f82b13a6.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-fdb940e3.entry.js +4 -0
- package/dist/ionic/p-jsOqXOKf.js +6 -0
- package/dist/ionic/p-psKsVoNI.js +4 -0
- package/dist/ionic/p-si7ttuvL.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-interface.d.ts +1 -0
- package/dist/types/components/footer/footer.d.ts +20 -3
- package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
- package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
- package/dist/types/components/gallery/gallery.d.ts +218 -0
- package/dist/types/components/gallery/test/utils.d.ts +3 -0
- package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
- package/dist/types/components/grid/grid.d.ts +4 -0
- package/dist/types/components/header/header-interface.d.ts +1 -0
- package/dist/types/components/header/header.d.ts +26 -3
- package/dist/types/components/header/header.utils.d.ts +4 -5
- package/dist/types/components/img/img.d.ts +2 -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 +48 -5
- package/dist/types/components/input-otp/input-otp.d.ts +37 -0
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
- package/dist/types/components/item/item.d.ts +11 -4
- package/dist/types/components/item-divider/item-divider.d.ts +2 -1
- package/dist/types/components/item-group/item-group.d.ts +4 -0
- package/dist/types/components/item-option/item-option.d.ts +18 -1
- package/dist/types/components/item-options/item-options.d.ts +4 -0
- package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
- package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
- 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/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 +56 -10
- package/dist/types/components/segment/segment.d.ts +2 -1
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +64 -15
- package/dist/types/components/select-modal/select-modal.d.ts +8 -0
- package/dist/types/components/select-option/select-option.d.ts +7 -4
- 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-interface.d.ts +1 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
- 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 +74 -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 +1839 -211
- 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/css-value-validation.d.ts +21 -0
- 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/clear-button-press-controller.d.ts +20 -0
- package/dist/types/utils/forms/index.d.ts +1 -0
- package/dist/types/utils/forms/validity.d.ts +7 -0
- package/dist/types/utils/helpers.d.ts +22 -0
- package/dist/types/utils/overlay-control-label.d.ts +11 -9
- package/dist/types/utils/overlays-interface.d.ts +31 -1
- package/dist/types/utils/overlays.d.ts +1 -1
- package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
- package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
- package/dist/types/utils/test/playwright/generator.d.ts +31 -2
- package/dist/types/utils/theme.d.ts +9 -0
- package/hydrate/index.js +5445 -1216
- package/hydrate/index.mjs +5445 -1216
- package/package.json +7 -3
- package/components/p-1sJ0ZDPe.js +0 -4
- package/components/p-5ldEpNdG.js +0 -4
- package/components/p-B1_TL6RQ.js +0 -4
- package/components/p-B4lxwJ8N.js +0 -4
- package/components/p-BF48Oc0v.js +0 -4
- package/components/p-BJr2B5hZ.js +0 -4
- package/components/p-BNIsryb2.js +0 -4
- package/components/p-BSQPZ79H.js +0 -4
- package/components/p-BU8a2IhR.js +0 -4
- package/components/p-BW_SlU2D.js +0 -4
- package/components/p-BWoa-cki.js +0 -4
- package/components/p-BYJRZKHa.js +0 -4
- package/components/p-BhamHSw3.js +0 -4
- package/components/p-Bi-it1EH.js +0 -4
- package/components/p-BmVRXR1y.js +0 -4
- package/components/p-C-NbvXu4.js +0 -4
- package/components/p-C09TXohi.js +0 -4
- package/components/p-C8Ck7_Eo.js +0 -4
- package/components/p-CG_zZq_I.js +0 -4
- package/components/p-CIGNaXM1.js +0 -4
- package/components/p-CJgnoKcN.js +0 -4
- package/components/p-CMRYD_yR.js +0 -4
- package/components/p-CNLioZ3B.js +0 -4
- package/components/p-COO0eJOA.js +0 -4
- package/components/p-CWAks_S_.js +0 -4
- package/components/p-Cd1WaN-0.js +0 -4
- package/components/p-CqbGBmqb.js +0 -4
- package/components/p-CrAKlX71.js +0 -4
- package/components/p-Ctop2IWW.js +0 -4
- package/components/p-D5w_FlVa.js +0 -4
- package/components/p-D7-vHX0A.js +0 -4
- package/components/p-D7wDJdFn.js +0 -4
- package/components/p-DFLJvuRK.js +0 -4
- package/components/p-DJztqcrH.js +0 -4
- package/components/p-DL13ieTa.js +0 -4
- package/components/p-DMBiAyOR.js +0 -4
- package/components/p-DZRZic9C.js +0 -4
- package/components/p-DnBNYc7u.js +0 -4
- package/components/p-GGbIHyEF.js +0 -4
- package/components/p-Hp8t4RMX.js +0 -4
- package/components/p-LpMHEu3v.js +0 -4
- package/components/p-M34T2gyX.js +0 -4
- package/components/p-TWw4e4sO.js +0 -4
- package/components/p-YjMkHuvH.js +0 -4
- package/components/p-ZjP4CjeZ.js +0 -4
- package/components/p-byZM6qHV.js +0 -4
- package/components/p-cEN43Ahr.js +0 -4
- package/dist/cjs/hardware-back-button-Bu4Dzw8l.js +0 -121
- package/dist/cjs/index-DkNv4J_i.js +0 -10
- package/dist/cjs/ionic-global-CYJNT-2P.js +0 -156
- package/dist/cjs/keyboard-controller-PtZoN2GS.js +0 -167
- package/dist/cjs/validity-BpS37YFM.js +0 -19
- package/dist/esm/hardware-back-button-DmkiRgOT.js +0 -115
- package/dist/esm/index-ZjP4CjeZ.js +0 -7
- package/dist/esm/ionic-global-ZXjCXKH0.js +0 -151
- package/dist/esm/keyboard-controller-DEwoa1ev.js +0 -165
- package/dist/esm/validity-DJztqcrH.js +0 -17
- package/dist/ionic/p-099b7f9f.entry.js +0 -4
- package/dist/ionic/p-171a2278.entry.js +0 -4
- package/dist/ionic/p-191a651e.entry.js +0 -4
- package/dist/ionic/p-1f24cb24.entry.js +0 -4
- package/dist/ionic/p-271c3640.entry.js +0 -4
- package/dist/ionic/p-2ea4bb36.entry.js +0 -4
- package/dist/ionic/p-338a02e0.entry.js +0 -4
- package/dist/ionic/p-354d38d3.entry.js +0 -4
- package/dist/ionic/p-38b9375b.entry.js +0 -4
- package/dist/ionic/p-3bba83ee.entry.js +0 -4
- package/dist/ionic/p-3e01c744.entry.js +0 -4
- package/dist/ionic/p-458715a9.entry.js +0 -4
- package/dist/ionic/p-4712a8a9.entry.js +0 -4
- package/dist/ionic/p-4c3e50f8.entry.js +0 -4
- package/dist/ionic/p-54cbb0a7.entry.js +0 -4
- package/dist/ionic/p-561af487.entry.js +0 -4
- package/dist/ionic/p-5906ea6f.entry.js +0 -4
- package/dist/ionic/p-5cc09b40.entry.js +0 -4
- package/dist/ionic/p-5d9094ac.entry.js +0 -4
- package/dist/ionic/p-612ea3b1.entry.js +0 -4
- package/dist/ionic/p-68cc89a6.entry.js +0 -4
- package/dist/ionic/p-6e386853.entry.js +0 -4
- package/dist/ionic/p-77c96e08.entry.js +0 -4
- package/dist/ionic/p-7bfeccb3.entry.js +0 -4
- package/dist/ionic/p-7e394cc3.entry.js +0 -4
- package/dist/ionic/p-7fbb3319.entry.js +0 -4
- package/dist/ionic/p-803059b6.entry.js +0 -4
- package/dist/ionic/p-85599fe3.entry.js +0 -4
- package/dist/ionic/p-8b80d9f9.entry.js +0 -4
- package/dist/ionic/p-90f50a65.entry.js +0 -4
- package/dist/ionic/p-9595e305.entry.js +0 -4
- package/dist/ionic/p-9c5f2691.entry.js +0 -4
- package/dist/ionic/p-9ee9c5b6.entry.js +0 -4
- package/dist/ionic/p-BMPN55of.js +0 -4
- package/dist/ionic/p-BMiZX1LT.js +0 -4
- package/dist/ionic/p-BSQPZ79H.js +0 -4
- package/dist/ionic/p-BY6BzzPF.js +0 -4
- package/dist/ionic/p-BgOvhHy_.js +0 -4
- package/dist/ionic/p-BhamHSw3.js +0 -4
- package/dist/ionic/p-BijjLYjT.js +0 -4
- package/dist/ionic/p-BmVRXR1y.js +0 -4
- package/dist/ionic/p-BvabGprD.js +0 -4
- package/dist/ionic/p-C23AVPx9.js +0 -6
- package/dist/ionic/p-CER8qW8Y.js +0 -4
- package/dist/ionic/p-CFuOr1Tu.js +0 -4
- package/dist/ionic/p-CIGNaXM1.js +0 -4
- package/dist/ionic/p-CJv-wOAd.js +0 -4
- package/dist/ionic/p-CMZYmFb4.js +0 -4
- package/dist/ionic/p-CmXuiRT6.js +0 -4
- package/dist/ionic/p-D5t_-oMk.js +0 -4
- package/dist/ionic/p-D6rHcCvc.js +0 -4
- package/dist/ionic/p-DJztqcrH.js +0 -4
- package/dist/ionic/p-DLM95R4x.js +0 -4
- package/dist/ionic/p-DYUjHcuH.js +0 -4
- package/dist/ionic/p-D_gb-kdd.js +0 -4
- package/dist/ionic/p-DajLgJ4d.js +0 -4
- package/dist/ionic/p-Do3zTvCA.js +0 -4
- package/dist/ionic/p-ZjP4CjeZ.js +0 -4
- package/dist/ionic/p-a8df96c8.entry.js +0 -4
- package/dist/ionic/p-a8ff2489.entry.js +0 -4
- package/dist/ionic/p-aff52029.entry.js +0 -4
- package/dist/ionic/p-b3532b8d.entry.js +0 -4
- package/dist/ionic/p-b9b4e85d.entry.js +0 -4
- package/dist/ionic/p-byZM6qHV.js +0 -4
- package/dist/ionic/p-ca1b8865.entry.js +0 -4
- package/dist/ionic/p-cc4320d3.entry.js +0 -4
- package/dist/ionic/p-d526798a.entry.js +0 -4
- package/dist/ionic/p-d6755739.entry.js +0 -4
- package/dist/ionic/p-d8c138d9.entry.js +0 -4
- package/dist/ionic/p-dd01be0a.entry.js +0 -4
- package/dist/ionic/p-e7f4b1e0.entry.js +0 -4
- package/dist/ionic/p-ec00fd0d.entry.js +0 -4
- package/dist/ionic/p-ee09ac9d.entry.js +0 -4
- package/dist/ionic/p-efc0cf82.entry.js +0 -4
- package/dist/ionic/p-f0fb23c1.entry.js +0 -4
- package/dist/ionic/p-f83b3e0c.entry.js +0 -4
- package/dist/ionic/p-fa50d493.entry.js +0 -4
- package/dist/ionic/p-fe9ed9bd.entry.js +0 -4
- package/dist/ionic/p-zWf7R2xV.js +0 -4
- /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
|
@@ -3,25 +3,24 @@
|
|
|
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-BsDPqfGS.js');
|
|
7
|
+
var index = require('./index-DWP810QI.js');
|
|
8
|
+
var frameworkDelegate = require('./framework-delegate-Dmce7iqZ.js');
|
|
9
|
+
var helpers = require('./helpers-DFJMw-qZ.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-w_r4U-_S.js');
|
|
12
|
+
var overlays = require('./overlays-Jn6TNpc3.js');
|
|
13
|
+
var theme = require('./theme-Cy4joHPt.js');
|
|
14
|
+
var index$3 = require('./index-BoQA7njo.js');
|
|
15
|
+
var ionicGlobal = require('./ionic-global-BaVLW54G.js');
|
|
16
|
+
var keyboard = require('./keyboard-5cEsoK5l.js');
|
|
17
|
+
var animation = require('./animation-DVrkairK.js');
|
|
18
18
|
var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
|
|
19
|
-
var index$
|
|
20
|
-
|
|
19
|
+
var index$1 = require('./index-DRPqwSvU.js');
|
|
20
|
+
require('./focus-visible-BIj-I3-C.js');
|
|
21
21
|
require('./dir-zwDPRE5K.js');
|
|
22
|
-
require('./hardware-back-button-Bu4Dzw8l.js');
|
|
23
22
|
require('./gesture-controller-CeJslptU.js');
|
|
24
|
-
require('./keyboard-
|
|
23
|
+
require('./keyboard-9uOUQmB-.js');
|
|
25
24
|
|
|
26
25
|
var Style;
|
|
27
26
|
(function (Style) {
|
|
@@ -118,18 +117,116 @@ const getBackdropValueForSheet = (x, backdropBreakpoint) => {
|
|
|
118
117
|
*
|
|
119
118
|
*/
|
|
120
119
|
const setCardStatusBarDark = () => {
|
|
121
|
-
if (!
|
|
120
|
+
if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
|
|
122
121
|
return;
|
|
123
122
|
}
|
|
124
123
|
StatusBar.setStyle({ style: Style.Dark });
|
|
125
124
|
};
|
|
126
125
|
const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
|
|
127
|
-
if (!
|
|
126
|
+
if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
|
|
128
127
|
return;
|
|
129
128
|
}
|
|
130
129
|
StatusBar.setStyle({ style: defaultStyle });
|
|
131
130
|
};
|
|
132
131
|
|
|
132
|
+
const createSheetEnterAnimation = (opts) => {
|
|
133
|
+
const { currentBreakpoint, backdropBreakpoint, expandToScroll, staticBackdropOpacity } = opts;
|
|
134
|
+
/**
|
|
135
|
+
* If the backdropBreakpoint is undefined, then the backdrop
|
|
136
|
+
* should always fade in. If the backdropBreakpoint came before the
|
|
137
|
+
* current breakpoint, then the backdrop should be fading in.
|
|
138
|
+
*/
|
|
139
|
+
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
140
|
+
let initialBackdrop = '0';
|
|
141
|
+
if (staticBackdropOpacity) {
|
|
142
|
+
initialBackdrop = 'calc(var(--backdrop-opacity)';
|
|
143
|
+
}
|
|
144
|
+
else if (shouldShowBackdrop) {
|
|
145
|
+
initialBackdrop = `calc(var(--backdrop-opacity) * ${currentBreakpoint})`;
|
|
146
|
+
}
|
|
147
|
+
const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
148
|
+
if (shouldShowBackdrop) {
|
|
149
|
+
backdropAnimation
|
|
150
|
+
.beforeStyles({
|
|
151
|
+
'pointer-events': 'none',
|
|
152
|
+
})
|
|
153
|
+
.afterClearStyles(['pointer-events']);
|
|
154
|
+
}
|
|
155
|
+
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
156
|
+
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
157
|
+
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
158
|
+
]);
|
|
159
|
+
/**
|
|
160
|
+
* This allows the content to be scrollable at any breakpoint.
|
|
161
|
+
*/
|
|
162
|
+
const contentAnimation = !expandToScroll
|
|
163
|
+
? animation.createAnimation('contentAnimation').keyframes([
|
|
164
|
+
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
165
|
+
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
166
|
+
])
|
|
167
|
+
: undefined;
|
|
168
|
+
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
169
|
+
};
|
|
170
|
+
const createSheetLeaveAnimation = (opts) => {
|
|
171
|
+
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
172
|
+
/**
|
|
173
|
+
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
174
|
+
* is defined, so we need to account for that offset by figuring out
|
|
175
|
+
* what the current backdrop value should be.
|
|
176
|
+
*/
|
|
177
|
+
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
178
|
+
const defaultBackdrop = [
|
|
179
|
+
{ offset: 0, opacity: backdropValue },
|
|
180
|
+
{ offset: 1, opacity: 0 },
|
|
181
|
+
];
|
|
182
|
+
const customBackdrop = [
|
|
183
|
+
{ offset: 0, opacity: backdropValue },
|
|
184
|
+
{ offset: backdropBreakpoint, opacity: 0 },
|
|
185
|
+
{ offset: 1, opacity: 0 },
|
|
186
|
+
];
|
|
187
|
+
const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
188
|
+
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
189
|
+
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
190
|
+
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
191
|
+
]);
|
|
192
|
+
return { wrapperAnimation, backdropAnimation };
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
const createEnterAnimation$2 = () => {
|
|
196
|
+
const backdropAnimation = animation.createAnimation()
|
|
197
|
+
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
198
|
+
.beforeStyles({
|
|
199
|
+
'pointer-events': 'none',
|
|
200
|
+
})
|
|
201
|
+
.afterClearStyles(['pointer-events']);
|
|
202
|
+
const wrapperAnimation = animation.createAnimation().keyframes([
|
|
203
|
+
{ offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
|
|
204
|
+
{ offset: 1, opacity: 1, transform: `translateY(0px)` },
|
|
205
|
+
]);
|
|
206
|
+
return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
|
|
207
|
+
};
|
|
208
|
+
/**
|
|
209
|
+
* Ionic Modal Enter Animation
|
|
210
|
+
*/
|
|
211
|
+
const ionicEnterAnimation = (baseEl, opts) => {
|
|
212
|
+
const { currentBreakpoint, expandToScroll } = opts;
|
|
213
|
+
const root = helpers.getElementRoot(baseEl);
|
|
214
|
+
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$2();
|
|
215
|
+
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
216
|
+
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
217
|
+
// The content animation is only added if scrolling is enabled for
|
|
218
|
+
// all the breakpoints.
|
|
219
|
+
!expandToScroll && contentAnimation?.addElement(baseEl.querySelector('.ion-page'));
|
|
220
|
+
backdropAnimation.duration(300).easing('ease-out');
|
|
221
|
+
wrapperAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
|
|
222
|
+
contentAnimation?.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
|
|
223
|
+
const baseAnimation = animation.createAnimation().addElement(baseEl).addAnimation([backdropAnimation, wrapperAnimation]);
|
|
224
|
+
if (contentAnimation) {
|
|
225
|
+
baseAnimation.addAnimation(contentAnimation);
|
|
226
|
+
}
|
|
227
|
+
return baseAnimation;
|
|
228
|
+
};
|
|
229
|
+
|
|
133
230
|
/**
|
|
134
231
|
* Swiping is only possible when the content is scrolled to the top, so that we
|
|
135
232
|
* do not interfere with scrolling, and never on content with a refresher.
|
|
@@ -141,8 +238,8 @@ const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
|
|
|
141
238
|
* synchronous operation, and `getScrollElement` is asynchronous.
|
|
142
239
|
*/
|
|
143
240
|
const canSwipeOnContent = (contentEl) => {
|
|
144
|
-
const scrollEl = index
|
|
145
|
-
const hasRefresherInContent = !!index
|
|
241
|
+
const scrollEl = index.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
242
|
+
const hasRefresherInContent = !!index.findRefresherInContent(contentEl);
|
|
146
243
|
return !hasRefresherInContent && scrollEl.scrollTop === 0;
|
|
147
244
|
};
|
|
148
245
|
const handleCanDismiss = async (el, animation) => {
|
|
@@ -279,7 +376,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
279
376
|
let initialScrollY = true;
|
|
280
377
|
let lastStep = 0;
|
|
281
378
|
const getScrollY = () => {
|
|
282
|
-
if (contentEl && index
|
|
379
|
+
if (contentEl && index.isIonContent(contentEl)) {
|
|
283
380
|
return contentEl.scrollY;
|
|
284
381
|
/**
|
|
285
382
|
* Custom scroll containers are intended to be
|
|
@@ -305,7 +402,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
305
402
|
* swipe again. The target content will not
|
|
306
403
|
* be the same between swipes.
|
|
307
404
|
*/
|
|
308
|
-
contentEl = index
|
|
405
|
+
contentEl = index.findClosestIonContent(target);
|
|
309
406
|
if (contentEl) {
|
|
310
407
|
return canSwipeOnContent(contentEl);
|
|
311
408
|
}
|
|
@@ -349,7 +446,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
349
446
|
* happen at the same time as the gesture.
|
|
350
447
|
*/
|
|
351
448
|
if (deltaY > 0 && contentEl) {
|
|
352
|
-
index
|
|
449
|
+
index.disableContentScrollY(contentEl);
|
|
353
450
|
}
|
|
354
451
|
animation.progressStart(true, isOpen ? 1 : 0);
|
|
355
452
|
onDragStart();
|
|
@@ -363,7 +460,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
363
460
|
* happen at the same time as the gesture.
|
|
364
461
|
*/
|
|
365
462
|
if (deltaY > 0 && contentEl) {
|
|
366
|
-
index
|
|
463
|
+
index.disableContentScrollY(contentEl);
|
|
367
464
|
}
|
|
368
465
|
/**
|
|
369
466
|
* If we are swiping on the content
|
|
@@ -458,7 +555,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
458
555
|
isOpen = shouldComplete;
|
|
459
556
|
gesture.enable(false);
|
|
460
557
|
if (contentEl) {
|
|
461
|
-
index
|
|
558
|
+
index.resetContentScrollY(contentEl, initialScrollY);
|
|
462
559
|
}
|
|
463
560
|
animation
|
|
464
561
|
.onFinish(() => {
|
|
@@ -506,7 +603,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
506
603
|
};
|
|
507
604
|
onDragEnd(eventDetail);
|
|
508
605
|
};
|
|
509
|
-
const gesture = index$
|
|
606
|
+
const gesture = index$1.createGesture({
|
|
510
607
|
el,
|
|
511
608
|
gestureName: 'modalSwipeToClose',
|
|
512
609
|
gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
|
|
@@ -561,63 +658,6 @@ const calculateProgress = (el, deltaY) => {
|
|
|
561
658
|
return Math.max(0, Math.min(1, roundedProgress));
|
|
562
659
|
};
|
|
563
660
|
|
|
564
|
-
const createSheetEnterAnimation = (opts) => {
|
|
565
|
-
const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
|
|
566
|
-
/**
|
|
567
|
-
* If the backdropBreakpoint is undefined, then the backdrop
|
|
568
|
-
* should always fade in. If the backdropBreakpoint came before the
|
|
569
|
-
* current breakpoint, then the backdrop should be fading in.
|
|
570
|
-
*/
|
|
571
|
-
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
572
|
-
const initialBackdrop = shouldShowBackdrop ? `calc(var(--backdrop-opacity) * ${currentBreakpoint})` : '0';
|
|
573
|
-
const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
574
|
-
if (shouldShowBackdrop) {
|
|
575
|
-
backdropAnimation
|
|
576
|
-
.beforeStyles({
|
|
577
|
-
'pointer-events': 'none',
|
|
578
|
-
})
|
|
579
|
-
.afterClearStyles(['pointer-events']);
|
|
580
|
-
}
|
|
581
|
-
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
582
|
-
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
583
|
-
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
584
|
-
]);
|
|
585
|
-
/**
|
|
586
|
-
* This allows the content to be scrollable at any breakpoint.
|
|
587
|
-
*/
|
|
588
|
-
const contentAnimation = !expandToScroll
|
|
589
|
-
? animation.createAnimation('contentAnimation').keyframes([
|
|
590
|
-
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
591
|
-
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
592
|
-
])
|
|
593
|
-
: undefined;
|
|
594
|
-
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
595
|
-
};
|
|
596
|
-
const createSheetLeaveAnimation = (opts) => {
|
|
597
|
-
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
598
|
-
/**
|
|
599
|
-
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
600
|
-
* is defined, so we need to account for that offset by figuring out
|
|
601
|
-
* what the current backdrop value should be.
|
|
602
|
-
*/
|
|
603
|
-
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
604
|
-
const defaultBackdrop = [
|
|
605
|
-
{ offset: 0, opacity: backdropValue },
|
|
606
|
-
{ offset: 1, opacity: 0 },
|
|
607
|
-
];
|
|
608
|
-
const customBackdrop = [
|
|
609
|
-
{ offset: 0, opacity: backdropValue },
|
|
610
|
-
{ offset: backdropBreakpoint, opacity: 0 },
|
|
611
|
-
{ offset: 1, opacity: 0 },
|
|
612
|
-
];
|
|
613
|
-
const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
614
|
-
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
615
|
-
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
616
|
-
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
617
|
-
]);
|
|
618
|
-
return { wrapperAnimation, backdropAnimation };
|
|
619
|
-
};
|
|
620
|
-
|
|
621
661
|
const createEnterAnimation$1 = () => {
|
|
622
662
|
const backdropAnimation = animation.createAnimation()
|
|
623
663
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
@@ -1008,16 +1048,16 @@ const mdLeaveAnimation = (baseEl, opts) => {
|
|
|
1008
1048
|
return baseAnimation;
|
|
1009
1049
|
};
|
|
1010
1050
|
|
|
1011
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
|
|
1051
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, usePhysicsBasedGesture, onDragStart, onDragMove, onDragEnd) => {
|
|
1012
1052
|
// Defaults for the sheet swipe animation
|
|
1013
1053
|
const defaultBackdrop = [
|
|
1014
1054
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1015
|
-
{ offset: 1, opacity: 0.01 },
|
|
1055
|
+
{ offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0.01 },
|
|
1016
1056
|
];
|
|
1017
1057
|
const customBackdrop = [
|
|
1018
1058
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1019
|
-
{ offset: 1 - backdropBreakpoint, opacity: 0 },
|
|
1020
|
-
{ offset: 1, opacity: 0 },
|
|
1059
|
+
{ offset: 1 - backdropBreakpoint, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
|
|
1060
|
+
{ offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
|
|
1021
1061
|
];
|
|
1022
1062
|
const SheetDefaults = {
|
|
1023
1063
|
WRAPPER_KEYFRAMES: [
|
|
@@ -1197,7 +1237,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1197
1237
|
* For example, when using ion-nav within a modal it is possible to swipe, push a view,
|
|
1198
1238
|
* and then swipe again. The target content will not be the same between swipes.
|
|
1199
1239
|
*/
|
|
1200
|
-
const contentEl = index
|
|
1240
|
+
const contentEl = index.findClosestIonContent(detail.event.target);
|
|
1201
1241
|
currentBreakpoint = getCurrentBreakpoint();
|
|
1202
1242
|
/**
|
|
1203
1243
|
* Upwards swipes on the content cannot move the sheet anyway, so this only
|
|
@@ -1234,9 +1274,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1234
1274
|
* which would impact performance significantly.
|
|
1235
1275
|
*/
|
|
1236
1276
|
if (!expandToScroll) {
|
|
1237
|
-
const targetEl = index
|
|
1277
|
+
const targetEl = index.findClosestIonContent(detail.event.target);
|
|
1238
1278
|
cachedScrollEl =
|
|
1239
|
-
targetEl && index
|
|
1279
|
+
targetEl && index.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
|
|
1240
1280
|
}
|
|
1241
1281
|
/**
|
|
1242
1282
|
* If expandToScroll is disabled, we need to swap
|
|
@@ -1330,7 +1370,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1330
1370
|
: step;
|
|
1331
1371
|
offset = helpers.clamp(0.0001, processedStep, maxStep);
|
|
1332
1372
|
animation.progressStep(offset);
|
|
1333
|
-
const snapBreakpoint =
|
|
1373
|
+
const snapBreakpoint = usePhysicsBasedGesture
|
|
1374
|
+
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1375
|
+
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1334
1376
|
const eventDetail = {
|
|
1335
1377
|
currentY: detail.currentY,
|
|
1336
1378
|
deltaY: detail.deltaY,
|
|
@@ -1341,7 +1383,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1341
1383
|
onDragMove(eventDetail);
|
|
1342
1384
|
};
|
|
1343
1385
|
const onEnd = (detail) => {
|
|
1344
|
-
const snapBreakpoint =
|
|
1386
|
+
const snapBreakpoint = usePhysicsBasedGesture
|
|
1387
|
+
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1388
|
+
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1345
1389
|
/**
|
|
1346
1390
|
* `snapBreakpoint === 0` is not enough on its own. `canDismiss: false`
|
|
1347
1391
|
* snaps to 0 but never dismisses, since `handleCanDismiss` returns early
|
|
@@ -1402,6 +1446,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1402
1446
|
*/
|
|
1403
1447
|
const shouldPreventDismiss = canDismiss && breakpoint === 0;
|
|
1404
1448
|
const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
|
|
1449
|
+
/**
|
|
1450
|
+
* Detect snap-back behavior: when the snap target is the same as the current breakpoint,
|
|
1451
|
+
* the user released before crossing the threshold to a new breakpoint.
|
|
1452
|
+
* Apply different timing and easing for snap-back vs. snap-to-new.
|
|
1453
|
+
*/
|
|
1454
|
+
const isSnapBack = snapToBreakpoint === currentBreakpoint;
|
|
1455
|
+
const duration = usePhysicsBasedGesture ? (isSnapBack ? 300 : 400) : 500;
|
|
1456
|
+
const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
|
|
1405
1457
|
const shouldRemainOpen = snapToBreakpoint !== 0;
|
|
1406
1458
|
currentBreakpoint = 0;
|
|
1407
1459
|
/**
|
|
@@ -1416,11 +1468,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1416
1468
|
backdropAnimation.keyframes([
|
|
1417
1469
|
{
|
|
1418
1470
|
offset: 0,
|
|
1419
|
-
opacity:
|
|
1471
|
+
opacity: usePhysicsBasedGesture
|
|
1472
|
+
? 'var(--backdrop-opacity)'
|
|
1473
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
|
|
1420
1474
|
},
|
|
1421
1475
|
{
|
|
1422
1476
|
offset: 1,
|
|
1423
|
-
opacity:
|
|
1477
|
+
opacity: usePhysicsBasedGesture
|
|
1478
|
+
? 'var(--backdrop-opacity)'
|
|
1479
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
1424
1480
|
},
|
|
1425
1481
|
]);
|
|
1426
1482
|
if (contentAnimation) {
|
|
@@ -1438,6 +1494,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1438
1494
|
}
|
|
1439
1495
|
animation.progressStep(0);
|
|
1440
1496
|
}
|
|
1497
|
+
/**
|
|
1498
|
+
* Apply the appropriate easing curve for this snap behavior.
|
|
1499
|
+
*/
|
|
1500
|
+
if (usePhysicsBasedGesture) {
|
|
1501
|
+
animation.easing(easing);
|
|
1502
|
+
}
|
|
1441
1503
|
/**
|
|
1442
1504
|
* Gesture should remain disabled until the
|
|
1443
1505
|
* snapping animation completes.
|
|
@@ -1527,7 +1589,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1527
1589
|
* be added every time onEnd runs.
|
|
1528
1590
|
*/
|
|
1529
1591
|
}, { oneTimeCallback: true })
|
|
1530
|
-
.progressEnd(1, 0, animated ?
|
|
1592
|
+
.progressEnd(1, 0, animated ? duration : 0);
|
|
1531
1593
|
});
|
|
1532
1594
|
};
|
|
1533
1595
|
/**
|
|
@@ -1538,7 +1600,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1538
1600
|
* @param deltaY The change in Y position since the gesture started.
|
|
1539
1601
|
* @returns The snap breakpoint value.
|
|
1540
1602
|
*/
|
|
1541
|
-
const
|
|
1603
|
+
const calculatePositionSnapBreakpoint = (deltaY) => {
|
|
1542
1604
|
/**
|
|
1543
1605
|
* Calculates the real-time vertical position of the modal.
|
|
1544
1606
|
* We combine the wrapper's current bounding box position with the
|
|
@@ -1558,6 +1620,50 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1558
1620
|
});
|
|
1559
1621
|
return snapBreakpoint;
|
|
1560
1622
|
};
|
|
1623
|
+
/**
|
|
1624
|
+
* Calculates the snap breakpoint using velocity-based logic.
|
|
1625
|
+
* This provides a more intuitive and responsive sheet behavior for the Ionic theme.
|
|
1626
|
+
*
|
|
1627
|
+
* Rules:
|
|
1628
|
+
* 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
|
|
1629
|
+
* 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
|
|
1630
|
+
* 3. If dragged 40% below current snap point without fast upward flick, dismisses
|
|
1631
|
+
* 4. Otherwise, falls back to position-based snap (closest breakpoint)
|
|
1632
|
+
*
|
|
1633
|
+
* @param deltaY The change in Y position since gesture started
|
|
1634
|
+
* @param velocityY The velocity in pixels per millisecond
|
|
1635
|
+
* @param currentY The current Y position of the gesture
|
|
1636
|
+
* @returns The snap breakpoint value
|
|
1637
|
+
*/
|
|
1638
|
+
const calculateVelocitySnapBreakpoint = (deltaY, velocityY, currentY) => {
|
|
1639
|
+
// Convert velocity from px/ms to px/s for easier threshold comparison
|
|
1640
|
+
const velocityYPerSecond = velocityY * 1000;
|
|
1641
|
+
// Calculate current progress (0 = fully closed, 1 = fully expanded)
|
|
1642
|
+
const currentProgress = calculateProgress(currentY);
|
|
1643
|
+
// Rule 1: Fast downward flick always dismisses
|
|
1644
|
+
if (velocityYPerSecond > 500) {
|
|
1645
|
+
return minBreakpoint;
|
|
1646
|
+
}
|
|
1647
|
+
// Rule 2: Fast upward flick moves to next breakpoint above
|
|
1648
|
+
if (velocityYPerSecond < -400) {
|
|
1649
|
+
// Find next breakpoint above current position
|
|
1650
|
+
const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
|
|
1651
|
+
// If no breakpoint above, stay at max breakpoint
|
|
1652
|
+
return nextBreakpoint ?? maxBreakpoint;
|
|
1653
|
+
}
|
|
1654
|
+
// Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
|
|
1655
|
+
if (minBreakpoint === 0 && currentBreakpoint > 0) {
|
|
1656
|
+
// Calculate how far we've moved below the current snap point
|
|
1657
|
+
const distanceBelowSnap = currentBreakpoint - currentProgress;
|
|
1658
|
+
const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
|
|
1659
|
+
// If dragged more than 40% below and not flicking up, dismiss
|
|
1660
|
+
if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
|
|
1661
|
+
return 0;
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
// Rule 4: Fallback to position-based snap (existing logic)
|
|
1665
|
+
return calculatePositionSnapBreakpoint(deltaY);
|
|
1666
|
+
};
|
|
1561
1667
|
/**
|
|
1562
1668
|
* Calculates the progress of the swipe gesture.
|
|
1563
1669
|
*
|
|
@@ -1628,7 +1734,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1628
1734
|
*/
|
|
1629
1735
|
return viewportBottom - activeHeight;
|
|
1630
1736
|
};
|
|
1631
|
-
const gesture = index$
|
|
1737
|
+
const gesture = index$1.createGesture({
|
|
1632
1738
|
el: wrapperEl,
|
|
1633
1739
|
gestureName: 'modalSheet',
|
|
1634
1740
|
gesturePriority: 40,
|
|
@@ -1685,9 +1791,9 @@ let cacheInvalidationScheduled = false;
|
|
|
1685
1791
|
* Matches: @media (min-width: 768px) and (min-height: 600px)
|
|
1686
1792
|
*/
|
|
1687
1793
|
const isCenteredDialogViewport = () => {
|
|
1688
|
-
if (!
|
|
1794
|
+
if (!ionicGlobal.win)
|
|
1689
1795
|
return false;
|
|
1690
|
-
return
|
|
1796
|
+
return ionicGlobal.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
|
|
1691
1797
|
.matches;
|
|
1692
1798
|
};
|
|
1693
1799
|
/**
|
|
@@ -1702,7 +1808,7 @@ const getRootSafeAreaTop = () => {
|
|
|
1702
1808
|
if (cachedRootSafeAreaTop !== null) {
|
|
1703
1809
|
return cachedRootSafeAreaTop;
|
|
1704
1810
|
}
|
|
1705
|
-
const doc =
|
|
1811
|
+
const doc = ionicGlobal.win?.document;
|
|
1706
1812
|
if (!doc?.body) {
|
|
1707
1813
|
return 0;
|
|
1708
1814
|
}
|
|
@@ -1728,7 +1834,7 @@ const getRootSafeAreaTop = () => {
|
|
|
1728
1834
|
* a change to it becomes a size change the observer can see.
|
|
1729
1835
|
*/
|
|
1730
1836
|
const onRootSafeAreaTopChange = (callback) => {
|
|
1731
|
-
const doc =
|
|
1837
|
+
const doc = ionicGlobal.win?.document;
|
|
1732
1838
|
if (!doc?.body || typeof ResizeObserver === 'undefined') {
|
|
1733
1839
|
return () => undefined;
|
|
1734
1840
|
}
|
|
@@ -1842,8 +1948,8 @@ const getInitialSafeAreaConfig = (context) => {
|
|
|
1842
1948
|
*/
|
|
1843
1949
|
const getPositionBasedSafeAreaConfig = (wrapperEl) => {
|
|
1844
1950
|
const rect = wrapperEl.getBoundingClientRect();
|
|
1845
|
-
const vh =
|
|
1846
|
-
const vw =
|
|
1951
|
+
const vh = ionicGlobal.win?.innerHeight ?? 0;
|
|
1952
|
+
const vw = ionicGlobal.win?.innerWidth ?? 0;
|
|
1847
1953
|
// Only apply safe-area to sides where modal overlaps with screen edge
|
|
1848
1954
|
return {
|
|
1849
1955
|
top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
|
|
@@ -1876,26 +1982,28 @@ const clearSafeAreaOverrides = (hostEl) => {
|
|
|
1876
1982
|
hostEl.style.removeProperty('--ion-safe-area-right');
|
|
1877
1983
|
};
|
|
1878
1984
|
|
|
1879
|
-
const
|
|
1985
|
+
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-wrapper{outline:none}.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)))}`;
|
|
1880
1986
|
|
|
1881
|
-
const
|
|
1987
|
+
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-wrapper{outline:none}.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}`;
|
|
1988
|
+
|
|
1989
|
+
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-wrapper{outline:none}.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}`;
|
|
1882
1990
|
|
|
1883
1991
|
const Modal = class {
|
|
1884
1992
|
constructor(hostRef) {
|
|
1885
|
-
index$
|
|
1886
|
-
this.didPresent = index$
|
|
1887
|
-
this.willPresent = index$
|
|
1888
|
-
this.willDismiss = index$
|
|
1889
|
-
this.didDismiss = index$
|
|
1890
|
-
this.ionBreakpointDidChange = index$
|
|
1891
|
-
this.didPresentShorthand = index$
|
|
1892
|
-
this.willPresentShorthand = index$
|
|
1893
|
-
this.willDismissShorthand = index$
|
|
1894
|
-
this.didDismissShorthand = index$
|
|
1895
|
-
this.ionMount = index$
|
|
1896
|
-
this.ionDragStart = index$
|
|
1897
|
-
this.ionDragMove = index$
|
|
1898
|
-
this.ionDragEnd = index$
|
|
1993
|
+
index$2.registerInstance(this, hostRef);
|
|
1994
|
+
this.didPresent = index$2.createEvent(this, "ionModalDidPresent", 7);
|
|
1995
|
+
this.willPresent = index$2.createEvent(this, "ionModalWillPresent", 7);
|
|
1996
|
+
this.willDismiss = index$2.createEvent(this, "ionModalWillDismiss", 7);
|
|
1997
|
+
this.didDismiss = index$2.createEvent(this, "ionModalDidDismiss", 7);
|
|
1998
|
+
this.ionBreakpointDidChange = index$2.createEvent(this, "ionBreakpointDidChange", 7);
|
|
1999
|
+
this.didPresentShorthand = index$2.createEvent(this, "didPresent", 7);
|
|
2000
|
+
this.willPresentShorthand = index$2.createEvent(this, "willPresent", 7);
|
|
2001
|
+
this.willDismissShorthand = index$2.createEvent(this, "willDismiss", 7);
|
|
2002
|
+
this.didDismissShorthand = index$2.createEvent(this, "didDismiss", 7);
|
|
2003
|
+
this.ionMount = index$2.createEvent(this, "ionMount", 7);
|
|
2004
|
+
this.ionDragStart = index$2.createEvent(this, "ionDragStart", 7);
|
|
2005
|
+
this.ionDragMove = index$2.createEvent(this, "ionDragMove", 7);
|
|
2006
|
+
this.ionDragEnd = index$2.createEvent(this, "ionDragEnd", 7);
|
|
1899
2007
|
this.lockController = lockController.createLockController();
|
|
1900
2008
|
this.triggerController = overlays.createTriggerController();
|
|
1901
2009
|
this.coreDelegate = frameworkDelegate.CoreDelegate();
|
|
@@ -2214,7 +2322,7 @@ const Modal = class {
|
|
|
2214
2322
|
this.currentBreakpoint = this.initialBreakpoint;
|
|
2215
2323
|
}
|
|
2216
2324
|
if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
|
|
2217
|
-
index$
|
|
2325
|
+
index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
|
|
2218
2326
|
}
|
|
2219
2327
|
if (!this.htmlAttributes?.id) {
|
|
2220
2328
|
overlays.setOverlayId(this.el);
|
|
@@ -2314,7 +2422,7 @@ const Modal = class {
|
|
|
2314
2422
|
* get the transition incorrect.
|
|
2315
2423
|
*/
|
|
2316
2424
|
if (helpers.hasLazyBuild(el)) {
|
|
2317
|
-
await index$
|
|
2425
|
+
await index$3.deepReady(this.usersElement);
|
|
2318
2426
|
/**
|
|
2319
2427
|
* If keepContentsMounted="true" then the
|
|
2320
2428
|
* JS Framework has already mounted the inner
|
|
@@ -2325,9 +2433,9 @@ const Modal = class {
|
|
|
2325
2433
|
*/
|
|
2326
2434
|
}
|
|
2327
2435
|
else if (!this.keepContentsMounted) {
|
|
2328
|
-
await index$
|
|
2436
|
+
await index$3.waitForMount();
|
|
2329
2437
|
}
|
|
2330
|
-
index$
|
|
2438
|
+
index$2.writeTask(() => this.el.classList.add('show-modal'));
|
|
2331
2439
|
// Recalculate isSheetModal before safe-area setup because framework
|
|
2332
2440
|
// bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
|
|
2333
2441
|
this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
|
|
@@ -2348,11 +2456,12 @@ const Modal = class {
|
|
|
2348
2456
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
2349
2457
|
setCardStatusBarDark();
|
|
2350
2458
|
}
|
|
2351
|
-
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
2459
|
+
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
|
|
2352
2460
|
presentingEl: presentingElement,
|
|
2353
2461
|
currentBreakpoint: this.initialBreakpoint,
|
|
2354
2462
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
2355
2463
|
expandToScroll: this.expandToScroll,
|
|
2464
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2356
2465
|
});
|
|
2357
2466
|
}
|
|
2358
2467
|
finally {
|
|
@@ -2413,14 +2522,14 @@ const Modal = class {
|
|
|
2413
2522
|
// All of the elements needed for the swipe gesture
|
|
2414
2523
|
// should be in the DOM and referenced by now, except
|
|
2415
2524
|
// for the presenting el
|
|
2416
|
-
const animationBuilder = this.leaveAnimation || index$
|
|
2525
|
+
const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
|
|
2417
2526
|
const ani = (this.animation = animationBuilder(el, {
|
|
2418
2527
|
presentingEl: this.presentingElement,
|
|
2419
2528
|
expandToScroll: this.expandToScroll,
|
|
2420
2529
|
}));
|
|
2421
|
-
const contentEl = index
|
|
2530
|
+
const contentEl = index.findIonContent(el);
|
|
2422
2531
|
if (!contentEl) {
|
|
2423
|
-
index
|
|
2532
|
+
index.printIonContentErrorMsg(el);
|
|
2424
2533
|
return;
|
|
2425
2534
|
}
|
|
2426
2535
|
const statusBarStyle = this.statusBarStyle ?? Style.Default;
|
|
@@ -2432,12 +2541,13 @@ const Modal = class {
|
|
|
2432
2541
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
2433
2542
|
return;
|
|
2434
2543
|
}
|
|
2435
|
-
const animationBuilder = this.enterAnimation || index$
|
|
2544
|
+
const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
|
|
2436
2545
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
2437
2546
|
presentingEl: this.presentingElement,
|
|
2438
2547
|
currentBreakpoint: initialBreakpoint,
|
|
2439
2548
|
backdropBreakpoint,
|
|
2440
2549
|
expandToScroll: this.expandToScroll,
|
|
2550
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2441
2551
|
}));
|
|
2442
2552
|
ani.progressStart(true, 1);
|
|
2443
2553
|
const { gesture, moveSheetToBreakpoint, resetContentScroll } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => this.currentBreakpoint ?? 0, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
@@ -2445,7 +2555,7 @@ const Modal = class {
|
|
|
2445
2555
|
this.currentBreakpoint = breakpoint;
|
|
2446
2556
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
2447
2557
|
}
|
|
2448
|
-
}, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2558
|
+
}, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2449
2559
|
this.gesture = gesture;
|
|
2450
2560
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
2451
2561
|
this.resetSheetContentScroll = resetContentScroll;
|
|
@@ -2627,7 +2737,7 @@ const Modal = class {
|
|
|
2627
2737
|
if (dismissed) {
|
|
2628
2738
|
const { delegate } = this.getDelegate();
|
|
2629
2739
|
await frameworkDelegate.detachComponent(delegate, this.usersElement);
|
|
2630
|
-
index$
|
|
2740
|
+
index$2.writeTask(() => this.el.classList.remove('show-modal'));
|
|
2631
2741
|
if (this.animation) {
|
|
2632
2742
|
this.animation.destroy();
|
|
2633
2743
|
}
|
|
@@ -2671,11 +2781,11 @@ const Modal = class {
|
|
|
2671
2781
|
*/
|
|
2672
2782
|
async setCurrentBreakpoint(breakpoint) {
|
|
2673
2783
|
if (!this.isSheetModal) {
|
|
2674
|
-
index$
|
|
2784
|
+
index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
|
|
2675
2785
|
return;
|
|
2676
2786
|
}
|
|
2677
2787
|
if (!this.breakpoints.includes(breakpoint)) {
|
|
2678
|
-
index$
|
|
2788
|
+
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.`);
|
|
2679
2789
|
return;
|
|
2680
2790
|
}
|
|
2681
2791
|
const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
|
|
@@ -2720,6 +2830,18 @@ const Modal = class {
|
|
|
2720
2830
|
await this.setCurrentBreakpoint(nextBreakpoint);
|
|
2721
2831
|
return true;
|
|
2722
2832
|
}
|
|
2833
|
+
getShape() {
|
|
2834
|
+
const theme = ionicGlobal.getIonTheme(this);
|
|
2835
|
+
const { shape } = this;
|
|
2836
|
+
// TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
|
|
2837
|
+
if (theme !== 'ionic') {
|
|
2838
|
+
return undefined;
|
|
2839
|
+
}
|
|
2840
|
+
if (shape === undefined) {
|
|
2841
|
+
return 'round';
|
|
2842
|
+
}
|
|
2843
|
+
return shape;
|
|
2844
|
+
}
|
|
2723
2845
|
initViewTransitionListener() {
|
|
2724
2846
|
// Only enable for iOS card modals when no custom animations are provided
|
|
2725
2847
|
if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
@@ -3089,24 +3211,26 @@ const Modal = class {
|
|
|
3089
3211
|
render() {
|
|
3090
3212
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
3091
3213
|
const showHandle = handle !== false && isSheetModal;
|
|
3092
|
-
const
|
|
3093
|
-
const isCardModal = presentingElement !== undefined &&
|
|
3214
|
+
const theme$1 = ionicGlobal.getIonTheme(this);
|
|
3215
|
+
const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
|
|
3094
3216
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
3217
|
+
const shape = this.getShape();
|
|
3095
3218
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
3096
|
-
return (index$
|
|
3219
|
+
return (index$2.h(index$2.Host, { key: 'd1ed3e066555e2c822bef068dcbd9ff9a6676fc1', "no-router": true,
|
|
3097
3220
|
// Allow the modal to be navigable when the handle is focusable
|
|
3098
3221
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1, ...htmlAttributes, style: {
|
|
3099
3222
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
3100
3223
|
}, class: {
|
|
3101
|
-
[
|
|
3224
|
+
[theme$1]: true,
|
|
3102
3225
|
['modal-default']: !isCardModal && !isSheetModal,
|
|
3103
3226
|
[`modal-card`]: isCardModal,
|
|
3104
3227
|
[`modal-sheet`]: isSheetModal,
|
|
3228
|
+
[`modal-${shape}`]: shape !== undefined,
|
|
3105
3229
|
[`modal-no-expand-scroll`]: isSheetModal && !expandToScroll,
|
|
3106
3230
|
'overlay-hidden': true,
|
|
3107
3231
|
[overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
|
|
3108
3232
|
...theme.getClassMap(this.cssClass),
|
|
3109
|
-
}, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, index$
|
|
3233
|
+
}, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, index$2.h("ion-backdrop", { key: '59a5bf9f505f5961687028de74be270ff8c6f3df', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme$1 === 'ios' && index$2.h("div", { key: '2e87f740e6e89d3f250544445d40220c19e592ac', class: "modal-shadow" }), index$2.h("div", { key: 'bbc6ecfcfac6ab85d2651af41e2ee3fff6ba66fd',
|
|
3110
3234
|
/*
|
|
3111
3235
|
role and aria-modal must be used on the
|
|
3112
3236
|
same element. They must also be set inside the
|
|
@@ -3119,11 +3243,11 @@ const Modal = class {
|
|
|
3119
3243
|
without the tabindex focus() would be a no-op and screen readers
|
|
3120
3244
|
may not properly announce the dialog and its content when it opens.
|
|
3121
3245
|
*/
|
|
3122
|
-
role: "dialog", ...inheritedAttributes, "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }, showHandle && (index$
|
|
3246
|
+
role: "dialog", ...inheritedAttributes, "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }, showHandle && (index$2.h("button", { key: '647f4ebda73e0b8168a0cfe38f7c158278108c56', class: "modal-handle",
|
|
3123
3247
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
3124
|
-
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$
|
|
3248
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", "data-focus-order": "1", ref: (el) => (this.dragHandleEl = el) })), index$2.h("slot", { key: '4deb4b31745dcd93f2bc3dc208daffb1dcd936dd', onSlotchange: this.onSlotChange }))));
|
|
3125
3249
|
}
|
|
3126
|
-
get el() { return index$
|
|
3250
|
+
get el() { return index$2.getElement(this); }
|
|
3127
3251
|
static get watchers() { return {
|
|
3128
3252
|
"isOpen": [{
|
|
3129
3253
|
"onIsOpenChange": 0
|
|
@@ -3143,6 +3267,7 @@ const LIFECYCLE_MAP = {
|
|
|
3143
3267
|
ionModalDidDismiss: 'ionViewDidLeave',
|
|
3144
3268
|
};
|
|
3145
3269
|
Modal.style = {
|
|
3270
|
+
ionic: modalIonicCss(),
|
|
3146
3271
|
ios: modalIosCss(),
|
|
3147
3272
|
md: modalMdCss()
|
|
3148
3273
|
};
|