@ionic/core 8.7.16-dev.11766771281.16c74618 → 8.7.16-dev.11767018329.15d3ae73
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 +149 -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 +9 -12
- 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 +198 -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 +16 -18
- 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 +135 -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/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/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 +158 -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 +16 -18
- 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-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-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-bf396166.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/ionic/p-f9061316.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 +13 -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/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 +1077 -2880
- package/hydrate/index.mjs +1077 -2880
- 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-03a794dc.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-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-67a63ae1.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-6e3686f8.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-995cc9a7.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-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-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
|
|
1487
|
-
|
|
1488
|
-
const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--ion-background-color, #fff);--border-radius:0;--backdrop-opacity:0;color:var(--ion-text-color, #000)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{right:0px;left:0px;top:5px;border-radius:8px;width:36px;height:5px;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be))}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;width:36px;height:5px}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}";
|
|
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}";
|
|
1489
1482
|
|
|
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
|
|
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();
|
|
@@ -1700,7 +1693,10 @@ const Modal = class {
|
|
|
1700
1693
|
}
|
|
1701
1694
|
}
|
|
1702
1695
|
onWindowResize() {
|
|
1703
|
-
//
|
|
1696
|
+
// Update safe-area overrides for all modal types on resize
|
|
1697
|
+
console.log('[onWindowResize] calling updateSafeAreaOverrides');
|
|
1698
|
+
this.updateSafeAreaOverrides();
|
|
1699
|
+
// Only handle view transition for iOS card modals when no custom animations are provided
|
|
1704
1700
|
if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
1705
1701
|
return;
|
|
1706
1702
|
}
|
|
@@ -1769,7 +1765,7 @@ const Modal = class {
|
|
|
1769
1765
|
this.currentBreakpoint = this.initialBreakpoint;
|
|
1770
1766
|
}
|
|
1771
1767
|
if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
|
|
1772
|
-
index$
|
|
1768
|
+
index$3.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
|
|
1773
1769
|
}
|
|
1774
1770
|
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
1775
1771
|
overlays.setOverlayId(this.el);
|
|
@@ -1869,7 +1865,7 @@ const Modal = class {
|
|
|
1869
1865
|
* get the transition incorrect.
|
|
1870
1866
|
*/
|
|
1871
1867
|
if (helpers.hasLazyBuild(el)) {
|
|
1872
|
-
await index$
|
|
1868
|
+
await index$4.deepReady(this.usersElement);
|
|
1873
1869
|
/**
|
|
1874
1870
|
* If keepContentsMounted="true" then the
|
|
1875
1871
|
* JS Framework has already mounted the inner
|
|
@@ -1880,9 +1876,11 @@ const Modal = class {
|
|
|
1880
1876
|
*/
|
|
1881
1877
|
}
|
|
1882
1878
|
else if (!this.keepContentsMounted) {
|
|
1883
|
-
await index$
|
|
1879
|
+
await index$4.waitForMount();
|
|
1884
1880
|
}
|
|
1885
|
-
|
|
1881
|
+
// Predict safe-area needs based on modal configuration to avoid visual snap
|
|
1882
|
+
this.setInitialSafeAreaOverrides(presentingElement);
|
|
1883
|
+
index$3.writeTask(() => this.el.classList.add('show-modal'));
|
|
1886
1884
|
const hasCardModal = presentingElement !== undefined;
|
|
1887
1885
|
/**
|
|
1888
1886
|
* We need to change the status bar at the
|
|
@@ -1899,7 +1897,6 @@ const Modal = class {
|
|
|
1899
1897
|
currentBreakpoint: this.initialBreakpoint,
|
|
1900
1898
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
1901
1899
|
expandToScroll: this.expandToScroll,
|
|
1902
|
-
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
1903
1900
|
});
|
|
1904
1901
|
/* tslint:disable-next-line */
|
|
1905
1902
|
if (typeof window !== 'undefined') {
|
|
@@ -1944,6 +1941,9 @@ const Modal = class {
|
|
|
1944
1941
|
else if (hasCardModal) {
|
|
1945
1942
|
this.initSwipeToClose();
|
|
1946
1943
|
}
|
|
1944
|
+
// Now that animation is complete, update safe-area based on actual position
|
|
1945
|
+
console.log('[present animation complete] calling updateSafeAreaOverrides');
|
|
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,119 @@ 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
|
+
console.log('[setInitialSafeAreaOverrides] called', {
|
|
2109
|
+
isSheetModal,
|
|
2110
|
+
isCardModal,
|
|
2111
|
+
isTablet,
|
|
2112
|
+
breakpoints: this.breakpoints,
|
|
2113
|
+
initialBreakpoint: this.initialBreakpoint,
|
|
2114
|
+
presentingElement: !!presentingElement,
|
|
2115
|
+
innerWidth: window.innerWidth,
|
|
2116
|
+
});
|
|
2117
|
+
// Sheet modals: always touch bottom, top depends on breakpoint
|
|
2118
|
+
if (isSheetModal) {
|
|
2119
|
+
console.log('[setInitialSafeAreaOverrides] Sheet modal path - setting top/left/right to 0, leaving bottom alone');
|
|
2120
|
+
style.setProperty('--ion-safe-area-top', '0px');
|
|
2121
|
+
// Don't override bottom - sheet always touches bottom
|
|
2122
|
+
style.setProperty('--ion-safe-area-left', '0px');
|
|
2123
|
+
style.setProperty('--ion-safe-area-right', '0px');
|
|
2124
|
+
return;
|
|
2125
|
+
}
|
|
2126
|
+
// Card modals are inset from edges (rounded corners), no safe areas needed
|
|
2127
|
+
if (isCardModal) {
|
|
2128
|
+
console.log('[setInitialSafeAreaOverrides] Card modal path - setting all to 0');
|
|
2129
|
+
style.setProperty('--ion-safe-area-top', '0px');
|
|
2130
|
+
style.setProperty('--ion-safe-area-bottom', '0px');
|
|
2131
|
+
style.setProperty('--ion-safe-area-left', '0px');
|
|
2132
|
+
style.setProperty('--ion-safe-area-right', '0px');
|
|
2133
|
+
return;
|
|
2134
|
+
}
|
|
2135
|
+
// Phone modals are fullscreen, need all safe areas
|
|
2136
|
+
if (!isTablet) {
|
|
2137
|
+
console.log('[setInitialSafeAreaOverrides] Phone modal path - not setting any overrides');
|
|
2138
|
+
// Don't set any overrides - inherit from :root
|
|
2139
|
+
return;
|
|
2140
|
+
}
|
|
2141
|
+
// Default tablet modal: centered dialog, no safe areas needed
|
|
2142
|
+
// Check for fullscreen override via CSS custom properties
|
|
2143
|
+
const computedStyle = getComputedStyle(this.el);
|
|
2144
|
+
const width = computedStyle.getPropertyValue('--width').trim();
|
|
2145
|
+
const height = computedStyle.getPropertyValue('--height').trim();
|
|
2146
|
+
console.log('[setInitialSafeAreaOverrides] Tablet modal path', { width, height });
|
|
2147
|
+
if (width === '100%' && height === '100%') {
|
|
2148
|
+
console.log('[setInitialSafeAreaOverrides] Fullscreen tablet modal - not setting overrides');
|
|
2149
|
+
// Fullscreen modal - need safe areas, don't override
|
|
2150
|
+
return;
|
|
2151
|
+
}
|
|
2152
|
+
// Centered dialog - zero out all safe areas
|
|
2153
|
+
console.log('[setInitialSafeAreaOverrides] Centered tablet dialog - setting all to 0');
|
|
2154
|
+
style.setProperty('--ion-safe-area-top', '0px');
|
|
2155
|
+
style.setProperty('--ion-safe-area-bottom', '0px');
|
|
2156
|
+
style.setProperty('--ion-safe-area-left', '0px');
|
|
2157
|
+
style.setProperty('--ion-safe-area-right', '0px');
|
|
2158
|
+
}
|
|
2159
|
+
/**
|
|
2160
|
+
* Updates safe-area CSS variable overrides based on whether the modal
|
|
2161
|
+
* is touching each edge of the viewport. This is called after animation
|
|
2162
|
+
* and during gestures to handle dynamic position changes.
|
|
2163
|
+
*/
|
|
2164
|
+
updateSafeAreaOverrides() {
|
|
2165
|
+
const wrapper = this.wrapperEl;
|
|
2166
|
+
if (!wrapper) {
|
|
2167
|
+
console.log('[updateSafeAreaOverrides] No wrapper element, returning early');
|
|
2168
|
+
return;
|
|
2169
|
+
}
|
|
2170
|
+
const rect = wrapper.getBoundingClientRect();
|
|
2171
|
+
const threshold = 2; // Account for subpixel rendering
|
|
2172
|
+
const touchingTop = rect.top <= threshold;
|
|
2173
|
+
const touchingBottom = rect.bottom >= window.innerHeight - threshold;
|
|
2174
|
+
const touchingLeft = rect.left <= threshold;
|
|
2175
|
+
const touchingRight = rect.right >= window.innerWidth - threshold;
|
|
2176
|
+
console.log('[updateSafeAreaOverrides] called', {
|
|
2177
|
+
isSheetModal: this.isSheetModal,
|
|
2178
|
+
rect: { top: rect.top, bottom: rect.bottom, left: rect.left, right: rect.right },
|
|
2179
|
+
innerHeight: window.innerHeight,
|
|
2180
|
+
innerWidth: window.innerWidth,
|
|
2181
|
+
threshold,
|
|
2182
|
+
touchingTop,
|
|
2183
|
+
touchingBottom,
|
|
2184
|
+
touchingLeft,
|
|
2185
|
+
touchingRight,
|
|
2186
|
+
bottomCalc: `${rect.bottom} >= ${window.innerHeight - threshold} = ${touchingBottom}`,
|
|
2187
|
+
});
|
|
2188
|
+
// Remove override when touching edge (allow inheritance), set to 0 when not touching
|
|
2189
|
+
const style = this.el.style;
|
|
2190
|
+
const actions = {
|
|
2191
|
+
top: touchingTop ? 'removeProperty' : 'setProperty 0px',
|
|
2192
|
+
bottom: touchingBottom ? 'removeProperty' : 'setProperty 0px',
|
|
2193
|
+
left: touchingLeft ? 'removeProperty' : 'setProperty 0px',
|
|
2194
|
+
right: touchingRight ? 'removeProperty' : 'setProperty 0px',
|
|
2195
|
+
};
|
|
2196
|
+
console.log('[updateSafeAreaOverrides] actions:', actions);
|
|
2197
|
+
touchingTop ? style.removeProperty('--ion-safe-area-top') : style.setProperty('--ion-safe-area-top', '0px');
|
|
2198
|
+
touchingBottom
|
|
2199
|
+
? style.removeProperty('--ion-safe-area-bottom')
|
|
2200
|
+
: style.setProperty('--ion-safe-area-bottom', '0px');
|
|
2201
|
+
touchingLeft ? style.removeProperty('--ion-safe-area-left') : style.setProperty('--ion-safe-area-left', '0px');
|
|
2202
|
+
touchingRight ? style.removeProperty('--ion-safe-area-right') : style.setProperty('--ion-safe-area-right', '0px');
|
|
2203
|
+
// Log the actual style values after setting
|
|
2204
|
+
console.log('[updateSafeAreaOverrides] after setting, inline styles:', {
|
|
2205
|
+
top: style.getPropertyValue('--ion-safe-area-top'),
|
|
2206
|
+
bottom: style.getPropertyValue('--ion-safe-area-bottom'),
|
|
2207
|
+
left: style.getPropertyValue('--ion-safe-area-left'),
|
|
2208
|
+
right: style.getPropertyValue('--ion-safe-area-right'),
|
|
2209
|
+
});
|
|
2210
|
+
}
|
|
2098
2211
|
sheetOnDismiss() {
|
|
2099
2212
|
/**
|
|
2100
2213
|
* While the gesture animation is finishing
|
|
@@ -2174,7 +2287,7 @@ const Modal = class {
|
|
|
2174
2287
|
if (dismissed) {
|
|
2175
2288
|
const { delegate } = this.getDelegate();
|
|
2176
2289
|
await frameworkDelegate.detachComponent(delegate, this.usersElement);
|
|
2177
|
-
index$
|
|
2290
|
+
index$3.writeTask(() => this.el.classList.remove('show-modal'));
|
|
2178
2291
|
if (this.animation) {
|
|
2179
2292
|
this.animation.destroy();
|
|
2180
2293
|
}
|
|
@@ -2210,11 +2323,11 @@ const Modal = class {
|
|
|
2210
2323
|
*/
|
|
2211
2324
|
async setCurrentBreakpoint(breakpoint) {
|
|
2212
2325
|
if (!this.isSheetModal) {
|
|
2213
|
-
index$
|
|
2326
|
+
index$3.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
|
|
2214
2327
|
return;
|
|
2215
2328
|
}
|
|
2216
2329
|
if (!this.breakpoints.includes(breakpoint)) {
|
|
2217
|
-
index$
|
|
2330
|
+
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
2331
|
return;
|
|
2219
2332
|
}
|
|
2220
2333
|
const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
|
|
@@ -2259,18 +2372,6 @@ const Modal = class {
|
|
|
2259
2372
|
await this.setCurrentBreakpoint(nextBreakpoint);
|
|
2260
2373
|
return true;
|
|
2261
2374
|
}
|
|
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
2375
|
initViewTransitionListener() {
|
|
2275
2376
|
// Only enable for iOS card modals when no custom animations are provided
|
|
2276
2377
|
if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
@@ -2440,27 +2541,26 @@ const Modal = class {
|
|
|
2440
2541
|
render() {
|
|
2441
2542
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
2442
2543
|
const showHandle = handle !== false && isSheetModal;
|
|
2443
|
-
const
|
|
2444
|
-
const isCardModal = presentingElement !== undefined &&
|
|
2544
|
+
const mode = ionicGlobal.getIonMode(this);
|
|
2545
|
+
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
2445
2546
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
2446
|
-
const shape = this.getShape();
|
|
2447
2547
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
2448
|
-
return (index$
|
|
2548
|
+
return (index$3.h(index$3.Host, Object.assign({ key: '8659056ce9de06c66d65946fe4af939e298d133c', "no-router": true,
|
|
2449
2549
|
// Allow the modal to be navigable when the handle is focusable
|
|
2450
2550
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
2451
2551
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
2452
|
-
}, class: Object.assign({ [
|
|
2552
|
+
}, 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: 'e4f287871798d7aa660c8aea3a81deeeb540812d', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '6f3d8d504e080093ba9e5089e5de76feaa13cf38', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '6ad0b4d97e0c0bad56689e457f08819ad857a0b4',
|
|
2453
2553
|
/*
|
|
2454
2554
|
role and aria-modal must be used on the
|
|
2455
2555
|
same element. They must also be set inside the
|
|
2456
2556
|
shadow DOM otherwise ion-button will not be highlighted
|
|
2457
2557
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
2458
2558
|
*/
|
|
2459
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$
|
|
2559
|
+
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: 'e5a9d74a112e315240b307042ad16d8e6ff2c714', class: "modal-handle",
|
|
2460
2560
|
// 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$
|
|
2561
|
+
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: '66f342587b6eaa5801397d7385ec3dc783bf8f55', onSlotchange: this.onSlotChange }))));
|
|
2462
2562
|
}
|
|
2463
|
-
get el() { return index$
|
|
2563
|
+
get el() { return index$3.getElement(this); }
|
|
2464
2564
|
static get watchers() { return {
|
|
2465
2565
|
"isOpen": ["onIsOpenChange"],
|
|
2466
2566
|
"trigger": ["triggerChanged"]
|
|
@@ -2473,7 +2573,6 @@ const LIFECYCLE_MAP = {
|
|
|
2473
2573
|
ionModalDidDismiss: 'ionViewDidLeave',
|
|
2474
2574
|
};
|
|
2475
2575
|
Modal.style = {
|
|
2476
|
-
ionic: modalIonicCss,
|
|
2477
2576
|
ios: modalIosCss,
|
|
2478
2577
|
md: modalMdCss
|
|
2479
2578
|
};
|