@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
package/components/p-CzAJ3ArC.js
DELETED
|
@@ -1,380 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { p as proxyCustomElement, H, e as createEvent, h, d as Host } from './p-DWoUQeZ3.js';
|
|
5
|
-
import { f as clamp } from './p-D5hF6rwn.js';
|
|
6
|
-
import { a as hapticSelectionChanged, h as hapticSelectionEnd, b as hapticSelectionStart } from './p-cyNmxje6.js';
|
|
7
|
-
import { g as getClassMap } from './p-DiVJyqlX.js';
|
|
8
|
-
import { b as getIonMode } from './p-Bxl5etF4.js';
|
|
9
|
-
|
|
10
|
-
const pickerColumnIosCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}.picker-opt{inset-inline-start:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}[dir=rtl] .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}}";
|
|
11
|
-
|
|
12
|
-
const pickerColumnMdCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}.picker-opt{inset-inline-start:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #0054e9)}";
|
|
13
|
-
|
|
14
|
-
const PickerColumnCmp = /*@__PURE__*/ proxyCustomElement(class PickerColumnCmp extends H {
|
|
15
|
-
constructor(registerHost) {
|
|
16
|
-
super();
|
|
17
|
-
if (registerHost !== false) {
|
|
18
|
-
this.__registerHost();
|
|
19
|
-
}
|
|
20
|
-
this.ionPickerColChange = createEvent(this, "ionPickerColChange", 7);
|
|
21
|
-
this.optHeight = 0;
|
|
22
|
-
this.rotateFactor = 0;
|
|
23
|
-
this.scaleFactor = 1;
|
|
24
|
-
this.velocity = 0;
|
|
25
|
-
this.y = 0;
|
|
26
|
-
this.noAnimate = true;
|
|
27
|
-
// `colDidChange` is a flag that gets set when the column is changed
|
|
28
|
-
// dynamically. When this flag is set, the column will refresh
|
|
29
|
-
// after the component re-renders to incorporate the new column data.
|
|
30
|
-
// This is necessary because `this.refresh` queries for the option elements,
|
|
31
|
-
// so it needs to wait for the latest elements to be available in the DOM.
|
|
32
|
-
// Ex: column is created with 3 options. User updates the column data
|
|
33
|
-
// to have 5 options. The column will still think it only has 3 options.
|
|
34
|
-
this.colDidChange = false;
|
|
35
|
-
}
|
|
36
|
-
colChanged() {
|
|
37
|
-
this.colDidChange = true;
|
|
38
|
-
}
|
|
39
|
-
async connectedCallback() {
|
|
40
|
-
let pickerRotateFactor = 0;
|
|
41
|
-
let pickerScaleFactor = 0.81;
|
|
42
|
-
const mode = getIonMode(this);
|
|
43
|
-
if (mode === 'ios') {
|
|
44
|
-
pickerRotateFactor = -0.46;
|
|
45
|
-
pickerScaleFactor = 1;
|
|
46
|
-
}
|
|
47
|
-
this.rotateFactor = pickerRotateFactor;
|
|
48
|
-
this.scaleFactor = pickerScaleFactor;
|
|
49
|
-
this.gesture = (await import('./p-Cl0B-RWe.js')).createGesture({
|
|
50
|
-
el: this.el,
|
|
51
|
-
gestureName: 'picker-swipe',
|
|
52
|
-
gesturePriority: 100,
|
|
53
|
-
threshold: 0,
|
|
54
|
-
passive: false,
|
|
55
|
-
onStart: (ev) => this.onStart(ev),
|
|
56
|
-
onMove: (ev) => this.onMove(ev),
|
|
57
|
-
onEnd: (ev) => this.onEnd(ev),
|
|
58
|
-
});
|
|
59
|
-
this.gesture.enable();
|
|
60
|
-
// Options have not been initialized yet
|
|
61
|
-
// Animation must be disabled through the `noAnimate` flag
|
|
62
|
-
// Otherwise, the options will render
|
|
63
|
-
// at the top of the column and transition down
|
|
64
|
-
this.tmrId = setTimeout(() => {
|
|
65
|
-
this.noAnimate = false;
|
|
66
|
-
// After initialization, `refresh()` will be called
|
|
67
|
-
// At this point, animation will be enabled. The options will
|
|
68
|
-
// animate as they are being selected.
|
|
69
|
-
this.refresh(true);
|
|
70
|
-
}, 250);
|
|
71
|
-
}
|
|
72
|
-
componentDidLoad() {
|
|
73
|
-
this.onDomChange();
|
|
74
|
-
}
|
|
75
|
-
componentDidUpdate() {
|
|
76
|
-
// Options may have changed since last update.
|
|
77
|
-
if (this.colDidChange) {
|
|
78
|
-
// Animation must be disabled through the `onDomChange` parameter.
|
|
79
|
-
// Otherwise, the recently added options will render
|
|
80
|
-
// at the top of the column and transition down
|
|
81
|
-
this.onDomChange(true, false);
|
|
82
|
-
this.colDidChange = false;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
disconnectedCallback() {
|
|
86
|
-
if (this.rafId !== undefined)
|
|
87
|
-
cancelAnimationFrame(this.rafId);
|
|
88
|
-
if (this.tmrId)
|
|
89
|
-
clearTimeout(this.tmrId);
|
|
90
|
-
if (this.gesture) {
|
|
91
|
-
this.gesture.destroy();
|
|
92
|
-
this.gesture = undefined;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
emitColChange() {
|
|
96
|
-
this.ionPickerColChange.emit(this.col);
|
|
97
|
-
}
|
|
98
|
-
setSelected(selectedIndex, duration) {
|
|
99
|
-
// if there is a selected index, then figure out it's y position
|
|
100
|
-
// if there isn't a selected index, then just use the top y position
|
|
101
|
-
const y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0;
|
|
102
|
-
this.velocity = 0;
|
|
103
|
-
// set what y position we're at
|
|
104
|
-
if (this.rafId !== undefined)
|
|
105
|
-
cancelAnimationFrame(this.rafId);
|
|
106
|
-
this.update(y, duration, true);
|
|
107
|
-
this.emitColChange();
|
|
108
|
-
}
|
|
109
|
-
update(y, duration, saveY) {
|
|
110
|
-
if (!this.optsEl) {
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
// ensure we've got a good round number :)
|
|
114
|
-
let translateY = 0;
|
|
115
|
-
let translateZ = 0;
|
|
116
|
-
const { col, rotateFactor } = this;
|
|
117
|
-
const prevSelected = col.selectedIndex;
|
|
118
|
-
const selectedIndex = (col.selectedIndex = this.indexForY(-y));
|
|
119
|
-
const durationStr = duration === 0 ? '' : duration + 'ms';
|
|
120
|
-
const scaleStr = `scale(${this.scaleFactor})`;
|
|
121
|
-
const children = this.optsEl.children;
|
|
122
|
-
for (let i = 0; i < children.length; i++) {
|
|
123
|
-
const button = children[i];
|
|
124
|
-
const opt = col.options[i];
|
|
125
|
-
const optOffset = i * this.optHeight + y;
|
|
126
|
-
let transform = '';
|
|
127
|
-
if (rotateFactor !== 0) {
|
|
128
|
-
const rotateX = optOffset * rotateFactor;
|
|
129
|
-
if (Math.abs(rotateX) <= 90) {
|
|
130
|
-
translateY = 0;
|
|
131
|
-
translateZ = 90;
|
|
132
|
-
transform = `rotateX(${rotateX}deg) `;
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
translateY = -9999;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
translateZ = 0;
|
|
140
|
-
translateY = optOffset;
|
|
141
|
-
}
|
|
142
|
-
const selected = selectedIndex === i;
|
|
143
|
-
transform += `translate3d(0px,${translateY}px,${translateZ}px) `;
|
|
144
|
-
if (this.scaleFactor !== 1 && !selected) {
|
|
145
|
-
transform += scaleStr;
|
|
146
|
-
}
|
|
147
|
-
// Update transition duration
|
|
148
|
-
if (this.noAnimate) {
|
|
149
|
-
opt.duration = 0;
|
|
150
|
-
button.style.transitionDuration = '';
|
|
151
|
-
}
|
|
152
|
-
else if (duration !== opt.duration) {
|
|
153
|
-
opt.duration = duration;
|
|
154
|
-
button.style.transitionDuration = durationStr;
|
|
155
|
-
}
|
|
156
|
-
// Update transform
|
|
157
|
-
if (transform !== opt.transform) {
|
|
158
|
-
opt.transform = transform;
|
|
159
|
-
}
|
|
160
|
-
button.style.transform = transform;
|
|
161
|
-
/**
|
|
162
|
-
* Ensure that the select column
|
|
163
|
-
* item has the selected class
|
|
164
|
-
*/
|
|
165
|
-
opt.selected = selected;
|
|
166
|
-
if (selected) {
|
|
167
|
-
button.classList.add(PICKER_OPT_SELECTED);
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
button.classList.remove(PICKER_OPT_SELECTED);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
this.col.prevSelected = prevSelected;
|
|
174
|
-
if (saveY) {
|
|
175
|
-
this.y = y;
|
|
176
|
-
}
|
|
177
|
-
if (this.lastIndex !== selectedIndex) {
|
|
178
|
-
// have not set a last index yet
|
|
179
|
-
hapticSelectionChanged();
|
|
180
|
-
this.lastIndex = selectedIndex;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
decelerate() {
|
|
184
|
-
if (this.velocity !== 0) {
|
|
185
|
-
// still decelerating
|
|
186
|
-
this.velocity *= DECELERATION_FRICTION;
|
|
187
|
-
// do not let it go slower than a velocity of 1
|
|
188
|
-
this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1);
|
|
189
|
-
let y = this.y + this.velocity;
|
|
190
|
-
if (y > this.minY) {
|
|
191
|
-
// whoops, it's trying to scroll up farther than the options we have!
|
|
192
|
-
y = this.minY;
|
|
193
|
-
this.velocity = 0;
|
|
194
|
-
}
|
|
195
|
-
else if (y < this.maxY) {
|
|
196
|
-
// gahh, it's trying to scroll down farther than we can!
|
|
197
|
-
y = this.maxY;
|
|
198
|
-
this.velocity = 0;
|
|
199
|
-
}
|
|
200
|
-
this.update(y, 0, true);
|
|
201
|
-
const notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1;
|
|
202
|
-
if (notLockedIn) {
|
|
203
|
-
// isn't locked in yet, keep decelerating until it is
|
|
204
|
-
this.rafId = requestAnimationFrame(() => this.decelerate());
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
this.velocity = 0;
|
|
208
|
-
this.emitColChange();
|
|
209
|
-
hapticSelectionEnd();
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
else if (this.y % this.optHeight !== 0) {
|
|
213
|
-
// needs to still get locked into a position so options line up
|
|
214
|
-
const currentPos = Math.abs(this.y % this.optHeight);
|
|
215
|
-
// create a velocity in the direction it needs to scroll
|
|
216
|
-
this.velocity = currentPos > this.optHeight / 2 ? 1 : -1;
|
|
217
|
-
this.decelerate();
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
indexForY(y) {
|
|
221
|
-
return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);
|
|
222
|
-
}
|
|
223
|
-
onStart(detail) {
|
|
224
|
-
// We have to prevent default in order to block scrolling under the picker
|
|
225
|
-
// but we DO NOT have to stop propagation, since we still want
|
|
226
|
-
// some "click" events to capture
|
|
227
|
-
if (detail.event.cancelable) {
|
|
228
|
-
detail.event.preventDefault();
|
|
229
|
-
}
|
|
230
|
-
detail.event.stopPropagation();
|
|
231
|
-
hapticSelectionStart();
|
|
232
|
-
// reset everything
|
|
233
|
-
if (this.rafId !== undefined)
|
|
234
|
-
cancelAnimationFrame(this.rafId);
|
|
235
|
-
const options = this.col.options;
|
|
236
|
-
let minY = options.length - 1;
|
|
237
|
-
let maxY = 0;
|
|
238
|
-
for (let i = 0; i < options.length; i++) {
|
|
239
|
-
if (!options[i].disabled) {
|
|
240
|
-
minY = Math.min(minY, i);
|
|
241
|
-
maxY = Math.max(maxY, i);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
this.minY = -(minY * this.optHeight);
|
|
245
|
-
this.maxY = -(maxY * this.optHeight);
|
|
246
|
-
}
|
|
247
|
-
onMove(detail) {
|
|
248
|
-
if (detail.event.cancelable) {
|
|
249
|
-
detail.event.preventDefault();
|
|
250
|
-
}
|
|
251
|
-
detail.event.stopPropagation();
|
|
252
|
-
// update the scroll position relative to pointer start position
|
|
253
|
-
let y = this.y + detail.deltaY;
|
|
254
|
-
if (y > this.minY) {
|
|
255
|
-
// scrolling up higher than scroll area
|
|
256
|
-
y = Math.pow(y, 0.8);
|
|
257
|
-
this.bounceFrom = y;
|
|
258
|
-
}
|
|
259
|
-
else if (y < this.maxY) {
|
|
260
|
-
// scrolling down below scroll area
|
|
261
|
-
y += Math.pow(this.maxY - y, 0.9);
|
|
262
|
-
this.bounceFrom = y;
|
|
263
|
-
}
|
|
264
|
-
else {
|
|
265
|
-
this.bounceFrom = 0;
|
|
266
|
-
}
|
|
267
|
-
this.update(y, 0, false);
|
|
268
|
-
}
|
|
269
|
-
onEnd(detail) {
|
|
270
|
-
if (this.bounceFrom > 0) {
|
|
271
|
-
// bounce back up
|
|
272
|
-
this.update(this.minY, 100, true);
|
|
273
|
-
this.emitColChange();
|
|
274
|
-
return;
|
|
275
|
-
}
|
|
276
|
-
else if (this.bounceFrom < 0) {
|
|
277
|
-
// bounce back down
|
|
278
|
-
this.update(this.maxY, 100, true);
|
|
279
|
-
this.emitColChange();
|
|
280
|
-
return;
|
|
281
|
-
}
|
|
282
|
-
this.velocity = clamp(-90, detail.velocityY * 23, MAX_PICKER_SPEED);
|
|
283
|
-
if (this.velocity === 0 && detail.deltaY === 0) {
|
|
284
|
-
const opt = detail.event.target.closest('.picker-opt');
|
|
285
|
-
if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
|
|
286
|
-
this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
else {
|
|
290
|
-
this.y += detail.deltaY;
|
|
291
|
-
if (Math.abs(detail.velocityY) < 0.05) {
|
|
292
|
-
const isScrollingUp = detail.deltaY > 0;
|
|
293
|
-
const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;
|
|
294
|
-
if (isScrollingUp && optHeightFraction > 0.5) {
|
|
295
|
-
this.velocity = Math.abs(this.velocity) * -1;
|
|
296
|
-
}
|
|
297
|
-
else if (!isScrollingUp && optHeightFraction <= 0.5) {
|
|
298
|
-
this.velocity = Math.abs(this.velocity);
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
this.decelerate();
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
refresh(forceRefresh, animated) {
|
|
305
|
-
var _a;
|
|
306
|
-
let min = this.col.options.length - 1;
|
|
307
|
-
let max = 0;
|
|
308
|
-
const options = this.col.options;
|
|
309
|
-
for (let i = 0; i < options.length; i++) {
|
|
310
|
-
if (!options[i].disabled) {
|
|
311
|
-
min = Math.min(min, i);
|
|
312
|
-
max = Math.max(max, i);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* Only update selected value if column has a
|
|
317
|
-
* velocity of 0. If it does not, then the
|
|
318
|
-
* column is animating might land on
|
|
319
|
-
* a value different than the value at
|
|
320
|
-
* selectedIndex
|
|
321
|
-
*/
|
|
322
|
-
if (this.velocity !== 0) {
|
|
323
|
-
return;
|
|
324
|
-
}
|
|
325
|
-
const selectedIndex = clamp(min, (_a = this.col.selectedIndex) !== null && _a !== void 0 ? _a : 0, max);
|
|
326
|
-
if (this.col.prevSelected !== selectedIndex || forceRefresh) {
|
|
327
|
-
const y = selectedIndex * this.optHeight * -1;
|
|
328
|
-
const duration = animated ? TRANSITION_DURATION : 0;
|
|
329
|
-
this.velocity = 0;
|
|
330
|
-
this.update(y, duration, true);
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
onDomChange(forceRefresh, animated) {
|
|
334
|
-
const colEl = this.optsEl;
|
|
335
|
-
if (colEl) {
|
|
336
|
-
// DOM READ
|
|
337
|
-
// We perfom a DOM read over a rendered item, this needs to happen after the first render or after the column has changed
|
|
338
|
-
this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0;
|
|
339
|
-
}
|
|
340
|
-
this.refresh(forceRefresh, animated);
|
|
341
|
-
}
|
|
342
|
-
render() {
|
|
343
|
-
const col = this.col;
|
|
344
|
-
const mode = getIonMode(this);
|
|
345
|
-
return (h(Host, { key: '86125e95f18837dfd021db01777d72a1562d8ee3', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
346
|
-
'max-width': this.col.columnWidth,
|
|
347
|
-
} }, col.prefix && (h("div", { key: 'b0f3d39e0bd128781066ffefb7a1e40d12a9e76d', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: '0b106ac4d56916eaaa7f09d1b68348b3754b7bba', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: '00ff2f9dbb4561787e5a5223327c6a2a33f8362e', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
348
|
-
}
|
|
349
|
-
get el() { return this; }
|
|
350
|
-
static get watchers() { return {
|
|
351
|
-
"col": ["colChanged"]
|
|
352
|
-
}; }
|
|
353
|
-
static get style() { return {
|
|
354
|
-
ios: pickerColumnIosCss,
|
|
355
|
-
md: pickerColumnMdCss
|
|
356
|
-
}; }
|
|
357
|
-
}, [288, "ion-picker-legacy-column", {
|
|
358
|
-
"col": [16]
|
|
359
|
-
}, undefined, {
|
|
360
|
-
"col": ["colChanged"]
|
|
361
|
-
}]);
|
|
362
|
-
const PICKER_OPT_SELECTED = 'picker-opt-selected';
|
|
363
|
-
const DECELERATION_FRICTION = 0.97;
|
|
364
|
-
const MAX_PICKER_SPEED = 90;
|
|
365
|
-
const TRANSITION_DURATION = 150;
|
|
366
|
-
function defineCustomElement() {
|
|
367
|
-
if (typeof customElements === "undefined") {
|
|
368
|
-
return;
|
|
369
|
-
}
|
|
370
|
-
const components = ["ion-picker-legacy-column"];
|
|
371
|
-
components.forEach(tagName => { switch (tagName) {
|
|
372
|
-
case "ion-picker-legacy-column":
|
|
373
|
-
if (!customElements.get(tagName)) {
|
|
374
|
-
customElements.define(tagName, PickerColumnCmp);
|
|
375
|
-
}
|
|
376
|
-
break;
|
|
377
|
-
} });
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
export { PickerColumnCmp as P, defineCustomElement as d };
|
package/components/p-CzW34QBh.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { m as menuController } from './p-BC-awmYt.js';
|
|
5
|
-
|
|
6
|
-
// Given a menu, return whether or not the menu toggle should be visible
|
|
7
|
-
const updateVisibility = async (menu) => {
|
|
8
|
-
const menuEl = await menuController.get(menu);
|
|
9
|
-
return !!(menuEl && (await menuEl.isActive()));
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export { updateVisibility as u };
|
package/components/p-D0zXRwcr.js
DELETED
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { w as writeTask } from './p-DWoUQeZ3.js';
|
|
5
|
-
import { c as createAnimation } from './p-CL12ApCQ.js';
|
|
6
|
-
import { c as componentOnReady, t as transitionEndAsync, f as clamp } from './p-D5hF6rwn.js';
|
|
7
|
-
|
|
8
|
-
const getRefresherAnimationType = (contentEl) => {
|
|
9
|
-
const previousSibling = contentEl.previousElementSibling;
|
|
10
|
-
const hasHeader = previousSibling !== null && previousSibling.tagName === 'ION-HEADER';
|
|
11
|
-
return hasHeader ? 'translate' : 'scale';
|
|
12
|
-
};
|
|
13
|
-
const createPullingAnimation = (type, pullingSpinner, refresherEl) => {
|
|
14
|
-
return type === 'scale'
|
|
15
|
-
? createScaleAnimation(pullingSpinner, refresherEl)
|
|
16
|
-
: createTranslateAnimation(pullingSpinner, refresherEl);
|
|
17
|
-
};
|
|
18
|
-
const createBaseAnimation = (pullingRefresherIcon) => {
|
|
19
|
-
const spinner = pullingRefresherIcon.querySelector('ion-spinner');
|
|
20
|
-
const circle = spinner.shadowRoot.querySelector('circle');
|
|
21
|
-
const spinnerArrowContainer = pullingRefresherIcon.querySelector('.spinner-arrow-container');
|
|
22
|
-
const arrowContainer = pullingRefresherIcon.querySelector('.arrow-container');
|
|
23
|
-
const arrow = arrowContainer ? arrowContainer.querySelector('ion-icon') : null;
|
|
24
|
-
const baseAnimation = createAnimation().duration(1000).easing('ease-out');
|
|
25
|
-
const spinnerArrowContainerAnimation = createAnimation()
|
|
26
|
-
.addElement(spinnerArrowContainer)
|
|
27
|
-
.keyframes([
|
|
28
|
-
{ offset: 0, opacity: '0.3' },
|
|
29
|
-
{ offset: 0.45, opacity: '0.3' },
|
|
30
|
-
{ offset: 0.55, opacity: '1' },
|
|
31
|
-
{ offset: 1, opacity: '1' },
|
|
32
|
-
]);
|
|
33
|
-
const circleInnerAnimation = createAnimation()
|
|
34
|
-
.addElement(circle)
|
|
35
|
-
.keyframes([
|
|
36
|
-
{ offset: 0, strokeDasharray: '1px, 200px' },
|
|
37
|
-
{ offset: 0.2, strokeDasharray: '1px, 200px' },
|
|
38
|
-
{ offset: 0.55, strokeDasharray: '100px, 200px' },
|
|
39
|
-
{ offset: 1, strokeDasharray: '100px, 200px' },
|
|
40
|
-
]);
|
|
41
|
-
const circleOuterAnimation = createAnimation()
|
|
42
|
-
.addElement(spinner)
|
|
43
|
-
.keyframes([
|
|
44
|
-
{ offset: 0, transform: 'rotate(-90deg)' },
|
|
45
|
-
{ offset: 1, transform: 'rotate(210deg)' },
|
|
46
|
-
]);
|
|
47
|
-
/**
|
|
48
|
-
* Only add arrow animation if present
|
|
49
|
-
* this allows users to customize the spinners
|
|
50
|
-
* without errors being thrown
|
|
51
|
-
*/
|
|
52
|
-
if (arrowContainer && arrow) {
|
|
53
|
-
const arrowContainerAnimation = createAnimation()
|
|
54
|
-
.addElement(arrowContainer)
|
|
55
|
-
.keyframes([
|
|
56
|
-
{ offset: 0, transform: 'rotate(0deg)' },
|
|
57
|
-
{ offset: 0.3, transform: 'rotate(0deg)' },
|
|
58
|
-
{ offset: 0.55, transform: 'rotate(280deg)' },
|
|
59
|
-
{ offset: 1, transform: 'rotate(400deg)' },
|
|
60
|
-
]);
|
|
61
|
-
const arrowAnimation = createAnimation()
|
|
62
|
-
.addElement(arrow)
|
|
63
|
-
.keyframes([
|
|
64
|
-
{ offset: 0, transform: 'translateX(2px) scale(0)' },
|
|
65
|
-
{ offset: 0.3, transform: 'translateX(2px) scale(0)' },
|
|
66
|
-
{ offset: 0.55, transform: 'translateX(-1.5px) scale(1)' },
|
|
67
|
-
{ offset: 1, transform: 'translateX(-1.5px) scale(1)' },
|
|
68
|
-
]);
|
|
69
|
-
baseAnimation.addAnimation([arrowContainerAnimation, arrowAnimation]);
|
|
70
|
-
}
|
|
71
|
-
return baseAnimation.addAnimation([spinnerArrowContainerAnimation, circleInnerAnimation, circleOuterAnimation]);
|
|
72
|
-
};
|
|
73
|
-
const createScaleAnimation = (pullingRefresherIcon, refresherEl) => {
|
|
74
|
-
/**
|
|
75
|
-
* Do not take the height of the refresher icon
|
|
76
|
-
* because at this point the DOM has not updated,
|
|
77
|
-
* so the refresher icon is still hidden with
|
|
78
|
-
* display: none.
|
|
79
|
-
* The `ion-refresher` container height
|
|
80
|
-
* is roughly the amount we need to offset
|
|
81
|
-
* the icon by when pulling down.
|
|
82
|
-
*/
|
|
83
|
-
const height = refresherEl.clientHeight;
|
|
84
|
-
const spinnerAnimation = createAnimation()
|
|
85
|
-
.addElement(pullingRefresherIcon)
|
|
86
|
-
.keyframes([
|
|
87
|
-
{ offset: 0, transform: `scale(0) translateY(-${height}px)` },
|
|
88
|
-
{ offset: 1, transform: 'scale(1) translateY(100px)' },
|
|
89
|
-
]);
|
|
90
|
-
return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);
|
|
91
|
-
};
|
|
92
|
-
const createTranslateAnimation = (pullingRefresherIcon, refresherEl) => {
|
|
93
|
-
/**
|
|
94
|
-
* Do not take the height of the refresher icon
|
|
95
|
-
* because at this point the DOM has not updated,
|
|
96
|
-
* so the refresher icon is still hidden with
|
|
97
|
-
* display: none.
|
|
98
|
-
* The `ion-refresher` container height
|
|
99
|
-
* is roughly the amount we need to offset
|
|
100
|
-
* the icon by when pulling down.
|
|
101
|
-
*/
|
|
102
|
-
const height = refresherEl.clientHeight;
|
|
103
|
-
const spinnerAnimation = createAnimation()
|
|
104
|
-
.addElement(pullingRefresherIcon)
|
|
105
|
-
.keyframes([
|
|
106
|
-
{ offset: 0, transform: `translateY(-${height}px)` },
|
|
107
|
-
{ offset: 1, transform: 'translateY(100px)' },
|
|
108
|
-
]);
|
|
109
|
-
return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);
|
|
110
|
-
};
|
|
111
|
-
const createSnapBackAnimation = (pullingRefresherIcon) => {
|
|
112
|
-
return createAnimation()
|
|
113
|
-
.duration(125)
|
|
114
|
-
.addElement(pullingRefresherIcon)
|
|
115
|
-
.fromTo('transform', 'translateY(var(--ion-pulling-refresher-translate, 100px))', 'translateY(0px)');
|
|
116
|
-
};
|
|
117
|
-
// iOS Native Refresher
|
|
118
|
-
// -----------------------------
|
|
119
|
-
const setSpinnerOpacity = (spinner, opacity) => {
|
|
120
|
-
spinner.style.setProperty('opacity', opacity.toString());
|
|
121
|
-
};
|
|
122
|
-
const handleScrollWhilePulling = (ticks, numTicks, pullAmount) => {
|
|
123
|
-
const max = 1;
|
|
124
|
-
writeTask(() => {
|
|
125
|
-
ticks.forEach((el, i) => {
|
|
126
|
-
/**
|
|
127
|
-
* Compute the opacity of each tick
|
|
128
|
-
* mark as a percentage of the pullAmount
|
|
129
|
-
* offset by max / numTicks so
|
|
130
|
-
* the tick marks are shown staggered.
|
|
131
|
-
*/
|
|
132
|
-
const min = i * (max / numTicks);
|
|
133
|
-
const range = max - min;
|
|
134
|
-
const start = pullAmount - min;
|
|
135
|
-
const progression = clamp(0, start / range, 1);
|
|
136
|
-
el.style.setProperty('opacity', progression.toString());
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
};
|
|
140
|
-
const handleScrollWhileRefreshing = (spinner, lastVelocityY) => {
|
|
141
|
-
writeTask(() => {
|
|
142
|
-
// If user pulls down quickly, the spinner should spin faster
|
|
143
|
-
spinner.style.setProperty('--refreshing-rotation-duration', lastVelocityY >= 1.0 ? '0.5s' : '2s');
|
|
144
|
-
spinner.style.setProperty('opacity', '1');
|
|
145
|
-
});
|
|
146
|
-
};
|
|
147
|
-
const translateElement = (el, value, duration = 200) => {
|
|
148
|
-
if (!el) {
|
|
149
|
-
return Promise.resolve();
|
|
150
|
-
}
|
|
151
|
-
const trans = transitionEndAsync(el, duration);
|
|
152
|
-
writeTask(() => {
|
|
153
|
-
el.style.setProperty('transition', `${duration}ms all ease-out`);
|
|
154
|
-
if (value === undefined) {
|
|
155
|
-
el.style.removeProperty('transform');
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
el.style.setProperty('transform', `translate3d(0px, ${value}, 0px)`);
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
return trans;
|
|
162
|
-
};
|
|
163
|
-
// Utils
|
|
164
|
-
// -----------------------------
|
|
165
|
-
/**
|
|
166
|
-
* In order to use the native iOS refresher the device must support rubber band scrolling.
|
|
167
|
-
* As part of this, we need to exclude Desktop Safari because it has a slightly different rubber band effect that is not compatible with the native refresher in Ionic.
|
|
168
|
-
*
|
|
169
|
-
* We also need to be careful not to include devices that spoof their user agent.
|
|
170
|
-
* For example, when using iOS emulation in Chrome the user agent will be spoofed such that
|
|
171
|
-
* navigator.maxTouchPointer > 0. To work around this,
|
|
172
|
-
* we check to see if the apple-pay-logo is supported as a named image which is only
|
|
173
|
-
* true on Apple devices.
|
|
174
|
-
*
|
|
175
|
-
* We previously checked referencEl.style.webkitOverflowScrolling to explicitly check
|
|
176
|
-
* for rubber band support. However, this property was removed on iPadOS and it's possible
|
|
177
|
-
* that this will be removed on iOS in the future too.
|
|
178
|
-
*
|
|
179
|
-
*/
|
|
180
|
-
const supportsRubberBandScrolling = () => {
|
|
181
|
-
return navigator.maxTouchPoints > 0 && CSS.supports('background: -webkit-named-image(apple-pay-logo-black)');
|
|
182
|
-
};
|
|
183
|
-
const shouldUseNativeRefresher = async (referenceEl, mode) => {
|
|
184
|
-
const refresherContent = referenceEl.querySelector('ion-refresher-content');
|
|
185
|
-
if (!refresherContent) {
|
|
186
|
-
return Promise.resolve(false);
|
|
187
|
-
}
|
|
188
|
-
await new Promise((resolve) => componentOnReady(refresherContent, resolve));
|
|
189
|
-
const pullingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-pulling ion-spinner');
|
|
190
|
-
const refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');
|
|
191
|
-
return (pullingSpinner !== null &&
|
|
192
|
-
refreshingSpinner !== null &&
|
|
193
|
-
((mode === 'ios' && supportsRubberBandScrolling()) || mode === 'md'));
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
export { setSpinnerOpacity as a, handleScrollWhilePulling as b, createSnapBackAnimation as c, createPullingAnimation as d, supportsRubberBandScrolling as e, getRefresherAnimationType as g, handleScrollWhileRefreshing as h, shouldUseNativeRefresher as s, translateElement as t };
|