@ionic/core 8.7.18 → 8.7.19-dev.11772655618.1af0949f
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/index.d.ts +2 -0
- package/components/index.js +1 -114
- package/components/ion-accordion-group.js +1 -268
- package/components/ion-accordion.js +1 -456
- package/components/ion-action-sheet.js +1 -6
- package/components/ion-alert.js +1 -6
- package/components/ion-app.js +1 -132
- package/components/ion-avatar.js +1 -41
- package/components/ion-back-button.js +1 -130
- 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 -383
- package/components/ion-datetime.js +1 -2047
- package/components/ion-fab-button.js +1 -151
- package/components/ion-fab-list.js +1 -73
- package/components/ion-fab.js +1 -101
- package/components/ion-footer.js +1 -179
- 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 -133
- package/components/ion-infinite-scroll-content.js +1 -69
- package/components/ion-infinite-scroll.js +1 -236
- package/components/ion-input-otp.js +1 -682
- package/components/ion-input-password-toggle.js +1 -128
- package/components/ion-input.js +1 -646
- 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 -457
- 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 -343
- package/components/ion-menu-button.js +1 -109
- package/components/ion-menu-toggle.js +1 -64
- package/components/ion-menu.js +1 -741
- package/components/ion-modal.js +1 -6
- package/components/ion-nav-link.js +1 -64
- package/components/ion-nav.js +1 -951
- 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 -342
- package/components/ion-picker.js +1 -6
- package/components/ion-popover.js +1 -6
- package/components/ion-progress-bar.js +1 -100
- package/components/ion-radio-group.js +1 -6
- package/components/ion-radio.js +1 -6
- package/components/ion-range.js +1 -844
- package/components/ion-refresher-content.js +1 -88
- package/components/ion-refresher.js +1 -750
- 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 -226
- package/components/ion-router.js +1 -840
- package/components/ion-row.js +1 -36
- package/components/ion-searchbar.js +1 -540
- package/components/ion-segment-button.js +1 -173
- package/components/ion-segment-content.js +1 -35
- package/components/ion-segment-view.js +1 -142
- 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 -1035
- package/components/ion-skeleton-text.js +1 -64
- package/components/ion-spinner.js +1 -6
- package/components/ion-split-pane.js +1 -190
- package/components/ion-tab-bar.js +1 -135
- package/components/ion-tab-button.js +1 -127
- package/components/ion-tab.js +1 -82
- package/components/ion-tabs.js +1 -204
- 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 -938
- package/components/ion-toggle.js +1 -360
- package/components/ion-toolbar.js +1 -6
- package/components/p-1KVKSLu5.js +4 -0
- package/{dist/ionic/p-DUt5fQmA.js → components/p-9VcRUwdB.js} +1 -1
- package/components/p-ApmKVjaE.js +4 -0
- package/components/p-B-hirT0v.js +1 -35
- package/components/p-B6FQ0cKR.js +4 -0
- package/components/p-B6HaBl3o.js +4 -0
- package/components/p-B8b1Ukl9.js +4 -0
- package/components/p-BFxT89Wl.js +4 -0
- package/components/p-BJoMtgfR.js +4 -0
- package/components/p-BNAG-aVv.js +4 -0
- package/{dist/ionic/p-D-eFFUkA.js → components/p-BR3tZJmu.js} +1 -1
- package/{dist/ionic/p-D0dMcSkw.js → components/p-BS1TtEiJ.js} +1 -1
- package/components/p-BSB38Tek.js +4 -0
- package/components/p-BTEOs1at.js +1 -192
- package/components/p-BTeL5HCK.js +4 -0
- package/{dist/ionic/p-DbQ5QkTP.js → components/p-BUbsoBOV.js} +1 -1
- package/components/p-BVnB3eEn.js +4 -0
- package/components/p-BYDc3hSE.js +4 -0
- package/components/p-BagjAGC0.js +4 -0
- package/components/p-BegtE7nr.js +4 -0
- package/components/p-BgwEQWW6.js +4 -0
- package/components/p-Bk2zuNWT.js +4 -0
- package/components/p-BmVRXR1y.js +1 -72
- package/components/p-Bum_LjMh.js +4 -0
- package/components/p-BxwWvu-b.js +4 -0
- package/components/p-C4jPsTQa.js +4 -0
- package/components/p-C53feagD.js +1 -15
- package/{dist/ionic/p-CwgG81ZD.js → components/p-C59ryAuS.js} +1 -1
- package/components/p-C7AoMl7c.js +4 -0
- package/components/p-CBzELu-H.js +4 -0
- package/components/p-CDfQnFrd.js +4 -0
- package/components/p-CH0NYjKq.js +4 -0
- package/components/p-CIGNaXM1.js +1 -10
- package/components/p-CO7fmmxt.js +1 -29
- package/components/p-CU1SSH8_.js +4 -0
- package/components/p-CVF7ukTk.js +4 -0
- package/components/p-CgfaEEem.js +4 -0
- package/components/p-CgqKJg96.js +4 -0
- package/components/p-Cl0B-RWe.js +1 -452
- package/components/p-CneGxKsZ.js +4 -0
- package/components/p-CoA-aqGF.js +4 -0
- package/{dist/ionic/p-DdR6rpbR.js → components/p-Cq8cQ0NL.js} +1 -1
- package/components/p-Csw8xuz4.js +4 -0
- package/components/p-CtWGkNnJ.js +1 -162
- package/components/p-Cwv-vmkN.js +4 -0
- package/{dist/ionic/p-BYEqWnSg.js → components/p-Cy5XSfIk.js} +1 -1
- package/components/p-Cyxa_4PV.js +4 -0
- package/components/p-Cz5nLPGT.js +4 -0
- package/components/p-D13Eaw-8.js +1 -76
- package/components/p-D6NJwNJN.js +4 -0
- package/components/p-D6Ynv7Xh.js +1 -141
- package/components/p-DHsZWn1l.js +4 -0
- package/components/p-DJMZehmW.js +4 -0
- package/components/p-DJztqcrH.js +1 -14
- package/components/p-DYdpXONG.js +4 -0
- package/components/p-DgbT0exM.js +4 -0
- package/components/p-DiVJyqlX.js +1 -40
- package/components/p-Dtdm8lKC.js +1 -44
- package/components/p-YLXPWgVj.js +4 -0
- package/components/p-ZjP4CjeZ.js +1 -4
- package/{dist/ionic/p-DCv9sLH2.js → components/p-ak_d-z48.js} +1 -1
- package/components/p-cyNmxje6.js +1 -155
- package/components/p-fpbh6w3f.js +4 -0
- package/components/p-hHmYLOfE.js +1 -87
- package/components/p-kvaDs24J.js +4 -0
- package/components/p-vEbVo2hO.js +4 -0
- 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-CuMghsQ-.js → input-shims-Dl5cnc_e.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 +48 -43
- 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 +75 -46
- 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 +19 -17
- package/dist/cjs/ion-item_8.cjs.entry.js +48 -42
- 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 +237 -59
- 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 +205 -57
- 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 +13 -8
- package/dist/cjs/ion-segment_2.cjs.entry.js +26 -16
- package/dist/cjs/ion-select-modal.cjs.entry.js +17 -13
- package/dist/cjs/ion-select_3.cjs.entry.js +33 -24
- 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 +20 -14
- 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 +12 -7
- package/dist/collection/components/datetime/datetime.js +43 -22
- 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 +10 -5
- package/dist/collection/components/item-divider/item-divider.js +7 -3
- package/dist/collection/components/item-option/item-option.js +6 -3
- 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 +6 -3
- 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 +120 -12
- package/dist/collection/components/modal/gestures/swipe-to-close.js +54 -1
- package/dist/collection/components/modal/modal.js +127 -45
- 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 +214 -53
- 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.ios.css +2 -1
- package/dist/collection/components/segment-view/segment-view.js +30 -4
- package/dist/collection/components/segment-view/segment-view.md.css +2 -1
- package/dist/collection/components/select/select.js +17 -8
- package/dist/collection/components/select-modal/select-modal.js +27 -2
- 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 +10 -7
- 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 +1186 -389
- 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-D6H3ZaWt.js → input-shims-AaDhOpKN.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 +48 -43
- 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 +75 -46
- 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 +19 -17
- package/dist/esm/ion-item_8.entry.js +48 -42
- 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 +237 -59
- 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 +205 -57
- 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 +13 -8
- package/dist/esm/ion-segment_2.entry.js +26 -16
- package/dist/esm/ion-select-modal.entry.js +17 -13
- package/dist/esm/ion-select_3.entry.js +33 -24
- 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 +20 -14
- 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 +117 -109
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-031b76f7.entry.js +4 -0
- package/dist/ionic/p-045a6a42.entry.js +4 -0
- package/dist/ionic/p-07506134.entry.js +4 -0
- package/dist/ionic/p-084c25b2.entry.js +4 -0
- package/dist/ionic/p-0d8b5c38.entry.js +4 -0
- package/dist/ionic/p-16813ce7.entry.js +4 -0
- package/dist/ionic/p-16b65553.entry.js +4 -0
- package/dist/ionic/p-1b02923f.entry.js +4 -0
- package/dist/ionic/{p-5c8f7253.entry.js → p-1b169fb6.entry.js} +1 -1
- package/dist/ionic/{p-915b3e3d.entry.js → p-23fac490.entry.js} +1 -1
- package/dist/ionic/{p-b8551510.entry.js → p-294f4bb5.entry.js} +1 -1
- package/dist/ionic/p-2a68388b.entry.js +4 -0
- package/dist/ionic/p-2f5a8140.entry.js +4 -0
- 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-4819b469.entry.js +4 -0
- package/dist/ionic/p-4dd5e8e0.entry.js +4 -0
- package/dist/ionic/p-51c11c47.entry.js +4 -0
- package/dist/ionic/p-53f750a5.entry.js +4 -0
- package/dist/ionic/{p-7cad388a.entry.js → p-6af16209.entry.js} +1 -1
- package/dist/ionic/{p-7f98e710.entry.js → p-6b701daa.entry.js} +1 -1
- package/dist/ionic/p-6b97f2a3.entry.js +4 -0
- package/dist/ionic/p-71e322f7.entry.js +4 -0
- package/dist/ionic/p-7620be24.entry.js +4 -0
- package/dist/ionic/p-771b27a5.entry.js +4 -0
- package/dist/ionic/{p-906bb44d.entry.js → p-7ca71c83.entry.js} +1 -1
- package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
- package/dist/ionic/p-96a2e768.entry.js +4 -0
- package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
- package/dist/ionic/p-9cbc6f1f.entry.js +4 -0
- package/dist/ionic/p-9cdbabbb.entry.js +4 -0
- package/dist/ionic/p-9eac4eb1.entry.js +4 -0
- package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
- package/dist/ionic/p-B8xlpH8p.js +4 -0
- 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-BvFYtOdE.js +4 -0
- package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
- package/dist/ionic/p-C0JvVFMv.js +4 -0
- 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-MUoJJJwd.js → p-CYvM5g3q.js} +1 -1
- package/dist/ionic/p-CmFz1Mjc.js +4 -0
- 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-DTPR1Wpn.js +4 -0
- package/dist/ionic/p-DjriolRs.js +4 -0
- package/dist/ionic/p-DtVZDHlS.js +4 -0
- package/dist/ionic/p-IGIE5vDm.js +5 -0
- package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
- package/dist/ionic/p-a805674e.entry.js +4 -0
- package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
- package/dist/ionic/p-aa47f46e.entry.js +4 -0
- package/dist/ionic/{p-2668188b.entry.js → p-b325a113.entry.js} +1 -1
- package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
- package/dist/ionic/p-b6e0ff03.entry.js +4 -0
- package/dist/ionic/{p-6f37536a.entry.js → p-bcaa827e.entry.js} +1 -1
- package/dist/ionic/{p-fb0271ae.entry.js → p-c3cce9d8.entry.js} +1 -1
- package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
- package/dist/ionic/p-d4e8b473.entry.js +4 -0
- package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
- package/dist/ionic/p-e6c5f060.entry.js +4 -0
- package/dist/ionic/{p-652318c3.entry.js → p-e6cedcd7.entry.js} +1 -1
- package/dist/ionic/{p-fbb00634.entry.js → p-e863ffe8.entry.js} +1 -1
- package/dist/ionic/{p-0ca0fe9c.entry.js → p-f2deaceb.entry.js} +1 -1
- package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
- package/dist/ionic/{p-bce86e56.entry.js → p-f8186550.entry.js} +1 -1
- package/dist/ionic/p-fdbc90d4.entry.js +4 -0
- package/dist/ionic/p-gbVXD275.js +4 -0
- package/dist/ionic/p-hNN3VvaC.js +4 -0
- package/dist/types/components/datetime/datetime.d.ts +10 -0
- package/dist/types/components/header/header.utils.d.ts +2 -1
- package/dist/types/components/item/item.d.ts +2 -0
- package/dist/types/components/item-divider/item-divider.d.ts +3 -0
- package/dist/types/components/item-option/item-option.d.ts +2 -0
- package/dist/types/components/list-header/list-header.d.ts +2 -0
- 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 +25 -0
- package/dist/types/components/modal/modal.d.ts +22 -1
- package/dist/types/components/range/range-interface.d.ts +1 -0
- package/dist/types/components/range/range.d.ts +44 -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/segment-view/segment-view.d.ts +4 -0
- package/dist/types/components/select/select.d.ts +3 -0
- package/dist/types/components/select-modal/select-modal.d.ts +4 -0
- package/dist/types/components.d.ts +964 -191
- package/dist/types/interface.d.ts +2 -2
- 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 +5632 -1421
- package/hydrate/index.mjs +5631 -1422
- package/package.json +2 -2
- package/components/p-B25GjpND.js +0 -71
- package/components/p-BANeLH_G.js +0 -290
- package/components/p-BBFQmhcD.js +0 -59
- package/components/p-BC-awmYt.js +0 -306
- package/components/p-BHbOsu99.js +0 -501
- package/components/p-BTlwXR9e.js +0 -73
- package/components/p-BcazQttQ.js +0 -612
- package/components/p-BdGshsIJ.js +0 -226
- package/components/p-BfS7vSpC.js +0 -147
- package/components/p-BhRFCLuX.js +0 -675
- package/components/p-Bhnhnzjz.js +0 -75
- package/components/p-BmcqD0EN.js +0 -153
- package/components/p-Boi6hecl.js +0 -115
- package/components/p-Bt_moUyl.js +0 -232
- package/components/p-Bxl5etF4.js +0 -146
- package/components/p-ByjmWt3s.js +0 -139
- package/components/p-C04oPyjT.js +0 -54
- package/components/p-C6dkQWq2.js +0 -1626
- package/components/p-CFZWrvIQ.js +0 -194
- package/components/p-CIJwkzL6.js +0 -195
- package/components/p-CL12ApCQ.js +0 -820
- package/components/p-CXJR56Oq.js +0 -564
- package/components/p-Cdm3dKWf.js +0 -108
- package/components/p-CslsoGzv.js +0 -192
- package/components/p-Cyd00tgZ.js +0 -167
- package/components/p-CzAJ3ArC.js +0 -380
- package/components/p-CzW34QBh.js +0 -12
- package/components/p-D0zXRwcr.js +0 -196
- package/components/p-D5hF6rwn.js +0 -339
- package/components/p-D8eD2iBA.js +0 -67
- package/components/p-DGOrLIyS.js +0 -481
- package/components/p-DK2Bn1Mc.js +0 -305
- package/components/p-DKRQWlK2.js +0 -598
- package/components/p-DNDUsygf.js +0 -128
- package/components/p-DTWZF6wg.js +0 -418
- package/components/p-DWoUQeZ3.js +0 -3012
- package/components/p-DX0w75a9.js +0 -420
- package/components/p-Dt8zaCLQ.js +0 -92
- package/components/p-DyFBFrV7.js +0 -264
- package/components/p-DyHPCMyn.js +0 -39
- package/components/p-LgLeKTkH.js +0 -112
- package/components/p-NhiRFRn9.js +0 -50
- package/components/p-OuiHmXO5.js +0 -646
- package/components/p-Wro9IPHE.js +0 -459
- package/components/p-aIWC4ZEV.js +0 -305
- package/components/p-c-XJ9XhZ.js +0 -915
- package/components/p-fVuFT3Wd.js +0 -78
- package/components/p-iyo0Toaz.js +0 -2822
- package/components/p-l_lso3Zl.js +0 -140
- package/components/p-mQp4lwQD.js +0 -1638
- package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
- package/dist/esm/app-globals-BDSf8fOA.js +0 -8
- package/dist/ionic/p-11518b31.entry.js +0 -4
- package/dist/ionic/p-221a3d8c.entry.js +0 -4
- package/dist/ionic/p-2ac254dc.entry.js +0 -4
- package/dist/ionic/p-2bd1ea35.entry.js +0 -4
- package/dist/ionic/p-30333874.entry.js +0 -4
- package/dist/ionic/p-31db96da.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-363d1209.entry.js +0 -4
- package/dist/ionic/p-46a38cfd.entry.js +0 -4
- package/dist/ionic/p-4eec1a5e.entry.js +0 -4
- package/dist/ionic/p-530fcd71.entry.js +0 -4
- package/dist/ionic/p-5d6fb6e3.entry.js +0 -4
- package/dist/ionic/p-66fbe052.entry.js +0 -4
- package/dist/ionic/p-7babec72.entry.js +0 -4
- package/dist/ionic/p-82d5bb3d.entry.js +0 -4
- package/dist/ionic/p-97eb0812.entry.js +0 -4
- package/dist/ionic/p-9b6d46f2.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-DZRJwG4S.js +0 -4
- package/dist/ionic/p-a4a9f5ae.entry.js +0 -4
- package/dist/ionic/p-b0ebf9f8.entry.js +0 -4
- package/dist/ionic/p-be263062.entry.js +0 -4
- package/dist/ionic/p-c175d792.entry.js +0 -4
- package/dist/ionic/p-cc2a9936.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-e4c57008.entry.js +0 -4
- package/dist/ionic/p-e5d6d0f0.entry.js +0 -4
- package/dist/ionic/p-f1dfee25.entry.js +0 -4
- package/dist/ionic/p-f9f7b9db.entry.js +0 -4
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, e as config, j as printIonError, h, d as Host, g as getElement } from './index-
|
|
4
|
+
import { r as registerInstance, c as createEvent, e as config, j as printIonError, h, d as Host, g as getElement } from './index-IGIE5vDm.js';
|
|
5
5
|
import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
|
|
6
|
-
import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-
|
|
6
|
+
import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-F8GHPo-e.js';
|
|
7
7
|
import { G as GESTURE_CONTROLLER } from './gesture-controller-BTEOs1at.js';
|
|
8
|
-
import { shouldUseCloseWatcher } from './hardware-back-button-
|
|
9
|
-
import { o as isEndSide, i as inheritAriaAttributes, l as assert, e as clamp } from './helpers-
|
|
10
|
-
import { m as menuController } from './index-
|
|
11
|
-
import { b as getIonMode, a as isPlatform } from './ionic-global-
|
|
8
|
+
import { shouldUseCloseWatcher } from './hardware-back-button-CTe4XmL7.js';
|
|
9
|
+
import { o as isEndSide, i as inheritAriaAttributes, l as assert, e as clamp } from './helpers-Tl8jw6S2.js';
|
|
10
|
+
import { m as menuController } from './index-B2KwgBLx.js';
|
|
11
|
+
import { b as getIonMode, a as isPlatform } from './ionic-global-DfbeLwcV.js';
|
|
12
12
|
import { h as hostContext, c as createColorClasses } from './theme-DiVJyqlX.js';
|
|
13
13
|
import { u as menuOutline, v as menuSharp } from './index-DV3sJJW8.js';
|
|
14
14
|
import './index-ZjP4CjeZ.js';
|
|
15
|
-
import './framework-delegate-
|
|
16
|
-
import './animation-
|
|
15
|
+
import './framework-delegate-CyxE1S_P.js';
|
|
16
|
+
import './animation-CnGMT4ji.js';
|
|
17
17
|
|
|
18
|
-
const menuIosCss =
|
|
18
|
+
const menuIosCss = () => `:host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}`;
|
|
19
19
|
|
|
20
|
-
const menuMdCss =
|
|
20
|
+
const menuMdCss = () => `:host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}`;
|
|
21
21
|
|
|
22
22
|
const iosEasing = 'cubic-bezier(0.32,0.72,0,1)';
|
|
23
23
|
const mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';
|
|
@@ -673,10 +673,18 @@ const Menu = class {
|
|
|
673
673
|
}
|
|
674
674
|
get el() { return getElement(this); }
|
|
675
675
|
static get watchers() { return {
|
|
676
|
-
"type": [
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
"
|
|
676
|
+
"type": [{
|
|
677
|
+
"typeChanged": 0
|
|
678
|
+
}],
|
|
679
|
+
"disabled": [{
|
|
680
|
+
"disabledChanged": 0
|
|
681
|
+
}],
|
|
682
|
+
"side": [{
|
|
683
|
+
"sideChanged": 0
|
|
684
|
+
}],
|
|
685
|
+
"swipeGesture": [{
|
|
686
|
+
"swipeGestureChanged": 0
|
|
687
|
+
}]
|
|
680
688
|
}; }
|
|
681
689
|
};
|
|
682
690
|
const computeDelta = (deltaX, isOpen, isEndSide) => {
|
|
@@ -694,8 +702,8 @@ const SHOW_MENU = 'show-menu';
|
|
|
694
702
|
const SHOW_BACKDROP = 'show-backdrop';
|
|
695
703
|
const MENU_CONTENT_OPEN = 'menu-content-open';
|
|
696
704
|
Menu.style = {
|
|
697
|
-
ios: menuIosCss,
|
|
698
|
-
md: menuMdCss
|
|
705
|
+
ios: menuIosCss(),
|
|
706
|
+
md: menuMdCss()
|
|
699
707
|
};
|
|
700
708
|
|
|
701
709
|
// Given a menu, return whether or not the menu toggle should be visible
|
|
@@ -704,9 +712,9 @@ const updateVisibility = async (menu) => {
|
|
|
704
712
|
return !!(menuEl && (await menuEl.isActive()));
|
|
705
713
|
};
|
|
706
714
|
|
|
707
|
-
const menuButtonIosCss =
|
|
715
|
+
const menuButtonIosCss = () => `:host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #0054e9);--padding-start:5px;--padding-end:5px;min-height:32px;font-size:clamp(31px, 1.9375rem, 38.13px)}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}`;
|
|
708
716
|
|
|
709
|
-
const menuButtonMdCss =
|
|
717
|
+
const menuButtonMdCss = () => `:host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:.04;--border-radius:50%;--color:initial;--padding-start:8px;--padding-end:8px;width:3rem;height:3rem;font-size:1.5rem}:host(.ion-color.ion-focused)::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}`;
|
|
710
718
|
|
|
711
719
|
const MenuButton = class {
|
|
712
720
|
constructor(hostRef) {
|
|
@@ -761,11 +769,11 @@ const MenuButton = class {
|
|
|
761
769
|
get el() { return getElement(this); }
|
|
762
770
|
};
|
|
763
771
|
MenuButton.style = {
|
|
764
|
-
ios: menuButtonIosCss,
|
|
765
|
-
md: menuButtonMdCss
|
|
772
|
+
ios: menuButtonIosCss(),
|
|
773
|
+
md: menuButtonMdCss()
|
|
766
774
|
};
|
|
767
775
|
|
|
768
|
-
const menuToggleCss =
|
|
776
|
+
const menuToggleCss = () => `:host(.menu-toggle-hidden){display:none}`;
|
|
769
777
|
|
|
770
778
|
const MenuToggle = class {
|
|
771
779
|
constructor(hostRef) {
|
|
@@ -797,6 +805,6 @@ const MenuToggle = class {
|
|
|
797
805
|
} }, h("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
|
|
798
806
|
}
|
|
799
807
|
};
|
|
800
|
-
MenuToggle.style = menuToggleCss;
|
|
808
|
+
MenuToggle.style = menuToggleCss();
|
|
801
809
|
|
|
802
810
|
export { Menu as ion_menu, MenuButton as ion_menu_button, MenuToggle as ion_menu_toggle };
|
|
@@ -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-IGIE5vDm.js';
|
|
5
|
+
import { f as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, a as findIonContent, p as printIonContentErrorMsg } from './index-hW6eNZ3o.js';
|
|
6
|
+
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-CyxE1S_P.js';
|
|
7
|
+
import { e as clamp, g as getElementRoot, r as raf, b as inheritAttributes, h as hasLazyBuild } from './helpers-Tl8jw6S2.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-F8GHPo-e.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-B-hkiOUh.js';
|
|
13
|
+
import { b as getIonMode } from './ionic-global-DfbeLwcV.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-CnGMT4ji.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-CTe4XmL7.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,8 +1332,25 @@ 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 snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
|
|
1336
|
+
const eventDetail = {
|
|
1337
|
+
currentY: detail.currentY,
|
|
1338
|
+
deltaY: detail.deltaY,
|
|
1339
|
+
velocityY: detail.velocityY,
|
|
1340
|
+
progress: calculateProgress(detail.currentY),
|
|
1341
|
+
snapBreakpoint: snapBreakpoint,
|
|
1342
|
+
};
|
|
1343
|
+
onDragMove(eventDetail);
|
|
1281
1344
|
};
|
|
1282
1345
|
const onEnd = (detail) => {
|
|
1346
|
+
const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
|
|
1347
|
+
const eventDetail = {
|
|
1348
|
+
currentY: detail.currentY,
|
|
1349
|
+
deltaY: detail.deltaY,
|
|
1350
|
+
velocityY: detail.velocityY,
|
|
1351
|
+
progress: calculateProgress(detail.currentY),
|
|
1352
|
+
snapBreakpoint,
|
|
1353
|
+
};
|
|
1283
1354
|
/**
|
|
1284
1355
|
* If expandToScroll is disabled, we should not allow the moveSheetToBreakpoint
|
|
1285
1356
|
* function to be called if the user is trying to swipe content upwards and the content
|
|
@@ -1294,20 +1365,11 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1294
1365
|
* swap to moving on drag and if we don't swap back here then the footer will get stuck.
|
|
1295
1366
|
*/
|
|
1296
1367
|
swapFooterPosition('stationary');
|
|
1368
|
+
onDragEnd(eventDetail);
|
|
1297
1369
|
return;
|
|
1298
1370
|
}
|
|
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
|
-
});
|
|
1309
1371
|
moveSheetToBreakpoint({
|
|
1310
|
-
breakpoint:
|
|
1372
|
+
breakpoint: snapBreakpoint,
|
|
1311
1373
|
breakpointOffset: offset,
|
|
1312
1374
|
canDismiss: canDismissBlocksGesture,
|
|
1313
1375
|
/**
|
|
@@ -1316,6 +1378,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1316
1378
|
*/
|
|
1317
1379
|
animated: true,
|
|
1318
1380
|
});
|
|
1381
|
+
onDragEnd(eventDetail);
|
|
1319
1382
|
};
|
|
1320
1383
|
const moveSheetToBreakpoint = (options) => {
|
|
1321
1384
|
const { breakpoint, canDismiss, breakpointOffset, animated } = options;
|
|
@@ -1455,6 +1518,104 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1455
1518
|
.progressEnd(1, 0, animated ? 500 : 0);
|
|
1456
1519
|
});
|
|
1457
1520
|
};
|
|
1521
|
+
/**
|
|
1522
|
+
* Calculates the breakpoint based on the current deltaY.
|
|
1523
|
+
* This determines where the sheet should snap to when the user releases the
|
|
1524
|
+
* gesture.
|
|
1525
|
+
*
|
|
1526
|
+
* @param deltaY The change in Y position since the gesture started.
|
|
1527
|
+
* @returns The snap breakpoint value.
|
|
1528
|
+
*/
|
|
1529
|
+
const calculateSnapBreakpoint = (deltaY) => {
|
|
1530
|
+
/**
|
|
1531
|
+
* Calculates the real-time vertical position of the modal.
|
|
1532
|
+
* We combine the wrapper's current bounding box position with the
|
|
1533
|
+
* gesture's deltaY to account for the physical movement during the drag.
|
|
1534
|
+
*/
|
|
1535
|
+
const currentY = wrapperEl.getBoundingClientRect().top + deltaY;
|
|
1536
|
+
/**
|
|
1537
|
+
* Convert that pixel position back into a 0 to 1 progress value.
|
|
1538
|
+
*/
|
|
1539
|
+
const currentProgress = calculateProgress(currentY);
|
|
1540
|
+
/**
|
|
1541
|
+
* Find and return the defined breakpoint that is closest to the
|
|
1542
|
+
* current progress.
|
|
1543
|
+
*/
|
|
1544
|
+
const snapBreakpoint = breakpoints.reduce((a, b) => {
|
|
1545
|
+
return Math.abs(b - currentProgress) < Math.abs(a - currentProgress) ? b : a;
|
|
1546
|
+
});
|
|
1547
|
+
return snapBreakpoint;
|
|
1548
|
+
};
|
|
1549
|
+
/**
|
|
1550
|
+
* Calculates the progress of the swipe gesture.
|
|
1551
|
+
*
|
|
1552
|
+
* The progress is a value between 0 and 1 that represents how far
|
|
1553
|
+
* the swipe has progressed towards closing the modal.
|
|
1554
|
+
*
|
|
1555
|
+
* A value closer to 1 means the modal is closer to being opened,
|
|
1556
|
+
* while a value closer to 0 means the modal is closer to being closed.
|
|
1557
|
+
*
|
|
1558
|
+
* @param currentY The current Y position of the gesture
|
|
1559
|
+
* @returns The progress of the sheet gesture
|
|
1560
|
+
*/
|
|
1561
|
+
const calculateProgress = (currentY) => {
|
|
1562
|
+
const minBreakpoint = breakpoints[0];
|
|
1563
|
+
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
1564
|
+
/**
|
|
1565
|
+
* The lowest point the sheet can be dragged to aka the point at which
|
|
1566
|
+
* the sheet is fully closed.
|
|
1567
|
+
*/
|
|
1568
|
+
const maxY = convertBreakpointToY(minBreakpoint);
|
|
1569
|
+
/**
|
|
1570
|
+
* The highest point the sheet can be dragged to aka the point at which
|
|
1571
|
+
* the sheet is fully open.
|
|
1572
|
+
*/
|
|
1573
|
+
const minY = convertBreakpointToY(maxBreakpoint);
|
|
1574
|
+
// The total distance between the fully open and fully closed positions.
|
|
1575
|
+
const totalDistance = maxY - minY;
|
|
1576
|
+
// The distance from the current position to the fully closed position.
|
|
1577
|
+
const distanceFromBottom = maxY - currentY;
|
|
1578
|
+
/**
|
|
1579
|
+
* The progress represents how far the sheet is from the bottom relative
|
|
1580
|
+
* to the total distance. When the user starts swiping up, the progress
|
|
1581
|
+
* should be close to 1, and when the user has swiped all the way down,
|
|
1582
|
+
* the progress should be close to 0.
|
|
1583
|
+
*/
|
|
1584
|
+
const progress = distanceFromBottom / totalDistance;
|
|
1585
|
+
// Round to the nearest thousandth to avoid returning very small decimal
|
|
1586
|
+
const roundedProgress = Math.round(progress * 1000) / 1000;
|
|
1587
|
+
return Math.max(0, Math.min(1, roundedProgress));
|
|
1588
|
+
};
|
|
1589
|
+
/**
|
|
1590
|
+
* Converts a breakpoint value (0 to 1) into a pixel Y coordinate
|
|
1591
|
+
* on the screen.
|
|
1592
|
+
*
|
|
1593
|
+
* @param breakpoint The breakpoint value (e.g., 0.5 for half-open)
|
|
1594
|
+
* @returns The pixel Y coordinate on the screen
|
|
1595
|
+
*/
|
|
1596
|
+
const convertBreakpointToY = (breakpoint) => {
|
|
1597
|
+
const rect = baseEl.getBoundingClientRect();
|
|
1598
|
+
const modalHeight = rect.height;
|
|
1599
|
+
// The bottom of the screen.
|
|
1600
|
+
const viewportBottom = window.innerHeight;
|
|
1601
|
+
/**
|
|
1602
|
+
* The active height is how much of the modal is actually showing
|
|
1603
|
+
* on the screen for this specific breakpoint.
|
|
1604
|
+
*/
|
|
1605
|
+
const activeHeight = modalHeight * breakpoint;
|
|
1606
|
+
/**
|
|
1607
|
+
* To find the Y coordinate, start at the bottom of the screen
|
|
1608
|
+
* and move up by the active height of the modal.
|
|
1609
|
+
*
|
|
1610
|
+
* A breakpoint of 1.0 means the active height is the full modal height
|
|
1611
|
+
* (fully open). A breakpoint of 0.0 means the active height is 0
|
|
1612
|
+
* (fully closed).
|
|
1613
|
+
*
|
|
1614
|
+
* Since screen Y coordinates get smaller as you go up, we subtract the
|
|
1615
|
+
* active height from the viewport bottom.
|
|
1616
|
+
*/
|
|
1617
|
+
return viewportBottom - activeHeight;
|
|
1618
|
+
};
|
|
1458
1619
|
const gesture = createGesture({
|
|
1459
1620
|
el: wrapperEl,
|
|
1460
1621
|
gestureName: 'modalSheet',
|
|
@@ -1633,9 +1794,9 @@ const clearSafeAreaOverrides = (hostEl) => {
|
|
|
1633
1794
|
hostEl.style.removeProperty('--ion-safe-area-right');
|
|
1634
1795
|
};
|
|
1635
1796
|
|
|
1636
|
-
const modalIosCss =
|
|
1797
|
+
const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 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}`;
|
|
1637
1798
|
|
|
1638
|
-
const modalMdCss =
|
|
1799
|
+
const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 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}`;
|
|
1639
1800
|
|
|
1640
1801
|
const Modal = class {
|
|
1641
1802
|
constructor(hostRef) {
|
|
@@ -1650,6 +1811,9 @@ const Modal = class {
|
|
|
1650
1811
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
1651
1812
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
1652
1813
|
this.ionMount = createEvent(this, "ionMount", 7);
|
|
1814
|
+
this.ionDragStart = createEvent(this, "ionDragStart", 7);
|
|
1815
|
+
this.ionDragMove = createEvent(this, "ionDragMove", 7);
|
|
1816
|
+
this.ionDragEnd = createEvent(this, "ionDragEnd", 7);
|
|
1653
1817
|
this.lockController = createLockController();
|
|
1654
1818
|
this.triggerController = createTriggerController();
|
|
1655
1819
|
this.coreDelegate = CoreDelegate();
|
|
@@ -2141,32 +2305,7 @@ const Modal = class {
|
|
|
2141
2305
|
return;
|
|
2142
2306
|
}
|
|
2143
2307
|
const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
|
|
2144
|
-
this.gesture = createSwipeToCloseGesture(el, ani, statusBarStyle, () =>
|
|
2145
|
-
/**
|
|
2146
|
-
* While the gesture animation is finishing
|
|
2147
|
-
* it is possible for a user to tap the backdrop.
|
|
2148
|
-
* This would result in the dismiss animation
|
|
2149
|
-
* being played again. Typically this is avoided
|
|
2150
|
-
* by setting `presented = false` on the overlay
|
|
2151
|
-
* component; however, we cannot do that here as
|
|
2152
|
-
* that would prevent the element from being
|
|
2153
|
-
* removed from the DOM.
|
|
2154
|
-
*/
|
|
2155
|
-
this.gestureAnimationDismissing = true;
|
|
2156
|
-
/**
|
|
2157
|
-
* Reset the status bar style as the dismiss animation
|
|
2158
|
-
* starts otherwise the status bar will be the wrong
|
|
2159
|
-
* color for the duration of the dismiss animation.
|
|
2160
|
-
* The dismiss method does this as well, but
|
|
2161
|
-
* in this case it's only called once the animation
|
|
2162
|
-
* has finished.
|
|
2163
|
-
*/
|
|
2164
|
-
setCardStatusBarDefault(this.statusBarStyle);
|
|
2165
|
-
this.animation.onFinish(async () => {
|
|
2166
|
-
await this.dismiss(undefined, GESTURE);
|
|
2167
|
-
this.gestureAnimationDismissing = false;
|
|
2168
|
-
});
|
|
2169
|
-
});
|
|
2308
|
+
this.gesture = createSwipeToCloseGesture(el, ani, statusBarStyle, () => this.cardOnDismiss(), () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2170
2309
|
this.gesture.enable(true);
|
|
2171
2310
|
}
|
|
2172
2311
|
initSheetGesture() {
|
|
@@ -2187,7 +2326,7 @@ const Modal = class {
|
|
|
2187
2326
|
this.currentBreakpoint = breakpoint;
|
|
2188
2327
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
2189
2328
|
}
|
|
2190
|
-
});
|
|
2329
|
+
}, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2191
2330
|
this.gesture = gesture;
|
|
2192
2331
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
2193
2332
|
this.gesture.enable(true);
|
|
@@ -2284,6 +2423,32 @@ const Modal = class {
|
|
|
2284
2423
|
this.gestureAnimationDismissing = false;
|
|
2285
2424
|
});
|
|
2286
2425
|
}
|
|
2426
|
+
cardOnDismiss() {
|
|
2427
|
+
/**
|
|
2428
|
+
* While the gesture animation is finishing
|
|
2429
|
+
* it is possible for a user to tap the backdrop.
|
|
2430
|
+
* This would result in the dismiss animation
|
|
2431
|
+
* being played again. Typically this is avoided
|
|
2432
|
+
* by setting `presented = false` on the overlay
|
|
2433
|
+
* component; however, we cannot do that here as
|
|
2434
|
+
* that would prevent the element from being
|
|
2435
|
+
* removed from the DOM.
|
|
2436
|
+
*/
|
|
2437
|
+
this.gestureAnimationDismissing = true;
|
|
2438
|
+
/**
|
|
2439
|
+
* Reset the status bar style as the dismiss animation
|
|
2440
|
+
* starts otherwise the status bar will be the wrong
|
|
2441
|
+
* color for the duration of the dismiss animation.
|
|
2442
|
+
* The dismiss method does this as well, but
|
|
2443
|
+
* in this case it's only called once the animation
|
|
2444
|
+
* has finished.
|
|
2445
|
+
*/
|
|
2446
|
+
setCardStatusBarDefault(this.statusBarStyle);
|
|
2447
|
+
this.animation.onFinish(async () => {
|
|
2448
|
+
await this.dismiss(undefined, GESTURE);
|
|
2449
|
+
this.gestureAnimationDismissing = false;
|
|
2450
|
+
});
|
|
2451
|
+
}
|
|
2287
2452
|
/**
|
|
2288
2453
|
* Dismiss the modal overlay after it has been presented.
|
|
2289
2454
|
* This is a no-op if the overlay has not been presented yet. If you want
|
|
@@ -2606,6 +2771,15 @@ const Modal = class {
|
|
|
2606
2771
|
(_a = this.parentRemovalObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
2607
2772
|
this.parentRemovalObserver = undefined;
|
|
2608
2773
|
}
|
|
2774
|
+
onDragStart() {
|
|
2775
|
+
this.ionDragStart.emit();
|
|
2776
|
+
}
|
|
2777
|
+
onDragMove(detail) {
|
|
2778
|
+
this.ionDragMove.emit(detail);
|
|
2779
|
+
}
|
|
2780
|
+
onDragEnd(detail) {
|
|
2781
|
+
this.ionDragEnd.emit(detail);
|
|
2782
|
+
}
|
|
2609
2783
|
/**
|
|
2610
2784
|
* Creates the context object for safe-area utilities.
|
|
2611
2785
|
*/
|
|
@@ -2730,25 +2904,29 @@ const Modal = class {
|
|
|
2730
2904
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
2731
2905
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
2732
2906
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
2733
|
-
return (h(Host, Object.assign({ key: '
|
|
2907
|
+
return (h(Host, Object.assign({ key: '1a53e8f87532abccc169ca4b24973a39c5f9ba16', "no-router": true,
|
|
2734
2908
|
// Allow the modal to be navigable when the handle is focusable
|
|
2735
2909
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
2736
2910
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
2737
|
-
}, 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: '
|
|
2911
|
+
}, 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: 'fa8e0a436c0d458331402e1850f87af3dc97b582', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'f00de6027d3c8b5bc93db3b0f7a50a87628d40bb', class: "modal-shadow" }), h("div", Object.assign({ key: 'ae5e33bd6c58e541edb2edbca92420ea02dd5175',
|
|
2738
2912
|
/*
|
|
2739
2913
|
role and aria-modal must be used on the
|
|
2740
2914
|
same element. They must also be set inside the
|
|
2741
2915
|
shadow DOM otherwise ion-button will not be highlighted
|
|
2742
2916
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
2743
2917
|
*/
|
|
2744
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
2918
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '141cdd8f8522331f4b764e2a4d79ec6596b1eb3a', class: "modal-handle",
|
|
2745
2919
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
2746
|
-
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: '
|
|
2920
|
+
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: '7de20298b61abee67a16d275c9ebd9a25ce7dd26', onSlotchange: this.onSlotChange }))));
|
|
2747
2921
|
}
|
|
2748
2922
|
get el() { return getElement(this); }
|
|
2749
2923
|
static get watchers() { return {
|
|
2750
|
-
"isOpen": [
|
|
2751
|
-
|
|
2924
|
+
"isOpen": [{
|
|
2925
|
+
"onIsOpenChange": 0
|
|
2926
|
+
}],
|
|
2927
|
+
"trigger": [{
|
|
2928
|
+
"triggerChanged": 0
|
|
2929
|
+
}]
|
|
2752
2930
|
}; }
|
|
2753
2931
|
};
|
|
2754
2932
|
const LIFECYCLE_MAP = {
|
|
@@ -2758,8 +2936,8 @@ const LIFECYCLE_MAP = {
|
|
|
2758
2936
|
ionModalDidDismiss: 'ionViewDidLeave',
|
|
2759
2937
|
};
|
|
2760
2938
|
Modal.style = {
|
|
2761
|
-
ios: modalIosCss,
|
|
2762
|
-
md: modalMdCss
|
|
2939
|
+
ios: modalIosCss(),
|
|
2940
|
+
md: modalMdCss()
|
|
2763
2941
|
};
|
|
2764
2942
|
|
|
2765
2943
|
export { Modal as ion_modal };
|