@ionic/core 8.8.15 → 8.8.16-dev.11784841344.1aa1a41c
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-legacy-column.js +1 -1
- package/components/ion-picker-legacy.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-0RwSa3tV.js +4 -0
- package/components/p-B8KYxaMx.js +4 -0
- package/components/p-BDqjX7Z_.js +4 -0
- package/components/{p-Cf2jSDS8.js → p-BE21dB_a.js} +1 -1
- package/components/p-BI03N_8J.js +4 -0
- package/components/p-BISCDmUD.js +4 -0
- package/components/{p-C4t5ymfq.js → p-BKSylJVh.js} +1 -1
- package/components/p-BLlJA2Q9.js +4 -0
- package/components/p-BYSs-jZz.js +4 -0
- package/components/{p-DqLB8yFQ.js → p-BZwQa9ey.js} +1 -1
- package/components/p-BiG3Zevl.js +4 -0
- package/components/p-BjW8SOqw.js +4 -0
- package/components/p-BoWc8hp0.js +4 -0
- package/components/p-BqRIq3ti.js +4 -0
- package/components/p-BskJOMNV.js +4 -0
- package/components/p-BwKpO3Is.js +4 -0
- package/components/p-C4q_m_U_.js +4 -0
- package/components/p-C9QYu-sR.js +4 -0
- package/components/p-CEbQglhY.js +4 -0
- package/components/p-CGwI_XL6.js +4 -0
- package/components/p-CIdlZzoM.js +4 -0
- package/components/p-CJCMdFb9.js +4 -0
- package/components/p-CODBQrPj.js +4 -0
- package/components/p-CVYFPBs-.js +4 -0
- package/components/p-CWq1hA4y.js +4 -0
- package/components/p-CeL9Glto.js +4 -0
- package/components/p-Ck_9SoHZ.js +4 -0
- package/components/p-Cl94E1nn.js +4 -0
- package/components/p-CmnPD02Z.js +4 -0
- package/components/p-Cog60JgJ.js +4 -0
- package/components/p-CyGaZ-Qb.js +4 -0
- package/components/p-CzFNvOq3.js +4 -0
- package/components/p-Czw29-II.js +4 -0
- package/components/p-D-Xa9lMG.js +4 -0
- package/components/p-D0Iqw6OZ.js +4 -0
- package/components/p-D1t981Ih.js +4 -0
- package/components/p-D4UIY4kz.js +4 -0
- package/components/p-D6un2jDV.js +4 -0
- package/components/p-D9583Eo8.js +4 -0
- package/components/p-DABI8XVx.js +4 -0
- package/components/p-DEZQwbtZ.js +4 -0
- package/components/p-DEnOtJ3m.js +4 -0
- package/components/p-DFSqPtzD.js +4 -0
- package/components/p-DJw3WM2A.js +4 -0
- package/{dist/ionic/p-D13Eaw-8.js → components/p-DP96lPOT.js} +1 -1
- package/components/p-DS1w_1X1.js +4 -0
- package/components/p-DaJxRxSQ.js +4 -0
- package/components/p-Daj5LWIm.js +4 -0
- package/components/p-Dg8OSVcP.js +4 -0
- package/components/p-Dhi5xtNS.js +4 -0
- package/components/p-DiKh2eQw.js +4 -0
- package/{dist/ionic/p-VAemlbDS.js → components/p-DmVUl5t4.js} +1 -1
- package/components/p-Dn77l_LX.js +4 -0
- package/components/{p-D5Ubpm7D.js → p-Dqgyr3aJ.js} +1 -1
- package/components/p-DylrHLJF.js +4 -0
- package/components/{p-cyNmxje6.js → p-Fagxa-Vi.js} +1 -1
- package/components/p-I0lsm6wZ.js +4 -0
- package/components/p-J03hHbbL.js +4 -0
- package/components/p-NPsFR8Ng.js +4 -0
- package/components/p-TaMIMwf5.js +4 -0
- package/components/p-U2gyA6Z0.js +4 -0
- package/components/p-ZWbVyMi6.js +4 -0
- package/components/p-_rgGxkzx.js +4 -0
- package/components/p-fIOYmaqA.js +4 -0
- package/components/p-q8wGOPJB.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-BJq0kcy2.js → animation-B3xfVcDO.js} +3 -3
- package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-3ZoCVkn-.js} +1 -1
- package/dist/cjs/{button-active-0mPOKmV2.js → button-active-3tZKuPbT.js} +2 -2
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CQSg1uCo.js} +3 -3
- package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
- package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
- package/dist/cjs/caret-right-CRCgv98E.js +8 -0
- package/dist/cjs/config-DWdFbSNK.js +35 -0
- package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
- package/dist/cjs/{format-PxvGiOik.js → format-BCIkDef_.js} +1 -1
- package/dist/cjs/{framework-delegate-BtICZDHr.js → framework-delegate-DC5nq_NN.js} +4 -2
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-eix26ESE.js} +1 -1
- package/dist/cjs/{helpers-Cv23MFHM.js → helpers-DiOgV5hw.js} +71 -4
- package/dist/cjs/{index-BERfRao3.js → index-BaJ7_YbC.js} +4 -4
- package/dist/cjs/index-Bj07IRTB.js +429 -0
- package/dist/cjs/{index-CIrkNXqJ.js → index-BxEZd5IE.js} +2 -2
- package/dist/cjs/{index-DqmRDbxg.js → index-Cu9JNpPi.js} +3 -1
- package/dist/cjs/{index-aC4x3Fk3.js → index-DYRcC3bw.js} +15 -15
- package/dist/cjs/{index-Ct7gcRif.js → index-GZU9YrFc.js} +41 -4
- package/dist/cjs/{index-D81eLYUM.js → index-bX3nz2vw.js} +9 -8
- package/dist/cjs/index.cjs.js +16 -16
- package/dist/cjs/{input-shims-CFLg7uzj.js → input-shims-BSEBw22J.js} +18 -17
- package/dist/cjs/{input.utils-DetjmtH2.js → input.utils-D68wgI2Y.js} +5 -5
- package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -29
- package/dist/cjs/ion-action-sheet.cjs.entry.js +41 -22
- package/dist/cjs/ion-alert.cjs.entry.js +78 -41
- package/dist/cjs/ion-app_8.cjs.entry.js +292 -157
- package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -13
- package/dist/cjs/ion-back-button.cjs.entry.js +31 -22
- package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +54 -18
- package/dist/cjs/ion-button_2.cjs.entry.js +61 -24
- package/dist/cjs/ion-card_5.cjs.entry.js +55 -33
- package/dist/cjs/ion-checkbox.cjs.entry.js +37 -17
- package/dist/cjs/ion-chip.cjs.entry.js +50 -9
- package/dist/cjs/ion-col_3.cjs.entry.js +56 -57
- package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -9
- package/dist/cjs/ion-datetime_3.cjs.entry.js +121 -46
- 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 +59 -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 +93 -17
- package/dist/cjs/ion-input-otp.cjs.entry.js +74 -9
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +53 -15
- package/dist/cjs/ion-input.cjs.entry.js +124 -34
- package/dist/cjs/ion-item-option_3.cjs.entry.js +467 -52
- package/dist/cjs/ion-item_8.cjs.entry.js +121 -50
- package/dist/cjs/ion-loading.cjs.entry.js +22 -19
- package/dist/cjs/ion-menu_3.cjs.entry.js +47 -29
- package/dist/cjs/ion-modal.cjs.entry.js +262 -138
- package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
- package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
- package/dist/cjs/ion-picker.cjs.entry.js +10 -6
- package/dist/cjs/ion-popover.cjs.entry.js +21 -19
- package/dist/cjs/ion-progress-bar.cjs.entry.js +27 -9
- package/dist/cjs/ion-radio_2.cjs.entry.js +35 -17
- package/dist/cjs/ion-range.cjs.entry.js +20 -13
- package/dist/cjs/ion-refresher_2.cjs.entry.js +42 -23
- package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -14
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
- package/dist/cjs/ion-route_4.cjs.entry.js +11 -10
- package/dist/cjs/ion-searchbar.cjs.entry.js +137 -24
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +13 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
- package/dist/cjs/ion-select-modal.cjs.entry.js +114 -38
- package/dist/cjs/ion-select_3.cjs.entry.js +557 -108
- package/dist/cjs/ion-spinner.cjs.entry.js +30 -8
- package/dist/cjs/ion-split-pane.cjs.entry.js +13 -9
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +147 -23
- package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
- package/dist/cjs/ion-text.cjs.entry.js +7 -7
- package/dist/cjs/ion-textarea.cjs.entry.js +137 -23
- package/dist/cjs/ion-toast.cjs.entry.js +70 -46
- package/dist/cjs/ion-toggle.cjs.entry.js +82 -25
- package/dist/cjs/ionic-global-QoUqobrQ.js +519 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-BOSWOaiK.js → ios.transition-DpFQfFfT.js} +7 -5
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Bn0Ppim6.js} +1 -1
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-CefyW9lm.js} +11 -9
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-faZBQysj.js} +4 -3
- package/dist/cjs/list-a-7GSA6K.js +8 -0
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-B8-wBZqt.js → md.transition-ChJcoZUH.js} +6 -5
- package/dist/cjs/{notch-controller-18PzRGXd.js → notch-controller-BO0UGB4F.js} +4 -4
- package/dist/cjs/overlay-control-label-DnRLQR1t.js +52 -0
- package/dist/cjs/{overlays-DdtIYQUH.js → overlays-CFGbPUmE.js} +309 -18
- package/dist/cjs/select-option-render-DqBHEjDn.js +124 -0
- package/dist/cjs/{status-tap-BXX8H8_Y.js → status-tap-x2qDo5QR.js} +4 -3
- package/dist/cjs/{swipe-back-C0GCB18x.js → swipe-back-CvZt_4YX.js} +3 -2
- package/dist/cjs/{theme-CeDs6Hcv.js → theme-IlOsGAz7.js} +25 -1
- package/dist/cjs/validity-QmuwEptc.js +51 -0
- package/dist/cjs/x-BTF99yFH.js +8 -0
- package/dist/collection/collection-manifest.json +9 -1
- 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 +367 -11
- package/dist/collection/components/action-sheet/action-sheet.js +32 -13
- package/dist/collection/components/action-sheet/action-sheet.md.css +306 -10
- package/dist/collection/components/alert/alert.ionic.css +787 -0
- package/dist/collection/components/alert/alert.ios.css +481 -19
- package/dist/collection/components/alert/alert.js +67 -30
- package/dist/collection/components/alert/alert.md.css +464 -29
- 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 +145 -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 +163 -99
- package/dist/collection/components/checkbox/checkbox.js +73 -15
- package/dist/collection/components/checkbox/checkbox.md.css +164 -100
- package/dist/collection/components/chip/chip.ionic.css +217 -0
- package/dist/collection/components/chip/chip.ios.css +67 -14
- package/dist/collection/components/chip/chip.js +108 -8
- package/dist/collection/components/chip/chip.md.css +67 -14
- package/dist/collection/components/col/col.css +192 -4
- package/dist/collection/components/col/col.js +211 -61
- package/dist/collection/components/content/content.css +8 -2
- package/dist/collection/components/content/content.js +16 -11
- package/dist/collection/components/datetime/datetime.ionic.css +703 -0
- package/dist/collection/components/datetime/datetime.ios.css +302 -106
- package/dist/collection/components/datetime/datetime.js +97 -20
- package/dist/collection/components/datetime/datetime.md.css +293 -96
- package/dist/collection/components/datetime/utils/data.js +5 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
- package/dist/collection/components/datetime-button/datetime-button.js +11 -8
- package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
- package/dist/collection/components/divider/divider.ionic.css +148 -0
- package/dist/collection/components/divider/divider.ios.css +87 -0
- package/dist/collection/components/divider/divider.js +94 -0
- package/dist/collection/components/divider/divider.md.css +87 -0
- package/dist/collection/components/fab/fab.css +25 -1
- package/dist/collection/components/fab/fab.js +9 -5
- package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
- package/dist/collection/components/fab-button/fab-button.js +36 -21
- package/dist/collection/components/fab-button/fab-button.md.css +20 -8
- package/dist/collection/components/fab-list/fab-list.css +12 -0
- package/dist/collection/components/fab-list/fab-list.js +9 -5
- package/dist/collection/components/footer/footer.ios.css +14 -2
- package/dist/collection/components/footer/footer.js +21 -16
- package/dist/collection/components/footer/footer.md.css +12 -0
- package/dist/collection/components/gallery/gallery-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 +679 -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 +99 -0
- package/dist/collection/components/grid/grid.css +12 -0
- package/dist/collection/components/grid/grid.js +9 -5
- package/dist/collection/components/header/header.ionic.css +97 -0
- package/dist/collection/components/header/header.ios.css +25 -10
- package/dist/collection/components/header/header.js +50 -19
- package/dist/collection/components/header/header.md.css +23 -8
- package/dist/collection/components/header/header.utils.js +5 -5
- package/dist/collection/components/img/img.js +8 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
- package/dist/collection/components/input/input.ionic.css +888 -0
- package/dist/collection/components/input/input.ios.css +224 -137
- package/dist/collection/components/input/input.js +148 -37
- package/dist/collection/components/input/input.md.css +194 -209
- 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 +74 -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 -12
- 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 +109 -69
- package/dist/collection/components/item/item.js +56 -21
- package/dist/collection/components/item/item.md.css +120 -68
- package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
- package/dist/collection/components/item-divider/item-divider.js +11 -8
- package/dist/collection/components/item-divider/item-divider.md.css +18 -0
- package/dist/collection/components/item-group/item-group.ios.css +12 -0
- package/dist/collection/components/item-group/item-group.js +13 -7
- package/dist/collection/components/item-group/item-group.md.css +12 -0
- package/dist/collection/components/item-option/item-option.ionic.css +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 +421 -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 +14 -11
- package/dist/collection/components/loading/loading.md.css +13 -1
- package/dist/collection/components/menu/menu.ios.css +15 -3
- package/dist/collection/components/menu/menu.js +12 -7
- package/dist/collection/components/menu/menu.md.css +15 -3
- package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
- package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
- package/dist/collection/components/menu-button/menu-button.js +26 -10
- package/dist/collection/components/menu-button/menu-button.md.css +49 -15
- package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
- package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
- package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
- package/dist/collection/components/modal/animations/sheet.js +8 -2
- package/dist/collection/components/modal/gestures/sheet.js +76 -10
- package/dist/collection/components/modal/modal.ionic.css +255 -0
- package/dist/collection/components/modal/modal.ios.css +178 -70
- package/dist/collection/components/modal/modal.js +50 -12
- package/dist/collection/components/modal/modal.md.css +178 -70
- package/dist/collection/components/nav/nav.css +7 -1
- package/dist/collection/components/nav/nav.js +11 -5
- package/dist/collection/components/nav-link/nav-link.js +5 -1
- package/dist/collection/components/note/note.ios.css +12 -0
- package/dist/collection/components/note/note.js +11 -8
- package/dist/collection/components/note/note.md.css +12 -0
- package/dist/collection/components/picker/picker.ios.css +15 -3
- package/dist/collection/components/picker/picker.js +8 -5
- package/dist/collection/components/picker/picker.md.css +15 -3
- package/dist/collection/components/picker-column/picker-column.css +9 -2
- package/dist/collection/components/picker-column/picker-column.js +8 -7
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
- package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
- package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
- package/dist/collection/components/picker-legacy/picker.js +7 -6
- package/dist/collection/components/picker-legacy/picker.md.css +13 -1
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
- package/dist/collection/components/popover/popover.ionic.css +290 -0
- package/dist/collection/components/popover/popover.ios.css +29 -1
- package/dist/collection/components/popover/popover.js +18 -15
- package/dist/collection/components/popover/popover.md.css +29 -1
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
- package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
- package/dist/collection/components/progress-bar/progress-bar.js +43 -7
- package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
- package/dist/collection/components/radio/radio.ionic.css +422 -0
- package/dist/collection/components/radio/radio.ios.css +134 -91
- package/dist/collection/components/radio/radio.js +14 -9
- package/dist/collection/components/radio/radio.md.css +134 -91
- package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
- package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
- package/dist/collection/components/radio-group/radio-group.js +48 -7
- package/dist/collection/components/radio-group/radio-group.md.css +43 -19
- package/dist/collection/components/range/range.ionic.css +567 -0
- package/dist/collection/components/range/range.ios.css +128 -85
- package/dist/collection/components/range/range.js +16 -10
- package/dist/collection/components/range/range.md.css +128 -85
- package/dist/collection/components/refresher/refresher.ios.css +14 -1
- package/dist/collection/components/refresher/refresher.js +11 -8
- package/dist/collection/components/refresher/refresher.md.css +15 -2
- package/dist/collection/components/refresher-content/refresher-content.js +28 -7
- package/dist/collection/components/reorder/reorder.ios.css +6 -0
- package/dist/collection/components/reorder/reorder.js +33 -6
- package/dist/collection/components/reorder/reorder.md.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.js +8 -4
- package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
- package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
- package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
- package/dist/collection/components/route/route.js +4 -0
- package/dist/collection/components/router/router.js +4 -0
- package/dist/collection/components/router-link/router-link.css +8 -2
- package/dist/collection/components/router-link/router-link.js +9 -5
- package/dist/collection/components/router-outlet/router-outlet.css +7 -1
- package/dist/collection/components/router-outlet/router-outlet.js +6 -3
- package/dist/collection/components/row/row.css +16 -0
- package/dist/collection/components/row/row.js +9 -2
- package/dist/collection/components/searchbar/searchbar.ionic.css +622 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
- package/dist/collection/components/searchbar/searchbar.js +180 -33
- package/dist/collection/components/searchbar/searchbar.md.css +56 -18
- package/dist/collection/components/segment/segment.ionic.css +115 -0
- package/dist/collection/components/segment/segment.ios.css +45 -2
- package/dist/collection/components/segment/segment.js +11 -8
- package/dist/collection/components/segment/segment.md.css +45 -2
- package/dist/collection/components/segment-button/segment-button.ionic.css +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 +809 -0
- package/dist/collection/components/select/select.ios.css +348 -176
- package/dist/collection/components/select/select.js +521 -92
- package/dist/collection/components/select/select.md.css +364 -178
- package/dist/collection/components/select-modal/select-modal.ionic.css +257 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +466 -0
- package/dist/collection/components/select-modal/select-modal.js +126 -30
- package/dist/collection/components/select-modal/select-modal.md.css +394 -0
- package/dist/collection/components/select-option/select-option.js +72 -4
- package/dist/collection/components/select-popover/select-popover.ionic.css +255 -0
- package/dist/collection/components/select-popover/select-popover.ios.css +302 -20
- package/dist/collection/components/select-popover/select-popover.js +89 -29
- package/dist/collection/components/select-popover/select-popover.md.css +345 -0
- package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
- package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
- package/dist/collection/components/spinner/spinner.js +47 -6
- package/dist/collection/components/spinner/spinner.native.css +199 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
- package/dist/collection/components/split-pane/split-pane.js +15 -8
- package/dist/collection/components/split-pane/split-pane.md.css +20 -2
- package/dist/collection/components/tab/tab.js +6 -2
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +227 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
- package/dist/collection/components/tab-bar/tab-bar.js +171 -13
- package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
- package/dist/collection/components/tab-button/tab-button.ionic.css +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 +898 -0
- package/dist/collection/components/textarea/textarea.ios.css +298 -158
- package/dist/collection/components/textarea/textarea.js +162 -24
- package/dist/collection/components/textarea/textarea.md.css +312 -159
- package/dist/collection/components/thumbnail/thumbnail.css +6 -0
- package/dist/collection/components/thumbnail/thumbnail.js +9 -2
- package/dist/collection/components/title/title.ionic.css +127 -0
- package/dist/collection/components/title/title.ios.css +32 -4
- package/dist/collection/components/title/title.js +13 -7
- package/dist/collection/components/title/title.md.css +32 -4
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ionic.css +394 -0
- package/dist/collection/components/toast/toast.ios.css +84 -45
- package/dist/collection/components/toast/toast.js +76 -13
- package/dist/collection/components/toast/toast.md.css +84 -45
- package/dist/collection/components/toggle/toggle.ionic.css +508 -0
- package/dist/collection/components/toggle/toggle.ios.css +247 -131
- package/dist/collection/components/toggle/toggle.js +73 -18
- package/dist/collection/components/toggle/toggle.md.css +244 -131
- package/dist/collection/components/toolbar/test/image.svg +1 -0
- package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
- package/dist/collection/components/toolbar/toolbar.js +218 -13
- package/dist/collection/components/toolbar/toolbar.md.css +90 -47
- package/dist/collection/global/ionic-global.js +241 -13
- package/dist/collection/utils/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/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 +47 -0
- package/dist/collection/utils/overlays.js +290 -8
- package/dist/collection/utils/sanitization/index.js +274 -18
- package/dist/collection/utils/select-option-render.js +119 -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 +14 -5
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
- package/dist/collection/utils/theme.js +25 -1
- package/dist/collection/utils/transition/ios.transition.js +1 -0
- package/dist/docs.json +8976 -284
- package/dist/esm/{animation-DLJpuoEz.js → animation-B2qdQ_ou.js} +2 -2
- package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-DZ-iIjxA.js} +1 -1
- package/dist/esm/{button-active-BSpTQmS9.js → button-active-BmajAby6.js} +2 -2
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CtQSWUU0.js} +1 -1
- package/dist/esm/caret-down-D1t981Ih.js +6 -0
- package/dist/esm/caret-left-fIOYmaqA.js +6 -0
- package/dist/esm/caret-right-BYSs-jZz.js +6 -0
- package/dist/esm/config-BwKpO3Is.js +31 -0
- package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
- package/dist/esm/{format-CAmvpAez.js → format-2WlZcMvG.js} +1 -1
- package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate-DO2QXccA.js} +4 -2
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-DFgKNCce.js} +1 -1
- package/dist/esm/{helpers-HEqiOzXb.js → helpers-DfF5_wJc.js} +71 -5
- package/dist/esm/{index-DV3sJJW8.js → index-1y3VhUSy.js} +3 -2
- package/dist/esm/{index-B_dQk_WE.js → index-BIUWGRUl.js} +4 -4
- package/dist/esm/{index-BRHzoo00.js → index-BjaaZqVY.js} +4 -3
- package/dist/esm/{index-tcQvqkiX.js → index-C0EQceqV.js} +41 -4
- package/dist/esm/{index-Q6UPU0Ay.js → index-Di034G4O.js} +11 -11
- package/dist/esm/{index-MEDq2S8l.js → index-KxK0gcRp.js} +2 -2
- package/dist/esm/index-Mq5pCWmZ.js +424 -0
- package/dist/esm/index.js +14 -14
- package/dist/esm/{input-shims-D10mwcw1.js → input-shims-DvNNw70a.js} +7 -6
- package/dist/esm/{input.utils-Y6NgW8bw.js → input.utils-_LkBfBWt.js} +3 -3
- package/dist/esm/ion-accordion_2.entry.js +61 -29
- package/dist/esm/ion-action-sheet.entry.js +41 -22
- package/dist/esm/ion-alert.entry.js +77 -40
- package/dist/esm/ion-app_8.entry.js +292 -157
- package/dist/esm/ion-avatar_3.entry.js +125 -13
- package/dist/esm/ion-back-button.entry.js +31 -22
- package/dist/esm/ion-backdrop.entry.js +10 -7
- package/dist/esm/ion-breadcrumb_2.entry.js +54 -18
- package/dist/esm/ion-button_2.entry.js +61 -24
- package/dist/esm/ion-card_5.entry.js +55 -33
- package/dist/esm/ion-checkbox.entry.js +37 -17
- package/dist/esm/ion-chip.entry.js +50 -9
- package/dist/esm/ion-col_3.entry.js +56 -57
- package/dist/esm/ion-datetime-button.entry.js +13 -9
- package/dist/esm/ion-datetime_3.entry.js +121 -46
- 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 +57 -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 +92 -16
- package/dist/esm/ion-input-otp.entry.js +74 -9
- package/dist/esm/ion-input-password-toggle.entry.js +53 -15
- package/dist/esm/ion-input.entry.js +124 -34
- package/dist/esm/ion-item-option_3.entry.js +467 -52
- package/dist/esm/ion-item_8.entry.js +121 -50
- package/dist/esm/ion-loading.entry.js +21 -18
- package/dist/esm/ion-menu_3.entry.js +47 -29
- package/dist/esm/ion-modal.entry.js +215 -91
- package/dist/esm/ion-nav_2.entry.js +14 -11
- package/dist/esm/ion-picker-column-option.entry.js +12 -8
- package/dist/esm/ion-picker-column.entry.js +13 -13
- package/dist/esm/ion-picker.entry.js +10 -6
- package/dist/esm/ion-popover.entry.js +21 -19
- package/dist/esm/ion-progress-bar.entry.js +27 -9
- package/dist/esm/ion-radio_2.entry.js +35 -17
- package/dist/esm/ion-range.entry.js +20 -13
- package/dist/esm/ion-refresher_2.entry.js +40 -21
- package/dist/esm/ion-reorder_2.entry.js +38 -14
- package/dist/esm/ion-ripple-effect.entry.js +15 -7
- package/dist/esm/ion-route_4.entry.js +11 -10
- package/dist/esm/ion-searchbar.entry.js +137 -24
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +13 -3
- package/dist/esm/ion-segment_2.entry.js +23 -16
- package/dist/esm/ion-select-modal.entry.js +114 -38
- package/dist/esm/ion-select_3.entry.js +557 -108
- package/dist/esm/ion-spinner.entry.js +30 -8
- package/dist/esm/ion-split-pane.entry.js +13 -9
- package/dist/esm/ion-tab-bar_2.entry.js +147 -23
- package/dist/esm/ion-tab_2.entry.js +8 -7
- package/dist/esm/ion-text.entry.js +7 -7
- package/dist/esm/ion-textarea.entry.js +137 -23
- package/dist/esm/ion-toast.entry.js +45 -21
- package/dist/esm/ion-toggle.entry.js +82 -25
- package/dist/esm/ionic-global-BpkTponr.js +508 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-CgScDbsb.js} +7 -5
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-CyyguLDw.js} +1 -1
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-WJix-wcz.js} +4 -3
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-BFwRdk2T.js} +5 -3
- package/dist/esm/list-Dhi5xtNS.js +6 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-D0msQmzI.js → md.transition-DThqYazt.js} +6 -5
- package/dist/esm/{notch-controller-DKDjU_O7.js → notch-controller-MTblRxjD.js} +2 -2
- package/dist/esm/overlay-control-label-CODBQrPj.js +49 -0
- package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-tv6nLsmk.js} +306 -15
- package/dist/esm/select-option-render-BlKZ2H83.js +122 -0
- package/dist/esm/{status-tap-Kan2W7sh.js → status-tap-CoPI1M2q.js} +4 -3
- package/dist/esm/{swipe-back-DQ1q5MgD.js → swipe-back-qmvTRnSq.js} +3 -2
- package/dist/esm/{theme-DiVJyqlX.js → theme-DaJxRxSQ.js} +25 -1
- package/dist/esm/validity-BjW8SOqw.js +48 -0
- package/dist/esm/x-BDqjX7Z_.js +6 -0
- package/dist/html.html-data.json +2654 -147
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p--sroV-k-.js +4 -0
- package/dist/ionic/p-05ce9821.entry.js +4 -0
- package/dist/ionic/p-085b8cdf.entry.js +4 -0
- package/dist/ionic/p-0c4d9d7c.entry.js +4 -0
- package/dist/ionic/p-0ef6bfc4.entry.js +4 -0
- package/dist/ionic/p-1b6e3914.entry.js +4 -0
- package/dist/ionic/p-1y3VhUSy.js +4 -0
- package/dist/ionic/p-25b51635.entry.js +4 -0
- package/dist/ionic/p-2740db6e.entry.js +4 -0
- package/dist/ionic/p-274a829d.entry.js +4 -0
- package/dist/ionic/p-2a1abbb1.entry.js +4 -0
- package/dist/ionic/p-2fba8f15.entry.js +4 -0
- package/dist/ionic/p-3b4c5cb5.entry.js +4 -0
- package/dist/ionic/p-3cfb4ff2.entry.js +4 -0
- package/dist/ionic/p-40dc9dbd.entry.js +4 -0
- package/dist/ionic/p-41afaf15.entry.js +4 -0
- package/dist/ionic/p-42a882b7.entry.js +4 -0
- package/dist/ionic/p-507dbb1c.entry.js +4 -0
- package/dist/ionic/p-54419365.entry.js +4 -0
- package/dist/ionic/p-602cf876.entry.js +4 -0
- package/dist/ionic/p-6293e9f1.entry.js +4 -0
- package/dist/ionic/p-678ee14a.entry.js +4 -0
- package/dist/ionic/p-68ea8ed1.entry.js +4 -0
- package/dist/ionic/p-6e1ec775.entry.js +4 -0
- package/dist/ionic/p-745d6b2b.entry.js +4 -0
- package/dist/ionic/p-7b2fe639.entry.js +4 -0
- package/dist/ionic/p-7de397c7.entry.js +4 -0
- package/dist/ionic/{p-C0eMdTCW.js → p-7k7Q1A38.js} +1 -1
- package/dist/ionic/p-89fedfda.entry.js +4 -0
- package/dist/ionic/p-8cf82b85.entry.js +4 -0
- package/dist/ionic/p-8d5fd199.entry.js +4 -0
- package/dist/ionic/p-9e9be378.entry.js +4 -0
- package/dist/ionic/p-BDSH5ckF.js +4 -0
- package/dist/ionic/p-BDqjX7Z_.js +4 -0
- package/dist/ionic/p-BFy_BK46.js +4 -0
- package/dist/ionic/p-BYSs-jZz.js +4 -0
- package/dist/ionic/p-BjW8SOqw.js +4 -0
- package/{components/p-CtukzcyX.js → dist/ionic/p-BlZo7Gy-.js} +1 -1
- package/dist/ionic/p-Bq8S4vhI.js +4 -0
- package/dist/ionic/p-BwKpO3Is.js +4 -0
- package/dist/ionic/p-C0EQceqV.js +5 -0
- package/dist/ionic/p-CB91Gr9M.js +4 -0
- package/dist/ionic/p-CEkwLb3L.js +4 -0
- package/dist/ionic/p-CJsJQPQD.js +4 -0
- package/dist/ionic/p-CODBQrPj.js +4 -0
- package/dist/ionic/p-Ch7MBNn_.js +4 -0
- package/{components/p-BT_5jSqG.js → dist/ionic/p-Cm20lBQw.js} +1 -1
- package/dist/ionic/p-CnAWnbNK.js +4 -0
- package/dist/ionic/p-D1t981Ih.js +4 -0
- package/dist/ionic/p-D4MT1z4_.js +4 -0
- package/dist/ionic/p-D4veLKCq.js +4 -0
- package/dist/ionic/p-DF7ubVci.js +4 -0
- package/dist/ionic/p-DMaSfupH.js +4 -0
- package/{components/p-D13Eaw-8.js → dist/ionic/p-DQDmksdT.js} +1 -1
- package/dist/ionic/p-DTsDGZPd.js +4 -0
- package/dist/ionic/p-DaJxRxSQ.js +4 -0
- package/dist/ionic/p-DdCaKRle.js +4 -0
- package/dist/ionic/p-Dhi5xtNS.js +4 -0
- package/dist/ionic/p-Dy243NXW.js +4 -0
- package/dist/ionic/p-MqqcZQSB.js +4 -0
- package/dist/ionic/{p-CKvCXMs9.js → p-OkgYzj-7.js} +1 -1
- package/dist/ionic/p-YIsE5bNG.js +4 -0
- package/dist/ionic/p-a09c7a4c.entry.js +4 -0
- package/dist/ionic/p-a6e04ca3.entry.js +4 -0
- package/dist/ionic/p-a6fe63f0.entry.js +4 -0
- package/dist/ionic/p-a797625e.entry.js +4 -0
- package/dist/ionic/p-b275f17e.entry.js +4 -0
- package/dist/ionic/p-b3d04a86.entry.js +4 -0
- package/dist/ionic/p-c5635175.entry.js +4 -0
- package/dist/ionic/p-c76d57fb.entry.js +4 -0
- package/dist/ionic/p-ca3a07b5.entry.js +4 -0
- package/dist/ionic/p-ced3cda1.entry.js +4 -0
- package/dist/ionic/p-cf22e991.entry.js +4 -0
- package/dist/ionic/p-d0c1d21d.entry.js +4 -0
- package/dist/ionic/p-d0d42da6.entry.js +4 -0
- package/dist/ionic/p-d0dfc9a3.entry.js +4 -0
- package/dist/ionic/p-d0f253fc.entry.js +4 -0
- package/dist/ionic/p-d33dfc12.entry.js +4 -0
- package/dist/ionic/p-d34bfb61.entry.js +4 -0
- package/dist/ionic/p-dc8e0b91.entry.js +4 -0
- package/dist/ionic/p-ddde8df3.entry.js +4 -0
- package/dist/ionic/p-df642ef5.entry.js +4 -0
- package/dist/ionic/p-e04d63e1.entry.js +4 -0
- package/dist/ionic/p-eeb7b373.entry.js +4 -0
- package/dist/ionic/p-f692219d.entry.js +4 -0
- package/dist/ionic/p-f8001f8f.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-fb457fdd.entry.js +4 -0
- package/dist/ionic/p-fc6d26ff.entry.js +4 -0
- package/dist/ionic/p-im8OkZlj.js +4 -0
- package/dist/ionic/p-lMb_45ax.js +4 -0
- package/dist/ionic/{p-Wk5HzclC.js → p-oUgyLDGL.js} +1 -1
- package/dist/ionic/p-vXpMhGrs.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +6 -3
- package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
- package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
- package/dist/types/components/alert/alert-interface.d.ts +3 -7
- package/dist/types/components/alert/alert.d.ts +3 -2
- package/dist/types/components/app/app.d.ts +4 -5
- package/dist/types/components/avatar/avatar.d.ts +32 -0
- package/dist/types/components/back-button/back-button.d.ts +2 -1
- package/dist/types/components/backdrop/backdrop.d.ts +4 -0
- package/dist/types/components/badge/badge.d.ts +34 -1
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +23 -8
- package/dist/types/components/buttons/buttons.d.ts +5 -1
- package/dist/types/components/card/card.d.ts +8 -1
- package/dist/types/components/card-content/card-content.d.ts +2 -1
- package/dist/types/components/card-header/card-header.d.ts +3 -2
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
- package/dist/types/components/card-title/card-title.d.ts +2 -1
- package/dist/types/components/checkbox/checkbox.d.ts +14 -4
- package/dist/types/components/chip/chip.d.ts +26 -1
- package/dist/types/components/col/col.d.ts +52 -5
- package/dist/types/components/content/content.d.ts +3 -0
- package/dist/types/components/datetime/datetime.d.ts +26 -1
- package/dist/types/components/datetime/utils/data.d.ts +5 -5
- package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
- package/dist/types/components/divider/divider.d.ts +20 -0
- package/dist/types/components/fab/fab.d.ts +4 -0
- package/dist/types/components/fab-button/fab-button.d.ts +5 -3
- package/dist/types/components/fab-list/fab-list.d.ts +4 -0
- package/dist/types/components/footer/footer.d.ts +4 -3
- package/dist/types/components/gallery/gallery-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.d.ts +9 -3
- package/dist/types/components/header/header.utils.d.ts +3 -3
- package/dist/types/components/img/img.d.ts +3 -0
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +31 -5
- package/dist/types/components/input-otp/input-otp.d.ts +37 -0
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
- package/dist/types/components/item/item.d.ts +11 -4
- package/dist/types/components/item-divider/item-divider.d.ts +2 -1
- package/dist/types/components/item-group/item-group.d.ts +4 -0
- package/dist/types/components/item-option/item-option.d.ts +18 -1
- package/dist/types/components/item-options/item-options.d.ts +4 -0
- package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
- package/dist/types/components/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/picker-legacy/picker.d.ts +2 -1
- package/dist/types/components/popover/popover-interface.d.ts +3 -6
- package/dist/types/components/popover/popover.d.ts +6 -5
- package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
- package/dist/types/components/radio/radio.d.ts +2 -1
- package/dist/types/components/radio-group/radio-group.d.ts +12 -0
- package/dist/types/components/range/range.d.ts +2 -1
- package/dist/types/components/refresher/refresher.d.ts +2 -1
- package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
- package/dist/types/components/reorder/reorder.d.ts +9 -0
- package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
- package/dist/types/components/route/route.d.ts +4 -0
- package/dist/types/components/router/router.d.ts +4 -0
- package/dist/types/components/router-link/router-link.d.ts +4 -0
- package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
- package/dist/types/components/row/row.d.ts +4 -0
- package/dist/types/components/searchbar/searchbar.d.ts +51 -9
- package/dist/types/components/segment/segment.d.ts +2 -1
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select-interface.d.ts +31 -0
- package/dist/types/components/select/select.d.ts +66 -13
- package/dist/types/components/select-modal/select-modal.d.ts +8 -0
- package/dist/types/components/select-option/select-option.d.ts +45 -1
- package/dist/types/components/select-popover/select-popover.d.ts +3 -0
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
- package/dist/types/components/spinner/spinner.d.ts +15 -0
- package/dist/types/components/split-pane/split-pane.d.ts +4 -0
- package/dist/types/components/tab/tab.d.ts +4 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +37 -2
- package/dist/types/components/tab-button/tab-button.d.ts +12 -1
- package/dist/types/components/tabs/tabs.d.ts +3 -0
- package/dist/types/components/text/text.d.ts +2 -1
- package/dist/types/components/textarea/textarea.d.ts +53 -4
- package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
- package/dist/types/components/title/title.d.ts +4 -0
- package/dist/types/components/toast/animations/utils.d.ts +2 -2
- package/dist/types/components/toast/toast-interface.d.ts +3 -7
- package/dist/types/components/toast/toast.d.ts +19 -2
- package/dist/types/components/toggle/toggle.d.ts +15 -1
- package/dist/types/components/toolbar/toolbar.d.ts +43 -3
- package/dist/types/components.d.ts +1854 -207
- 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/validity.d.ts +7 -0
- package/dist/types/utils/helpers.d.ts +22 -0
- package/dist/types/utils/overlay-control-label.d.ts +34 -0
- package/dist/types/utils/overlays-interface.d.ts +31 -1
- package/dist/types/utils/overlays.d.ts +1 -1
- package/dist/types/utils/sanitization/index.d.ts +58 -2
- package/dist/types/utils/select-option-render.d.ts +53 -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 +6010 -1352
- package/hydrate/index.mjs +6010 -1352
- package/package.json +9 -5
- package/components/p--JUspHvy.js +0 -4
- package/components/p-5bE_Wz4Y.js +0 -4
- package/components/p-B60hm8Qv.js +0 -4
- package/components/p-B9jFTlwE.js +0 -4
- package/components/p-BHrrc-3d.js +0 -4
- package/components/p-BIPPbW0M.js +0 -4
- package/components/p-BLmJ0zRm.js +0 -4
- package/components/p-BSEgsdFI.js +0 -4
- package/components/p-BTPfOxsU.js +0 -4
- package/components/p-BUYFy35a.js +0 -4
- package/components/p-BWEZufiK.js +0 -4
- package/components/p-Baq1XyAy.js +0 -4
- package/components/p-BirPFsRD.js +0 -4
- package/components/p-BjfgFSSR.js +0 -4
- package/components/p-BmVRXR1y.js +0 -4
- package/components/p-BnqQlm7c.js +0 -4
- package/components/p-BqpciLfi.js +0 -4
- package/components/p-BsPelv04.js +0 -4
- package/components/p-BsQPAqo9.js +0 -4
- package/components/p-Bz0dSlXZ.js +0 -4
- package/components/p-C1aScSTo.js +0 -4
- package/components/p-CHqRYvYm.js +0 -4
- package/components/p-CI3ncNZm.js +0 -4
- package/components/p-CIGNaXM1.js +0 -4
- package/components/p-CO7fmmxt.js +0 -4
- package/components/p-CRNiQiYf.js +0 -4
- package/components/p-CSZf8_j0.js +0 -4
- package/components/p-CU5rbWAW.js +0 -4
- package/components/p-C_xFdyXe.js +0 -4
- package/components/p-Cfx4M1Bn.js +0 -4
- package/components/p-Ciz1-FuE.js +0 -4
- package/components/p-CmR5uXej.js +0 -4
- package/components/p-CtWGkNnJ.js +0 -4
- package/components/p-D6Ynv7Xh.js +0 -4
- package/components/p-D7bSXQD3.js +0 -4
- package/components/p-DIE4pXMl.js +0 -4
- package/components/p-DJztqcrH.js +0 -4
- package/components/p-DNQI6d-L.js +0 -4
- package/components/p-DOFCbuQR.js +0 -4
- package/components/p-DiVJyqlX.js +0 -4
- package/components/p-DnL1c9_X.js +0 -4
- package/components/p-DqZAXv2t.js +0 -4
- package/components/p-Sh0ICmPV.js +0 -4
- package/components/p-W5nO8mX_.js +0 -4
- package/components/p-ZjP4CjeZ.js +0 -4
- package/components/p-ijF0iCrA.js +0 -4
- package/components/p-j5IxBIan.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/components/p-lE_JGpHD.js +0 -4
- package/components/p-nyXeHk23.js +0 -4
- package/components/p-rCa2eL0j.js +0 -4
- package/components/p-ryqmO0B-.js +0 -4
- package/dist/cjs/config-xninhj0J.js +0 -201
- package/dist/cjs/hardware-back-button-iUuF_76h.js +0 -121
- package/dist/cjs/index-DkNv4J_i.js +0 -10
- package/dist/cjs/ionic-global-B-cA6LkY.js +0 -151
- package/dist/cjs/validity-BpS37YFM.js +0 -19
- package/dist/esm/config-DQCONYYp.js +0 -195
- package/dist/esm/hardware-back-button-B93Gru0Y.js +0 -115
- package/dist/esm/index-ZjP4CjeZ.js +0 -7
- package/dist/esm/ionic-global-Cp_eT4sZ.js +0 -146
- package/dist/esm/validity-DJztqcrH.js +0 -17
- package/dist/ionic/p-01f81ea5.entry.js +0 -4
- package/dist/ionic/p-06c232a4.entry.js +0 -4
- package/dist/ionic/p-0dc33652.entry.js +0 -4
- package/dist/ionic/p-0fa9c382.entry.js +0 -4
- package/dist/ionic/p-20b1a044.entry.js +0 -4
- package/dist/ionic/p-21eb76d5.entry.js +0 -4
- package/dist/ionic/p-27d30585.entry.js +0 -4
- package/dist/ionic/p-2a05aa64.entry.js +0 -4
- package/dist/ionic/p-2bb2cb18.entry.js +0 -4
- package/dist/ionic/p-3353c229.entry.js +0 -4
- package/dist/ionic/p-34586ead.entry.js +0 -4
- package/dist/ionic/p-37e720da.entry.js +0 -4
- package/dist/ionic/p-390ca786.entry.js +0 -4
- package/dist/ionic/p-3a126bca.entry.js +0 -4
- package/dist/ionic/p-3a7d1e91.entry.js +0 -4
- package/dist/ionic/p-3ae5f277.entry.js +0 -4
- package/dist/ionic/p-4745f534.entry.js +0 -4
- package/dist/ionic/p-4858af1f.entry.js +0 -4
- package/dist/ionic/p-485fda23.entry.js +0 -4
- package/dist/ionic/p-4baa5b82.entry.js +0 -4
- package/dist/ionic/p-4e92a11f.entry.js +0 -4
- package/dist/ionic/p-5018dfc8.entry.js +0 -4
- package/dist/ionic/p-50e1194a.entry.js +0 -4
- package/dist/ionic/p-5d1da0a2.entry.js +0 -4
- package/dist/ionic/p-5eb8e86d.entry.js +0 -4
- package/dist/ionic/p-65ebdf1b.entry.js +0 -4
- package/dist/ionic/p-6ebdbebe.entry.js +0 -4
- package/dist/ionic/p-75dc25ba.entry.js +0 -4
- package/dist/ionic/p-84d5ce05.entry.js +0 -4
- package/dist/ionic/p-874b4bd8.entry.js +0 -4
- package/dist/ionic/p-8c8eee7d.entry.js +0 -4
- package/dist/ionic/p-8eb8ee76.entry.js +0 -4
- package/dist/ionic/p-8fce95d5.entry.js +0 -4
- package/dist/ionic/p-9a65ac7f.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-9f1103ce.entry.js +0 -4
- package/dist/ionic/p-9f9db3a2.entry.js +0 -4
- package/dist/ionic/p-BGqMS-oh.js +0 -4
- package/dist/ionic/p-BUFIpxKM.js +0 -4
- package/dist/ionic/p-BmVRXR1y.js +0 -4
- package/dist/ionic/p-CFlfIb2g.js +0 -4
- package/dist/ionic/p-CIGNaXM1.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-Cx3IXROA.js +0 -4
- package/dist/ionic/p-D-3ycHmd.js +0 -4
- package/dist/ionic/p-D4uTWt4-.js +0 -4
- package/dist/ionic/p-DC3RagnA.js +0 -4
- package/dist/ionic/p-DIuEbVLu.js +0 -4
- package/dist/ionic/p-DJztqcrH.js +0 -4
- package/dist/ionic/p-DSG2s2Eb.js +0 -4
- package/dist/ionic/p-DV3sJJW8.js +0 -4
- package/dist/ionic/p-Dfbt-q2k.js +0 -4
- package/dist/ionic/p-DiVJyqlX.js +0 -4
- package/dist/ionic/p-DoJvtrbw.js +0 -4
- package/dist/ionic/p-DzWaWHGc.js +0 -4
- package/dist/ionic/p-KjNvRoEp.js +0 -4
- package/dist/ionic/p-Nqf6uvGh.js +0 -4
- package/dist/ionic/p-SNAkTDfm.js +0 -4
- package/dist/ionic/p-ZjP4CjeZ.js +0 -4
- package/dist/ionic/p-a21add2f.entry.js +0 -4
- package/dist/ionic/p-a3bdcae6.entry.js +0 -4
- package/dist/ionic/p-b6a7397c.entry.js +0 -4
- package/dist/ionic/p-c0fb8edd.entry.js +0 -4
- package/dist/ionic/p-c38b648e.entry.js +0 -4
- package/dist/ionic/p-c4d8641b.entry.js +0 -4
- package/dist/ionic/p-c6e49f3f.entry.js +0 -4
- package/dist/ionic/p-ca2ab74d.entry.js +0 -4
- package/dist/ionic/p-d889ff6d.entry.js +0 -4
- package/dist/ionic/p-dfa8d673.entry.js +0 -4
- package/dist/ionic/p-e0be05c5.entry.js +0 -4
- package/dist/ionic/p-e6a4bb56.entry.js +0 -4
- package/dist/ionic/p-ec090e0a.entry.js +0 -4
- package/dist/ionic/p-ef4c3bee.entry.js +0 -4
- package/dist/ionic/p-f386f6ae.entry.js +0 -4
- package/dist/ionic/p-fabcce6c.entry.js +0 -4
- package/dist/ionic/p-mjKAFv89.js +0 -4
- package/dist/ionic/p-tcQvqkiX.js +0 -5
- package/dist/ionic/p-viFHDgRs.js +0 -4
- package/dist/ionic/p-xWb6fgfq.js +0 -4
- /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
|
@@ -3,24 +3,23 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index$
|
|
7
|
-
var index$
|
|
8
|
-
var frameworkDelegate = require('./framework-delegate-
|
|
9
|
-
var helpers = require('./helpers-
|
|
6
|
+
var index$2 = require('./index-GZU9YrFc.js');
|
|
7
|
+
var index$1 = require('./index-BxEZd5IE.js');
|
|
8
|
+
var frameworkDelegate = require('./framework-delegate-DC5nq_NN.js');
|
|
9
|
+
var helpers = require('./helpers-DiOgV5hw.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-CQSg1uCo.js');
|
|
12
|
+
var overlays = require('./overlays-CFGbPUmE.js');
|
|
13
|
+
var theme = require('./theme-IlOsGAz7.js');
|
|
14
|
+
var index$3 = require('./index-BaJ7_YbC.js');
|
|
15
|
+
var ionicGlobal = require('./ionic-global-QoUqobrQ.js');
|
|
16
|
+
var keyboard = require('./keyboard-faZBQysj.js');
|
|
17
|
+
var animation = require('./animation-B3xfVcDO.js');
|
|
18
18
|
var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
|
|
19
|
-
var index
|
|
20
|
-
|
|
21
|
-
require('./hardware-back-button-iUuF_76h.js');
|
|
19
|
+
var index = require('./index-CAvQ7Tka.js');
|
|
20
|
+
require('./focus-visible-BIj-I3-C.js');
|
|
22
21
|
require('./gesture-controller-dtqlP_q4.js');
|
|
23
|
-
require('./keyboard-
|
|
22
|
+
require('./keyboard-Bn0Ppim6.js');
|
|
24
23
|
|
|
25
24
|
var Style;
|
|
26
25
|
(function (Style) {
|
|
@@ -117,18 +116,116 @@ const getBackdropValueForSheet = (x, backdropBreakpoint) => {
|
|
|
117
116
|
*
|
|
118
117
|
*/
|
|
119
118
|
const setCardStatusBarDark = () => {
|
|
120
|
-
if (!
|
|
119
|
+
if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
|
|
121
120
|
return;
|
|
122
121
|
}
|
|
123
122
|
StatusBar.setStyle({ style: Style.Dark });
|
|
124
123
|
};
|
|
125
124
|
const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
|
|
126
|
-
if (!
|
|
125
|
+
if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
|
|
127
126
|
return;
|
|
128
127
|
}
|
|
129
128
|
StatusBar.setStyle({ style: defaultStyle });
|
|
130
129
|
};
|
|
131
130
|
|
|
131
|
+
const createSheetEnterAnimation = (opts) => {
|
|
132
|
+
const { currentBreakpoint, backdropBreakpoint, expandToScroll, staticBackdropOpacity } = opts;
|
|
133
|
+
/**
|
|
134
|
+
* If the backdropBreakpoint is undefined, then the backdrop
|
|
135
|
+
* should always fade in. If the backdropBreakpoint came before the
|
|
136
|
+
* current breakpoint, then the backdrop should be fading in.
|
|
137
|
+
*/
|
|
138
|
+
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
139
|
+
let initialBackdrop = '0';
|
|
140
|
+
if (staticBackdropOpacity) {
|
|
141
|
+
initialBackdrop = 'calc(var(--backdrop-opacity)';
|
|
142
|
+
}
|
|
143
|
+
else if (shouldShowBackdrop) {
|
|
144
|
+
initialBackdrop = `calc(var(--backdrop-opacity) * ${currentBreakpoint})`;
|
|
145
|
+
}
|
|
146
|
+
const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
147
|
+
if (shouldShowBackdrop) {
|
|
148
|
+
backdropAnimation
|
|
149
|
+
.beforeStyles({
|
|
150
|
+
'pointer-events': 'none',
|
|
151
|
+
})
|
|
152
|
+
.afterClearStyles(['pointer-events']);
|
|
153
|
+
}
|
|
154
|
+
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
155
|
+
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
156
|
+
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
157
|
+
]);
|
|
158
|
+
/**
|
|
159
|
+
* This allows the content to be scrollable at any breakpoint.
|
|
160
|
+
*/
|
|
161
|
+
const contentAnimation = !expandToScroll
|
|
162
|
+
? animation.createAnimation('contentAnimation').keyframes([
|
|
163
|
+
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
164
|
+
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
165
|
+
])
|
|
166
|
+
: undefined;
|
|
167
|
+
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
168
|
+
};
|
|
169
|
+
const createSheetLeaveAnimation = (opts) => {
|
|
170
|
+
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
171
|
+
/**
|
|
172
|
+
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
173
|
+
* is defined, so we need to account for that offset by figuring out
|
|
174
|
+
* what the current backdrop value should be.
|
|
175
|
+
*/
|
|
176
|
+
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
177
|
+
const defaultBackdrop = [
|
|
178
|
+
{ offset: 0, opacity: backdropValue },
|
|
179
|
+
{ offset: 1, opacity: 0 },
|
|
180
|
+
];
|
|
181
|
+
const customBackdrop = [
|
|
182
|
+
{ offset: 0, opacity: backdropValue },
|
|
183
|
+
{ offset: backdropBreakpoint, opacity: 0 },
|
|
184
|
+
{ offset: 1, opacity: 0 },
|
|
185
|
+
];
|
|
186
|
+
const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
187
|
+
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
188
|
+
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
189
|
+
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
190
|
+
]);
|
|
191
|
+
return { wrapperAnimation, backdropAnimation };
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
const createEnterAnimation$2 = () => {
|
|
195
|
+
const backdropAnimation = animation.createAnimation()
|
|
196
|
+
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
197
|
+
.beforeStyles({
|
|
198
|
+
'pointer-events': 'none',
|
|
199
|
+
})
|
|
200
|
+
.afterClearStyles(['pointer-events']);
|
|
201
|
+
const wrapperAnimation = animation.createAnimation().keyframes([
|
|
202
|
+
{ offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
|
|
203
|
+
{ offset: 1, opacity: 1, transform: `translateY(0px)` },
|
|
204
|
+
]);
|
|
205
|
+
return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* Ionic Modal Enter Animation
|
|
209
|
+
*/
|
|
210
|
+
const ionicEnterAnimation = (baseEl, opts) => {
|
|
211
|
+
const { currentBreakpoint, expandToScroll } = opts;
|
|
212
|
+
const root = helpers.getElementRoot(baseEl);
|
|
213
|
+
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$2();
|
|
214
|
+
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
215
|
+
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
216
|
+
// The content animation is only added if scrolling is enabled for
|
|
217
|
+
// all the breakpoints.
|
|
218
|
+
!expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
219
|
+
backdropAnimation.duration(300).easing('ease-out');
|
|
220
|
+
wrapperAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
|
|
221
|
+
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
|
|
222
|
+
const baseAnimation = animation.createAnimation().addElement(baseEl).addAnimation([backdropAnimation, wrapperAnimation]);
|
|
223
|
+
if (contentAnimation) {
|
|
224
|
+
baseAnimation.addAnimation(contentAnimation);
|
|
225
|
+
}
|
|
226
|
+
return baseAnimation;
|
|
227
|
+
};
|
|
228
|
+
|
|
132
229
|
const handleCanDismiss = async (el, animation) => {
|
|
133
230
|
/**
|
|
134
231
|
* If canDismiss is not a function
|
|
@@ -264,7 +361,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
264
361
|
let initialScrollY = true;
|
|
265
362
|
let lastStep = 0;
|
|
266
363
|
const getScrollY = () => {
|
|
267
|
-
if (contentEl && index$
|
|
364
|
+
if (contentEl && index$1.isIonContent(contentEl)) {
|
|
268
365
|
return contentEl.scrollY;
|
|
269
366
|
/**
|
|
270
367
|
* Custom scroll containers are intended to be
|
|
@@ -296,7 +393,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
296
393
|
* swipe again. The target content will not
|
|
297
394
|
* be the same between swipes.
|
|
298
395
|
*/
|
|
299
|
-
contentEl = index$
|
|
396
|
+
contentEl = index$1.findClosestIonContent(target);
|
|
300
397
|
if (contentEl) {
|
|
301
398
|
/**
|
|
302
399
|
* The card should never swipe to close
|
|
@@ -312,7 +409,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
312
409
|
* operation, and getScrollElement is
|
|
313
410
|
* asynchronous.
|
|
314
411
|
*/
|
|
315
|
-
if (index$
|
|
412
|
+
if (index$1.isIonContent(contentEl)) {
|
|
316
413
|
const root = helpers.getElementRoot(contentEl);
|
|
317
414
|
scrollEl = root.querySelector('.inner-scroll');
|
|
318
415
|
}
|
|
@@ -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$1.disableContentScrollY(contentEl);
|
|
367
464
|
}
|
|
368
465
|
animation.progressStart(true, isOpen ? 1 : 0);
|
|
369
466
|
onDragStart();
|
|
@@ -377,7 +474,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
377
474
|
* happen at the same time as the gesture.
|
|
378
475
|
*/
|
|
379
476
|
if (deltaY > 0 && contentEl) {
|
|
380
|
-
index$
|
|
477
|
+
index$1.disableContentScrollY(contentEl);
|
|
381
478
|
}
|
|
382
479
|
/**
|
|
383
480
|
* If we are swiping on the content
|
|
@@ -472,7 +569,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
472
569
|
isOpen = shouldComplete;
|
|
473
570
|
gesture.enable(false);
|
|
474
571
|
if (contentEl) {
|
|
475
|
-
index$
|
|
572
|
+
index$1.resetContentScrollY(contentEl, initialScrollY);
|
|
476
573
|
}
|
|
477
574
|
animation
|
|
478
575
|
.onFinish(() => {
|
|
@@ -507,7 +604,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
507
604
|
};
|
|
508
605
|
onDragEnd(eventDetail);
|
|
509
606
|
};
|
|
510
|
-
const gesture = index
|
|
607
|
+
const gesture = index.createGesture({
|
|
511
608
|
el,
|
|
512
609
|
gestureName: 'modalSwipeToClose',
|
|
513
610
|
gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
|
|
@@ -562,63 +659,6 @@ const calculateProgress = (el, deltaY) => {
|
|
|
562
659
|
return Math.max(0, Math.min(1, roundedProgress));
|
|
563
660
|
};
|
|
564
661
|
|
|
565
|
-
const createSheetEnterAnimation = (opts) => {
|
|
566
|
-
const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
|
|
567
|
-
/**
|
|
568
|
-
* If the backdropBreakpoint is undefined, then the backdrop
|
|
569
|
-
* should always fade in. If the backdropBreakpoint came before the
|
|
570
|
-
* current breakpoint, then the backdrop should be fading in.
|
|
571
|
-
*/
|
|
572
|
-
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
573
|
-
const initialBackdrop = shouldShowBackdrop ? `calc(var(--backdrop-opacity) * ${currentBreakpoint})` : '0';
|
|
574
|
-
const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
575
|
-
if (shouldShowBackdrop) {
|
|
576
|
-
backdropAnimation
|
|
577
|
-
.beforeStyles({
|
|
578
|
-
'pointer-events': 'none',
|
|
579
|
-
})
|
|
580
|
-
.afterClearStyles(['pointer-events']);
|
|
581
|
-
}
|
|
582
|
-
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
583
|
-
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
584
|
-
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
585
|
-
]);
|
|
586
|
-
/**
|
|
587
|
-
* This allows the content to be scrollable at any breakpoint.
|
|
588
|
-
*/
|
|
589
|
-
const contentAnimation = !expandToScroll
|
|
590
|
-
? animation.createAnimation('contentAnimation').keyframes([
|
|
591
|
-
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
592
|
-
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
593
|
-
])
|
|
594
|
-
: undefined;
|
|
595
|
-
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
596
|
-
};
|
|
597
|
-
const createSheetLeaveAnimation = (opts) => {
|
|
598
|
-
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
599
|
-
/**
|
|
600
|
-
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
601
|
-
* is defined, so we need to account for that offset by figuring out
|
|
602
|
-
* what the current backdrop value should be.
|
|
603
|
-
*/
|
|
604
|
-
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
605
|
-
const defaultBackdrop = [
|
|
606
|
-
{ offset: 0, opacity: backdropValue },
|
|
607
|
-
{ offset: 1, opacity: 0 },
|
|
608
|
-
];
|
|
609
|
-
const customBackdrop = [
|
|
610
|
-
{ offset: 0, opacity: backdropValue },
|
|
611
|
-
{ offset: backdropBreakpoint, opacity: 0 },
|
|
612
|
-
{ offset: 1, opacity: 0 },
|
|
613
|
-
];
|
|
614
|
-
const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
615
|
-
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
616
|
-
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
617
|
-
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
618
|
-
]);
|
|
619
|
-
return { wrapperAnimation, backdropAnimation };
|
|
620
|
-
};
|
|
621
|
-
|
|
622
662
|
const createEnterAnimation$1 = () => {
|
|
623
663
|
const backdropAnimation = animation.createAnimation()
|
|
624
664
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
@@ -1009,16 +1049,16 @@ const mdLeaveAnimation = (baseEl, opts) => {
|
|
|
1009
1049
|
return baseAnimation;
|
|
1010
1050
|
};
|
|
1011
1051
|
|
|
1012
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
|
|
1052
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, usePhysicsBasedGesture, onDragStart, onDragMove, onDragEnd) => {
|
|
1013
1053
|
// Defaults for the sheet swipe animation
|
|
1014
1054
|
const defaultBackdrop = [
|
|
1015
1055
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1016
|
-
{ offset: 1, opacity: 0.01 },
|
|
1056
|
+
{ offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0.01 },
|
|
1017
1057
|
];
|
|
1018
1058
|
const customBackdrop = [
|
|
1019
1059
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1020
|
-
{ offset: 1 - backdropBreakpoint, opacity: 0 },
|
|
1021
|
-
{ offset: 1, opacity: 0 },
|
|
1060
|
+
{ offset: 1 - backdropBreakpoint, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
|
|
1061
|
+
{ offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
|
|
1022
1062
|
];
|
|
1023
1063
|
const SheetDefaults = {
|
|
1024
1064
|
WRAPPER_KEYFRAMES: [
|
|
@@ -1199,14 +1239,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1199
1239
|
* For example, when using ion-nav within a modal it is possible to swipe, push a view,
|
|
1200
1240
|
* and then swipe again. The target content will not be the same between swipes.
|
|
1201
1241
|
*/
|
|
1202
|
-
const contentEl = index$
|
|
1242
|
+
const contentEl = index$1.findClosestIonContent(detail.event.target);
|
|
1203
1243
|
currentBreakpoint = getCurrentBreakpoint();
|
|
1204
1244
|
/**
|
|
1205
1245
|
* If `expandToScroll` is disabled, we should not allow the swipe gesture
|
|
1206
1246
|
* to start if the content is not scrolled to the top.
|
|
1207
1247
|
*/
|
|
1208
1248
|
if (!expandToScroll && contentEl) {
|
|
1209
|
-
const scrollEl = index$
|
|
1249
|
+
const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
1210
1250
|
return scrollEl.scrollTop === 0;
|
|
1211
1251
|
}
|
|
1212
1252
|
if (currentBreakpoint === 1 && contentEl) {
|
|
@@ -1219,7 +1259,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1219
1259
|
* Note 2: Do not use getScrollElement here because we need this to be a synchronous
|
|
1220
1260
|
* operation, and getScrollElement is asynchronous.
|
|
1221
1261
|
*/
|
|
1222
|
-
const scrollEl = index$
|
|
1262
|
+
const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
1223
1263
|
const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
|
|
1224
1264
|
return !hasRefresherInContent && scrollEl.scrollTop === 0;
|
|
1225
1265
|
}
|
|
@@ -1252,9 +1292,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1252
1292
|
* which would impact performance significantly.
|
|
1253
1293
|
*/
|
|
1254
1294
|
if (!expandToScroll) {
|
|
1255
|
-
const targetEl = index$
|
|
1295
|
+
const targetEl = index$1.findClosestIonContent(detail.event.target);
|
|
1256
1296
|
cachedScrollEl =
|
|
1257
|
-
targetEl && index$
|
|
1297
|
+
targetEl && index$1.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
|
|
1258
1298
|
}
|
|
1259
1299
|
/**
|
|
1260
1300
|
* If expandToScroll is disabled, we need to swap
|
|
@@ -1348,7 +1388,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1348
1388
|
: step;
|
|
1349
1389
|
offset = helpers.clamp(0.0001, processedStep, maxStep);
|
|
1350
1390
|
animation.progressStep(offset);
|
|
1351
|
-
const snapBreakpoint =
|
|
1391
|
+
const snapBreakpoint = usePhysicsBasedGesture
|
|
1392
|
+
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1393
|
+
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1352
1394
|
const eventDetail = {
|
|
1353
1395
|
currentY: detail.currentY,
|
|
1354
1396
|
deltaY: detail.deltaY,
|
|
@@ -1359,7 +1401,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1359
1401
|
onDragMove(eventDetail);
|
|
1360
1402
|
};
|
|
1361
1403
|
const onEnd = (detail) => {
|
|
1362
|
-
const snapBreakpoint =
|
|
1404
|
+
const snapBreakpoint = usePhysicsBasedGesture
|
|
1405
|
+
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1406
|
+
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1363
1407
|
const eventDetail = {
|
|
1364
1408
|
currentY: detail.currentY,
|
|
1365
1409
|
deltaY: detail.deltaY,
|
|
@@ -1406,6 +1450,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1406
1450
|
*/
|
|
1407
1451
|
const shouldPreventDismiss = canDismiss && breakpoint === 0;
|
|
1408
1452
|
const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
|
|
1453
|
+
/**
|
|
1454
|
+
* Detect snap-back behavior: when the snap target is the same as the current breakpoint,
|
|
1455
|
+
* the user released before crossing the threshold to a new breakpoint.
|
|
1456
|
+
* Apply different timing and easing for snap-back vs. snap-to-new.
|
|
1457
|
+
*/
|
|
1458
|
+
const isSnapBack = snapToBreakpoint === currentBreakpoint;
|
|
1459
|
+
const duration = usePhysicsBasedGesture ? (isSnapBack ? 300 : 400) : 500;
|
|
1460
|
+
const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
|
|
1409
1461
|
const shouldRemainOpen = snapToBreakpoint !== 0;
|
|
1410
1462
|
currentBreakpoint = 0;
|
|
1411
1463
|
/**
|
|
@@ -1420,11 +1472,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1420
1472
|
backdropAnimation.keyframes([
|
|
1421
1473
|
{
|
|
1422
1474
|
offset: 0,
|
|
1423
|
-
opacity:
|
|
1475
|
+
opacity: usePhysicsBasedGesture
|
|
1476
|
+
? 'var(--backdrop-opacity)'
|
|
1477
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
|
|
1424
1478
|
},
|
|
1425
1479
|
{
|
|
1426
1480
|
offset: 1,
|
|
1427
|
-
opacity:
|
|
1481
|
+
opacity: usePhysicsBasedGesture
|
|
1482
|
+
? 'var(--backdrop-opacity)'
|
|
1483
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
1428
1484
|
},
|
|
1429
1485
|
]);
|
|
1430
1486
|
if (contentAnimation) {
|
|
@@ -1442,6 +1498,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1442
1498
|
}
|
|
1443
1499
|
animation.progressStep(0);
|
|
1444
1500
|
}
|
|
1501
|
+
/**
|
|
1502
|
+
* Apply the appropriate easing curve for this snap behavior.
|
|
1503
|
+
*/
|
|
1504
|
+
if (usePhysicsBasedGesture) {
|
|
1505
|
+
animation.easing(easing);
|
|
1506
|
+
}
|
|
1445
1507
|
/**
|
|
1446
1508
|
* Gesture should remain disabled until the
|
|
1447
1509
|
* snapping animation completes.
|
|
@@ -1531,7 +1593,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1531
1593
|
* be added every time onEnd runs.
|
|
1532
1594
|
*/
|
|
1533
1595
|
}, { oneTimeCallback: true })
|
|
1534
|
-
.progressEnd(1, 0, animated ?
|
|
1596
|
+
.progressEnd(1, 0, animated ? duration : 0);
|
|
1535
1597
|
});
|
|
1536
1598
|
};
|
|
1537
1599
|
/**
|
|
@@ -1542,7 +1604,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1542
1604
|
* @param deltaY The change in Y position since the gesture started.
|
|
1543
1605
|
* @returns The snap breakpoint value.
|
|
1544
1606
|
*/
|
|
1545
|
-
const
|
|
1607
|
+
const calculatePositionSnapBreakpoint = (deltaY) => {
|
|
1546
1608
|
/**
|
|
1547
1609
|
* Calculates the real-time vertical position of the modal.
|
|
1548
1610
|
* We combine the wrapper's current bounding box position with the
|
|
@@ -1562,6 +1624,50 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1562
1624
|
});
|
|
1563
1625
|
return snapBreakpoint;
|
|
1564
1626
|
};
|
|
1627
|
+
/**
|
|
1628
|
+
* Calculates the snap breakpoint using velocity-based logic.
|
|
1629
|
+
* This provides a more intuitive and responsive sheet behavior for the Ionic theme.
|
|
1630
|
+
*
|
|
1631
|
+
* Rules:
|
|
1632
|
+
* 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
|
|
1633
|
+
* 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
|
|
1634
|
+
* 3. If dragged 40% below current snap point without fast upward flick, dismisses
|
|
1635
|
+
* 4. Otherwise, falls back to position-based snap (closest breakpoint)
|
|
1636
|
+
*
|
|
1637
|
+
* @param deltaY The change in Y position since gesture started
|
|
1638
|
+
* @param velocityY The velocity in pixels per millisecond
|
|
1639
|
+
* @param currentY The current Y position of the gesture
|
|
1640
|
+
* @returns The snap breakpoint value
|
|
1641
|
+
*/
|
|
1642
|
+
const calculateVelocitySnapBreakpoint = (deltaY, velocityY, currentY) => {
|
|
1643
|
+
// Convert velocity from px/ms to px/s for easier threshold comparison
|
|
1644
|
+
const velocityYPerSecond = velocityY * 1000;
|
|
1645
|
+
// Calculate current progress (0 = fully closed, 1 = fully expanded)
|
|
1646
|
+
const currentProgress = calculateProgress(currentY);
|
|
1647
|
+
// Rule 1: Fast downward flick always dismisses
|
|
1648
|
+
if (velocityYPerSecond > 500) {
|
|
1649
|
+
return minBreakpoint;
|
|
1650
|
+
}
|
|
1651
|
+
// Rule 2: Fast upward flick moves to next breakpoint above
|
|
1652
|
+
if (velocityYPerSecond < -400) {
|
|
1653
|
+
// Find next breakpoint above current position
|
|
1654
|
+
const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
|
|
1655
|
+
// If no breakpoint above, stay at max breakpoint
|
|
1656
|
+
return nextBreakpoint !== null && nextBreakpoint !== void 0 ? nextBreakpoint : maxBreakpoint;
|
|
1657
|
+
}
|
|
1658
|
+
// Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
|
|
1659
|
+
if (minBreakpoint === 0 && currentBreakpoint > 0) {
|
|
1660
|
+
// Calculate how far we've moved below the current snap point
|
|
1661
|
+
const distanceBelowSnap = currentBreakpoint - currentProgress;
|
|
1662
|
+
const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
|
|
1663
|
+
// If dragged more than 40% below and not flicking up, dismiss
|
|
1664
|
+
if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
|
|
1665
|
+
return 0;
|
|
1666
|
+
}
|
|
1667
|
+
}
|
|
1668
|
+
// Rule 4: Fallback to position-based snap (existing logic)
|
|
1669
|
+
return calculatePositionSnapBreakpoint(deltaY);
|
|
1670
|
+
};
|
|
1565
1671
|
/**
|
|
1566
1672
|
* Calculates the progress of the swipe gesture.
|
|
1567
1673
|
*
|
|
@@ -1632,7 +1738,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1632
1738
|
*/
|
|
1633
1739
|
return viewportBottom - activeHeight;
|
|
1634
1740
|
};
|
|
1635
|
-
const gesture = index
|
|
1741
|
+
const gesture = index.createGesture({
|
|
1636
1742
|
el: wrapperEl,
|
|
1637
1743
|
gestureName: 'modalSheet',
|
|
1638
1744
|
gesturePriority: 40,
|
|
@@ -1678,9 +1784,9 @@ let cacheInvalidationScheduled = false;
|
|
|
1678
1784
|
* Matches: @media (min-width: 768px) and (min-height: 600px)
|
|
1679
1785
|
*/
|
|
1680
1786
|
const isCenteredDialogViewport = () => {
|
|
1681
|
-
if (!
|
|
1787
|
+
if (!ionicGlobal.win)
|
|
1682
1788
|
return false;
|
|
1683
|
-
return
|
|
1789
|
+
return ionicGlobal.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
|
|
1684
1790
|
.matches;
|
|
1685
1791
|
};
|
|
1686
1792
|
/**
|
|
@@ -1695,7 +1801,7 @@ const getRootSafeAreaTop = () => {
|
|
|
1695
1801
|
if (cachedRootSafeAreaTop !== null) {
|
|
1696
1802
|
return cachedRootSafeAreaTop;
|
|
1697
1803
|
}
|
|
1698
|
-
const doc =
|
|
1804
|
+
const doc = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.document;
|
|
1699
1805
|
if (!(doc === null || doc === void 0 ? void 0 : doc.body)) {
|
|
1700
1806
|
return 0;
|
|
1701
1807
|
}
|
|
@@ -1801,8 +1907,8 @@ const getInitialSafeAreaConfig = (context) => {
|
|
|
1801
1907
|
const getPositionBasedSafeAreaConfig = (wrapperEl) => {
|
|
1802
1908
|
var _a, _b;
|
|
1803
1909
|
const rect = wrapperEl.getBoundingClientRect();
|
|
1804
|
-
const vh = (_a =
|
|
1805
|
-
const vw = (_b =
|
|
1910
|
+
const vh = (_a = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
|
|
1911
|
+
const vw = (_b = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerWidth) !== null && _b !== void 0 ? _b : 0;
|
|
1806
1912
|
// Only apply safe-area to sides where modal overlaps with screen edge
|
|
1807
1913
|
return {
|
|
1808
1914
|
top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
|
|
@@ -1835,26 +1941,28 @@ const clearSafeAreaOverrides = (hostEl) => {
|
|
|
1835
1941
|
hostEl.style.removeProperty('--ion-safe-area-right');
|
|
1836
1942
|
};
|
|
1837
1943
|
|
|
1838
|
-
const
|
|
1944
|
+
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)))}`;
|
|
1839
1945
|
|
|
1840
|
-
const
|
|
1946
|
+
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}`;
|
|
1947
|
+
|
|
1948
|
+
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}`;
|
|
1841
1949
|
|
|
1842
1950
|
const Modal = class {
|
|
1843
1951
|
constructor(hostRef) {
|
|
1844
|
-
index$
|
|
1845
|
-
this.didPresent = index$
|
|
1846
|
-
this.willPresent = index$
|
|
1847
|
-
this.willDismiss = index$
|
|
1848
|
-
this.didDismiss = index$
|
|
1849
|
-
this.ionBreakpointDidChange = index$
|
|
1850
|
-
this.didPresentShorthand = index$
|
|
1851
|
-
this.willPresentShorthand = index$
|
|
1852
|
-
this.willDismissShorthand = index$
|
|
1853
|
-
this.didDismissShorthand = index$
|
|
1854
|
-
this.ionMount = index$
|
|
1855
|
-
this.ionDragStart = index$
|
|
1856
|
-
this.ionDragMove = index$
|
|
1857
|
-
this.ionDragEnd = index$
|
|
1952
|
+
index$2.registerInstance(this, hostRef);
|
|
1953
|
+
this.didPresent = index$2.createEvent(this, "ionModalDidPresent", 7);
|
|
1954
|
+
this.willPresent = index$2.createEvent(this, "ionModalWillPresent", 7);
|
|
1955
|
+
this.willDismiss = index$2.createEvent(this, "ionModalWillDismiss", 7);
|
|
1956
|
+
this.didDismiss = index$2.createEvent(this, "ionModalDidDismiss", 7);
|
|
1957
|
+
this.ionBreakpointDidChange = index$2.createEvent(this, "ionBreakpointDidChange", 7);
|
|
1958
|
+
this.didPresentShorthand = index$2.createEvent(this, "didPresent", 7);
|
|
1959
|
+
this.willPresentShorthand = index$2.createEvent(this, "willPresent", 7);
|
|
1960
|
+
this.willDismissShorthand = index$2.createEvent(this, "willDismiss", 7);
|
|
1961
|
+
this.didDismissShorthand = index$2.createEvent(this, "didDismiss", 7);
|
|
1962
|
+
this.ionMount = index$2.createEvent(this, "ionMount", 7);
|
|
1963
|
+
this.ionDragStart = index$2.createEvent(this, "ionDragStart", 7);
|
|
1964
|
+
this.ionDragMove = index$2.createEvent(this, "ionDragMove", 7);
|
|
1965
|
+
this.ionDragEnd = index$2.createEvent(this, "ionDragEnd", 7);
|
|
1858
1966
|
this.lockController = lockController.createLockController();
|
|
1859
1967
|
this.triggerController = overlays.createTriggerController();
|
|
1860
1968
|
this.coreDelegate = frameworkDelegate.CoreDelegate();
|
|
@@ -2141,7 +2249,7 @@ const Modal = class {
|
|
|
2141
2249
|
this.currentBreakpoint = this.initialBreakpoint;
|
|
2142
2250
|
}
|
|
2143
2251
|
if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
|
|
2144
|
-
index$
|
|
2252
|
+
index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
|
|
2145
2253
|
}
|
|
2146
2254
|
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
2147
2255
|
overlays.setOverlayId(this.el);
|
|
@@ -2241,7 +2349,7 @@ const Modal = class {
|
|
|
2241
2349
|
* get the transition incorrect.
|
|
2242
2350
|
*/
|
|
2243
2351
|
if (helpers.hasLazyBuild(el)) {
|
|
2244
|
-
await index$
|
|
2352
|
+
await index$3.deepReady(this.usersElement);
|
|
2245
2353
|
/**
|
|
2246
2354
|
* If keepContentsMounted="true" then the
|
|
2247
2355
|
* JS Framework has already mounted the inner
|
|
@@ -2252,9 +2360,9 @@ const Modal = class {
|
|
|
2252
2360
|
*/
|
|
2253
2361
|
}
|
|
2254
2362
|
else if (!this.keepContentsMounted) {
|
|
2255
|
-
await index$
|
|
2363
|
+
await index$3.waitForMount();
|
|
2256
2364
|
}
|
|
2257
|
-
index$
|
|
2365
|
+
index$2.writeTask(() => this.el.classList.add('show-modal'));
|
|
2258
2366
|
// Recalculate isSheetModal before safe-area setup because framework
|
|
2259
2367
|
// bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
|
|
2260
2368
|
this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
|
|
@@ -2271,11 +2379,12 @@ const Modal = class {
|
|
|
2271
2379
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
2272
2380
|
setCardStatusBarDark();
|
|
2273
2381
|
}
|
|
2274
|
-
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
2382
|
+
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
|
|
2275
2383
|
presentingEl: presentingElement,
|
|
2276
2384
|
currentBreakpoint: this.initialBreakpoint,
|
|
2277
2385
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
2278
2386
|
expandToScroll: this.expandToScroll,
|
|
2387
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2279
2388
|
});
|
|
2280
2389
|
// Update safe-area based on actual position after animation
|
|
2281
2390
|
this.updateSafeAreaOverrides();
|
|
@@ -2333,14 +2442,14 @@ const Modal = class {
|
|
|
2333
2442
|
// All of the elements needed for the swipe gesture
|
|
2334
2443
|
// should be in the DOM and referenced by now, except
|
|
2335
2444
|
// for the presenting el
|
|
2336
|
-
const animationBuilder = this.leaveAnimation || index$
|
|
2445
|
+
const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
|
|
2337
2446
|
const ani = (this.animation = animationBuilder(el, {
|
|
2338
2447
|
presentingEl: this.presentingElement,
|
|
2339
2448
|
expandToScroll: this.expandToScroll,
|
|
2340
2449
|
}));
|
|
2341
|
-
const contentEl = index$
|
|
2450
|
+
const contentEl = index$1.findIonContent(el);
|
|
2342
2451
|
if (!contentEl) {
|
|
2343
|
-
index$
|
|
2452
|
+
index$1.printIonContentErrorMsg(el);
|
|
2344
2453
|
return;
|
|
2345
2454
|
}
|
|
2346
2455
|
const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
|
|
@@ -2352,12 +2461,13 @@ const Modal = class {
|
|
|
2352
2461
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
2353
2462
|
return;
|
|
2354
2463
|
}
|
|
2355
|
-
const animationBuilder = this.enterAnimation || index$
|
|
2464
|
+
const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
|
|
2356
2465
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
2357
2466
|
presentingEl: this.presentingElement,
|
|
2358
2467
|
currentBreakpoint: initialBreakpoint,
|
|
2359
2468
|
backdropBreakpoint,
|
|
2360
2469
|
expandToScroll: this.expandToScroll,
|
|
2470
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2361
2471
|
}));
|
|
2362
2472
|
ani.progressStart(true, 1);
|
|
2363
2473
|
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
@@ -2365,7 +2475,7 @@ const Modal = class {
|
|
|
2365
2475
|
this.currentBreakpoint = breakpoint;
|
|
2366
2476
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
2367
2477
|
}
|
|
2368
|
-
}, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2478
|
+
}, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2369
2479
|
this.gesture = gesture;
|
|
2370
2480
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
2371
2481
|
this.gesture.enable(true);
|
|
@@ -2551,7 +2661,7 @@ const Modal = class {
|
|
|
2551
2661
|
if (dismissed) {
|
|
2552
2662
|
const { delegate } = this.getDelegate();
|
|
2553
2663
|
await frameworkDelegate.detachComponent(delegate, this.usersElement);
|
|
2554
|
-
index$
|
|
2664
|
+
index$2.writeTask(() => this.el.classList.remove('show-modal'));
|
|
2555
2665
|
if (this.animation) {
|
|
2556
2666
|
this.animation.destroy();
|
|
2557
2667
|
}
|
|
@@ -2588,11 +2698,11 @@ const Modal = class {
|
|
|
2588
2698
|
*/
|
|
2589
2699
|
async setCurrentBreakpoint(breakpoint) {
|
|
2590
2700
|
if (!this.isSheetModal) {
|
|
2591
|
-
index$
|
|
2701
|
+
index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
|
|
2592
2702
|
return;
|
|
2593
2703
|
}
|
|
2594
2704
|
if (!this.breakpoints.includes(breakpoint)) {
|
|
2595
|
-
index$
|
|
2705
|
+
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.`);
|
|
2596
2706
|
return;
|
|
2597
2707
|
}
|
|
2598
2708
|
const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
|
|
@@ -2637,6 +2747,18 @@ const Modal = class {
|
|
|
2637
2747
|
await this.setCurrentBreakpoint(nextBreakpoint);
|
|
2638
2748
|
return true;
|
|
2639
2749
|
}
|
|
2750
|
+
getShape() {
|
|
2751
|
+
const theme = ionicGlobal.getIonTheme(this);
|
|
2752
|
+
const { shape } = this;
|
|
2753
|
+
// TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
|
|
2754
|
+
if (theme !== 'ionic') {
|
|
2755
|
+
return undefined;
|
|
2756
|
+
}
|
|
2757
|
+
if (shape === undefined) {
|
|
2758
|
+
return 'round';
|
|
2759
|
+
}
|
|
2760
|
+
return shape;
|
|
2761
|
+
}
|
|
2640
2762
|
initViewTransitionListener() {
|
|
2641
2763
|
// Only enable for iOS card modals when no custom animations are provided
|
|
2642
2764
|
if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
@@ -2970,15 +3092,16 @@ const Modal = class {
|
|
|
2970
3092
|
render() {
|
|
2971
3093
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
2972
3094
|
const showHandle = handle !== false && isSheetModal;
|
|
2973
|
-
const
|
|
2974
|
-
const isCardModal = presentingElement !== undefined &&
|
|
3095
|
+
const theme$1 = ionicGlobal.getIonTheme(this);
|
|
3096
|
+
const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
|
|
2975
3097
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
3098
|
+
const shape = this.getShape();
|
|
2976
3099
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
2977
|
-
return (index$
|
|
3100
|
+
return (index$2.h(index$2.Host, Object.assign({ key: '942426c1823a35d3862650f04bccba188ba06f20', "no-router": true,
|
|
2978
3101
|
// Allow the modal to be navigable when the handle is focusable
|
|
2979
3102
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
2980
3103
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
2981
|
-
}, class: Object.assign({ [
|
|
3104
|
+
}, class: Object.assign({ [theme$1]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$2.h("ion-backdrop", { key: 'fb572cbba4efc0f06dad9caa6a8d62a2cb354244', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme$1 === 'ios' && index$2.h("div", { key: '43f414dab4d290afbb936350e41ce14fdf18d22f', class: "modal-shadow" }), index$2.h("div", Object.assign({ key: '020e40f58d73119fc96dd341830d20a61b1f336a',
|
|
2982
3105
|
/*
|
|
2983
3106
|
role and aria-modal must be used on the
|
|
2984
3107
|
same element. They must also be set inside the
|
|
@@ -2991,11 +3114,11 @@ const Modal = class {
|
|
|
2991
3114
|
without the tabindex focus() would be a no-op and screen readers
|
|
2992
3115
|
may not properly announce the dialog and its content when it opens.
|
|
2993
3116
|
*/
|
|
2994
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$
|
|
3117
|
+
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: '7f7fef1fb41f6fdd68080ce46ae938fa08757c34', class: "modal-handle",
|
|
2995
3118
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
2996
|
-
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$
|
|
3119
|
+
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: 'e6e1fe6fa25a6dc2f2c2c0f7a33f24a6d603c875', onSlotchange: this.onSlotChange }))));
|
|
2997
3120
|
}
|
|
2998
|
-
get el() { return index$
|
|
3121
|
+
get el() { return index$2.getElement(this); }
|
|
2999
3122
|
static get watchers() { return {
|
|
3000
3123
|
"isOpen": [{
|
|
3001
3124
|
"onIsOpenChange": 0
|
|
@@ -3015,6 +3138,7 @@ const LIFECYCLE_MAP = {
|
|
|
3015
3138
|
ionModalDidDismiss: 'ionViewDidLeave',
|
|
3016
3139
|
};
|
|
3017
3140
|
Modal.style = {
|
|
3141
|
+
ionic: modalIonicCss(),
|
|
3018
3142
|
ios: modalIosCss(),
|
|
3019
3143
|
md: modalMdCss()
|
|
3020
3144
|
};
|