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