@ionic/core 8.8.19 → 8.8.20-dev.11788449221.155f9f1e
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-BkKAANMJ.js → p-B2SvA6NE.js} +1 -1
- package/components/p-B39i6rpY.js +4 -0
- package/components/p-B4GJERAm.js +4 -0
- package/components/p-B9_sPaDw.js +4 -0
- package/components/p-BDqjX7Z_.js +4 -0
- package/components/{p-Cf2jSDS8.js → p-BE21dB_a.js} +1 -1
- package/components/{p-cyNmxje6.js → p-BJyeT56g.js} +1 -1
- package/components/p-BLP69XoA.js +4 -0
- package/{dist/ionic/p-D13Eaw-8.js → components/p-BTBa_wH7.js} +1 -1
- package/components/p-BU8Blvqg.js +4 -0
- package/components/p-BUePQFRZ.js +4 -0
- package/components/p-BXjGM4gW.js +4 -0
- package/components/{p-Bmq8qlkW.js → p-BXuZo5-p.js} +1 -1
- package/components/p-BYSs-jZz.js +4 -0
- package/components/{p-DqLB8yFQ.js → p-BZwQa9ey.js} +1 -1
- package/components/p-B_a4XnF2.js +4 -0
- package/components/p-BjW8SOqw.js +4 -0
- package/components/p-BnQAsi91.js +4 -0
- package/components/p-BrF4HSay.js +4 -0
- package/components/p-Bs5kME4N.js +4 -0
- package/components/p-BwKpO3Is.js +4 -0
- package/components/{p-D6Ynv7Xh.js → p-BwzRqsq1.js} +1 -1
- package/components/p-C0K6CGg9.js +4 -0
- package/components/p-C1L59jNd.js +4 -0
- package/components/p-C3ydXg9O.js +4 -0
- package/components/p-C5F5Zw01.js +4 -0
- package/components/p-C784We0w.js +4 -0
- package/components/p-CA81qANP.js +4 -0
- package/{dist/ionic/p-CPTv7G9B.js → components/p-CEz0vNHD.js} +1 -1
- package/components/p-CHB9zWT6.js +4 -0
- package/components/p-CJNsztW3.js +4 -0
- package/components/{p-qMmFisyx.js → p-CKLXmqy1.js} +1 -1
- package/components/p-CODBQrPj.js +4 -0
- package/components/p-CVYFPBs-.js +4 -0
- package/components/p-CWqLCAML.js +4 -0
- package/components/p-CaB0_AG0.js +4 -0
- package/components/p-CaXMr1SL.js +4 -0
- package/components/p-Cc3oC60a.js +4 -0
- package/components/p-CjlmHeGM.js +4 -0
- package/components/p-CstXr-x9.js +4 -0
- package/components/p-Cu8FoYIJ.js +4 -0
- package/components/p-CxhjkdQ_.js +4 -0
- package/components/p-CxoHM559.js +4 -0
- package/components/p-D0Iqw6OZ.js +4 -0
- package/components/p-D12Xsfh7.js +4 -0
- package/components/p-D1t981Ih.js +4 -0
- package/components/p-D2tZEPGv.js +4 -0
- package/components/p-D6zl6ZA8.js +4 -0
- package/components/p-DExJ63jR.js +4 -0
- package/components/p-DHvfufkW.js +4 -0
- package/components/p-DNweMi32.js +4 -0
- package/components/p-DRUGmlKi.js +4 -0
- package/components/p-DYq-5riI.js +4 -0
- package/components/p-DaJxRxSQ.js +4 -0
- package/components/{p-DmzFY5IC.js → p-Db3A3kHi.js} +1 -1
- package/components/p-Df6AAcu8.js +4 -0
- package/components/p-Dhi5xtNS.js +4 -0
- package/components/{p-6J0vc7Z8.js → p-Di8NbWfs.js} +1 -1
- package/components/p-DkfVuzjA.js +4 -0
- package/components/p-DriGEn08.js +4 -0
- package/components/p-Ds3yn-R0.js +4 -0
- package/components/p-DylrHLJF.js +4 -0
- package/components/p-VrmyB-Wu.js +4 -0
- package/components/{p-Ck0lEczL.js → p-Wn4ujuPW.js} +1 -1
- package/components/{p-CgkrslTX.js → p-X6YgGSBf.js} +1 -1
- package/components/{p-BDd9Zrb9.js → p-dLA3JnNJ.js} +1 -1
- package/components/p-fIOYmaqA.js +4 -0
- package/components/p-vUGYs065.js +4 -0
- package/components/p-vXpMhGrs.js +4 -0
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/display.css +1 -1
- package/css/display.css.map +1 -1
- package/css/flex-utils.css +1 -1
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic/bundle.ionic.css +1 -0
- package/css/ionic/bundle.ionic.css.map +1 -0
- package/css/ionic/core.ionic.css +1 -0
- package/css/ionic/core.ionic.css.map +1 -0
- package/css/ionic/global.bundle.ionic.css +1 -0
- package/css/ionic/global.bundle.ionic.css.map +1 -0
- package/css/ionic/ionic-swiper.ionic.css +1 -0
- package/css/ionic/ionic-swiper.ionic.css.map +1 -0
- package/css/ionic/link.ionic.css +1 -0
- package/css/ionic/link.ionic.css.map +1 -0
- package/css/ionic/structure.ionic.css +1 -0
- package/css/ionic/structure.ionic.css.map +1 -0
- package/css/ionic/typography.ionic.css +1 -0
- package/css/ionic/typography.ionic.css.map +1 -0
- package/css/ionic/utils.bundle.ionic.css +1 -0
- package/css/ionic/utils.bundle.ionic.css.map +1 -0
- package/css/ionic-swiper.css +1 -1
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/normalize.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{animation-Ch16T-Nb.js → animation-CxRPIayb.js} +3 -3
- package/dist/cjs/{app-globals-Dd89e0MR.js → app-globals-BwvlV6g7.js} +1 -1
- package/dist/cjs/{button-active-AWp_ygDP.js → button-active-qCQDwE2m.js} +2 -2
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CRl0exFC.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-C7B9kyMa.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-CEzl4MEA.js → framework-delegate-IvkF1VuM.js} +4 -2
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-DG25gZzb.js} +1 -1
- package/dist/cjs/{helpers-DdZyl6WL.js → helpers-Dhimwhpn.js} +71 -4
- package/dist/cjs/{index-CD92bI7B.js → index-Bsq0SbXc.js} +2 -2
- package/dist/cjs/{index-BfaXsATC.js → index-C1knGA9x.js} +53 -4
- package/dist/cjs/{index-DqmRDbxg.js → index-CxDnX7hd.js} +3 -1
- package/dist/cjs/{index-DOiZqxWZ.js → index-DhDV4RxJ.js} +15 -15
- package/dist/cjs/{index-CukZnH1U.js → index-DuleInoh.js} +4 -4
- package/dist/cjs/index-YYUVCfP-.js +429 -0
- package/dist/cjs/{index-MWAIyVLl.js → index-yon1HGB7.js} +9 -8
- package/dist/cjs/index.cjs.js +16 -16
- package/dist/cjs/{input-shims-CPKgrIe3.js → input-shims-BgJcHtqI.js} +18 -17
- package/dist/cjs/{input.utils-DQaUGGed.js → input.utils--RmR5lVe.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 +608 -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-DYLhJaw7.js +519 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-CTiTDh3m.js → ios.transition-Blgf-vZU.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-BgioTbwQ.js} +1 -1
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Otnp8OQI.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-BpiTAaqF.js → md.transition-ClgvbGfq.js} +6 -5
- package/dist/cjs/{notch-controller-aiy8aQb-.js → notch-controller-0hkmmSGo.js} +4 -4
- package/dist/cjs/overlay-control-label-DnRLQR1t.js +52 -0
- package/dist/cjs/{overlays-CQ_c1fko.js → overlays-Bxjqh2m3.js} +309 -18
- package/dist/cjs/scroll-hide-controller-qWMU5yOk.js +345 -0
- package/dist/cjs/select-option-render-BqJEK1N1.js +124 -0
- package/dist/cjs/{status-tap-7FzRlXNr.js → status-tap-ClA8u57t.js} +4 -3
- package/dist/cjs/{swipe-back-DwTZiAc9.js → swipe-back-4vY7mi8i.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-BsVixxLP.js} +2 -2
- package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-rPvWQFXp.js} +1 -1
- package/dist/esm/{button-active-CXXy0FIE.js → button-active-BS8YgJRD.js} +2 -2
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-BnXrCBvt.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-Ci6Q_x5-.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-B9yvYzqV.js → framework-delegate-P5K_3uYw.js} +4 -2
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-ByW74Ow9.js} +1 -1
- package/dist/esm/{helpers-DkCLSLI9.js → helpers-ChPZH7zh.js} +71 -5
- package/dist/esm/{index-DV3sJJW8.js → index-B4Kq2YNk.js} +3 -2
- package/dist/esm/{index-tcQvqkiX.js → index-C0EQceqV.js} +53 -4
- package/dist/esm/{index-DwNKJodj.js → index-C7EAbm0C.js} +4 -3
- package/dist/esm/{index-DdeElWma.js → index-C7F1yJyV.js} +11 -11
- package/dist/esm/{index-Dsz7OTeL.js → index-CXSPjEca.js} +4 -4
- package/dist/esm/index-Mq5pCWmZ.js +424 -0
- package/dist/esm/{index-B_8X7INq.js → index-niemeDYi.js} +2 -2
- package/dist/esm/index.js +14 -14
- package/dist/esm/{input-shims-d-hDv86G.js → input-shims-CM5m0K8T.js} +7 -6
- package/dist/esm/{input.utils-Cd23Gdd1.js → input.utils-DhJNJPiU.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 +606 -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-BJDU78B6.js +508 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-CxNhMt4a.js → ios.transition-6oGu53GR.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-XukEYIFf.js} +4 -3
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-x-uHYVoq.js} +1 -1
- package/dist/esm/list-Dhi5xtNS.js +6 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-IE4mC3kp.js → md.transition-Dy5HxiSE.js} +6 -5
- package/dist/esm/{notch-controller-Doqis1td.js → notch-controller-BYB7mUMg.js} +2 -2
- package/dist/esm/overlay-control-label-CODBQrPj.js +49 -0
- package/dist/esm/{overlays-COCl_nm9.js → overlays-C3YvaMgX.js} +306 -15
- package/dist/esm/scroll-hide-controller-B3MRYNXh.js +342 -0
- package/dist/esm/select-option-render-BlKZ2H83.js +122 -0
- package/dist/esm/{status-tap-HhO5eQI9.js → status-tap-DK-ylvU7.js} +4 -3
- package/dist/esm/{swipe-back-DK6afpuO.js → swipe-back-DFICtpMC.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-0166d6e5.entry.js +4 -0
- package/dist/ionic/p-0a0a66e2.entry.js +4 -0
- package/dist/ionic/p-0ac15b5f.entry.js +4 -0
- package/dist/ionic/p-0c636ad3.entry.js +4 -0
- package/dist/ionic/p-126031d2.entry.js +4 -0
- package/dist/ionic/p-1a609156.entry.js +4 -0
- package/dist/ionic/p-1b473bad.entry.js +4 -0
- package/dist/ionic/p-1c1c18da.entry.js +4 -0
- package/dist/ionic/p-1ce65194.entry.js +4 -0
- package/dist/ionic/p-1febf200.entry.js +4 -0
- package/dist/ionic/p-2016c1c0.entry.js +4 -0
- package/dist/ionic/p-2365483a.entry.js +4 -0
- package/dist/ionic/p-296226f1.entry.js +4 -0
- package/dist/ionic/p-2a54aec2.entry.js +4 -0
- package/dist/ionic/p-2bf60b77.entry.js +4 -0
- package/dist/ionic/p-2e0184c0.entry.js +4 -0
- package/dist/ionic/p-2e1d650a.entry.js +4 -0
- package/dist/ionic/p-316eed75.entry.js +4 -0
- package/dist/ionic/p-31a0c9c2.entry.js +4 -0
- package/dist/ionic/p-40a21a22.entry.js +4 -0
- package/dist/ionic/p-431bc3ce.entry.js +4 -0
- package/dist/ionic/p-51542c69.entry.js +4 -0
- package/dist/ionic/p-5dedd699.entry.js +4 -0
- package/dist/ionic/p-68e453f7.entry.js +4 -0
- package/dist/ionic/p-711ba315.entry.js +4 -0
- package/dist/ionic/p-731d11e1.entry.js +4 -0
- package/dist/ionic/p-75c7595c.entry.js +4 -0
- package/dist/ionic/p-76232f5f.entry.js +4 -0
- package/dist/ionic/p-7cbf17f0.entry.js +4 -0
- package/dist/ionic/p-7f59020c.entry.js +4 -0
- package/dist/ionic/{p-C0eMdTCW.js → p-7k7Q1A38.js} +1 -1
- package/dist/ionic/p-8303462c.entry.js +4 -0
- package/dist/ionic/p-9db78e5c.entry.js +4 -0
- package/dist/ionic/p-B4Kq2YNk.js +4 -0
- package/dist/ionic/p-BDqjX7Z_.js +4 -0
- package/dist/ionic/p-BFhQ1N-L.js +4 -0
- package/dist/ionic/p-BG7tpRhR.js +4 -0
- package/{components/p-D13Eaw-8.js → dist/ionic/p-BITyMTKr.js} +1 -1
- package/dist/ionic/p-BRPONI7N.js +4 -0
- package/dist/ionic/p-BVdSuKmt.js +4 -0
- package/dist/ionic/p-BYSs-jZz.js +4 -0
- package/dist/ionic/p-BjW8SOqw.js +4 -0
- package/dist/ionic/p-Bpx1lBiP.js +4 -0
- package/dist/ionic/p-BwKpO3Is.js +4 -0
- package/dist/ionic/p-C-BLhfUi.js +4 -0
- package/dist/ionic/p-C-aO35cw.js +4 -0
- package/dist/ionic/p-C0EQceqV.js +5 -0
- package/dist/ionic/p-CDrQfM-I.js +4 -0
- package/dist/ionic/p-CODBQrPj.js +4 -0
- package/dist/ionic/p-CTSaffvS.js +4 -0
- package/dist/ionic/p-CaM5HwzM.js +4 -0
- package/dist/ionic/p-CgaW5Zy8.js +4 -0
- package/dist/ionic/p-Cipl19Qe.js +4 -0
- package/dist/ionic/p-CnBfCmL2.js +4 -0
- package/dist/ionic/p-D-Xit5Ye.js +4 -0
- package/dist/ionic/p-D1t981Ih.js +4 -0
- package/dist/ionic/p-D7LIC84Z.js +4 -0
- package/dist/ionic/p-D844sgjq.js +4 -0
- package/dist/ionic/p-DWDKFjrH.js +4 -0
- package/dist/ionic/p-DaJxRxSQ.js +4 -0
- package/dist/ionic/p-Dhi5xtNS.js +4 -0
- package/dist/ionic/p-DhyWlGap.js +4 -0
- package/dist/ionic/p-DiyY-i-5.js +4 -0
- package/dist/ionic/{p-B2kaj8sx.js → p-DrxPmT9E.js} +1 -1
- package/dist/ionic/p-YIsE5bNG.js +4 -0
- package/dist/ionic/p-a37444b3.entry.js +4 -0
- package/dist/ionic/p-a9df0ccf.entry.js +4 -0
- package/dist/ionic/p-ac3af8af.entry.js +4 -0
- package/dist/ionic/p-b25f3aba.entry.js +4 -0
- package/dist/ionic/p-b3da2cc7.entry.js +4 -0
- package/dist/ionic/p-b4533070.entry.js +4 -0
- package/dist/ionic/p-b4901bce.entry.js +4 -0
- package/dist/ionic/p-bb7bb4fd.entry.js +4 -0
- package/dist/ionic/p-be06def7.entry.js +4 -0
- package/dist/ionic/p-c0983eac.entry.js +4 -0
- package/dist/ionic/p-c4ebdfd2.entry.js +4 -0
- package/dist/ionic/p-c4ed1e18.entry.js +4 -0
- package/dist/ionic/p-d9ac7a0d.entry.js +4 -0
- package/dist/ionic/p-dc8a8505.entry.js +4 -0
- package/dist/ionic/p-ddc41dbb.entry.js +4 -0
- package/dist/ionic/p-de4e8418.entry.js +4 -0
- package/dist/ionic/p-df642ef5.entry.js +4 -0
- package/dist/ionic/p-e086f8c3.entry.js +4 -0
- package/dist/ionic/p-edd8f490.entry.js +4 -0
- package/dist/ionic/p-f0968c91.entry.js +4 -0
- package/dist/ionic/p-f6768728.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-fc726f4a.entry.js +4 -0
- package/dist/ionic/p-ff74cf5d.entry.js +4 -0
- package/dist/ionic/p-i6iV8hMy.js +4 -0
- package/dist/ionic/p-nUlpIttM.js +4 -0
- package/dist/ionic/p-vXpMhGrs.js +4 -0
- package/dist/ionic/p-zRFin7iz.js +4 -0
- package/dist/ionic/{p-CKvCXMs9.js → p-zn4qAQ_d.js} +1 -1
- 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-0LM2oPMC.js +0 -4
- package/components/p-9GFIh9p1.js +0 -4
- package/components/p-B21528L5.js +0 -4
- package/components/p-B2nSfLHH.js +0 -4
- package/components/p-B3qf4bEn.js +0 -4
- package/components/p-B9jFTlwE.js +0 -4
- package/components/p-BLmJ0zRm.js +0 -4
- package/components/p-BMYNBJgf.js +0 -4
- package/components/p-BRYd8D-I.js +0 -4
- package/components/p-BSEgsdFI.js +0 -4
- package/components/p-BTJrYwxN.js +0 -4
- package/components/p-BV-zKay-.js +0 -4
- package/components/p-BmVRXR1y.js +0 -4
- package/components/p-BuxQcfHK.js +0 -4
- package/components/p-Bz0dSlXZ.js +0 -4
- package/components/p-C7II1iDj.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-CSZf8_j0.js +0 -4
- package/components/p-CTdRooFV.js +0 -4
- package/components/p-Cfx4M1Bn.js +0 -4
- package/components/p-CiCzYG2V.js +0 -4
- package/components/p-CmR5uXej.js +0 -4
- package/components/p-CniZht3v.js +0 -4
- package/components/p-CsaojgEs.js +0 -4
- package/components/p-CtWGkNnJ.js +0 -4
- package/components/p-D4FYu-4R.js +0 -4
- package/components/p-DARjq3GM.js +0 -4
- package/components/p-DEZ2myA3.js +0 -4
- package/components/p-DJztqcrH.js +0 -4
- package/components/p-DOFCbuQR.js +0 -4
- package/components/p-DVe41iHI.js +0 -4
- package/components/p-DX5m9g56.js +0 -4
- package/components/p-DboHi2CL.js +0 -4
- package/components/p-DiVJyqlX.js +0 -4
- package/components/p-DqZAXv2t.js +0 -4
- package/components/p-Dv8w0kqz.js +0 -4
- package/components/p-Dw7GNDKq.js +0 -4
- package/components/p-Dww01PNs.js +0 -4
- package/components/p-Gy276IJk.js +0 -4
- package/components/p-ZjP4CjeZ.js +0 -4
- package/components/p-ZzLXTvyt.js +0 -4
- package/components/p-j5IxBIan.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/components/p-lVAbdiAu.js +0 -4
- package/components/p-rCa2eL0j.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-0283ea73.entry.js +0 -4
- package/dist/ionic/p-02ecae65.entry.js +0 -4
- package/dist/ionic/p-0672f677.entry.js +0 -4
- package/dist/ionic/p-0c06fe60.entry.js +0 -4
- package/dist/ionic/p-0fa9c382.entry.js +0 -4
- package/dist/ionic/p-1af4d74c.entry.js +0 -4
- package/dist/ionic/p-1d7ef0d2.entry.js +0 -4
- package/dist/ionic/p-26f05d3a.entry.js +0 -4
- package/dist/ionic/p-27d30585.entry.js +0 -4
- package/dist/ionic/p-2bb2cb18.entry.js +0 -4
- package/dist/ionic/p-31e7bd05.entry.js +0 -4
- package/dist/ionic/p-32f53010.entry.js +0 -4
- package/dist/ionic/p-35eb8b5c.entry.js +0 -4
- package/dist/ionic/p-37e720da.entry.js +0 -4
- package/dist/ionic/p-3efa137b.entry.js +0 -4
- package/dist/ionic/p-432bd72c.entry.js +0 -4
- package/dist/ionic/p-47214c72.entry.js +0 -4
- package/dist/ionic/p-4e172429.entry.js +0 -4
- package/dist/ionic/p-5c3da84e.entry.js +0 -4
- package/dist/ionic/p-5d1da0a2.entry.js +0 -4
- package/dist/ionic/p-5d8082fe.entry.js +0 -4
- package/dist/ionic/p-613d3c43.entry.js +0 -4
- package/dist/ionic/p-616e4d4f.entry.js +0 -4
- package/dist/ionic/p-65d611b2.entry.js +0 -4
- package/dist/ionic/p-67806e3f.entry.js +0 -4
- package/dist/ionic/p-68cbb2fc.entry.js +0 -4
- package/dist/ionic/p-737ae9eb.entry.js +0 -4
- package/dist/ionic/p-7b0d6248.entry.js +0 -4
- package/dist/ionic/p-7e71e470.entry.js +0 -4
- package/dist/ionic/p-84d5ce05.entry.js +0 -4
- package/dist/ionic/p-85d49987.entry.js +0 -4
- package/dist/ionic/p-8945088b.entry.js +0 -4
- package/dist/ionic/p-8b155568.entry.js +0 -4
- package/dist/ionic/p-90267c4b.entry.js +0 -4
- package/dist/ionic/p-92ad8a67.entry.js +0 -4
- package/dist/ionic/p-9a97d4e0.entry.js +0 -4
- package/dist/ionic/p-9e4b0894.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-B4y7nxsg.js +0 -4
- package/dist/ionic/p-B8t9Ro6f.js +0 -4
- package/dist/ionic/p-BEOxsxBw.js +0 -4
- package/dist/ionic/p-BJ2NxSHp.js +0 -4
- package/dist/ionic/p-BLiL8g0v.js +0 -4
- package/dist/ionic/p-BUFIpxKM.js +0 -4
- package/dist/ionic/p-BmVRXR1y.js +0 -4
- package/dist/ionic/p-CIGNaXM1.js +0 -4
- package/dist/ionic/p-Cd4H8ft-.js +0 -4
- package/dist/ionic/p-ClM02LPk.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-CxMyXUtt.js +0 -4
- package/dist/ionic/p-DCoy2elM.js +0 -4
- package/dist/ionic/p-DJztqcrH.js +0 -4
- package/dist/ionic/p-DV3sJJW8.js +0 -4
- package/dist/ionic/p-DZaO33Mw.js +0 -4
- package/dist/ionic/p-DiVJyqlX.js +0 -4
- package/dist/ionic/p-DipZFfzN.js +0 -4
- package/dist/ionic/p-DqN5EA2O.js +0 -4
- package/dist/ionic/p-Dr9fTCb1.js +0 -4
- package/dist/ionic/p-DzWaWHGc.js +0 -4
- package/dist/ionic/p-EkpneKVM.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-ab00b0d8.entry.js +0 -4
- package/dist/ionic/p-c2175309.entry.js +0 -4
- package/dist/ionic/p-c4b69d9b.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-ce637936.entry.js +0 -4
- package/dist/ionic/p-da85e958.entry.js +0 -4
- package/dist/ionic/p-dfa8d673.entry.js +0 -4
- package/dist/ionic/p-e139357c.entry.js +0 -4
- package/dist/ionic/p-e7b7a7b1.entry.js +0 -4
- package/dist/ionic/p-f37ca594.entry.js +0 -4
- package/dist/ionic/p-f8dd336e.entry.js +0 -4
- package/dist/ionic/p-f9de757b.entry.js +0 -4
- package/dist/ionic/p-fe11cf51.entry.js +0 -4
- package/dist/ionic/p-mjKAFv89.js +0 -4
- package/dist/ionic/p-tcQvqkiX.js +0 -5
- /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
|
@@ -3,25 +3,24 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index$
|
|
7
|
-
var index
|
|
8
|
-
var frameworkDelegate = require('./framework-delegate-
|
|
9
|
-
var helpers = require('./helpers-
|
|
6
|
+
var index$2 = require('./index-C1knGA9x.js');
|
|
7
|
+
var index = require('./index-Bsq0SbXc.js');
|
|
8
|
+
var frameworkDelegate = require('./framework-delegate-IvkF1VuM.js');
|
|
9
|
+
var helpers = require('./helpers-Dhimwhpn.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-CRl0exFC.js');
|
|
12
|
+
var overlays = require('./overlays-Bxjqh2m3.js');
|
|
13
|
+
var theme = require('./theme-IlOsGAz7.js');
|
|
14
|
+
var index$3 = require('./index-DuleInoh.js');
|
|
15
|
+
var ionicGlobal = require('./ionic-global-DYLhJaw7.js');
|
|
16
|
+
var keyboard = require('./keyboard-Otnp8OQI.js');
|
|
17
|
+
var animation = require('./animation-CxRPIayb.js');
|
|
18
18
|
var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
|
|
19
|
-
var index$
|
|
20
|
-
|
|
19
|
+
var index$1 = require('./index-BJ2-LydH.js');
|
|
20
|
+
require('./focus-visible-BIj-I3-C.js');
|
|
21
21
|
require('./dir-DD0jPVH3.js');
|
|
22
|
-
require('./hardware-back-button-CXmUnTJC.js');
|
|
23
22
|
require('./gesture-controller-dtqlP_q4.js');
|
|
24
|
-
require('./keyboard-
|
|
23
|
+
require('./keyboard-BgioTbwQ.js');
|
|
25
24
|
|
|
26
25
|
var Style;
|
|
27
26
|
(function (Style) {
|
|
@@ -118,18 +117,116 @@ const getBackdropValueForSheet = (x, backdropBreakpoint) => {
|
|
|
118
117
|
*
|
|
119
118
|
*/
|
|
120
119
|
const setCardStatusBarDark = () => {
|
|
121
|
-
if (!
|
|
120
|
+
if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
|
|
122
121
|
return;
|
|
123
122
|
}
|
|
124
123
|
StatusBar.setStyle({ style: Style.Dark });
|
|
125
124
|
};
|
|
126
125
|
const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
|
|
127
|
-
if (!
|
|
126
|
+
if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
|
|
128
127
|
return;
|
|
129
128
|
}
|
|
130
129
|
StatusBar.setStyle({ style: defaultStyle });
|
|
131
130
|
};
|
|
132
131
|
|
|
132
|
+
const createSheetEnterAnimation = (opts) => {
|
|
133
|
+
const { currentBreakpoint, backdropBreakpoint, expandToScroll, staticBackdropOpacity } = opts;
|
|
134
|
+
/**
|
|
135
|
+
* If the backdropBreakpoint is undefined, then the backdrop
|
|
136
|
+
* should always fade in. If the backdropBreakpoint came before the
|
|
137
|
+
* current breakpoint, then the backdrop should be fading in.
|
|
138
|
+
*/
|
|
139
|
+
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
140
|
+
let initialBackdrop = '0';
|
|
141
|
+
if (staticBackdropOpacity) {
|
|
142
|
+
initialBackdrop = 'calc(var(--backdrop-opacity)';
|
|
143
|
+
}
|
|
144
|
+
else if (shouldShowBackdrop) {
|
|
145
|
+
initialBackdrop = `calc(var(--backdrop-opacity) * ${currentBreakpoint})`;
|
|
146
|
+
}
|
|
147
|
+
const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
148
|
+
if (shouldShowBackdrop) {
|
|
149
|
+
backdropAnimation
|
|
150
|
+
.beforeStyles({
|
|
151
|
+
'pointer-events': 'none',
|
|
152
|
+
})
|
|
153
|
+
.afterClearStyles(['pointer-events']);
|
|
154
|
+
}
|
|
155
|
+
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
156
|
+
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
157
|
+
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
158
|
+
]);
|
|
159
|
+
/**
|
|
160
|
+
* This allows the content to be scrollable at any breakpoint.
|
|
161
|
+
*/
|
|
162
|
+
const contentAnimation = !expandToScroll
|
|
163
|
+
? animation.createAnimation('contentAnimation').keyframes([
|
|
164
|
+
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
165
|
+
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
166
|
+
])
|
|
167
|
+
: undefined;
|
|
168
|
+
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
169
|
+
};
|
|
170
|
+
const createSheetLeaveAnimation = (opts) => {
|
|
171
|
+
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
172
|
+
/**
|
|
173
|
+
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
174
|
+
* is defined, so we need to account for that offset by figuring out
|
|
175
|
+
* what the current backdrop value should be.
|
|
176
|
+
*/
|
|
177
|
+
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
178
|
+
const defaultBackdrop = [
|
|
179
|
+
{ offset: 0, opacity: backdropValue },
|
|
180
|
+
{ offset: 1, opacity: 0 },
|
|
181
|
+
];
|
|
182
|
+
const customBackdrop = [
|
|
183
|
+
{ offset: 0, opacity: backdropValue },
|
|
184
|
+
{ offset: backdropBreakpoint, opacity: 0 },
|
|
185
|
+
{ offset: 1, opacity: 0 },
|
|
186
|
+
];
|
|
187
|
+
const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
188
|
+
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
189
|
+
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
190
|
+
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
191
|
+
]);
|
|
192
|
+
return { wrapperAnimation, backdropAnimation };
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
const createEnterAnimation$2 = () => {
|
|
196
|
+
const backdropAnimation = animation.createAnimation()
|
|
197
|
+
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
198
|
+
.beforeStyles({
|
|
199
|
+
'pointer-events': 'none',
|
|
200
|
+
})
|
|
201
|
+
.afterClearStyles(['pointer-events']);
|
|
202
|
+
const wrapperAnimation = animation.createAnimation().keyframes([
|
|
203
|
+
{ offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
|
|
204
|
+
{ offset: 1, opacity: 1, transform: `translateY(0px)` },
|
|
205
|
+
]);
|
|
206
|
+
return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
|
|
207
|
+
};
|
|
208
|
+
/**
|
|
209
|
+
* Ionic Modal Enter Animation
|
|
210
|
+
*/
|
|
211
|
+
const ionicEnterAnimation = (baseEl, opts) => {
|
|
212
|
+
const { currentBreakpoint, expandToScroll } = opts;
|
|
213
|
+
const root = helpers.getElementRoot(baseEl);
|
|
214
|
+
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$2();
|
|
215
|
+
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
216
|
+
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
217
|
+
// The content animation is only added if scrolling is enabled for
|
|
218
|
+
// all the breakpoints.
|
|
219
|
+
!expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
220
|
+
backdropAnimation.duration(300).easing('ease-out');
|
|
221
|
+
wrapperAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
|
|
222
|
+
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
|
|
223
|
+
const baseAnimation = animation.createAnimation().addElement(baseEl).addAnimation([backdropAnimation, wrapperAnimation]);
|
|
224
|
+
if (contentAnimation) {
|
|
225
|
+
baseAnimation.addAnimation(contentAnimation);
|
|
226
|
+
}
|
|
227
|
+
return baseAnimation;
|
|
228
|
+
};
|
|
229
|
+
|
|
133
230
|
/**
|
|
134
231
|
* Swiping is only possible when the content is scrolled to the top, so that we
|
|
135
232
|
* do not interfere with scrolling, and never on content with a refresher.
|
|
@@ -141,8 +238,8 @@ const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
|
|
|
141
238
|
* synchronous operation, and `getScrollElement` is asynchronous.
|
|
142
239
|
*/
|
|
143
240
|
const canSwipeOnContent = (contentEl) => {
|
|
144
|
-
const scrollEl = index
|
|
145
|
-
const hasRefresherInContent = !!index
|
|
241
|
+
const scrollEl = index.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
242
|
+
const hasRefresherInContent = !!index.findRefresherInContent(contentEl);
|
|
146
243
|
return !hasRefresherInContent && scrollEl.scrollTop === 0;
|
|
147
244
|
};
|
|
148
245
|
const handleCanDismiss = async (el, animation) => {
|
|
@@ -279,7 +376,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
279
376
|
let initialScrollY = true;
|
|
280
377
|
let lastStep = 0;
|
|
281
378
|
const getScrollY = () => {
|
|
282
|
-
if (contentEl && index
|
|
379
|
+
if (contentEl && index.isIonContent(contentEl)) {
|
|
283
380
|
return contentEl.scrollY;
|
|
284
381
|
/**
|
|
285
382
|
* Custom scroll containers are intended to be
|
|
@@ -305,7 +402,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
305
402
|
* swipe again. The target content will not
|
|
306
403
|
* be the same between swipes.
|
|
307
404
|
*/
|
|
308
|
-
contentEl = index
|
|
405
|
+
contentEl = index.findClosestIonContent(target);
|
|
309
406
|
if (contentEl) {
|
|
310
407
|
return canSwipeOnContent(contentEl);
|
|
311
408
|
}
|
|
@@ -350,7 +447,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
350
447
|
* happen at the same time as the gesture.
|
|
351
448
|
*/
|
|
352
449
|
if (deltaY > 0 && contentEl) {
|
|
353
|
-
index
|
|
450
|
+
index.disableContentScrollY(contentEl);
|
|
354
451
|
}
|
|
355
452
|
animation.progressStart(true, isOpen ? 1 : 0);
|
|
356
453
|
onDragStart();
|
|
@@ -364,7 +461,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
364
461
|
* happen at the same time as the gesture.
|
|
365
462
|
*/
|
|
366
463
|
if (deltaY > 0 && contentEl) {
|
|
367
|
-
index
|
|
464
|
+
index.disableContentScrollY(contentEl);
|
|
368
465
|
}
|
|
369
466
|
/**
|
|
370
467
|
* If we are swiping on the content
|
|
@@ -459,7 +556,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
459
556
|
isOpen = shouldComplete;
|
|
460
557
|
gesture.enable(false);
|
|
461
558
|
if (contentEl) {
|
|
462
|
-
index
|
|
559
|
+
index.resetContentScrollY(contentEl, initialScrollY);
|
|
463
560
|
}
|
|
464
561
|
animation
|
|
465
562
|
.onFinish(() => {
|
|
@@ -494,7 +591,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
494
591
|
};
|
|
495
592
|
onDragEnd(eventDetail);
|
|
496
593
|
};
|
|
497
|
-
const gesture = index$
|
|
594
|
+
const gesture = index$1.createGesture({
|
|
498
595
|
el,
|
|
499
596
|
gestureName: 'modalSwipeToClose',
|
|
500
597
|
gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
|
|
@@ -549,63 +646,6 @@ const calculateProgress = (el, deltaY) => {
|
|
|
549
646
|
return Math.max(0, Math.min(1, roundedProgress));
|
|
550
647
|
};
|
|
551
648
|
|
|
552
|
-
const createSheetEnterAnimation = (opts) => {
|
|
553
|
-
const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
|
|
554
|
-
/**
|
|
555
|
-
* If the backdropBreakpoint is undefined, then the backdrop
|
|
556
|
-
* should always fade in. If the backdropBreakpoint came before the
|
|
557
|
-
* current breakpoint, then the backdrop should be fading in.
|
|
558
|
-
*/
|
|
559
|
-
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
560
|
-
const initialBackdrop = shouldShowBackdrop ? `calc(var(--backdrop-opacity) * ${currentBreakpoint})` : '0';
|
|
561
|
-
const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
562
|
-
if (shouldShowBackdrop) {
|
|
563
|
-
backdropAnimation
|
|
564
|
-
.beforeStyles({
|
|
565
|
-
'pointer-events': 'none',
|
|
566
|
-
})
|
|
567
|
-
.afterClearStyles(['pointer-events']);
|
|
568
|
-
}
|
|
569
|
-
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
570
|
-
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
571
|
-
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
572
|
-
]);
|
|
573
|
-
/**
|
|
574
|
-
* This allows the content to be scrollable at any breakpoint.
|
|
575
|
-
*/
|
|
576
|
-
const contentAnimation = !expandToScroll
|
|
577
|
-
? animation.createAnimation('contentAnimation').keyframes([
|
|
578
|
-
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
579
|
-
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
580
|
-
])
|
|
581
|
-
: undefined;
|
|
582
|
-
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
583
|
-
};
|
|
584
|
-
const createSheetLeaveAnimation = (opts) => {
|
|
585
|
-
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
586
|
-
/**
|
|
587
|
-
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
588
|
-
* is defined, so we need to account for that offset by figuring out
|
|
589
|
-
* what the current backdrop value should be.
|
|
590
|
-
*/
|
|
591
|
-
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
592
|
-
const defaultBackdrop = [
|
|
593
|
-
{ offset: 0, opacity: backdropValue },
|
|
594
|
-
{ offset: 1, opacity: 0 },
|
|
595
|
-
];
|
|
596
|
-
const customBackdrop = [
|
|
597
|
-
{ offset: 0, opacity: backdropValue },
|
|
598
|
-
{ offset: backdropBreakpoint, opacity: 0 },
|
|
599
|
-
{ offset: 1, opacity: 0 },
|
|
600
|
-
];
|
|
601
|
-
const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
602
|
-
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
603
|
-
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
604
|
-
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
605
|
-
]);
|
|
606
|
-
return { wrapperAnimation, backdropAnimation };
|
|
607
|
-
};
|
|
608
|
-
|
|
609
649
|
const createEnterAnimation$1 = () => {
|
|
610
650
|
const backdropAnimation = animation.createAnimation()
|
|
611
651
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
@@ -996,17 +1036,17 @@ const mdLeaveAnimation = (baseEl, opts) => {
|
|
|
996
1036
|
return baseAnimation;
|
|
997
1037
|
};
|
|
998
1038
|
|
|
999
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
|
|
1039
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, usePhysicsBasedGesture, onDragStart, onDragMove, onDragEnd) => {
|
|
1000
1040
|
var _a;
|
|
1001
1041
|
// Defaults for the sheet swipe animation
|
|
1002
1042
|
const defaultBackdrop = [
|
|
1003
1043
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1004
|
-
{ offset: 1, opacity: 0.01 },
|
|
1044
|
+
{ offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0.01 },
|
|
1005
1045
|
];
|
|
1006
1046
|
const customBackdrop = [
|
|
1007
1047
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1008
|
-
{ offset: 1 - backdropBreakpoint, opacity: 0 },
|
|
1009
|
-
{ offset: 1, opacity: 0 },
|
|
1048
|
+
{ offset: 1 - backdropBreakpoint, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
|
|
1049
|
+
{ offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
|
|
1010
1050
|
];
|
|
1011
1051
|
const SheetDefaults = {
|
|
1012
1052
|
WRAPPER_KEYFRAMES: [
|
|
@@ -1186,7 +1226,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1186
1226
|
* For example, when using ion-nav within a modal it is possible to swipe, push a view,
|
|
1187
1227
|
* and then swipe again. The target content will not be the same between swipes.
|
|
1188
1228
|
*/
|
|
1189
|
-
const contentEl = index
|
|
1229
|
+
const contentEl = index.findClosestIonContent(detail.event.target);
|
|
1190
1230
|
currentBreakpoint = getCurrentBreakpoint();
|
|
1191
1231
|
/**
|
|
1192
1232
|
* Upwards swipes on the content cannot move the sheet anyway, so this only
|
|
@@ -1224,9 +1264,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1224
1264
|
* which would impact performance significantly.
|
|
1225
1265
|
*/
|
|
1226
1266
|
if (!expandToScroll) {
|
|
1227
|
-
const targetEl = index
|
|
1267
|
+
const targetEl = index.findClosestIonContent(detail.event.target);
|
|
1228
1268
|
cachedScrollEl =
|
|
1229
|
-
targetEl && index
|
|
1269
|
+
targetEl && index.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
|
|
1230
1270
|
}
|
|
1231
1271
|
/**
|
|
1232
1272
|
* If expandToScroll is disabled, we need to swap
|
|
@@ -1320,7 +1360,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1320
1360
|
: step;
|
|
1321
1361
|
offset = helpers.clamp(0.0001, processedStep, maxStep);
|
|
1322
1362
|
animation.progressStep(offset);
|
|
1323
|
-
const snapBreakpoint =
|
|
1363
|
+
const snapBreakpoint = usePhysicsBasedGesture
|
|
1364
|
+
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1365
|
+
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1324
1366
|
const eventDetail = {
|
|
1325
1367
|
currentY: detail.currentY,
|
|
1326
1368
|
deltaY: detail.deltaY,
|
|
@@ -1331,7 +1373,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1331
1373
|
onDragMove(eventDetail);
|
|
1332
1374
|
};
|
|
1333
1375
|
const onEnd = (detail) => {
|
|
1334
|
-
const snapBreakpoint =
|
|
1376
|
+
const snapBreakpoint = usePhysicsBasedGesture
|
|
1377
|
+
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1378
|
+
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1335
1379
|
const eventDetail = {
|
|
1336
1380
|
currentY: detail.currentY,
|
|
1337
1381
|
deltaY: detail.deltaY,
|
|
@@ -1378,6 +1422,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1378
1422
|
*/
|
|
1379
1423
|
const shouldPreventDismiss = canDismiss && breakpoint === 0;
|
|
1380
1424
|
const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
|
|
1425
|
+
/**
|
|
1426
|
+
* Detect snap-back behavior: when the snap target is the same as the current breakpoint,
|
|
1427
|
+
* the user released before crossing the threshold to a new breakpoint.
|
|
1428
|
+
* Apply different timing and easing for snap-back vs. snap-to-new.
|
|
1429
|
+
*/
|
|
1430
|
+
const isSnapBack = snapToBreakpoint === currentBreakpoint;
|
|
1431
|
+
const duration = usePhysicsBasedGesture ? (isSnapBack ? 300 : 400) : 500;
|
|
1432
|
+
const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
|
|
1381
1433
|
const shouldRemainOpen = snapToBreakpoint !== 0;
|
|
1382
1434
|
currentBreakpoint = 0;
|
|
1383
1435
|
/**
|
|
@@ -1392,11 +1444,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1392
1444
|
backdropAnimation.keyframes([
|
|
1393
1445
|
{
|
|
1394
1446
|
offset: 0,
|
|
1395
|
-
opacity:
|
|
1447
|
+
opacity: usePhysicsBasedGesture
|
|
1448
|
+
? 'var(--backdrop-opacity)'
|
|
1449
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
|
|
1396
1450
|
},
|
|
1397
1451
|
{
|
|
1398
1452
|
offset: 1,
|
|
1399
|
-
opacity:
|
|
1453
|
+
opacity: usePhysicsBasedGesture
|
|
1454
|
+
? 'var(--backdrop-opacity)'
|
|
1455
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
1400
1456
|
},
|
|
1401
1457
|
]);
|
|
1402
1458
|
if (contentAnimation) {
|
|
@@ -1414,6 +1470,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1414
1470
|
}
|
|
1415
1471
|
animation.progressStep(0);
|
|
1416
1472
|
}
|
|
1473
|
+
/**
|
|
1474
|
+
* Apply the appropriate easing curve for this snap behavior.
|
|
1475
|
+
*/
|
|
1476
|
+
if (usePhysicsBasedGesture) {
|
|
1477
|
+
animation.easing(easing);
|
|
1478
|
+
}
|
|
1417
1479
|
/**
|
|
1418
1480
|
* Gesture should remain disabled until the
|
|
1419
1481
|
* snapping animation completes.
|
|
@@ -1503,7 +1565,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1503
1565
|
* be added every time onEnd runs.
|
|
1504
1566
|
*/
|
|
1505
1567
|
}, { oneTimeCallback: true })
|
|
1506
|
-
.progressEnd(1, 0, animated ?
|
|
1568
|
+
.progressEnd(1, 0, animated ? duration : 0);
|
|
1507
1569
|
});
|
|
1508
1570
|
};
|
|
1509
1571
|
/**
|
|
@@ -1514,7 +1576,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1514
1576
|
* @param deltaY The change in Y position since the gesture started.
|
|
1515
1577
|
* @returns The snap breakpoint value.
|
|
1516
1578
|
*/
|
|
1517
|
-
const
|
|
1579
|
+
const calculatePositionSnapBreakpoint = (deltaY) => {
|
|
1518
1580
|
/**
|
|
1519
1581
|
* Calculates the real-time vertical position of the modal.
|
|
1520
1582
|
* We combine the wrapper's current bounding box position with the
|
|
@@ -1534,6 +1596,50 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1534
1596
|
});
|
|
1535
1597
|
return snapBreakpoint;
|
|
1536
1598
|
};
|
|
1599
|
+
/**
|
|
1600
|
+
* Calculates the snap breakpoint using velocity-based logic.
|
|
1601
|
+
* This provides a more intuitive and responsive sheet behavior for the Ionic theme.
|
|
1602
|
+
*
|
|
1603
|
+
* Rules:
|
|
1604
|
+
* 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
|
|
1605
|
+
* 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
|
|
1606
|
+
* 3. If dragged 40% below current snap point without fast upward flick, dismisses
|
|
1607
|
+
* 4. Otherwise, falls back to position-based snap (closest breakpoint)
|
|
1608
|
+
*
|
|
1609
|
+
* @param deltaY The change in Y position since gesture started
|
|
1610
|
+
* @param velocityY The velocity in pixels per millisecond
|
|
1611
|
+
* @param currentY The current Y position of the gesture
|
|
1612
|
+
* @returns The snap breakpoint value
|
|
1613
|
+
*/
|
|
1614
|
+
const calculateVelocitySnapBreakpoint = (deltaY, velocityY, currentY) => {
|
|
1615
|
+
// Convert velocity from px/ms to px/s for easier threshold comparison
|
|
1616
|
+
const velocityYPerSecond = velocityY * 1000;
|
|
1617
|
+
// Calculate current progress (0 = fully closed, 1 = fully expanded)
|
|
1618
|
+
const currentProgress = calculateProgress(currentY);
|
|
1619
|
+
// Rule 1: Fast downward flick always dismisses
|
|
1620
|
+
if (velocityYPerSecond > 500) {
|
|
1621
|
+
return minBreakpoint;
|
|
1622
|
+
}
|
|
1623
|
+
// Rule 2: Fast upward flick moves to next breakpoint above
|
|
1624
|
+
if (velocityYPerSecond < -400) {
|
|
1625
|
+
// Find next breakpoint above current position
|
|
1626
|
+
const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
|
|
1627
|
+
// If no breakpoint above, stay at max breakpoint
|
|
1628
|
+
return nextBreakpoint !== null && nextBreakpoint !== void 0 ? nextBreakpoint : maxBreakpoint;
|
|
1629
|
+
}
|
|
1630
|
+
// Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
|
|
1631
|
+
if (minBreakpoint === 0 && currentBreakpoint > 0) {
|
|
1632
|
+
// Calculate how far we've moved below the current snap point
|
|
1633
|
+
const distanceBelowSnap = currentBreakpoint - currentProgress;
|
|
1634
|
+
const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
|
|
1635
|
+
// If dragged more than 40% below and not flicking up, dismiss
|
|
1636
|
+
if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
|
|
1637
|
+
return 0;
|
|
1638
|
+
}
|
|
1639
|
+
}
|
|
1640
|
+
// Rule 4: Fallback to position-based snap (existing logic)
|
|
1641
|
+
return calculatePositionSnapBreakpoint(deltaY);
|
|
1642
|
+
};
|
|
1537
1643
|
/**
|
|
1538
1644
|
* Calculates the progress of the swipe gesture.
|
|
1539
1645
|
*
|
|
@@ -1604,7 +1710,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1604
1710
|
*/
|
|
1605
1711
|
return viewportBottom - activeHeight;
|
|
1606
1712
|
};
|
|
1607
|
-
const gesture = index$
|
|
1713
|
+
const gesture = index$1.createGesture({
|
|
1608
1714
|
el: wrapperEl,
|
|
1609
1715
|
gestureName: 'modalSheet',
|
|
1610
1716
|
gesturePriority: 40,
|
|
@@ -1661,9 +1767,9 @@ let cacheInvalidationScheduled = false;
|
|
|
1661
1767
|
* Matches: @media (min-width: 768px) and (min-height: 600px)
|
|
1662
1768
|
*/
|
|
1663
1769
|
const isCenteredDialogViewport = () => {
|
|
1664
|
-
if (!
|
|
1770
|
+
if (!ionicGlobal.win)
|
|
1665
1771
|
return false;
|
|
1666
|
-
return
|
|
1772
|
+
return ionicGlobal.win.matchMedia(`(min-width: ${MODAL_INSET_MIN_WIDTH}px) and (min-height: ${MODAL_INSET_MIN_HEIGHT}px)`)
|
|
1667
1773
|
.matches;
|
|
1668
1774
|
};
|
|
1669
1775
|
/**
|
|
@@ -1678,7 +1784,7 @@ const getRootSafeAreaTop = () => {
|
|
|
1678
1784
|
if (cachedRootSafeAreaTop !== null) {
|
|
1679
1785
|
return cachedRootSafeAreaTop;
|
|
1680
1786
|
}
|
|
1681
|
-
const doc =
|
|
1787
|
+
const doc = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.document;
|
|
1682
1788
|
if (!(doc === null || doc === void 0 ? void 0 : doc.body)) {
|
|
1683
1789
|
return 0;
|
|
1684
1790
|
}
|
|
@@ -1704,7 +1810,7 @@ const getRootSafeAreaTop = () => {
|
|
|
1704
1810
|
* a change to it becomes a size change the observer can see.
|
|
1705
1811
|
*/
|
|
1706
1812
|
const onRootSafeAreaTopChange = (callback) => {
|
|
1707
|
-
const doc =
|
|
1813
|
+
const doc = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.document;
|
|
1708
1814
|
if (!(doc === null || doc === void 0 ? void 0 : doc.body) || typeof ResizeObserver === 'undefined') {
|
|
1709
1815
|
return () => undefined;
|
|
1710
1816
|
}
|
|
@@ -1819,8 +1925,8 @@ const getInitialSafeAreaConfig = (context) => {
|
|
|
1819
1925
|
const getPositionBasedSafeAreaConfig = (wrapperEl) => {
|
|
1820
1926
|
var _a, _b;
|
|
1821
1927
|
const rect = wrapperEl.getBoundingClientRect();
|
|
1822
|
-
const vh = (_a =
|
|
1823
|
-
const vw = (_b =
|
|
1928
|
+
const vh = (_a = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerHeight) !== null && _a !== void 0 ? _a : 0;
|
|
1929
|
+
const vw = (_b = ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.innerWidth) !== null && _b !== void 0 ? _b : 0;
|
|
1824
1930
|
// Only apply safe-area to sides where modal overlaps with screen edge
|
|
1825
1931
|
return {
|
|
1826
1932
|
top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
|
|
@@ -1853,26 +1959,28 @@ const clearSafeAreaOverrides = (hostEl) => {
|
|
|
1853
1959
|
hostEl.style.removeProperty('--ion-safe-area-right');
|
|
1854
1960
|
};
|
|
1855
1961
|
|
|
1856
|
-
const
|
|
1962
|
+
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)))}`;
|
|
1857
1963
|
|
|
1858
|
-
const
|
|
1964
|
+
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}`;
|
|
1965
|
+
|
|
1966
|
+
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}`;
|
|
1859
1967
|
|
|
1860
1968
|
const Modal = class {
|
|
1861
1969
|
constructor(hostRef) {
|
|
1862
|
-
index$
|
|
1863
|
-
this.didPresent = index$
|
|
1864
|
-
this.willPresent = index$
|
|
1865
|
-
this.willDismiss = index$
|
|
1866
|
-
this.didDismiss = index$
|
|
1867
|
-
this.ionBreakpointDidChange = index$
|
|
1868
|
-
this.didPresentShorthand = index$
|
|
1869
|
-
this.willPresentShorthand = index$
|
|
1870
|
-
this.willDismissShorthand = index$
|
|
1871
|
-
this.didDismissShorthand = index$
|
|
1872
|
-
this.ionMount = index$
|
|
1873
|
-
this.ionDragStart = index$
|
|
1874
|
-
this.ionDragMove = index$
|
|
1875
|
-
this.ionDragEnd = index$
|
|
1970
|
+
index$2.registerInstance(this, hostRef);
|
|
1971
|
+
this.didPresent = index$2.createEvent(this, "ionModalDidPresent", 7);
|
|
1972
|
+
this.willPresent = index$2.createEvent(this, "ionModalWillPresent", 7);
|
|
1973
|
+
this.willDismiss = index$2.createEvent(this, "ionModalWillDismiss", 7);
|
|
1974
|
+
this.didDismiss = index$2.createEvent(this, "ionModalDidDismiss", 7);
|
|
1975
|
+
this.ionBreakpointDidChange = index$2.createEvent(this, "ionBreakpointDidChange", 7);
|
|
1976
|
+
this.didPresentShorthand = index$2.createEvent(this, "didPresent", 7);
|
|
1977
|
+
this.willPresentShorthand = index$2.createEvent(this, "willPresent", 7);
|
|
1978
|
+
this.willDismissShorthand = index$2.createEvent(this, "willDismiss", 7);
|
|
1979
|
+
this.didDismissShorthand = index$2.createEvent(this, "didDismiss", 7);
|
|
1980
|
+
this.ionMount = index$2.createEvent(this, "ionMount", 7);
|
|
1981
|
+
this.ionDragStart = index$2.createEvent(this, "ionDragStart", 7);
|
|
1982
|
+
this.ionDragMove = index$2.createEvent(this, "ionDragMove", 7);
|
|
1983
|
+
this.ionDragEnd = index$2.createEvent(this, "ionDragEnd", 7);
|
|
1876
1984
|
this.lockController = lockController.createLockController();
|
|
1877
1985
|
this.triggerController = overlays.createTriggerController();
|
|
1878
1986
|
this.coreDelegate = frameworkDelegate.CoreDelegate();
|
|
@@ -2165,7 +2273,7 @@ const Modal = class {
|
|
|
2165
2273
|
this.currentBreakpoint = this.initialBreakpoint;
|
|
2166
2274
|
}
|
|
2167
2275
|
if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
|
|
2168
|
-
index$
|
|
2276
|
+
index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
|
|
2169
2277
|
}
|
|
2170
2278
|
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
2171
2279
|
overlays.setOverlayId(this.el);
|
|
@@ -2265,7 +2373,7 @@ const Modal = class {
|
|
|
2265
2373
|
* get the transition incorrect.
|
|
2266
2374
|
*/
|
|
2267
2375
|
if (helpers.hasLazyBuild(el)) {
|
|
2268
|
-
await index$
|
|
2376
|
+
await index$3.deepReady(this.usersElement);
|
|
2269
2377
|
/**
|
|
2270
2378
|
* If keepContentsMounted="true" then the
|
|
2271
2379
|
* JS Framework has already mounted the inner
|
|
@@ -2276,9 +2384,9 @@ const Modal = class {
|
|
|
2276
2384
|
*/
|
|
2277
2385
|
}
|
|
2278
2386
|
else if (!this.keepContentsMounted) {
|
|
2279
|
-
await index$
|
|
2387
|
+
await index$3.waitForMount();
|
|
2280
2388
|
}
|
|
2281
|
-
index$
|
|
2389
|
+
index$2.writeTask(() => this.el.classList.add('show-modal'));
|
|
2282
2390
|
// Recalculate isSheetModal before safe-area setup because framework
|
|
2283
2391
|
// bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
|
|
2284
2392
|
this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
|
|
@@ -2295,11 +2403,12 @@ const Modal = class {
|
|
|
2295
2403
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
2296
2404
|
setCardStatusBarDark();
|
|
2297
2405
|
}
|
|
2298
|
-
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
2406
|
+
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
|
|
2299
2407
|
presentingEl: presentingElement,
|
|
2300
2408
|
currentBreakpoint: this.initialBreakpoint,
|
|
2301
2409
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
2302
2410
|
expandToScroll: this.expandToScroll,
|
|
2411
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2303
2412
|
});
|
|
2304
2413
|
// Update safe-area based on actual position after animation
|
|
2305
2414
|
this.updateSafeAreaOverrides();
|
|
@@ -2357,14 +2466,14 @@ const Modal = class {
|
|
|
2357
2466
|
// All of the elements needed for the swipe gesture
|
|
2358
2467
|
// should be in the DOM and referenced by now, except
|
|
2359
2468
|
// for the presenting el
|
|
2360
|
-
const animationBuilder = this.leaveAnimation || index$
|
|
2469
|
+
const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
|
|
2361
2470
|
const ani = (this.animation = animationBuilder(el, {
|
|
2362
2471
|
presentingEl: this.presentingElement,
|
|
2363
2472
|
expandToScroll: this.expandToScroll,
|
|
2364
2473
|
}));
|
|
2365
|
-
const contentEl = index
|
|
2474
|
+
const contentEl = index.findIonContent(el);
|
|
2366
2475
|
if (!contentEl) {
|
|
2367
|
-
index
|
|
2476
|
+
index.printIonContentErrorMsg(el);
|
|
2368
2477
|
return;
|
|
2369
2478
|
}
|
|
2370
2479
|
const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
|
|
@@ -2376,12 +2485,13 @@ const Modal = class {
|
|
|
2376
2485
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
2377
2486
|
return;
|
|
2378
2487
|
}
|
|
2379
|
-
const animationBuilder = this.enterAnimation || index$
|
|
2488
|
+
const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
|
|
2380
2489
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
2381
2490
|
presentingEl: this.presentingElement,
|
|
2382
2491
|
currentBreakpoint: initialBreakpoint,
|
|
2383
2492
|
backdropBreakpoint,
|
|
2384
2493
|
expandToScroll: this.expandToScroll,
|
|
2494
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2385
2495
|
}));
|
|
2386
2496
|
ani.progressStart(true, 1);
|
|
2387
2497
|
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) => {
|
|
@@ -2389,7 +2499,7 @@ const Modal = class {
|
|
|
2389
2499
|
this.currentBreakpoint = breakpoint;
|
|
2390
2500
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
2391
2501
|
}
|
|
2392
|
-
}, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2502
|
+
}, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2393
2503
|
this.gesture = gesture;
|
|
2394
2504
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
2395
2505
|
this.resetSheetContentScroll = resetContentScroll;
|
|
@@ -2576,7 +2686,7 @@ const Modal = class {
|
|
|
2576
2686
|
if (dismissed) {
|
|
2577
2687
|
const { delegate } = this.getDelegate();
|
|
2578
2688
|
await frameworkDelegate.detachComponent(delegate, this.usersElement);
|
|
2579
|
-
index$
|
|
2689
|
+
index$2.writeTask(() => this.el.classList.remove('show-modal'));
|
|
2580
2690
|
if (this.animation) {
|
|
2581
2691
|
this.animation.destroy();
|
|
2582
2692
|
}
|
|
@@ -2620,11 +2730,11 @@ const Modal = class {
|
|
|
2620
2730
|
*/
|
|
2621
2731
|
async setCurrentBreakpoint(breakpoint) {
|
|
2622
2732
|
if (!this.isSheetModal) {
|
|
2623
|
-
index$
|
|
2733
|
+
index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
|
|
2624
2734
|
return;
|
|
2625
2735
|
}
|
|
2626
2736
|
if (!this.breakpoints.includes(breakpoint)) {
|
|
2627
|
-
index$
|
|
2737
|
+
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.`);
|
|
2628
2738
|
return;
|
|
2629
2739
|
}
|
|
2630
2740
|
const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
|
|
@@ -2669,6 +2779,18 @@ const Modal = class {
|
|
|
2669
2779
|
await this.setCurrentBreakpoint(nextBreakpoint);
|
|
2670
2780
|
return true;
|
|
2671
2781
|
}
|
|
2782
|
+
getShape() {
|
|
2783
|
+
const theme = ionicGlobal.getIonTheme(this);
|
|
2784
|
+
const { shape } = this;
|
|
2785
|
+
// TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
|
|
2786
|
+
if (theme !== 'ionic') {
|
|
2787
|
+
return undefined;
|
|
2788
|
+
}
|
|
2789
|
+
if (shape === undefined) {
|
|
2790
|
+
return 'round';
|
|
2791
|
+
}
|
|
2792
|
+
return shape;
|
|
2793
|
+
}
|
|
2672
2794
|
initViewTransitionListener() {
|
|
2673
2795
|
// Only enable for iOS card modals when no custom animations are provided
|
|
2674
2796
|
if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
@@ -3007,15 +3129,16 @@ const Modal = class {
|
|
|
3007
3129
|
render() {
|
|
3008
3130
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
3009
3131
|
const showHandle = handle !== false && isSheetModal;
|
|
3010
|
-
const
|
|
3011
|
-
const isCardModal = presentingElement !== undefined &&
|
|
3132
|
+
const theme$1 = ionicGlobal.getIonTheme(this);
|
|
3133
|
+
const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
|
|
3012
3134
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
3135
|
+
const shape = this.getShape();
|
|
3013
3136
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
3014
|
-
return (index$
|
|
3137
|
+
return (index$2.h(index$2.Host, Object.assign({ key: 'cf99da2a03dd010716265401c8b6fe46a9bf0ced', "no-router": true,
|
|
3015
3138
|
// Allow the modal to be navigable when the handle is focusable
|
|
3016
3139
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
3017
3140
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
3018
|
-
}, class: Object.assign({ [
|
|
3141
|
+
}, 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',
|
|
3019
3142
|
/*
|
|
3020
3143
|
role and aria-modal must be used on the
|
|
3021
3144
|
same element. They must also be set inside the
|
|
@@ -3028,11 +3151,11 @@ const Modal = class {
|
|
|
3028
3151
|
without the tabindex focus() would be a no-op and screen readers
|
|
3029
3152
|
may not properly announce the dialog and its content when it opens.
|
|
3030
3153
|
*/
|
|
3031
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$
|
|
3154
|
+
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",
|
|
3032
3155
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
3033
|
-
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$
|
|
3156
|
+
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 }))));
|
|
3034
3157
|
}
|
|
3035
|
-
get el() { return index$
|
|
3158
|
+
get el() { return index$2.getElement(this); }
|
|
3036
3159
|
static get watchers() { return {
|
|
3037
3160
|
"isOpen": [{
|
|
3038
3161
|
"onIsOpenChange": 0
|
|
@@ -3052,6 +3175,7 @@ const LIFECYCLE_MAP = {
|
|
|
3052
3175
|
ionModalDidDismiss: 'ionViewDidLeave',
|
|
3053
3176
|
};
|
|
3054
3177
|
Modal.style = {
|
|
3178
|
+
ionic: modalIonicCss(),
|
|
3055
3179
|
ios: modalIosCss(),
|
|
3056
3180
|
md: modalMdCss()
|
|
3057
3181
|
};
|