@ionic/core 8.7.17-dev.11771959013.18adabe2 → 8.7.17-dev.11772055571.14fddd38
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 +561 -1
- package/components/alert.js +610 -1
- package/components/animation.js +817 -1
- package/components/backdrop.js +72 -1
- package/components/button-active.js +64 -1
- package/components/button.js +303 -1
- package/components/buttons.js +56 -1
- package/components/capacitor.js +10 -1
- package/components/checkbox.js +261 -1
- package/components/config.js +192 -1
- package/components/content.js +475 -1
- package/components/cubic-bezier.js +87 -1
- package/components/data.js +1635 -1
- package/components/dir.js +15 -1
- package/components/focus-visible.js +72 -1
- package/components/framework-delegate.js +137 -1
- package/components/gesture-controller.js +192 -1
- package/components/haptic.js +155 -1
- package/components/hardware-back-button.js +112 -1
- package/components/header.js +417 -1
- package/components/helpers.js +336 -1
- package/components/icon.js +456 -1
- package/components/index.d.ts +0 -2
- package/components/index.js +115 -1
- package/components/index2.js +416 -1
- package/components/index3.js +452 -1
- package/components/index4.js +118 -1
- package/components/index5.js +303 -1
- package/components/index6.js +29 -1
- package/components/index7.js +164 -1
- package/components/index8.js +125 -1
- package/components/index9.js +4 -1
- package/components/input-shims.js +624 -1
- package/components/input.utils.js +144 -1
- package/components/ion-accordion-group.js +269 -1
- package/components/ion-accordion.js +457 -1
- package/components/ion-action-sheet.js +6 -1
- package/components/ion-alert.js +6 -1
- package/components/ion-app.js +128 -1
- package/components/ion-avatar.js +41 -1
- package/components/ion-back-button.js +131 -1
- package/components/ion-backdrop.js +6 -1
- package/components/ion-badge.js +47 -1
- package/components/ion-breadcrumb.js +137 -1
- package/components/ion-breadcrumbs.js +164 -1
- package/components/ion-button.js +6 -1
- package/components/ion-buttons.js +6 -1
- package/components/ion-card-content.js +45 -1
- package/components/ion-card-header.js +56 -1
- package/components/ion-card-subtitle.js +48 -1
- package/components/ion-card-title.js +48 -1
- package/components/ion-card.js +107 -1
- package/components/ion-checkbox.js +6 -1
- package/components/ion-chip.js +66 -1
- package/components/ion-col.js +163 -1
- package/components/ion-content.js +6 -1
- package/components/ion-datetime-button.js +384 -1
- package/components/ion-datetime.js +2046 -1
- package/components/ion-fab-button.js +151 -1
- package/components/ion-fab-list.js +66 -1
- package/components/ion-fab.js +101 -1
- package/components/ion-footer.js +159 -1
- package/components/ion-grid.js +46 -1
- package/components/ion-header.js +6 -1
- package/components/ion-icon.js +6 -1
- package/components/ion-img.js +124 -1
- package/components/ion-infinite-scroll-content.js +70 -1
- package/components/ion-infinite-scroll.js +236 -1
- package/components/ion-input-otp.js +683 -1
- package/components/ion-input-password-toggle.js +129 -1
- package/components/ion-input.js +617 -1
- package/components/ion-item-divider.js +59 -1
- package/components/ion-item-group.js +46 -1
- package/components/ion-item-option.js +91 -1
- package/components/ion-item-options.js +73 -1
- package/components/ion-item-sliding.js +458 -1
- package/components/ion-item.js +6 -1
- package/components/ion-label.js +6 -1
- package/components/ion-list-header.js +6 -1
- package/components/ion-list.js +6 -1
- package/components/ion-loading.js +344 -1
- package/components/ion-menu-button.js +110 -1
- package/components/ion-menu-toggle.js +64 -1
- package/components/ion-menu.js +745 -1
- package/components/ion-modal.js +6 -1
- package/components/ion-nav-link.js +64 -1
- package/components/ion-nav.js +956 -1
- package/components/ion-note.js +47 -1
- package/components/ion-picker-column-option.js +6 -1
- package/components/ion-picker-column.js +6 -1
- package/components/ion-picker-legacy-column.js +6 -1
- package/components/ion-picker-legacy.js +343 -1
- package/components/ion-picker.js +6 -1
- package/components/ion-popover.js +6 -1
- package/components/ion-progress-bar.js +101 -1
- package/components/ion-radio-group.js +6 -1
- package/components/ion-radio.js +6 -1
- package/components/ion-range.js +853 -1
- package/components/ion-refresher-content.js +89 -1
- package/components/ion-refresher.js +751 -1
- package/components/ion-reorder-group.js +322 -1
- package/components/ion-reorder.js +60 -1
- package/components/ion-ripple-effect.js +6 -1
- package/components/ion-route-redirect.js +45 -1
- package/components/ion-route.js +74 -1
- package/components/ion-router-link.js +61 -1
- package/components/ion-router-outlet.js +227 -1
- package/components/ion-router.js +841 -1
- package/components/ion-row.js +36 -1
- package/components/ion-searchbar.js +530 -1
- package/components/ion-segment-button.js +174 -1
- package/components/ion-segment-content.js +35 -1
- package/components/ion-segment-view.js +148 -1
- package/components/ion-segment.js +602 -1
- package/components/ion-select-modal.js +6 -1
- package/components/ion-select-option.js +46 -1
- package/components/ion-select-popover.js +6 -1
- package/components/ion-select.js +1037 -1
- package/components/ion-skeleton-text.js +65 -1
- package/components/ion-spinner.js +6 -1
- package/components/ion-split-pane.js +197 -1
- package/components/ion-tab-bar.js +115 -1
- package/components/ion-tab-button.js +128 -1
- package/components/ion-tab.js +91 -1
- package/components/ion-tabs.js +205 -1
- package/components/ion-text.js +42 -1
- package/components/ion-textarea.js +554 -1
- package/components/ion-thumbnail.js +36 -1
- package/components/ion-title.js +6 -1
- package/components/ion-toast.js +941 -1
- package/components/ion-toggle.js +361 -1
- package/components/ion-toolbar.js +6 -1
- package/components/ionic-global.js +144 -1
- package/components/ios.transition.js +672 -1
- package/components/item.js +302 -1
- package/components/keyboard-controller.js +162 -1
- package/components/keyboard.js +141 -1
- package/components/keyboard2.js +76 -1
- package/components/label.js +100 -1
- package/components/list-header.js +47 -1
- package/components/list.js +68 -1
- package/components/lock-controller.js +35 -1
- package/components/md.transition.js +51 -1
- package/components/menu-toggle-util.js +9 -1
- package/components/modal.js +2674 -1
- package/components/notch-controller.js +150 -1
- package/components/overlays.js +912 -1
- package/components/picker-column-option.js +136 -1
- package/components/picker-column.js +595 -1
- package/components/picker-column2.js +377 -1
- package/components/picker.js +498 -1
- package/components/popover.js +1502 -1
- package/components/radio-group.js +287 -1
- package/components/radio.js +229 -1
- package/components/refresher.utils.js +193 -1
- package/components/ripple-effect.js +109 -1
- package/components/select-modal.js +196 -1
- package/components/select-popover.js +189 -1
- package/components/spinner.js +224 -1
- package/components/status-tap.js +36 -1
- package/components/swipe-back.js +75 -1
- package/components/theme.js +40 -1
- package/components/title.js +70 -1
- package/components/toolbar.js +89 -1
- package/components/validity.js +14 -1
- package/components/watch-options.js +44 -1
- package/dist/cjs/{animation-Dg4yiuR2.js → animation-Bt3H9L1C.js} +1 -1
- package/dist/cjs/app-globals-Ciccnk9_.js +10 -0
- package/dist/cjs/{button-active-FscMI17-.js → button-active-CMc8cD90.js} +1 -1
- package/dist/cjs/{config-BukYi_pW.js → config-C5fsO43a.js} +1 -1
- package/dist/cjs/{data-BYlBjkMU.js → data-JwZKaIQB.js} +1 -1
- package/dist/cjs/{framework-delegate-CRgp8o_p.js → framework-delegate-DMJRBuDi.js} +1 -1
- package/dist/cjs/{hardware-back-button-C4rMJ5uI.js → hardware-back-button-VCK4V3mG.js} +1 -1
- package/dist/cjs/{helpers-CxTYJdbT.js → helpers-DrTqNghc.js} +1 -1
- package/dist/cjs/{index-C845Ti6K.js → index-094mMFB-.js} +4 -4
- package/dist/cjs/{index-YcSftOMz.js → index-C534ULug.js} +2 -2
- package/dist/cjs/{index-MbaBbWXk.js → index-CO6eryBo.js} +2 -2
- package/dist/cjs/{index-CqT-2gKy.js → index-D6Wc6v08.js} +382 -503
- package/dist/cjs/{index-CFUwM5x_.js → index-DrMUZJj6.js} +5 -5
- package/dist/cjs/index.cjs.js +12 -12
- package/dist/cjs/{input-shims-DlFhYYTs.js → input-shims-CW0KUFTQ.js} +3 -3
- package/dist/cjs/{input.utils-DmeJ8dmo.js → input.utils-B_QROI2g.js} +2 -2
- package/dist/cjs/ion-accordion_2.cjs.entry.js +15 -23
- package/dist/cjs/ion-action-sheet.cjs.entry.js +15 -21
- package/dist/cjs/ion-alert.cjs.entry.js +17 -25
- package/dist/cjs/ion-app_8.cjs.entry.js +40 -44
- 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 +14 -20
- package/dist/cjs/ion-button_2.cjs.entry.js +18 -36
- 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 +39 -67
- package/dist/cjs/ion-fab_3.cjs.entry.js +13 -17
- package/dist/cjs/ion-img.cjs.entry.js +6 -8
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +13 -17
- package/dist/cjs/ion-input-otp.cjs.entry.js +10 -16
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -9
- package/dist/cjs/ion-input.cjs.entry.js +13 -21
- package/dist/cjs/ion-item-option_3.cjs.entry.js +15 -17
- package/dist/cjs/ion-item_8.cjs.entry.js +36 -42
- package/dist/cjs/ion-loading.cjs.entry.js +14 -18
- package/dist/cjs/ion-menu_3.cjs.entry.js +22 -30
- package/dist/cjs/ion-modal.cjs.entry.js +221 -62
- package/dist/cjs/ion-nav_2.cjs.entry.js +10 -14
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -10
- package/dist/cjs/ion-picker-column.cjs.entry.js +7 -11
- package/dist/cjs/ion-picker.cjs.entry.js +6 -6
- package/dist/cjs/ion-popover.cjs.entry.js +15 -21
- package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
- package/dist/cjs/ion-radio_2.cjs.entry.js +13 -17
- package/dist/cjs/ion-range.cjs.entry.js +54 -180
- package/dist/cjs/ion-refresher_2.cjs.entry.js +14 -45
- package/dist/cjs/ion-reorder_2.cjs.entry.js +11 -13
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
- package/dist/cjs/ion-route_4.cjs.entry.js +10 -20
- package/dist/cjs/ion-searchbar.cjs.entry.js +12 -22
- 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 +16 -26
- package/dist/cjs/ion-select-modal.cjs.entry.js +12 -12
- package/dist/cjs/ion-select_3.cjs.entry.js +21 -29
- package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
- package/dist/cjs/ion-split-pane.cjs.entry.js +9 -15
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +12 -14
- package/dist/cjs/ion-tab_2.cjs.entry.js +8 -10
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +12 -18
- package/dist/cjs/ion-toast.cjs.entry.js +15 -21
- package/dist/cjs/ion-toggle.cjs.entry.js +8 -10
- package/dist/cjs/{ionic-global-Bc3kJi1Z.js → ionic-global-HMVqOFGO.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-trBiC95R.js → ios.transition-BOt_uW73.js} +4 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-CUQECuvD.js → md.transition-Dt968VXB.js} +4 -4
- package/dist/cjs/{notch-controller-sD-lTpdc.js → notch-controller-Bzqhjm4f.js} +1 -1
- package/dist/cjs/{overlays-C2jiBSNQ.js → overlays-B2b-TTbl.js} +5 -5
- package/dist/cjs/{status-tap-CCJk5VgT.js → status-tap-g0sWWkXk.js} +3 -3
- package/dist/cjs/{swipe-back-BGhTQ1CU.js → swipe-back-BIayeNOD.js} +2 -2
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/accordion-group/accordion-group.js +2 -4
- package/dist/collection/components/action-sheet/action-sheet.js +10 -20
- package/dist/collection/components/alert/alert.js +12 -24
- package/dist/collection/components/back-button/back-button.js +2 -4
- package/dist/collection/components/badge/badge.js +1 -2
- package/dist/collection/components/breadcrumb/breadcrumb.js +4 -8
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -4
- package/dist/collection/components/button/button.js +3 -6
- package/dist/collection/components/card/card.js +3 -6
- package/dist/collection/components/card-header/card-header.js +1 -2
- package/dist/collection/components/card-subtitle/card-subtitle.js +1 -2
- package/dist/collection/components/card-title/card-title.js +1 -2
- package/dist/collection/components/checkbox/checkbox.js +2 -4
- package/dist/collection/components/chip/chip.js +1 -2
- package/dist/collection/components/content/content.js +4 -8
- package/dist/collection/components/datetime/datetime.js +15 -34
- package/dist/collection/components/datetime-button/datetime-button.js +1 -2
- package/dist/collection/components/fab-button/fab-button.js +3 -6
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -4
- package/dist/collection/components/input/input.js +6 -11
- package/dist/collection/components/input-otp/input-otp.js +4 -8
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +2 -4
- package/dist/collection/components/item/item.js +3 -6
- package/dist/collection/components/item-divider/item-divider.js +1 -2
- package/dist/collection/components/item-option/item-option.js +1 -2
- package/dist/collection/components/item-options/item-options.js +1 -2
- package/dist/collection/components/item-sliding/item-sliding.js +1 -2
- package/dist/collection/components/label/label.js +3 -6
- package/dist/collection/components/list-header/list-header.js +1 -2
- package/dist/collection/components/loading/loading.js +11 -22
- package/dist/collection/components/menu/menu.js +5 -10
- package/dist/collection/components/menu-button/menu-button.js +1 -2
- package/dist/collection/components/modal/gestures/sheet.js +108 -11
- package/dist/collection/components/modal/gestures/swipe-to-close.js +54 -1
- package/dist/collection/components/modal/modal.js +112 -58
- package/dist/collection/components/nav/nav.js +45 -89
- package/dist/collection/components/nav-link/nav-link.js +5 -9
- package/dist/collection/components/note/note.js +1 -2
- package/dist/collection/components/picker/picker.js +1 -2
- package/dist/collection/components/picker-column/picker-column.js +3 -6
- package/dist/collection/components/picker-column-option/picker-column-option.js +1 -2
- package/dist/collection/components/picker-legacy/picker.js +12 -24
- package/dist/collection/components/picker-legacy-column/picker-column.js +2 -4
- package/dist/collection/components/popover/popover.js +17 -33
- package/dist/collection/components/progress-bar/progress-bar.js +1 -2
- package/dist/collection/components/radio/radio.js +1 -2
- package/dist/collection/components/radio-group/radio-group.js +3 -6
- package/dist/collection/components/range/range.js +50 -189
- package/dist/collection/components/refresher/refresher.js +5 -73
- package/dist/collection/components/refresher-content/refresher-content.js +4 -8
- package/dist/collection/components/reorder-group/reorder-group.js +3 -6
- package/dist/collection/components/route/route.js +2 -4
- package/dist/collection/components/router/router.js +5 -10
- package/dist/collection/components/router-link/router-link.js +3 -6
- package/dist/collection/components/router-outlet/router-outlet.js +9 -18
- package/dist/collection/components/searchbar/searchbar.js +6 -11
- package/dist/collection/components/segment/segment.js +5 -10
- package/dist/collection/components/segment-button/segment-button.js +2 -4
- package/dist/collection/components/segment-view/segment-view.js +1 -2
- package/dist/collection/components/select/select.js +5 -10
- package/dist/collection/components/select-modal/select-modal.js +1 -2
- package/dist/collection/components/select-popover/select-popover.js +1 -2
- package/dist/collection/components/skeleton-text/skeleton-text.js +1 -2
- package/dist/collection/components/spinner/spinner.js +2 -4
- package/dist/collection/components/tab/tab.js +2 -4
- package/dist/collection/components/tab-bar/tab-bar.js +2 -4
- package/dist/collection/components/tab-button/tab-button.js +2 -4
- package/dist/collection/components/tabs/tabs.js +2 -4
- package/dist/collection/components/text/text.js +1 -2
- package/dist/collection/components/textarea/textarea.js +3 -6
- package/dist/collection/components/title/title.js +2 -4
- package/dist/collection/components/toast/toast.js +17 -34
- package/dist/collection/components/toggle/toggle.js +2 -4
- package/dist/collection/components/toolbar/toolbar.js +1 -2
- package/dist/docs.d.ts +0 -37
- package/dist/docs.json +442 -971
- package/dist/esm/{animation-CnGMT4ji.js → animation-Dt8bGnA-.js} +1 -1
- package/dist/esm/app-globals-BDSf8fOA.js +8 -0
- package/dist/esm/{button-active-BBx21brx.js → button-active-L570Swow.js} +1 -1
- package/dist/esm/{config-TO1rZH52.js → config-mCdtaoPe.js} +1 -1
- package/dist/esm/{data-B9iGR5YO.js → data-DCORV9FH.js} +1 -1
- package/dist/esm/{framework-delegate-CyxE1S_P.js → framework-delegate-BYawdMXj.js} +1 -1
- package/dist/esm/{hardware-back-button-CTe4XmL7.js → hardware-back-button-CPLxO-Ev.js} +1 -1
- package/dist/esm/{helpers-Tl8jw6S2.js → helpers-DEn3pfjm.js} +1 -1
- package/dist/esm/{index-hW6eNZ3o.js → index-Bs3kT4bc.js} +2 -2
- package/dist/esm/{index-IGIE5vDm.js → index-C8IsBmNU.js} +382 -503
- package/dist/esm/{index-B2KwgBLx.js → index-CvDIirVx.js} +5 -5
- package/dist/esm/{index-BtUdxPjv.js → index-ceb5RaMT.js} +2 -2
- package/dist/esm/{index-B-hkiOUh.js → index-r2D9DEro.js} +4 -4
- package/dist/esm/index.js +12 -12
- package/dist/esm/{input-shims-C1hAaHcP.js → input-shims-DyOpfTg6.js} +3 -3
- package/dist/esm/{input.utils-Bxa_DQ7-.js → input.utils-DrvTa8gz.js} +2 -2
- package/dist/esm/ion-accordion_2.entry.js +15 -23
- package/dist/esm/ion-action-sheet.entry.js +15 -21
- package/dist/esm/ion-alert.entry.js +17 -25
- package/dist/esm/ion-app_8.entry.js +40 -44
- 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 +14 -20
- package/dist/esm/ion-button_2.entry.js +18 -36
- 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 +39 -67
- package/dist/esm/ion-fab_3.entry.js +13 -17
- package/dist/esm/ion-img.entry.js +6 -8
- package/dist/esm/ion-infinite-scroll_2.entry.js +13 -17
- package/dist/esm/ion-input-otp.entry.js +10 -16
- package/dist/esm/ion-input-password-toggle.entry.js +7 -9
- package/dist/esm/ion-input.entry.js +13 -21
- package/dist/esm/ion-item-option_3.entry.js +15 -17
- package/dist/esm/ion-item_8.entry.js +36 -42
- package/dist/esm/ion-loading.entry.js +14 -18
- package/dist/esm/ion-menu_3.entry.js +22 -30
- package/dist/esm/ion-modal.entry.js +221 -62
- package/dist/esm/ion-nav_2.entry.js +10 -14
- package/dist/esm/ion-picker-column-option.entry.js +8 -10
- package/dist/esm/ion-picker-column.entry.js +7 -11
- package/dist/esm/ion-picker.entry.js +6 -6
- package/dist/esm/ion-popover.entry.js +15 -21
- package/dist/esm/ion-progress-bar.entry.js +7 -7
- package/dist/esm/ion-radio_2.entry.js +13 -17
- package/dist/esm/ion-range.entry.js +54 -180
- package/dist/esm/ion-refresher_2.entry.js +14 -45
- package/dist/esm/ion-reorder_2.entry.js +11 -13
- package/dist/esm/ion-ripple-effect.entry.js +4 -4
- package/dist/esm/ion-route_4.entry.js +10 -20
- package/dist/esm/ion-searchbar.entry.js +12 -22
- 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 +16 -26
- package/dist/esm/ion-select-modal.entry.js +12 -12
- package/dist/esm/ion-select_3.entry.js +21 -29
- package/dist/esm/ion-spinner.entry.js +4 -4
- package/dist/esm/ion-split-pane.entry.js +9 -15
- package/dist/esm/ion-tab-bar_2.entry.js +12 -14
- package/dist/esm/ion-tab_2.entry.js +8 -10
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +12 -18
- package/dist/esm/ion-toast.entry.js +15 -21
- package/dist/esm/ion-toggle.entry.js +8 -10
- package/dist/esm/{ionic-global-DfbeLwcV.js → ionic-global-CDrldh-5.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition--aMF-pDH.js → ios.transition-BDzw0_Hm.js} +4 -4
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-BEVbfm8j.js → md.transition-BzDYi3qq.js} +4 -4
- package/dist/esm/{notch-controller-DAcvKU57.js → notch-controller-BwelN_JM.js} +1 -1
- package/dist/esm/{overlays-F8GHPo-e.js → overlays-D5YkFThA.js} +5 -5
- package/dist/esm/{status-tap-BfJqFSLF.js → status-tap-5DQ7Fc4V.js} +3 -3
- package/dist/esm/{swipe-back-BZBFwTQV.js → swipe-back-BKw2CAHc.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-012212e4.entry.js +4 -0
- package/dist/ionic/p-074839fc.entry.js +4 -0
- package/dist/ionic/p-0dfa5a37.entry.js +4 -0
- package/dist/ionic/p-0f418a37.entry.js +4 -0
- package/dist/ionic/p-11518b31.entry.js +4 -0
- package/dist/ionic/{p-80cac7a2.entry.js → p-11aa58d6.entry.js} +1 -1
- package/dist/ionic/p-1838bed5.entry.js +4 -0
- package/dist/ionic/p-29721c43.entry.js +4 -0
- package/dist/ionic/{p-b67a2114.entry.js → p-2a939845.entry.js} +1 -1
- package/dist/ionic/{p-025d2d32.entry.js → p-316c0420.entry.js} +1 -1
- package/dist/ionic/p-31f7095f.entry.js +4 -0
- package/dist/ionic/p-34642fa1.entry.js +4 -0
- package/dist/ionic/p-35696017.entry.js +4 -0
- package/dist/ionic/{p-074344b8.entry.js → p-370e4237.entry.js} +1 -1
- package/dist/ionic/{p-964090ef.entry.js → p-3a6caca9.entry.js} +1 -1
- package/dist/ionic/p-40c261a3.entry.js +4 -0
- package/dist/ionic/{p-1fd588a7.entry.js → p-46d74291.entry.js} +1 -1
- package/dist/ionic/{p-301c43f8.entry.js → p-49d06882.entry.js} +1 -1
- package/dist/ionic/p-4e41ea20.entry.js +4 -0
- package/dist/ionic/{p-7c72d482.entry.js → p-51a60e0f.entry.js} +1 -1
- package/dist/ionic/{p-9833cf63.entry.js → p-582824c5.entry.js} +1 -1
- package/dist/ionic/p-6241ce47.entry.js +4 -0
- package/dist/ionic/p-639dd543.entry.js +4 -0
- package/dist/ionic/p-6444c606.entry.js +4 -0
- package/dist/ionic/{p-9fae83d8.entry.js → p-675b1a31.entry.js} +1 -1
- package/dist/ionic/p-6d070558.entry.js +4 -0
- package/dist/ionic/p-7268efa5.entry.js +4 -0
- package/dist/ionic/{p-b4d52b58.entry.js → p-72c38b88.entry.js} +1 -1
- package/dist/ionic/{p-370a60ee.entry.js → p-79bd78f9.entry.js} +1 -1
- package/dist/ionic/p-7babec72.entry.js +4 -0
- package/dist/ionic/{p-a287e18e.entry.js → p-86f53961.entry.js} +1 -1
- package/dist/ionic/{p-277abec1.entry.js → p-94de5cfa.entry.js} +1 -1
- package/dist/ionic/{p-e663bc5a.entry.js → p-9575b654.entry.js} +1 -1
- package/dist/ionic/{p-c1c9b2bb.entry.js → p-9a2d390d.entry.js} +1 -1
- package/dist/ionic/{p-DB_iPQC-.js → p-B0q1YL7N.js} +1 -1
- package/dist/ionic/{p-NFFyoJ4Q.js → p-BFvmZNyx.js} +1 -1
- package/dist/ionic/p-BKc55Xev.js +4 -0
- package/dist/ionic/{p-CYbRmDdy.js → p-BOVrCkpJ.js} +1 -1
- package/dist/ionic/{p-C0JvVFMv.js → p-BYEqWnSg.js} +1 -1
- package/dist/ionic/p-Bmgaetn_.js +4 -0
- package/dist/ionic/{p-BAt5H1ac.js → p-C7hRNDhM.js} +1 -1
- package/dist/ionic/p-C8IsBmNU.js +5 -0
- package/dist/ionic/p-CJxh_yLS.js +4 -0
- package/dist/ionic/{p-CGmVTdWh.js → p-CTfR9YZG.js} +1 -1
- package/dist/ionic/{p-B8xlpH8p.js → p-CwgG81ZD.js} +1 -1
- package/dist/ionic/{p-CmFz1Mjc.js → p-D-eFFUkA.js} +1 -1
- package/dist/ionic/{p-BvFYtOdE.js → p-D0dMcSkw.js} +1 -1
- package/dist/ionic/{p-DjriolRs.js → p-DCv9sLH2.js} +1 -1
- package/dist/ionic/{p-Bum7H1fw.js → p-DDb5r57F.js} +1 -1
- package/dist/ionic/{p-DLbbmF9h.js → p-DNcfiJwE.js} +1 -1
- package/dist/ionic/p-DUt5fQmA.js +4 -0
- package/dist/ionic/p-DZRJwG4S.js +4 -0
- package/dist/ionic/{p-gbVXD275.js → p-DbQ5QkTP.js} +1 -1
- package/dist/ionic/{p-BxIcPWoV.js → p-Dc45iWE4.js} +1 -1
- package/dist/ionic/{p-DTPR1Wpn.js → p-DdR6rpbR.js} +1 -1
- package/dist/ionic/{p-GWUGgWx6.js → p-QHYY4sjU.js} +1 -1
- package/dist/ionic/p-a127bee2.entry.js +4 -0
- package/dist/ionic/{p-f5dfb9a3.entry.js → p-ac4eb91d.entry.js} +1 -1
- package/dist/ionic/{p-ca31010f.entry.js → p-b0a7585c.entry.js} +1 -1
- package/dist/ionic/p-b3d44509.entry.js +4 -0
- package/dist/ionic/{p-bced1f3e.entry.js → p-c73627c8.entry.js} +1 -1
- package/dist/ionic/p-cc45bcbc.entry.js +4 -0
- package/dist/ionic/p-d0a2a1ab.entry.js +4 -0
- package/dist/ionic/{p-9745651b.entry.js → p-d126e8d3.entry.js} +1 -1
- package/dist/ionic/{p-b440381f.entry.js → p-d1f54e28.entry.js} +1 -1
- package/dist/ionic/{p-1fa1406c.entry.js → p-d2489bf2.entry.js} +1 -1
- package/dist/ionic/p-d3014190.entry.js +4 -0
- package/dist/ionic/{p-a84f2d21.entry.js → p-da7d04cc.entry.js} +1 -1
- package/dist/ionic/p-db82892c.entry.js +4 -0
- package/dist/ionic/{p-b2d5238b.entry.js → p-dbbe606a.entry.js} +1 -1
- package/dist/ionic/{p-28d7852f.entry.js → p-dd1aef77.entry.js} +1 -1
- package/dist/ionic/p-e1d1f3cc.entry.js +4 -0
- package/dist/ionic/{p-c3e65e45.entry.js → p-f8f22cc0.entry.js} +1 -1
- package/dist/ionic/{p-9802c88e.entry.js → p-f9061316.entry.js} +1 -1
- package/dist/types/components/datetime/datetime.d.ts +0 -9
- package/dist/types/components/header/header.utils.d.ts +1 -2
- 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 +7 -0
- package/dist/types/components/modal/modal.d.ts +17 -1
- package/dist/types/components/range/range-interface.d.ts +0 -1
- package/dist/types/components/range/range.d.ts +4 -33
- package/dist/types/components/refresher/refresher-interface.d.ts +0 -7
- package/dist/types/components/refresher/refresher.d.ts +3 -16
- package/dist/types/components.d.ts +206 -929
- package/dist/types/interface.d.ts +2 -2
- package/dist/types/stencil-public-runtime.d.ts +14 -126
- package/dist/types/utils/gesture/listener.d.ts +1 -2
- package/hydrate/index.d.ts +0 -12
- package/hydrate/index.js +1550 -5375
- package/hydrate/index.mjs +1551 -5374
- package/package.json +2 -2
- package/dist/cjs/app-globals-CLI8xCmk.js +0 -11
- package/dist/esm/app-globals-DhZjtldk.js +0 -9
- package/dist/ionic/p-02acdef4.entry.js +0 -4
- package/dist/ionic/p-04e2c388.entry.js +0 -4
- package/dist/ionic/p-13ade5c8.entry.js +0 -4
- package/dist/ionic/p-1b02923f.entry.js +0 -4
- package/dist/ionic/p-1bd477a9.entry.js +0 -4
- package/dist/ionic/p-239a27a4.entry.js +0 -4
- package/dist/ionic/p-3e143d1d.entry.js +0 -4
- package/dist/ionic/p-4431ef7e.entry.js +0 -4
- package/dist/ionic/p-463767ce.entry.js +0 -4
- package/dist/ionic/p-4f888343.entry.js +0 -4
- package/dist/ionic/p-51c11c47.entry.js +0 -4
- package/dist/ionic/p-56050077.entry.js +0 -4
- package/dist/ionic/p-6a3a5aae.entry.js +0 -4
- package/dist/ionic/p-6b97f2a3.entry.js +0 -4
- package/dist/ionic/p-77de9c60.entry.js +0 -4
- package/dist/ionic/p-7d20f4f8.entry.js +0 -4
- package/dist/ionic/p-91fc7352.entry.js +0 -4
- package/dist/ionic/p-93845421.entry.js +0 -4
- package/dist/ionic/p-96a2e768.entry.js +0 -4
- package/dist/ionic/p-9d1676bb.entry.js +0 -4
- package/dist/ionic/p-BW_TRJm8.js +0 -4
- package/dist/ionic/p-CtA-yJYy.js +0 -4
- package/dist/ionic/p-D8HJQ1qq.js +0 -4
- package/dist/ionic/p-DtVZDHlS.js +0 -4
- package/dist/ionic/p-IGIE5vDm.js +0 -5
- package/dist/ionic/p-a805674e.entry.js +0 -4
- package/dist/ionic/p-a81ae2cd.entry.js +0 -4
- package/dist/ionic/p-cbf245b5.entry.js +0 -4
- package/dist/ionic/p-d68b665a.entry.js +0 -4
- package/dist/ionic/p-efe86ed9.entry.js +0 -4
- package/dist/ionic/p-hNN3VvaC.js +0 -4
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, f as printIonWarning, w as writeTask, e as config, h, d as Host, g as getElement } from './index-
|
|
5
|
-
import { f as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, a as findIonContent, p as printIonContentErrorMsg } from './index-
|
|
6
|
-
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-
|
|
7
|
-
import { e as clamp, g as getElementRoot, r as raf, b as inheritAttributes, h as hasLazyBuild } from './helpers-
|
|
4
|
+
import { r as registerInstance, c as createEvent, f as printIonWarning, w as writeTask, e as config, h, d as Host, g as getElement } from './index-C8IsBmNU.js';
|
|
5
|
+
import { f as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, a as findIonContent, p as printIonContentErrorMsg } from './index-Bs3kT4bc.js';
|
|
6
|
+
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-BYawdMXj.js';
|
|
7
|
+
import { e as clamp, g as getElementRoot, r as raf, b as inheritAttributes, h as hasLazyBuild } from './helpers-DEn3pfjm.js';
|
|
8
8
|
import { c as createLockController } from './lock-controller-B-hirT0v.js';
|
|
9
9
|
import { g as getCapacitor } from './capacitor-CFERIeaU.js';
|
|
10
|
-
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-
|
|
10
|
+
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-D5YkFThA.js';
|
|
11
11
|
import { g as getClassMap } from './theme-DiVJyqlX.js';
|
|
12
|
-
import { e as deepReady, w as waitForMount } from './index-
|
|
13
|
-
import { b as getIonMode } from './ionic-global-
|
|
12
|
+
import { e as deepReady, w as waitForMount } from './index-r2D9DEro.js';
|
|
13
|
+
import { b as getIonMode } from './ionic-global-CDrldh-5.js';
|
|
14
14
|
import { KEYBOARD_DID_OPEN } from './keyboard-ywgs5efA.js';
|
|
15
|
-
import { c as createAnimation } from './animation-
|
|
15
|
+
import { c as createAnimation } from './animation-Dt8bGnA-.js';
|
|
16
16
|
import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
|
|
17
17
|
import { createGesture } from './index-CfgBF1SE.js';
|
|
18
18
|
import { w as win } from './index-ZjP4CjeZ.js';
|
|
19
|
-
import './hardware-back-button-
|
|
19
|
+
import './hardware-back-button-CPLxO-Ev.js';
|
|
20
20
|
import './gesture-controller-BTEOs1at.js';
|
|
21
21
|
import './keyboard-CUw4ekVy.js';
|
|
22
22
|
|
|
@@ -247,7 +247,7 @@ const calculateSpringStep = (t) => {
|
|
|
247
247
|
const SwipeToCloseDefaults = {
|
|
248
248
|
MIN_PRESENTING_SCALE: 0.915,
|
|
249
249
|
};
|
|
250
|
-
const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) => {
|
|
250
|
+
const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onDragStart, onDragMove, onDragEnd) => {
|
|
251
251
|
/**
|
|
252
252
|
* The step value at which a card modal
|
|
253
253
|
* is eligible for dismissing via gesture.
|
|
@@ -357,6 +357,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) =>
|
|
|
357
357
|
disableContentScrollY(contentEl);
|
|
358
358
|
}
|
|
359
359
|
animation.progressStart(true, isOpen ? 1 : 0);
|
|
360
|
+
onDragStart();
|
|
360
361
|
};
|
|
361
362
|
const onMove = (detail) => {
|
|
362
363
|
const { deltaY } = detail;
|
|
@@ -424,6 +425,13 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) =>
|
|
|
424
425
|
setCardStatusBarDark();
|
|
425
426
|
}
|
|
426
427
|
lastStep = clampedStep;
|
|
428
|
+
const eventDetail = {
|
|
429
|
+
currentY: detail.currentY,
|
|
430
|
+
deltaY: detail.deltaY,
|
|
431
|
+
velocityY: detail.velocityY,
|
|
432
|
+
progress: calculateProgress(el, detail.deltaY),
|
|
433
|
+
};
|
|
434
|
+
onDragMove(eventDetail);
|
|
427
435
|
};
|
|
428
436
|
const onEnd = (detail) => {
|
|
429
437
|
const velocity = detail.velocityY;
|
|
@@ -482,6 +490,13 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) =>
|
|
|
482
490
|
else if (shouldComplete) {
|
|
483
491
|
onDismiss();
|
|
484
492
|
}
|
|
493
|
+
const eventDetail = {
|
|
494
|
+
currentY: detail.currentY,
|
|
495
|
+
deltaY: detail.deltaY,
|
|
496
|
+
velocityY: detail.velocityY,
|
|
497
|
+
progress: calculateProgress(el, detail.deltaY),
|
|
498
|
+
};
|
|
499
|
+
onDragEnd(eventDetail);
|
|
485
500
|
};
|
|
486
501
|
const gesture = createGesture({
|
|
487
502
|
el,
|
|
@@ -499,6 +514,44 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) =>
|
|
|
499
514
|
const computeDuration = (remaining, velocity) => {
|
|
500
515
|
return clamp(400, remaining / Math.abs(velocity * 1.1), 500);
|
|
501
516
|
};
|
|
517
|
+
/**
|
|
518
|
+
* Calculates the progress of the swipe gesture.
|
|
519
|
+
*
|
|
520
|
+
* The progress is a value between 0 and 1 that represents how far
|
|
521
|
+
* the swipe has progressed towards closing the modal.
|
|
522
|
+
*
|
|
523
|
+
* A value closer to 1 means the modal is closer to being opened,
|
|
524
|
+
* while a value closer to 0 means the modal is closer to being closed.
|
|
525
|
+
*
|
|
526
|
+
* @param el The modal
|
|
527
|
+
* @param deltaY The change in Y position (positive when dragging down, negative when dragging up)
|
|
528
|
+
* @returns The progress of the swipe gesture
|
|
529
|
+
*/
|
|
530
|
+
const calculateProgress = (el, deltaY) => {
|
|
531
|
+
const windowHeight = window.innerHeight;
|
|
532
|
+
// Position when fully open
|
|
533
|
+
const modalTop = el.getBoundingClientRect().top;
|
|
534
|
+
/**
|
|
535
|
+
* The distance between the top of the modal and the bottom of the screen
|
|
536
|
+
* is the total distance the modal needs to travel to be fully closed.
|
|
537
|
+
*/
|
|
538
|
+
const totalDistance = windowHeight - modalTop;
|
|
539
|
+
/**
|
|
540
|
+
* The pull percentage is how far the user has swiped compared to the total
|
|
541
|
+
* distance needed to close the modal.
|
|
542
|
+
*/
|
|
543
|
+
const pullPercentage = deltaY / totalDistance;
|
|
544
|
+
/**
|
|
545
|
+
* The progress is the inverse of the pull percentage because
|
|
546
|
+
* when the user starts swiping up, the progress should be close to 1,
|
|
547
|
+
* and when the user has swiped all the way down, the progress should be
|
|
548
|
+
* close to 0.
|
|
549
|
+
*/
|
|
550
|
+
const progress = 1 - pullPercentage;
|
|
551
|
+
// Round to the nearest thousandth to avoid returning very small decimal
|
|
552
|
+
const roundedProgress = Math.round(progress * 1000) / 1000;
|
|
553
|
+
return Math.max(0, Math.min(1, roundedProgress));
|
|
554
|
+
};
|
|
502
555
|
|
|
503
556
|
const createSheetEnterAnimation = (opts) => {
|
|
504
557
|
const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
|
|
@@ -947,7 +1000,7 @@ const mdLeaveAnimation = (baseEl, opts) => {
|
|
|
947
1000
|
return baseAnimation;
|
|
948
1001
|
};
|
|
949
1002
|
|
|
950
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
|
|
1003
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
|
|
951
1004
|
// Defaults for the sheet swipe animation
|
|
952
1005
|
const defaultBackdrop = [
|
|
953
1006
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
@@ -1210,6 +1263,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1210
1263
|
baseEl.focus();
|
|
1211
1264
|
});
|
|
1212
1265
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
1266
|
+
onDragStart();
|
|
1213
1267
|
};
|
|
1214
1268
|
const onMove = (detail) => {
|
|
1215
1269
|
/**
|
|
@@ -1278,6 +1332,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1278
1332
|
: step;
|
|
1279
1333
|
offset = clamp(0.0001, processedStep, maxStep);
|
|
1280
1334
|
animation.progressStep(offset);
|
|
1335
|
+
const closest = calculateClosestBreakpoint(detail.velocityY, detail.deltaY);
|
|
1336
|
+
const eventDetail = {
|
|
1337
|
+
currentY: detail.currentY,
|
|
1338
|
+
deltaY: detail.deltaY,
|
|
1339
|
+
velocityY: detail.velocityY,
|
|
1340
|
+
progress: calculateProgress(detail.currentY),
|
|
1341
|
+
currentBreakpoint: closest,
|
|
1342
|
+
};
|
|
1343
|
+
onDragMove(eventDetail);
|
|
1281
1344
|
};
|
|
1282
1345
|
const onEnd = (detail) => {
|
|
1283
1346
|
/**
|
|
@@ -1296,16 +1359,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1296
1359
|
swapFooterPosition('stationary');
|
|
1297
1360
|
return;
|
|
1298
1361
|
}
|
|
1299
|
-
|
|
1300
|
-
* When the gesture releases, we need to determine
|
|
1301
|
-
* the closest breakpoint to snap to.
|
|
1302
|
-
*/
|
|
1303
|
-
const velocity = detail.velocityY;
|
|
1304
|
-
const threshold = (detail.deltaY + velocity * 350) / height;
|
|
1305
|
-
const diff = currentBreakpoint - threshold;
|
|
1306
|
-
const closest = breakpoints.reduce((a, b) => {
|
|
1307
|
-
return Math.abs(b - diff) < Math.abs(a - diff) ? b : a;
|
|
1308
|
-
});
|
|
1362
|
+
const closest = calculateClosestBreakpoint(detail.velocityY, detail.deltaY);
|
|
1309
1363
|
moveSheetToBreakpoint({
|
|
1310
1364
|
breakpoint: closest,
|
|
1311
1365
|
breakpointOffset: offset,
|
|
@@ -1316,6 +1370,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1316
1370
|
*/
|
|
1317
1371
|
animated: true,
|
|
1318
1372
|
});
|
|
1373
|
+
const eventDetail = {
|
|
1374
|
+
currentY: detail.currentY,
|
|
1375
|
+
deltaY: detail.deltaY,
|
|
1376
|
+
velocityY: detail.velocityY,
|
|
1377
|
+
progress: calculateProgress(detail.currentY),
|
|
1378
|
+
currentBreakpoint: closest,
|
|
1379
|
+
};
|
|
1380
|
+
onDragEnd(eventDetail);
|
|
1319
1381
|
};
|
|
1320
1382
|
const moveSheetToBreakpoint = (options) => {
|
|
1321
1383
|
const { breakpoint, canDismiss, breakpointOffset, animated } = options;
|
|
@@ -1455,6 +1517,94 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1455
1517
|
.progressEnd(1, 0, animated ? 500 : 0);
|
|
1456
1518
|
});
|
|
1457
1519
|
};
|
|
1520
|
+
/**
|
|
1521
|
+
* Calculates the closest breakpoint based on the current velocity and deltaY.
|
|
1522
|
+
* This determines where the sheet should snap to when the user releases the
|
|
1523
|
+
* gesture.
|
|
1524
|
+
*
|
|
1525
|
+
* @param velocityY The current velocity of the gesture in the Y direction.
|
|
1526
|
+
* @param deltaY The change in Y position since the gesture started.
|
|
1527
|
+
* @returns The closest breakpoint value.
|
|
1528
|
+
*/
|
|
1529
|
+
const calculateClosestBreakpoint = (velocityY, deltaY) => {
|
|
1530
|
+
const threshold = (deltaY + velocityY * 350) / height;
|
|
1531
|
+
const diff = currentBreakpoint - threshold;
|
|
1532
|
+
const closest = breakpoints.reduce((a, b) => {
|
|
1533
|
+
return Math.abs(b - diff) < Math.abs(a - diff) ? b : a;
|
|
1534
|
+
});
|
|
1535
|
+
return closest;
|
|
1536
|
+
};
|
|
1537
|
+
/**
|
|
1538
|
+
* Calculates the progress of the swipe gesture.
|
|
1539
|
+
*
|
|
1540
|
+
* The progress is a value between 0 and 1 that represents how far
|
|
1541
|
+
* the swipe has progressed towards closing the modal.
|
|
1542
|
+
*
|
|
1543
|
+
* A value closer to 1 means the modal is closer to being opened,
|
|
1544
|
+
* while a value closer to 0 means the modal is closer to being closed.
|
|
1545
|
+
*
|
|
1546
|
+
* @param currentY The current Y position of the gesture
|
|
1547
|
+
* @returns The progress of the sheet gesture
|
|
1548
|
+
*/
|
|
1549
|
+
const calculateProgress = (currentY) => {
|
|
1550
|
+
const minBreakpoint = breakpoints[0];
|
|
1551
|
+
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
1552
|
+
// Convert breakpoints to pixel Y coordinates
|
|
1553
|
+
/**
|
|
1554
|
+
* The lowest point the sheet can be dragged to aka the point at which
|
|
1555
|
+
* the sheet is fully closed.
|
|
1556
|
+
*/
|
|
1557
|
+
const maxY = convertBreakpointToY(minBreakpoint);
|
|
1558
|
+
/**
|
|
1559
|
+
* The highest point the sheet can be dragged to aka the point at which
|
|
1560
|
+
* the sheet is fully open.
|
|
1561
|
+
*/
|
|
1562
|
+
const minY = convertBreakpointToY(maxBreakpoint);
|
|
1563
|
+
// The total distance between the fully open and fully closed positions.
|
|
1564
|
+
const totalDistance = maxY - minY;
|
|
1565
|
+
// The distance from the current position to the fully closed position.
|
|
1566
|
+
const distanceFromBottom = maxY - currentY;
|
|
1567
|
+
/**
|
|
1568
|
+
* The progress represents how far the sheet is from the bottom relative
|
|
1569
|
+
* to the total distance. When the user starts swiping up, the progress
|
|
1570
|
+
* should be close to 1, and when the user has swiped all the way down,
|
|
1571
|
+
* the progress should be close to 0.
|
|
1572
|
+
*/
|
|
1573
|
+
const progress = distanceFromBottom / totalDistance;
|
|
1574
|
+
// Round to the nearest thousandth to avoid returning very small decimal
|
|
1575
|
+
const roundedProgress = Math.round(progress * 1000) / 1000;
|
|
1576
|
+
return Math.max(0, Math.min(1, roundedProgress));
|
|
1577
|
+
};
|
|
1578
|
+
/**
|
|
1579
|
+
* Converts a breakpoint value (0 to 1) into a pixel Y coordinate
|
|
1580
|
+
* on the screen.
|
|
1581
|
+
*
|
|
1582
|
+
* @param breakpoint The breakpoint value (e.g., 0.5 for half-open)
|
|
1583
|
+
* @returns The pixel Y coordinate on the screen
|
|
1584
|
+
*/
|
|
1585
|
+
const convertBreakpointToY = (breakpoint) => {
|
|
1586
|
+
const rect = baseEl.getBoundingClientRect();
|
|
1587
|
+
const modalHeight = rect.height;
|
|
1588
|
+
// The bottom of the screen.
|
|
1589
|
+
const viewportBottom = window.innerHeight;
|
|
1590
|
+
/**
|
|
1591
|
+
* The active height is how much of the modal is actually showing
|
|
1592
|
+
* on the screen for this specific breakpoint.
|
|
1593
|
+
*/
|
|
1594
|
+
const activeHeight = modalHeight * breakpoint;
|
|
1595
|
+
/**
|
|
1596
|
+
* To find the Y coordinate, start at the bottom of the screen
|
|
1597
|
+
* and move up by the active height of the modal.
|
|
1598
|
+
*
|
|
1599
|
+
* A breakpoint of 1.0 means the active height is the full modal height
|
|
1600
|
+
* (fully open). A breakpoint of 0.0 means the active height is 0
|
|
1601
|
+
* (fully closed).
|
|
1602
|
+
*
|
|
1603
|
+
* Since screen Y coordinates get smaller as you go up, we subtract the
|
|
1604
|
+
* active height from the viewport bottom.
|
|
1605
|
+
*/
|
|
1606
|
+
return viewportBottom - activeHeight;
|
|
1607
|
+
};
|
|
1458
1608
|
const gesture = createGesture({
|
|
1459
1609
|
el: wrapperEl,
|
|
1460
1610
|
gestureName: 'modalSheet',
|
|
@@ -1472,9 +1622,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1472
1622
|
};
|
|
1473
1623
|
};
|
|
1474
1624
|
|
|
1475
|
-
const modalIosCss =
|
|
1625
|
+
const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--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{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}";
|
|
1476
1626
|
|
|
1477
|
-
const modalMdCss =
|
|
1627
|
+
const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--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{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}";
|
|
1478
1628
|
|
|
1479
1629
|
const Modal = class {
|
|
1480
1630
|
constructor(hostRef) {
|
|
@@ -1489,6 +1639,9 @@ const Modal = class {
|
|
|
1489
1639
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
1490
1640
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
1491
1641
|
this.ionMount = createEvent(this, "ionMount", 7);
|
|
1642
|
+
this.ionDragStart = createEvent(this, "ionDragStart", 7);
|
|
1643
|
+
this.ionDragMove = createEvent(this, "ionDragMove", 7);
|
|
1644
|
+
this.ionDragEnd = createEvent(this, "ionDragEnd", 7);
|
|
1492
1645
|
this.lockController = createLockController();
|
|
1493
1646
|
this.triggerController = createTriggerController();
|
|
1494
1647
|
this.coreDelegate = CoreDelegate();
|
|
@@ -1956,32 +2109,7 @@ const Modal = class {
|
|
|
1956
2109
|
return;
|
|
1957
2110
|
}
|
|
1958
2111
|
const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
|
|
1959
|
-
this.gesture = createSwipeToCloseGesture(el, ani, statusBarStyle, () =>
|
|
1960
|
-
/**
|
|
1961
|
-
* While the gesture animation is finishing
|
|
1962
|
-
* it is possible for a user to tap the backdrop.
|
|
1963
|
-
* This would result in the dismiss animation
|
|
1964
|
-
* being played again. Typically this is avoided
|
|
1965
|
-
* by setting `presented = false` on the overlay
|
|
1966
|
-
* component; however, we cannot do that here as
|
|
1967
|
-
* that would prevent the element from being
|
|
1968
|
-
* removed from the DOM.
|
|
1969
|
-
*/
|
|
1970
|
-
this.gestureAnimationDismissing = true;
|
|
1971
|
-
/**
|
|
1972
|
-
* Reset the status bar style as the dismiss animation
|
|
1973
|
-
* starts otherwise the status bar will be the wrong
|
|
1974
|
-
* color for the duration of the dismiss animation.
|
|
1975
|
-
* The dismiss method does this as well, but
|
|
1976
|
-
* in this case it's only called once the animation
|
|
1977
|
-
* has finished.
|
|
1978
|
-
*/
|
|
1979
|
-
setCardStatusBarDefault(this.statusBarStyle);
|
|
1980
|
-
this.animation.onFinish(async () => {
|
|
1981
|
-
await this.dismiss(undefined, GESTURE);
|
|
1982
|
-
this.gestureAnimationDismissing = false;
|
|
1983
|
-
});
|
|
1984
|
-
});
|
|
2112
|
+
this.gesture = createSwipeToCloseGesture(el, ani, statusBarStyle, () => this.cardOnDismiss(), () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
1985
2113
|
this.gesture.enable(true);
|
|
1986
2114
|
}
|
|
1987
2115
|
initSheetGesture() {
|
|
@@ -2002,7 +2130,7 @@ const Modal = class {
|
|
|
2002
2130
|
this.currentBreakpoint = breakpoint;
|
|
2003
2131
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
2004
2132
|
}
|
|
2005
|
-
});
|
|
2133
|
+
}, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2006
2134
|
this.gesture = gesture;
|
|
2007
2135
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
2008
2136
|
this.gesture.enable(true);
|
|
@@ -2099,6 +2227,32 @@ const Modal = class {
|
|
|
2099
2227
|
this.gestureAnimationDismissing = false;
|
|
2100
2228
|
});
|
|
2101
2229
|
}
|
|
2230
|
+
cardOnDismiss() {
|
|
2231
|
+
/**
|
|
2232
|
+
* While the gesture animation is finishing
|
|
2233
|
+
* it is possible for a user to tap the backdrop.
|
|
2234
|
+
* This would result in the dismiss animation
|
|
2235
|
+
* being played again. Typically this is avoided
|
|
2236
|
+
* by setting `presented = false` on the overlay
|
|
2237
|
+
* component; however, we cannot do that here as
|
|
2238
|
+
* that would prevent the element from being
|
|
2239
|
+
* removed from the DOM.
|
|
2240
|
+
*/
|
|
2241
|
+
this.gestureAnimationDismissing = true;
|
|
2242
|
+
/**
|
|
2243
|
+
* Reset the status bar style as the dismiss animation
|
|
2244
|
+
* starts otherwise the status bar will be the wrong
|
|
2245
|
+
* color for the duration of the dismiss animation.
|
|
2246
|
+
* The dismiss method does this as well, but
|
|
2247
|
+
* in this case it's only called once the animation
|
|
2248
|
+
* has finished.
|
|
2249
|
+
*/
|
|
2250
|
+
setCardStatusBarDefault(this.statusBarStyle);
|
|
2251
|
+
this.animation.onFinish(async () => {
|
|
2252
|
+
await this.dismiss(undefined, GESTURE);
|
|
2253
|
+
this.gestureAnimationDismissing = false;
|
|
2254
|
+
});
|
|
2255
|
+
}
|
|
2102
2256
|
/**
|
|
2103
2257
|
* Dismiss the modal overlay after it has been presented.
|
|
2104
2258
|
* This is a no-op if the overlay has not been presented yet. If you want
|
|
@@ -2414,6 +2568,15 @@ const Modal = class {
|
|
|
2414
2568
|
(_a = this.parentRemovalObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
2415
2569
|
this.parentRemovalObserver = undefined;
|
|
2416
2570
|
}
|
|
2571
|
+
onDragStart() {
|
|
2572
|
+
this.ionDragStart.emit();
|
|
2573
|
+
}
|
|
2574
|
+
onDragMove(detail) {
|
|
2575
|
+
this.ionDragMove.emit(detail);
|
|
2576
|
+
}
|
|
2577
|
+
onDragEnd(detail) {
|
|
2578
|
+
this.ionDragEnd.emit(detail);
|
|
2579
|
+
}
|
|
2417
2580
|
render() {
|
|
2418
2581
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
2419
2582
|
const showHandle = handle !== false && isSheetModal;
|
|
@@ -2421,29 +2584,25 @@ const Modal = class {
|
|
|
2421
2584
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
2422
2585
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
2423
2586
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
2424
|
-
return (h(Host, Object.assign({ key: '
|
|
2587
|
+
return (h(Host, Object.assign({ key: 'bca3cbdb2ce8e5127d27eae7494c434aaeddaf88', "no-router": true,
|
|
2425
2588
|
// Allow the modal to be navigable when the handle is focusable
|
|
2426
2589
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
2427
2590
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
2428
|
-
}, 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: '
|
|
2591
|
+
}, 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: 'b1c4112123d84d8a9b9d455bcc17d884f99d9f28', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '080c8e6d37b311a1b5ad2655d99f18668abae211', class: "modal-shadow" }), h("div", Object.assign({ key: '8ba05e9520b1b5529bf0caeb766da5bf612d4d14',
|
|
2429
2592
|
/*
|
|
2430
2593
|
role and aria-modal must be used on the
|
|
2431
2594
|
same element. They must also be set inside the
|
|
2432
2595
|
shadow DOM otherwise ion-button will not be highlighted
|
|
2433
2596
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
2434
2597
|
*/
|
|
2435
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
2598
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '2d2d5d731f55755f32ebcbf557f97486dc6202a6', class: "modal-handle",
|
|
2436
2599
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
2437
|
-
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: '
|
|
2600
|
+
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: 'c717d19865dafba02e15db79bc0662c5d89e96fd', onSlotchange: this.onSlotChange }))));
|
|
2438
2601
|
}
|
|
2439
2602
|
get el() { return getElement(this); }
|
|
2440
2603
|
static get watchers() { return {
|
|
2441
|
-
"isOpen": [
|
|
2442
|
-
|
|
2443
|
-
}],
|
|
2444
|
-
"trigger": [{
|
|
2445
|
-
"triggerChanged": 0
|
|
2446
|
-
}]
|
|
2604
|
+
"isOpen": ["onIsOpenChange"],
|
|
2605
|
+
"trigger": ["triggerChanged"]
|
|
2447
2606
|
}; }
|
|
2448
2607
|
};
|
|
2449
2608
|
const LIFECYCLE_MAP = {
|
|
@@ -2453,8 +2612,8 @@ const LIFECYCLE_MAP = {
|
|
|
2453
2612
|
ionModalDidDismiss: 'ionViewDidLeave',
|
|
2454
2613
|
};
|
|
2455
2614
|
Modal.style = {
|
|
2456
|
-
ios: modalIosCss
|
|
2457
|
-
md: modalMdCss
|
|
2615
|
+
ios: modalIosCss,
|
|
2616
|
+
md: modalMdCss
|
|
2458
2617
|
};
|
|
2459
2618
|
|
|
2460
2619
|
export { Modal as ion_modal };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, e as config, f as printIonWarning, h, g as getElement, d as Host } from './index-
|
|
4
|
+
import { r as registerInstance, c as createEvent, e as config, f as printIonWarning, h, g as getElement, d as Host } from './index-C8IsBmNU.js';
|
|
5
5
|
import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
|
|
6
|
-
import { s as shallowEqualStringMap, l as assert } from './helpers-
|
|
7
|
-
import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-
|
|
8
|
-
import { b as getIonMode } from './ionic-global-
|
|
9
|
-
import { a as attachComponent } from './framework-delegate-
|
|
6
|
+
import { s as shallowEqualStringMap, l as assert } from './helpers-DEn3pfjm.js';
|
|
7
|
+
import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-r2D9DEro.js';
|
|
8
|
+
import { b as getIonMode } from './ionic-global-CDrldh-5.js';
|
|
9
|
+
import { a as attachComponent } from './framework-delegate-BYawdMXj.js';
|
|
10
10
|
|
|
11
11
|
const VIEW_STATE_NEW = 1;
|
|
12
12
|
const VIEW_STATE_ATTACHED = 2;
|
|
@@ -75,7 +75,7 @@ const convertToViews = (pages) => {
|
|
|
75
75
|
.filter((v) => v !== null);
|
|
76
76
|
};
|
|
77
77
|
|
|
78
|
-
const navCss =
|
|
78
|
+
const navCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;z-index:0}";
|
|
79
79
|
|
|
80
80
|
const Nav = class {
|
|
81
81
|
constructor(hostRef) {
|
|
@@ -129,7 +129,7 @@ const Nav = class {
|
|
|
129
129
|
// We want to set this flag before any watch callbacks are manually called
|
|
130
130
|
this.didLoad = true;
|
|
131
131
|
this.rootChanged();
|
|
132
|
-
this.gesture = (await import('./swipe-back-
|
|
132
|
+
this.gesture = (await import('./swipe-back-BKw2CAHc.js')).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
|
|
133
133
|
this.swipeGestureChanged();
|
|
134
134
|
}
|
|
135
135
|
connectedCallback() {
|
|
@@ -899,15 +899,11 @@ const Nav = class {
|
|
|
899
899
|
}
|
|
900
900
|
get el() { return getElement(this); }
|
|
901
901
|
static get watchers() { return {
|
|
902
|
-
"swipeGesture": [
|
|
903
|
-
|
|
904
|
-
}],
|
|
905
|
-
"root": [{
|
|
906
|
-
"rootChanged": 0
|
|
907
|
-
}]
|
|
902
|
+
"swipeGesture": ["swipeGestureChanged"],
|
|
903
|
+
"root": ["rootChanged"]
|
|
908
904
|
}; }
|
|
909
905
|
};
|
|
910
|
-
Nav.style = navCss
|
|
906
|
+
Nav.style = navCss;
|
|
911
907
|
|
|
912
908
|
const navLink = (el, routerDirection, component, componentProps, routerAnimation) => {
|
|
913
909
|
const nav = el.closest('ion-nav');
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, h, d as Host, g as getElement } from './index-
|
|
5
|
-
import { b as inheritAttributes } from './helpers-
|
|
4
|
+
import { r as registerInstance, h, d as Host, g as getElement } from './index-C8IsBmNU.js';
|
|
5
|
+
import { b as inheritAttributes } from './helpers-DEn3pfjm.js';
|
|
6
6
|
import { c as createColorClasses } from './theme-DiVJyqlX.js';
|
|
7
|
-
import { b as getIonMode } from './ionic-global-
|
|
7
|
+
import { b as getIonMode } from './ionic-global-CDrldh-5.js';
|
|
8
8
|
|
|
9
|
-
const pickerColumnOptionIosCss =
|
|
9
|
+
const pickerColumnOptionIosCss = ".picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}";
|
|
10
10
|
|
|
11
|
-
const pickerColumnOptionMdCss =
|
|
11
|
+
const pickerColumnOptionMdCss = ".picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active){color:var(--ion-color-base)}";
|
|
12
12
|
|
|
13
13
|
const PickerColumnOption = class {
|
|
14
14
|
constructor(hostRef) {
|
|
@@ -104,14 +104,12 @@ const PickerColumnOption = class {
|
|
|
104
104
|
}
|
|
105
105
|
get el() { return getElement(this); }
|
|
106
106
|
static get watchers() { return {
|
|
107
|
-
"aria-label": [
|
|
108
|
-
"onAriaLabelChange": 0
|
|
109
|
-
}]
|
|
107
|
+
"aria-label": ["onAriaLabelChange"]
|
|
110
108
|
}; }
|
|
111
109
|
};
|
|
112
110
|
PickerColumnOption.style = {
|
|
113
|
-
ios: pickerColumnOptionIosCss
|
|
114
|
-
md: pickerColumnOptionMdCss
|
|
111
|
+
ios: pickerColumnOptionIosCss,
|
|
112
|
+
md: pickerColumnOptionMdCss
|
|
115
113
|
};
|
|
116
114
|
|
|
117
115
|
export { PickerColumnOption as ion_picker_column_option };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, h, d as Host, g as getElement } from './index-
|
|
4
|
+
import { r as registerInstance, c as createEvent, h, d as Host, g as getElement } from './index-C8IsBmNU.js';
|
|
5
5
|
import { d as doc } from './index-ZjP4CjeZ.js';
|
|
6
|
-
import { r as raf, g as getElementRoot } from './helpers-
|
|
6
|
+
import { r as raf, g as getElementRoot } from './helpers-DEn3pfjm.js';
|
|
7
7
|
import { b as hapticSelectionStart, a as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic-DzAMWJuk.js';
|
|
8
|
-
import { a as isPlatform, b as getIonMode } from './ionic-global-
|
|
8
|
+
import { a as isPlatform, b as getIonMode } from './ionic-global-CDrldh-5.js';
|
|
9
9
|
import { c as createColorClasses } from './theme-DiVJyqlX.js';
|
|
10
10
|
import './capacitor-CFERIeaU.js';
|
|
11
11
|
|
|
12
|
-
const pickerColumnCss =
|
|
12
|
+
const pickerColumnCss = ":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";
|
|
13
13
|
|
|
14
14
|
const PickerColumn = class {
|
|
15
15
|
constructor(hostRef) {
|
|
@@ -559,15 +559,11 @@ const PickerColumn = class {
|
|
|
559
559
|
}
|
|
560
560
|
get el() { return getElement(this); }
|
|
561
561
|
static get watchers() { return {
|
|
562
|
-
"aria-label": [
|
|
563
|
-
|
|
564
|
-
}],
|
|
565
|
-
"value": [{
|
|
566
|
-
"valueChange": 0
|
|
567
|
-
}]
|
|
562
|
+
"aria-label": ["ariaLabelChanged"],
|
|
563
|
+
"value": ["valueChange"]
|
|
568
564
|
}; }
|
|
569
565
|
};
|
|
570
566
|
const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
|
|
571
|
-
PickerColumn.style = pickerColumnCss
|
|
567
|
+
PickerColumn.style = pickerColumnCss;
|
|
572
568
|
|
|
573
569
|
export { PickerColumn as ion_picker_column };
|