@ionic/core 8.7.19-nightly.20260304 → 8.8.0
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-CL12ApCQ.js
DELETED
|
@@ -1,820 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { j as printIonError } from './p-DWoUQeZ3.js';
|
|
5
|
-
import { w as win } from './p-ZjP4CjeZ.js';
|
|
6
|
-
|
|
7
|
-
let animationPrefix;
|
|
8
|
-
const getAnimationPrefix = (el) => {
|
|
9
|
-
if (animationPrefix === undefined) {
|
|
10
|
-
const supportsUnprefixed = el.style.animationName !== undefined;
|
|
11
|
-
const supportsWebkitPrefix = el.style.webkitAnimationName !== undefined;
|
|
12
|
-
animationPrefix = !supportsUnprefixed && supportsWebkitPrefix ? '-webkit-' : '';
|
|
13
|
-
}
|
|
14
|
-
return animationPrefix;
|
|
15
|
-
};
|
|
16
|
-
const setStyleProperty = (element, propertyName, value) => {
|
|
17
|
-
const prefix = propertyName.startsWith('animation') ? getAnimationPrefix(element) : '';
|
|
18
|
-
element.style.setProperty(prefix + propertyName, value);
|
|
19
|
-
};
|
|
20
|
-
const addClassToArray = (classes = [], className) => {
|
|
21
|
-
if (className !== undefined) {
|
|
22
|
-
const classNameToAppend = Array.isArray(className) ? className : [className];
|
|
23
|
-
return [...classes, ...classNameToAppend];
|
|
24
|
-
}
|
|
25
|
-
return classes;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
const createAnimation = (animationId) => {
|
|
29
|
-
let _delay;
|
|
30
|
-
let _duration;
|
|
31
|
-
let _easing;
|
|
32
|
-
let _iterations;
|
|
33
|
-
let _fill;
|
|
34
|
-
let _direction;
|
|
35
|
-
let _keyframes = [];
|
|
36
|
-
let beforeAddClasses = [];
|
|
37
|
-
let beforeRemoveClasses = [];
|
|
38
|
-
let initialized = false;
|
|
39
|
-
let parentAnimation;
|
|
40
|
-
let beforeStylesValue = {};
|
|
41
|
-
let afterAddClasses = [];
|
|
42
|
-
let afterRemoveClasses = [];
|
|
43
|
-
let afterStylesValue = {};
|
|
44
|
-
let numAnimationsRunning = 0;
|
|
45
|
-
let shouldForceLinearEasing = false;
|
|
46
|
-
let shouldForceSyncPlayback = false;
|
|
47
|
-
let forceDirectionValue;
|
|
48
|
-
let forceDurationValue;
|
|
49
|
-
let forceDelayValue;
|
|
50
|
-
let willComplete = true;
|
|
51
|
-
let finished = false;
|
|
52
|
-
let shouldCalculateNumAnimations = true;
|
|
53
|
-
let ani;
|
|
54
|
-
let paused = false;
|
|
55
|
-
const id = animationId;
|
|
56
|
-
const onFinishCallbacks = [];
|
|
57
|
-
const onFinishOneTimeCallbacks = [];
|
|
58
|
-
const onStopOneTimeCallbacks = [];
|
|
59
|
-
const elements = [];
|
|
60
|
-
const childAnimations = [];
|
|
61
|
-
const stylesheets = [];
|
|
62
|
-
const _beforeAddReadFunctions = [];
|
|
63
|
-
const _beforeAddWriteFunctions = [];
|
|
64
|
-
const _afterAddReadFunctions = [];
|
|
65
|
-
const _afterAddWriteFunctions = [];
|
|
66
|
-
const webAnimations = [];
|
|
67
|
-
const supportsAnimationEffect = typeof AnimationEffect === 'function' ||
|
|
68
|
-
(win !== undefined && typeof win.AnimationEffect === 'function');
|
|
69
|
-
/**
|
|
70
|
-
* This is a feature detection for Web Animations.
|
|
71
|
-
*
|
|
72
|
-
* Certain environments such as emulated browser environments for testing,
|
|
73
|
-
* do not support Web Animations. As a result, we need to check for support
|
|
74
|
-
* and provide a fallback to test certain functionality related to Web Animations.
|
|
75
|
-
*/
|
|
76
|
-
const supportsWebAnimations = typeof Element === 'function' &&
|
|
77
|
-
typeof Element.prototype.animate === 'function' &&
|
|
78
|
-
supportsAnimationEffect;
|
|
79
|
-
const getWebAnimations = () => {
|
|
80
|
-
return webAnimations;
|
|
81
|
-
};
|
|
82
|
-
const destroy = (clearStyleSheets) => {
|
|
83
|
-
childAnimations.forEach((childAnimation) => {
|
|
84
|
-
childAnimation.destroy(clearStyleSheets);
|
|
85
|
-
});
|
|
86
|
-
cleanUp(clearStyleSheets);
|
|
87
|
-
elements.length = 0;
|
|
88
|
-
childAnimations.length = 0;
|
|
89
|
-
_keyframes.length = 0;
|
|
90
|
-
clearOnFinish();
|
|
91
|
-
initialized = false;
|
|
92
|
-
shouldCalculateNumAnimations = true;
|
|
93
|
-
return ani;
|
|
94
|
-
};
|
|
95
|
-
/**
|
|
96
|
-
* Cancels any Web Animations, removes
|
|
97
|
-
* any animation properties from the
|
|
98
|
-
* animation's elements, and removes the
|
|
99
|
-
* animation's stylesheets from the DOM.
|
|
100
|
-
*/
|
|
101
|
-
const cleanUp = (clearStyleSheets) => {
|
|
102
|
-
cleanUpElements();
|
|
103
|
-
if (clearStyleSheets) {
|
|
104
|
-
cleanUpStyleSheets();
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
const resetFlags = () => {
|
|
108
|
-
shouldForceLinearEasing = false;
|
|
109
|
-
shouldForceSyncPlayback = false;
|
|
110
|
-
shouldCalculateNumAnimations = true;
|
|
111
|
-
forceDirectionValue = undefined;
|
|
112
|
-
forceDurationValue = undefined;
|
|
113
|
-
forceDelayValue = undefined;
|
|
114
|
-
numAnimationsRunning = 0;
|
|
115
|
-
finished = false;
|
|
116
|
-
willComplete = true;
|
|
117
|
-
paused = false;
|
|
118
|
-
};
|
|
119
|
-
const isRunning = () => {
|
|
120
|
-
return numAnimationsRunning !== 0 && !paused;
|
|
121
|
-
};
|
|
122
|
-
/**
|
|
123
|
-
* @internal
|
|
124
|
-
* Remove a callback from a chosen callback array
|
|
125
|
-
* @param callbackToRemove: A reference to the callback that should be removed
|
|
126
|
-
* @param callbackObjects: An array of callbacks that callbackToRemove should be removed from.
|
|
127
|
-
*/
|
|
128
|
-
const clearCallback = (callbackToRemove, callbackObjects) => {
|
|
129
|
-
const index = callbackObjects.findIndex((callbackObject) => callbackObject.c === callbackToRemove);
|
|
130
|
-
if (index > -1) {
|
|
131
|
-
callbackObjects.splice(index, 1);
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
/**
|
|
135
|
-
* @internal
|
|
136
|
-
* Add a callback to be fired when an animation is stopped/cancelled.
|
|
137
|
-
* @param callback: A reference to the callback that should be fired
|
|
138
|
-
* @param opts: Any options associated with this particular callback
|
|
139
|
-
*/
|
|
140
|
-
const onStop = (callback, opts) => {
|
|
141
|
-
onStopOneTimeCallbacks.push({ c: callback, o: opts });
|
|
142
|
-
return ani;
|
|
143
|
-
};
|
|
144
|
-
const onFinish = (callback, opts) => {
|
|
145
|
-
const callbacks = (opts === null || opts === void 0 ? void 0 : opts.oneTimeCallback) ? onFinishOneTimeCallbacks : onFinishCallbacks;
|
|
146
|
-
callbacks.push({ c: callback, o: opts });
|
|
147
|
-
return ani;
|
|
148
|
-
};
|
|
149
|
-
const clearOnFinish = () => {
|
|
150
|
-
onFinishCallbacks.length = 0;
|
|
151
|
-
onFinishOneTimeCallbacks.length = 0;
|
|
152
|
-
return ani;
|
|
153
|
-
};
|
|
154
|
-
/**
|
|
155
|
-
* Cancels any Web Animations and removes
|
|
156
|
-
* any animation properties from the
|
|
157
|
-
* the animation's elements.
|
|
158
|
-
*/
|
|
159
|
-
const cleanUpElements = () => {
|
|
160
|
-
if (supportsWebAnimations) {
|
|
161
|
-
webAnimations.forEach((animation) => {
|
|
162
|
-
animation.cancel();
|
|
163
|
-
});
|
|
164
|
-
webAnimations.length = 0;
|
|
165
|
-
}
|
|
166
|
-
};
|
|
167
|
-
/**
|
|
168
|
-
* Removes the animation's stylesheets
|
|
169
|
-
* from the DOM.
|
|
170
|
-
*/
|
|
171
|
-
const cleanUpStyleSheets = () => {
|
|
172
|
-
stylesheets.forEach((stylesheet) => {
|
|
173
|
-
/**
|
|
174
|
-
* When sharing stylesheets, it's possible
|
|
175
|
-
* for another animation to have already
|
|
176
|
-
* cleaned up a particular stylesheet
|
|
177
|
-
*/
|
|
178
|
-
if (stylesheet === null || stylesheet === void 0 ? void 0 : stylesheet.parentNode) {
|
|
179
|
-
stylesheet.parentNode.removeChild(stylesheet);
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
stylesheets.length = 0;
|
|
183
|
-
};
|
|
184
|
-
const beforeAddRead = (readFn) => {
|
|
185
|
-
_beforeAddReadFunctions.push(readFn);
|
|
186
|
-
return ani;
|
|
187
|
-
};
|
|
188
|
-
const beforeAddWrite = (writeFn) => {
|
|
189
|
-
_beforeAddWriteFunctions.push(writeFn);
|
|
190
|
-
return ani;
|
|
191
|
-
};
|
|
192
|
-
const afterAddRead = (readFn) => {
|
|
193
|
-
_afterAddReadFunctions.push(readFn);
|
|
194
|
-
return ani;
|
|
195
|
-
};
|
|
196
|
-
const afterAddWrite = (writeFn) => {
|
|
197
|
-
_afterAddWriteFunctions.push(writeFn);
|
|
198
|
-
return ani;
|
|
199
|
-
};
|
|
200
|
-
const beforeAddClass = (className) => {
|
|
201
|
-
beforeAddClasses = addClassToArray(beforeAddClasses, className);
|
|
202
|
-
return ani;
|
|
203
|
-
};
|
|
204
|
-
const beforeRemoveClass = (className) => {
|
|
205
|
-
beforeRemoveClasses = addClassToArray(beforeRemoveClasses, className);
|
|
206
|
-
return ani;
|
|
207
|
-
};
|
|
208
|
-
/**
|
|
209
|
-
* Set CSS inline styles to the animation's
|
|
210
|
-
* elements before the animation begins.
|
|
211
|
-
*/
|
|
212
|
-
const beforeStyles = (styles = {}) => {
|
|
213
|
-
beforeStylesValue = styles;
|
|
214
|
-
return ani;
|
|
215
|
-
};
|
|
216
|
-
/**
|
|
217
|
-
* Clear CSS inline styles from the animation's
|
|
218
|
-
* elements before the animation begins.
|
|
219
|
-
*/
|
|
220
|
-
const beforeClearStyles = (propertyNames = []) => {
|
|
221
|
-
for (const property of propertyNames) {
|
|
222
|
-
beforeStylesValue[property] = '';
|
|
223
|
-
}
|
|
224
|
-
return ani;
|
|
225
|
-
};
|
|
226
|
-
const afterAddClass = (className) => {
|
|
227
|
-
afterAddClasses = addClassToArray(afterAddClasses, className);
|
|
228
|
-
return ani;
|
|
229
|
-
};
|
|
230
|
-
const afterRemoveClass = (className) => {
|
|
231
|
-
afterRemoveClasses = addClassToArray(afterRemoveClasses, className);
|
|
232
|
-
return ani;
|
|
233
|
-
};
|
|
234
|
-
const afterStyles = (styles = {}) => {
|
|
235
|
-
afterStylesValue = styles;
|
|
236
|
-
return ani;
|
|
237
|
-
};
|
|
238
|
-
const afterClearStyles = (propertyNames = []) => {
|
|
239
|
-
for (const property of propertyNames) {
|
|
240
|
-
afterStylesValue[property] = '';
|
|
241
|
-
}
|
|
242
|
-
return ani;
|
|
243
|
-
};
|
|
244
|
-
const getFill = () => {
|
|
245
|
-
if (_fill !== undefined) {
|
|
246
|
-
return _fill;
|
|
247
|
-
}
|
|
248
|
-
if (parentAnimation) {
|
|
249
|
-
return parentAnimation.getFill();
|
|
250
|
-
}
|
|
251
|
-
return 'both';
|
|
252
|
-
};
|
|
253
|
-
const getDirection = () => {
|
|
254
|
-
if (forceDirectionValue !== undefined) {
|
|
255
|
-
return forceDirectionValue;
|
|
256
|
-
}
|
|
257
|
-
if (_direction !== undefined) {
|
|
258
|
-
return _direction;
|
|
259
|
-
}
|
|
260
|
-
if (parentAnimation) {
|
|
261
|
-
return parentAnimation.getDirection();
|
|
262
|
-
}
|
|
263
|
-
return 'normal';
|
|
264
|
-
};
|
|
265
|
-
const getEasing = () => {
|
|
266
|
-
if (shouldForceLinearEasing) {
|
|
267
|
-
return 'linear';
|
|
268
|
-
}
|
|
269
|
-
if (_easing !== undefined) {
|
|
270
|
-
return _easing;
|
|
271
|
-
}
|
|
272
|
-
if (parentAnimation) {
|
|
273
|
-
return parentAnimation.getEasing();
|
|
274
|
-
}
|
|
275
|
-
return 'linear';
|
|
276
|
-
};
|
|
277
|
-
const getDuration = () => {
|
|
278
|
-
if (shouldForceSyncPlayback) {
|
|
279
|
-
return 0;
|
|
280
|
-
}
|
|
281
|
-
if (forceDurationValue !== undefined) {
|
|
282
|
-
return forceDurationValue;
|
|
283
|
-
}
|
|
284
|
-
if (_duration !== undefined) {
|
|
285
|
-
return _duration;
|
|
286
|
-
}
|
|
287
|
-
if (parentAnimation) {
|
|
288
|
-
return parentAnimation.getDuration();
|
|
289
|
-
}
|
|
290
|
-
return 0;
|
|
291
|
-
};
|
|
292
|
-
const getIterations = () => {
|
|
293
|
-
if (_iterations !== undefined) {
|
|
294
|
-
return _iterations;
|
|
295
|
-
}
|
|
296
|
-
if (parentAnimation) {
|
|
297
|
-
return parentAnimation.getIterations();
|
|
298
|
-
}
|
|
299
|
-
return 1;
|
|
300
|
-
};
|
|
301
|
-
const getDelay = () => {
|
|
302
|
-
if (forceDelayValue !== undefined) {
|
|
303
|
-
return forceDelayValue;
|
|
304
|
-
}
|
|
305
|
-
if (_delay !== undefined) {
|
|
306
|
-
return _delay;
|
|
307
|
-
}
|
|
308
|
-
if (parentAnimation) {
|
|
309
|
-
return parentAnimation.getDelay();
|
|
310
|
-
}
|
|
311
|
-
return 0;
|
|
312
|
-
};
|
|
313
|
-
const getKeyframes = () => {
|
|
314
|
-
return _keyframes;
|
|
315
|
-
};
|
|
316
|
-
const direction = (animationDirection) => {
|
|
317
|
-
_direction = animationDirection;
|
|
318
|
-
update(true);
|
|
319
|
-
return ani;
|
|
320
|
-
};
|
|
321
|
-
const fill = (animationFill) => {
|
|
322
|
-
_fill = animationFill;
|
|
323
|
-
update(true);
|
|
324
|
-
return ani;
|
|
325
|
-
};
|
|
326
|
-
const delay = (animationDelay) => {
|
|
327
|
-
_delay = animationDelay;
|
|
328
|
-
update(true);
|
|
329
|
-
return ani;
|
|
330
|
-
};
|
|
331
|
-
const easing = (animationEasing) => {
|
|
332
|
-
_easing = animationEasing;
|
|
333
|
-
update(true);
|
|
334
|
-
return ani;
|
|
335
|
-
};
|
|
336
|
-
const duration = (animationDuration) => {
|
|
337
|
-
/**
|
|
338
|
-
* CSS Animation Durations of 0ms work fine on Chrome
|
|
339
|
-
* but do not run on Safari, so force it to 1ms to
|
|
340
|
-
* get it to run on both platforms.
|
|
341
|
-
*/
|
|
342
|
-
if (!supportsWebAnimations && animationDuration === 0) {
|
|
343
|
-
animationDuration = 1;
|
|
344
|
-
}
|
|
345
|
-
_duration = animationDuration;
|
|
346
|
-
update(true);
|
|
347
|
-
return ani;
|
|
348
|
-
};
|
|
349
|
-
const iterations = (animationIterations) => {
|
|
350
|
-
_iterations = animationIterations;
|
|
351
|
-
update(true);
|
|
352
|
-
return ani;
|
|
353
|
-
};
|
|
354
|
-
const parent = (animation) => {
|
|
355
|
-
parentAnimation = animation;
|
|
356
|
-
return ani;
|
|
357
|
-
};
|
|
358
|
-
const addElement = (el) => {
|
|
359
|
-
if (el != null) {
|
|
360
|
-
if (el.nodeType === 1) {
|
|
361
|
-
elements.push(el);
|
|
362
|
-
}
|
|
363
|
-
else if (el.length >= 0) {
|
|
364
|
-
for (let i = 0; i < el.length; i++) {
|
|
365
|
-
elements.push(el[i]);
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
else {
|
|
369
|
-
printIonError('createAnimation - Invalid addElement value.');
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
return ani;
|
|
373
|
-
};
|
|
374
|
-
const addAnimation = (animationToAdd) => {
|
|
375
|
-
if (animationToAdd != null) {
|
|
376
|
-
if (Array.isArray(animationToAdd)) {
|
|
377
|
-
for (const animation of animationToAdd) {
|
|
378
|
-
animation.parent(ani);
|
|
379
|
-
childAnimations.push(animation);
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
else {
|
|
383
|
-
animationToAdd.parent(ani);
|
|
384
|
-
childAnimations.push(animationToAdd);
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
return ani;
|
|
388
|
-
};
|
|
389
|
-
const keyframes = (keyframeValues) => {
|
|
390
|
-
const different = _keyframes !== keyframeValues;
|
|
391
|
-
_keyframes = keyframeValues;
|
|
392
|
-
if (different) {
|
|
393
|
-
updateKeyframes(_keyframes);
|
|
394
|
-
}
|
|
395
|
-
return ani;
|
|
396
|
-
};
|
|
397
|
-
const updateKeyframes = (keyframeValues) => {
|
|
398
|
-
if (supportsWebAnimations) {
|
|
399
|
-
getWebAnimations().forEach((animation) => {
|
|
400
|
-
/**
|
|
401
|
-
* animation.effect's type is AnimationEffect.
|
|
402
|
-
* However, in this case we have a more specific
|
|
403
|
-
* type of AnimationEffect called KeyframeEffect which
|
|
404
|
-
* inherits from AnimationEffect. As a result,
|
|
405
|
-
* we cast animation.effect to KeyframeEffect.
|
|
406
|
-
*/
|
|
407
|
-
const keyframeEffect = animation.effect;
|
|
408
|
-
/**
|
|
409
|
-
* setKeyframes is not supported in all browser
|
|
410
|
-
* versions that Ionic supports, so we need to
|
|
411
|
-
* check for support before using it.
|
|
412
|
-
*/
|
|
413
|
-
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
414
|
-
if (keyframeEffect.setKeyframes) {
|
|
415
|
-
keyframeEffect.setKeyframes(keyframeValues);
|
|
416
|
-
}
|
|
417
|
-
else {
|
|
418
|
-
const newEffect = new KeyframeEffect(keyframeEffect.target, keyframeValues, keyframeEffect.getTiming());
|
|
419
|
-
animation.effect = newEffect;
|
|
420
|
-
}
|
|
421
|
-
});
|
|
422
|
-
}
|
|
423
|
-
};
|
|
424
|
-
/**
|
|
425
|
-
* Run all "before" animation hooks.
|
|
426
|
-
*/
|
|
427
|
-
const beforeAnimation = () => {
|
|
428
|
-
// Runs all before read callbacks
|
|
429
|
-
_beforeAddReadFunctions.forEach((callback) => callback());
|
|
430
|
-
// Runs all before write callbacks
|
|
431
|
-
_beforeAddWriteFunctions.forEach((callback) => callback());
|
|
432
|
-
// Updates styles and classes before animation runs
|
|
433
|
-
const addClasses = beforeAddClasses;
|
|
434
|
-
const removeClasses = beforeRemoveClasses;
|
|
435
|
-
const styles = beforeStylesValue;
|
|
436
|
-
elements.forEach((el) => {
|
|
437
|
-
const elementClassList = el.classList;
|
|
438
|
-
addClasses.forEach((c) => elementClassList.add(c));
|
|
439
|
-
removeClasses.forEach((c) => elementClassList.remove(c));
|
|
440
|
-
for (const property in styles) {
|
|
441
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
442
|
-
if (styles.hasOwnProperty(property)) {
|
|
443
|
-
setStyleProperty(el, property, styles[property]);
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
});
|
|
447
|
-
};
|
|
448
|
-
/**
|
|
449
|
-
* Run all "after" animation hooks.
|
|
450
|
-
*/
|
|
451
|
-
const afterAnimation = () => {
|
|
452
|
-
// Runs all after read callbacks
|
|
453
|
-
_afterAddReadFunctions.forEach((callback) => callback());
|
|
454
|
-
// Runs all after write callbacks
|
|
455
|
-
_afterAddWriteFunctions.forEach((callback) => callback());
|
|
456
|
-
// Updates styles and classes before animation ends
|
|
457
|
-
const currentStep = willComplete ? 1 : 0;
|
|
458
|
-
const addClasses = afterAddClasses;
|
|
459
|
-
const removeClasses = afterRemoveClasses;
|
|
460
|
-
const styles = afterStylesValue;
|
|
461
|
-
elements.forEach((el) => {
|
|
462
|
-
const elementClassList = el.classList;
|
|
463
|
-
addClasses.forEach((c) => elementClassList.add(c));
|
|
464
|
-
removeClasses.forEach((c) => elementClassList.remove(c));
|
|
465
|
-
for (const property in styles) {
|
|
466
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
467
|
-
if (styles.hasOwnProperty(property)) {
|
|
468
|
-
setStyleProperty(el, property, styles[property]);
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
});
|
|
472
|
-
/**
|
|
473
|
-
* Clean up any value coercion before
|
|
474
|
-
* the user callbacks fire otherwise
|
|
475
|
-
* they may get stale values. For example,
|
|
476
|
-
* if someone calls progressStart(0) the
|
|
477
|
-
* animation may still be reversed.
|
|
478
|
-
*/
|
|
479
|
-
forceDurationValue = undefined;
|
|
480
|
-
forceDirectionValue = undefined;
|
|
481
|
-
forceDelayValue = undefined;
|
|
482
|
-
onFinishCallbacks.forEach((onFinishCallback) => {
|
|
483
|
-
return onFinishCallback.c(currentStep, ani);
|
|
484
|
-
});
|
|
485
|
-
onFinishOneTimeCallbacks.forEach((onFinishCallback) => {
|
|
486
|
-
return onFinishCallback.c(currentStep, ani);
|
|
487
|
-
});
|
|
488
|
-
onFinishOneTimeCallbacks.length = 0;
|
|
489
|
-
shouldCalculateNumAnimations = true;
|
|
490
|
-
if (willComplete) {
|
|
491
|
-
finished = true;
|
|
492
|
-
}
|
|
493
|
-
willComplete = true;
|
|
494
|
-
};
|
|
495
|
-
const animationFinish = () => {
|
|
496
|
-
if (numAnimationsRunning === 0) {
|
|
497
|
-
return;
|
|
498
|
-
}
|
|
499
|
-
numAnimationsRunning--;
|
|
500
|
-
if (numAnimationsRunning === 0) {
|
|
501
|
-
afterAnimation();
|
|
502
|
-
if (parentAnimation) {
|
|
503
|
-
parentAnimation.animationFinish();
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
};
|
|
507
|
-
const initializeWebAnimation = () => {
|
|
508
|
-
elements.forEach((element) => {
|
|
509
|
-
const animation = element.animate(_keyframes, {
|
|
510
|
-
id,
|
|
511
|
-
delay: getDelay(),
|
|
512
|
-
duration: getDuration(),
|
|
513
|
-
easing: getEasing(),
|
|
514
|
-
iterations: getIterations(),
|
|
515
|
-
fill: getFill(),
|
|
516
|
-
direction: getDirection(),
|
|
517
|
-
});
|
|
518
|
-
animation.pause();
|
|
519
|
-
webAnimations.push(animation);
|
|
520
|
-
});
|
|
521
|
-
if (webAnimations.length > 0) {
|
|
522
|
-
webAnimations[0].onfinish = () => {
|
|
523
|
-
animationFinish();
|
|
524
|
-
};
|
|
525
|
-
}
|
|
526
|
-
};
|
|
527
|
-
const initializeAnimation = () => {
|
|
528
|
-
beforeAnimation();
|
|
529
|
-
if (_keyframes.length > 0) {
|
|
530
|
-
if (supportsWebAnimations) {
|
|
531
|
-
initializeWebAnimation();
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
initialized = true;
|
|
535
|
-
};
|
|
536
|
-
const setAnimationStep = (step) => {
|
|
537
|
-
step = Math.min(Math.max(step, 0), 0.9999);
|
|
538
|
-
if (supportsWebAnimations) {
|
|
539
|
-
webAnimations.forEach((animation) => {
|
|
540
|
-
// When creating the animation the delay is guaranteed to be set to a number.
|
|
541
|
-
animation.currentTime = animation.effect.getComputedTiming().delay + getDuration() * step;
|
|
542
|
-
animation.pause();
|
|
543
|
-
});
|
|
544
|
-
}
|
|
545
|
-
};
|
|
546
|
-
const updateWebAnimation = (step) => {
|
|
547
|
-
webAnimations.forEach((animation) => {
|
|
548
|
-
animation.effect.updateTiming({
|
|
549
|
-
delay: getDelay(),
|
|
550
|
-
duration: getDuration(),
|
|
551
|
-
easing: getEasing(),
|
|
552
|
-
iterations: getIterations(),
|
|
553
|
-
fill: getFill(),
|
|
554
|
-
direction: getDirection(),
|
|
555
|
-
});
|
|
556
|
-
});
|
|
557
|
-
if (step !== undefined) {
|
|
558
|
-
setAnimationStep(step);
|
|
559
|
-
}
|
|
560
|
-
};
|
|
561
|
-
const update = (deep = false, toggleAnimationName = true, step) => {
|
|
562
|
-
if (deep) {
|
|
563
|
-
childAnimations.forEach((animation) => {
|
|
564
|
-
animation.update(deep, toggleAnimationName, step);
|
|
565
|
-
});
|
|
566
|
-
}
|
|
567
|
-
if (supportsWebAnimations) {
|
|
568
|
-
updateWebAnimation(step);
|
|
569
|
-
}
|
|
570
|
-
return ani;
|
|
571
|
-
};
|
|
572
|
-
const progressStart = (forceLinearEasing = false, step) => {
|
|
573
|
-
childAnimations.forEach((animation) => {
|
|
574
|
-
animation.progressStart(forceLinearEasing, step);
|
|
575
|
-
});
|
|
576
|
-
pauseAnimation();
|
|
577
|
-
shouldForceLinearEasing = forceLinearEasing;
|
|
578
|
-
if (!initialized) {
|
|
579
|
-
initializeAnimation();
|
|
580
|
-
}
|
|
581
|
-
update(false, true, step);
|
|
582
|
-
return ani;
|
|
583
|
-
};
|
|
584
|
-
const progressStep = (step) => {
|
|
585
|
-
childAnimations.forEach((animation) => {
|
|
586
|
-
animation.progressStep(step);
|
|
587
|
-
});
|
|
588
|
-
setAnimationStep(step);
|
|
589
|
-
return ani;
|
|
590
|
-
};
|
|
591
|
-
const progressEnd = (playTo, step, dur) => {
|
|
592
|
-
shouldForceLinearEasing = false;
|
|
593
|
-
childAnimations.forEach((animation) => {
|
|
594
|
-
animation.progressEnd(playTo, step, dur);
|
|
595
|
-
});
|
|
596
|
-
if (dur !== undefined) {
|
|
597
|
-
forceDurationValue = dur;
|
|
598
|
-
}
|
|
599
|
-
finished = false;
|
|
600
|
-
willComplete = true;
|
|
601
|
-
if (playTo === 0) {
|
|
602
|
-
forceDirectionValue = getDirection() === 'reverse' ? 'normal' : 'reverse';
|
|
603
|
-
if (forceDirectionValue === 'reverse') {
|
|
604
|
-
willComplete = false;
|
|
605
|
-
}
|
|
606
|
-
if (supportsWebAnimations) {
|
|
607
|
-
update();
|
|
608
|
-
setAnimationStep(1 - step);
|
|
609
|
-
}
|
|
610
|
-
else {
|
|
611
|
-
forceDelayValue = (1 - step) * getDuration() * -1;
|
|
612
|
-
update(false, false);
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
else if (playTo === 1) {
|
|
616
|
-
if (supportsWebAnimations) {
|
|
617
|
-
update();
|
|
618
|
-
setAnimationStep(step);
|
|
619
|
-
}
|
|
620
|
-
else {
|
|
621
|
-
forceDelayValue = step * getDuration() * -1;
|
|
622
|
-
update(false, false);
|
|
623
|
-
}
|
|
624
|
-
}
|
|
625
|
-
if (playTo !== undefined && !parentAnimation) {
|
|
626
|
-
play();
|
|
627
|
-
}
|
|
628
|
-
return ani;
|
|
629
|
-
};
|
|
630
|
-
const pauseAnimation = () => {
|
|
631
|
-
if (initialized) {
|
|
632
|
-
if (supportsWebAnimations) {
|
|
633
|
-
webAnimations.forEach((animation) => {
|
|
634
|
-
animation.pause();
|
|
635
|
-
});
|
|
636
|
-
}
|
|
637
|
-
else {
|
|
638
|
-
elements.forEach((element) => {
|
|
639
|
-
setStyleProperty(element, 'animation-play-state', 'paused');
|
|
640
|
-
});
|
|
641
|
-
}
|
|
642
|
-
paused = true;
|
|
643
|
-
}
|
|
644
|
-
};
|
|
645
|
-
const pause = () => {
|
|
646
|
-
childAnimations.forEach((animation) => {
|
|
647
|
-
animation.pause();
|
|
648
|
-
});
|
|
649
|
-
pauseAnimation();
|
|
650
|
-
return ani;
|
|
651
|
-
};
|
|
652
|
-
const playCSSAnimations = () => {
|
|
653
|
-
animationFinish();
|
|
654
|
-
};
|
|
655
|
-
const playWebAnimations = () => {
|
|
656
|
-
webAnimations.forEach((animation) => {
|
|
657
|
-
animation.play();
|
|
658
|
-
});
|
|
659
|
-
if (_keyframes.length === 0 || elements.length === 0) {
|
|
660
|
-
animationFinish();
|
|
661
|
-
}
|
|
662
|
-
};
|
|
663
|
-
const resetAnimation = () => {
|
|
664
|
-
if (supportsWebAnimations) {
|
|
665
|
-
setAnimationStep(0);
|
|
666
|
-
updateWebAnimation();
|
|
667
|
-
}
|
|
668
|
-
};
|
|
669
|
-
const play = (opts) => {
|
|
670
|
-
return new Promise((resolve) => {
|
|
671
|
-
if (opts === null || opts === void 0 ? void 0 : opts.sync) {
|
|
672
|
-
shouldForceSyncPlayback = true;
|
|
673
|
-
onFinish(() => (shouldForceSyncPlayback = false), { oneTimeCallback: true });
|
|
674
|
-
}
|
|
675
|
-
if (!initialized) {
|
|
676
|
-
initializeAnimation();
|
|
677
|
-
}
|
|
678
|
-
if (finished) {
|
|
679
|
-
resetAnimation();
|
|
680
|
-
finished = false;
|
|
681
|
-
}
|
|
682
|
-
if (shouldCalculateNumAnimations) {
|
|
683
|
-
numAnimationsRunning = childAnimations.length + 1;
|
|
684
|
-
shouldCalculateNumAnimations = false;
|
|
685
|
-
}
|
|
686
|
-
/**
|
|
687
|
-
* When one of these callbacks fires we
|
|
688
|
-
* need to clear the other's callback otherwise
|
|
689
|
-
* you can potentially get these callbacks
|
|
690
|
-
* firing multiple times if the play method
|
|
691
|
-
* is subsequently called.
|
|
692
|
-
* Example:
|
|
693
|
-
* animation.play() (onStop and onFinish callbacks are registered)
|
|
694
|
-
* animation.stop() (onStop callback is fired, onFinish is not)
|
|
695
|
-
* animation.play() (onStop and onFinish callbacks are registered)
|
|
696
|
-
* Total onStop callbacks: 1
|
|
697
|
-
* Total onFinish callbacks: 2
|
|
698
|
-
*/
|
|
699
|
-
const onStopCallback = () => {
|
|
700
|
-
clearCallback(onFinishCallback, onFinishOneTimeCallbacks);
|
|
701
|
-
resolve();
|
|
702
|
-
};
|
|
703
|
-
const onFinishCallback = () => {
|
|
704
|
-
clearCallback(onStopCallback, onStopOneTimeCallbacks);
|
|
705
|
-
resolve();
|
|
706
|
-
};
|
|
707
|
-
/**
|
|
708
|
-
* The play method resolves when an animation
|
|
709
|
-
* run either finishes or is cancelled.
|
|
710
|
-
*/
|
|
711
|
-
onFinish(onFinishCallback, { oneTimeCallback: true });
|
|
712
|
-
onStop(onStopCallback, { oneTimeCallback: true });
|
|
713
|
-
childAnimations.forEach((animation) => {
|
|
714
|
-
animation.play();
|
|
715
|
-
});
|
|
716
|
-
if (supportsWebAnimations) {
|
|
717
|
-
playWebAnimations();
|
|
718
|
-
}
|
|
719
|
-
else {
|
|
720
|
-
playCSSAnimations();
|
|
721
|
-
}
|
|
722
|
-
paused = false;
|
|
723
|
-
});
|
|
724
|
-
};
|
|
725
|
-
/**
|
|
726
|
-
* Stops an animation and resets it state to the
|
|
727
|
-
* beginning. This does not fire any onFinish
|
|
728
|
-
* callbacks because the animation did not finish.
|
|
729
|
-
* However, since the animation was not destroyed
|
|
730
|
-
* (i.e. the animation could run again) we do not
|
|
731
|
-
* clear the onFinish callbacks.
|
|
732
|
-
*/
|
|
733
|
-
const stop = () => {
|
|
734
|
-
childAnimations.forEach((animation) => {
|
|
735
|
-
animation.stop();
|
|
736
|
-
});
|
|
737
|
-
if (initialized) {
|
|
738
|
-
cleanUpElements();
|
|
739
|
-
initialized = false;
|
|
740
|
-
}
|
|
741
|
-
resetFlags();
|
|
742
|
-
onStopOneTimeCallbacks.forEach((onStopCallback) => onStopCallback.c(0, ani));
|
|
743
|
-
onStopOneTimeCallbacks.length = 0;
|
|
744
|
-
};
|
|
745
|
-
const from = (property, value) => {
|
|
746
|
-
const firstFrame = _keyframes[0];
|
|
747
|
-
if (firstFrame !== undefined && (firstFrame.offset === undefined || firstFrame.offset === 0)) {
|
|
748
|
-
firstFrame[property] = value;
|
|
749
|
-
}
|
|
750
|
-
else {
|
|
751
|
-
_keyframes = [{ offset: 0, [property]: value }, ..._keyframes];
|
|
752
|
-
}
|
|
753
|
-
return ani;
|
|
754
|
-
};
|
|
755
|
-
const to = (property, value) => {
|
|
756
|
-
const lastFrame = _keyframes[_keyframes.length - 1];
|
|
757
|
-
if (lastFrame !== undefined && (lastFrame.offset === undefined || lastFrame.offset === 1)) {
|
|
758
|
-
lastFrame[property] = value;
|
|
759
|
-
}
|
|
760
|
-
else {
|
|
761
|
-
_keyframes = [..._keyframes, { offset: 1, [property]: value }];
|
|
762
|
-
}
|
|
763
|
-
return ani;
|
|
764
|
-
};
|
|
765
|
-
const fromTo = (property, fromValue, toValue) => {
|
|
766
|
-
return from(property, fromValue).to(property, toValue);
|
|
767
|
-
};
|
|
768
|
-
return (ani = {
|
|
769
|
-
parentAnimation,
|
|
770
|
-
elements,
|
|
771
|
-
childAnimations,
|
|
772
|
-
id,
|
|
773
|
-
animationFinish,
|
|
774
|
-
from,
|
|
775
|
-
to,
|
|
776
|
-
fromTo,
|
|
777
|
-
parent,
|
|
778
|
-
play,
|
|
779
|
-
pause,
|
|
780
|
-
stop,
|
|
781
|
-
destroy,
|
|
782
|
-
keyframes,
|
|
783
|
-
addAnimation,
|
|
784
|
-
addElement,
|
|
785
|
-
update,
|
|
786
|
-
fill,
|
|
787
|
-
direction,
|
|
788
|
-
iterations,
|
|
789
|
-
duration,
|
|
790
|
-
easing,
|
|
791
|
-
delay,
|
|
792
|
-
getWebAnimations,
|
|
793
|
-
getKeyframes,
|
|
794
|
-
getFill,
|
|
795
|
-
getDirection,
|
|
796
|
-
getDelay,
|
|
797
|
-
getIterations,
|
|
798
|
-
getEasing,
|
|
799
|
-
getDuration,
|
|
800
|
-
afterAddRead,
|
|
801
|
-
afterAddWrite,
|
|
802
|
-
afterClearStyles,
|
|
803
|
-
afterStyles,
|
|
804
|
-
afterRemoveClass,
|
|
805
|
-
afterAddClass,
|
|
806
|
-
beforeAddRead,
|
|
807
|
-
beforeAddWrite,
|
|
808
|
-
beforeClearStyles,
|
|
809
|
-
beforeStyles,
|
|
810
|
-
beforeRemoveClass,
|
|
811
|
-
beforeAddClass,
|
|
812
|
-
onFinish,
|
|
813
|
-
isRunning,
|
|
814
|
-
progressStart,
|
|
815
|
-
progressStep,
|
|
816
|
-
progressEnd,
|
|
817
|
-
});
|
|
818
|
-
};
|
|
819
|
-
|
|
820
|
-
export { createAnimation as c };
|