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