@ionic/core 8.7.17-dev.11771870864.19b2cde1 → 8.7.17-dev.11771959013.18adabe2
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 +1 -561
- package/components/alert.js +1 -610
- package/components/animation.js +1 -817
- package/components/backdrop.js +1 -72
- package/components/button-active.js +1 -64
- package/components/button.js +1 -303
- package/components/buttons.js +1 -56
- package/components/capacitor.js +1 -10
- package/components/checkbox.js +1 -261
- package/components/config.js +1 -192
- package/components/content.js +1 -475
- package/components/cubic-bezier.js +1 -87
- package/components/data.js +1 -1635
- package/components/dir.js +1 -15
- package/components/focus-visible.js +1 -72
- package/components/framework-delegate.js +1 -137
- package/components/gesture-controller.js +1 -192
- package/components/haptic.js +1 -155
- package/components/hardware-back-button.js +1 -112
- package/components/header.js +1 -417
- package/components/helpers.js +1 -336
- package/components/icon.js +1 -456
- package/components/index.d.ts +2 -0
- package/components/index.js +1 -115
- package/components/index2.js +1 -416
- package/components/index3.js +1 -452
- package/components/index4.js +1 -118
- package/components/index5.js +1 -303
- package/components/index6.js +1 -29
- package/components/index7.js +1 -164
- package/components/index8.js +1 -125
- package/components/index9.js +1 -4
- package/components/input-shims.js +1 -624
- package/components/input.utils.js +1 -144
- package/components/ion-accordion-group.js +1 -269
- package/components/ion-accordion.js +1 -457
- package/components/ion-action-sheet.js +1 -6
- package/components/ion-alert.js +1 -6
- package/components/ion-app.js +1 -128
- package/components/ion-avatar.js +1 -41
- package/components/ion-back-button.js +1 -131
- package/components/ion-backdrop.js +1 -6
- package/components/ion-badge.js +1 -47
- package/components/ion-breadcrumb.js +1 -137
- package/components/ion-breadcrumbs.js +1 -164
- package/components/ion-button.js +1 -6
- package/components/ion-buttons.js +1 -6
- package/components/ion-card-content.js +1 -45
- package/components/ion-card-header.js +1 -56
- package/components/ion-card-subtitle.js +1 -48
- package/components/ion-card-title.js +1 -48
- package/components/ion-card.js +1 -107
- package/components/ion-checkbox.js +1 -6
- package/components/ion-chip.js +1 -66
- package/components/ion-col.js +1 -163
- package/components/ion-content.js +1 -6
- package/components/ion-datetime-button.js +1 -384
- package/components/ion-datetime.js +1 -2046
- package/components/ion-fab-button.js +1 -151
- package/components/ion-fab-list.js +1 -66
- package/components/ion-fab.js +1 -101
- package/components/ion-footer.js +1 -159
- package/components/ion-grid.js +1 -46
- package/components/ion-header.js +1 -6
- package/components/ion-icon.js +1 -6
- package/components/ion-img.js +1 -124
- package/components/ion-infinite-scroll-content.js +1 -70
- package/components/ion-infinite-scroll.js +1 -236
- package/components/ion-input-otp.js +1 -683
- package/components/ion-input-password-toggle.js +1 -129
- package/components/ion-input.js +1 -617
- package/components/ion-item-divider.js +1 -59
- package/components/ion-item-group.js +1 -46
- package/components/ion-item-option.js +1 -91
- package/components/ion-item-options.js +1 -73
- package/components/ion-item-sliding.js +1 -458
- package/components/ion-item.js +1 -6
- package/components/ion-label.js +1 -6
- package/components/ion-list-header.js +1 -6
- package/components/ion-list.js +1 -6
- package/components/ion-loading.js +1 -344
- package/components/ion-menu-button.js +1 -110
- package/components/ion-menu-toggle.js +1 -64
- package/components/ion-menu.js +1 -745
- package/components/ion-modal.js +1 -6
- package/components/ion-nav-link.js +1 -64
- package/components/ion-nav.js +1 -956
- package/components/ion-note.js +1 -47
- package/components/ion-picker-column-option.js +1 -6
- package/components/ion-picker-column.js +1 -6
- package/components/ion-picker-legacy-column.js +1 -6
- package/components/ion-picker-legacy.js +1 -343
- package/components/ion-picker.js +1 -6
- package/components/ion-popover.js +1 -6
- package/components/ion-progress-bar.js +1 -101
- package/components/ion-radio-group.js +1 -6
- package/components/ion-radio.js +1 -6
- package/components/ion-range.js +1 -853
- package/components/ion-refresher-content.js +1 -89
- package/components/ion-refresher.js +1 -751
- package/components/ion-reorder-group.js +1 -322
- package/components/ion-reorder.js +1 -60
- package/components/ion-ripple-effect.js +1 -6
- package/components/ion-route-redirect.js +1 -45
- package/components/ion-route.js +1 -74
- package/components/ion-router-link.js +1 -61
- package/components/ion-router-outlet.js +1 -227
- package/components/ion-router.js +1 -841
- package/components/ion-row.js +1 -36
- package/components/ion-searchbar.js +1 -530
- package/components/ion-segment-button.js +1 -174
- package/components/ion-segment-content.js +1 -35
- package/components/ion-segment-view.js +1 -148
- package/components/ion-segment.js +1 -602
- package/components/ion-select-modal.js +1 -6
- package/components/ion-select-option.js +1 -46
- package/components/ion-select-popover.js +1 -6
- package/components/ion-select.js +1 -1037
- package/components/ion-skeleton-text.js +1 -65
- package/components/ion-spinner.js +1 -6
- package/components/ion-split-pane.js +1 -197
- package/components/ion-tab-bar.js +1 -115
- package/components/ion-tab-button.js +1 -128
- package/components/ion-tab.js +1 -91
- package/components/ion-tabs.js +1 -205
- package/components/ion-text.js +1 -42
- package/components/ion-textarea.js +1 -554
- package/components/ion-thumbnail.js +1 -36
- package/components/ion-title.js +1 -6
- package/components/ion-toast.js +1 -941
- package/components/ion-toggle.js +1 -361
- package/components/ion-toolbar.js +1 -6
- package/components/ionic-global.js +1 -144
- package/components/ios.transition.js +1 -672
- package/components/item.js +1 -302
- package/components/keyboard-controller.js +1 -162
- package/components/keyboard.js +1 -141
- package/components/keyboard2.js +1 -76
- package/components/label.js +1 -100
- package/components/list-header.js +1 -47
- package/components/list.js +1 -68
- package/components/lock-controller.js +1 -35
- package/components/md.transition.js +1 -51
- package/components/menu-toggle-util.js +1 -9
- package/components/modal.js +1 -2674
- package/components/notch-controller.js +1 -150
- package/components/overlays.js +1 -912
- package/components/picker-column-option.js +1 -136
- package/components/picker-column.js +1 -595
- package/components/picker-column2.js +1 -377
- package/components/picker.js +1 -498
- package/components/popover.js +1 -1502
- package/components/radio-group.js +1 -287
- package/components/radio.js +1 -229
- package/components/refresher.utils.js +1 -193
- package/components/ripple-effect.js +1 -109
- package/components/select-modal.js +1 -196
- package/components/select-popover.js +1 -189
- package/components/spinner.js +1 -224
- package/components/status-tap.js +1 -36
- package/components/swipe-back.js +1 -75
- package/components/theme.js +1 -40
- package/components/title.js +1 -70
- package/components/toolbar.js +1 -89
- package/components/validity.js +1 -14
- package/components/watch-options.js +1 -44
- package/dist/cjs/{animation-Bt3H9L1C.js → animation-Dg4yiuR2.js} +1 -1
- package/dist/cjs/app-globals-CLI8xCmk.js +11 -0
- package/dist/cjs/{button-active-CMc8cD90.js → button-active-FscMI17-.js} +1 -1
- package/dist/cjs/{config-C5fsO43a.js → config-BukYi_pW.js} +1 -1
- package/dist/cjs/{data-JwZKaIQB.js → data-BYlBjkMU.js} +1 -1
- package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-CRgp8o_p.js} +1 -1
- package/dist/cjs/{hardware-back-button-VCK4V3mG.js → hardware-back-button-C4rMJ5uI.js} +1 -1
- package/dist/cjs/{helpers-DrTqNghc.js → helpers-CxTYJdbT.js} +1 -1
- package/dist/cjs/{index-094mMFB-.js → index-C845Ti6K.js} +4 -4
- package/dist/cjs/{index-DrMUZJj6.js → index-CFUwM5x_.js} +5 -5
- package/dist/cjs/{index-D6Wc6v08.js → index-CqT-2gKy.js} +503 -382
- package/dist/cjs/{index-CO6eryBo.js → index-MbaBbWXk.js} +2 -2
- package/dist/cjs/{index-C534ULug.js → index-YcSftOMz.js} +2 -2
- package/dist/cjs/index.cjs.js +12 -12
- package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-DlFhYYTs.js} +3 -3
- package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-DmeJ8dmo.js} +2 -2
- package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -15
- package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -15
- package/dist/cjs/ion-alert.cjs.entry.js +25 -17
- package/dist/cjs/ion-app_8.cjs.entry.js +44 -40
- package/dist/cjs/ion-avatar_3.cjs.entry.js +12 -12
- package/dist/cjs/ion-back-button.cjs.entry.js +7 -7
- package/dist/cjs/ion-backdrop.cjs.entry.js +6 -6
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +20 -14
- package/dist/cjs/ion-button_2.cjs.entry.js +36 -18
- package/dist/cjs/ion-card_5.cjs.entry.js +23 -23
- package/dist/cjs/ion-checkbox.cjs.entry.js +7 -7
- package/dist/cjs/ion-chip.cjs.entry.js +6 -6
- package/dist/cjs/ion-col_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
- package/dist/cjs/ion-datetime_3.cjs.entry.js +67 -39
- package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
- package/dist/cjs/ion-img.cjs.entry.js +8 -6
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -13
- package/dist/cjs/ion-input-otp.cjs.entry.js +16 -10
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -7
- package/dist/cjs/ion-input.cjs.entry.js +21 -13
- package/dist/cjs/ion-item-option_3.cjs.entry.js +17 -15
- package/dist/cjs/ion-item_8.cjs.entry.js +42 -36
- package/dist/cjs/ion-loading.cjs.entry.js +18 -14
- package/dist/cjs/ion-menu_3.cjs.entry.js +30 -22
- package/dist/cjs/ion-modal.cjs.entry.js +62 -221
- package/dist/cjs/ion-nav_2.cjs.entry.js +14 -10
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -8
- package/dist/cjs/ion-picker-column.cjs.entry.js +11 -7
- package/dist/cjs/ion-picker.cjs.entry.js +6 -6
- package/dist/cjs/ion-popover.cjs.entry.js +21 -15
- package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
- package/dist/cjs/ion-radio_2.cjs.entry.js +17 -13
- package/dist/cjs/ion-range.cjs.entry.js +180 -54
- package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -14
- package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -11
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
- package/dist/cjs/ion-route_4.cjs.entry.js +20 -10
- package/dist/cjs/ion-searchbar.cjs.entry.js +22 -12
- package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment-view.cjs.entry.js +5 -5
- package/dist/cjs/ion-segment_2.cjs.entry.js +26 -16
- package/dist/cjs/ion-select-modal.cjs.entry.js +12 -12
- package/dist/cjs/ion-select_3.cjs.entry.js +29 -21
- package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
- package/dist/cjs/ion-split-pane.cjs.entry.js +15 -9
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +14 -12
- package/dist/cjs/ion-tab_2.cjs.entry.js +10 -8
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +18 -12
- package/dist/cjs/ion-toast.cjs.entry.js +21 -15
- package/dist/cjs/ion-toggle.cjs.entry.js +10 -8
- package/dist/cjs/{ionic-global-HMVqOFGO.js → ionic-global-Bc3kJi1Z.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-trBiC95R.js} +4 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-CUQECuvD.js} +4 -4
- package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-sD-lTpdc.js} +1 -1
- package/dist/cjs/{overlays-B2b-TTbl.js → overlays-C2jiBSNQ.js} +5 -5
- package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-CCJk5VgT.js} +3 -3
- package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-BGhTQ1CU.js} +2 -2
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/accordion-group/accordion-group.js +4 -2
- package/dist/collection/components/action-sheet/action-sheet.js +20 -10
- package/dist/collection/components/alert/alert.js +24 -12
- package/dist/collection/components/back-button/back-button.js +4 -2
- package/dist/collection/components/badge/badge.js +2 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +8 -4
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +4 -2
- package/dist/collection/components/button/button.js +6 -3
- package/dist/collection/components/card/card.js +6 -3
- package/dist/collection/components/card-header/card-header.js +2 -1
- package/dist/collection/components/card-subtitle/card-subtitle.js +2 -1
- package/dist/collection/components/card-title/card-title.js +2 -1
- package/dist/collection/components/checkbox/checkbox.js +4 -2
- package/dist/collection/components/chip/chip.js +2 -1
- package/dist/collection/components/content/content.js +8 -4
- package/dist/collection/components/datetime/datetime.js +34 -15
- package/dist/collection/components/datetime-button/datetime-button.js +2 -1
- package/dist/collection/components/fab-button/fab-button.js +6 -3
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -2
- package/dist/collection/components/input/input.js +11 -6
- package/dist/collection/components/input-otp/input-otp.js +8 -4
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +4 -2
- package/dist/collection/components/item/item.js +6 -3
- package/dist/collection/components/item-divider/item-divider.js +2 -1
- package/dist/collection/components/item-option/item-option.js +2 -1
- package/dist/collection/components/item-options/item-options.js +2 -1
- package/dist/collection/components/item-sliding/item-sliding.js +2 -1
- package/dist/collection/components/label/label.js +6 -3
- package/dist/collection/components/list-header/list-header.js +2 -1
- package/dist/collection/components/loading/loading.js +22 -11
- package/dist/collection/components/menu/menu.js +10 -5
- package/dist/collection/components/menu-button/menu-button.js +2 -1
- package/dist/collection/components/modal/gestures/sheet.js +11 -108
- package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -54
- package/dist/collection/components/modal/modal.js +58 -112
- package/dist/collection/components/nav/nav.js +89 -45
- package/dist/collection/components/nav-link/nav-link.js +9 -5
- package/dist/collection/components/note/note.js +2 -1
- package/dist/collection/components/picker/picker.js +2 -1
- package/dist/collection/components/picker-column/picker-column.js +6 -3
- package/dist/collection/components/picker-column-option/picker-column-option.js +2 -1
- package/dist/collection/components/picker-legacy/picker.js +24 -12
- package/dist/collection/components/picker-legacy-column/picker-column.js +4 -2
- package/dist/collection/components/popover/popover.js +33 -17
- package/dist/collection/components/progress-bar/progress-bar.js +2 -1
- package/dist/collection/components/radio/radio.js +2 -1
- package/dist/collection/components/radio-group/radio-group.js +6 -3
- package/dist/collection/components/range/range.js +189 -50
- package/dist/collection/components/refresher/refresher.js +73 -5
- package/dist/collection/components/refresher-content/refresher-content.js +8 -4
- package/dist/collection/components/reorder-group/reorder-group.js +6 -3
- package/dist/collection/components/route/route.js +4 -2
- package/dist/collection/components/router/router.js +10 -5
- package/dist/collection/components/router-link/router-link.js +6 -3
- package/dist/collection/components/router-outlet/router-outlet.js +18 -9
- package/dist/collection/components/searchbar/searchbar.js +11 -6
- package/dist/collection/components/segment/segment.js +10 -5
- package/dist/collection/components/segment-button/segment-button.js +4 -2
- package/dist/collection/components/segment-view/segment-view.js +2 -1
- package/dist/collection/components/select/select.js +10 -5
- package/dist/collection/components/select-modal/select-modal.js +2 -1
- package/dist/collection/components/select-popover/select-popover.js +2 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -1
- package/dist/collection/components/spinner/spinner.js +4 -2
- package/dist/collection/components/tab/tab.js +4 -2
- package/dist/collection/components/tab-bar/tab-bar.js +4 -2
- package/dist/collection/components/tab-button/tab-button.js +4 -2
- package/dist/collection/components/tabs/tabs.js +4 -2
- package/dist/collection/components/text/text.js +2 -1
- package/dist/collection/components/textarea/textarea.js +6 -3
- package/dist/collection/components/title/title.js +4 -2
- package/dist/collection/components/toast/toast.js +34 -17
- package/dist/collection/components/toggle/toggle.js +4 -2
- package/dist/collection/components/toolbar/toolbar.js +2 -1
- package/dist/docs.d.ts +37 -0
- package/dist/docs.json +971 -442
- package/dist/esm/{animation-Dt8bGnA-.js → animation-CnGMT4ji.js} +1 -1
- package/dist/esm/app-globals-DhZjtldk.js +9 -0
- package/dist/esm/{button-active-L570Swow.js → button-active-BBx21brx.js} +1 -1
- package/dist/esm/{config-mCdtaoPe.js → config-TO1rZH52.js} +1 -1
- package/dist/esm/{data-DCORV9FH.js → data-B9iGR5YO.js} +1 -1
- package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-CyxE1S_P.js} +1 -1
- package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CTe4XmL7.js} +1 -1
- package/dist/esm/{helpers-DEn3pfjm.js → helpers-Tl8jw6S2.js} +1 -1
- package/dist/esm/{index-r2D9DEro.js → index-B-hkiOUh.js} +4 -4
- package/dist/esm/{index-CvDIirVx.js → index-B2KwgBLx.js} +5 -5
- package/dist/esm/{index-ceb5RaMT.js → index-BtUdxPjv.js} +2 -2
- package/dist/esm/{index-C8IsBmNU.js → index-IGIE5vDm.js} +503 -382
- package/dist/esm/{index-Bs3kT4bc.js → index-hW6eNZ3o.js} +2 -2
- package/dist/esm/index.js +12 -12
- package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-C1hAaHcP.js} +3 -3
- package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-Bxa_DQ7-.js} +2 -2
- package/dist/esm/ion-accordion_2.entry.js +23 -15
- package/dist/esm/ion-action-sheet.entry.js +21 -15
- package/dist/esm/ion-alert.entry.js +25 -17
- package/dist/esm/ion-app_8.entry.js +44 -40
- package/dist/esm/ion-avatar_3.entry.js +12 -12
- package/dist/esm/ion-back-button.entry.js +7 -7
- package/dist/esm/ion-backdrop.entry.js +6 -6
- package/dist/esm/ion-breadcrumb_2.entry.js +20 -14
- package/dist/esm/ion-button_2.entry.js +36 -18
- package/dist/esm/ion-card_5.entry.js +23 -23
- package/dist/esm/ion-checkbox.entry.js +7 -7
- package/dist/esm/ion-chip.entry.js +6 -6
- package/dist/esm/ion-col_3.entry.js +8 -8
- package/dist/esm/ion-datetime-button.entry.js +8 -8
- package/dist/esm/ion-datetime_3.entry.js +67 -39
- package/dist/esm/ion-fab_3.entry.js +17 -13
- package/dist/esm/ion-img.entry.js +8 -6
- package/dist/esm/ion-infinite-scroll_2.entry.js +17 -13
- package/dist/esm/ion-input-otp.entry.js +16 -10
- package/dist/esm/ion-input-password-toggle.entry.js +9 -7
- package/dist/esm/ion-input.entry.js +21 -13
- package/dist/esm/ion-item-option_3.entry.js +17 -15
- package/dist/esm/ion-item_8.entry.js +42 -36
- package/dist/esm/ion-loading.entry.js +18 -14
- package/dist/esm/ion-menu_3.entry.js +30 -22
- package/dist/esm/ion-modal.entry.js +62 -221
- package/dist/esm/ion-nav_2.entry.js +14 -10
- package/dist/esm/ion-picker-column-option.entry.js +10 -8
- package/dist/esm/ion-picker-column.entry.js +11 -7
- package/dist/esm/ion-picker.entry.js +6 -6
- package/dist/esm/ion-popover.entry.js +21 -15
- package/dist/esm/ion-progress-bar.entry.js +7 -7
- package/dist/esm/ion-radio_2.entry.js +17 -13
- package/dist/esm/ion-range.entry.js +180 -54
- package/dist/esm/ion-refresher_2.entry.js +45 -14
- package/dist/esm/ion-reorder_2.entry.js +13 -11
- package/dist/esm/ion-ripple-effect.entry.js +4 -4
- package/dist/esm/ion-route_4.entry.js +20 -10
- package/dist/esm/ion-searchbar.entry.js +22 -12
- package/dist/esm/ion-segment-content.entry.js +3 -3
- package/dist/esm/ion-segment-view.entry.js +5 -5
- package/dist/esm/ion-segment_2.entry.js +26 -16
- package/dist/esm/ion-select-modal.entry.js +12 -12
- package/dist/esm/ion-select_3.entry.js +29 -21
- package/dist/esm/ion-spinner.entry.js +4 -4
- package/dist/esm/ion-split-pane.entry.js +15 -9
- package/dist/esm/ion-tab-bar_2.entry.js +14 -12
- package/dist/esm/ion-tab_2.entry.js +10 -8
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +18 -12
- package/dist/esm/ion-toast.entry.js +21 -15
- package/dist/esm/ion-toggle.entry.js +10 -8
- package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DfbeLwcV.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition--aMF-pDH.js} +4 -4
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-BEVbfm8j.js} +4 -4
- package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DAcvKU57.js} +1 -1
- package/dist/esm/{overlays-D5YkFThA.js → overlays-F8GHPo-e.js} +5 -5
- package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BfJqFSLF.js} +3 -3
- package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-BZBFwTQV.js} +2 -2
- package/dist/html.html-data.json +109 -109
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-316c0420.entry.js → p-025d2d32.entry.js} +1 -1
- package/dist/ionic/p-02acdef4.entry.js +4 -0
- package/dist/ionic/p-04e2c388.entry.js +4 -0
- package/dist/ionic/{p-370e4237.entry.js → p-074344b8.entry.js} +1 -1
- package/dist/ionic/p-13ade5c8.entry.js +4 -0
- package/dist/ionic/p-1b02923f.entry.js +4 -0
- package/dist/ionic/p-1bd477a9.entry.js +4 -0
- package/dist/ionic/{p-d2489bf2.entry.js → p-1fa1406c.entry.js} +1 -1
- package/dist/ionic/{p-46d74291.entry.js → p-1fd588a7.entry.js} +1 -1
- package/dist/ionic/p-239a27a4.entry.js +4 -0
- package/dist/ionic/{p-94de5cfa.entry.js → p-277abec1.entry.js} +1 -1
- package/dist/ionic/{p-dd1aef77.entry.js → p-28d7852f.entry.js} +1 -1
- package/dist/ionic/{p-49d06882.entry.js → p-301c43f8.entry.js} +1 -1
- package/dist/ionic/{p-79bd78f9.entry.js → p-370a60ee.entry.js} +1 -1
- package/dist/ionic/p-3e143d1d.entry.js +4 -0
- package/dist/ionic/p-4431ef7e.entry.js +4 -0
- package/dist/ionic/p-463767ce.entry.js +4 -0
- package/dist/ionic/p-4f888343.entry.js +4 -0
- package/dist/ionic/p-51c11c47.entry.js +4 -0
- package/dist/ionic/p-56050077.entry.js +4 -0
- package/dist/ionic/p-6a3a5aae.entry.js +4 -0
- package/dist/ionic/p-6b97f2a3.entry.js +4 -0
- package/dist/ionic/p-77de9c60.entry.js +4 -0
- package/dist/ionic/{p-51a60e0f.entry.js → p-7c72d482.entry.js} +1 -1
- package/dist/ionic/p-7d20f4f8.entry.js +4 -0
- package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
- package/dist/ionic/p-91fc7352.entry.js +4 -0
- package/dist/ionic/p-93845421.entry.js +4 -0
- package/dist/ionic/{p-3a6caca9.entry.js → p-964090ef.entry.js} +1 -1
- package/dist/ionic/p-96a2e768.entry.js +4 -0
- package/dist/ionic/{p-d126e8d3.entry.js → p-9745651b.entry.js} +1 -1
- package/dist/ionic/{p-f9061316.entry.js → p-9802c88e.entry.js} +1 -1
- package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
- package/dist/ionic/p-9d1676bb.entry.js +4 -0
- package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
- package/dist/ionic/{p-CwgG81ZD.js → p-B8xlpH8p.js} +1 -1
- package/dist/ionic/{p-C7hRNDhM.js → p-BAt5H1ac.js} +1 -1
- package/dist/ionic/p-BW_TRJm8.js +4 -0
- package/dist/ionic/{p-DDb5r57F.js → p-Bum7H1fw.js} +1 -1
- package/dist/ionic/{p-D0dMcSkw.js → p-BvFYtOdE.js} +1 -1
- package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
- package/dist/ionic/{p-BYEqWnSg.js → p-C0JvVFMv.js} +1 -1
- package/dist/ionic/{p-CTfR9YZG.js → p-CGmVTdWh.js} +1 -1
- package/dist/ionic/{p-BOVrCkpJ.js → p-CYbRmDdy.js} +1 -1
- package/dist/ionic/{p-D-eFFUkA.js → p-CmFz1Mjc.js} +1 -1
- package/dist/ionic/p-CtA-yJYy.js +4 -0
- package/dist/ionic/p-D8HJQ1qq.js +4 -0
- package/dist/ionic/{p-B0q1YL7N.js → p-DB_iPQC-.js} +1 -1
- package/dist/ionic/{p-DNcfiJwE.js → p-DLbbmF9h.js} +1 -1
- package/dist/ionic/{p-DdR6rpbR.js → p-DTPR1Wpn.js} +1 -1
- package/dist/ionic/{p-DCv9sLH2.js → p-DjriolRs.js} +1 -1
- package/dist/ionic/p-DtVZDHlS.js +4 -0
- package/dist/ionic/{p-QHYY4sjU.js → p-GWUGgWx6.js} +1 -1
- package/dist/ionic/p-IGIE5vDm.js +5 -0
- package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
- package/dist/ionic/{p-86f53961.entry.js → p-a287e18e.entry.js} +1 -1
- package/dist/ionic/p-a805674e.entry.js +4 -0
- package/dist/ionic/p-a81ae2cd.entry.js +4 -0
- package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
- package/dist/ionic/{p-dbbe606a.entry.js → p-b2d5238b.entry.js} +1 -1
- package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
- package/dist/ionic/{p-72c38b88.entry.js → p-b4d52b58.entry.js} +1 -1
- package/dist/ionic/{p-2a939845.entry.js → p-b67a2114.entry.js} +1 -1
- package/dist/ionic/{p-c73627c8.entry.js → p-bced1f3e.entry.js} +1 -1
- package/dist/ionic/{p-9a2d390d.entry.js → p-c1c9b2bb.entry.js} +1 -1
- package/dist/ionic/{p-f8f22cc0.entry.js → p-c3e65e45.entry.js} +1 -1
- package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
- package/dist/ionic/p-cbf245b5.entry.js +4 -0
- package/dist/ionic/p-d68b665a.entry.js +4 -0
- package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
- package/dist/ionic/p-efe86ed9.entry.js +4 -0
- package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
- package/dist/ionic/{p-DbQ5QkTP.js → p-gbVXD275.js} +1 -1
- package/dist/ionic/p-hNN3VvaC.js +4 -0
- package/dist/types/components/datetime/datetime.d.ts +9 -0
- package/dist/types/components/header/header.utils.d.ts +2 -1
- package/dist/types/components/modal/gestures/sheet.d.ts +2 -2
- package/dist/types/components/modal/gestures/swipe-to-close.d.ts +2 -2
- package/dist/types/components/modal/modal-interface.d.ts +0 -7
- package/dist/types/components/modal/modal.d.ts +1 -17
- package/dist/types/components/range/range-interface.d.ts +1 -0
- package/dist/types/components/range/range.d.ts +33 -4
- package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
- package/dist/types/components/refresher/refresher.d.ts +16 -3
- package/dist/types/components.d.ts +929 -206
- package/dist/types/interface.d.ts +1 -1
- package/dist/types/stencil-public-runtime.d.ts +126 -14
- package/dist/types/utils/gesture/listener.d.ts +2 -1
- package/hydrate/index.d.ts +12 -0
- package/hydrate/index.js +5375 -1550
- package/hydrate/index.mjs +5374 -1551
- package/package.json +2 -2
- package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
- package/dist/esm/app-globals-BDSf8fOA.js +0 -8
- package/dist/ionic/p-012212e4.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-0f418a37.entry.js +0 -4
- package/dist/ionic/p-11518b31.entry.js +0 -4
- package/dist/ionic/p-1838bed5.entry.js +0 -4
- package/dist/ionic/p-29721c43.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-40c261a3.entry.js +0 -4
- package/dist/ionic/p-4e41ea20.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-6d070558.entry.js +0 -4
- package/dist/ionic/p-7268efa5.entry.js +0 -4
- package/dist/ionic/p-7babec72.entry.js +0 -4
- package/dist/ionic/p-BKc55Xev.js +0 -4
- package/dist/ionic/p-Bmgaetn_.js +0 -4
- package/dist/ionic/p-C8IsBmNU.js +0 -5
- package/dist/ionic/p-CJxh_yLS.js +0 -4
- package/dist/ionic/p-DUt5fQmA.js +0 -4
- package/dist/ionic/p-DZRJwG4S.js +0 -4
- package/dist/ionic/p-a127bee2.entry.js +0 -4
- package/dist/ionic/p-b3d44509.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-d3014190.entry.js +0 -4
- package/dist/ionic/p-db82892c.entry.js +0 -4
- package/dist/ionic/p-e1d1f3cc.entry.js +0 -4
|
@@ -7,7 +7,7 @@ import { clamp, getElementRoot, raf } from "../../../utils/helpers";
|
|
|
7
7
|
import { FOCUS_TRAP_DISABLE_CLASS } from "../../../utils/overlays";
|
|
8
8
|
import { getBackdropValueForSheet } from "../utils";
|
|
9
9
|
import { calculateSpringStep, handleCanDismiss } from "./utils";
|
|
10
|
-
export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange
|
|
10
|
+
export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
|
|
11
11
|
// Defaults for the sheet swipe animation
|
|
12
12
|
const defaultBackdrop = [
|
|
13
13
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
@@ -270,7 +270,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
270
270
|
baseEl.focus();
|
|
271
271
|
});
|
|
272
272
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
273
|
-
onDragStart();
|
|
274
273
|
};
|
|
275
274
|
const onMove = (detail) => {
|
|
276
275
|
/**
|
|
@@ -339,15 +338,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
339
338
|
: step;
|
|
340
339
|
offset = clamp(0.0001, processedStep, maxStep);
|
|
341
340
|
animation.progressStep(offset);
|
|
342
|
-
const closest = calculateClosestBreakpoint(detail.velocityY, detail.deltaY);
|
|
343
|
-
const eventDetail = {
|
|
344
|
-
currentY: detail.currentY,
|
|
345
|
-
deltaY: detail.deltaY,
|
|
346
|
-
velocityY: detail.velocityY,
|
|
347
|
-
progress: calculateProgress(detail.currentY),
|
|
348
|
-
currentBreakpoint: closest,
|
|
349
|
-
};
|
|
350
|
-
onDragMove(eventDetail);
|
|
351
341
|
};
|
|
352
342
|
const onEnd = (detail) => {
|
|
353
343
|
/**
|
|
@@ -366,7 +356,16 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
366
356
|
swapFooterPosition('stationary');
|
|
367
357
|
return;
|
|
368
358
|
}
|
|
369
|
-
|
|
359
|
+
/**
|
|
360
|
+
* When the gesture releases, we need to determine
|
|
361
|
+
* the closest breakpoint to snap to.
|
|
362
|
+
*/
|
|
363
|
+
const velocity = detail.velocityY;
|
|
364
|
+
const threshold = (detail.deltaY + velocity * 350) / height;
|
|
365
|
+
const diff = currentBreakpoint - threshold;
|
|
366
|
+
const closest = breakpoints.reduce((a, b) => {
|
|
367
|
+
return Math.abs(b - diff) < Math.abs(a - diff) ? b : a;
|
|
368
|
+
});
|
|
370
369
|
moveSheetToBreakpoint({
|
|
371
370
|
breakpoint: closest,
|
|
372
371
|
breakpointOffset: offset,
|
|
@@ -377,14 +376,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
377
376
|
*/
|
|
378
377
|
animated: true,
|
|
379
378
|
});
|
|
380
|
-
const eventDetail = {
|
|
381
|
-
currentY: detail.currentY,
|
|
382
|
-
deltaY: detail.deltaY,
|
|
383
|
-
velocityY: detail.velocityY,
|
|
384
|
-
progress: calculateProgress(detail.currentY),
|
|
385
|
-
currentBreakpoint: closest,
|
|
386
|
-
};
|
|
387
|
-
onDragEnd(eventDetail);
|
|
388
379
|
};
|
|
389
380
|
const moveSheetToBreakpoint = (options) => {
|
|
390
381
|
const { breakpoint, canDismiss, breakpointOffset, animated } = options;
|
|
@@ -524,94 +515,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
524
515
|
.progressEnd(1, 0, animated ? 500 : 0);
|
|
525
516
|
});
|
|
526
517
|
};
|
|
527
|
-
/**
|
|
528
|
-
* Calculates the closest breakpoint based on the current velocity and deltaY.
|
|
529
|
-
* This determines where the sheet should snap to when the user releases the
|
|
530
|
-
* gesture.
|
|
531
|
-
*
|
|
532
|
-
* @param velocityY The current velocity of the gesture in the Y direction.
|
|
533
|
-
* @param deltaY The change in Y position since the gesture started.
|
|
534
|
-
* @returns The closest breakpoint value.
|
|
535
|
-
*/
|
|
536
|
-
const calculateClosestBreakpoint = (velocityY, deltaY) => {
|
|
537
|
-
const threshold = (deltaY + velocityY * 350) / height;
|
|
538
|
-
const diff = currentBreakpoint - threshold;
|
|
539
|
-
const closest = breakpoints.reduce((a, b) => {
|
|
540
|
-
return Math.abs(b - diff) < Math.abs(a - diff) ? b : a;
|
|
541
|
-
});
|
|
542
|
-
return closest;
|
|
543
|
-
};
|
|
544
|
-
/**
|
|
545
|
-
* Calculates the progress of the swipe gesture.
|
|
546
|
-
*
|
|
547
|
-
* The progress is a value between 0 and 1 that represents how far
|
|
548
|
-
* the swipe has progressed towards closing the modal.
|
|
549
|
-
*
|
|
550
|
-
* A value closer to 1 means the modal is closer to being opened,
|
|
551
|
-
* while a value closer to 0 means the modal is closer to being closed.
|
|
552
|
-
*
|
|
553
|
-
* @param currentY The current Y position of the gesture
|
|
554
|
-
* @returns The progress of the sheet gesture
|
|
555
|
-
*/
|
|
556
|
-
const calculateProgress = (currentY) => {
|
|
557
|
-
const minBreakpoint = breakpoints[0];
|
|
558
|
-
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
559
|
-
// Convert breakpoints to pixel Y coordinates
|
|
560
|
-
/**
|
|
561
|
-
* The lowest point the sheet can be dragged to aka the point at which
|
|
562
|
-
* the sheet is fully closed.
|
|
563
|
-
*/
|
|
564
|
-
const maxY = convertBreakpointToY(minBreakpoint);
|
|
565
|
-
/**
|
|
566
|
-
* The highest point the sheet can be dragged to aka the point at which
|
|
567
|
-
* the sheet is fully open.
|
|
568
|
-
*/
|
|
569
|
-
const minY = convertBreakpointToY(maxBreakpoint);
|
|
570
|
-
// The total distance between the fully open and fully closed positions.
|
|
571
|
-
const totalDistance = maxY - minY;
|
|
572
|
-
// The distance from the current position to the fully closed position.
|
|
573
|
-
const distanceFromBottom = maxY - currentY;
|
|
574
|
-
/**
|
|
575
|
-
* The progress represents how far the sheet is from the bottom relative
|
|
576
|
-
* to the total distance. When the user starts swiping up, the progress
|
|
577
|
-
* should be close to 1, and when the user has swiped all the way down,
|
|
578
|
-
* the progress should be close to 0.
|
|
579
|
-
*/
|
|
580
|
-
const progress = distanceFromBottom / totalDistance;
|
|
581
|
-
// Round to the nearest thousandth to avoid returning very small decimal
|
|
582
|
-
const roundedProgress = Math.round(progress * 1000) / 1000;
|
|
583
|
-
return Math.max(0, Math.min(1, roundedProgress));
|
|
584
|
-
};
|
|
585
|
-
/**
|
|
586
|
-
* Converts a breakpoint value (0 to 1) into a pixel Y coordinate
|
|
587
|
-
* on the screen.
|
|
588
|
-
*
|
|
589
|
-
* @param breakpoint The breakpoint value (e.g., 0.5 for half-open)
|
|
590
|
-
* @returns The pixel Y coordinate on the screen
|
|
591
|
-
*/
|
|
592
|
-
const convertBreakpointToY = (breakpoint) => {
|
|
593
|
-
const rect = baseEl.getBoundingClientRect();
|
|
594
|
-
const modalHeight = rect.height;
|
|
595
|
-
// The bottom of the screen.
|
|
596
|
-
const viewportBottom = window.innerHeight;
|
|
597
|
-
/**
|
|
598
|
-
* The active height is how much of the modal is actually showing
|
|
599
|
-
* on the screen for this specific breakpoint.
|
|
600
|
-
*/
|
|
601
|
-
const activeHeight = modalHeight * breakpoint;
|
|
602
|
-
/**
|
|
603
|
-
* To find the Y coordinate, start at the bottom of the screen
|
|
604
|
-
* and move up by the active height of the modal.
|
|
605
|
-
*
|
|
606
|
-
* A breakpoint of 1.0 means the active height is the full modal height
|
|
607
|
-
* (fully open). A breakpoint of 0.0 means the active height is 0
|
|
608
|
-
* (fully closed).
|
|
609
|
-
*
|
|
610
|
-
* Since screen Y coordinates get smaller as you go up, we subtract the
|
|
611
|
-
* active height from the viewport bottom.
|
|
612
|
-
*/
|
|
613
|
-
return viewportBottom - activeHeight;
|
|
614
|
-
};
|
|
615
518
|
const gesture = createGesture({
|
|
616
519
|
el: wrapperEl,
|
|
617
520
|
gestureName: 'modalSheet',
|
|
@@ -12,7 +12,7 @@ import { calculateSpringStep, handleCanDismiss } from "./utils";
|
|
|
12
12
|
export const SwipeToCloseDefaults = {
|
|
13
13
|
MIN_PRESENTING_SCALE: 0.915,
|
|
14
14
|
};
|
|
15
|
-
export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss
|
|
15
|
+
export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) => {
|
|
16
16
|
/**
|
|
17
17
|
* The step value at which a card modal
|
|
18
18
|
* is eligible for dismissing via gesture.
|
|
@@ -122,7 +122,6 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
|
|
|
122
122
|
disableContentScrollY(contentEl);
|
|
123
123
|
}
|
|
124
124
|
animation.progressStart(true, isOpen ? 1 : 0);
|
|
125
|
-
onDragStart();
|
|
126
125
|
};
|
|
127
126
|
const onMove = (detail) => {
|
|
128
127
|
const { deltaY } = detail;
|
|
@@ -190,13 +189,6 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
|
|
|
190
189
|
setCardStatusBarDark();
|
|
191
190
|
}
|
|
192
191
|
lastStep = clampedStep;
|
|
193
|
-
const eventDetail = {
|
|
194
|
-
currentY: detail.currentY,
|
|
195
|
-
deltaY: detail.deltaY,
|
|
196
|
-
velocityY: detail.velocityY,
|
|
197
|
-
progress: calculateProgress(el, detail.deltaY),
|
|
198
|
-
};
|
|
199
|
-
onDragMove(eventDetail);
|
|
200
192
|
};
|
|
201
193
|
const onEnd = (detail) => {
|
|
202
194
|
const velocity = detail.velocityY;
|
|
@@ -255,13 +247,6 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
|
|
|
255
247
|
else if (shouldComplete) {
|
|
256
248
|
onDismiss();
|
|
257
249
|
}
|
|
258
|
-
const eventDetail = {
|
|
259
|
-
currentY: detail.currentY,
|
|
260
|
-
deltaY: detail.deltaY,
|
|
261
|
-
velocityY: detail.velocityY,
|
|
262
|
-
progress: calculateProgress(el, detail.deltaY),
|
|
263
|
-
};
|
|
264
|
-
onDragEnd(eventDetail);
|
|
265
250
|
};
|
|
266
251
|
const gesture = createGesture({
|
|
267
252
|
el,
|
|
@@ -279,41 +264,3 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
|
|
|
279
264
|
const computeDuration = (remaining, velocity) => {
|
|
280
265
|
return clamp(400, remaining / Math.abs(velocity * 1.1), 500);
|
|
281
266
|
};
|
|
282
|
-
/**
|
|
283
|
-
* Calculates the progress of the swipe gesture.
|
|
284
|
-
*
|
|
285
|
-
* The progress is a value between 0 and 1 that represents how far
|
|
286
|
-
* the swipe has progressed towards closing the modal.
|
|
287
|
-
*
|
|
288
|
-
* A value closer to 1 means the modal is closer to being opened,
|
|
289
|
-
* while a value closer to 0 means the modal is closer to being closed.
|
|
290
|
-
*
|
|
291
|
-
* @param el The modal
|
|
292
|
-
* @param deltaY The change in Y position (positive when dragging down, negative when dragging up)
|
|
293
|
-
* @returns The progress of the swipe gesture
|
|
294
|
-
*/
|
|
295
|
-
const calculateProgress = (el, deltaY) => {
|
|
296
|
-
const windowHeight = window.innerHeight;
|
|
297
|
-
// Position when fully open
|
|
298
|
-
const modalTop = el.getBoundingClientRect().top;
|
|
299
|
-
/**
|
|
300
|
-
* The distance between the top of the modal and the bottom of the screen
|
|
301
|
-
* is the total distance the modal needs to travel to be fully closed.
|
|
302
|
-
*/
|
|
303
|
-
const totalDistance = windowHeight - modalTop;
|
|
304
|
-
/**
|
|
305
|
-
* The pull percentage is how far the user has swiped compared to the total
|
|
306
|
-
* distance needed to close the modal.
|
|
307
|
-
*/
|
|
308
|
-
const pullPercentage = deltaY / totalDistance;
|
|
309
|
-
/**
|
|
310
|
-
* The progress is the inverse of the pull percentage because
|
|
311
|
-
* when the user starts swiping up, the progress should be close to 1,
|
|
312
|
-
* and when the user has swiped all the way down, the progress should be
|
|
313
|
-
* close to 0.
|
|
314
|
-
*/
|
|
315
|
-
const progress = 1 - pullPercentage;
|
|
316
|
-
// Round to the nearest thousandth to avoid returning very small decimal
|
|
317
|
-
const roundedProgress = Math.round(progress * 1000) / 1000;
|
|
318
|
-
return Math.max(0, Math.min(1, roundedProgress));
|
|
319
|
-
};
|
|
@@ -501,7 +501,32 @@ export class Modal {
|
|
|
501
501
|
return;
|
|
502
502
|
}
|
|
503
503
|
const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : StatusBarStyle.Default;
|
|
504
|
-
this.gesture = createSwipeToCloseGesture(el, ani, statusBarStyle, () =>
|
|
504
|
+
this.gesture = createSwipeToCloseGesture(el, ani, statusBarStyle, () => {
|
|
505
|
+
/**
|
|
506
|
+
* While the gesture animation is finishing
|
|
507
|
+
* it is possible for a user to tap the backdrop.
|
|
508
|
+
* This would result in the dismiss animation
|
|
509
|
+
* being played again. Typically this is avoided
|
|
510
|
+
* by setting `presented = false` on the overlay
|
|
511
|
+
* component; however, we cannot do that here as
|
|
512
|
+
* that would prevent the element from being
|
|
513
|
+
* removed from the DOM.
|
|
514
|
+
*/
|
|
515
|
+
this.gestureAnimationDismissing = true;
|
|
516
|
+
/**
|
|
517
|
+
* Reset the status bar style as the dismiss animation
|
|
518
|
+
* starts otherwise the status bar will be the wrong
|
|
519
|
+
* color for the duration of the dismiss animation.
|
|
520
|
+
* The dismiss method does this as well, but
|
|
521
|
+
* in this case it's only called once the animation
|
|
522
|
+
* has finished.
|
|
523
|
+
*/
|
|
524
|
+
setCardStatusBarDefault(this.statusBarStyle);
|
|
525
|
+
this.animation.onFinish(async () => {
|
|
526
|
+
await this.dismiss(undefined, GESTURE);
|
|
527
|
+
this.gestureAnimationDismissing = false;
|
|
528
|
+
});
|
|
529
|
+
});
|
|
505
530
|
this.gesture.enable(true);
|
|
506
531
|
}
|
|
507
532
|
initSheetGesture() {
|
|
@@ -522,7 +547,7 @@ export class Modal {
|
|
|
522
547
|
this.currentBreakpoint = breakpoint;
|
|
523
548
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
524
549
|
}
|
|
525
|
-
}
|
|
550
|
+
});
|
|
526
551
|
this.gesture = gesture;
|
|
527
552
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
528
553
|
this.gesture.enable(true);
|
|
@@ -619,32 +644,6 @@ export class Modal {
|
|
|
619
644
|
this.gestureAnimationDismissing = false;
|
|
620
645
|
});
|
|
621
646
|
}
|
|
622
|
-
cardOnDismiss() {
|
|
623
|
-
/**
|
|
624
|
-
* While the gesture animation is finishing
|
|
625
|
-
* it is possible for a user to tap the backdrop.
|
|
626
|
-
* This would result in the dismiss animation
|
|
627
|
-
* being played again. Typically this is avoided
|
|
628
|
-
* by setting `presented = false` on the overlay
|
|
629
|
-
* component; however, we cannot do that here as
|
|
630
|
-
* that would prevent the element from being
|
|
631
|
-
* removed from the DOM.
|
|
632
|
-
*/
|
|
633
|
-
this.gestureAnimationDismissing = true;
|
|
634
|
-
/**
|
|
635
|
-
* Reset the status bar style as the dismiss animation
|
|
636
|
-
* starts otherwise the status bar will be the wrong
|
|
637
|
-
* color for the duration of the dismiss animation.
|
|
638
|
-
* The dismiss method does this as well, but
|
|
639
|
-
* in this case it's only called once the animation
|
|
640
|
-
* has finished.
|
|
641
|
-
*/
|
|
642
|
-
setCardStatusBarDefault(this.statusBarStyle);
|
|
643
|
-
this.animation.onFinish(async () => {
|
|
644
|
-
await this.dismiss(undefined, GESTURE);
|
|
645
|
-
this.gestureAnimationDismissing = false;
|
|
646
|
-
});
|
|
647
|
-
}
|
|
648
647
|
/**
|
|
649
648
|
* Dismiss the modal overlay after it has been presented.
|
|
650
649
|
* This is a no-op if the overlay has not been presented yet. If you want
|
|
@@ -968,15 +967,6 @@ export class Modal {
|
|
|
968
967
|
(_a = this.parentRemovalObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
969
968
|
this.parentRemovalObserver = undefined;
|
|
970
969
|
}
|
|
971
|
-
onDragStart() {
|
|
972
|
-
this.ionDragStart.emit();
|
|
973
|
-
}
|
|
974
|
-
onDragMove(detail) {
|
|
975
|
-
this.ionDragMove.emit(detail);
|
|
976
|
-
}
|
|
977
|
-
onDragEnd(detail) {
|
|
978
|
-
this.ionDragEnd.emit(detail);
|
|
979
|
-
}
|
|
980
970
|
render() {
|
|
981
971
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
982
972
|
const showHandle = handle !== false && isSheetModal;
|
|
@@ -984,20 +974,20 @@ export class Modal {
|
|
|
984
974
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
985
975
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
986
976
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
987
|
-
return (h(Host, Object.assign({ key: '
|
|
977
|
+
return (h(Host, Object.assign({ key: '87328006ea6c75ebc518ace300438492a567223e', "no-router": true,
|
|
988
978
|
// Allow the modal to be navigable when the handle is focusable
|
|
989
979
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
990
980
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
991
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '
|
|
981
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: 'ee94ff8e09b691dd4ad4e4db1720f06bc3c5a469', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'bffd69b4635c22d9f249725bd952c1e93d5615c7', class: "modal-shadow" }), h("div", Object.assign({ key: '1d394d3c68916e464ff1fbf5242419f4a3d3cca1',
|
|
992
982
|
/*
|
|
993
983
|
role and aria-modal must be used on the
|
|
994
984
|
same element. They must also be set inside the
|
|
995
985
|
shadow DOM otherwise ion-button will not be highlighted
|
|
996
986
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
997
987
|
*/
|
|
998
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
988
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '2dcf58792018e557e0c323baad2d672bc99c0bb1', class: "modal-handle",
|
|
999
989
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1000
|
-
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) })), h("slot", { key: '
|
|
990
|
+
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) })), h("slot", { key: '44164b1e8710c3895400ad9f44ecd99873874ad5', onSlotchange: this.onSlotChange }))));
|
|
1001
991
|
}
|
|
1002
992
|
static get is() { return "ion-modal"; }
|
|
1003
993
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1070,7 +1060,8 @@ export class Modal {
|
|
|
1070
1060
|
"FrameworkDelegate": {
|
|
1071
1061
|
"location": "import",
|
|
1072
1062
|
"path": "../../interface",
|
|
1073
|
-
"id": "src/interface.d.ts::FrameworkDelegate"
|
|
1063
|
+
"id": "src/interface.d.ts::FrameworkDelegate",
|
|
1064
|
+
"referenceLocation": "FrameworkDelegate"
|
|
1074
1065
|
}
|
|
1075
1066
|
}
|
|
1076
1067
|
},
|
|
@@ -1116,7 +1107,8 @@ export class Modal {
|
|
|
1116
1107
|
"AnimationBuilder": {
|
|
1117
1108
|
"location": "import",
|
|
1118
1109
|
"path": "../../interface",
|
|
1119
|
-
"id": "src/interface.d.ts::AnimationBuilder"
|
|
1110
|
+
"id": "src/interface.d.ts::AnimationBuilder",
|
|
1111
|
+
"referenceLocation": "AnimationBuilder"
|
|
1120
1112
|
}
|
|
1121
1113
|
}
|
|
1122
1114
|
},
|
|
@@ -1139,7 +1131,8 @@ export class Modal {
|
|
|
1139
1131
|
"AnimationBuilder": {
|
|
1140
1132
|
"location": "import",
|
|
1141
1133
|
"path": "../../interface",
|
|
1142
|
-
"id": "src/interface.d.ts::AnimationBuilder"
|
|
1134
|
+
"id": "src/interface.d.ts::AnimationBuilder",
|
|
1135
|
+
"referenceLocation": "AnimationBuilder"
|
|
1143
1136
|
}
|
|
1144
1137
|
}
|
|
1145
1138
|
},
|
|
@@ -1257,7 +1250,8 @@ export class Modal {
|
|
|
1257
1250
|
"ModalHandleBehavior": {
|
|
1258
1251
|
"location": "import",
|
|
1259
1252
|
"path": "./modal-interface",
|
|
1260
|
-
"id": "src/components/modal/modal-interface.ts::ModalHandleBehavior"
|
|
1253
|
+
"id": "src/components/modal/modal-interface.ts::ModalHandleBehavior",
|
|
1254
|
+
"referenceLocation": "ModalHandleBehavior"
|
|
1261
1255
|
}
|
|
1262
1256
|
}
|
|
1263
1257
|
},
|
|
@@ -1283,7 +1277,8 @@ export class Modal {
|
|
|
1283
1277
|
"ComponentRef": {
|
|
1284
1278
|
"location": "import",
|
|
1285
1279
|
"path": "../../interface",
|
|
1286
|
-
"id": "src/interface.d.ts::ComponentRef"
|
|
1280
|
+
"id": "src/interface.d.ts::ComponentRef",
|
|
1281
|
+
"referenceLocation": "ComponentRef"
|
|
1287
1282
|
}
|
|
1288
1283
|
}
|
|
1289
1284
|
},
|
|
@@ -1306,12 +1301,13 @@ export class Modal {
|
|
|
1306
1301
|
"mutable": false,
|
|
1307
1302
|
"complexType": {
|
|
1308
1303
|
"original": "ComponentProps",
|
|
1309
|
-
"resolved": "
|
|
1304
|
+
"resolved": "T | undefined",
|
|
1310
1305
|
"references": {
|
|
1311
1306
|
"ComponentProps": {
|
|
1312
1307
|
"location": "import",
|
|
1313
1308
|
"path": "../../interface",
|
|
1314
|
-
"id": "src/interface.d.ts::ComponentProps"
|
|
1309
|
+
"id": "src/interface.d.ts::ComponentProps",
|
|
1310
|
+
"referenceLocation": "ComponentProps"
|
|
1315
1311
|
}
|
|
1316
1312
|
}
|
|
1317
1313
|
},
|
|
@@ -1608,7 +1604,8 @@ export class Modal {
|
|
|
1608
1604
|
"OverlayEventDetail": {
|
|
1609
1605
|
"location": "import",
|
|
1610
1606
|
"path": "../../utils/overlays-interface",
|
|
1611
|
-
"id": "src/utils/overlays-interface.ts::OverlayEventDetail"
|
|
1607
|
+
"id": "src/utils/overlays-interface.ts::OverlayEventDetail",
|
|
1608
|
+
"referenceLocation": "OverlayEventDetail"
|
|
1612
1609
|
}
|
|
1613
1610
|
}
|
|
1614
1611
|
}
|
|
@@ -1629,7 +1626,8 @@ export class Modal {
|
|
|
1629
1626
|
"OverlayEventDetail": {
|
|
1630
1627
|
"location": "import",
|
|
1631
1628
|
"path": "../../utils/overlays-interface",
|
|
1632
|
-
"id": "src/utils/overlays-interface.ts::OverlayEventDetail"
|
|
1629
|
+
"id": "src/utils/overlays-interface.ts::OverlayEventDetail",
|
|
1630
|
+
"referenceLocation": "OverlayEventDetail"
|
|
1633
1631
|
}
|
|
1634
1632
|
}
|
|
1635
1633
|
}
|
|
@@ -1650,7 +1648,8 @@ export class Modal {
|
|
|
1650
1648
|
"ModalBreakpointChangeEventDetail": {
|
|
1651
1649
|
"location": "import",
|
|
1652
1650
|
"path": "./modal-interface",
|
|
1653
|
-
"id": "src/components/modal/modal-interface.ts::ModalBreakpointChangeEventDetail"
|
|
1651
|
+
"id": "src/components/modal/modal-interface.ts::ModalBreakpointChangeEventDetail",
|
|
1652
|
+
"referenceLocation": "ModalBreakpointChangeEventDetail"
|
|
1654
1653
|
}
|
|
1655
1654
|
}
|
|
1656
1655
|
}
|
|
@@ -1701,7 +1700,8 @@ export class Modal {
|
|
|
1701
1700
|
"OverlayEventDetail": {
|
|
1702
1701
|
"location": "import",
|
|
1703
1702
|
"path": "../../utils/overlays-interface",
|
|
1704
|
-
"id": "src/utils/overlays-interface.ts::OverlayEventDetail"
|
|
1703
|
+
"id": "src/utils/overlays-interface.ts::OverlayEventDetail",
|
|
1704
|
+
"referenceLocation": "OverlayEventDetail"
|
|
1705
1705
|
}
|
|
1706
1706
|
}
|
|
1707
1707
|
}
|
|
@@ -1722,7 +1722,8 @@ export class Modal {
|
|
|
1722
1722
|
"OverlayEventDetail": {
|
|
1723
1723
|
"location": "import",
|
|
1724
1724
|
"path": "../../utils/overlays-interface",
|
|
1725
|
-
"id": "src/utils/overlays-interface.ts::OverlayEventDetail"
|
|
1725
|
+
"id": "src/utils/overlays-interface.ts::OverlayEventDetail",
|
|
1726
|
+
"referenceLocation": "OverlayEventDetail"
|
|
1726
1727
|
}
|
|
1727
1728
|
}
|
|
1728
1729
|
}
|
|
@@ -1744,63 +1745,6 @@ export class Modal {
|
|
|
1744
1745
|
"resolved": "void",
|
|
1745
1746
|
"references": {}
|
|
1746
1747
|
}
|
|
1747
|
-
}, {
|
|
1748
|
-
"method": "ionDragStart",
|
|
1749
|
-
"name": "ionDragStart",
|
|
1750
|
-
"bubbles": true,
|
|
1751
|
-
"cancelable": true,
|
|
1752
|
-
"composed": true,
|
|
1753
|
-
"docs": {
|
|
1754
|
-
"tags": [],
|
|
1755
|
-
"text": "Event that is emitted when the sheet modal or card modal gesture starts."
|
|
1756
|
-
},
|
|
1757
|
-
"complexType": {
|
|
1758
|
-
"original": "void",
|
|
1759
|
-
"resolved": "void",
|
|
1760
|
-
"references": {}
|
|
1761
|
-
}
|
|
1762
|
-
}, {
|
|
1763
|
-
"method": "ionDragMove",
|
|
1764
|
-
"name": "ionDragMove",
|
|
1765
|
-
"bubbles": true,
|
|
1766
|
-
"cancelable": true,
|
|
1767
|
-
"composed": true,
|
|
1768
|
-
"docs": {
|
|
1769
|
-
"tags": [],
|
|
1770
|
-
"text": "Event that is emitted when the sheet modal or card modal gesture moves."
|
|
1771
|
-
},
|
|
1772
|
-
"complexType": {
|
|
1773
|
-
"original": "ModalDragEventDetail",
|
|
1774
|
-
"resolved": "ModalDragEventDetail",
|
|
1775
|
-
"references": {
|
|
1776
|
-
"ModalDragEventDetail": {
|
|
1777
|
-
"location": "import",
|
|
1778
|
-
"path": "./modal-interface",
|
|
1779
|
-
"id": "src/components/modal/modal-interface.ts::ModalDragEventDetail"
|
|
1780
|
-
}
|
|
1781
|
-
}
|
|
1782
|
-
}
|
|
1783
|
-
}, {
|
|
1784
|
-
"method": "ionDragEnd",
|
|
1785
|
-
"name": "ionDragEnd",
|
|
1786
|
-
"bubbles": true,
|
|
1787
|
-
"cancelable": true,
|
|
1788
|
-
"composed": true,
|
|
1789
|
-
"docs": {
|
|
1790
|
-
"tags": [],
|
|
1791
|
-
"text": "Event that is emitted when the sheet modal or card modal gesture ends."
|
|
1792
|
-
},
|
|
1793
|
-
"complexType": {
|
|
1794
|
-
"original": "ModalDragEventDetail",
|
|
1795
|
-
"resolved": "ModalDragEventDetail",
|
|
1796
|
-
"references": {
|
|
1797
|
-
"ModalDragEventDetail": {
|
|
1798
|
-
"location": "import",
|
|
1799
|
-
"path": "./modal-interface",
|
|
1800
|
-
"id": "src/components/modal/modal-interface.ts::ModalDragEventDetail"
|
|
1801
|
-
}
|
|
1802
|
-
}
|
|
1803
|
-
}
|
|
1804
1748
|
}];
|
|
1805
1749
|
}
|
|
1806
1750
|
static get methods() {
|
|
@@ -1873,7 +1817,8 @@ export class Modal {
|
|
|
1873
1817
|
"OverlayEventDetail": {
|
|
1874
1818
|
"location": "import",
|
|
1875
1819
|
"path": "../../utils/overlays-interface",
|
|
1876
|
-
"id": "src/utils/overlays-interface.ts::OverlayEventDetail"
|
|
1820
|
+
"id": "src/utils/overlays-interface.ts::OverlayEventDetail",
|
|
1821
|
+
"referenceLocation": "OverlayEventDetail"
|
|
1877
1822
|
},
|
|
1878
1823
|
"T": {
|
|
1879
1824
|
"location": "global",
|
|
@@ -1899,7 +1844,8 @@ export class Modal {
|
|
|
1899
1844
|
"OverlayEventDetail": {
|
|
1900
1845
|
"location": "import",
|
|
1901
1846
|
"path": "../../utils/overlays-interface",
|
|
1902
|
-
"id": "src/utils/overlays-interface.ts::OverlayEventDetail"
|
|
1847
|
+
"id": "src/utils/overlays-interface.ts::OverlayEventDetail",
|
|
1848
|
+
"referenceLocation": "OverlayEventDetail"
|
|
1903
1849
|
},
|
|
1904
1850
|
"T": {
|
|
1905
1851
|
"location": "global",
|