@ionic/core 8.7.16-dev.11767205737.13557925 → 8.7.16-dev.11767627985.12a0e7d1
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/action-sheet.js +15 -11
- package/components/alert.js +14 -11
- package/components/animation.js +1 -1
- package/components/backdrop.js +9 -6
- package/components/button.js +41 -10
- package/components/buttons.js +11 -8
- package/components/capacitor.js +1 -1
- package/components/caret-down.js +6 -0
- package/components/caret-left.js +6 -0
- package/components/caret-right.js +6 -0
- package/components/checkbox.js +31 -12
- package/components/content.js +14 -12
- package/components/data.js +5 -5
- package/components/focus-visible.js +23 -1
- package/components/framework-delegate.js +3 -1
- package/components/header.js +34 -22
- package/components/helpers.js +42 -3
- package/components/index5.js +8 -8
- package/components/index6.js +1 -1
- package/components/index7.js +111 -150
- package/components/index8.js +150 -111
- package/components/input-shims.js +2 -2
- package/components/input.utils.js +1 -1
- package/components/ion-accordion-group.js +23 -5
- package/components/ion-accordion.js +32 -21
- package/components/ion-app.js +12 -77
- package/components/ion-avatar.js +58 -5
- package/components/ion-back-button.js +27 -19
- package/components/ion-badge.js +73 -9
- package/components/ion-breadcrumb.js +43 -10
- package/components/ion-breadcrumbs.js +8 -5
- package/components/ion-card-content.js +10 -7
- package/components/ion-card-header.js +9 -6
- package/components/ion-card-subtitle.js +8 -5
- package/components/ion-card-title.js +8 -5
- package/components/ion-card.js +21 -9
- package/components/ion-chip.js +53 -8
- package/components/ion-col.js +51 -50
- package/components/ion-datetime-button.js +8 -5
- package/components/ion-datetime.js +98 -21
- package/components/ion-divider.d.ts +11 -0
- package/components/ion-divider.js +72 -0
- package/components/ion-fab-button.js +31 -15
- package/components/ion-fab-list.js +5 -5
- package/components/ion-fab.js +6 -6
- package/components/ion-footer.js +18 -13
- package/components/ion-grid.js +5 -5
- package/components/ion-img.js +5 -2
- package/components/ion-infinite-scroll-content.js +11 -8
- package/components/ion-infinite-scroll.js +78 -6
- package/components/ion-input-otp.js +9 -6
- package/components/ion-input-password-toggle.js +51 -13
- package/components/ion-input.js +120 -28
- package/components/ion-item-divider.js +8 -5
- package/components/ion-item-group.js +8 -5
- package/components/ion-item-option.js +36 -9
- package/components/ion-item-options.js +10 -7
- package/components/ion-item-sliding.js +5 -5
- package/components/ion-loading.js +12 -9
- package/components/ion-menu-button.js +26 -10
- package/components/ion-menu-toggle.js +5 -5
- package/components/ion-menu.js +10 -8
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +7 -5
- package/components/ion-note.js +8 -5
- package/components/ion-picker-legacy.js +7 -7
- package/components/ion-progress-bar.js +25 -7
- package/components/ion-range.js +12 -9
- package/components/ion-refresher-content.js +23 -8
- package/components/ion-refresher.js +10 -7
- package/components/ion-reorder-group.js +5 -5
- package/components/ion-reorder.js +30 -5
- package/components/ion-router-link.js +6 -6
- package/components/ion-router-outlet.js +4 -4
- package/components/ion-row.js +6 -3
- package/components/ion-searchbar.js +137 -23
- package/components/ion-segment-button.js +10 -7
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +5 -2
- package/components/ion-segment.js +10 -7
- package/components/ion-select-option.js +5 -2
- package/components/ion-select.js +117 -33
- package/components/ion-skeleton-text.js +5 -5
- package/components/ion-split-pane.js +11 -8
- package/components/ion-tab-bar.js +39 -9
- package/components/ion-tab-button.js +35 -8
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +2 -2
- package/components/ion-text.js +5 -5
- package/components/ion-textarea.js +52 -11
- package/components/ion-thumbnail.js +5 -2
- package/components/ion-toast.js +37 -12
- package/components/ion-toggle.js +74 -17
- package/components/ionic-global.js +364 -15
- package/components/ios.transition.js +1 -0
- package/components/item.js +47 -15
- package/components/keyboard-controller.js +4 -2
- package/components/label.js +8 -5
- package/components/list-header.js +10 -7
- package/components/list.js +27 -6
- package/components/list2.js +6 -0
- package/components/modal.js +51 -133
- package/components/notch-controller.js +1 -1
- package/components/overlays.js +3 -4
- package/components/picker-column-option.js +8 -5
- package/components/picker-column.js +7 -8
- package/components/picker-column2.js +4 -4
- package/components/picker.js +7 -4
- package/components/popover.js +22 -69
- package/components/radio-group.js +15 -7
- package/components/radio.js +11 -8
- package/components/ripple-effect.js +15 -7
- package/components/select-modal.js +12 -5
- package/components/select-popover.js +8 -2
- package/components/spinner.js +31 -8
- package/components/status-tap.js +1 -1
- package/components/title.js +10 -7
- package/components/toolbar.js +153 -9
- package/components/x.js +6 -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-Bt3H9L1C.js → animation-CD5nuON9.js} +2 -2
- package/dist/cjs/{app-globals-Ciccnk9_.js → app-globals-CoW5jvJu.js} +1 -1
- package/dist/cjs/{button-active-CMc8cD90.js → button-active-Dxyabn6T.js} +1 -1
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-C8raJ_tU.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/{data-JwZKaIQB.js → data-MoL8Ckx5.js} +5 -5
- package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
- package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-Bwdk9vFS.js} +4 -2
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-BU6_qLwg.js} +1 -1
- package/dist/cjs/{helpers-DrTqNghc.js → helpers-DnouLczu.js} +41 -2
- package/dist/cjs/{index-DrMUZJj6.js → index-C4_FN9N0.js} +15 -15
- package/dist/cjs/{index-C534ULug.js → index-CADY2xEW.js} +8 -7
- package/dist/cjs/{index-CO6eryBo.js → index-DUoP_H1L.js} +1 -1
- package/dist/cjs/{index-094mMFB-.js → index-JtyffOXl.js} +3 -3
- package/dist/cjs/index.cjs.js +10 -11
- package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-C-YCyXjg.js} +17 -16
- package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-C3-BwdV0.js} +5 -5
- package/dist/cjs/ion-accordion_2.cjs.entry.js +55 -26
- package/dist/cjs/ion-action-sheet.cjs.entry.js +23 -20
- package/dist/cjs/ion-alert.cjs.entry.js +22 -20
- package/dist/cjs/ion-app_8.cjs.entry.js +249 -150
- package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -11
- package/dist/cjs/ion-back-button.cjs.entry.js +28 -19
- package/dist/cjs/ion-backdrop.cjs.entry.js +9 -6
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +51 -15
- package/dist/cjs/ion-button_2.cjs.entry.js +43 -11
- package/dist/cjs/ion-card_5.cjs.entry.js +53 -29
- package/dist/cjs/ion-checkbox.cjs.entry.js +31 -13
- package/dist/cjs/ion-chip.cjs.entry.js +48 -7
- package/dist/cjs/ion-col_3.cjs.entry.js +53 -56
- package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -7
- package/dist/cjs/ion-datetime_3.cjs.entry.js +113 -38
- package/dist/cjs/ion-divider.cjs.entry.js +51 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +41 -25
- package/dist/cjs/ion-img.cjs.entry.js +7 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +89 -14
- package/dist/cjs/ion-input-otp.cjs.entry.js +11 -7
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +50 -12
- package/dist/cjs/ion-input.cjs.entry.js +120 -30
- package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -19
- package/dist/cjs/ion-item_8.cjs.entry.js +113 -46
- package/dist/cjs/ion-loading.cjs.entry.js +17 -15
- package/dist/cjs/ion-menu_3.cjs.entry.js +44 -26
- package/dist/cjs/ion-modal.cjs.entry.js +99 -182
- package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -6
- package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
- package/dist/cjs/ion-picker.cjs.entry.js +9 -5
- package/dist/cjs/ion-popover.cjs.entry.js +28 -76
- package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -7
- package/dist/cjs/ion-radio_2.cjs.entry.js +24 -14
- package/dist/cjs/ion-range.cjs.entry.js +14 -10
- package/dist/cjs/ion-refresher_2.cjs.entry.js +36 -18
- package/dist/cjs/ion-reorder_2.cjs.entry.js +36 -12
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -6
- package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
- package/dist/cjs/ion-searchbar.cjs.entry.js +134 -21
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +5 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +21 -14
- package/dist/cjs/ion-select-modal.cjs.entry.js +15 -9
- package/dist/cjs/ion-select_3.cjs.entry.js +129 -38
- package/dist/cjs/ion-spinner.cjs.entry.js +28 -6
- package/dist/cjs/ion-split-pane.cjs.entry.js +11 -8
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +75 -21
- package/dist/cjs/ion-tab_2.cjs.entry.js +7 -6
- package/dist/cjs/ion-text.cjs.entry.js +5 -5
- package/dist/cjs/ion-textarea.cjs.entry.js +55 -15
- package/dist/cjs/ion-toast.cjs.entry.js +66 -43
- package/dist/cjs/ion-toggle.cjs.entry.js +78 -21
- package/dist/cjs/ionic-global-DpRwOXLK.js +506 -0
- package/dist/cjs/ionic.cjs.js +3 -3
- package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-Dt4GT8w5.js} +6 -4
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-B8HJHbg3.js} +4 -3
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-BlrG3xPK.js} +1 -1
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-O8n0dTQz.js} +11 -9
- package/dist/cjs/list-a-7GSA6K.js +8 -0
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-BolcQzNP.js} +5 -4
- package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-BE80VRju.js} +4 -4
- package/dist/cjs/{overlays-B2b-TTbl.js → overlays-CRSQCKrz.js} +8 -9
- package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-e-hyosXV.js} +3 -2
- package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-CR060nOX.js} +2 -1
- package/dist/cjs/x-BTF99yFH.js +8 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/accordion/accordion.ionic.css +196 -0
- package/dist/collection/components/accordion/accordion.ios.css +73 -58
- package/dist/collection/components/accordion/accordion.js +36 -26
- 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.ios.css +18 -6
- package/dist/collection/components/action-sheet/action-sheet.js +17 -13
- package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
- package/dist/collection/components/alert/alert.ios.css +19 -1
- package/dist/collection/components/alert/alert.js +16 -13
- package/dist/collection/components/alert/alert.md.css +19 -1
- package/dist/collection/components/app/app.js +15 -78
- package/dist/collection/components/avatar/avatar.ionic.css +391 -0
- package/dist/collection/components/avatar/avatar.ios.css +7 -33
- package/dist/collection/components/avatar/avatar.js +120 -4
- package/dist/collection/components/avatar/avatar.md.css +51 -0
- package/dist/collection/components/back-button/back-button.ios.css +60 -48
- package/dist/collection/components/back-button/back-button.js +27 -19
- package/dist/collection/components/back-button/back-button.md.css +60 -48
- package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
- package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
- package/dist/collection/components/backdrop/backdrop.js +12 -6
- package/dist/collection/components/backdrop/backdrop.md.css +56 -19
- package/dist/collection/components/badge/badge.ionic.css +275 -0
- package/dist/collection/components/badge/badge.ios.css +139 -12
- package/dist/collection/components/badge/badge.js +145 -9
- package/dist/collection/components/badge/badge.md.css +123 -12
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
- package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
- package/dist/collection/components/button/button.ionic.css +636 -0
- package/dist/collection/components/button/button.ios.css +135 -46
- package/dist/collection/components/button/button.js +48 -17
- package/dist/collection/components/button/button.md.css +126 -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 +92 -0
- package/dist/collection/components/card-content/card-content.ios.css +16 -1
- package/dist/collection/components/card-content/card-content.js +11 -8
- package/dist/collection/components/card-content/card-content.md.css +16 -1
- package/dist/collection/components/card-header/card-header.ionic.css +85 -0
- package/dist/collection/components/card-header/card-header.ios.css +27 -15
- package/dist/collection/components/card-header/card-header.js +13 -10
- package/dist/collection/components/card-header/card-header.md.css +27 -15
- package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
- package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
- package/dist/collection/components/card-title/card-title.ios.css +73 -0
- package/dist/collection/components/card-title/card-title.js +11 -8
- package/dist/collection/components/card-title/card-title.md.css +73 -0
- package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
- package/dist/collection/components/checkbox/checkbox.js +70 -14
- package/dist/collection/components/checkbox/checkbox.md.css +162 -102
- package/dist/collection/components/chip/chip.ionic.css +215 -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 +210 -61
- package/dist/collection/components/content/content.css +8 -2
- package/dist/collection/components/content/content.js +16 -11
- package/dist/collection/components/datetime/datetime.ionic.css +711 -0
- package/dist/collection/components/datetime/datetime.ios.css +258 -96
- package/dist/collection/components/datetime/datetime.js +98 -20
- package/dist/collection/components/datetime/datetime.md.css +258 -96
- package/dist/collection/components/datetime/utils/data.js +5 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
- package/dist/collection/components/datetime-button/datetime-button.js +11 -8
- package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
- package/dist/collection/components/divider/divider.ionic.css +148 -0
- package/dist/collection/components/divider/divider.ios.css +87 -0
- package/dist/collection/components/divider/divider.js +94 -0
- package/dist/collection/components/divider/divider.md.css +87 -0
- package/dist/collection/components/fab/fab.css +25 -1
- package/dist/collection/components/fab/fab.js +9 -5
- package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
- package/dist/collection/components/fab-button/fab-button.js +36 -21
- package/dist/collection/components/fab-button/fab-button.md.css +20 -8
- package/dist/collection/components/fab-list/fab-list.css +12 -0
- package/dist/collection/components/fab-list/fab-list.js +9 -5
- package/dist/collection/components/footer/footer.ios.css +14 -2
- package/dist/collection/components/footer/footer.js +21 -16
- package/dist/collection/components/footer/footer.md.css +12 -0
- package/dist/collection/components/grid/grid.css +12 -0
- package/dist/collection/components/grid/grid.js +9 -5
- package/dist/collection/components/header/header.ionic.css +97 -0
- package/dist/collection/components/header/header.ios.css +25 -10
- package/dist/collection/components/header/header.js +50 -19
- package/dist/collection/components/header/header.md.css +23 -8
- package/dist/collection/components/header/header.utils.js +5 -5
- package/dist/collection/components/img/img.js +8 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
- package/dist/collection/components/input/input.ionic.css +885 -0
- package/dist/collection/components/input/input.ios.css +223 -140
- package/dist/collection/components/input/input.js +149 -38
- package/dist/collection/components/input/input.md.css +193 -212
- package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
- package/dist/collection/components/input-otp/input-otp.ios.css +102 -60
- package/dist/collection/components/input-otp/input-otp.js +7 -5
- package/dist/collection/components/input-otp/input-otp.md.css +102 -60
- package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
- package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
- package/dist/collection/components/item/item.ionic.css +508 -0
- package/dist/collection/components/item/item.ios.css +109 -69
- package/dist/collection/components/item/item.js +51 -20
- package/dist/collection/components/item/item.md.css +120 -68
- package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
- package/dist/collection/components/item-divider/item-divider.js +11 -8
- package/dist/collection/components/item-divider/item-divider.md.css +18 -0
- package/dist/collection/components/item-group/item-group.ios.css +12 -0
- package/dist/collection/components/item-group/item-group.js +13 -7
- package/dist/collection/components/item-group/item-group.md.css +12 -0
- package/dist/collection/components/item-option/item-option.ionic.css +278 -0
- package/dist/collection/components/item-option/item-option.ios.css +136 -29
- package/dist/collection/components/item-option/item-option.js +73 -9
- package/dist/collection/components/item-option/item-option.md.css +136 -29
- package/dist/collection/components/item-options/item-options.ionic.css +221 -0
- package/dist/collection/components/item-options/item-options.ios.css +77 -34
- package/dist/collection/components/item-options/item-options.js +13 -7
- package/dist/collection/components/item-options/item-options.md.css +77 -34
- package/dist/collection/components/item-sliding/item-sliding.css +6 -0
- package/dist/collection/components/item-sliding/item-sliding.js +8 -4
- package/dist/collection/components/label/label.ios.css +18 -0
- package/dist/collection/components/label/label.js +11 -8
- package/dist/collection/components/label/label.md.css +18 -0
- package/dist/collection/components/list/list.ionic.css +212 -0
- package/dist/collection/components/list/list.ios.css +54 -14
- package/dist/collection/components/list/list.js +48 -9
- package/dist/collection/components/list/list.md.css +56 -16
- package/dist/collection/components/list-header/list-header.ionic.css +190 -0
- package/dist/collection/components/list-header/list-header.ios.css +82 -38
- package/dist/collection/components/list-header/list-header.js +11 -8
- package/dist/collection/components/list-header/list-header.md.css +82 -38
- package/dist/collection/components/loading/loading.ios.css +13 -1
- package/dist/collection/components/loading/loading.js +14 -11
- package/dist/collection/components/loading/loading.md.css +13 -1
- package/dist/collection/components/menu/menu.ios.css +15 -3
- package/dist/collection/components/menu/menu.js +12 -7
- package/dist/collection/components/menu/menu.md.css +15 -3
- package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
- package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
- package/dist/collection/components/menu-button/menu-button.js +26 -10
- package/dist/collection/components/menu-button/menu-button.md.css +49 -15
- package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
- package/dist/collection/components/modal/animations/sheet.js +8 -2
- package/dist/collection/components/modal/gestures/sheet.js +10 -8
- package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -3
- package/dist/collection/components/modal/modal.ionic.css +247 -0
- package/dist/collection/components/modal/modal.ios.css +178 -70
- package/dist/collection/components/modal/modal.js +50 -119
- 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/animations/ios.enter.js +5 -21
- package/dist/collection/components/popover/animations/md.enter.js +4 -20
- package/dist/collection/components/popover/popover.ios.css +13 -1
- package/dist/collection/components/popover/popover.js +17 -14
- package/dist/collection/components/popover/popover.md.css +13 -1
- package/dist/collection/components/popover/utils.js +1 -19
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
- package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
- package/dist/collection/components/progress-bar/progress-bar.js +43 -7
- package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
- package/dist/collection/components/radio/radio.ionic.css +422 -0
- package/dist/collection/components/radio/radio.ios.css +134 -91
- package/dist/collection/components/radio/radio.js +12 -9
- package/dist/collection/components/radio/radio.md.css +134 -91
- package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
- package/dist/collection/components/radio-group/radio-group.ios.css +43 -23
- package/dist/collection/components/radio-group/radio-group.js +21 -6
- package/dist/collection/components/radio-group/radio-group.md.css +43 -23
- package/dist/collection/components/range/range.ionic.css +563 -0
- package/dist/collection/components/range/range.ios.css +128 -85
- package/dist/collection/components/range/range.js +12 -9
- package/dist/collection/components/range/range.md.css +128 -85
- package/dist/collection/components/refresher/refresher.ios.css +14 -1
- package/dist/collection/components/refresher/refresher.js +11 -8
- package/dist/collection/components/refresher/refresher.md.css +15 -2
- package/dist/collection/components/refresher-content/refresher-content.js +28 -7
- package/dist/collection/components/reorder/reorder.ios.css +6 -0
- package/dist/collection/components/reorder/reorder.js +33 -6
- package/dist/collection/components/reorder/reorder.md.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.js +8 -4
- package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
- package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
- package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
- package/dist/collection/components/route/route.js +4 -0
- package/dist/collection/components/router/router.js +4 -0
- package/dist/collection/components/router-link/router-link.css +8 -2
- package/dist/collection/components/router-link/router-link.js +9 -5
- package/dist/collection/components/router-outlet/router-outlet.css +7 -1
- package/dist/collection/components/router-outlet/router-outlet.js +6 -3
- package/dist/collection/components/row/row.css +16 -0
- package/dist/collection/components/row/row.js +9 -2
- package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
- package/dist/collection/components/searchbar/searchbar.js +181 -34
- package/dist/collection/components/searchbar/searchbar.md.css +56 -18
- package/dist/collection/components/segment/segment.ionic.css +115 -0
- package/dist/collection/components/segment/segment.ios.css +45 -2
- package/dist/collection/components/segment/segment.js +11 -8
- package/dist/collection/components/segment/segment.md.css +45 -2
- package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
- package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
- package/dist/collection/components/segment-button/segment-button.js +11 -8
- package/dist/collection/components/segment-button/segment-button.md.css +148 -107
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
- package/dist/collection/components/segment-view/segment-view.js +6 -4
- package/dist/collection/components/segment-view/segment-view.md.css +6 -0
- package/dist/collection/components/select/select.ionic.css +777 -0
- package/dist/collection/components/select/select.ios.css +315 -176
- package/dist/collection/components/select/select.js +156 -53
- package/dist/collection/components/select/select.md.css +331 -178
- package/dist/collection/components/select-modal/select-modal.ionic.css +130 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
- package/dist/collection/components/select-modal/select-modal.js +11 -4
- package/dist/collection/components/select-modal/select-modal.md.css +7 -3
- package/dist/collection/components/select-option/select-option.js +9 -2
- package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
- package/dist/collection/components/select-popover/select-popover.js +12 -4
- package/dist/collection/components/select-popover/select-popover.md.css +18 -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} +77 -10
- package/dist/collection/components/spinner/spinner.js +47 -6
- package/dist/collection/components/spinner/spinner.native.css +198 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
- package/dist/collection/components/split-pane/split-pane.js +14 -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 +201 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
- package/dist/collection/components/tab-bar/tab-bar.js +78 -11
- package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
- package/dist/collection/components/tab-button/tab-button.ionic.css +337 -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 +885 -0
- package/dist/collection/components/textarea/textarea.ios.css +275 -139
- package/dist/collection/components/textarea/textarea.js +76 -16
- package/dist/collection/components/textarea/textarea.md.css +288 -140
- package/dist/collection/components/thumbnail/thumbnail.css +6 -0
- package/dist/collection/components/thumbnail/thumbnail.js +9 -2
- package/dist/collection/components/title/title.ionic.css +127 -0
- package/dist/collection/components/title/title.ios.css +32 -4
- package/dist/collection/components/title/title.js +13 -7
- package/dist/collection/components/title/title.md.css +32 -4
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ionic.css +394 -0
- package/dist/collection/components/toast/toast.ios.css +84 -45
- package/dist/collection/components/toast/toast.js +75 -12
- package/dist/collection/components/toast/toast.md.css +84 -45
- package/dist/collection/components/toggle/toggle.ionic.css +508 -0
- package/dist/collection/components/toggle/toggle.ios.css +247 -131
- package/dist/collection/components/toggle/toggle.js +73 -18
- package/dist/collection/components/toggle/toggle.md.css +244 -131
- package/dist/collection/components/toolbar/test/image.svg +1 -0
- package/dist/collection/components/toolbar/toolbar.ionic.css +241 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
- package/dist/collection/components/toolbar/toolbar.js +157 -13
- package/dist/collection/components/toolbar/toolbar.md.css +90 -47
- package/dist/collection/global/ionic-global.js +228 -13
- package/dist/collection/utils/focus-visible.js +22 -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 +42 -2
- package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
- package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
- package/dist/collection/utils/menu-controller/animations/push.js +2 -1
- package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
- package/dist/collection/utils/overlays.js +2 -1
- 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/transition/ios.transition.js +1 -0
- package/dist/docs.json +8195 -374
- package/dist/esm/{animation-Dt8bGnA-.js → animation-BNuoDl-O.js} +1 -1
- package/dist/esm/{app-globals-BDSf8fOA.js → app-globals-tX0s9Zd7.js} +1 -1
- package/dist/esm/{button-active-L570Swow.js → button-active-BF6GZ_yH.js} +1 -1
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-pzVAlnC0.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/{data-DCORV9FH.js → data-DFCY8gnk.js} +5 -5
- package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
- package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-D2mUP0WI.js} +4 -2
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-bBvyATla.js} +1 -1
- package/dist/esm/{helpers-DEn3pfjm.js → helpers-Bsml3FcE.js} +42 -3
- package/dist/esm/{index-CvDIirVx.js → index-BQI9hSZP.js} +10 -10
- package/dist/esm/{index-ceb5RaMT.js → index-Bnw-zNoN.js} +3 -2
- package/dist/esm/{index-Bs3kT4bc.js → index-BpFi2B8W.js} +1 -1
- package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
- package/dist/esm/{index-r2D9DEro.js → index-M3l-IyxQ.js} +3 -3
- package/dist/esm/index.js +10 -11
- package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-ACbgRt10.js} +6 -5
- package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-loPnHH5H.js} +2 -2
- package/dist/esm/ion-accordion_2.entry.js +56 -27
- package/dist/esm/ion-action-sheet.entry.js +23 -20
- package/dist/esm/ion-alert.entry.js +22 -20
- package/dist/esm/ion-app_8.entry.js +250 -151
- package/dist/esm/ion-avatar_3.entry.js +125 -13
- package/dist/esm/ion-back-button.entry.js +29 -20
- package/dist/esm/ion-backdrop.entry.js +9 -6
- package/dist/esm/ion-breadcrumb_2.entry.js +53 -17
- package/dist/esm/ion-button_2.entry.js +43 -11
- package/dist/esm/ion-card_5.entry.js +53 -29
- package/dist/esm/ion-checkbox.entry.js +31 -13
- package/dist/esm/ion-chip.entry.js +49 -8
- package/dist/esm/ion-col_3.entry.js +54 -57
- package/dist/esm/ion-datetime-button.entry.js +11 -7
- package/dist/esm/ion-datetime_3.entry.js +115 -40
- package/dist/esm/ion-divider.entry.js +49 -0
- package/dist/esm/ion-fab_3.entry.js +43 -27
- package/dist/esm/ion-img.entry.js +7 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +89 -14
- package/dist/esm/ion-input-otp.entry.js +11 -7
- package/dist/esm/ion-input-password-toggle.entry.js +52 -14
- package/dist/esm/ion-input.entry.js +122 -32
- package/dist/esm/ion-item-option_3.entry.js +48 -19
- package/dist/esm/ion-item_8.entry.js +115 -48
- package/dist/esm/ion-loading.entry.js +17 -15
- package/dist/esm/ion-menu_3.entry.js +45 -27
- package/dist/esm/ion-modal.entry.js +59 -142
- package/dist/esm/ion-nav_2.entry.js +13 -10
- package/dist/esm/ion-picker-column-option.entry.js +10 -6
- package/dist/esm/ion-picker-column.entry.js +11 -11
- package/dist/esm/ion-picker.entry.js +9 -5
- package/dist/esm/ion-popover.entry.js +28 -76
- package/dist/esm/ion-progress-bar.entry.js +25 -7
- package/dist/esm/ion-radio_2.entry.js +24 -14
- package/dist/esm/ion-range.entry.js +14 -10
- package/dist/esm/ion-refresher_2.entry.js +37 -19
- package/dist/esm/ion-reorder_2.entry.js +38 -14
- package/dist/esm/ion-ripple-effect.entry.js +14 -6
- package/dist/esm/ion-route_4.entry.js +8 -7
- package/dist/esm/ion-searchbar.entry.js +137 -24
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +5 -2
- package/dist/esm/ion-segment_2.entry.js +21 -14
- package/dist/esm/ion-select-modal.entry.js +16 -10
- package/dist/esm/ion-select_3.entry.js +131 -40
- package/dist/esm/ion-spinner.entry.js +28 -6
- package/dist/esm/ion-split-pane.entry.js +11 -8
- package/dist/esm/ion-tab-bar_2.entry.js +75 -21
- package/dist/esm/ion-tab_2.entry.js +7 -6
- package/dist/esm/ion-text.entry.js +5 -5
- package/dist/esm/ion-textarea.entry.js +55 -15
- package/dist/esm/ion-toast.entry.js +40 -17
- package/dist/esm/ion-toggle.entry.js +79 -22
- package/dist/esm/ionic-global-2lDD9k7y.js +495 -0
- package/dist/esm/ionic.js +3 -3
- package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition-uJxJFbq8.js} +6 -4
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-B-HHSSYU.js} +4 -3
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-CU1vRv-b.js} +1 -1
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-Dplyc4OV.js} +5 -3
- package/dist/esm/list-Dhi5xtNS.js +6 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-Dp4NTeSh.js} +5 -4
- package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-BvFDmO69.js} +2 -2
- package/dist/esm/{overlays-D5YkFThA.js → overlays-B037a9Tz.js} +5 -6
- package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-DXVlluKS.js} +3 -2
- package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-DNhAt9fY.js} +2 -1
- package/dist/esm/x-BDqjX7Z_.js +6 -0
- package/dist/html.html-data.json +2530 -224
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-01577340.entry.js +4 -0
- package/dist/ionic/p-04b1d37a.entry.js +4 -0
- package/dist/ionic/p-04e0ff62.entry.js +4 -0
- package/dist/ionic/p-0607ce8e.entry.js +4 -0
- package/dist/ionic/p-0744265c.entry.js +4 -0
- package/dist/ionic/p-0ac7c560.entry.js +4 -0
- package/dist/ionic/p-0c41c8a8.entry.js +4 -0
- package/dist/ionic/p-0eecce18.entry.js +4 -0
- package/dist/ionic/p-0f124806.entry.js +4 -0
- package/dist/ionic/p-19b2060d.entry.js +4 -0
- package/dist/ionic/p-27dbb44c.entry.js +4 -0
- package/dist/ionic/p-28a9d991.entry.js +4 -0
- package/dist/ionic/p-2dc676b2.entry.js +4 -0
- package/dist/ionic/p-381eb2a4.entry.js +4 -0
- package/dist/ionic/p-3dc6b37d.entry.js +4 -0
- package/dist/ionic/p-412d5d9e.entry.js +4 -0
- package/dist/ionic/p-472b2ca3.entry.js +4 -0
- package/dist/ionic/p-5543b7b8.entry.js +4 -0
- package/dist/ionic/p-57a2d30b.entry.js +4 -0
- package/dist/ionic/p-59a79bd9.entry.js +4 -0
- package/dist/ionic/p-5daa0980.entry.js +4 -0
- package/dist/ionic/p-5f9d9c14.entry.js +4 -0
- package/dist/ionic/p-60549f06.entry.js +4 -0
- package/dist/ionic/p-616dd053.entry.js +4 -0
- package/dist/ionic/p-63a2b52a.entry.js +4 -0
- package/dist/ionic/p-68c064ce.entry.js +4 -0
- package/dist/ionic/p-6bb99f41.entry.js +4 -0
- package/dist/ionic/p-742fed9f.entry.js +4 -0
- package/dist/ionic/p-7fe3ea65.entry.js +4 -0
- package/dist/ionic/p-826267d6.entry.js +4 -0
- package/dist/ionic/p-8681a2a7.entry.js +4 -0
- package/dist/ionic/p-8ee09d4e.entry.js +4 -0
- package/dist/ionic/p-8f541b05.entry.js +4 -0
- package/dist/ionic/{p-D13Eaw-8.js → p-B-D7Cfki.js} +1 -1
- package/dist/ionic/{p-CwgG81ZD.js → p-B3uz75uZ.js} +1 -1
- package/dist/ionic/p-BDqjX7Z_.js +4 -0
- package/dist/ionic/p-BYSs-jZz.js +4 -0
- package/dist/ionic/p-BiTKUjko.js +4 -0
- package/dist/ionic/p-ByhhQryg.js +4 -0
- package/dist/ionic/{p-DCv9sLH2.js → p-C8r4dtYR.js} +1 -1
- package/dist/ionic/p-CK1xn1Nt.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
- package/dist/ionic/p-COLHV2ym.js +4 -0
- package/dist/ionic/p-C_97se21.js +4 -0
- package/dist/ionic/{p-CKvCXMs9.js → p-Cq83JWMg.js} +1 -1
- package/dist/ionic/{p-Dc45iWE4.js → p-CtUK3cKk.js} +1 -1
- package/dist/ionic/p-CvRDI-Iz.js +4 -0
- package/dist/ionic/{p-CJxh_yLS.js → p-D-BelbiX.js} +1 -1
- package/dist/ionic/p-D1t981Ih.js +4 -0
- package/dist/ionic/p-DHeUgOSJ.js +4 -0
- package/dist/ionic/p-DM-v_NNE.js +4 -0
- package/dist/ionic/p-DeEDqH91.js +4 -0
- package/dist/ionic/p-Dhi5xtNS.js +4 -0
- package/dist/ionic/p-DoGrslUl.js +4 -0
- package/dist/ionic/p-Dq8ap6AD.js +4 -0
- package/dist/ionic/p-DyaKZbAH.js +4 -0
- package/dist/ionic/{p-D0dMcSkw.js → p-HpOiAvpC.js} +1 -1
- package/dist/ionic/p-UafGZQ8e.js +4 -0
- package/dist/ionic/p-a35678f4.entry.js +4 -0
- package/dist/ionic/p-a6a37a34.entry.js +4 -0
- package/dist/ionic/p-a89211bd.entry.js +4 -0
- package/dist/ionic/p-add1a5d8.entry.js +4 -0
- package/dist/ionic/p-af1f624e.entry.js +4 -0
- package/dist/ionic/p-b475ec18.entry.js +4 -0
- package/dist/ionic/p-bd295ca7.entry.js +4 -0
- package/dist/ionic/p-be82dc77.entry.js +4 -0
- package/dist/ionic/p-c082f853.entry.js +4 -0
- package/dist/ionic/p-c19b5c8c.entry.js +4 -0
- package/dist/ionic/p-cdbfbff6.entry.js +4 -0
- package/dist/ionic/p-d3f64c58.entry.js +4 -0
- package/dist/ionic/p-d9c9592a.entry.js +4 -0
- package/dist/ionic/p-da0a2ca6.entry.js +4 -0
- package/dist/ionic/p-da49c0fe.entry.js +4 -0
- package/dist/ionic/p-dacd8666.entry.js +4 -0
- package/dist/ionic/p-e1d84521.entry.js +4 -0
- package/dist/ionic/p-ecba552f.entry.js +4 -0
- package/dist/ionic/p-ecf8e713.entry.js +4 -0
- package/dist/ionic/p-f667945d.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-nP9c7bo5.js +4 -0
- package/dist/ionic/p-of4jy1ch.js +4 -0
- package/dist/ionic/{p-DUt5fQmA.js → p-q1ZSn0l7.js} +1 -1
- package/dist/ionic/p-qZR4N8Lu.js +4 -0
- package/dist/ionic/p-vXpMhGrs.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +5 -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 -2
- 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 +19 -6
- package/dist/types/components/buttons/buttons.d.ts +5 -1
- package/dist/types/components/card/card.d.ts +8 -1
- package/dist/types/components/card-content/card-content.d.ts +2 -1
- package/dist/types/components/card-header/card-header.d.ts +3 -2
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
- package/dist/types/components/card-title/card-title.d.ts +2 -1
- package/dist/types/components/checkbox/checkbox.d.ts +14 -4
- package/dist/types/components/chip/chip.d.ts +26 -1
- package/dist/types/components/col/col.d.ts +52 -5
- package/dist/types/components/content/content.d.ts +3 -0
- package/dist/types/components/datetime/datetime.d.ts +26 -1
- package/dist/types/components/datetime/utils/data.d.ts +5 -5
- package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
- package/dist/types/components/divider/divider.d.ts +20 -0
- package/dist/types/components/fab/fab.d.ts +4 -0
- package/dist/types/components/fab-button/fab-button.d.ts +5 -3
- package/dist/types/components/fab-list/fab-list.d.ts +4 -0
- package/dist/types/components/footer/footer.d.ts +4 -3
- package/dist/types/components/grid/grid.d.ts +4 -0
- package/dist/types/components/header/header.d.ts +9 -3
- package/dist/types/components/header/header.utils.d.ts +3 -3
- package/dist/types/components/img/img.d.ts +3 -0
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +31 -5
- package/dist/types/components/input-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 +4 -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/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/gestures/swipe-to-close.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +4 -7
- package/dist/types/components/modal/modal.d.ts +11 -25
- 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/popover/utils.d.ts +0 -2
- 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 +8 -0
- package/dist/types/components/range/range.d.ts +2 -1
- package/dist/types/components/refresher/refresher.d.ts +2 -1
- package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
- package/dist/types/components/reorder/reorder.d.ts +9 -0
- package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
- package/dist/types/components/route/route.d.ts +4 -0
- package/dist/types/components/router/router.d.ts +4 -0
- package/dist/types/components/router-link/router-link.d.ts +4 -0
- package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
- package/dist/types/components/row/row.d.ts +4 -0
- package/dist/types/components/searchbar/searchbar.d.ts +51 -9
- package/dist/types/components/segment/segment.d.ts +2 -1
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +41 -13
- package/dist/types/components/select-modal/select-modal.d.ts +1 -0
- package/dist/types/components/select-option/select-option.d.ts +4 -0
- package/dist/types/components/select-popover/select-popover.d.ts +3 -0
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
- package/dist/types/components/spinner/spinner.d.ts +15 -0
- package/dist/types/components/split-pane/split-pane.d.ts +4 -0
- package/dist/types/components/tab/tab.d.ts +4 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
- package/dist/types/components/tab-button/tab-button.d.ts +12 -1
- package/dist/types/components/tabs/tabs.d.ts +3 -0
- package/dist/types/components/text/text.d.ts +2 -1
- package/dist/types/components/textarea/textarea.d.ts +17 -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 +20 -3
- package/dist/types/components.d.ts +1593 -196
- package/dist/types/global/ionic-global.d.ts +27 -2
- package/dist/types/interface.d.ts +3 -0
- package/dist/types/utils/config.d.ts +106 -2
- package/dist/types/utils/focus-visible.d.ts +13 -0
- package/dist/types/utils/helpers.d.ts +11 -0
- package/dist/types/utils/overlays-interface.d.ts +31 -1
- package/dist/types/utils/test/playwright/generator.d.ts +31 -2
- package/hydrate/index.js +2890 -1121
- package/hydrate/index.mjs +2890 -1121
- package/package.json +8 -4
- package/components/hardware-back-button.js +0 -115
- package/components/index9.js +0 -7
- package/dist/cjs/hardware-back-button-VCK4V3mG.js +0 -121
- package/dist/cjs/index-DkNv4J_i.js +0 -10
- package/dist/cjs/ionic-global-HMVqOFGO.js +0 -151
- package/dist/esm/hardware-back-button-CPLxO-Ev.js +0 -115
- package/dist/esm/index-ZjP4CjeZ.js +0 -7
- package/dist/esm/ionic-global-CDrldh-5.js +0 -146
- package/dist/ionic/p-020af078.entry.js +0 -4
- package/dist/ionic/p-02d76786.entry.js +0 -4
- package/dist/ionic/p-074839fc.entry.js +0 -4
- package/dist/ionic/p-0dfa5a37.entry.js +0 -4
- package/dist/ionic/p-11518b31.entry.js +0 -4
- package/dist/ionic/p-11aa58d6.entry.js +0 -4
- package/dist/ionic/p-1647c46c.entry.js +0 -4
- package/dist/ionic/p-2a939845.entry.js +0 -4
- package/dist/ionic/p-301ad219.entry.js +0 -4
- package/dist/ionic/p-316c0420.entry.js +0 -4
- package/dist/ionic/p-31f7095f.entry.js +0 -4
- package/dist/ionic/p-34642fa1.entry.js +0 -4
- package/dist/ionic/p-35696017.entry.js +0 -4
- package/dist/ionic/p-370e4237.entry.js +0 -4
- package/dist/ionic/p-3a6caca9.entry.js +0 -4
- package/dist/ionic/p-40c261a3.entry.js +0 -4
- package/dist/ionic/p-46d74291.entry.js +0 -4
- package/dist/ionic/p-481858c3.entry.js +0 -4
- package/dist/ionic/p-49d06882.entry.js +0 -4
- package/dist/ionic/p-4e41ea20.entry.js +0 -4
- package/dist/ionic/p-51a60e0f.entry.js +0 -4
- package/dist/ionic/p-582824c5.entry.js +0 -4
- package/dist/ionic/p-6241ce47.entry.js +0 -4
- package/dist/ionic/p-639dd543.entry.js +0 -4
- package/dist/ionic/p-6444c606.entry.js +0 -4
- package/dist/ionic/p-675b1a31.entry.js +0 -4
- package/dist/ionic/p-6d070558.entry.js +0 -4
- package/dist/ionic/p-7268efa5.entry.js +0 -4
- package/dist/ionic/p-72c38b88.entry.js +0 -4
- package/dist/ionic/p-732b2fd6.entry.js +0 -4
- package/dist/ionic/p-79bd78f9.entry.js +0 -4
- package/dist/ionic/p-7babec72.entry.js +0 -4
- package/dist/ionic/p-86f53961.entry.js +0 -4
- package/dist/ionic/p-94de5cfa.entry.js +0 -4
- package/dist/ionic/p-9575b654.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-B0q1YL7N.js +0 -4
- package/dist/ionic/p-BFvmZNyx.js +0 -4
- package/dist/ionic/p-BKc55Xev.js +0 -4
- package/dist/ionic/p-BOVrCkpJ.js +0 -4
- package/dist/ionic/p-BYEqWnSg.js +0 -4
- package/dist/ionic/p-BmVRXR1y.js +0 -4
- package/dist/ionic/p-Bmgaetn_.js +0 -4
- package/dist/ionic/p-C7hRNDhM.js +0 -4
- package/dist/ionic/p-CIGNaXM1.js +0 -4
- package/dist/ionic/p-CTfR9YZG.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-D-eFFUkA.js +0 -4
- package/dist/ionic/p-DDb5r57F.js +0 -4
- package/dist/ionic/p-DNcfiJwE.js +0 -4
- package/dist/ionic/p-DZRJwG4S.js +0 -4
- package/dist/ionic/p-DdR6rpbR.js +0 -4
- package/dist/ionic/p-QHYY4sjU.js +0 -4
- package/dist/ionic/p-ZjP4CjeZ.js +0 -4
- package/dist/ionic/p-a127bee2.entry.js +0 -4
- package/dist/ionic/p-ac4eb91d.entry.js +0 -4
- package/dist/ionic/p-b0a7585c.entry.js +0 -4
- package/dist/ionic/p-b3d44509.entry.js +0 -4
- package/dist/ionic/p-c19af093.entry.js +0 -4
- package/dist/ionic/p-c19f63d0.entry.js +0 -4
- package/dist/ionic/p-cc45bcbc.entry.js +0 -4
- package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
- package/dist/ionic/p-d126e8d3.entry.js +0 -4
- package/dist/ionic/p-d1f54e28.entry.js +0 -4
- package/dist/ionic/p-d3014190.entry.js +0 -4
- package/dist/ionic/p-da7d04cc.entry.js +0 -4
- package/dist/ionic/p-db82892c.entry.js +0 -4
- package/dist/ionic/p-dbbe606a.entry.js +0 -4
- package/dist/ionic/p-dd1aef77.entry.js +0 -4
- package/dist/ionic/p-eb024a5b.entry.js +0 -4
- package/dist/ionic/p-f8f22cc0.entry.js +0 -4
- /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
|
@@ -3,24 +3,23 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index$
|
|
7
|
-
var index$
|
|
8
|
-
var frameworkDelegate = require('./framework-delegate-
|
|
9
|
-
var helpers = require('./helpers-
|
|
6
|
+
var index$2 = require('./index-D6Wc6v08.js');
|
|
7
|
+
var index$1 = require('./index-DUoP_H1L.js');
|
|
8
|
+
var frameworkDelegate = require('./framework-delegate-Bwdk9vFS.js');
|
|
9
|
+
var helpers = require('./helpers-DnouLczu.js');
|
|
10
10
|
var lockController = require('./lock-controller-aDB9wrEf.js');
|
|
11
|
-
var capacitor = require('./capacitor-
|
|
12
|
-
var overlays = require('./overlays-
|
|
11
|
+
var capacitor = require('./capacitor-C8raJ_tU.js');
|
|
12
|
+
var overlays = require('./overlays-CRSQCKrz.js');
|
|
13
13
|
var theme = require('./theme-CeDs6Hcv.js');
|
|
14
|
-
var index$
|
|
15
|
-
var ionicGlobal = require('./ionic-global-
|
|
16
|
-
var keyboard = require('./keyboard-
|
|
17
|
-
var animation = require('./animation-
|
|
14
|
+
var index$3 = require('./index-JtyffOXl.js');
|
|
15
|
+
var ionicGlobal = require('./ionic-global-DpRwOXLK.js');
|
|
16
|
+
var keyboard = require('./keyboard-B8HJHbg3.js');
|
|
17
|
+
var animation = require('./animation-CD5nuON9.js');
|
|
18
18
|
var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
|
|
19
|
-
var index
|
|
20
|
-
|
|
21
|
-
require('./hardware-back-button-VCK4V3mG.js');
|
|
19
|
+
var index = require('./index-CAvQ7Tka.js');
|
|
20
|
+
require('./focus-visible-BIj-I3-C.js');
|
|
22
21
|
require('./gesture-controller-dtqlP_q4.js');
|
|
23
|
-
require('./keyboard-
|
|
22
|
+
require('./keyboard-BlrG3xPK.js');
|
|
24
23
|
|
|
25
24
|
var Style;
|
|
26
25
|
(function (Style) {
|
|
@@ -117,13 +116,13 @@ const getBackdropValueForSheet = (x, backdropBreakpoint) => {
|
|
|
117
116
|
*
|
|
118
117
|
*/
|
|
119
118
|
const setCardStatusBarDark = () => {
|
|
120
|
-
if (!
|
|
119
|
+
if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
|
|
121
120
|
return;
|
|
122
121
|
}
|
|
123
122
|
StatusBar.setStyle({ style: Style.Dark });
|
|
124
123
|
};
|
|
125
124
|
const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
|
|
126
|
-
if (!
|
|
125
|
+
if (!ionicGlobal.win || ionicGlobal.win.innerWidth >= 768) {
|
|
127
126
|
return;
|
|
128
127
|
}
|
|
129
128
|
StatusBar.setStyle({ style: defaultStyle });
|
|
@@ -249,7 +248,7 @@ const calculateSpringStep = (t) => {
|
|
|
249
248
|
const SwipeToCloseDefaults = {
|
|
250
249
|
MIN_PRESENTING_SCALE: 0.915,
|
|
251
250
|
};
|
|
252
|
-
const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss
|
|
251
|
+
const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) => {
|
|
253
252
|
/**
|
|
254
253
|
* The step value at which a card modal
|
|
255
254
|
* is eligible for dismissing via gesture.
|
|
@@ -264,7 +263,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onG
|
|
|
264
263
|
let initialScrollY = true;
|
|
265
264
|
let lastStep = 0;
|
|
266
265
|
const getScrollY = () => {
|
|
267
|
-
if (contentEl && index$
|
|
266
|
+
if (contentEl && index$1.isIonContent(contentEl)) {
|
|
268
267
|
return contentEl.scrollY;
|
|
269
268
|
/**
|
|
270
269
|
* Custom scroll containers are intended to be
|
|
@@ -296,7 +295,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onG
|
|
|
296
295
|
* swipe again. The target content will not
|
|
297
296
|
* be the same between swipes.
|
|
298
297
|
*/
|
|
299
|
-
contentEl = index$
|
|
298
|
+
contentEl = index$1.findClosestIonContent(target);
|
|
300
299
|
if (contentEl) {
|
|
301
300
|
/**
|
|
302
301
|
* The card should never swipe to close
|
|
@@ -312,7 +311,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onG
|
|
|
312
311
|
* operation, and getScrollElement is
|
|
313
312
|
* asynchronous.
|
|
314
313
|
*/
|
|
315
|
-
if (index$
|
|
314
|
+
if (index$1.isIonContent(contentEl)) {
|
|
316
315
|
const root = helpers.getElementRoot(contentEl);
|
|
317
316
|
scrollEl = root.querySelector('.inner-scroll');
|
|
318
317
|
}
|
|
@@ -356,7 +355,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onG
|
|
|
356
355
|
* happen at the same time as the gesture.
|
|
357
356
|
*/
|
|
358
357
|
if (deltaY > 0 && contentEl) {
|
|
359
|
-
index$
|
|
358
|
+
index$1.disableContentScrollY(contentEl);
|
|
360
359
|
}
|
|
361
360
|
animation.progressStart(true, isOpen ? 1 : 0);
|
|
362
361
|
};
|
|
@@ -369,7 +368,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onG
|
|
|
369
368
|
* happen at the same time as the gesture.
|
|
370
369
|
*/
|
|
371
370
|
if (deltaY > 0 && contentEl) {
|
|
372
|
-
index$
|
|
371
|
+
index$1.disableContentScrollY(contentEl);
|
|
373
372
|
}
|
|
374
373
|
/**
|
|
375
374
|
* If we are swiping on the content
|
|
@@ -406,8 +405,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onG
|
|
|
406
405
|
const processedStep = isAttemptingDismissWithCanDismiss ? calculateSpringStep(step / maxStep) : step;
|
|
407
406
|
const clampedStep = helpers.clamp(0.0001, processedStep, maxStep);
|
|
408
407
|
animation.progressStep(clampedStep);
|
|
409
|
-
// Notify modal of position change for safe-area updates
|
|
410
|
-
onGestureMove === null || onGestureMove === void 0 ? void 0 : onGestureMove();
|
|
411
408
|
/**
|
|
412
409
|
* When swiping down half way, the status bar style
|
|
413
410
|
* should be reset to its default value.
|
|
@@ -459,7 +456,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onG
|
|
|
459
456
|
isOpen = shouldComplete;
|
|
460
457
|
gesture.enable(false);
|
|
461
458
|
if (contentEl) {
|
|
462
|
-
index$
|
|
459
|
+
index$1.resetContentScrollY(contentEl, initialScrollY);
|
|
463
460
|
}
|
|
464
461
|
animation
|
|
465
462
|
.onFinish(() => {
|
|
@@ -487,7 +484,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onG
|
|
|
487
484
|
onDismiss();
|
|
488
485
|
}
|
|
489
486
|
};
|
|
490
|
-
const gesture = index
|
|
487
|
+
const gesture = index.createGesture({
|
|
491
488
|
el,
|
|
492
489
|
gestureName: 'modalSwipeToClose',
|
|
493
490
|
gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
|
|
@@ -505,14 +502,20 @@ const computeDuration = (remaining, velocity) => {
|
|
|
505
502
|
};
|
|
506
503
|
|
|
507
504
|
const createSheetEnterAnimation = (opts) => {
|
|
508
|
-
const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
|
|
505
|
+
const { currentBreakpoint, backdropBreakpoint, expandToScroll, staticBackdropOpacity } = opts;
|
|
509
506
|
/**
|
|
510
507
|
* If the backdropBreakpoint is undefined, then the backdrop
|
|
511
508
|
* should always fade in. If the backdropBreakpoint came before the
|
|
512
509
|
* current breakpoint, then the backdrop should be fading in.
|
|
513
510
|
*/
|
|
514
511
|
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
515
|
-
|
|
512
|
+
let initialBackdrop = '0';
|
|
513
|
+
if (staticBackdropOpacity) {
|
|
514
|
+
initialBackdrop = 'calc(var(--backdrop-opacity)';
|
|
515
|
+
}
|
|
516
|
+
else if (shouldShowBackdrop) {
|
|
517
|
+
initialBackdrop = `calc(var(--backdrop-opacity) * ${currentBreakpoint})`;
|
|
518
|
+
}
|
|
516
519
|
const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
517
520
|
if (shouldShowBackdrop) {
|
|
518
521
|
backdropAnimation
|
|
@@ -951,16 +954,16 @@ const mdLeaveAnimation = (baseEl, opts) => {
|
|
|
951
954
|
return baseAnimation;
|
|
952
955
|
};
|
|
953
956
|
|
|
954
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange,
|
|
957
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, staticBackdropOpacity) => {
|
|
955
958
|
// Defaults for the sheet swipe animation
|
|
956
959
|
const defaultBackdrop = [
|
|
957
960
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
958
|
-
{ offset: 1, opacity: 0.01 },
|
|
961
|
+
{ offset: 1, opacity: staticBackdropOpacity ? 'var(--backdrop-opacity)' : 0.01 },
|
|
959
962
|
];
|
|
960
963
|
const customBackdrop = [
|
|
961
964
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
962
|
-
{ offset: 1 - backdropBreakpoint, opacity: 0 },
|
|
963
|
-
{ offset: 1, opacity: 0 },
|
|
965
|
+
{ offset: 1 - backdropBreakpoint, opacity: staticBackdropOpacity ? 'var(--backdrop-opacity)' : 0 },
|
|
966
|
+
{ offset: 1, opacity: staticBackdropOpacity ? 'var(--backdrop-opacity)' : 0 },
|
|
964
967
|
];
|
|
965
968
|
const SheetDefaults = {
|
|
966
969
|
WRAPPER_KEYFRAMES: [
|
|
@@ -1141,14 +1144,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1141
1144
|
* For example, when using ion-nav within a modal it is possible to swipe, push a view,
|
|
1142
1145
|
* and then swipe again. The target content will not be the same between swipes.
|
|
1143
1146
|
*/
|
|
1144
|
-
const contentEl = index$
|
|
1147
|
+
const contentEl = index$1.findClosestIonContent(detail.event.target);
|
|
1145
1148
|
currentBreakpoint = getCurrentBreakpoint();
|
|
1146
1149
|
/**
|
|
1147
1150
|
* If `expandToScroll` is disabled, we should not allow the swipe gesture
|
|
1148
1151
|
* to start if the content is not scrolled to the top.
|
|
1149
1152
|
*/
|
|
1150
1153
|
if (!expandToScroll && contentEl) {
|
|
1151
|
-
const scrollEl = index$
|
|
1154
|
+
const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
1152
1155
|
return scrollEl.scrollTop === 0;
|
|
1153
1156
|
}
|
|
1154
1157
|
if (currentBreakpoint === 1 && contentEl) {
|
|
@@ -1161,7 +1164,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1161
1164
|
* Note 2: Do not use getScrollElement here because we need this to be a synchronous
|
|
1162
1165
|
* operation, and getScrollElement is asynchronous.
|
|
1163
1166
|
*/
|
|
1164
|
-
const scrollEl = index$
|
|
1167
|
+
const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
1165
1168
|
const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
|
|
1166
1169
|
return !hasRefresherInContent && scrollEl.scrollTop === 0;
|
|
1167
1170
|
}
|
|
@@ -1187,9 +1190,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1187
1190
|
* which would impact performance significantly.
|
|
1188
1191
|
*/
|
|
1189
1192
|
if (!expandToScroll) {
|
|
1190
|
-
const targetEl = index$
|
|
1193
|
+
const targetEl = index$1.findClosestIonContent(detail.event.target);
|
|
1191
1194
|
cachedScrollEl =
|
|
1192
|
-
targetEl && index$
|
|
1195
|
+
targetEl && index$1.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
|
|
1193
1196
|
}
|
|
1194
1197
|
/**
|
|
1195
1198
|
* If expandToScroll is disabled, we need to swap
|
|
@@ -1282,8 +1285,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1282
1285
|
: step;
|
|
1283
1286
|
offset = helpers.clamp(0.0001, processedStep, maxStep);
|
|
1284
1287
|
animation.progressStep(offset);
|
|
1285
|
-
// Notify modal of position change for safe-area updates
|
|
1286
|
-
onGestureMove === null || onGestureMove === void 0 ? void 0 : onGestureMove();
|
|
1287
1288
|
};
|
|
1288
1289
|
const onEnd = (detail) => {
|
|
1289
1290
|
/**
|
|
@@ -1347,11 +1348,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1347
1348
|
backdropAnimation.keyframes([
|
|
1348
1349
|
{
|
|
1349
1350
|
offset: 0,
|
|
1350
|
-
opacity:
|
|
1351
|
+
opacity: staticBackdropOpacity
|
|
1352
|
+
? 'var(--backdrop-opacity)'
|
|
1353
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
|
|
1351
1354
|
},
|
|
1352
1355
|
{
|
|
1353
1356
|
offset: 1,
|
|
1354
|
-
opacity:
|
|
1357
|
+
opacity: staticBackdropOpacity
|
|
1358
|
+
? 'var(--backdrop-opacity)'
|
|
1359
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
1355
1360
|
},
|
|
1356
1361
|
]);
|
|
1357
1362
|
if (contentAnimation) {
|
|
@@ -1461,7 +1466,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1461
1466
|
.progressEnd(1, 0, animated ? 500 : 0);
|
|
1462
1467
|
});
|
|
1463
1468
|
};
|
|
1464
|
-
const gesture = index
|
|
1469
|
+
const gesture = index.createGesture({
|
|
1465
1470
|
el: wrapperEl,
|
|
1466
1471
|
gestureName: 'modalSheet',
|
|
1467
1472
|
gesturePriority: 40,
|
|
@@ -1478,23 +1483,25 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1478
1483
|
};
|
|
1479
1484
|
};
|
|
1480
1485
|
|
|
1481
|
-
const
|
|
1486
|
+
const modalIonicCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));--box-shadow:var(--token-elevation-3, 0px 2px 7px 0px rgba(0, 0, 0, 0.05), 0px 6px 32px 0px rgba(0, 0, 0, 0.16));--backdrop-opacity:1;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)))}";
|
|
1482
1487
|
|
|
1483
|
-
const
|
|
1488
|
+
const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--ion-background-color, #fff);--border-radius:0;--backdrop-opacity:0;color:var(--ion-text-color, #000)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{right:0px;left:0px;top:5px;border-radius:8px;width:36px;height:5px;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be))}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;width:36px;height:5px}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 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}";
|
|
1489
|
+
|
|
1490
|
+
const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--ion-background-color, #fff);--border-radius:0;--backdrop-opacity:0;color:var(--ion-text-color, #000)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{right:0px;left:0px;top:5px;border-radius:8px;width:36px;height:5px;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be))}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;width:36px;height:5px}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 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}";
|
|
1484
1491
|
|
|
1485
1492
|
const Modal = class {
|
|
1486
1493
|
constructor(hostRef) {
|
|
1487
|
-
index$
|
|
1488
|
-
this.didPresent = index$
|
|
1489
|
-
this.willPresent = index$
|
|
1490
|
-
this.willDismiss = index$
|
|
1491
|
-
this.didDismiss = index$
|
|
1492
|
-
this.ionBreakpointDidChange = index$
|
|
1493
|
-
this.didPresentShorthand = index$
|
|
1494
|
-
this.willPresentShorthand = index$
|
|
1495
|
-
this.willDismissShorthand = index$
|
|
1496
|
-
this.didDismissShorthand = index$
|
|
1497
|
-
this.ionMount = index$
|
|
1494
|
+
index$2.registerInstance(this, hostRef);
|
|
1495
|
+
this.didPresent = index$2.createEvent(this, "ionModalDidPresent", 7);
|
|
1496
|
+
this.willPresent = index$2.createEvent(this, "ionModalWillPresent", 7);
|
|
1497
|
+
this.willDismiss = index$2.createEvent(this, "ionModalWillDismiss", 7);
|
|
1498
|
+
this.didDismiss = index$2.createEvent(this, "ionModalDidDismiss", 7);
|
|
1499
|
+
this.ionBreakpointDidChange = index$2.createEvent(this, "ionBreakpointDidChange", 7);
|
|
1500
|
+
this.didPresentShorthand = index$2.createEvent(this, "didPresent", 7);
|
|
1501
|
+
this.willPresentShorthand = index$2.createEvent(this, "willPresent", 7);
|
|
1502
|
+
this.willDismissShorthand = index$2.createEvent(this, "willDismiss", 7);
|
|
1503
|
+
this.didDismissShorthand = index$2.createEvent(this, "didDismiss", 7);
|
|
1504
|
+
this.ionMount = index$2.createEvent(this, "ionMount", 7);
|
|
1498
1505
|
this.lockController = lockController.createLockController();
|
|
1499
1506
|
this.triggerController = overlays.createTriggerController();
|
|
1500
1507
|
this.coreDelegate = frameworkDelegate.CoreDelegate();
|
|
@@ -1503,8 +1510,6 @@ const Modal = class {
|
|
|
1503
1510
|
this.inline = false;
|
|
1504
1511
|
// Whether or not modal is being dismissed via gesture
|
|
1505
1512
|
this.gestureAnimationDismissing = false;
|
|
1506
|
-
// Whether to skip coordinate-based safe-area detection (for fullscreen phone modals)
|
|
1507
|
-
this.skipSafeAreaCoordinateDetection = false;
|
|
1508
1513
|
this.presented = false;
|
|
1509
1514
|
/** @internal */
|
|
1510
1515
|
this.hasController = false;
|
|
@@ -1695,9 +1700,7 @@ const Modal = class {
|
|
|
1695
1700
|
}
|
|
1696
1701
|
}
|
|
1697
1702
|
onWindowResize() {
|
|
1698
|
-
//
|
|
1699
|
-
this.updateSafeAreaOverrides();
|
|
1700
|
-
// Only handle view transition for iOS card modals when no custom animations are provided
|
|
1703
|
+
// Only handle resize for iOS card modals when no custom animations are provided
|
|
1701
1704
|
if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
1702
1705
|
return;
|
|
1703
1706
|
}
|
|
@@ -1766,7 +1769,7 @@ const Modal = class {
|
|
|
1766
1769
|
this.currentBreakpoint = this.initialBreakpoint;
|
|
1767
1770
|
}
|
|
1768
1771
|
if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
|
|
1769
|
-
index$
|
|
1772
|
+
index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
|
|
1770
1773
|
}
|
|
1771
1774
|
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
1772
1775
|
overlays.setOverlayId(this.el);
|
|
@@ -1866,7 +1869,7 @@ const Modal = class {
|
|
|
1866
1869
|
* get the transition incorrect.
|
|
1867
1870
|
*/
|
|
1868
1871
|
if (helpers.hasLazyBuild(el)) {
|
|
1869
|
-
await index$
|
|
1872
|
+
await index$3.deepReady(this.usersElement);
|
|
1870
1873
|
/**
|
|
1871
1874
|
* If keepContentsMounted="true" then the
|
|
1872
1875
|
* JS Framework has already mounted the inner
|
|
@@ -1877,11 +1880,9 @@ const Modal = class {
|
|
|
1877
1880
|
*/
|
|
1878
1881
|
}
|
|
1879
1882
|
else if (!this.keepContentsMounted) {
|
|
1880
|
-
await index$
|
|
1883
|
+
await index$3.waitForMount();
|
|
1881
1884
|
}
|
|
1882
|
-
|
|
1883
|
-
this.setInitialSafeAreaOverrides(presentingElement);
|
|
1884
|
-
index$3.writeTask(() => this.el.classList.add('show-modal'));
|
|
1885
|
+
index$2.writeTask(() => this.el.classList.add('show-modal'));
|
|
1885
1886
|
const hasCardModal = presentingElement !== undefined;
|
|
1886
1887
|
/**
|
|
1887
1888
|
* We need to change the status bar at the
|
|
@@ -1898,6 +1899,7 @@ const Modal = class {
|
|
|
1898
1899
|
currentBreakpoint: this.initialBreakpoint,
|
|
1899
1900
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
1900
1901
|
expandToScroll: this.expandToScroll,
|
|
1902
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
1901
1903
|
});
|
|
1902
1904
|
/* tslint:disable-next-line */
|
|
1903
1905
|
if (typeof window !== 'undefined') {
|
|
@@ -1942,8 +1944,6 @@ const Modal = class {
|
|
|
1942
1944
|
else if (hasCardModal) {
|
|
1943
1945
|
this.initSwipeToClose();
|
|
1944
1946
|
}
|
|
1945
|
-
// Now that animation is complete, update safe-area based on actual position
|
|
1946
|
-
this.updateSafeAreaOverrides();
|
|
1947
1947
|
// Initialize view transition listener for iOS card modals
|
|
1948
1948
|
this.initViewTransitionListener();
|
|
1949
1949
|
// Initialize parent removal observer
|
|
@@ -1959,14 +1959,14 @@ const Modal = class {
|
|
|
1959
1959
|
// All of the elements needed for the swipe gesture
|
|
1960
1960
|
// should be in the DOM and referenced by now, except
|
|
1961
1961
|
// for the presenting el
|
|
1962
|
-
const animationBuilder = this.leaveAnimation || index$
|
|
1962
|
+
const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
|
|
1963
1963
|
const ani = (this.animation = animationBuilder(el, {
|
|
1964
1964
|
presentingEl: this.presentingElement,
|
|
1965
1965
|
expandToScroll: this.expandToScroll,
|
|
1966
1966
|
}));
|
|
1967
|
-
const contentEl = index$
|
|
1967
|
+
const contentEl = index$1.findIonContent(el);
|
|
1968
1968
|
if (!contentEl) {
|
|
1969
|
-
index$
|
|
1969
|
+
index$1.printIonContentErrorMsg(el);
|
|
1970
1970
|
return;
|
|
1971
1971
|
}
|
|
1972
1972
|
const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
|
|
@@ -1995,7 +1995,7 @@ const Modal = class {
|
|
|
1995
1995
|
await this.dismiss(undefined, overlays.GESTURE);
|
|
1996
1996
|
this.gestureAnimationDismissing = false;
|
|
1997
1997
|
});
|
|
1998
|
-
}
|
|
1998
|
+
});
|
|
1999
1999
|
this.gesture.enable(true);
|
|
2000
2000
|
}
|
|
2001
2001
|
initSheetGesture() {
|
|
@@ -2003,12 +2003,13 @@ const Modal = class {
|
|
|
2003
2003
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
2004
2004
|
return;
|
|
2005
2005
|
}
|
|
2006
|
-
const animationBuilder = this.enterAnimation || index$
|
|
2006
|
+
const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
|
|
2007
2007
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
2008
2008
|
presentingEl: this.presentingElement,
|
|
2009
2009
|
currentBreakpoint: initialBreakpoint,
|
|
2010
2010
|
backdropBreakpoint,
|
|
2011
2011
|
expandToScroll: this.expandToScroll,
|
|
2012
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2012
2013
|
}));
|
|
2013
2014
|
ani.progressStart(true, 1);
|
|
2014
2015
|
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
@@ -2016,8 +2017,7 @@ const Modal = class {
|
|
|
2016
2017
|
this.currentBreakpoint = breakpoint;
|
|
2017
2018
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
2018
2019
|
}
|
|
2019
|
-
|
|
2020
|
-
}, () => this.updateSafeAreaOverrides());
|
|
2020
|
+
}, ionicGlobal.getIonTheme(this) === 'ionic');
|
|
2021
2021
|
this.gesture = gesture;
|
|
2022
2022
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
2023
2023
|
this.gesture.enable(true);
|
|
@@ -2095,97 +2095,6 @@ const Modal = class {
|
|
|
2095
2095
|
// Clear the cached reference
|
|
2096
2096
|
this.cachedPageParent = undefined;
|
|
2097
2097
|
}
|
|
2098
|
-
/**
|
|
2099
|
-
* Sets initial safe-area overrides based on modal configuration before
|
|
2100
|
-
* the modal becomes visible. This predicts whether the modal will touch
|
|
2101
|
-
* screen edges to avoid a visual snap after animation completes.
|
|
2102
|
-
*/
|
|
2103
|
-
setInitialSafeAreaOverrides(presentingElement) {
|
|
2104
|
-
const style = this.el.style;
|
|
2105
|
-
const isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
|
|
2106
|
-
const isCardModal = presentingElement !== undefined;
|
|
2107
|
-
const isTablet = window.innerWidth >= 768;
|
|
2108
|
-
// Sheet modals always touch bottom edge, never top/left/right
|
|
2109
|
-
if (isSheetModal) {
|
|
2110
|
-
style.setProperty('--ion-safe-area-top', '0px');
|
|
2111
|
-
style.setProperty('--ion-safe-area-left', '0px');
|
|
2112
|
-
style.setProperty('--ion-safe-area-right', '0px');
|
|
2113
|
-
return;
|
|
2114
|
-
}
|
|
2115
|
-
// Card modals are inset from all edges
|
|
2116
|
-
if (isCardModal) {
|
|
2117
|
-
this.zeroAllSafeAreas();
|
|
2118
|
-
return;
|
|
2119
|
-
}
|
|
2120
|
-
// Phone-sized fullscreen modals inherit safe areas and use wrapper padding
|
|
2121
|
-
if (!isTablet) {
|
|
2122
|
-
this.applyFullscreenSafeArea();
|
|
2123
|
-
return;
|
|
2124
|
-
}
|
|
2125
|
-
// Check if tablet modal is fullscreen via CSS custom properties
|
|
2126
|
-
const computedStyle = getComputedStyle(this.el);
|
|
2127
|
-
const width = computedStyle.getPropertyValue('--width').trim();
|
|
2128
|
-
const height = computedStyle.getPropertyValue('--height').trim();
|
|
2129
|
-
const isFullscreen = width === '100%' && height === '100%';
|
|
2130
|
-
if (isFullscreen) {
|
|
2131
|
-
this.applyFullscreenSafeArea();
|
|
2132
|
-
}
|
|
2133
|
-
else {
|
|
2134
|
-
// Centered dialog doesn't touch edges
|
|
2135
|
-
this.zeroAllSafeAreas();
|
|
2136
|
-
}
|
|
2137
|
-
}
|
|
2138
|
-
/**
|
|
2139
|
-
* Applies safe-area handling for fullscreen modals.
|
|
2140
|
-
* Adds wrapper padding when no footer is present to prevent
|
|
2141
|
-
* content from overlapping system navigation areas.
|
|
2142
|
-
*/
|
|
2143
|
-
applyFullscreenSafeArea() {
|
|
2144
|
-
this.skipSafeAreaCoordinateDetection = true;
|
|
2145
|
-
const hasFooter = this.el.querySelector('ion-footer') !== null;
|
|
2146
|
-
if (!hasFooter && this.wrapperEl) {
|
|
2147
|
-
this.wrapperEl.style.setProperty('padding-bottom', 'var(--ion-safe-area-bottom, 0px)');
|
|
2148
|
-
this.wrapperEl.style.setProperty('box-sizing', 'border-box');
|
|
2149
|
-
}
|
|
2150
|
-
}
|
|
2151
|
-
/**
|
|
2152
|
-
* Sets all safe-area CSS variables to 0px for modals that
|
|
2153
|
-
* don't touch screen edges.
|
|
2154
|
-
*/
|
|
2155
|
-
zeroAllSafeAreas() {
|
|
2156
|
-
const style = this.el.style;
|
|
2157
|
-
style.setProperty('--ion-safe-area-top', '0px');
|
|
2158
|
-
style.setProperty('--ion-safe-area-bottom', '0px');
|
|
2159
|
-
style.setProperty('--ion-safe-area-left', '0px');
|
|
2160
|
-
style.setProperty('--ion-safe-area-right', '0px');
|
|
2161
|
-
}
|
|
2162
|
-
/**
|
|
2163
|
-
* Updates safe-area CSS variable overrides based on whether the modal
|
|
2164
|
-
* is touching each edge of the viewport. Called after animation
|
|
2165
|
-
* and during gestures to handle dynamic position changes.
|
|
2166
|
-
*/
|
|
2167
|
-
updateSafeAreaOverrides() {
|
|
2168
|
-
if (this.skipSafeAreaCoordinateDetection) {
|
|
2169
|
-
return;
|
|
2170
|
-
}
|
|
2171
|
-
const wrapper = this.wrapperEl;
|
|
2172
|
-
if (!wrapper) {
|
|
2173
|
-
return;
|
|
2174
|
-
}
|
|
2175
|
-
const rect = wrapper.getBoundingClientRect();
|
|
2176
|
-
const threshold = 2;
|
|
2177
|
-
const touchingTop = rect.top <= threshold;
|
|
2178
|
-
const touchingBottom = rect.bottom >= window.innerHeight - threshold;
|
|
2179
|
-
const touchingLeft = rect.left <= threshold;
|
|
2180
|
-
const touchingRight = rect.right >= window.innerWidth - threshold;
|
|
2181
|
-
const style = this.el.style;
|
|
2182
|
-
touchingTop ? style.removeProperty('--ion-safe-area-top') : style.setProperty('--ion-safe-area-top', '0px');
|
|
2183
|
-
touchingBottom
|
|
2184
|
-
? style.removeProperty('--ion-safe-area-bottom')
|
|
2185
|
-
: style.setProperty('--ion-safe-area-bottom', '0px');
|
|
2186
|
-
touchingLeft ? style.removeProperty('--ion-safe-area-left') : style.setProperty('--ion-safe-area-left', '0px');
|
|
2187
|
-
touchingRight ? style.removeProperty('--ion-safe-area-right') : style.setProperty('--ion-safe-area-right', '0px');
|
|
2188
|
-
}
|
|
2189
2098
|
sheetOnDismiss() {
|
|
2190
2099
|
/**
|
|
2191
2100
|
* While the gesture animation is finishing
|
|
@@ -2265,7 +2174,7 @@ const Modal = class {
|
|
|
2265
2174
|
if (dismissed) {
|
|
2266
2175
|
const { delegate } = this.getDelegate();
|
|
2267
2176
|
await frameworkDelegate.detachComponent(delegate, this.usersElement);
|
|
2268
|
-
index$
|
|
2177
|
+
index$2.writeTask(() => this.el.classList.remove('show-modal'));
|
|
2269
2178
|
if (this.animation) {
|
|
2270
2179
|
this.animation.destroy();
|
|
2271
2180
|
}
|
|
@@ -2278,8 +2187,6 @@ const Modal = class {
|
|
|
2278
2187
|
}
|
|
2279
2188
|
this.currentBreakpoint = undefined;
|
|
2280
2189
|
this.animation = undefined;
|
|
2281
|
-
// Reset safe-area detection flag for potential re-presentation
|
|
2282
|
-
this.skipSafeAreaCoordinateDetection = false;
|
|
2283
2190
|
unlock();
|
|
2284
2191
|
return dismissed;
|
|
2285
2192
|
}
|
|
@@ -2303,11 +2210,11 @@ const Modal = class {
|
|
|
2303
2210
|
*/
|
|
2304
2211
|
async setCurrentBreakpoint(breakpoint) {
|
|
2305
2212
|
if (!this.isSheetModal) {
|
|
2306
|
-
index$
|
|
2213
|
+
index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
|
|
2307
2214
|
return;
|
|
2308
2215
|
}
|
|
2309
2216
|
if (!this.breakpoints.includes(breakpoint)) {
|
|
2310
|
-
index$
|
|
2217
|
+
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.`);
|
|
2311
2218
|
return;
|
|
2312
2219
|
}
|
|
2313
2220
|
const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
|
|
@@ -2352,6 +2259,18 @@ const Modal = class {
|
|
|
2352
2259
|
await this.setCurrentBreakpoint(nextBreakpoint);
|
|
2353
2260
|
return true;
|
|
2354
2261
|
}
|
|
2262
|
+
getShape() {
|
|
2263
|
+
const theme = ionicGlobal.getIonTheme(this);
|
|
2264
|
+
const { shape } = this;
|
|
2265
|
+
// TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
|
|
2266
|
+
if (theme !== 'ionic') {
|
|
2267
|
+
return undefined;
|
|
2268
|
+
}
|
|
2269
|
+
if (shape === undefined) {
|
|
2270
|
+
return 'round';
|
|
2271
|
+
}
|
|
2272
|
+
return shape;
|
|
2273
|
+
}
|
|
2355
2274
|
initViewTransitionListener() {
|
|
2356
2275
|
// Only enable for iOS card modals when no custom animations are provided
|
|
2357
2276
|
if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
@@ -2361,10 +2280,6 @@ const Modal = class {
|
|
|
2361
2280
|
this.currentViewIsPortrait = window.innerWidth < 768;
|
|
2362
2281
|
}
|
|
2363
2282
|
handleViewTransition() {
|
|
2364
|
-
// Only run view transitions when the modal is presented
|
|
2365
|
-
if (!this.presented) {
|
|
2366
|
-
return;
|
|
2367
|
-
}
|
|
2368
2283
|
const isPortrait = window.innerWidth < 768;
|
|
2369
2284
|
// Only transition if view state actually changed
|
|
2370
2285
|
if (this.currentViewIsPortrait === isPortrait) {
|
|
@@ -2525,26 +2440,27 @@ const Modal = class {
|
|
|
2525
2440
|
render() {
|
|
2526
2441
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
2527
2442
|
const showHandle = handle !== false && isSheetModal;
|
|
2528
|
-
const
|
|
2529
|
-
const isCardModal = presentingElement !== undefined &&
|
|
2443
|
+
const theme$1 = ionicGlobal.getIonTheme(this);
|
|
2444
|
+
const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
|
|
2530
2445
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
2446
|
+
const shape = this.getShape();
|
|
2531
2447
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
2532
|
-
return (index$
|
|
2448
|
+
return (index$2.h(index$2.Host, Object.assign({ key: '547adca39bb8f0070f2e2c17d39300eab5d66202', "no-router": true,
|
|
2533
2449
|
// Allow the modal to be navigable when the handle is focusable
|
|
2534
2450
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
2535
2451
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
2536
|
-
}, class: Object.assign({ [
|
|
2452
|
+
}, 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: 'b15340363a5399cdbd015f3ba6a07ca9a057af3a', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme$1 === 'ios' && index$2.h("div", { key: 'd13cb2c5efe07b13e7f4a0ea358c8003944779a7', class: "modal-shadow" }), index$2.h("div", Object.assign({ key: 'd6f252655e0c11b7a76917781ad038d3eca4f1f6',
|
|
2537
2453
|
/*
|
|
2538
2454
|
role and aria-modal must be used on the
|
|
2539
2455
|
same element. They must also be set inside the
|
|
2540
2456
|
shadow DOM otherwise ion-button will not be highlighted
|
|
2541
2457
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
2542
2458
|
*/
|
|
2543
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$
|
|
2459
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$2.h("button", { key: '8ea59f134f0a949f27c5413a406771a5fe7d1d13', class: "modal-handle",
|
|
2544
2460
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
2545
|
-
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$
|
|
2461
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$2.h("slot", { key: 'c609a98d061e83c610c892aca9792e6784dbc02c', onSlotchange: this.onSlotChange }))));
|
|
2546
2462
|
}
|
|
2547
|
-
get el() { return index$
|
|
2463
|
+
get el() { return index$2.getElement(this); }
|
|
2548
2464
|
static get watchers() { return {
|
|
2549
2465
|
"isOpen": ["onIsOpenChange"],
|
|
2550
2466
|
"trigger": ["triggerChanged"]
|
|
@@ -2557,6 +2473,7 @@ const LIFECYCLE_MAP = {
|
|
|
2557
2473
|
ionModalDidDismiss: 'ionViewDidLeave',
|
|
2558
2474
|
};
|
|
2559
2475
|
Modal.style = {
|
|
2476
|
+
ionic: modalIonicCss,
|
|
2560
2477
|
ios: modalIosCss,
|
|
2561
2478
|
md: modalMdCss
|
|
2562
2479
|
};
|