@ionic/core 8.8.18 → 8.8.19-dev.11786610762.137bbb21
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-6hUZIMBp.js +4 -0
- package/components/p-9mfpAwJh.js +4 -0
- package/components/{p-BkKAANMJ.js → p-B2SvA6NE.js} +1 -1
- package/components/p-B2aAAEfp.js +4 -0
- package/components/p-B2lpqDWK.js +4 -0
- package/components/p-BDoEcs72.js +4 -0
- package/components/p-BDqjX7Z_.js +4 -0
- package/components/{p-Cf2jSDS8.js → p-BE21dB_a.js} +1 -1
- package/components/p-BFpXpzD-.js +4 -0
- package/components/{p-cyNmxje6.js → p-BUNIyvqe.js} +1 -1
- package/components/p-BYSs-jZz.js +4 -0
- package/{dist/ionic/p-mjKAFv89.js → components/p-BYoGvMgh.js} +1 -1
- package/components/p-BYrCPOBM.js +4 -0
- package/components/{p-DqLB8yFQ.js → p-BZwQa9ey.js} +1 -1
- package/components/p-BbVhJs-a.js +4 -0
- package/components/p-BhRXIcSN.js +4 -0
- package/components/p-BjW8SOqw.js +4 -0
- package/components/p-BsiHrVPa.js +4 -0
- package/components/p-BwKpO3Is.js +4 -0
- package/components/p-Bz8jnuiy.js +4 -0
- package/components/p-C-Ea1l5K.js +4 -0
- package/components/p-C3X10Pc6.js +4 -0
- package/{dist/ionic/p-DC3RagnA.js → components/p-CA4M5WkT.js} +1 -1
- package/components/p-CH6jbAEI.js +4 -0
- package/components/p-CJE5t2qs.js +4 -0
- package/components/p-CODBQrPj.js +4 -0
- package/components/p-CUbb1HkU.js +4 -0
- package/components/p-CVYFPBs-.js +4 -0
- package/components/p-CVoLDZ7z.js +4 -0
- package/components/p-CZrORZXS.js +4 -0
- package/components/p-Cc3oC60a.js +4 -0
- package/components/{p-ChIZKXUu.js → p-Ch8jco3x.js} +1 -1
- package/components/p-CmoUesXp.js +4 -0
- package/components/{p-C_hpsif8.js → p-CpHPq11n.js} +1 -1
- package/components/p-CyNW8ypn.js +4 -0
- package/components/{p-D7uN07a3.js → p-CzlL9T_X.js} +1 -1
- package/components/p-CzxyxYID.js +4 -0
- package/components/p-D0Iqw6OZ.js +4 -0
- package/components/p-D0LT3Z3i.js +4 -0
- package/components/p-D1t981Ih.js +4 -0
- package/components/p-D6tqrIYY.js +4 -0
- package/components/p-D9C5yWpF.js +4 -0
- package/components/p-DCRXgAoM.js +4 -0
- package/components/p-DL5wyRub.js +4 -0
- package/components/p-DQlXUUDh.js +4 -0
- package/components/p-DRWN7QM2.js +4 -0
- package/components/p-DaJxRxSQ.js +4 -0
- package/components/p-DbmfFkd1.js +4 -0
- package/components/p-Dhi5xtNS.js +4 -0
- package/components/p-DnwLgh9U.js +4 -0
- package/components/p-DoZB3DcY.js +4 -0
- package/components/p-Dovs7FIs.js +4 -0
- package/components/p-DrrpZB81.js +4 -0
- package/components/p-DrzWRqnG.js +4 -0
- package/components/p-DylrHLJF.js +4 -0
- package/components/p-Dypq4kXE.js +4 -0
- package/components/p-DzeMJvWL.js +4 -0
- package/components/p-Dzk4Tr0X.js +4 -0
- package/components/p-Rkm2AOZ2.js +4 -0
- package/components/p-UYngqo1f.js +4 -0
- package/components/p-Va26YR7l.js +4 -0
- package/components/p-asUhrzOB.js +4 -0
- package/components/p-fIOYmaqA.js +4 -0
- package/components/p-jlwpz7Ms.js +4 -0
- package/components/p-kInyVu79.js +4 -0
- package/components/{p-Osve4qkc.js → p-miSYSxcc.js} +1 -1
- package/components/{p-A3O24YmY.js → p-paDbTUL9.js} +1 -1
- package/components/p-vXpMhGrs.js +4 -0
- package/{dist/ionic/p-D13Eaw-8.js → components/p-znZTPd7u.js} +1 -1
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/display.css +1 -1
- package/css/display.css.map +1 -1
- package/css/flex-utils.css +1 -1
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic/bundle.ionic.css +1 -0
- package/css/ionic/bundle.ionic.css.map +1 -0
- package/css/ionic/core.ionic.css +1 -0
- package/css/ionic/core.ionic.css.map +1 -0
- package/css/ionic/global.bundle.ionic.css +1 -0
- package/css/ionic/global.bundle.ionic.css.map +1 -0
- package/css/ionic/ionic-swiper.ionic.css +1 -0
- package/css/ionic/ionic-swiper.ionic.css.map +1 -0
- package/css/ionic/link.ionic.css +1 -0
- package/css/ionic/link.ionic.css.map +1 -0
- package/css/ionic/structure.ionic.css +1 -0
- package/css/ionic/structure.ionic.css.map +1 -0
- package/css/ionic/typography.ionic.css +1 -0
- package/css/ionic/typography.ionic.css.map +1 -0
- package/css/ionic/utils.bundle.ionic.css +1 -0
- package/css/ionic/utils.bundle.ionic.css.map +1 -0
- package/css/ionic-swiper.css +1 -1
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/normalize.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{animation-Ch16T-Nb.js → animation-qlGmEn5Y.js} +3 -3
- package/dist/cjs/{app-globals-Dd89e0MR.js → app-globals-CtK-3pCu.js} +1 -1
- package/dist/cjs/{button-active-COnxOe4X.js → button-active-CugpWmFI.js} +2 -2
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-BixsAzyb.js} +3 -3
- package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
- package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
- package/dist/cjs/caret-right-CRCgv98E.js +8 -0
- package/dist/cjs/clear-button-press-controller-2hAy_qdm.js +45 -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-BUFWn4Bn.js → format-COAsdjOc.js} +1 -1
- package/dist/cjs/{framework-delegate-BgU6U9Ez.js → framework-delegate-CJT_QJQI.js} +4 -2
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-BFgF-QCg.js} +1 -1
- package/dist/cjs/{helpers-gntk8bfm.js → helpers-Fh1iXsX9.js} +71 -4
- package/dist/cjs/{index-BfaXsATC.js → index-C1knGA9x.js} +53 -4
- package/dist/cjs/{index-ooS8B4p9.js → index-CM8iGvyx.js} +15 -15
- package/dist/cjs/{index-BhhuJ1Yx.js → index-CNicxECl.js} +9 -8
- package/dist/cjs/{index-DqmRDbxg.js → index-CxDnX7hd.js} +3 -1
- package/dist/cjs/{index-BS2uhvhT.js → index-D94mERjz.js} +4 -4
- package/dist/cjs/{index-BiRrzGDi.js → index-DRFkZu3V.js} +2 -2
- package/dist/cjs/index-YYUVCfP-.js +429 -0
- package/dist/cjs/index.cjs.js +16 -16
- package/dist/cjs/{input-shims-Bn1cXfCM.js → input-shims-C8NCYfWv.js} +18 -17
- package/dist/cjs/{input.utils-BwhxZooW.js → input.utils-CYZZsbdf.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 +458 -194
- 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 +34 -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 +132 -40
- 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 +36 -18
- 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 +146 -32
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +13 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
- package/dist/cjs/ion-select-modal.cjs.entry.js +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 +150 -28
- package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
- package/dist/cjs/ion-text.cjs.entry.js +7 -7
- package/dist/cjs/ion-textarea.cjs.entry.js +137 -23
- package/dist/cjs/ion-toast.cjs.entry.js +70 -46
- package/dist/cjs/ion-toggle.cjs.entry.js +82 -26
- package/dist/cjs/ionic-global-DvEcO0tQ.js +519 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-IMJRwn29.js → ios.transition-BgDCUY4Y.js} +7 -5
- package/dist/cjs/{item-multiple-inputs-jOJZE_I0.js → item-multiple-inputs-DKn76MYO.js} +1 -1
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-BbZXOwZg.js} +1 -1
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-nne7rvBK.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-CgQZxcoT.js → md.transition-Debf4tYr.js} +6 -5
- package/dist/cjs/{notch-controller-_SwR025y.js → notch-controller-CFlPw7ER.js} +4 -4
- package/dist/cjs/overlay-control-label-DnRLQR1t.js +52 -0
- package/dist/cjs/{overlays-DuSEMhIW.js → overlays-DYBUkNQu.js} +309 -18
- package/dist/cjs/scroll-hide-controller-DAf_DwKc.js +345 -0
- package/dist/cjs/select-option-render-BqJEK1N1.js +124 -0
- package/dist/cjs/{status-tap-CSvBT7FV.js → status-tap-hwqc0yb_.js} +4 -3
- package/dist/cjs/{swipe-back-CuIiziaa.js → swipe-back-DqQx5QCp.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 +242 -117
- package/dist/collection/components/checkbox/checkbox.js +69 -14
- package/dist/collection/components/checkbox/checkbox.md.css +243 -118
- package/dist/collection/components/chip/chip.ionic.css +217 -0
- package/dist/collection/components/chip/chip.ios.css +67 -14
- package/dist/collection/components/chip/chip.js +108 -8
- package/dist/collection/components/chip/chip.md.css +67 -14
- package/dist/collection/components/col/col.css +192 -4
- package/dist/collection/components/col/col.js +211 -61
- package/dist/collection/components/content/content.css +47 -2
- package/dist/collection/components/content/content.js +16 -11
- package/dist/collection/components/datetime/datetime.ionic.css +703 -0
- package/dist/collection/components/datetime/datetime.ios.css +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-interface.js +1 -0
- package/dist/collection/components/footer/footer.ios.css +33 -6
- package/dist/collection/components/footer/footer.js +117 -25
- package/dist/collection/components/footer/footer.md.css +40 -0
- package/dist/collection/components/gallery/gallery-constants.js +12 -0
- package/dist/collection/components/gallery/gallery-interface.js +1 -0
- package/dist/collection/components/gallery/gallery.css +15 -0
- package/dist/collection/components/gallery/gallery.js +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-interface.js +1 -0
- package/dist/collection/components/header/header.ionic.css +250 -0
- package/dist/collection/components/header/header.ios.css +178 -133
- package/dist/collection/components/header/header.js +181 -39
- package/dist/collection/components/header/header.md.css +199 -9
- package/dist/collection/components/header/header.utils.js +6 -13
- 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 +891 -0
- package/dist/collection/components/input/input.ios.css +224 -137
- package/dist/collection/components/input/input.js +158 -45
- 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 +120 -80
- package/dist/collection/components/item/item.js +56 -21
- package/dist/collection/components/item/item.md.css +131 -79
- package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
- package/dist/collection/components/item-divider/item-divider.js +11 -8
- package/dist/collection/components/item-divider/item-divider.md.css +18 -0
- package/dist/collection/components/item-group/item-group.ios.css +12 -0
- package/dist/collection/components/item-group/item-group.js +13 -7
- package/dist/collection/components/item-group/item-group.md.css +12 -0
- package/dist/collection/components/item-option/item-option.ionic.css +277 -0
- package/dist/collection/components/item-option/item-option.ios.css +136 -29
- package/dist/collection/components/item-option/item-option.js +73 -9
- package/dist/collection/components/item-option/item-option.md.css +136 -29
- package/dist/collection/components/item-options/item-options.ionic.css +221 -0
- package/dist/collection/components/item-options/item-options.ios.css +77 -34
- package/dist/collection/components/item-options/item-options.js +13 -7
- package/dist/collection/components/item-options/item-options.md.css +77 -34
- package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
- package/dist/collection/components/item-sliding/item-sliding.js +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 +207 -102
- package/dist/collection/components/radio/radio.js +14 -9
- package/dist/collection/components/radio/radio.md.css +207 -102
- package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
- package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
- package/dist/collection/components/radio-group/radio-group.js +48 -7
- package/dist/collection/components/radio-group/radio-group.md.css +43 -19
- package/dist/collection/components/range/range.ionic.css +567 -0
- package/dist/collection/components/range/range.ios.css +128 -85
- package/dist/collection/components/range/range.js +16 -10
- package/dist/collection/components/range/range.md.css +128 -85
- package/dist/collection/components/refresher/refresher.ios.css +14 -1
- package/dist/collection/components/refresher/refresher.js +11 -8
- package/dist/collection/components/refresher/refresher.md.css +15 -2
- package/dist/collection/components/refresher-content/refresher-content.js +28 -7
- package/dist/collection/components/reorder/reorder.ios.css +6 -0
- package/dist/collection/components/reorder/reorder.js +33 -6
- package/dist/collection/components/reorder/reorder.md.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.js +8 -4
- package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
- package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
- package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
- package/dist/collection/components/route/route.js +4 -0
- package/dist/collection/components/router/router.js +4 -0
- package/dist/collection/components/router-link/router-link.css +8 -2
- package/dist/collection/components/router-link/router-link.js +9 -5
- package/dist/collection/components/router-outlet/router-outlet.css +7 -1
- package/dist/collection/components/router-outlet/router-outlet.js +6 -3
- package/dist/collection/components/row/row.css +16 -0
- package/dist/collection/components/row/row.js +9 -2
- package/dist/collection/components/searchbar/searchbar.ionic.css +622 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
- package/dist/collection/components/searchbar/searchbar.js +191 -42
- package/dist/collection/components/searchbar/searchbar.md.css +56 -18
- package/dist/collection/components/segment/segment.ionic.css +115 -0
- package/dist/collection/components/segment/segment.ios.css +45 -2
- package/dist/collection/components/segment/segment.js +11 -8
- package/dist/collection/components/segment/segment.md.css +45 -2
- package/dist/collection/components/segment-button/segment-button.ionic.css +352 -0
- package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
- package/dist/collection/components/segment-button/segment-button.js +11 -8
- package/dist/collection/components/segment-button/segment-button.md.css +148 -107
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
- package/dist/collection/components/segment-view/segment-view.js +13 -4
- package/dist/collection/components/segment-view/segment-view.md.css +6 -0
- package/dist/collection/components/select/select.ionic.css +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 +249 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
- package/dist/collection/components/tab-bar/tab-bar.js +179 -15
- package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
- package/dist/collection/components/tab-button/tab-button.ionic.css +373 -0
- package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
- package/dist/collection/components/tab-button/tab-button.js +54 -9
- package/dist/collection/components/tab-button/tab-button.md.css +137 -93
- package/dist/collection/components/tabs/tabs.css +7 -1
- package/dist/collection/components/tabs/tabs.js +4 -1
- package/dist/collection/components/text/text.css +6 -0
- package/dist/collection/components/text/text.js +7 -6
- package/dist/collection/components/textarea/textarea.ionic.css +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 +39 -4
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ionic.css +394 -0
- package/dist/collection/components/toast/toast.ios.css +84 -45
- package/dist/collection/components/toast/toast.js +76 -13
- package/dist/collection/components/toast/toast.md.css +84 -45
- package/dist/collection/components/toggle/toggle.ionic.css +512 -0
- package/dist/collection/components/toggle/toggle.ios.css +247 -127
- package/dist/collection/components/toggle/toggle.js +72 -18
- package/dist/collection/components/toggle/toggle.md.css +245 -127
- package/dist/collection/components/toolbar/test/image.svg +1 -0
- package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
- package/dist/collection/components/toolbar/toolbar.js +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/clear-button-press-controller.js +40 -0
- package/dist/collection/utils/forms/index.js +1 -0
- package/dist/collection/utils/forms/validity.js +31 -0
- package/dist/collection/utils/framework-delegate.js +3 -1
- package/dist/collection/utils/hardware-back-button.js +15 -0
- package/dist/collection/utils/helpers.js +70 -3
- package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
- package/dist/collection/utils/media.js +1 -0
- package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
- package/dist/collection/utils/menu-controller/animations/push.js +2 -1
- package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
- package/dist/collection/utils/overlay-control-label.js +47 -0
- package/dist/collection/utils/overlays.js +290 -8
- package/dist/collection/utils/sanitization/index.js +274 -18
- package/dist/collection/utils/scroll-hide-controller.js +178 -0
- 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 +9090 -286
- package/dist/esm/{animation-DLJpuoEz.js → animation-ChfHU0RG.js} +2 -2
- package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-D1OOQlqq.js} +1 -1
- package/dist/esm/{button-active-BSpTQmS9.js → button-active-CPYK0dNo.js} +2 -2
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-DG_4yVXz.js} +1 -1
- package/dist/esm/caret-down-D1t981Ih.js +6 -0
- package/dist/esm/caret-left-fIOYmaqA.js +6 -0
- package/dist/esm/caret-right-BYSs-jZz.js +6 -0
- package/dist/esm/clear-button-press-controller-C79TPm5p.js +43 -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-BWlRCqa-.js} +1 -1
- package/dist/esm/{helpers-HEqiOzXb.js → helpers-DfF5_wJc.js} +71 -5
- package/dist/esm/{index-Q6UPU0Ay.js → index-7eS8XtuU.js} +11 -11
- package/dist/esm/{index-DV3sJJW8.js → index-B4Kq2YNk.js} +3 -2
- package/dist/esm/{index-B_dQk_WE.js → index-BSDDOljg.js} +4 -4
- package/dist/esm/{index-tcQvqkiX.js → index-C0EQceqV.js} +53 -4
- package/dist/esm/{index-BRHzoo00.js → index-DNY2GOUg.js} +4 -3
- package/dist/esm/index-Mq5pCWmZ.js +424 -0
- package/dist/esm/{index-Dw-wN0Ja.js → index-taYRjZGp.js} +2 -2
- package/dist/esm/index.js +14 -14
- package/dist/esm/{input-shims-LXhI7LEx.js → input-shims-tZfqB5a5.js} +7 -6
- package/dist/esm/{input.utils-Y6NgW8bw.js → input.utils-fs4B7WL5.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 +457 -193
- 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 +34 -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 +132 -40
- 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 +36 -18
- 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 +146 -32
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +13 -3
- package/dist/esm/ion-segment_2.entry.js +23 -16
- package/dist/esm/ion-select-modal.entry.js +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 +149 -27
- package/dist/esm/ion-tab_2.entry.js +8 -7
- package/dist/esm/ion-text.entry.js +7 -7
- package/dist/esm/ion-textarea.entry.js +137 -23
- package/dist/esm/ion-toast.entry.js +45 -21
- package/dist/esm/ion-toggle.entry.js +82 -26
- package/dist/esm/ionic-global-CEwbmRLz.js +508 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-C3r-0w96.js} +7 -5
- package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-C6onMFOo.js} +1 -1
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-BzbtCDwZ.js} +4 -3
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-DYGmALa7.js} +1 -1
- package/dist/esm/list-Dhi5xtNS.js +6 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-D0msQmzI.js → md.transition-CPHOF5T9.js} +6 -5
- package/dist/esm/{notch-controller-DKDjU_O7.js → notch-controller-CsbpmbOz.js} +2 -2
- package/dist/esm/overlay-control-label-CODBQrPj.js +49 -0
- package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-C1NQMs9y.js} +306 -15
- package/dist/esm/scroll-hide-controller-CfbtPBWv.js +342 -0
- package/dist/esm/select-option-render-BlKZ2H83.js +122 -0
- package/dist/esm/{status-tap-vO-6s4Yp.js → status-tap-BueE8Coq.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 +2707 -168
- 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-00731d20.entry.js +4 -0
- package/dist/ionic/p-03c20a50.entry.js +4 -0
- package/dist/ionic/p-03ec6673.entry.js +4 -0
- package/dist/ionic/p-0405ec57.entry.js +4 -0
- package/dist/ionic/p-04f16322.entry.js +4 -0
- package/dist/ionic/p-09123f89.entry.js +4 -0
- package/dist/ionic/p-15028853.entry.js +4 -0
- package/dist/ionic/p-16c5db90.entry.js +4 -0
- package/dist/ionic/p-1d1dfb68.entry.js +4 -0
- package/dist/ionic/p-231572a0.entry.js +4 -0
- package/dist/ionic/p-2740db6e.entry.js +4 -0
- package/dist/ionic/p-2a6d4601.entry.js +4 -0
- package/dist/ionic/p-2d8fe33c.entry.js +4 -0
- package/dist/ionic/p-2dbc50d9.entry.js +4 -0
- package/dist/ionic/p-32d3095c.entry.js +4 -0
- package/dist/ionic/p-356cd619.entry.js +4 -0
- package/dist/ionic/p-391bdb60.entry.js +4 -0
- package/dist/ionic/p-3b2ab5b4.entry.js +4 -0
- package/dist/ionic/p-4e3e750a.entry.js +4 -0
- package/dist/ionic/p-4fee0df6.entry.js +4 -0
- package/dist/ionic/p-547d010c.entry.js +4 -0
- package/dist/ionic/p-54895118.entry.js +4 -0
- package/dist/ionic/p-6163d04d.entry.js +4 -0
- package/dist/ionic/p-679c1448.entry.js +4 -0
- package/dist/ionic/p-6de524e5.entry.js +4 -0
- package/dist/ionic/p-764d7ea2.entry.js +4 -0
- package/dist/ionic/{p-C0eMdTCW.js → p-7k7Q1A38.js} +1 -1
- package/dist/ionic/p-81BMEE8Q.js +4 -0
- package/dist/ionic/p-8d6d7acb.entry.js +4 -0
- package/dist/ionic/p-96732fe2.entry.js +4 -0
- package/dist/ionic/p-96c4c1b9.entry.js +4 -0
- package/dist/ionic/p-9745f518.entry.js +4 -0
- package/dist/ionic/p-9a40af3c.entry.js +4 -0
- package/dist/ionic/p-9e725104.entry.js +4 -0
- package/dist/ionic/p-B4Kq2YNk.js +4 -0
- package/dist/ionic/p-BDqjX7Z_.js +4 -0
- package/dist/ionic/p-BYSs-jZz.js +4 -0
- package/dist/ionic/p-BbWo-T8F.js +4 -0
- package/dist/ionic/p-BjW8SOqw.js +4 -0
- package/dist/ionic/p-Bvz8PHo5.js +4 -0
- package/dist/ionic/p-BwKpO3Is.js +4 -0
- package/dist/ionic/p-C0EQceqV.js +5 -0
- package/dist/ionic/p-C1_a9uRb.js +4 -0
- package/dist/ionic/p-C6WD6qSF.js +4 -0
- package/dist/ionic/{p-CKvCXMs9.js → p-C7urd_wE.js} +1 -1
- package/{components/p-D13Eaw-8.js → dist/ionic/p-CCgRIJJv.js} +1 -1
- package/dist/ionic/p-CEkwLb3L.js +4 -0
- package/dist/ionic/p-CGFf6My7.js +4 -0
- package/dist/ionic/p-CLUwRxij.js +4 -0
- package/dist/ionic/p-CODBQrPj.js +4 -0
- package/dist/ionic/p-CP_sVwEm.js +4 -0
- package/dist/ionic/p-CSMWpRc0.js +4 -0
- package/dist/ionic/{p-VAemlbDS.js → p-CYYo93al.js} +1 -1
- package/dist/ionic/p-Cipl19Qe.js +4 -0
- package/{components/p-B-JJgYSG.js → dist/ionic/p-CnIzWLAn.js} +1 -1
- package/dist/ionic/p-Cvvva6Z7.js +4 -0
- package/dist/ionic/p-D1t981Ih.js +4 -0
- package/dist/ionic/{p-viFHDgRs.js → p-DINFwXlp.js} +1 -1
- package/dist/ionic/p-DIvCXVmD.js +4 -0
- package/dist/ionic/p-DTsDGZPd.js +4 -0
- package/dist/ionic/p-DaJxRxSQ.js +4 -0
- package/dist/ionic/p-Dhi5xtNS.js +4 -0
- package/dist/ionic/p-DtQgCTtW.js +4 -0
- package/dist/ionic/p-DuRx6DeQ.js +4 -0
- package/dist/ionic/p-YGLqXqFd.js +4 -0
- package/dist/ionic/p-YIsE5bNG.js +4 -0
- package/dist/ionic/p-a61c2ace.entry.js +4 -0
- package/dist/ionic/p-abb516e3.entry.js +4 -0
- package/dist/ionic/p-b54edee6.entry.js +4 -0
- package/dist/ionic/p-c076ac5c.entry.js +4 -0
- package/dist/ionic/p-c4ff25cb.entry.js +4 -0
- package/dist/ionic/p-c7279756.entry.js +4 -0
- package/dist/ionic/p-c7ebed50.entry.js +4 -0
- package/dist/ionic/p-cd0037e4.entry.js +4 -0
- package/dist/ionic/p-d261938d.entry.js +4 -0
- package/dist/ionic/p-d33dfc12.entry.js +4 -0
- package/dist/ionic/p-d7764330.entry.js +4 -0
- package/dist/ionic/p-defb23a2.entry.js +4 -0
- package/dist/ionic/p-df642ef5.entry.js +4 -0
- package/dist/ionic/p-e2a35249.entry.js +4 -0
- package/dist/ionic/p-e2b952ef.entry.js +4 -0
- package/dist/ionic/p-e77cfd1e.entry.js +4 -0
- package/dist/ionic/p-ecb9d3d3.entry.js +4 -0
- package/dist/ionic/p-efd13adf.entry.js +4 -0
- package/dist/ionic/p-f0904c1d.entry.js +4 -0
- package/dist/ionic/p-f33689f7.entry.js +4 -0
- package/dist/ionic/p-f693efe9.entry.js +4 -0
- package/dist/ionic/p-f788396b.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-fa16fad8.entry.js +4 -0
- package/dist/ionic/p-lMb_45ax.js +4 -0
- package/dist/ionic/p-oadJNPuo.js +4 -0
- package/dist/ionic/p-vXpMhGrs.js +4 -0
- package/dist/ionic/p-wNjWCZVO.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +6 -3
- package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
- package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
- package/dist/types/components/alert/alert-interface.d.ts +3 -7
- package/dist/types/components/alert/alert.d.ts +3 -2
- package/dist/types/components/app/app.d.ts +4 -5
- package/dist/types/components/avatar/avatar.d.ts +32 -0
- package/dist/types/components/back-button/back-button.d.ts +2 -1
- package/dist/types/components/backdrop/backdrop.d.ts +4 -0
- package/dist/types/components/badge/badge.d.ts +34 -1
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +23 -8
- package/dist/types/components/buttons/buttons.d.ts +5 -1
- package/dist/types/components/card/card.d.ts +8 -1
- package/dist/types/components/card-content/card-content.d.ts +2 -1
- package/dist/types/components/card-header/card-header.d.ts +3 -2
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
- package/dist/types/components/card-title/card-title.d.ts +2 -1
- package/dist/types/components/checkbox/checkbox.d.ts +14 -4
- package/dist/types/components/chip/chip.d.ts +26 -1
- package/dist/types/components/col/col.d.ts +52 -5
- package/dist/types/components/content/content.d.ts +3 -0
- package/dist/types/components/datetime/datetime.d.ts +26 -1
- package/dist/types/components/datetime/utils/data.d.ts +5 -5
- package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
- package/dist/types/components/divider/divider.d.ts +20 -0
- package/dist/types/components/fab/fab.d.ts +4 -0
- package/dist/types/components/fab-button/fab-button.d.ts +5 -3
- package/dist/types/components/fab-list/fab-list.d.ts +4 -0
- package/dist/types/components/footer/footer-interface.d.ts +1 -0
- package/dist/types/components/footer/footer.d.ts +20 -3
- package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
- package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
- package/dist/types/components/gallery/gallery.d.ts +218 -0
- package/dist/types/components/gallery/test/utils.d.ts +3 -0
- package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
- package/dist/types/components/grid/grid.d.ts +4 -0
- package/dist/types/components/header/header-interface.d.ts +1 -0
- package/dist/types/components/header/header.d.ts +26 -3
- package/dist/types/components/header/header.utils.d.ts +4 -5
- package/dist/types/components/img/img.d.ts +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 +34 -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 +56 -10
- package/dist/types/components/segment/segment.d.ts +2 -1
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select-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-interface.d.ts +1 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
- package/dist/types/components/tab-button/tab-button.d.ts +12 -1
- package/dist/types/components/tabs/tabs.d.ts +3 -0
- package/dist/types/components/text/text.d.ts +2 -1
- package/dist/types/components/textarea/textarea.d.ts +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 +1881 -210
- package/dist/types/global/ionic-global.d.ts +28 -2
- package/dist/types/interface.d.ts +3 -0
- package/dist/types/utils/config.d.ts +106 -2
- package/dist/types/utils/css-value-validation.d.ts +21 -0
- package/dist/types/utils/focus-trap.d.ts +1 -1
- package/dist/types/utils/focus-visible.d.ts +13 -0
- package/dist/types/utils/forms/clear-button-press-controller.d.ts +20 -0
- package/dist/types/utils/forms/index.d.ts +1 -0
- package/dist/types/utils/forms/validity.d.ts +7 -0
- package/dist/types/utils/helpers.d.ts +22 -0
- package/dist/types/utils/overlay-control-label.d.ts +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/scroll-hide-controller.d.ts +56 -0
- 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 +6402 -1406
- package/hydrate/index.mjs +6402 -1406
- package/package.json +9 -5
- package/components/p--JUspHvy.js +0 -4
- package/components/p-ABkNVeU9.js +0 -4
- package/components/p-B9jFTlwE.js +0 -4
- package/components/p-BLmJ0zRm.js +0 -4
- package/components/p-BMI53wYL.js +0 -4
- package/components/p-BSEgsdFI.js +0 -4
- package/components/p-BlIAuGv2.js +0 -4
- package/components/p-BmVRXR1y.js +0 -4
- package/components/p-Bnsn6KaP.js +0 -4
- package/components/p-BsBCoGa-.js +0 -4
- package/components/p-Bz0dSlXZ.js +0 -4
- package/components/p-CHqRYvYm.js +0 -4
- package/components/p-CIGNaXM1.js +0 -4
- package/components/p-CO7fmmxt.js +0 -4
- package/components/p-CQGnMY3n.js +0 -4
- package/components/p-CSZf8_j0.js +0 -4
- package/components/p-C_xFdyXe.js +0 -4
- package/components/p-Cfx4M1Bn.js +0 -4
- package/components/p-CkMSOsFF.js +0 -4
- package/components/p-CmR5uXej.js +0 -4
- package/components/p-Cp4GRDqq.js +0 -4
- package/components/p-CsNJ1ULL.js +0 -4
- package/components/p-CtWGkNnJ.js +0 -4
- package/components/p-CzCbeKys.js +0 -4
- package/components/p-D-aHdMxW.js +0 -4
- package/components/p-D0d8qTwj.js +0 -4
- package/components/p-D3xo7hqU.js +0 -4
- package/components/p-D6Ynv7Xh.js +0 -4
- package/components/p-DCnGU1fF.js +0 -4
- package/components/p-DGvrK8dD.js +0 -4
- package/components/p-DJztqcrH.js +0 -4
- package/components/p-DOFCbuQR.js +0 -4
- package/components/p-DRxvM2Ic.js +0 -4
- package/components/p-DV5mPYQS.js +0 -4
- package/components/p-DWkAgceV.js +0 -4
- package/components/p-DiVJyqlX.js +0 -4
- package/components/p-DqZAXv2t.js +0 -4
- package/components/p-R8zmRi4c.js +0 -4
- package/components/p-SLS1rDZM.js +0 -4
- package/components/p-ZjP4CjeZ.js +0 -4
- package/components/p-aJ6PBUvj.js +0 -4
- package/components/p-gAg0kXZp.js +0 -4
- package/components/p-gYiraiT_.js +0 -4
- package/components/p-j5IxBIan.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/components/p-oD4kcBRX.js +0 -4
- package/components/p-rCa2eL0j.js +0 -4
- package/components/p-vRBNsYbs.js +0 -4
- package/components/p-yEQxMl70.js +0 -4
- package/components/p-yzCsOZE2.js +0 -4
- package/dist/cjs/config-D6C-KlA9.js +0 -201
- package/dist/cjs/hardware-back-button-CXmUnTJC.js +0 -121
- package/dist/cjs/index-DkNv4J_i.js +0 -10
- package/dist/cjs/ionic-global-BerQGEpE.js +0 -151
- package/dist/cjs/keyboard-controller-GXBiBRKS.js +0 -167
- 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/keyboard-controller-BaaVITYt.js +0 -165
- 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-0caa922c.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-10e833ef.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-2b204c59.entry.js +0 -4
- package/dist/ionic/p-2bb2cb18.entry.js +0 -4
- package/dist/ionic/p-2fa58e80.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-3ae5f277.entry.js +0 -4
- package/dist/ionic/p-4654ae1c.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-4baa5b82.entry.js +0 -4
- package/dist/ionic/p-4e92a11f.entry.js +0 -4
- package/dist/ionic/p-50e1194a.entry.js +0 -4
- package/dist/ionic/p-5334df12.entry.js +0 -4
- package/dist/ionic/p-5d1da0a2.entry.js +0 -4
- package/dist/ionic/p-5e2f73ee.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-746fa988.entry.js +0 -4
- package/dist/ionic/p-75dc25ba.entry.js +0 -4
- package/dist/ionic/p-7c319341.entry.js +0 -4
- package/dist/ionic/p-829367ed.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-8eb8ee76.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-9f9db3a2.entry.js +0 -4
- package/dist/ionic/p-9fa3c405.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-CmcFnK-B.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-DIuEbVLu.js +0 -4
- package/dist/ionic/p-DJztqcrH.js +0 -4
- package/dist/ionic/p-DV3sJJW8.js +0 -4
- package/dist/ionic/p-DiVJyqlX.js +0 -4
- package/dist/ionic/p-DoJvtrbw.js +0 -4
- package/dist/ionic/p-DqN5EA2O.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-a3bdcae6.entry.js +0 -4
- package/dist/ionic/p-aaeedb6b.entry.js +0 -4
- package/dist/ionic/p-af55a72f.entry.js +0 -4
- package/dist/ionic/p-b2020591.entry.js +0 -4
- package/dist/ionic/p-b9fadbfe.entry.js +0 -4
- package/dist/ionic/p-biz8zWmJ.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-ea56626d.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-tcQvqkiX.js +0 -5
- package/dist/ionic/p-uWtqTrG8.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-C1knGA9x.js');
|
|
7
|
+
var index = require('./index-DRFkZu3V.js');
|
|
8
|
+
var frameworkDelegate = require('./framework-delegate-CJT_QJQI.js');
|
|
9
|
+
var helpers = require('./helpers-Fh1iXsX9.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-BixsAzyb.js');
|
|
12
|
+
var overlays = require('./overlays-DYBUkNQu.js');
|
|
13
|
+
var theme = require('./theme-IlOsGAz7.js');
|
|
14
|
+
var index$3 = require('./index-D94mERjz.js');
|
|
15
|
+
var ionicGlobal = require('./ionic-global-DvEcO0tQ.js');
|
|
16
|
+
var keyboard = require('./keyboard-nne7rvBK.js');
|
|
17
|
+
var animation = require('./animation-qlGmEn5Y.js');
|
|
18
18
|
var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
|
|
19
|
-
var index$
|
|
20
|
-
|
|
21
|
-
require('./hardware-back-button-CXmUnTJC.js');
|
|
19
|
+
var index$1 = 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-BbZXOwZg.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
|
/**
|
|
133
230
|
* Swiping is only possible when the content is scrolled to the top, so that we
|
|
134
231
|
* do not interfere with scrolling, and never on content with a refresher.
|
|
@@ -140,8 +237,8 @@ const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
|
|
|
140
237
|
* synchronous operation, and `getScrollElement` is asynchronous.
|
|
141
238
|
*/
|
|
142
239
|
const canSwipeOnContent = (contentEl) => {
|
|
143
|
-
const scrollEl = index
|
|
144
|
-
const hasRefresherInContent = !!index
|
|
240
|
+
const scrollEl = index.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
241
|
+
const hasRefresherInContent = !!index.findRefresherInContent(contentEl);
|
|
145
242
|
return !hasRefresherInContent && scrollEl.scrollTop === 0;
|
|
146
243
|
};
|
|
147
244
|
const handleCanDismiss = async (el, animation) => {
|
|
@@ -278,7 +375,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
278
375
|
let initialScrollY = true;
|
|
279
376
|
let lastStep = 0;
|
|
280
377
|
const getScrollY = () => {
|
|
281
|
-
if (contentEl && index
|
|
378
|
+
if (contentEl && index.isIonContent(contentEl)) {
|
|
282
379
|
return contentEl.scrollY;
|
|
283
380
|
/**
|
|
284
381
|
* Custom scroll containers are intended to be
|
|
@@ -304,7 +401,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
304
401
|
* swipe again. The target content will not
|
|
305
402
|
* be the same between swipes.
|
|
306
403
|
*/
|
|
307
|
-
contentEl = index
|
|
404
|
+
contentEl = index.findClosestIonContent(target);
|
|
308
405
|
if (contentEl) {
|
|
309
406
|
return canSwipeOnContent(contentEl);
|
|
310
407
|
}
|
|
@@ -349,7 +446,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
349
446
|
* happen at the same time as the gesture.
|
|
350
447
|
*/
|
|
351
448
|
if (deltaY > 0 && contentEl) {
|
|
352
|
-
index
|
|
449
|
+
index.disableContentScrollY(contentEl);
|
|
353
450
|
}
|
|
354
451
|
animation.progressStart(true, isOpen ? 1 : 0);
|
|
355
452
|
onDragStart();
|
|
@@ -363,7 +460,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
363
460
|
* happen at the same time as the gesture.
|
|
364
461
|
*/
|
|
365
462
|
if (deltaY > 0 && contentEl) {
|
|
366
|
-
index
|
|
463
|
+
index.disableContentScrollY(contentEl);
|
|
367
464
|
}
|
|
368
465
|
/**
|
|
369
466
|
* If we are swiping on the content
|
|
@@ -458,7 +555,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
458
555
|
isOpen = shouldComplete;
|
|
459
556
|
gesture.enable(false);
|
|
460
557
|
if (contentEl) {
|
|
461
|
-
index
|
|
558
|
+
index.resetContentScrollY(contentEl, initialScrollY);
|
|
462
559
|
}
|
|
463
560
|
animation
|
|
464
561
|
.onFinish(() => {
|
|
@@ -493,7 +590,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
493
590
|
};
|
|
494
591
|
onDragEnd(eventDetail);
|
|
495
592
|
};
|
|
496
|
-
const gesture = index$
|
|
593
|
+
const gesture = index$1.createGesture({
|
|
497
594
|
el,
|
|
498
595
|
gestureName: 'modalSwipeToClose',
|
|
499
596
|
gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
|
|
@@ -548,63 +645,6 @@ const calculateProgress = (el, deltaY) => {
|
|
|
548
645
|
return Math.max(0, Math.min(1, roundedProgress));
|
|
549
646
|
};
|
|
550
647
|
|
|
551
|
-
const createSheetEnterAnimation = (opts) => {
|
|
552
|
-
const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
|
|
553
|
-
/**
|
|
554
|
-
* If the backdropBreakpoint is undefined, then the backdrop
|
|
555
|
-
* should always fade in. If the backdropBreakpoint came before the
|
|
556
|
-
* current breakpoint, then the backdrop should be fading in.
|
|
557
|
-
*/
|
|
558
|
-
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
559
|
-
const initialBackdrop = shouldShowBackdrop ? `calc(var(--backdrop-opacity) * ${currentBreakpoint})` : '0';
|
|
560
|
-
const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
561
|
-
if (shouldShowBackdrop) {
|
|
562
|
-
backdropAnimation
|
|
563
|
-
.beforeStyles({
|
|
564
|
-
'pointer-events': 'none',
|
|
565
|
-
})
|
|
566
|
-
.afterClearStyles(['pointer-events']);
|
|
567
|
-
}
|
|
568
|
-
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
569
|
-
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
570
|
-
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
571
|
-
]);
|
|
572
|
-
/**
|
|
573
|
-
* This allows the content to be scrollable at any breakpoint.
|
|
574
|
-
*/
|
|
575
|
-
const contentAnimation = !expandToScroll
|
|
576
|
-
? animation.createAnimation('contentAnimation').keyframes([
|
|
577
|
-
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
578
|
-
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
579
|
-
])
|
|
580
|
-
: undefined;
|
|
581
|
-
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
582
|
-
};
|
|
583
|
-
const createSheetLeaveAnimation = (opts) => {
|
|
584
|
-
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
585
|
-
/**
|
|
586
|
-
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
587
|
-
* is defined, so we need to account for that offset by figuring out
|
|
588
|
-
* what the current backdrop value should be.
|
|
589
|
-
*/
|
|
590
|
-
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
591
|
-
const defaultBackdrop = [
|
|
592
|
-
{ offset: 0, opacity: backdropValue },
|
|
593
|
-
{ offset: 1, opacity: 0 },
|
|
594
|
-
];
|
|
595
|
-
const customBackdrop = [
|
|
596
|
-
{ offset: 0, opacity: backdropValue },
|
|
597
|
-
{ offset: backdropBreakpoint, opacity: 0 },
|
|
598
|
-
{ offset: 1, opacity: 0 },
|
|
599
|
-
];
|
|
600
|
-
const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
601
|
-
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
602
|
-
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
603
|
-
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
604
|
-
]);
|
|
605
|
-
return { wrapperAnimation, backdropAnimation };
|
|
606
|
-
};
|
|
607
|
-
|
|
608
648
|
const createEnterAnimation$1 = () => {
|
|
609
649
|
const backdropAnimation = animation.createAnimation()
|
|
610
650
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
@@ -995,17 +1035,17 @@ const mdLeaveAnimation = (baseEl, opts) => {
|
|
|
995
1035
|
return baseAnimation;
|
|
996
1036
|
};
|
|
997
1037
|
|
|
998
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
|
|
1038
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, usePhysicsBasedGesture, onDragStart, onDragMove, onDragEnd) => {
|
|
999
1039
|
var _a;
|
|
1000
1040
|
// Defaults for the sheet swipe animation
|
|
1001
1041
|
const defaultBackdrop = [
|
|
1002
1042
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1003
|
-
{ offset: 1, opacity: 0.01 },
|
|
1043
|
+
{ offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0.01 },
|
|
1004
1044
|
];
|
|
1005
1045
|
const customBackdrop = [
|
|
1006
1046
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1007
|
-
{ offset: 1 - backdropBreakpoint, opacity: 0 },
|
|
1008
|
-
{ offset: 1, opacity: 0 },
|
|
1047
|
+
{ offset: 1 - backdropBreakpoint, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
|
|
1048
|
+
{ offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
|
|
1009
1049
|
];
|
|
1010
1050
|
const SheetDefaults = {
|
|
1011
1051
|
WRAPPER_KEYFRAMES: [
|
|
@@ -1185,7 +1225,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1185
1225
|
* For example, when using ion-nav within a modal it is possible to swipe, push a view,
|
|
1186
1226
|
* and then swipe again. The target content will not be the same between swipes.
|
|
1187
1227
|
*/
|
|
1188
|
-
const contentEl = index
|
|
1228
|
+
const contentEl = index.findClosestIonContent(detail.event.target);
|
|
1189
1229
|
currentBreakpoint = getCurrentBreakpoint();
|
|
1190
1230
|
/**
|
|
1191
1231
|
* Upwards swipes on the content cannot move the sheet anyway, so this only
|
|
@@ -1223,9 +1263,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1223
1263
|
* which would impact performance significantly.
|
|
1224
1264
|
*/
|
|
1225
1265
|
if (!expandToScroll) {
|
|
1226
|
-
const targetEl = index
|
|
1266
|
+
const targetEl = index.findClosestIonContent(detail.event.target);
|
|
1227
1267
|
cachedScrollEl =
|
|
1228
|
-
targetEl && index
|
|
1268
|
+
targetEl && index.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
|
|
1229
1269
|
}
|
|
1230
1270
|
/**
|
|
1231
1271
|
* If expandToScroll is disabled, we need to swap
|
|
@@ -1319,7 +1359,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1319
1359
|
: step;
|
|
1320
1360
|
offset = helpers.clamp(0.0001, processedStep, maxStep);
|
|
1321
1361
|
animation.progressStep(offset);
|
|
1322
|
-
const snapBreakpoint =
|
|
1362
|
+
const snapBreakpoint = usePhysicsBasedGesture
|
|
1363
|
+
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1364
|
+
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1323
1365
|
const eventDetail = {
|
|
1324
1366
|
currentY: detail.currentY,
|
|
1325
1367
|
deltaY: detail.deltaY,
|
|
@@ -1330,7 +1372,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1330
1372
|
onDragMove(eventDetail);
|
|
1331
1373
|
};
|
|
1332
1374
|
const onEnd = (detail) => {
|
|
1333
|
-
const snapBreakpoint =
|
|
1375
|
+
const snapBreakpoint = usePhysicsBasedGesture
|
|
1376
|
+
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1377
|
+
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1334
1378
|
const eventDetail = {
|
|
1335
1379
|
currentY: detail.currentY,
|
|
1336
1380
|
deltaY: detail.deltaY,
|
|
@@ -1377,6 +1421,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1377
1421
|
*/
|
|
1378
1422
|
const shouldPreventDismiss = canDismiss && breakpoint === 0;
|
|
1379
1423
|
const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
|
|
1424
|
+
/**
|
|
1425
|
+
* Detect snap-back behavior: when the snap target is the same as the current breakpoint,
|
|
1426
|
+
* the user released before crossing the threshold to a new breakpoint.
|
|
1427
|
+
* Apply different timing and easing for snap-back vs. snap-to-new.
|
|
1428
|
+
*/
|
|
1429
|
+
const isSnapBack = snapToBreakpoint === currentBreakpoint;
|
|
1430
|
+
const duration = usePhysicsBasedGesture ? (isSnapBack ? 300 : 400) : 500;
|
|
1431
|
+
const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
|
|
1380
1432
|
const shouldRemainOpen = snapToBreakpoint !== 0;
|
|
1381
1433
|
currentBreakpoint = 0;
|
|
1382
1434
|
/**
|
|
@@ -1391,11 +1443,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1391
1443
|
backdropAnimation.keyframes([
|
|
1392
1444
|
{
|
|
1393
1445
|
offset: 0,
|
|
1394
|
-
opacity:
|
|
1446
|
+
opacity: usePhysicsBasedGesture
|
|
1447
|
+
? 'var(--backdrop-opacity)'
|
|
1448
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
|
|
1395
1449
|
},
|
|
1396
1450
|
{
|
|
1397
1451
|
offset: 1,
|
|
1398
|
-
opacity:
|
|
1452
|
+
opacity: usePhysicsBasedGesture
|
|
1453
|
+
? 'var(--backdrop-opacity)'
|
|
1454
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
1399
1455
|
},
|
|
1400
1456
|
]);
|
|
1401
1457
|
if (contentAnimation) {
|
|
@@ -1413,6 +1469,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1413
1469
|
}
|
|
1414
1470
|
animation.progressStep(0);
|
|
1415
1471
|
}
|
|
1472
|
+
/**
|
|
1473
|
+
* Apply the appropriate easing curve for this snap behavior.
|
|
1474
|
+
*/
|
|
1475
|
+
if (usePhysicsBasedGesture) {
|
|
1476
|
+
animation.easing(easing);
|
|
1477
|
+
}
|
|
1416
1478
|
/**
|
|
1417
1479
|
* Gesture should remain disabled until the
|
|
1418
1480
|
* snapping animation completes.
|
|
@@ -1502,7 +1564,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1502
1564
|
* be added every time onEnd runs.
|
|
1503
1565
|
*/
|
|
1504
1566
|
}, { oneTimeCallback: true })
|
|
1505
|
-
.progressEnd(1, 0, animated ?
|
|
1567
|
+
.progressEnd(1, 0, animated ? duration : 0);
|
|
1506
1568
|
});
|
|
1507
1569
|
};
|
|
1508
1570
|
/**
|
|
@@ -1513,7 +1575,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1513
1575
|
* @param deltaY The change in Y position since the gesture started.
|
|
1514
1576
|
* @returns The snap breakpoint value.
|
|
1515
1577
|
*/
|
|
1516
|
-
const
|
|
1578
|
+
const calculatePositionSnapBreakpoint = (deltaY) => {
|
|
1517
1579
|
/**
|
|
1518
1580
|
* Calculates the real-time vertical position of the modal.
|
|
1519
1581
|
* We combine the wrapper's current bounding box position with the
|
|
@@ -1533,6 +1595,50 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1533
1595
|
});
|
|
1534
1596
|
return snapBreakpoint;
|
|
1535
1597
|
};
|
|
1598
|
+
/**
|
|
1599
|
+
* Calculates the snap breakpoint using velocity-based logic.
|
|
1600
|
+
* This provides a more intuitive and responsive sheet behavior for the Ionic theme.
|
|
1601
|
+
*
|
|
1602
|
+
* Rules:
|
|
1603
|
+
* 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
|
|
1604
|
+
* 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
|
|
1605
|
+
* 3. If dragged 40% below current snap point without fast upward flick, dismisses
|
|
1606
|
+
* 4. Otherwise, falls back to position-based snap (closest breakpoint)
|
|
1607
|
+
*
|
|
1608
|
+
* @param deltaY The change in Y position since gesture started
|
|
1609
|
+
* @param velocityY The velocity in pixels per millisecond
|
|
1610
|
+
* @param currentY The current Y position of the gesture
|
|
1611
|
+
* @returns The snap breakpoint value
|
|
1612
|
+
*/
|
|
1613
|
+
const calculateVelocitySnapBreakpoint = (deltaY, velocityY, currentY) => {
|
|
1614
|
+
// Convert velocity from px/ms to px/s for easier threshold comparison
|
|
1615
|
+
const velocityYPerSecond = velocityY * 1000;
|
|
1616
|
+
// Calculate current progress (0 = fully closed, 1 = fully expanded)
|
|
1617
|
+
const currentProgress = calculateProgress(currentY);
|
|
1618
|
+
// Rule 1: Fast downward flick always dismisses
|
|
1619
|
+
if (velocityYPerSecond > 500) {
|
|
1620
|
+
return minBreakpoint;
|
|
1621
|
+
}
|
|
1622
|
+
// Rule 2: Fast upward flick moves to next breakpoint above
|
|
1623
|
+
if (velocityYPerSecond < -400) {
|
|
1624
|
+
// Find next breakpoint above current position
|
|
1625
|
+
const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
|
|
1626
|
+
// If no breakpoint above, stay at max breakpoint
|
|
1627
|
+
return nextBreakpoint !== null && nextBreakpoint !== void 0 ? nextBreakpoint : maxBreakpoint;
|
|
1628
|
+
}
|
|
1629
|
+
// Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
|
|
1630
|
+
if (minBreakpoint === 0 && currentBreakpoint > 0) {
|
|
1631
|
+
// Calculate how far we've moved below the current snap point
|
|
1632
|
+
const distanceBelowSnap = currentBreakpoint - currentProgress;
|
|
1633
|
+
const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
|
|
1634
|
+
// If dragged more than 40% below and not flicking up, dismiss
|
|
1635
|
+
if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
|
|
1636
|
+
return 0;
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
// Rule 4: Fallback to position-based snap (existing logic)
|
|
1640
|
+
return calculatePositionSnapBreakpoint(deltaY);
|
|
1641
|
+
};
|
|
1536
1642
|
/**
|
|
1537
1643
|
* Calculates the progress of the swipe gesture.
|
|
1538
1644
|
*
|
|
@@ -1603,7 +1709,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1603
1709
|
*/
|
|
1604
1710
|
return viewportBottom - activeHeight;
|
|
1605
1711
|
};
|
|
1606
|
-
const gesture = index$
|
|
1712
|
+
const gesture = index$1.createGesture({
|
|
1607
1713
|
el: wrapperEl,
|
|
1608
1714
|
gestureName: 'modalSheet',
|
|
1609
1715
|
gesturePriority: 40,
|
|
@@ -1660,9 +1766,9 @@ let cacheInvalidationScheduled = false;
|
|
|
1660
1766
|
* Matches: @media (min-width: 768px) and (min-height: 600px)
|
|
1661
1767
|
*/
|
|
1662
1768
|
const isCenteredDialogViewport = () => {
|
|
1663
|
-
if (!
|
|
1769
|
+
if (!ionicGlobal.win)
|
|
1664
1770
|
return false;
|
|
1665
|
-
return
|
|
1771
|
+
return ionicGlobal.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
|
|
1666
1772
|
.matches;
|
|
1667
1773
|
};
|
|
1668
1774
|
/**
|
|
@@ -1677,7 +1783,7 @@ const getRootSafeAreaTop = () => {
|
|
|
1677
1783
|
if (cachedRootSafeAreaTop !== null) {
|
|
1678
1784
|
return cachedRootSafeAreaTop;
|
|
1679
1785
|
}
|
|
1680
|
-
const doc =
|
|
1786
|
+
const doc = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.document;
|
|
1681
1787
|
if (!(doc === null || doc === void 0 ? void 0 : doc.body)) {
|
|
1682
1788
|
return 0;
|
|
1683
1789
|
}
|
|
@@ -1703,7 +1809,7 @@ const getRootSafeAreaTop = () => {
|
|
|
1703
1809
|
* a change to it becomes a size change the observer can see.
|
|
1704
1810
|
*/
|
|
1705
1811
|
const onRootSafeAreaTopChange = (callback) => {
|
|
1706
|
-
const doc =
|
|
1812
|
+
const doc = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.document;
|
|
1707
1813
|
if (!(doc === null || doc === void 0 ? void 0 : doc.body) || typeof ResizeObserver === 'undefined') {
|
|
1708
1814
|
return () => undefined;
|
|
1709
1815
|
}
|
|
@@ -1818,8 +1924,8 @@ const getInitialSafeAreaConfig = (context) => {
|
|
|
1818
1924
|
const getPositionBasedSafeAreaConfig = (wrapperEl) => {
|
|
1819
1925
|
var _a, _b;
|
|
1820
1926
|
const rect = wrapperEl.getBoundingClientRect();
|
|
1821
|
-
const vh = (_a =
|
|
1822
|
-
const vw = (_b =
|
|
1927
|
+
const vh = (_a = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
|
|
1928
|
+
const vw = (_b = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerWidth) !== null && _b !== void 0 ? _b : 0;
|
|
1823
1929
|
// Only apply safe-area to sides where modal overlaps with screen edge
|
|
1824
1930
|
return {
|
|
1825
1931
|
top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
|
|
@@ -1852,26 +1958,28 @@ const clearSafeAreaOverrides = (hostEl) => {
|
|
|
1852
1958
|
hostEl.style.removeProperty('--ion-safe-area-right');
|
|
1853
1959
|
};
|
|
1854
1960
|
|
|
1855
|
-
const
|
|
1961
|
+
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)))}`;
|
|
1856
1962
|
|
|
1857
|
-
const
|
|
1963
|
+
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}`;
|
|
1964
|
+
|
|
1965
|
+
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}`;
|
|
1858
1966
|
|
|
1859
1967
|
const Modal = class {
|
|
1860
1968
|
constructor(hostRef) {
|
|
1861
|
-
index$
|
|
1862
|
-
this.didPresent = index$
|
|
1863
|
-
this.willPresent = index$
|
|
1864
|
-
this.willDismiss = index$
|
|
1865
|
-
this.didDismiss = index$
|
|
1866
|
-
this.ionBreakpointDidChange = index$
|
|
1867
|
-
this.didPresentShorthand = index$
|
|
1868
|
-
this.willPresentShorthand = index$
|
|
1869
|
-
this.willDismissShorthand = index$
|
|
1870
|
-
this.didDismissShorthand = index$
|
|
1871
|
-
this.ionMount = index$
|
|
1872
|
-
this.ionDragStart = index$
|
|
1873
|
-
this.ionDragMove = index$
|
|
1874
|
-
this.ionDragEnd = index$
|
|
1969
|
+
index$2.registerInstance(this, hostRef);
|
|
1970
|
+
this.didPresent = index$2.createEvent(this, "ionModalDidPresent", 7);
|
|
1971
|
+
this.willPresent = index$2.createEvent(this, "ionModalWillPresent", 7);
|
|
1972
|
+
this.willDismiss = index$2.createEvent(this, "ionModalWillDismiss", 7);
|
|
1973
|
+
this.didDismiss = index$2.createEvent(this, "ionModalDidDismiss", 7);
|
|
1974
|
+
this.ionBreakpointDidChange = index$2.createEvent(this, "ionBreakpointDidChange", 7);
|
|
1975
|
+
this.didPresentShorthand = index$2.createEvent(this, "didPresent", 7);
|
|
1976
|
+
this.willPresentShorthand = index$2.createEvent(this, "willPresent", 7);
|
|
1977
|
+
this.willDismissShorthand = index$2.createEvent(this, "willDismiss", 7);
|
|
1978
|
+
this.didDismissShorthand = index$2.createEvent(this, "didDismiss", 7);
|
|
1979
|
+
this.ionMount = index$2.createEvent(this, "ionMount", 7);
|
|
1980
|
+
this.ionDragStart = index$2.createEvent(this, "ionDragStart", 7);
|
|
1981
|
+
this.ionDragMove = index$2.createEvent(this, "ionDragMove", 7);
|
|
1982
|
+
this.ionDragEnd = index$2.createEvent(this, "ionDragEnd", 7);
|
|
1875
1983
|
this.lockController = lockController.createLockController();
|
|
1876
1984
|
this.triggerController = overlays.createTriggerController();
|
|
1877
1985
|
this.coreDelegate = frameworkDelegate.CoreDelegate();
|
|
@@ -2164,7 +2272,7 @@ const Modal = class {
|
|
|
2164
2272
|
this.currentBreakpoint = this.initialBreakpoint;
|
|
2165
2273
|
}
|
|
2166
2274
|
if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
|
|
2167
|
-
index$
|
|
2275
|
+
index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
|
|
2168
2276
|
}
|
|
2169
2277
|
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
2170
2278
|
overlays.setOverlayId(this.el);
|
|
@@ -2264,7 +2372,7 @@ const Modal = class {
|
|
|
2264
2372
|
* get the transition incorrect.
|
|
2265
2373
|
*/
|
|
2266
2374
|
if (helpers.hasLazyBuild(el)) {
|
|
2267
|
-
await index$
|
|
2375
|
+
await index$3.deepReady(this.usersElement);
|
|
2268
2376
|
/**
|
|
2269
2377
|
* If keepContentsMounted="true" then the
|
|
2270
2378
|
* JS Framework has already mounted the inner
|
|
@@ -2275,9 +2383,9 @@ const Modal = class {
|
|
|
2275
2383
|
*/
|
|
2276
2384
|
}
|
|
2277
2385
|
else if (!this.keepContentsMounted) {
|
|
2278
|
-
await index$
|
|
2386
|
+
await index$3.waitForMount();
|
|
2279
2387
|
}
|
|
2280
|
-
index$
|
|
2388
|
+
index$2.writeTask(() => this.el.classList.add('show-modal'));
|
|
2281
2389
|
// Recalculate isSheetModal before safe-area setup because framework
|
|
2282
2390
|
// bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
|
|
2283
2391
|
this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
|
|
@@ -2294,11 +2402,12 @@ const Modal = class {
|
|
|
2294
2402
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
2295
2403
|
setCardStatusBarDark();
|
|
2296
2404
|
}
|
|
2297
|
-
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
2405
|
+
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
|
|
2298
2406
|
presentingEl: presentingElement,
|
|
2299
2407
|
currentBreakpoint: this.initialBreakpoint,
|
|
2300
2408
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
2301
2409
|
expandToScroll: this.expandToScroll,
|
|
2410
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2302
2411
|
});
|
|
2303
2412
|
// Update safe-area based on actual position after animation
|
|
2304
2413
|
this.updateSafeAreaOverrides();
|
|
@@ -2356,14 +2465,14 @@ const Modal = class {
|
|
|
2356
2465
|
// All of the elements needed for the swipe gesture
|
|
2357
2466
|
// should be in the DOM and referenced by now, except
|
|
2358
2467
|
// for the presenting el
|
|
2359
|
-
const animationBuilder = this.leaveAnimation || index$
|
|
2468
|
+
const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
|
|
2360
2469
|
const ani = (this.animation = animationBuilder(el, {
|
|
2361
2470
|
presentingEl: this.presentingElement,
|
|
2362
2471
|
expandToScroll: this.expandToScroll,
|
|
2363
2472
|
}));
|
|
2364
|
-
const contentEl = index
|
|
2473
|
+
const contentEl = index.findIonContent(el);
|
|
2365
2474
|
if (!contentEl) {
|
|
2366
|
-
index
|
|
2475
|
+
index.printIonContentErrorMsg(el);
|
|
2367
2476
|
return;
|
|
2368
2477
|
}
|
|
2369
2478
|
const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
|
|
@@ -2375,12 +2484,13 @@ const Modal = class {
|
|
|
2375
2484
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
2376
2485
|
return;
|
|
2377
2486
|
}
|
|
2378
|
-
const animationBuilder = this.enterAnimation || index$
|
|
2487
|
+
const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
|
|
2379
2488
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
2380
2489
|
presentingEl: this.presentingElement,
|
|
2381
2490
|
currentBreakpoint: initialBreakpoint,
|
|
2382
2491
|
backdropBreakpoint,
|
|
2383
2492
|
expandToScroll: this.expandToScroll,
|
|
2493
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2384
2494
|
}));
|
|
2385
2495
|
ani.progressStart(true, 1);
|
|
2386
2496
|
const { gesture, moveSheetToBreakpoint, resetContentScroll } = 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) => {
|
|
@@ -2388,7 +2498,7 @@ const Modal = class {
|
|
|
2388
2498
|
this.currentBreakpoint = breakpoint;
|
|
2389
2499
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
2390
2500
|
}
|
|
2391
|
-
}, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2501
|
+
}, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2392
2502
|
this.gesture = gesture;
|
|
2393
2503
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
2394
2504
|
this.resetSheetContentScroll = resetContentScroll;
|
|
@@ -2575,7 +2685,7 @@ const Modal = class {
|
|
|
2575
2685
|
if (dismissed) {
|
|
2576
2686
|
const { delegate } = this.getDelegate();
|
|
2577
2687
|
await frameworkDelegate.detachComponent(delegate, this.usersElement);
|
|
2578
|
-
index$
|
|
2688
|
+
index$2.writeTask(() => this.el.classList.remove('show-modal'));
|
|
2579
2689
|
if (this.animation) {
|
|
2580
2690
|
this.animation.destroy();
|
|
2581
2691
|
}
|
|
@@ -2619,11 +2729,11 @@ const Modal = class {
|
|
|
2619
2729
|
*/
|
|
2620
2730
|
async setCurrentBreakpoint(breakpoint) {
|
|
2621
2731
|
if (!this.isSheetModal) {
|
|
2622
|
-
index$
|
|
2732
|
+
index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
|
|
2623
2733
|
return;
|
|
2624
2734
|
}
|
|
2625
2735
|
if (!this.breakpoints.includes(breakpoint)) {
|
|
2626
|
-
index$
|
|
2736
|
+
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.`);
|
|
2627
2737
|
return;
|
|
2628
2738
|
}
|
|
2629
2739
|
const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
|
|
@@ -2668,6 +2778,18 @@ const Modal = class {
|
|
|
2668
2778
|
await this.setCurrentBreakpoint(nextBreakpoint);
|
|
2669
2779
|
return true;
|
|
2670
2780
|
}
|
|
2781
|
+
getShape() {
|
|
2782
|
+
const theme = ionicGlobal.getIonTheme(this);
|
|
2783
|
+
const { shape } = this;
|
|
2784
|
+
// TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
|
|
2785
|
+
if (theme !== 'ionic') {
|
|
2786
|
+
return undefined;
|
|
2787
|
+
}
|
|
2788
|
+
if (shape === undefined) {
|
|
2789
|
+
return 'round';
|
|
2790
|
+
}
|
|
2791
|
+
return shape;
|
|
2792
|
+
}
|
|
2671
2793
|
initViewTransitionListener() {
|
|
2672
2794
|
// Only enable for iOS card modals when no custom animations are provided
|
|
2673
2795
|
if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
@@ -3006,15 +3128,16 @@ const Modal = class {
|
|
|
3006
3128
|
render() {
|
|
3007
3129
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
3008
3130
|
const showHandle = handle !== false && isSheetModal;
|
|
3009
|
-
const
|
|
3010
|
-
const isCardModal = presentingElement !== undefined &&
|
|
3131
|
+
const theme$1 = ionicGlobal.getIonTheme(this);
|
|
3132
|
+
const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
|
|
3011
3133
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
3134
|
+
const shape = this.getShape();
|
|
3012
3135
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
3013
|
-
return (index$
|
|
3136
|
+
return (index$2.h(index$2.Host, Object.assign({ key: 'cf99da2a03dd010716265401c8b6fe46a9bf0ced', "no-router": true,
|
|
3014
3137
|
// Allow the modal to be navigable when the handle is focusable
|
|
3015
3138
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
3016
3139
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
3017
|
-
}, class: Object.assign({ [
|
|
3140
|
+
}, 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: '91d148a13955bcda57b5d15d2613e74cc8cd5047', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme$1 === 'ios' && index$2.h("div", { key: 'bd51fa967ced9c6d574f0bb6d3c569fe53a2be59', class: "modal-shadow" }), index$2.h("div", Object.assign({ key: '45fc1228a8dfc8009c933c6cee4067c08ab27fe6',
|
|
3018
3141
|
/*
|
|
3019
3142
|
role and aria-modal must be used on the
|
|
3020
3143
|
same element. They must also be set inside the
|
|
@@ -3027,11 +3150,11 @@ const Modal = class {
|
|
|
3027
3150
|
without the tabindex focus() would be a no-op and screen readers
|
|
3028
3151
|
may not properly announce the dialog and its content when it opens.
|
|
3029
3152
|
*/
|
|
3030
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$
|
|
3153
|
+
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: '9bcc1589af7c422ee6f116aa50f62981031042ba', class: "modal-handle",
|
|
3031
3154
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
3032
|
-
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$
|
|
3155
|
+
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: 'd913facdd6abf0d87ba5e2d7f8b2f1c18e3ef556', onSlotchange: this.onSlotChange }))));
|
|
3033
3156
|
}
|
|
3034
|
-
get el() { return index$
|
|
3157
|
+
get el() { return index$2.getElement(this); }
|
|
3035
3158
|
static get watchers() { return {
|
|
3036
3159
|
"isOpen": [{
|
|
3037
3160
|
"onIsOpenChange": 0
|
|
@@ -3051,6 +3174,7 @@ const LIFECYCLE_MAP = {
|
|
|
3051
3174
|
ionModalDidDismiss: 'ionViewDidLeave',
|
|
3052
3175
|
};
|
|
3053
3176
|
Modal.style = {
|
|
3177
|
+
ionic: modalIonicCss(),
|
|
3054
3178
|
ios: modalIosCss(),
|
|
3055
3179
|
md: modalMdCss()
|
|
3056
3180
|
};
|