voyager-ionic-core 7.4.3 → 7.4.4
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/animation.js +60 -1
- package/components/checkbox.js +3 -0
- package/components/ion-menu.js +51 -19
- package/components/ion-select.js +31 -17
- package/components/ion-toggle.js +3 -0
- package/components/radio-group.js +1 -1
- package/components/radio.js +4 -1
- package/components/swipe-back.js +4 -0
- package/dist/cjs/{animation-2bb33618.js → animation-c8bdd3c7.js} +60 -1
- package/dist/cjs/{app-globals-84b6a756.js → app-globals-fe1ad535.js} +1 -1
- package/dist/cjs/{button-active-c358e83c.js → button-active-0932cee9.js} +1 -1
- package/dist/cjs/{index-14a4821e.js → index-305a23dc.js} +95 -51
- package/dist/cjs/{index-acf6bdf0.js → index-d3568232.js} +3 -3
- package/dist/cjs/{index-97a3eade.js → index-f94cbab1.js} +2 -2
- package/dist/cjs/index.cjs.js +8 -8
- package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
- package/dist/cjs/ion-alert.cjs.entry.js +5 -5
- package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +5 -2
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +2 -2
- package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +4 -4
- package/dist/cjs/ion-menu_3.cjs.entry.js +56 -24
- package/dist/cjs/ion-modal.cjs.entry.js +5 -5
- package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +5 -5
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +7 -4
- package/dist/cjs/ion-range.cjs.entry.js +2 -2
- package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +34 -20
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +4 -4
- package/dist/cjs/ion-toggle.cjs.entry.js +5 -2
- package/dist/cjs/{ionic-global-a71608df.js → ionic-global-fb752503.js} +1 -1
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-e31445c2.js → ios.transition-7d688757.js} +3 -3
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{md.transition-fb13ac79.js → md.transition-d77d3c2e.js} +3 -3
- package/dist/cjs/{overlays-efc9d511.js → overlays-7e1a08fa.js} +1 -1
- package/dist/cjs/{status-tap-8c22e017.js → status-tap-778e8054.js} +1 -1
- package/dist/cjs/{swipe-back-d97c74d1.js → swipe-back-7e843e77.js} +4 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/checkbox/checkbox.js +3 -0
- package/dist/collection/components/menu/menu.js +51 -19
- package/dist/collection/components/menu/test/disable/menu.e2e.js +55 -0
- package/dist/collection/components/radio/radio.js +4 -1
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/select/select.js +31 -17
- package/dist/collection/components/select/test/disabled/select.e2e.js +30 -0
- package/dist/collection/components/toggle/toggle.js +3 -0
- package/dist/collection/utils/animation/animation.js +60 -1
- package/dist/collection/utils/gesture/swipe-back.js +4 -0
- package/dist/docs.json +2 -2
- package/dist/esm/{animation-a1d9e088.js → animation-92066c62.js} +60 -1
- package/dist/esm/{app-globals-df292a32.js → app-globals-ec816a70.js} +1 -1
- package/dist/esm/{button-active-7180a130.js → button-active-5136c12d.js} +1 -1
- package/dist/esm/{index-32c6828b.js → index-641aeeed.js} +3 -3
- package/dist/esm/{index-cb894020.js → index-b49b173c.js} +95 -51
- package/dist/esm/{index-3d6aefa2.js → index-d78b533e.js} +2 -2
- package/dist/esm/index.js +8 -8
- package/dist/esm/ion-accordion_2.entry.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +5 -5
- package/dist/esm/ion-alert.entry.js +5 -5
- package/dist/esm/ion-app_8.entry.js +5 -5
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-card_5.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +5 -2
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +4 -4
- package/dist/esm/ion-fab_3.entry.js +2 -2
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +2 -2
- package/dist/esm/ion-item-option_3.entry.js +2 -2
- package/dist/esm/ion-item_8.entry.js +2 -2
- package/dist/esm/ion-loading.entry.js +4 -4
- package/dist/esm/ion-menu_3.entry.js +56 -24
- package/dist/esm/ion-modal.entry.js +5 -5
- package/dist/esm/ion-nav_2.entry.js +4 -4
- package/dist/esm/ion-picker-column-internal.entry.js +2 -2
- package/dist/esm/ion-picker-internal.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +5 -5
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +7 -4
- package/dist/esm/ion-range.entry.js +2 -2
- package/dist/esm/ion-refresher_2.entry.js +3 -3
- package/dist/esm/ion-reorder_2.entry.js +2 -2
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +2 -2
- package/dist/esm/ion-select_3.entry.js +34 -20
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +2 -2
- package/dist/esm/ion-tab_2.entry.js +1 -1
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +4 -4
- package/dist/esm/ion-toggle.entry.js +5 -2
- package/dist/esm/{ionic-global-63a8d8c9.js → ionic-global-246ca78f.js} +1 -1
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-d8223b18.js → ios.transition-04c9a97a.js} +3 -3
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{md.transition-caed184e.js → md.transition-67a8aabd.js} +3 -3
- package/dist/esm/{overlays-84621c0a.js → overlays-2fa52617.js} +1 -1
- package/dist/esm/{status-tap-73e982b6.js → status-tap-9aeeaca5.js} +1 -1
- package/dist/esm/{swipe-back-6e8158bc.js → swipe-back-cd4295f3.js} +4 -0
- package/dist/esm-es5/animation-92066c62.js +4 -0
- package/dist/esm-es5/app-globals-ec816a70.js +4 -0
- package/dist/esm-es5/{button-active-7180a130.js → button-active-5136c12d.js} +1 -1
- package/dist/esm-es5/{index-32c6828b.js → index-641aeeed.js} +1 -1
- package/dist/esm-es5/index-b49b173c.js +5 -0
- package/dist/esm-es5/{index-3d6aefa2.js → index-d78b533e.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-backdrop.entry.js +1 -1
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-chip.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
- package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
- package/dist/esm-es5/ion-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-spinner.entry.js +1 -1
- package/dist/esm-es5/ion-split-pane.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-text.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/{ionic-global-63a8d8c9.js → ionic-global-246ca78f.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-d8223b18.js → ios.transition-04c9a97a.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{md.transition-caed184e.js → md.transition-67a8aabd.js} +1 -1
- package/dist/esm-es5/{overlays-84621c0a.js → overlays-2fa52617.js} +1 -1
- package/dist/esm-es5/{status-tap-73e982b6.js → status-tap-9aeeaca5.js} +1 -1
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/ionic.js +1 -1
- package/dist/ionic/p-015187e5.system.js +4 -0
- package/dist/ionic/{p-30b04d8d.js → p-02a4e81a.js} +1 -1
- package/dist/ionic/{p-89e3d112.system.entry.js → p-03c381ec.system.entry.js} +1 -1
- package/dist/ionic/{p-9e727d1d.entry.js → p-048f1ebe.entry.js} +1 -1
- package/dist/ionic/{p-ec29338e.entry.js → p-04e7c8fd.entry.js} +1 -1
- package/dist/ionic/{p-043e8328.system.js → p-05ae600a.system.js} +1 -1
- package/dist/ionic/p-06ac429a.js +5 -0
- package/dist/ionic/p-0c37546b.system.entry.js +4 -0
- package/dist/ionic/{p-7887ac7a.entry.js → p-108f9d49.entry.js} +1 -1
- package/dist/ionic/{p-e40b2cb4.system.entry.js → p-117cd69f.system.entry.js} +1 -1
- package/dist/ionic/{p-e263255c.system.entry.js → p-1289b3b5.system.entry.js} +1 -1
- package/dist/ionic/p-13d6e57a.js +4 -0
- package/dist/ionic/{p-da024961.entry.js → p-164b0e76.entry.js} +1 -1
- package/dist/ionic/{p-8957b1de.system.entry.js → p-170e9de0.system.entry.js} +1 -1
- package/dist/ionic/{p-8a289322.js → p-181b7c2a.js} +1 -1
- package/dist/ionic/{p-23e76249.entry.js → p-19384b9e.entry.js} +1 -1
- package/dist/ionic/p-1c82e9ff.js +4 -0
- package/dist/ionic/{p-a4e95028.system.entry.js → p-1d0aa82f.system.entry.js} +1 -1
- package/dist/ionic/{p-9201a4d3.entry.js → p-1ecba429.entry.js} +1 -1
- package/dist/ionic/{p-3db27dec.entry.js → p-1f81b5be.entry.js} +1 -1
- package/dist/ionic/{p-6db9035a.system.entry.js → p-238f0ac5.system.entry.js} +1 -1
- package/dist/ionic/{p-37fc0d22.system.entry.js → p-2784263e.system.entry.js} +1 -1
- package/dist/ionic/{p-8f36cde3.system.entry.js → p-29073efe.system.entry.js} +1 -1
- package/dist/ionic/p-29e3a9bb.entry.js +4 -0
- package/dist/ionic/{p-63f39d2f.entry.js → p-2a7c0093.entry.js} +1 -1
- package/dist/ionic/{p-007168b8.system.entry.js → p-32717950.system.entry.js} +1 -1
- package/dist/ionic/{p-a0e2f6d8.entry.js → p-32d364f0.entry.js} +1 -1
- package/dist/ionic/{p-c09e1da9.system.entry.js → p-33a8349a.system.entry.js} +1 -1
- package/dist/ionic/{p-a51f5932.entry.js → p-35818410.entry.js} +1 -1
- package/dist/ionic/{p-96ad49f1.entry.js → p-37448ac1.entry.js} +1 -1
- package/dist/ionic/{p-3e6b0330.system.entry.js → p-38ccfd71.system.entry.js} +1 -1
- package/dist/ionic/{p-6f3099b6.system.entry.js → p-3a58e3a4.system.entry.js} +1 -1
- package/dist/ionic/{p-c2d6b2fb.entry.js → p-3c2c6fce.entry.js} +1 -1
- package/dist/ionic/{p-9a6f6789.system.entry.js → p-3f3da911.system.entry.js} +1 -1
- package/dist/ionic/p-446230d7.js +4 -0
- package/dist/ionic/{p-d511de89.system.entry.js → p-45f5c8ba.system.entry.js} +1 -1
- package/dist/ionic/{p-2992f2a8.entry.js → p-47db15c6.entry.js} +1 -1
- package/dist/ionic/{p-21085f64.system.entry.js → p-4811e4af.system.entry.js} +1 -1
- package/dist/ionic/{p-dd0c00ed.entry.js → p-4b8db805.entry.js} +1 -1
- package/dist/ionic/{p-ec451ef7.system.entry.js → p-4bb26b01.system.entry.js} +1 -1
- package/dist/ionic/{p-28678af4.system.entry.js → p-4d6ac0fe.system.entry.js} +1 -1
- package/dist/ionic/p-4dd96c8d.entry.js +4 -0
- package/dist/ionic/{p-0793ebfd.entry.js → p-4e6e43c1.entry.js} +1 -1
- package/dist/ionic/{p-a760fd9a.system.js → p-51269f3b.system.js} +1 -1
- package/dist/ionic/{p-abfd1f2e.system.entry.js → p-54f6cd27.system.entry.js} +1 -1
- package/dist/ionic/{p-b27772bf.entry.js → p-55d3a9b2.entry.js} +1 -1
- package/dist/ionic/{p-f4267847.system.entry.js → p-576e6d0f.system.entry.js} +1 -1
- package/dist/ionic/{p-6ce891b2.entry.js → p-5b32b053.entry.js} +1 -1
- package/dist/ionic/{p-b79eb3cd.entry.js → p-5b976d70.entry.js} +1 -1
- package/dist/ionic/p-5bc5008c.entry.js +4 -0
- package/dist/ionic/{p-73eba881.system.js → p-5c3e72a8.system.js} +1 -1
- package/dist/ionic/{p-d580cbb7.system.entry.js → p-5c651aab.system.entry.js} +1 -1
- package/dist/ionic/{p-c381a9a9.system.entry.js → p-5cd791b3.system.entry.js} +1 -1
- package/dist/ionic/p-5ece7025.system.js +4 -0
- package/dist/ionic/{p-018ad59f.entry.js → p-5efb899f.entry.js} +1 -1
- package/dist/ionic/{p-6c7d61b9.system.entry.js → p-6129af0a.system.entry.js} +1 -1
- package/dist/ionic/{p-26fbffd4.system.js → p-629aa3fd.system.js} +1 -1
- package/dist/ionic/{p-68a3da51.js → p-63505fbb.js} +1 -1
- package/dist/ionic/{p-67e21699.entry.js → p-64e20cd9.entry.js} +1 -1
- package/dist/ionic/p-65a5761f.js +4 -0
- package/dist/ionic/{p-fb18f74b.system.entry.js → p-6ac3e877.system.entry.js} +1 -1
- package/dist/ionic/{p-c8ec0d79.system.js → p-6ba7fad7.system.js} +1 -1
- package/dist/ionic/{p-92d72ad8.entry.js → p-6ea2e653.entry.js} +1 -1
- package/dist/ionic/{p-a9b13f18.system.entry.js → p-6f8a95a3.system.entry.js} +1 -1
- package/dist/ionic/{p-f6f4d4bb.system.entry.js → p-6fb80ef3.system.entry.js} +1 -1
- package/dist/ionic/{p-b4c0e9ee.entry.js → p-706a0391.entry.js} +1 -1
- package/dist/ionic/{p-7fd0f045.system.entry.js → p-72aea40e.system.entry.js} +1 -1
- package/dist/ionic/p-73ed9a91.js +4 -0
- package/dist/ionic/{p-7a590a28.js → p-76378400.js} +1 -1
- package/dist/ionic/{p-3dce88bf.entry.js → p-818b2e75.entry.js} +1 -1
- package/dist/ionic/p-8297652e.entry.js +4 -0
- package/dist/ionic/{p-b9e2aede.entry.js → p-839276d4.entry.js} +1 -1
- package/dist/ionic/{p-b4daca17.system.entry.js → p-8a2801f1.system.entry.js} +1 -1
- package/dist/ionic/{p-00cf2d6c.js → p-8e24ebbc.js} +1 -1
- package/dist/ionic/{p-037e2738.system.entry.js → p-8ee012cb.system.entry.js} +1 -1
- package/dist/ionic/{p-f1c2678b.system.entry.js → p-908720f3.system.entry.js} +1 -1
- package/dist/ionic/{p-7cad90ed.entry.js → p-914ac0fc.entry.js} +1 -1
- package/dist/ionic/{p-9f9efb31.system.js → p-939e0fa1.system.js} +1 -1
- package/dist/ionic/{p-e6d2cca2.system.entry.js → p-95b14c73.system.entry.js} +1 -1
- package/dist/ionic/{p-ca655a7c.entry.js → p-96ba8eac.entry.js} +1 -1
- package/dist/ionic/{p-5fd0a13e.system.entry.js → p-99dfa53f.system.entry.js} +1 -1
- package/dist/ionic/{p-a8403bed.system.entry.js → p-9b4a77fc.system.entry.js} +1 -1
- package/dist/ionic/{p-50d83224.entry.js → p-a04bfada.entry.js} +1 -1
- package/dist/ionic/p-a18ec02b.entry.js +4 -0
- package/dist/ionic/{p-95e44641.system.entry.js → p-b109a3d7.system.entry.js} +1 -1
- package/dist/ionic/{p-fbc7995a.system.entry.js → p-b3690814.system.entry.js} +1 -1
- package/dist/ionic/{p-534a1cbc.system.js → p-b3c68723.system.js} +1 -1
- package/dist/ionic/{p-4e76e29a.system.entry.js → p-b61a2fa0.system.entry.js} +1 -1
- package/dist/ionic/{p-f37d6823.system.entry.js → p-beb864e4.system.entry.js} +1 -1
- package/dist/ionic/{p-a732cfec.system.js → p-c3efbcf5.system.js} +1 -1
- package/dist/ionic/{p-58565369.system.entry.js → p-c48fc95d.system.entry.js} +1 -1
- package/dist/ionic/{p-5c24c115.system.js → p-c49672d8.system.js} +1 -1
- package/dist/ionic/{p-57743e20.entry.js → p-c4a5de01.entry.js} +1 -1
- package/dist/ionic/{p-1d2d1ab5.system.entry.js → p-c7428627.system.entry.js} +1 -1
- package/dist/ionic/{p-84549737.system.entry.js → p-cf0c93e3.system.entry.js} +1 -1
- package/dist/ionic/{p-7d6f2bbb.system.entry.js → p-d0ad0430.system.entry.js} +1 -1
- package/dist/ionic/{p-7b15d413.entry.js → p-d35217be.entry.js} +1 -1
- package/dist/ionic/{p-e88ed929.system.entry.js → p-d55c9f92.system.entry.js} +1 -1
- package/dist/ionic/{p-b2397f35.entry.js → p-d7b8d224.entry.js} +1 -1
- package/dist/ionic/{p-0e070fbe.entry.js → p-d89d0de0.entry.js} +1 -1
- package/dist/ionic/{p-fa06c407.entry.js → p-db1a1e00.entry.js} +1 -1
- package/dist/ionic/{p-4b23f472.entry.js → p-deb6ddad.entry.js} +1 -1
- package/dist/ionic/{p-9d0916cb.system.js → p-df5fe0be.system.js} +1 -1
- package/dist/ionic/{p-d90f0779.system.entry.js → p-e0f52215.system.entry.js} +1 -1
- package/dist/ionic/{p-1caf1ec6.entry.js → p-e1ac688a.entry.js} +1 -1
- package/dist/ionic/{p-d2a278b1.entry.js → p-e2fd0895.entry.js} +1 -1
- package/dist/ionic/{p-9e91c83f.system.entry.js → p-eab10949.system.entry.js} +1 -1
- package/dist/ionic/{p-ac32f6ce.entry.js → p-eac263dd.entry.js} +1 -1
- package/dist/ionic/{p-a1d7f4ef.entry.js → p-ec9052a4.entry.js} +1 -1
- package/dist/ionic/{p-a6c52452.entry.js → p-f588e951.entry.js} +1 -1
- package/dist/ionic/{p-e3272ed8.entry.js → p-f623aa6d.entry.js} +1 -1
- package/dist/ionic/{p-ab7edc16.system.entry.js → p-f960fd84.system.entry.js} +1 -1
- package/dist/ionic/{p-57c5eca2.system.js → p-fbcb157b.system.js} +1 -1
- package/dist/ionic/{p-4c20879c.entry.js → p-fccfe602.entry.js} +1 -1
- package/dist/ionic/{p-3bf7c0dc.entry.js → p-fcf47f80.entry.js} +1 -1
- package/dist/ionic/{p-b3bcef34.system.entry.js → p-ff555f6f.system.entry.js} +1 -1
- package/dist/types/components/menu/menu.d.ts +8 -1
- package/hydrate/index.js +197 -72
- package/package.json +3 -2
- package/dist/esm-es5/animation-a1d9e088.js +0 -4
- package/dist/esm-es5/app-globals-df292a32.js +0 -4
- package/dist/esm-es5/index-cb894020.js +0 -5
- package/dist/ionic/p-15278928.entry.js +0 -4
- package/dist/ionic/p-1c59608c.system.entry.js +0 -4
- package/dist/ionic/p-469d6a98.entry.js +0 -4
- package/dist/ionic/p-4af11953.entry.js +0 -4
- package/dist/ionic/p-6641d7fa.js +0 -4
- package/dist/ionic/p-68b405cc.entry.js +0 -4
- package/dist/ionic/p-6b2641f6.system.js +0 -4
- package/dist/ionic/p-7c901810.system.js +0 -4
- package/dist/ionic/p-8c17d825.js +0 -4
- package/dist/ionic/p-903c36fe.js +0 -5
- package/dist/ionic/p-90ebbca0.entry.js +0 -4
- package/dist/ionic/p-94a4ce40.js +0 -4
- package/dist/ionic/p-9649c54e.js +0 -4
- package/dist/ionic/p-b370d1b4.js +0 -4
- /package/dist/esm-es5/{swipe-back-6e8158bc.js → swipe-back-cd4295f3.js} +0 -0
- /package/dist/ionic/{p-0e9a055c.js → p-32083c2d.js} +0 -0
- /package/dist/ionic/{p-eacb02b2.system.js → p-b912e055.system.js} +0 -0
package/components/animation.js
CHANGED
|
@@ -159,6 +159,7 @@ const createAnimation = (animationId) => {
|
|
|
159
159
|
const id = animationId;
|
|
160
160
|
const onFinishCallbacks = [];
|
|
161
161
|
const onFinishOneTimeCallbacks = [];
|
|
162
|
+
const onStopOneTimeCallbacks = [];
|
|
162
163
|
const elements = [];
|
|
163
164
|
const childAnimations = [];
|
|
164
165
|
const stylesheets = [];
|
|
@@ -216,6 +217,28 @@ const createAnimation = (animationId) => {
|
|
|
216
217
|
const isRunning = () => {
|
|
217
218
|
return numAnimationsRunning !== 0 && !paused;
|
|
218
219
|
};
|
|
220
|
+
/**
|
|
221
|
+
* @internal
|
|
222
|
+
* Remove a callback from a chosen callback array
|
|
223
|
+
* @param callbackToRemove: A reference to the callback that should be removed
|
|
224
|
+
* @param callbackObjects: An array of callbacks that callbackToRemove should be removed from.
|
|
225
|
+
*/
|
|
226
|
+
const clearCallback = (callbackToRemove, callbackObjects) => {
|
|
227
|
+
const index = callbackObjects.findIndex((callbackObject) => callbackObject.c === callbackToRemove);
|
|
228
|
+
if (index > -1) {
|
|
229
|
+
callbackObjects.splice(index, 1);
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* @internal
|
|
234
|
+
* Add a callback to be fired when an animation is stopped/cancelled.
|
|
235
|
+
* @param callback: A reference to the callback that should be fired
|
|
236
|
+
* @param opts: Any options associated with this particular callback
|
|
237
|
+
*/
|
|
238
|
+
const onStop = (callback, opts) => {
|
|
239
|
+
onStopOneTimeCallbacks.push({ c: callback, o: opts });
|
|
240
|
+
return ani;
|
|
241
|
+
};
|
|
219
242
|
const onFinish = (callback, opts) => {
|
|
220
243
|
const callbacks = (opts === null || opts === void 0 ? void 0 : opts.oneTimeCallback) ? onFinishOneTimeCallbacks : onFinishCallbacks;
|
|
221
244
|
callbacks.push({ c: callback, o: opts });
|
|
@@ -884,7 +907,33 @@ const createAnimation = (animationId) => {
|
|
|
884
907
|
numAnimationsRunning = childAnimations.length + 1;
|
|
885
908
|
shouldCalculateNumAnimations = false;
|
|
886
909
|
}
|
|
887
|
-
|
|
910
|
+
/**
|
|
911
|
+
* When one of these callbacks fires we
|
|
912
|
+
* need to clear the other's callback otherwise
|
|
913
|
+
* you can potentially get these callbacks
|
|
914
|
+
* firing multiple times if the play method
|
|
915
|
+
* is subsequently called.
|
|
916
|
+
* Example:
|
|
917
|
+
* animation.play() (onStop and onFinish callbacks are registered)
|
|
918
|
+
* animation.stop() (onStop callback is fired, onFinish is not)
|
|
919
|
+
* animation.play() (onStop and onFinish callbacks are registered)
|
|
920
|
+
* Total onStop callbacks: 1
|
|
921
|
+
* Total onFinish callbacks: 2
|
|
922
|
+
*/
|
|
923
|
+
const onStopCallback = () => {
|
|
924
|
+
clearCallback(onFinishCallback, onFinishOneTimeCallbacks);
|
|
925
|
+
resolve();
|
|
926
|
+
};
|
|
927
|
+
const onFinishCallback = () => {
|
|
928
|
+
clearCallback(onStopCallback, onStopOneTimeCallbacks);
|
|
929
|
+
resolve();
|
|
930
|
+
};
|
|
931
|
+
/**
|
|
932
|
+
* The play method resolves when an animation
|
|
933
|
+
* run either finishes or is cancelled.
|
|
934
|
+
*/
|
|
935
|
+
onFinish(onFinishCallback, { oneTimeCallback: true });
|
|
936
|
+
onStop(onStopCallback, { oneTimeCallback: true });
|
|
888
937
|
childAnimations.forEach((animation) => {
|
|
889
938
|
animation.play();
|
|
890
939
|
});
|
|
@@ -897,6 +946,14 @@ const createAnimation = (animationId) => {
|
|
|
897
946
|
paused = false;
|
|
898
947
|
});
|
|
899
948
|
};
|
|
949
|
+
/**
|
|
950
|
+
* Stops an animation and resets it state to the
|
|
951
|
+
* beginning. This does not fire any onFinish
|
|
952
|
+
* callbacks because the animation did not finish.
|
|
953
|
+
* However, since the animation was not destroyed
|
|
954
|
+
* (i.e. the animation could run again) we do not
|
|
955
|
+
* clear the onFinish callbacks.
|
|
956
|
+
*/
|
|
900
957
|
const stop = () => {
|
|
901
958
|
childAnimations.forEach((animation) => {
|
|
902
959
|
animation.stop();
|
|
@@ -906,6 +963,8 @@ const createAnimation = (animationId) => {
|
|
|
906
963
|
initialized = false;
|
|
907
964
|
}
|
|
908
965
|
resetFlags();
|
|
966
|
+
onStopOneTimeCallbacks.forEach((onStopCallback) => onStopCallback.c(0, ani));
|
|
967
|
+
onStopOneTimeCallbacks.length = 0;
|
|
909
968
|
};
|
|
910
969
|
const from = (property, value) => {
|
|
911
970
|
const firstFrame = _keyframes[0];
|
package/components/checkbox.js
CHANGED
package/components/ion-menu.js
CHANGED
|
@@ -33,6 +33,14 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
|
|
|
33
33
|
this.lastOnEnd = 0;
|
|
34
34
|
this.blocker = GESTURE_CONTROLLER.createBlocker({ disableScroll: true });
|
|
35
35
|
this.didLoad = false;
|
|
36
|
+
/**
|
|
37
|
+
* Flag used to determine if an open/close
|
|
38
|
+
* operation was cancelled. For example, if
|
|
39
|
+
* an app calls "menu.open" then disables the menu
|
|
40
|
+
* part way through the animation, then this would
|
|
41
|
+
* be considered a cancelled operation.
|
|
42
|
+
*/
|
|
43
|
+
this.operationCancelled = false;
|
|
36
44
|
this.isAnimating = false;
|
|
37
45
|
this._isOpen = false;
|
|
38
46
|
this.inheritedAttributes = {};
|
|
@@ -301,6 +309,15 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
|
|
|
301
309
|
this.beforeAnimation(shouldOpen);
|
|
302
310
|
await this.loadAnimation();
|
|
303
311
|
await this.startAnimation(shouldOpen, animated);
|
|
312
|
+
/**
|
|
313
|
+
* If the animation was cancelled then
|
|
314
|
+
* return false because the operation
|
|
315
|
+
* did not succeed.
|
|
316
|
+
*/
|
|
317
|
+
if (this.operationCancelled) {
|
|
318
|
+
this.operationCancelled = false;
|
|
319
|
+
return false;
|
|
320
|
+
}
|
|
304
321
|
this.afterAnimation(shouldOpen);
|
|
305
322
|
return true;
|
|
306
323
|
}
|
|
@@ -337,18 +354,23 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
|
|
|
337
354
|
const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;
|
|
338
355
|
const ani = this.animation
|
|
339
356
|
.direction(isReversed ? 'reverse' : 'normal')
|
|
340
|
-
.easing(isReversed ? easingReverse : easing)
|
|
341
|
-
.onFinish(() => {
|
|
342
|
-
if (ani.getDirection() === 'reverse') {
|
|
343
|
-
ani.direction('normal');
|
|
344
|
-
}
|
|
345
|
-
});
|
|
357
|
+
.easing(isReversed ? easingReverse : easing);
|
|
346
358
|
if (animated) {
|
|
347
359
|
await ani.play();
|
|
348
360
|
}
|
|
349
361
|
else {
|
|
350
362
|
ani.play({ sync: true });
|
|
351
363
|
}
|
|
364
|
+
/**
|
|
365
|
+
* We run this after the play invocation
|
|
366
|
+
* instead of using ani.onFinish so that
|
|
367
|
+
* multiple onFinish callbacks do not get
|
|
368
|
+
* run if an animation is played, stopped,
|
|
369
|
+
* and then played again.
|
|
370
|
+
*/
|
|
371
|
+
if (ani.getDirection() === 'reverse') {
|
|
372
|
+
ani.direction('normal');
|
|
373
|
+
}
|
|
352
374
|
}
|
|
353
375
|
_isActive() {
|
|
354
376
|
return !this.disabled && !this.isPaneVisible;
|
|
@@ -485,7 +507,6 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
|
|
|
485
507
|
}
|
|
486
508
|
afterAnimation(isOpen) {
|
|
487
509
|
var _a;
|
|
488
|
-
assert(this.isAnimating, '_before() should be called while animating');
|
|
489
510
|
// keep opening/closing the menu disabled for a touch more yet
|
|
490
511
|
// only add listeners/css if it's enabled and isOpen
|
|
491
512
|
// and only remove listeners/css if it's not open
|
|
@@ -544,10 +565,29 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
|
|
|
544
565
|
if (this.gesture) {
|
|
545
566
|
this.gesture.enable(isActive && this.swipeGesture);
|
|
546
567
|
}
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
568
|
+
/**
|
|
569
|
+
* If the menu is disabled but it is still open
|
|
570
|
+
* then we should close the menu immediately.
|
|
571
|
+
* Additionally, if the menu is in the process
|
|
572
|
+
* of animating {open, close} and the menu is disabled
|
|
573
|
+
* then it should still be closed immediately.
|
|
574
|
+
*/
|
|
575
|
+
if (!isActive) {
|
|
576
|
+
/**
|
|
577
|
+
* It is possible to disable the menu while
|
|
578
|
+
* it is mid-animation. When this happens, we
|
|
579
|
+
* need to set the operationCancelled flag
|
|
580
|
+
* so that this._setOpen knows to return false
|
|
581
|
+
* and not run the "afterAnimation" callback.
|
|
582
|
+
*/
|
|
583
|
+
if (this.isAnimating) {
|
|
584
|
+
this.operationCancelled = true;
|
|
585
|
+
}
|
|
586
|
+
/**
|
|
587
|
+
* If the menu is disabled then we should
|
|
588
|
+
* forcibly close the menu even if it is open.
|
|
589
|
+
*/
|
|
590
|
+
this.afterAnimation(false);
|
|
551
591
|
}
|
|
552
592
|
if (doc === null || doc === void 0 ? void 0 : doc.contains(this.el)) {
|
|
553
593
|
/**
|
|
@@ -560,14 +600,6 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
|
|
|
560
600
|
menuController._setActiveMenu(this);
|
|
561
601
|
}
|
|
562
602
|
}
|
|
563
|
-
assert(!this.isAnimating, 'can not be animating');
|
|
564
|
-
}
|
|
565
|
-
forceClosing() {
|
|
566
|
-
assert(this._isOpen, 'menu cannot be closed');
|
|
567
|
-
this.isAnimating = true;
|
|
568
|
-
const ani = this.animation.direction('reverse');
|
|
569
|
-
ani.play({ sync: true });
|
|
570
|
-
this.afterAnimation(false);
|
|
571
603
|
}
|
|
572
604
|
render() {
|
|
573
605
|
const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
|
package/components/ion-select.js
CHANGED
|
@@ -137,25 +137,39 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
|
|
|
137
137
|
await overlay.present();
|
|
138
138
|
// focus selected option for popovers
|
|
139
139
|
if (this.interface === 'popover') {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
140
|
+
const indexOfSelected = this.childOpts.map((o) => o.value).indexOf(this.value);
|
|
141
|
+
if (indexOfSelected > -1) {
|
|
142
|
+
const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
|
|
143
|
+
if (selectedItem) {
|
|
144
|
+
focusElement(selectedItem);
|
|
145
|
+
/**
|
|
146
|
+
* Browsers such as Firefox do not
|
|
147
|
+
* correctly delegate focus when manually
|
|
148
|
+
* focusing an element with delegatesFocus.
|
|
149
|
+
* We work around this by manually focusing
|
|
150
|
+
* the interactive element.
|
|
151
|
+
* ion-radio and ion-checkbox are the only
|
|
152
|
+
* elements that ion-select-popover uses, so
|
|
153
|
+
* we only need to worry about those two components
|
|
154
|
+
* when focusing.
|
|
155
|
+
*/
|
|
156
|
+
const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
|
|
157
|
+
if (interactiveEl) {
|
|
158
|
+
interactiveEl.focus();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
145
163
|
/**
|
|
146
|
-
*
|
|
147
|
-
* correctly delegate focus when manually
|
|
148
|
-
* focusing an element with delegatesFocus.
|
|
149
|
-
* We work around this by manually focusing
|
|
150
|
-
* the interactive element.
|
|
151
|
-
* ion-radio and ion-checkbox are the only
|
|
152
|
-
* elements that ion-select-popover uses, so
|
|
153
|
-
* we only need to worry about those two components
|
|
154
|
-
* when focusing.
|
|
164
|
+
* If no value is set then focus the first enabled option.
|
|
155
165
|
*/
|
|
156
|
-
const
|
|
157
|
-
if (
|
|
158
|
-
|
|
166
|
+
const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
|
|
167
|
+
if (firstEnabledOption) {
|
|
168
|
+
focusElement(firstEnabledOption.closest('ion-item'));
|
|
169
|
+
/**
|
|
170
|
+
* Focus the option for the same reason as we do above.
|
|
171
|
+
*/
|
|
172
|
+
firstEnabledOption.focus();
|
|
159
173
|
}
|
|
160
174
|
}
|
|
161
175
|
}
|
package/components/ion-toggle.js
CHANGED
|
@@ -38,7 +38,7 @@ const RadioGroup = /*@__PURE__*/ proxyCustomElement(class RadioGroup extends HTM
|
|
|
38
38
|
* using the `name` attribute.
|
|
39
39
|
*/
|
|
40
40
|
const selectedRadio = ev.target && ev.target.closest('ion-radio');
|
|
41
|
-
if (selectedRadio) {
|
|
41
|
+
if (selectedRadio && selectedRadio.disabled === false) {
|
|
42
42
|
const currentValue = this.value;
|
|
43
43
|
const newValue = selectedRadio.value;
|
|
44
44
|
if (newValue !== currentValue) {
|
package/components/radio.js
CHANGED
|
@@ -30,7 +30,10 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
|
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
this.onClick = () => {
|
|
33
|
-
const { radioGroup, checked } = this;
|
|
33
|
+
const { radioGroup, checked, disabled } = this;
|
|
34
|
+
if (disabled) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
34
37
|
/**
|
|
35
38
|
* The legacy control uses a native input inside
|
|
36
39
|
* of the radio host, so we can set this.checked
|
package/components/swipe-back.js
CHANGED
|
@@ -62,6 +62,10 @@ const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandl
|
|
|
62
62
|
return createGesture({
|
|
63
63
|
el,
|
|
64
64
|
gestureName: 'goback-swipe',
|
|
65
|
+
/**
|
|
66
|
+
* Swipe to go back should have priority over other horizontal swipe
|
|
67
|
+
* gestures. These gestures have a priority of 100 which is why 101 was chosen here.
|
|
68
|
+
*/
|
|
65
69
|
gesturePriority: 101,
|
|
66
70
|
threshold: 10,
|
|
67
71
|
canStart,
|
|
@@ -161,6 +161,7 @@ const createAnimation = (animationId) => {
|
|
|
161
161
|
const id = animationId;
|
|
162
162
|
const onFinishCallbacks = [];
|
|
163
163
|
const onFinishOneTimeCallbacks = [];
|
|
164
|
+
const onStopOneTimeCallbacks = [];
|
|
164
165
|
const elements = [];
|
|
165
166
|
const childAnimations = [];
|
|
166
167
|
const stylesheets = [];
|
|
@@ -218,6 +219,28 @@ const createAnimation = (animationId) => {
|
|
|
218
219
|
const isRunning = () => {
|
|
219
220
|
return numAnimationsRunning !== 0 && !paused;
|
|
220
221
|
};
|
|
222
|
+
/**
|
|
223
|
+
* @internal
|
|
224
|
+
* Remove a callback from a chosen callback array
|
|
225
|
+
* @param callbackToRemove: A reference to the callback that should be removed
|
|
226
|
+
* @param callbackObjects: An array of callbacks that callbackToRemove should be removed from.
|
|
227
|
+
*/
|
|
228
|
+
const clearCallback = (callbackToRemove, callbackObjects) => {
|
|
229
|
+
const index = callbackObjects.findIndex((callbackObject) => callbackObject.c === callbackToRemove);
|
|
230
|
+
if (index > -1) {
|
|
231
|
+
callbackObjects.splice(index, 1);
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
/**
|
|
235
|
+
* @internal
|
|
236
|
+
* Add a callback to be fired when an animation is stopped/cancelled.
|
|
237
|
+
* @param callback: A reference to the callback that should be fired
|
|
238
|
+
* @param opts: Any options associated with this particular callback
|
|
239
|
+
*/
|
|
240
|
+
const onStop = (callback, opts) => {
|
|
241
|
+
onStopOneTimeCallbacks.push({ c: callback, o: opts });
|
|
242
|
+
return ani;
|
|
243
|
+
};
|
|
221
244
|
const onFinish = (callback, opts) => {
|
|
222
245
|
const callbacks = (opts === null || opts === void 0 ? void 0 : opts.oneTimeCallback) ? onFinishOneTimeCallbacks : onFinishCallbacks;
|
|
223
246
|
callbacks.push({ c: callback, o: opts });
|
|
@@ -886,7 +909,33 @@ const createAnimation = (animationId) => {
|
|
|
886
909
|
numAnimationsRunning = childAnimations.length + 1;
|
|
887
910
|
shouldCalculateNumAnimations = false;
|
|
888
911
|
}
|
|
889
|
-
|
|
912
|
+
/**
|
|
913
|
+
* When one of these callbacks fires we
|
|
914
|
+
* need to clear the other's callback otherwise
|
|
915
|
+
* you can potentially get these callbacks
|
|
916
|
+
* firing multiple times if the play method
|
|
917
|
+
* is subsequently called.
|
|
918
|
+
* Example:
|
|
919
|
+
* animation.play() (onStop and onFinish callbacks are registered)
|
|
920
|
+
* animation.stop() (onStop callback is fired, onFinish is not)
|
|
921
|
+
* animation.play() (onStop and onFinish callbacks are registered)
|
|
922
|
+
* Total onStop callbacks: 1
|
|
923
|
+
* Total onFinish callbacks: 2
|
|
924
|
+
*/
|
|
925
|
+
const onStopCallback = () => {
|
|
926
|
+
clearCallback(onFinishCallback, onFinishOneTimeCallbacks);
|
|
927
|
+
resolve();
|
|
928
|
+
};
|
|
929
|
+
const onFinishCallback = () => {
|
|
930
|
+
clearCallback(onStopCallback, onStopOneTimeCallbacks);
|
|
931
|
+
resolve();
|
|
932
|
+
};
|
|
933
|
+
/**
|
|
934
|
+
* The play method resolves when an animation
|
|
935
|
+
* run either finishes or is cancelled.
|
|
936
|
+
*/
|
|
937
|
+
onFinish(onFinishCallback, { oneTimeCallback: true });
|
|
938
|
+
onStop(onStopCallback, { oneTimeCallback: true });
|
|
890
939
|
childAnimations.forEach((animation) => {
|
|
891
940
|
animation.play();
|
|
892
941
|
});
|
|
@@ -899,6 +948,14 @@ const createAnimation = (animationId) => {
|
|
|
899
948
|
paused = false;
|
|
900
949
|
});
|
|
901
950
|
};
|
|
951
|
+
/**
|
|
952
|
+
* Stops an animation and resets it state to the
|
|
953
|
+
* beginning. This does not fire any onFinish
|
|
954
|
+
* callbacks because the animation did not finish.
|
|
955
|
+
* However, since the animation was not destroyed
|
|
956
|
+
* (i.e. the animation could run again) we do not
|
|
957
|
+
* clear the onFinish callbacks.
|
|
958
|
+
*/
|
|
902
959
|
const stop = () => {
|
|
903
960
|
childAnimations.forEach((animation) => {
|
|
904
961
|
animation.stop();
|
|
@@ -908,6 +965,8 @@ const createAnimation = (animationId) => {
|
|
|
908
965
|
initialized = false;
|
|
909
966
|
}
|
|
910
967
|
resetFlags();
|
|
968
|
+
onStopOneTimeCallbacks.forEach((onStopCallback) => onStopCallback.c(0, ani));
|
|
969
|
+
onStopOneTimeCallbacks.length = 0;
|
|
911
970
|
};
|
|
912
971
|
const from = (property, value) => {
|
|
913
972
|
const firstFrame = _keyframes[0];
|