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
|
@@ -5,17 +5,17 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-305a23dc.js');
|
|
9
9
|
const formController = require('./form-controller-5e223b54.js');
|
|
10
10
|
const notchController = require('./notch-controller-f4f6af5d.js');
|
|
11
11
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
12
12
|
const index$1 = require('./index-cc7dfb7c.js');
|
|
13
|
-
const overlays = require('./overlays-
|
|
13
|
+
const overlays = require('./overlays-7e1a08fa.js');
|
|
14
14
|
const dir = require('./dir-f1e0ca26.js');
|
|
15
15
|
const theme = require('./theme-fbc56b3b.js');
|
|
16
16
|
const watchOptions = require('./watch-options-f3f77e54.js');
|
|
17
17
|
const index$2 = require('./index-d8d1fc0b.js');
|
|
18
|
-
const ionicGlobal = require('./ionic-global-
|
|
18
|
+
const ionicGlobal = require('./ionic-global-fb752503.js');
|
|
19
19
|
require('./index-306a7476.js');
|
|
20
20
|
require('./framework-delegate-c0873a6f.js');
|
|
21
21
|
require('./hardware-back-button-b67c8e75.js');
|
|
@@ -127,25 +127,39 @@ const Select = class {
|
|
|
127
127
|
await overlay.present();
|
|
128
128
|
// focus selected option for popovers
|
|
129
129
|
if (this.interface === 'popover') {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
130
|
+
const indexOfSelected = this.childOpts.map((o) => o.value).indexOf(this.value);
|
|
131
|
+
if (indexOfSelected > -1) {
|
|
132
|
+
const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
|
|
133
|
+
if (selectedItem) {
|
|
134
|
+
helpers.focusElement(selectedItem);
|
|
135
|
+
/**
|
|
136
|
+
* Browsers such as Firefox do not
|
|
137
|
+
* correctly delegate focus when manually
|
|
138
|
+
* focusing an element with delegatesFocus.
|
|
139
|
+
* We work around this by manually focusing
|
|
140
|
+
* the interactive element.
|
|
141
|
+
* ion-radio and ion-checkbox are the only
|
|
142
|
+
* elements that ion-select-popover uses, so
|
|
143
|
+
* we only need to worry about those two components
|
|
144
|
+
* when focusing.
|
|
145
|
+
*/
|
|
146
|
+
const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
|
|
147
|
+
if (interactiveEl) {
|
|
148
|
+
interactiveEl.focus();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
135
153
|
/**
|
|
136
|
-
*
|
|
137
|
-
* correctly delegate focus when manually
|
|
138
|
-
* focusing an element with delegatesFocus.
|
|
139
|
-
* We work around this by manually focusing
|
|
140
|
-
* the interactive element.
|
|
141
|
-
* ion-radio and ion-checkbox are the only
|
|
142
|
-
* elements that ion-select-popover uses, so
|
|
143
|
-
* we only need to worry about those two components
|
|
144
|
-
* when focusing.
|
|
154
|
+
* If no value is set then focus the first enabled option.
|
|
145
155
|
*/
|
|
146
|
-
const
|
|
147
|
-
if (
|
|
148
|
-
|
|
156
|
+
const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
|
|
157
|
+
if (firstEnabledOption) {
|
|
158
|
+
helpers.focusElement(firstEnabledOption.closest('ion-item'));
|
|
159
|
+
/**
|
|
160
|
+
* Focus the option for the same reason as we do above.
|
|
161
|
+
*/
|
|
162
|
+
firstEnabledOption.focus();
|
|
149
163
|
}
|
|
150
164
|
}
|
|
151
165
|
}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-305a23dc.js');
|
|
9
9
|
const theme = require('./theme-fbc56b3b.js');
|
|
10
|
-
const ionicGlobal = require('./ionic-global-
|
|
10
|
+
const ionicGlobal = require('./ionic-global-fb752503.js');
|
|
11
11
|
const spinnerConfigs = require('./spinner-configs-f7b5105b.js');
|
|
12
12
|
|
|
13
13
|
const spinnerCss = ":host{display:inline-block;position:relative;width:28px;height:28px;color:var(--color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.ion-color){color:var(--ion-color-base)}svg{-webkit-transform-origin:center;transform-origin:center;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}:host-context([dir=rtl]) svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){svg:dir(rtl){-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}}:host(.spinner-lines) line,:host(.spinner-lines-small) line{stroke-width:7px}:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-width:4px}:host(.spinner-lines) line,:host(.spinner-lines-small) line,:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-linecap:round;stroke:currentColor}:host(.spinner-lines) svg,:host(.spinner-lines-small) svg,:host(.spinner-lines-sharp) svg,:host(.spinner-lines-sharp-small) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}:host(.spinner-bubbles) svg{-webkit-animation:spinner-scale-out 1s linear infinite;animation:spinner-scale-out 1s linear infinite;fill:currentColor}:host(.spinner-circles) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite;fill:currentColor}:host(.spinner-crescent) circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px;stroke:currentColor}:host(.spinner-crescent) svg{-webkit-animation:spinner-rotate 1s linear infinite;animation:spinner-rotate 1s linear infinite}:host(.spinner-dots) circle{stroke-width:0;fill:currentColor}:host(.spinner-dots) svg{-webkit-animation:spinner-dots 1s linear infinite;animation:spinner-dots 1s linear infinite}:host(.spinner-circular) svg{-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}";
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const ionicGlobal = require('./ionic-global-
|
|
8
|
+
const index = require('./index-305a23dc.js');
|
|
9
|
+
const ionicGlobal = require('./ionic-global-fb752503.js');
|
|
10
10
|
|
|
11
11
|
const splitPaneIosCss = ":host{--side-width:100%;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}::slotted(ion-menu.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width);min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side),:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none !important;box-shadow:none !important;z-index:0}:host(.split-pane-visible) ::slotted(.split-pane-main){-ms-flex:1;flex:1}:host(.split-pane-visible) ::slotted(.split-pane-side:not(ion-menu)),:host(.split-pane-visible) ::slotted(ion-menu.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host(.split-pane-visible) ::slotted(.split-pane-side){-ms-flex-order:-1;order:-1}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host{--border:0.55px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--side-min-width:270px;--side-max-width:28%}:host(.split-pane-visible) ::slotted(.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}";
|
|
12
12
|
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-305a23dc.js');
|
|
9
9
|
const keyboardController = require('./keyboard-controller-50beb83a.js');
|
|
10
10
|
const theme = require('./theme-fbc56b3b.js');
|
|
11
|
-
const ionicGlobal = require('./ionic-global-
|
|
11
|
+
const ionicGlobal = require('./ionic-global-fb752503.js');
|
|
12
12
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
13
13
|
require('./index-306a7476.js');
|
|
14
14
|
require('./keyboard-fd7db491.js');
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-305a23dc.js');
|
|
9
9
|
const frameworkDelegate = require('./framework-delegate-c0873a6f.js');
|
|
10
10
|
require('./helpers-ea4ccbcb.js');
|
|
11
11
|
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-305a23dc.js');
|
|
9
9
|
const theme = require('./theme-fbc56b3b.js');
|
|
10
|
-
const ionicGlobal = require('./ionic-global-
|
|
10
|
+
const ionicGlobal = require('./ionic-global-fb752503.js');
|
|
11
11
|
|
|
12
12
|
const textCss = ":host(.ion-color){color:var(--ion-color-base)}";
|
|
13
13
|
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-305a23dc.js');
|
|
9
9
|
const formController = require('./form-controller-5e223b54.js');
|
|
10
10
|
const notchController = require('./notch-controller-f4f6af5d.js');
|
|
11
11
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
12
12
|
const index$1 = require('./index-cc7dfb7c.js');
|
|
13
13
|
const input_utils = require('./input.utils-0fe3097c.js');
|
|
14
14
|
const theme = require('./theme-fbc56b3b.js');
|
|
15
|
-
const ionicGlobal = require('./ionic-global-
|
|
15
|
+
const ionicGlobal = require('./ionic-global-fb752503.js');
|
|
16
16
|
require('./index-306a7476.js');
|
|
17
17
|
|
|
18
18
|
const textareaIosCss = ".sc-ion-textarea-ios-h{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:0.6;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}[cols].sc-ion-textarea-ios-h:not([auto-grow]){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.legacy-textarea.sc-ion-textarea-ios-h{-ms-flex:1;flex:1;background:var(--background);white-space:pre-wrap}.legacy-textarea.ion-color.sc-ion-textarea-ios-h{color:var(--ion-color-base)}.sc-ion-textarea-ios-h:not(.legacy-textarea){--padding-bottom:8px}.ion-color.sc-ion-textarea-ios-h{--highlight-color-focused:var(--ion-color-base);background:initial}ion-item.sc-ion-textarea-ios-h,ion-item .sc-ion-textarea-ios-h{-ms-flex-item-align:baseline;align-self:baseline}ion-item.sc-ion-textarea-ios-h:not(.item-label),ion-item:not(.item-label) .sc-ion-textarea-ios-h{--padding-start:0}ion-item[slot=start].sc-ion-textarea-ios-h,ion-item [slot=start].sc-ion-textarea-ios-h,ion-item[slot=end].sc-ion-textarea-ios-h,ion-item [slot=end].sc-ion-textarea-ios-h{width:auto}.native-textarea.sc-ion-textarea-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea.sc-ion-textarea-ios::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.legacy-textarea.sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios{white-space:inherit}.legacy-textarea.sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios,.legacy-textarea.sc-ion-textarea-ios-h .textarea-legacy-wrapper.sc-ion-textarea-ios::after{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius)}.native-textarea.sc-ion-textarea-ios{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.legacy-textarea.sc-ion-textarea-ios-h .textarea-legacy-wrapper.sc-ion-textarea-ios::after{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input.sc-ion-textarea-ios{top:0;bottom:0;position:absolute;pointer-events:none}@supports (inset-inline-start: 0){.cloned-input.sc-ion-textarea-ios{inset-inline-start:0}}@supports not (inset-inline-start: 0){.cloned-input.sc-ion-textarea-ios{left:0}[dir=rtl].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{left:unset;right:unset;right:0}[dir=rtl].sc-ion-textarea-ios .cloned-input.sc-ion-textarea-ios{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.cloned-input.sc-ion-textarea-ios:dir(rtl){left:unset;right:unset;right:0}}}.cloned-input.sc-ion-textarea-ios:disabled{opacity:1}.legacy-textarea[auto-grow].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}[auto-grow].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{height:100%}[auto-grow].sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios{overflow:hidden}.item-label-floating.item-has-placeholder.sc-ion-textarea-ios-h:not(.item-has-value),.item-label-floating.item-has-placeholder:not(.item-has-value) .sc-ion-textarea-ios-h{opacity:0}.item-label-floating.item-has-placeholder.sc-ion-textarea-ios-h:not(.item-has-value).item-has-focus,.item-label-floating.item-has-placeholder:not(.item-has-value).item-has-focus .sc-ion-textarea-ios-h{-webkit-transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.textarea-wrapper.sc-ion-textarea-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0px;padding-bottom:0px;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.native-wrapper.sc-ion-textarea-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;width:100%;height:100%}.has-focus.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{caret-color:var(--highlight-color)}.native-wrapper.sc-ion-textarea-ios textarea.sc-ion-textarea-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}.native-wrapper.sc-ion-textarea-ios,.textarea-legacy-wrapper.sc-ion-textarea-ios{display:grid;min-width:inherit;max-width:inherit;min-height:inherit;max-height:inherit;grid-auto-rows:100%}.native-wrapper.sc-ion-textarea-ios::after,.textarea-legacy-wrapper.sc-ion-textarea-ios::after{white-space:pre-wrap;content:attr(data-replicated-value) \" \";visibility:hidden}.native-wrapper.sc-ion-textarea-ios::after{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-valid)}.textarea-bottom.sc-ion-textarea-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:12px}.has-focus.ion-valid.sc-ion-textarea-ios-h,.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--border-color:var(--highlight-color)}.textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:none;color:var(--highlight-color-invalid)}.textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:block;color:var(--ion-color-step-550, #737373)}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:block}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:none}.textarea-bottom.sc-ion-textarea-ios .counter.sc-ion-textarea-ios{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--ion-color-step-550, #737373);white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}.label-text-wrapper.sc-ion-textarea-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text.sc-ion-textarea-ios,.sc-ion-textarea-ios-s>[slot=label]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden.sc-ion-textarea-ios,.textarea-outline-notch-hidden.sc-ion-textarea-ios{display:none}.textarea-wrapper.sc-ion-textarea-ios textarea.sc-ion-textarea-ios{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-label-placement-start.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:row;flex-direction:row}.textarea-label-placement-start.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-end.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.textarea-label-placement-end.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text.sc-ion-textarea-ios{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:left top;transform-origin:left top;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;max-width:100%;z-index:2}[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios:dir(rtl),.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.textarea-label-placement-stacked.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-stacked[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after,.textarea-label-placement-floating[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:0}.has-focus.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.has-value.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:1}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.has-focus.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.has-value.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.sc-ion-textarea-ios-h{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--padding-top:10px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;font-size:inherit}.legacy-textarea.sc-ion-textarea-ios-h{--padding-top:10px;--padding-end:8px;--padding-bottom:10px;--padding-start:0}.item-label-stacked.sc-ion-textarea-ios-h,.item-label-stacked .sc-ion-textarea-ios-h,.item-label-floating.sc-ion-textarea-ios-h,.item-label-floating .sc-ion-textarea-ios-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0px}.legacy-textarea.sc-ion-textarea-ios-h .native-textarea[disabled].sc-ion-textarea-ios,.textarea-disabled.sc-ion-textarea-ios-h{opacity:0.3}.sc-ion-textarea-ios-h:not(.legacy-textarea){min-height:44px}.textarea-label-placement-floating.sc-ion-textarea-ios-h,.textarea-label-placement-stacked.sc-ion-textarea-ios-h{--padding-top:0px;min-height:56px}";
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-305a23dc.js');
|
|
9
9
|
const config = require('./config-d5882735.js');
|
|
10
10
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
11
11
|
const lockController = require('./lock-controller-4ae2eb59.js');
|
|
12
12
|
const index$1 = require('./index-cc7dfb7c.js');
|
|
13
|
-
const overlays = require('./overlays-
|
|
13
|
+
const overlays = require('./overlays-7e1a08fa.js');
|
|
14
14
|
const theme = require('./theme-fbc56b3b.js');
|
|
15
|
-
const ionicGlobal = require('./ionic-global-
|
|
16
|
-
const animation = require('./animation-
|
|
15
|
+
const ionicGlobal = require('./ionic-global-fb752503.js');
|
|
16
|
+
const animation = require('./animation-c8bdd3c7.js');
|
|
17
17
|
require('./index-306a7476.js');
|
|
18
18
|
require('./framework-delegate-c0873a6f.js');
|
|
19
19
|
require('./hardware-back-button-b67c8e75.js');
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-305a23dc.js');
|
|
9
9
|
const formController = require('./form-controller-5e223b54.js');
|
|
10
10
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
11
11
|
const index$2 = require('./index-cc7dfb7c.js');
|
|
@@ -13,7 +13,7 @@ const haptic = require('./haptic-c5f6b4d5.js');
|
|
|
13
13
|
const dir = require('./dir-f1e0ca26.js');
|
|
14
14
|
const theme = require('./theme-fbc56b3b.js');
|
|
15
15
|
const index$1 = require('./index-d8d1fc0b.js');
|
|
16
|
-
const ionicGlobal = require('./ionic-global-
|
|
16
|
+
const ionicGlobal = require('./ionic-global-fb752503.js');
|
|
17
17
|
require('./capacitor-2ffba62a.js');
|
|
18
18
|
require('./index-306a7476.js');
|
|
19
19
|
|
|
@@ -51,6 +51,9 @@ const Toggle = class {
|
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
53
|
this.onClick = (ev) => {
|
|
54
|
+
if (this.disabled) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
54
57
|
ev.preventDefault();
|
|
55
58
|
if (this.lastDrag + 300 < Date.now()) {
|
|
56
59
|
this.toggleChecked();
|
package/dist/cjs/ionic.cjs.js
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const appGlobals = require('./app-globals-
|
|
10
|
-
require('./ionic-global-
|
|
8
|
+
const index = require('./index-305a23dc.js');
|
|
9
|
+
const appGlobals = require('./app-globals-fe1ad535.js');
|
|
10
|
+
require('./ionic-global-fb752503.js');
|
|
11
11
|
|
|
12
12
|
/*
|
|
13
|
-
Stencil Client Patch Browser v4.4.
|
|
13
|
+
Stencil Client Patch Browser v4.4.1 | MIT Licensed | https://stenciljs.com
|
|
14
14
|
*/
|
|
15
15
|
const patchBrowser = () => {
|
|
16
16
|
const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('ionic.cjs.js', document.baseURI).href));
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
const animation = require('./animation-
|
|
7
|
-
const index = require('./index-
|
|
6
|
+
const animation = require('./animation-c8bdd3c7.js');
|
|
7
|
+
const index = require('./index-d3568232.js');
|
|
8
8
|
require('./index-306a7476.js');
|
|
9
9
|
require('./helpers-ea4ccbcb.js');
|
|
10
|
-
require('./index-
|
|
10
|
+
require('./index-305a23dc.js');
|
|
11
11
|
|
|
12
12
|
const DURATION = 540;
|
|
13
13
|
// TODO(FW-2832): types
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const appGlobals = require('./app-globals-
|
|
10
|
-
require('./ionic-global-
|
|
8
|
+
const index = require('./index-305a23dc.js');
|
|
9
|
+
const appGlobals = require('./app-globals-fe1ad535.js');
|
|
10
|
+
require('./ionic-global-fb752503.js');
|
|
11
11
|
|
|
12
12
|
const defineCustomElements = (win, options) => {
|
|
13
13
|
if (typeof window === 'undefined') return undefined;
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
const animation = require('./animation-
|
|
7
|
-
const index = require('./index-
|
|
6
|
+
const animation = require('./animation-c8bdd3c7.js');
|
|
7
|
+
const index = require('./index-d3568232.js');
|
|
8
8
|
require('./index-306a7476.js');
|
|
9
9
|
require('./helpers-ea4ccbcb.js');
|
|
10
|
-
require('./index-
|
|
10
|
+
require('./index-305a23dc.js');
|
|
11
11
|
|
|
12
12
|
const mdTransitionAnimation = (_, opts) => {
|
|
13
13
|
var _a, _b, _c;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
const index = require('./index-306a7476.js');
|
|
7
|
-
const ionicGlobal = require('./ionic-global-
|
|
7
|
+
const ionicGlobal = require('./ionic-global-fb752503.js');
|
|
8
8
|
const frameworkDelegate = require('./framework-delegate-c0873a6f.js');
|
|
9
9
|
const hardwareBackButton = require('./hardware-back-button-b67c8e75.js');
|
|
10
10
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
@@ -65,6 +65,10 @@ const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandl
|
|
|
65
65
|
return index.createGesture({
|
|
66
66
|
el,
|
|
67
67
|
gestureName: 'goback-swipe',
|
|
68
|
+
/**
|
|
69
|
+
* Swipe to go back should have priority over other horizontal swipe
|
|
70
|
+
* gestures. These gestures have a priority of 100 which is why 101 was chosen here.
|
|
71
|
+
*/
|
|
68
72
|
gesturePriority: 101,
|
|
69
73
|
threshold: 10,
|
|
70
74
|
canStart,
|
|
@@ -24,6 +24,14 @@ export class Menu {
|
|
|
24
24
|
this.lastOnEnd = 0;
|
|
25
25
|
this.blocker = GESTURE_CONTROLLER.createBlocker({ disableScroll: true });
|
|
26
26
|
this.didLoad = false;
|
|
27
|
+
/**
|
|
28
|
+
* Flag used to determine if an open/close
|
|
29
|
+
* operation was cancelled. For example, if
|
|
30
|
+
* an app calls "menu.open" then disables the menu
|
|
31
|
+
* part way through the animation, then this would
|
|
32
|
+
* be considered a cancelled operation.
|
|
33
|
+
*/
|
|
34
|
+
this.operationCancelled = false;
|
|
27
35
|
this.isAnimating = false;
|
|
28
36
|
this._isOpen = false;
|
|
29
37
|
this.inheritedAttributes = {};
|
|
@@ -292,6 +300,15 @@ export class Menu {
|
|
|
292
300
|
this.beforeAnimation(shouldOpen);
|
|
293
301
|
await this.loadAnimation();
|
|
294
302
|
await this.startAnimation(shouldOpen, animated);
|
|
303
|
+
/**
|
|
304
|
+
* If the animation was cancelled then
|
|
305
|
+
* return false because the operation
|
|
306
|
+
* did not succeed.
|
|
307
|
+
*/
|
|
308
|
+
if (this.operationCancelled) {
|
|
309
|
+
this.operationCancelled = false;
|
|
310
|
+
return false;
|
|
311
|
+
}
|
|
295
312
|
this.afterAnimation(shouldOpen);
|
|
296
313
|
return true;
|
|
297
314
|
}
|
|
@@ -328,18 +345,23 @@ export class Menu {
|
|
|
328
345
|
const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;
|
|
329
346
|
const ani = this.animation
|
|
330
347
|
.direction(isReversed ? 'reverse' : 'normal')
|
|
331
|
-
.easing(isReversed ? easingReverse : easing)
|
|
332
|
-
.onFinish(() => {
|
|
333
|
-
if (ani.getDirection() === 'reverse') {
|
|
334
|
-
ani.direction('normal');
|
|
335
|
-
}
|
|
336
|
-
});
|
|
348
|
+
.easing(isReversed ? easingReverse : easing);
|
|
337
349
|
if (animated) {
|
|
338
350
|
await ani.play();
|
|
339
351
|
}
|
|
340
352
|
else {
|
|
341
353
|
ani.play({ sync: true });
|
|
342
354
|
}
|
|
355
|
+
/**
|
|
356
|
+
* We run this after the play invocation
|
|
357
|
+
* instead of using ani.onFinish so that
|
|
358
|
+
* multiple onFinish callbacks do not get
|
|
359
|
+
* run if an animation is played, stopped,
|
|
360
|
+
* and then played again.
|
|
361
|
+
*/
|
|
362
|
+
if (ani.getDirection() === 'reverse') {
|
|
363
|
+
ani.direction('normal');
|
|
364
|
+
}
|
|
343
365
|
}
|
|
344
366
|
_isActive() {
|
|
345
367
|
return !this.disabled && !this.isPaneVisible;
|
|
@@ -476,7 +498,6 @@ export class Menu {
|
|
|
476
498
|
}
|
|
477
499
|
afterAnimation(isOpen) {
|
|
478
500
|
var _a;
|
|
479
|
-
assert(this.isAnimating, '_before() should be called while animating');
|
|
480
501
|
// keep opening/closing the menu disabled for a touch more yet
|
|
481
502
|
// only add listeners/css if it's enabled and isOpen
|
|
482
503
|
// and only remove listeners/css if it's not open
|
|
@@ -535,10 +556,29 @@ export class Menu {
|
|
|
535
556
|
if (this.gesture) {
|
|
536
557
|
this.gesture.enable(isActive && this.swipeGesture);
|
|
537
558
|
}
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
559
|
+
/**
|
|
560
|
+
* If the menu is disabled but it is still open
|
|
561
|
+
* then we should close the menu immediately.
|
|
562
|
+
* Additionally, if the menu is in the process
|
|
563
|
+
* of animating {open, close} and the menu is disabled
|
|
564
|
+
* then it should still be closed immediately.
|
|
565
|
+
*/
|
|
566
|
+
if (!isActive) {
|
|
567
|
+
/**
|
|
568
|
+
* It is possible to disable the menu while
|
|
569
|
+
* it is mid-animation. When this happens, we
|
|
570
|
+
* need to set the operationCancelled flag
|
|
571
|
+
* so that this._setOpen knows to return false
|
|
572
|
+
* and not run the "afterAnimation" callback.
|
|
573
|
+
*/
|
|
574
|
+
if (this.isAnimating) {
|
|
575
|
+
this.operationCancelled = true;
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* If the menu is disabled then we should
|
|
579
|
+
* forcibly close the menu even if it is open.
|
|
580
|
+
*/
|
|
581
|
+
this.afterAnimation(false);
|
|
542
582
|
}
|
|
543
583
|
if (doc === null || doc === void 0 ? void 0 : doc.contains(this.el)) {
|
|
544
584
|
/**
|
|
@@ -551,14 +591,6 @@ export class Menu {
|
|
|
551
591
|
menuController._setActiveMenu(this);
|
|
552
592
|
}
|
|
553
593
|
}
|
|
554
|
-
assert(!this.isAnimating, 'can not be animating');
|
|
555
|
-
}
|
|
556
|
-
forceClosing() {
|
|
557
|
-
assert(this._isOpen, 'menu cannot be closed');
|
|
558
|
-
this.isAnimating = true;
|
|
559
|
-
const ani = this.animation.direction('reverse');
|
|
560
|
-
ani.play({ sync: true });
|
|
561
|
-
this.afterAnimation(false);
|
|
562
594
|
}
|
|
563
595
|
render() {
|
|
564
596
|
const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { expect } from "@playwright/test";
|
|
5
|
+
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
|
+
/**
|
|
7
|
+
* This behavior does not vary across modes/directions
|
|
8
|
+
*/
|
|
9
|
+
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
10
|
+
test.describe(title('menu: disable'), () => {
|
|
11
|
+
test.beforeEach(async ({ page }) => {
|
|
12
|
+
await page.goto(`/src/components/menu/test/disable`, config);
|
|
13
|
+
});
|
|
14
|
+
test('should disable when menu is fully open', async ({ page }) => {
|
|
15
|
+
const logs = [];
|
|
16
|
+
page.on('console', (msg) => {
|
|
17
|
+
if (msg.type() === 'error') {
|
|
18
|
+
logs.push(msg.text());
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
const menu = page.locator('ion-menu');
|
|
22
|
+
// Should be visible on initial presentation
|
|
23
|
+
await menu.evaluate((el) => el.open());
|
|
24
|
+
await expect(menu).toBeVisible();
|
|
25
|
+
// Disabling menu should hide it
|
|
26
|
+
await menu.evaluate((el) => (el.disabled = true));
|
|
27
|
+
await expect(menu).toBeHidden();
|
|
28
|
+
// Re-enabling menu and opening it show make it visible
|
|
29
|
+
await menu.evaluate((el) => (el.disabled = false));
|
|
30
|
+
await menu.evaluate((el) => el.open());
|
|
31
|
+
await expect(menu).toBeVisible();
|
|
32
|
+
expect(logs.length).toBe(0);
|
|
33
|
+
});
|
|
34
|
+
test('should disable when menu is animating', async ({ page }) => {
|
|
35
|
+
const logs = [];
|
|
36
|
+
page.on('console', (msg) => {
|
|
37
|
+
if (msg.type() === 'error') {
|
|
38
|
+
logs.push(msg.text());
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const menu = page.locator('ion-menu');
|
|
42
|
+
// Opening and quickly disabling menu should hide it
|
|
43
|
+
menu.evaluate((el) => {
|
|
44
|
+
el.open();
|
|
45
|
+
setTimeout(() => (el.disabled = true), 0);
|
|
46
|
+
});
|
|
47
|
+
await expect(menu).toBeHidden();
|
|
48
|
+
// Re-enabling menu and opening it show make it visible
|
|
49
|
+
await menu.evaluate((el) => (el.disabled = false));
|
|
50
|
+
await menu.evaluate((el) => el.open());
|
|
51
|
+
await expect(menu).toBeVisible();
|
|
52
|
+
expect(logs.length).toBe(0);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
});
|
|
@@ -27,7 +27,10 @@ export class Radio {
|
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
29
|
this.onClick = () => {
|
|
30
|
-
const { radioGroup, checked } = this;
|
|
30
|
+
const { radioGroup, checked, disabled } = this;
|
|
31
|
+
if (disabled) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
31
34
|
/**
|
|
32
35
|
* The legacy control uses a native input inside
|
|
33
36
|
* of the radio host, so we can set this.checked
|
|
@@ -33,7 +33,7 @@ export class RadioGroup {
|
|
|
33
33
|
* using the `name` attribute.
|
|
34
34
|
*/
|
|
35
35
|
const selectedRadio = ev.target && ev.target.closest('ion-radio');
|
|
36
|
-
if (selectedRadio) {
|
|
36
|
+
if (selectedRadio && selectedRadio.disabled === false) {
|
|
37
37
|
const currentValue = this.value;
|
|
38
38
|
const newValue = selectedRadio.value;
|
|
39
39
|
if (newValue !== currentValue) {
|
|
@@ -119,25 +119,39 @@ export class Select {
|
|
|
119
119
|
await overlay.present();
|
|
120
120
|
// focus selected option for popovers
|
|
121
121
|
if (this.interface === 'popover') {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
122
|
+
const indexOfSelected = this.childOpts.map((o) => o.value).indexOf(this.value);
|
|
123
|
+
if (indexOfSelected > -1) {
|
|
124
|
+
const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
|
|
125
|
+
if (selectedItem) {
|
|
126
|
+
focusElement(selectedItem);
|
|
127
|
+
/**
|
|
128
|
+
* Browsers such as Firefox do not
|
|
129
|
+
* correctly delegate focus when manually
|
|
130
|
+
* focusing an element with delegatesFocus.
|
|
131
|
+
* We work around this by manually focusing
|
|
132
|
+
* the interactive element.
|
|
133
|
+
* ion-radio and ion-checkbox are the only
|
|
134
|
+
* elements that ion-select-popover uses, so
|
|
135
|
+
* we only need to worry about those two components
|
|
136
|
+
* when focusing.
|
|
137
|
+
*/
|
|
138
|
+
const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
|
|
139
|
+
if (interactiveEl) {
|
|
140
|
+
interactiveEl.focus();
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
127
145
|
/**
|
|
128
|
-
*
|
|
129
|
-
* correctly delegate focus when manually
|
|
130
|
-
* focusing an element with delegatesFocus.
|
|
131
|
-
* We work around this by manually focusing
|
|
132
|
-
* the interactive element.
|
|
133
|
-
* ion-radio and ion-checkbox are the only
|
|
134
|
-
* elements that ion-select-popover uses, so
|
|
135
|
-
* we only need to worry about those two components
|
|
136
|
-
* when focusing.
|
|
146
|
+
* If no value is set then focus the first enabled option.
|
|
137
147
|
*/
|
|
138
|
-
const
|
|
139
|
-
if (
|
|
140
|
-
|
|
148
|
+
const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
|
|
149
|
+
if (firstEnabledOption) {
|
|
150
|
+
focusElement(firstEnabledOption.closest('ion-item'));
|
|
151
|
+
/**
|
|
152
|
+
* Focus the option for the same reason as we do above.
|
|
153
|
+
*/
|
|
154
|
+
firstEnabledOption.focus();
|
|
141
155
|
}
|
|
142
156
|
}
|
|
143
157
|
}
|