@ionic/core 7.4.4-dev.11700515976.1ccd503d → 7.4.4-dev.11700516449.1d005735
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/alert.js +0 -8
- package/components/checkbox.js +3 -0
- package/components/data.js +22 -96
- package/components/haptic.js +0 -1
- package/components/icon.js +5 -9
- package/components/index.js +0 -1
- package/components/index4.js +19 -26
- package/components/index7.js +1 -1
- package/components/ion-datetime-button.js +4 -4
- package/components/ion-datetime.js +3 -3
- package/components/ion-menu.js +12 -0
- package/components/ion-nav.js +0 -1
- package/components/ion-router.js +0 -3
- package/components/ion-select.js +1 -1
- package/components/ion-toast.js +13 -157
- package/components/ion-toggle.js +3 -0
- package/components/ios.transition.js +0 -1
- package/components/overlays.js +0 -1
- package/components/radio-group.js +1 -1
- package/components/radio.js +4 -1
- package/dist/cjs/{app-globals-84b6a756.js → app-globals-fe1ad535.js} +1 -1
- package/dist/cjs/{button-active-f2147e85.js → button-active-0932cee9.js} +2 -2
- package/dist/cjs/{data-c8d21093.js → data-db832785.js} +22 -96
- package/dist/cjs/{haptic-678abc9f.js → haptic-c5f6b4d5.js} +0 -1
- package/dist/cjs/{index-14a4821e.js → index-305a23dc.js} +95 -51
- package/dist/cjs/{index-33d2809c.js → index-d3568232.js} +3 -3
- package/dist/cjs/{index-d8f84c5a.js → index-d8d1fc0b.js} +1 -1
- package/dist/cjs/{index-2e612e35.js → index-f94cbab1.js} +20 -27
- package/dist/cjs/index.cjs.js +8 -10
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
- package/dist/cjs/ion-alert.cjs.entry.js +5 -13
- package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-button_2.cjs.entry.js +7 -11
- 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 +6 -6
- package/dist/cjs/ion-datetime_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
- 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 +3 -3
- package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
- package/dist/cjs/ion-loading.cjs.entry.js +3 -3
- package/dist/cjs/ion-menu_3.cjs.entry.js +19 -8
- package/dist/cjs/ion-modal.cjs.entry.js +4 -4
- package/dist/cjs/ion-nav_2.cjs.entry.js +3 -4
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +4 -4
- 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 +4 -4
- package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -5
- package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +5 -5
- 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 +33 -175
- package/dist/cjs/ion-toggle.cjs.entry.js +7 -4
- package/dist/cjs/{ionic-global-a71608df.js → ionic-global-fb752503.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-8ddf91e6.js → ios.transition-7d688757.js} +2 -3
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-44ff8566.js → md.transition-d77d3c2e.js} +2 -2
- package/dist/cjs/{overlays-9cab437c.js → overlays-7e1a08fa.js} +1 -2
- package/dist/cjs/{status-tap-8c22e017.js → status-tap-778e8054.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/alert/alert.js +0 -8
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +0 -11
- package/dist/collection/components/checkbox/checkbox.js +3 -0
- package/dist/collection/components/datetime/datetime.js +6 -12
- package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +0 -14
- package/dist/collection/components/datetime/utils/data.js +7 -33
- package/dist/collection/components/datetime/utils/format.js +10 -27
- package/dist/collection/components/datetime/utils/helpers.js +5 -37
- package/dist/collection/components/datetime-button/datetime-button.js +4 -4
- package/dist/collection/components/menu/menu.js +12 -0
- package/dist/collection/components/nav/nav.js +0 -1
- package/dist/collection/components/radio/radio.js +4 -1
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/router/router.js +0 -2
- package/dist/collection/components/router/utils/path.js +0 -1
- package/dist/collection/components/select/select.js +1 -1
- package/dist/collection/components/toast/animations/ios.enter.js +3 -2
- package/dist/collection/components/toast/animations/ios.leave.js +3 -2
- package/dist/collection/components/toast/animations/md.enter.js +3 -2
- package/dist/collection/components/toast/toast.js +9 -98
- package/dist/collection/components/toggle/toggle.js +3 -0
- package/dist/collection/index.js +0 -1
- package/dist/collection/utils/menu-controller/index.js +19 -26
- package/dist/collection/utils/native/haptic.js +0 -1
- package/dist/collection/utils/overlays.js +0 -1
- package/dist/collection/utils/transition/ios.transition.js +0 -1
- package/dist/docs.json +11 -74
- package/dist/esm/{app-globals-df292a32.js → app-globals-ec816a70.js} +1 -1
- package/dist/esm/{button-active-3dd473a1.js → button-active-5136c12d.js} +2 -2
- package/dist/esm/{data-44d9e816.js → data-009dbf15.js} +22 -96
- package/dist/esm/{haptic-1243b917.js → haptic-6447af60.js} +0 -1
- package/dist/esm/{index-6e10cd02.js → index-641aeeed.js} +3 -3
- package/dist/esm/{index-cb894020.js → index-b49b173c.js} +95 -51
- package/dist/esm/{index-c3e624b7.js → index-d78b533e.js} +20 -27
- package/dist/esm/{index-504b03f0.js → index-ecfc2c9f.js} +1 -1
- package/dist/esm/index.js +8 -9
- package/dist/esm/ion-accordion_2.entry.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +5 -5
- package/dist/esm/ion-alert.entry.js +5 -13
- package/dist/esm/ion-app_8.entry.js +4 -4
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +3 -3
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
- package/dist/esm/ion-button_2.entry.js +7 -11
- 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 +6 -6
- package/dist/esm/ion-datetime_3.entry.js +8 -8
- package/dist/esm/ion-fab_3.entry.js +3 -3
- 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 +3 -3
- package/dist/esm/ion-item-option_3.entry.js +2 -2
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +3 -3
- package/dist/esm/ion-menu_3.entry.js +18 -7
- package/dist/esm/ion-modal.entry.js +4 -4
- package/dist/esm/ion-nav_2.entry.js +3 -4
- package/dist/esm/ion-picker-column-internal.entry.js +3 -3
- package/dist/esm/ion-picker-internal.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +4 -4
- 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 +4 -4
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +2 -5
- package/dist/esm/ion-searchbar.entry.js +3 -3
- package/dist/esm/ion-segment_2.entry.js +2 -2
- package/dist/esm/ion-select_3.entry.js +5 -5
- 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 +17 -159
- package/dist/esm/ion-toggle.entry.js +7 -4
- package/dist/esm/{ionic-global-63a8d8c9.js → ionic-global-246ca78f.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-6707a3a1.js → ios.transition-04c9a97a.js} +2 -3
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-957964fd.js → md.transition-67a8aabd.js} +2 -2
- package/dist/esm/{overlays-753933fc.js → overlays-2fa52617.js} +1 -2
- package/dist/esm/{status-tap-73e982b6.js → status-tap-9aeeaca5.js} +1 -1
- package/dist/esm-es5/app-globals-ec816a70.js +4 -0
- package/dist/esm-es5/{button-active-3dd473a1.js → button-active-5136c12d.js} +1 -1
- package/dist/esm-es5/data-009dbf15.js +4 -0
- package/dist/esm-es5/{index-6e10cd02.js → index-641aeeed.js} +1 -1
- package/dist/esm-es5/index-b49b173c.js +5 -0
- package/dist/esm-es5/index-d78b533e.js +4 -0
- 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-6707a3a1.js → ios.transition-04c9a97a.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{md.transition-957964fd.js → md.transition-67a8aabd.js} +1 -1
- package/dist/esm-es5/{overlays-753933fc.js → overlays-2fa52617.js} +1 -1
- package/dist/esm-es5/{status-tap-73e982b6.js → status-tap-9aeeaca5.js} +1 -1
- package/dist/html.html-data.json +1 -11
- 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-9dbc208c.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-44fa0a61.entry.js → p-048f1ebe.entry.js} +1 -1
- package/dist/ionic/{p-b7ac706d.entry.js → p-04e7c8fd.entry.js} +1 -1
- package/dist/ionic/p-05ae600a.system.js +4 -0
- package/dist/ionic/p-06ac429a.js +5 -0
- package/dist/ionic/p-0c37546b.system.entry.js +4 -0
- package/dist/ionic/{p-5b5311f6.system.entry.js → p-0d74acfb.system.entry.js} +1 -1
- package/dist/ionic/{p-7887ac7a.entry.js → p-108f9d49.entry.js} +1 -1
- package/dist/ionic/{p-ccdd595c.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-1c82e9ff.js +4 -0
- package/dist/ionic/{p-48159bfc.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-db8b267a.system.entry.js → p-238f0ac5.system.entry.js} +1 -1
- package/dist/ionic/{p-0d3d44e7.entry.js → p-257cf0b7.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-3634b770.system.entry.js → p-32717950.system.entry.js} +1 -1
- package/dist/ionic/p-32d364f0.entry.js +4 -0
- package/dist/ionic/{p-c09e1da9.system.entry.js → p-33a8349a.system.entry.js} +1 -1
- package/dist/ionic/{p-4555335a.entry.js → p-35818410.entry.js} +1 -1
- package/dist/ionic/{p-b4f14d9e.entry.js → p-35eb1d95.entry.js} +1 -1
- package/dist/ionic/p-37448ac1.entry.js +4 -0
- 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-c0c794dd.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-44ef7224.system.js +4 -0
- package/dist/ionic/{p-bc7420cc.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-6a92db9d.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-e0f66356.system.js → p-51269f3b.system.js} +1 -1
- package/dist/ionic/{p-14fd96a2.system.entry.js → p-5403baaa.system.entry.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-10fcb3a3.system.entry.js → p-576e6d0f.system.entry.js} +1 -1
- package/dist/ionic/{p-6a3c14d1.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-5c3e72a8.system.js +4 -0
- package/dist/ionic/p-5c651aab.system.entry.js +4 -0
- package/dist/ionic/{p-ae57449e.system.entry.js → p-5cd791b3.system.entry.js} +1 -1
- package/dist/ionic/p-5ece7025.system.js +4 -0
- package/dist/ionic/{p-70441a5b.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-ee8881d0.js → p-63505fbb.js} +1 -1
- package/dist/ionic/{p-efd574eb.system.entry.js → p-645fb6e5.system.entry.js} +1 -1
- package/dist/ionic/{p-ef4408d6.entry.js → p-64e20cd9.entry.js} +1 -1
- package/dist/ionic/p-65a5761f.js +4 -0
- package/dist/ionic/{p-416d7f8d.system.entry.js → p-6ac3e877.system.entry.js} +1 -1
- package/dist/ionic/{p-82c72668.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-a60cff26.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-f48af9da.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-76920df1.entry.js +4 -0
- package/dist/ionic/p-7cfd253c.js +4 -0
- 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-d8eeabae.system.entry.js → p-908720f3.system.entry.js} +1 -1
- package/dist/ionic/{p-03f7e3cc.entry.js → p-914ac0fc.entry.js} +1 -1
- package/dist/ionic/{p-88a1a4fe.system.entry.js → p-9173418c.system.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-dcfea01f.system.entry.js → p-99dfa53f.system.entry.js} +1 -1
- package/dist/ionic/{p-9736406a.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-2acea831.entry.js → p-a7eec917.entry.js} +1 -1
- package/dist/ionic/{p-00f709ca.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-b25a96b7.system.js → p-c3efbcf5.system.js} +1 -1
- package/dist/ionic/{p-a157df46.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-7520e873.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-7b15d413.entry.js → p-d35217be.entry.js} +1 -1
- package/dist/ionic/{p-5cafe439.system.entry.js → p-d55c9f92.system.entry.js} +1 -1
- package/dist/ionic/{p-06756f31.entry.js → p-d7b8d224.entry.js} +1 -1
- package/dist/ionic/{p-9b796813.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-0023e6eb.entry.js → p-deb6ddad.entry.js} +1 -1
- package/dist/ionic/{p-90012797.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-a99e7e72.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-0459db58.entry.js → p-ec9052a4.entry.js} +1 -1
- package/dist/ionic/{p-a7361c85.entry.js → p-f588e951.entry.js} +1 -1
- package/dist/ionic/{p-60dee335.entry.js → p-f623aa6d.entry.js} +1 -1
- package/dist/ionic/{p-ae8121f5.system.entry.js → p-f960fd84.system.entry.js} +1 -1
- package/dist/ionic/p-fbcb157b.system.js +4 -0
- 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/node_modules/ionicons/dist/collection/components/icon/icon.css +4 -46
- package/dist/types/components/datetime/datetime-interface.d.ts +0 -1
- package/dist/types/components/datetime/datetime.d.ts +2 -2
- package/dist/types/components/datetime/utils/data.d.ts +3 -3
- package/dist/types/components/datetime/utils/format.d.ts +3 -3
- package/dist/types/components/datetime/utils/helpers.d.ts +1 -15
- package/dist/types/components/menu/menu-interface.d.ts +1 -0
- package/dist/types/components/toast/animations/ios.enter.d.ts +1 -2
- package/dist/types/components/toast/animations/ios.leave.d.ts +2 -2
- package/dist/types/components/toast/animations/md.enter.d.ts +1 -2
- package/dist/types/components/toast/toast-interface.d.ts +0 -11
- package/dist/types/components/toast/toast.d.ts +1 -21
- package/dist/types/components.d.ts +8 -16
- package/dist/types/index.d.ts +0 -1
- package/dist/types/utils/menu-controller/index.d.ts +2 -1
- package/hydrate/index.js +127 -342
- package/package.json +7 -6
- package/dist/collection/components/menu/test/multiple/menu.e2e.js +0 -60
- package/dist/collection/components/toast/animations/utils.js +0 -85
- package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +0 -45
- package/dist/esm-es5/app-globals-df292a32.js +0 -4
- package/dist/esm-es5/data-44d9e816.js +0 -4
- package/dist/esm-es5/index-c3e624b7.js +0 -4
- package/dist/esm-es5/index-cb894020.js +0 -5
- package/dist/ionic/p-0779a5c8.system.js +0 -4
- package/dist/ionic/p-0d198537.js +0 -4
- package/dist/ionic/p-100ea813.system.entry.js +0 -4
- package/dist/ionic/p-17240d90.js +0 -4
- package/dist/ionic/p-1d9b39f3.js +0 -4
- package/dist/ionic/p-2b47b2ce.entry.js +0 -4
- package/dist/ionic/p-32b5f10e.entry.js +0 -4
- package/dist/ionic/p-469d6a98.entry.js +0 -4
- package/dist/ionic/p-50125c8c.js +0 -4
- package/dist/ionic/p-520789c2.js +0 -4
- package/dist/ionic/p-68b405cc.entry.js +0 -4
- package/dist/ionic/p-6cfcb294.system.js +0 -4
- package/dist/ionic/p-73eba881.system.js +0 -4
- package/dist/ionic/p-903c36fe.js +0 -5
- package/dist/ionic/p-a4ce3b06.system.entry.js +0 -4
- package/dist/ionic/p-aae05032.entry.js +0 -4
- package/dist/ionic/p-b8c3f071.system.js +0 -4
- package/dist/ionic/p-d0d59328.entry.js +0 -4
- package/dist/ionic/p-d1df86ff.entry.js +0 -4
- package/dist/ionic/p-ec25d547.system.js +0 -4
- package/dist/types/components/toast/animations/utils.d.ts +0 -18
- /package/dist/esm-es5/{haptic-1243b917.js → haptic-6447af60.js} +0 -0
- /package/dist/esm-es5/{index-504b03f0.js → index-ecfc2c9f.js} +0 -0
- /package/dist/ionic/{p-15bae383.js → p-0a87858b.js} +0 -0
- /package/dist/ionic/{p-b4b4bb29.system.js → p-14d7b7e2.system.js} +0 -0
- /package/dist/ionic/{p-3f919368.system.js → p-8985b268.system.js} +0 -0
- /package/dist/ionic/{p-b923f3d7.js → p-bb6f38ed.js} +0 -0
package/hydrate/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
8
|
/*!
|
|
9
|
-
Stencil Mock Doc v4.4.
|
|
9
|
+
Stencil Mock Doc v4.4.1 | MIT Licensed | https://stenciljs.com
|
|
10
10
|
*/
|
|
11
11
|
const CONTENT_REF_ID = 'r';
|
|
12
12
|
const ORG_LOCATION_ID = 'o';
|
|
@@ -5594,36 +5594,42 @@ const createElm = (e, t, o, n) => {
|
|
|
5594
5594
|
isSvgMode && "svg" === l && (isSvgMode = !1));
|
|
5595
5595
|
}, updateFallbackSlotVisibility = e => {
|
|
5596
5596
|
const t = e.childNodes;
|
|
5597
|
-
|
|
5598
|
-
|
|
5599
|
-
|
|
5600
|
-
|
|
5601
|
-
|
|
5602
|
-
o.
|
|
5597
|
+
for (const e of t) if (1 === e.nodeType) {
|
|
5598
|
+
if (e["s-sr"]) {
|
|
5599
|
+
const o = e["s-sn"];
|
|
5600
|
+
e.hidden = !1;
|
|
5601
|
+
for (const n of t) if (n["s-hn"] !== e["s-hn"] || "" !== o) {
|
|
5602
|
+
if (1 === n.nodeType && o === n.getAttribute("slot")) {
|
|
5603
|
+
e.hidden = !0;
|
|
5604
|
+
break;
|
|
5605
|
+
}
|
|
5606
|
+
} else if (1 === n.nodeType || 3 === n.nodeType && "" !== n.textContent.trim()) {
|
|
5607
|
+
e.hidden = !0;
|
|
5603
5608
|
break;
|
|
5604
5609
|
}
|
|
5605
|
-
} else if (1 === r || 3 === r && "" !== t[l].textContent.trim()) {
|
|
5606
|
-
o.hidden = !0;
|
|
5607
|
-
break;
|
|
5608
5610
|
}
|
|
5609
|
-
updateFallbackSlotVisibility(
|
|
5611
|
+
updateFallbackSlotVisibility(e);
|
|
5610
5612
|
}
|
|
5611
|
-
}, relocateNodes = [],
|
|
5612
|
-
let t, o, n
|
|
5613
|
-
const
|
|
5614
|
-
|
|
5615
|
-
|
|
5616
|
-
|
|
5617
|
-
|
|
5618
|
-
|
|
5619
|
-
|
|
5620
|
-
|
|
5621
|
-
|
|
5622
|
-
|
|
5623
|
-
|
|
5624
|
-
|
|
5625
|
-
|
|
5626
|
-
|
|
5613
|
+
}, relocateNodes = [], markSlotContentForRelocation = e => {
|
|
5614
|
+
let t, o, n;
|
|
5615
|
+
for (const s of e.childNodes) {
|
|
5616
|
+
if (s["s-sr"] && (t = s["s-cr"]) && t.parentNode) {
|
|
5617
|
+
o = t.parentNode.childNodes;
|
|
5618
|
+
const e = s["s-sn"];
|
|
5619
|
+
for (n = o.length - 1; n >= 0; n--) if (t = o[n], !t["s-cn"] && !t["s-nr"] && t["s-hn"] !== s["s-hn"]) if (isNodeLocatedInSlot(t, e)) {
|
|
5620
|
+
let o = relocateNodes.find((e => e.$nodeToRelocate$ === t));
|
|
5621
|
+
checkSlotFallbackVisibility = !0, t["s-sn"] = t["s-sn"] || e, o ? o.$slotRefNode$ = s : relocateNodes.push({
|
|
5622
|
+
$slotRefNode$: s,
|
|
5623
|
+
$nodeToRelocate$: t
|
|
5624
|
+
}), t["s-sr"] && relocateNodes.map((e => {
|
|
5625
|
+
isNodeLocatedInSlot(e.$nodeToRelocate$, t["s-sn"]) && (o = relocateNodes.find((e => e.$nodeToRelocate$ === t)),
|
|
5626
|
+
o && !e.$slotRefNode$ && (e.$slotRefNode$ = o.$slotRefNode$));
|
|
5627
|
+
}));
|
|
5628
|
+
} else relocateNodes.some((e => e.$nodeToRelocate$ === t)) || relocateNodes.push({
|
|
5629
|
+
$nodeToRelocate$: t
|
|
5630
|
+
});
|
|
5631
|
+
}
|
|
5632
|
+
1 === s.nodeType && markSlotContentForRelocation(s);
|
|
5627
5633
|
}
|
|
5628
5634
|
}, isNodeLocatedInSlot = (e, t) => 1 === e.nodeType ? null === e.getAttribute("slot") && "" === t || e.getAttribute("slot") === t : e["s-sn"] === t || "" === t, nullifyVNodeRefs = e => {
|
|
5629
5635
|
(e.$attrs$ && e.$attrs$.ref && e.$attrs$.ref(null), e.$children$ && e.$children$.map(nullifyVNodeRefs));
|
|
@@ -5638,7 +5644,7 @@ const createElm = (e, t, o, n) => {
|
|
|
5638
5644
|
BUILD.slotRelocation) {
|
|
5639
5645
|
if (plt.$flags$ |= 1, checkSlotRelocate) {
|
|
5640
5646
|
let e, t, o, n, s, l;
|
|
5641
|
-
|
|
5647
|
+
markSlotContentForRelocation(a.$elm$);
|
|
5642
5648
|
let r = 0;
|
|
5643
5649
|
for (;r < relocateNodes.length; r++) e = relocateNodes[r], t = e.$nodeToRelocate$,
|
|
5644
5650
|
t["s-ol"] || (o = originalLocationDebugNode(t) ,
|
|
@@ -5704,9 +5710,9 @@ const callRender = (e, t, o, n) => {
|
|
|
5704
5710
|
BUILD.isDev ), 64 & e.$flags$ ? ((safeCall$1(s, "componentDidUpdate"),
|
|
5705
5711
|
BUILD.isDev ), n()) : (e.$flags$ |= 64, addHydratedFlag(o),
|
|
5706
5712
|
(safeCall$1(s, "componentDidLoad"),
|
|
5707
|
-
BUILD.isDev ), n(), (e.$onReadyResolve$(o), l || appDidLoad())), e.$onInstanceResolve$(o),
|
|
5708
|
-
e.$onRenderResolve$
|
|
5709
|
-
e.$flags$ &= -517);
|
|
5713
|
+
BUILD.isDev ), n(), (e.$onReadyResolve$(o), l || appDidLoad())), e.$onInstanceResolve$(o),
|
|
5714
|
+
(e.$onRenderResolve$ && (e.$onRenderResolve$(), e.$onRenderResolve$ = void 0),
|
|
5715
|
+
512 & e.$flags$ && nextTick((() => scheduleUpdate(e, !1))), e.$flags$ &= -517);
|
|
5710
5716
|
}, forceUpdate$1 = e => {
|
|
5711
5717
|
return !1;
|
|
5712
5718
|
}, appDidLoad = e => {
|
|
@@ -5796,10 +5802,11 @@ const callRender = (e, t, o, n) => {
|
|
|
5796
5802
|
}
|
|
5797
5803
|
}
|
|
5798
5804
|
return e;
|
|
5799
|
-
}, initializeComponent = async (e, t, o, n
|
|
5805
|
+
}, initializeComponent = async (e, t, o, n) => {
|
|
5806
|
+
let s;
|
|
5800
5807
|
if (0 == (32 & t.$flags$)) {
|
|
5801
5808
|
if (t.$flags$ |= 32, BUILD.lazyLoad ) {
|
|
5802
|
-
if (
|
|
5809
|
+
if (s = loadModule(o), s.then) {
|
|
5803
5810
|
const e = (() => {});
|
|
5804
5811
|
s = await s, e();
|
|
5805
5812
|
}
|
|
@@ -6421,7 +6428,7 @@ const shallowEqualStringMap = (map1, map2) => {
|
|
|
6421
6428
|
return true;
|
|
6422
6429
|
};
|
|
6423
6430
|
|
|
6424
|
-
/* Ionicons v7.1.
|
|
6431
|
+
/* Ionicons v7.1.0, ES Modules */
|
|
6425
6432
|
const arrowBackSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path stroke-linecap='square' stroke-miterlimit='10' stroke-width='48' d='M244 400L100 256l144-144M120 256h292' class='ionicon-fill-none'/></svg>";
|
|
6426
6433
|
const arrowDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M112 268l144 144 144-144M256 392V100' class='ionicon-fill-none'/></svg>";
|
|
6427
6434
|
const caretBackSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path d='M368 64L144 256l224 192V64z'/></svg>";
|
|
@@ -7149,7 +7156,6 @@ const HapticEngine = {
|
|
|
7149
7156
|
* if the browser does not support the Vibrate API.
|
|
7150
7157
|
*/
|
|
7151
7158
|
if ((capacitor === null || capacitor === void 0 ? void 0 : capacitor.getPlatform()) === 'web') {
|
|
7152
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
7153
7159
|
return typeof navigator !== 'undefined' && navigator.vibrate !== undefined;
|
|
7154
7160
|
}
|
|
7155
7161
|
return true;
|
|
@@ -8219,7 +8225,6 @@ const setOverlayId = (el) => {
|
|
|
8219
8225
|
return el.id;
|
|
8220
8226
|
};
|
|
8221
8227
|
const createOverlay = (tagName, opts) => {
|
|
8222
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
8223
8228
|
if (typeof window !== 'undefined' && typeof window.customElements !== 'undefined') {
|
|
8224
8229
|
return window.customElements.whenDefined(tagName).then(() => {
|
|
8225
8230
|
const element = document.createElement(tagName);
|
|
@@ -10548,14 +10553,6 @@ class Alert {
|
|
|
10548
10553
|
}
|
|
10549
10554
|
onKeydown(ev) {
|
|
10550
10555
|
const inputTypes = new Set(this.processedInputs.map((i) => i.type));
|
|
10551
|
-
/**
|
|
10552
|
-
* Based on keyboard navigation requirements, the
|
|
10553
|
-
* checkbox should not respond to the enter keydown event.
|
|
10554
|
-
*/
|
|
10555
|
-
if (inputTypes.has('checkbox') && ev.key === 'Enter') {
|
|
10556
|
-
ev.preventDefault();
|
|
10557
|
-
return;
|
|
10558
|
-
}
|
|
10559
10556
|
// The only inputs we want to navigate between using arrow keys are the radios
|
|
10560
10557
|
// ignore the keydown event if it is not on a radio button
|
|
10561
10558
|
if (!inputTypes.has('radio') ||
|
|
@@ -12195,6 +12192,9 @@ class Checkbox {
|
|
|
12195
12192
|
this.ionBlur.emit();
|
|
12196
12193
|
};
|
|
12197
12194
|
this.onClick = (ev) => {
|
|
12195
|
+
if (this.disabled) {
|
|
12196
|
+
return;
|
|
12197
|
+
}
|
|
12198
12198
|
this.toggleChecked(ev);
|
|
12199
12199
|
};
|
|
12200
12200
|
this.color = undefined;
|
|
@@ -13082,19 +13082,13 @@ const warnIfValueOutOfBounds = (value, min, max) => {
|
|
|
13082
13082
|
const isLeapYear = (year) => {
|
|
13083
13083
|
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
|
13084
13084
|
};
|
|
13085
|
-
|
|
13086
|
-
* Determines the hour cycle for a user.
|
|
13087
|
-
* If the hour cycle is explicitly defined, just use that.
|
|
13088
|
-
* Otherwise, we try to derive it from either the specified
|
|
13089
|
-
* locale extension tags or from Intl.DateTimeFormat directly.
|
|
13090
|
-
*/
|
|
13091
|
-
const getHourCycle = (locale, hourCycle) => {
|
|
13085
|
+
const is24Hour = (locale, hourCycle) => {
|
|
13092
13086
|
/**
|
|
13093
|
-
* If developer has explicitly enabled
|
|
13087
|
+
* If developer has explicitly enabled h23 time
|
|
13094
13088
|
* then return early and do not look at the system default.
|
|
13095
13089
|
*/
|
|
13096
13090
|
if (hourCycle !== undefined) {
|
|
13097
|
-
return hourCycle;
|
|
13091
|
+
return hourCycle === 'h23';
|
|
13098
13092
|
}
|
|
13099
13093
|
/**
|
|
13100
13094
|
* If hourCycle was not specified, check the locale
|
|
@@ -13105,7 +13099,7 @@ const getHourCycle = (locale, hourCycle) => {
|
|
|
13105
13099
|
const formatted = new Intl.DateTimeFormat(locale, { hour: 'numeric' });
|
|
13106
13100
|
const options = formatted.resolvedOptions();
|
|
13107
13101
|
if (options.hourCycle !== undefined) {
|
|
13108
|
-
return options.hourCycle;
|
|
13102
|
+
return options.hourCycle === 'h23';
|
|
13109
13103
|
}
|
|
13110
13104
|
/**
|
|
13111
13105
|
* If hourCycle is not specified (either through lack
|
|
@@ -13118,33 +13112,7 @@ const getHourCycle = (locale, hourCycle) => {
|
|
|
13118
13112
|
if (!hour) {
|
|
13119
13113
|
throw new Error('Hour value not found from DateTimeFormat');
|
|
13120
13114
|
}
|
|
13121
|
-
|
|
13122
|
-
* Midnight for h11 starts at 0:00am
|
|
13123
|
-
* Midnight for h12 starts at 12:00am
|
|
13124
|
-
* Midnight for h23 starts at 00:00
|
|
13125
|
-
* Midnight for h24 starts at 24:00
|
|
13126
|
-
*/
|
|
13127
|
-
switch (hour.value) {
|
|
13128
|
-
case '0':
|
|
13129
|
-
return 'h11';
|
|
13130
|
-
case '12':
|
|
13131
|
-
return 'h12';
|
|
13132
|
-
case '00':
|
|
13133
|
-
return 'h23';
|
|
13134
|
-
case '24':
|
|
13135
|
-
return 'h24';
|
|
13136
|
-
default:
|
|
13137
|
-
throw new Error(`Invalid hour cycle "${hourCycle}"`);
|
|
13138
|
-
}
|
|
13139
|
-
};
|
|
13140
|
-
/**
|
|
13141
|
-
* Determine if the hour cycle uses a 24-hour format.
|
|
13142
|
-
* Returns true for h23 and h24. Returns false otherwise.
|
|
13143
|
-
* If you don't know the hourCycle, use getHourCycle above
|
|
13144
|
-
* and pass the result into this function.
|
|
13145
|
-
*/
|
|
13146
|
-
const is24Hour = (hourCycle) => {
|
|
13147
|
-
return hourCycle === 'h23' || hourCycle === 'h24';
|
|
13115
|
+
return hour.value === '00';
|
|
13148
13116
|
};
|
|
13149
13117
|
/**
|
|
13150
13118
|
* Given a date object, returns the number
|
|
@@ -13811,7 +13779,7 @@ const getFormattedDayPeriod = (dayPeriod) => {
|
|
|
13811
13779
|
}
|
|
13812
13780
|
return dayPeriod.toUpperCase();
|
|
13813
13781
|
};
|
|
13814
|
-
const getLocalizedTime = (locale, refParts,
|
|
13782
|
+
const getLocalizedTime = (locale, refParts, use24Hour) => {
|
|
13815
13783
|
const timeParts = {
|
|
13816
13784
|
hour: refParts.hour,
|
|
13817
13785
|
minute: refParts.minute,
|
|
@@ -13833,7 +13801,7 @@ const getLocalizedTime = (locale, refParts, hourCycle) => {
|
|
|
13833
13801
|
* We use hourCycle here instead of hour12 due to:
|
|
13834
13802
|
* https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
|
|
13835
13803
|
*/
|
|
13836
|
-
hourCycle,
|
|
13804
|
+
hourCycle: use24Hour ? 'h23' : 'h12',
|
|
13837
13805
|
/**
|
|
13838
13806
|
* Setting Z at the end indicates that this
|
|
13839
13807
|
* date string is in the UTC time zone. This
|
|
@@ -13871,33 +13839,17 @@ const addTimePadding = (value) => {
|
|
|
13871
13839
|
* 12 hour times it ensures that
|
|
13872
13840
|
* hour 0 is formatted as '12'.
|
|
13873
13841
|
*/
|
|
13874
|
-
const getFormattedHour = (hour,
|
|
13875
|
-
|
|
13876
|
-
|
|
13877
|
-
* Midnight for h12 starts at 12:00am
|
|
13878
|
-
* Midnight for h23 starts at 00:00
|
|
13879
|
-
* Midnight for h24 starts at 24:00
|
|
13880
|
-
*/
|
|
13881
|
-
if (hour === 0) {
|
|
13882
|
-
switch (hourCycle) {
|
|
13883
|
-
case 'h11':
|
|
13884
|
-
return '0';
|
|
13885
|
-
case 'h12':
|
|
13886
|
-
return '12';
|
|
13887
|
-
case 'h23':
|
|
13888
|
-
return '00';
|
|
13889
|
-
case 'h24':
|
|
13890
|
-
return '24';
|
|
13891
|
-
default:
|
|
13892
|
-
throw new Error(`Invalid hour cycle "${hourCycle}"`);
|
|
13893
|
-
}
|
|
13842
|
+
const getFormattedHour = (hour, use24Hour) => {
|
|
13843
|
+
if (use24Hour) {
|
|
13844
|
+
return addTimePadding(hour);
|
|
13894
13845
|
}
|
|
13895
|
-
const use24Hour = is24Hour(hourCycle);
|
|
13896
13846
|
/**
|
|
13897
|
-
*
|
|
13847
|
+
* If using 12 hour
|
|
13848
|
+
* format, make sure hour
|
|
13849
|
+
* 0 is formatted as '12'.
|
|
13898
13850
|
*/
|
|
13899
|
-
if (
|
|
13900
|
-
return
|
|
13851
|
+
if (hour === 0) {
|
|
13852
|
+
return '12';
|
|
13901
13853
|
}
|
|
13902
13854
|
return hour.toString();
|
|
13903
13855
|
};
|
|
@@ -14132,14 +14084,8 @@ const minutes = [
|
|
|
14132
14084
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
|
|
14133
14085
|
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
|
|
14134
14086
|
];
|
|
14135
|
-
// h11 hour system uses 0-11. Midnight starts at 0:00am.
|
|
14136
|
-
const hour11 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
14137
|
-
// h12 hour system uses 0-12. Midnight starts at 12:00am.
|
|
14138
14087
|
const hour12 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
14139
|
-
// h23 hour system uses 0-23. Midnight starts at 0:00.
|
|
14140
14088
|
const hour23 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23];
|
|
14141
|
-
// h24 hour system uses 1-24. Midnight starts at 24:00.
|
|
14142
|
-
const hour24 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0];
|
|
14143
14089
|
/**
|
|
14144
14090
|
* Given a locale and a mode,
|
|
14145
14091
|
* return an array with formatted days
|
|
@@ -14208,33 +14154,14 @@ const getDaysOfMonth = (month, year, firstDayOfWeek) => {
|
|
|
14208
14154
|
}
|
|
14209
14155
|
return days;
|
|
14210
14156
|
};
|
|
14211
|
-
/**
|
|
14212
|
-
* Returns an array of pre-defined hour
|
|
14213
|
-
* values based on the provided hourCycle.
|
|
14214
|
-
*/
|
|
14215
|
-
const getHourData = (hourCycle) => {
|
|
14216
|
-
switch (hourCycle) {
|
|
14217
|
-
case 'h11':
|
|
14218
|
-
return hour11;
|
|
14219
|
-
case 'h12':
|
|
14220
|
-
return hour12;
|
|
14221
|
-
case 'h23':
|
|
14222
|
-
return hour23;
|
|
14223
|
-
case 'h24':
|
|
14224
|
-
return hour24;
|
|
14225
|
-
default:
|
|
14226
|
-
throw new Error(`Invalid hour cycle "${hourCycle}"`);
|
|
14227
|
-
}
|
|
14228
|
-
};
|
|
14229
14157
|
/**
|
|
14230
14158
|
* Given a local, reference datetime parts and option
|
|
14231
14159
|
* max/min bound datetime parts, calculate the acceptable
|
|
14232
14160
|
* hour and minute values according to the bounds and locale.
|
|
14233
14161
|
*/
|
|
14234
|
-
const generateTime = (
|
|
14235
|
-
const
|
|
14236
|
-
|
|
14237
|
-
let processedHours = getHourData(computedHourCycle);
|
|
14162
|
+
const generateTime = (refParts, hourCycle = 'h12', minParts, maxParts, hourValues, minuteValues) => {
|
|
14163
|
+
const use24Hour = hourCycle === 'h23';
|
|
14164
|
+
let processedHours = use24Hour ? hour23 : hour12;
|
|
14238
14165
|
let processedMinutes = minutes;
|
|
14239
14166
|
let isAMAllowed = true;
|
|
14240
14167
|
let isPMAllowed = true;
|
|
@@ -14566,12 +14493,11 @@ const getCombinedDateColumnData = (locale, todayParts, minParts, maxParts, dayVa
|
|
|
14566
14493
|
};
|
|
14567
14494
|
};
|
|
14568
14495
|
const getTimeColumnsData = (locale, refParts, hourCycle, minParts, maxParts, allowedHourValues, allowedMinuteValues) => {
|
|
14569
|
-
const
|
|
14570
|
-
const
|
|
14571
|
-
const { hours, minutes, am, pm } = generateTime(locale, refParts, computedHourCycle, minParts, maxParts, allowedHourValues, allowedMinuteValues);
|
|
14496
|
+
const use24Hour = is24Hour(locale, hourCycle);
|
|
14497
|
+
const { hours, minutes, am, pm } = generateTime(refParts, use24Hour ? 'h23' : 'h12', minParts, maxParts, allowedHourValues, allowedMinuteValues);
|
|
14572
14498
|
const hoursItems = hours.map((hour) => {
|
|
14573
14499
|
return {
|
|
14574
|
-
text: getFormattedHour(hour,
|
|
14500
|
+
text: getFormattedHour(hour, use24Hour),
|
|
14575
14501
|
value: getInternalHourValue(hour, use24Hour, refParts.ampm),
|
|
14576
14502
|
};
|
|
14577
14503
|
});
|
|
@@ -16134,7 +16060,7 @@ class Datetime {
|
|
|
16134
16060
|
}
|
|
16135
16061
|
renderTimeOverlay() {
|
|
16136
16062
|
const { hourCycle, isTimePopoverOpen, locale } = this;
|
|
16137
|
-
const
|
|
16063
|
+
const use24Hour = is24Hour(locale, hourCycle);
|
|
16138
16064
|
const activePart = this.getActivePartsWithFallback();
|
|
16139
16065
|
return [
|
|
16140
16066
|
hAsync("div", { class: "time-header" }, this.renderTimeLabel()),
|
|
@@ -16153,7 +16079,7 @@ class Datetime {
|
|
|
16153
16079
|
await popoverRef.onWillDismiss();
|
|
16154
16080
|
this.isTimePopoverOpen = false;
|
|
16155
16081
|
}
|
|
16156
|
-
} }, getLocalizedTime(locale, activePart,
|
|
16082
|
+
} }, getLocalizedTime(locale, activePart, use24Hour)),
|
|
16157
16083
|
hAsync("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
|
|
16158
16084
|
/**
|
|
16159
16085
|
* Intersection Observers do not consistently fire between Blink and Webkit
|
|
@@ -16418,13 +16344,13 @@ class DatetimeButton {
|
|
|
16418
16344
|
* warning in the console.
|
|
16419
16345
|
*/
|
|
16420
16346
|
const firstParsedDatetime = parsedDatetimes[0];
|
|
16421
|
-
const
|
|
16347
|
+
const use24Hour = is24Hour(locale, hourCycle);
|
|
16422
16348
|
this.dateText = this.timeText = undefined;
|
|
16423
16349
|
switch (datetimePresentation) {
|
|
16424
16350
|
case 'date-time':
|
|
16425
16351
|
case 'time-date':
|
|
16426
16352
|
const dateText = getMonthDayAndYear(locale, firstParsedDatetime);
|
|
16427
|
-
const timeText = getLocalizedTime(locale, firstParsedDatetime,
|
|
16353
|
+
const timeText = getLocalizedTime(locale, firstParsedDatetime, use24Hour);
|
|
16428
16354
|
if (preferWheel) {
|
|
16429
16355
|
this.dateText = `${dateText} ${timeText}`;
|
|
16430
16356
|
}
|
|
@@ -16451,7 +16377,7 @@ class DatetimeButton {
|
|
|
16451
16377
|
}
|
|
16452
16378
|
break;
|
|
16453
16379
|
case 'time':
|
|
16454
|
-
this.timeText = getLocalizedTime(locale, firstParsedDatetime,
|
|
16380
|
+
this.timeText = getLocalizedTime(locale, firstParsedDatetime, use24Hour);
|
|
16455
16381
|
break;
|
|
16456
16382
|
case 'month-year':
|
|
16457
16383
|
this.dateText = getMonthAndYear(locale, firstParsedDatetime);
|
|
@@ -17840,7 +17766,7 @@ const isRTL = (hostEl) => {
|
|
|
17840
17766
|
return (document === null || document === void 0 ? void 0 : document.dir.toLowerCase()) === 'rtl';
|
|
17841
17767
|
};
|
|
17842
17768
|
|
|
17843
|
-
const iconCss = "/*!@:host*/.sc-ion-icon-h{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}/*!@:host .ionicon*/.sc-ion-icon-h .ionicon.sc-ion-icon{stroke:currentColor}/*!@.ionicon-fill-none*/.ionicon-fill-none.sc-ion-icon{fill:none}/*!@.ionicon-stroke-width*/.ionicon-stroke-width.sc-ion-icon{stroke-width:32px;stroke-width:var(--ionicon-stroke-width, 32px)}/*!@.icon-inner,\n.ionicon,\nsvg*/.icon-inner.sc-ion-icon,.ionicon.sc-ion-icon,svg.sc-ion-icon{display:block;height:100%;width:100%}
|
|
17769
|
+
const iconCss = "/*!@:host*/.sc-ion-icon-h{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}/*!@:host .ionicon*/.sc-ion-icon-h .ionicon.sc-ion-icon{stroke:currentColor}/*!@.ionicon-fill-none*/.ionicon-fill-none.sc-ion-icon{fill:none}/*!@.ionicon-stroke-width*/.ionicon-stroke-width.sc-ion-icon{stroke-width:32px;stroke-width:var(--ionicon-stroke-width, 32px)}/*!@.icon-inner,\n.ionicon,\nsvg*/.icon-inner.sc-ion-icon,.ionicon.sc-ion-icon,svg.sc-ion-icon{display:block;height:100%;width:100%}/*!@:host(.flip-rtl) .icon-inner*/.flip-rtl.sc-ion-icon-h .icon-inner.sc-ion-icon{-webkit-transform:scaleX(-1);transform:scaleX(-1)}/*!@:host(.icon-small)*/.icon-small.sc-ion-icon-h{font-size:18px !important}/*!@:host(.icon-large)*/.icon-large.sc-ion-icon-h{font-size:32px !important}/*!@:host(.ion-color)*/.ion-color.sc-ion-icon-h{color:var(--ion-color-base) !important}/*!@:host(.ion-color-primary)*/.ion-color-primary.sc-ion-icon-h{--ion-color-base:var(--ion-color-primary, #3880ff)}/*!@:host(.ion-color-secondary)*/.ion-color-secondary.sc-ion-icon-h{--ion-color-base:var(--ion-color-secondary, #0cd1e8)}/*!@:host(.ion-color-tertiary)*/.ion-color-tertiary.sc-ion-icon-h{--ion-color-base:var(--ion-color-tertiary, #f4a942)}/*!@:host(.ion-color-success)*/.ion-color-success.sc-ion-icon-h{--ion-color-base:var(--ion-color-success, #10dc60)}/*!@:host(.ion-color-warning)*/.ion-color-warning.sc-ion-icon-h{--ion-color-base:var(--ion-color-warning, #ffce00)}/*!@:host(.ion-color-danger)*/.ion-color-danger.sc-ion-icon-h{--ion-color-base:var(--ion-color-danger, #f14141)}/*!@:host(.ion-color-light)*/.ion-color-light.sc-ion-icon-h{--ion-color-base:var(--ion-color-light, #f4f5f8)}/*!@:host(.ion-color-medium)*/.ion-color-medium.sc-ion-icon-h{--ion-color-base:var(--ion-color-medium, #989aa2)}/*!@:host(.ion-color-dark)*/.ion-color-dark.sc-ion-icon-h{--ion-color-base:var(--ion-color-dark, #222428)}";
|
|
17844
17770
|
|
|
17845
17771
|
class Icon {
|
|
17846
17772
|
constructor(hostRef) {
|
|
@@ -17894,15 +17820,11 @@ class Icon {
|
|
|
17894
17820
|
this.iconName = getName(this.name, this.icon, this.mode, this.ios, this.md);
|
|
17895
17821
|
}
|
|
17896
17822
|
render() {
|
|
17897
|
-
const {
|
|
17823
|
+
const { iconName, el, inheritedAttributes } = this;
|
|
17898
17824
|
const mode = this.mode || 'md';
|
|
17899
|
-
|
|
17900
|
-
|
|
17901
|
-
|
|
17902
|
-
: false;
|
|
17903
|
-
// if shouldBeFlippable is true, the icon should change direction when `dir` changes
|
|
17904
|
-
const shouldBeFlippable = flipRtl || shouldAutoFlip;
|
|
17905
|
-
return (hAsync(Host, Object.assign({ role: "img", class: Object.assign(Object.assign({ [mode]: true }, createColorClasses(this.color)), { [`icon-${this.size}`]: !!this.size, 'flip-rtl': shouldBeFlippable, 'icon-rtl': shouldBeFlippable && isRTL(el) }) }, inheritedAttributes), (hAsync("div", { class: "icon-inner" }))));
|
|
17825
|
+
const flipRtl = this.flipRtl ||
|
|
17826
|
+
(iconName && (iconName.indexOf('arrow') > -1 || iconName.indexOf('chevron') > -1) && this.flipRtl !== false);
|
|
17827
|
+
return (hAsync(Host, Object.assign({ role: "img", class: Object.assign(Object.assign({ [mode]: true }, createColorClasses(this.color)), { [`icon-${this.size}`]: !!this.size, 'flip-rtl': !!flipRtl && isRTL(el) }) }, inheritedAttributes), (hAsync("div", { class: "icon-inner" }))));
|
|
17906
17828
|
}
|
|
17907
17829
|
static get assetsDirs() { return ["svg"]; }
|
|
17908
17830
|
get el() { return getElement(this); }
|
|
@@ -20505,21 +20427,21 @@ const createMenuController = () => {
|
|
|
20505
20427
|
const menuAnimations = new Map();
|
|
20506
20428
|
const menus = [];
|
|
20507
20429
|
const open = async (menu) => {
|
|
20508
|
-
const menuEl = await get(menu
|
|
20430
|
+
const menuEl = await get(menu);
|
|
20509
20431
|
if (menuEl) {
|
|
20510
20432
|
return menuEl.open();
|
|
20511
20433
|
}
|
|
20512
20434
|
return false;
|
|
20513
20435
|
};
|
|
20514
20436
|
const close = async (menu) => {
|
|
20515
|
-
const menuEl = await (menu !== undefined ? get(menu
|
|
20437
|
+
const menuEl = await (menu !== undefined ? get(menu) : getOpen());
|
|
20516
20438
|
if (menuEl !== undefined) {
|
|
20517
20439
|
return menuEl.close();
|
|
20518
20440
|
}
|
|
20519
20441
|
return false;
|
|
20520
20442
|
};
|
|
20521
20443
|
const toggle = async (menu) => {
|
|
20522
|
-
const menuEl = await get(menu
|
|
20444
|
+
const menuEl = await get(menu);
|
|
20523
20445
|
if (menuEl) {
|
|
20524
20446
|
return menuEl.toggle();
|
|
20525
20447
|
}
|
|
@@ -20557,35 +20479,18 @@ const createMenuController = () => {
|
|
|
20557
20479
|
}
|
|
20558
20480
|
return false;
|
|
20559
20481
|
};
|
|
20560
|
-
|
|
20561
|
-
* Finds and returns the menu specified by "menu" if registered.
|
|
20562
|
-
* @param menu - The side or ID of the desired menu
|
|
20563
|
-
* @param logOnMultipleSideMenus - If true, this function will log a warning
|
|
20564
|
-
* if "menu" is a side but multiple menus on the same side were found. Since this function
|
|
20565
|
-
* is used in multiple places, we default this log to false so that the calling
|
|
20566
|
-
* functions can choose whether or not it is appropriate to log this warning.
|
|
20567
|
-
*/
|
|
20568
|
-
const get = async (menu, logOnMultipleSideMenus = false) => {
|
|
20482
|
+
const get = async (menu) => {
|
|
20569
20483
|
await waitUntilReady();
|
|
20570
20484
|
if (menu === 'start' || menu === 'end') {
|
|
20571
20485
|
// there could be more than one menu on the same side
|
|
20572
20486
|
// so first try to get the enabled one
|
|
20573
|
-
const
|
|
20574
|
-
if (
|
|
20575
|
-
|
|
20576
|
-
printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${menuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, menuRefs.map((m) => m.el));
|
|
20577
|
-
}
|
|
20578
|
-
return menuRefs[0].el;
|
|
20487
|
+
const menuRef = find((m) => m.side === menu && !m.disabled);
|
|
20488
|
+
if (menuRef) {
|
|
20489
|
+
return menuRef;
|
|
20579
20490
|
}
|
|
20580
20491
|
// didn't find a menu side that is enabled
|
|
20581
20492
|
// so try to get the first menu side found
|
|
20582
|
-
|
|
20583
|
-
if (sideMenuRefs.length >= 1) {
|
|
20584
|
-
if (sideMenuRefs.length > 1 && logOnMultipleSideMenus) {
|
|
20585
|
-
printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${sideMenuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, sideMenuRefs.map((m) => m.el));
|
|
20586
|
-
}
|
|
20587
|
-
return sideMenuRefs[0].el;
|
|
20588
|
-
}
|
|
20493
|
+
return find((m) => m.side === menu);
|
|
20589
20494
|
}
|
|
20590
20495
|
else if (menu != null) {
|
|
20591
20496
|
// the menuId was not left or right
|
|
@@ -20627,6 +20532,9 @@ const createMenuController = () => {
|
|
|
20627
20532
|
};
|
|
20628
20533
|
const _register = (menu) => {
|
|
20629
20534
|
if (menus.indexOf(menu) < 0) {
|
|
20535
|
+
if (!menu.disabled) {
|
|
20536
|
+
_setActiveMenu(menu);
|
|
20537
|
+
}
|
|
20630
20538
|
menus.push(menu);
|
|
20631
20539
|
}
|
|
20632
20540
|
};
|
|
@@ -20636,6 +20544,13 @@ const createMenuController = () => {
|
|
|
20636
20544
|
menus.splice(index, 1);
|
|
20637
20545
|
}
|
|
20638
20546
|
};
|
|
20547
|
+
const _setActiveMenu = (menu) => {
|
|
20548
|
+
// if this menu should be enabled
|
|
20549
|
+
// then find all the other menus on this same side
|
|
20550
|
+
// and automatically disable other same side menus
|
|
20551
|
+
const side = menu.side;
|
|
20552
|
+
menus.filter((m) => m.side === side && m !== menu).forEach((m) => (m.disabled = true));
|
|
20553
|
+
};
|
|
20639
20554
|
const _setOpen = async (menu, shouldOpen, animated) => {
|
|
20640
20555
|
if (isAnimatingSync()) {
|
|
20641
20556
|
return false;
|
|
@@ -20707,6 +20622,7 @@ const createMenuController = () => {
|
|
|
20707
20622
|
_register,
|
|
20708
20623
|
_unregister,
|
|
20709
20624
|
_setOpen,
|
|
20625
|
+
_setActiveMenu,
|
|
20710
20626
|
};
|
|
20711
20627
|
};
|
|
20712
20628
|
const menuController = /*@__PURE__*/ createMenuController();
|
|
@@ -21262,6 +21178,17 @@ class Menu {
|
|
|
21262
21178
|
*/
|
|
21263
21179
|
this.afterAnimation(false);
|
|
21264
21180
|
}
|
|
21181
|
+
if (doc === null || doc === void 0 ? void 0 : doc.contains(this.el)) {
|
|
21182
|
+
/**
|
|
21183
|
+
* Only set the active menu if the menu element is
|
|
21184
|
+
* present in the DOM. Otherwise if it was destructively
|
|
21185
|
+
* re-hydrated (through Angular Universal), then ignore
|
|
21186
|
+
* setting the removed node as the active menu.
|
|
21187
|
+
*/
|
|
21188
|
+
if (!this.disabled) {
|
|
21189
|
+
menuController._setActiveMenu(this);
|
|
21190
|
+
}
|
|
21191
|
+
}
|
|
21265
21192
|
}
|
|
21266
21193
|
render() {
|
|
21267
21194
|
const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
|
|
@@ -24065,7 +23992,6 @@ class Nav {
|
|
|
24065
23992
|
: undefined;
|
|
24066
23993
|
const mode = getIonMode$1(this);
|
|
24067
23994
|
const enteringEl = enteringView.element;
|
|
24068
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
24069
23995
|
const leavingEl = leavingView && leavingView.element;
|
|
24070
23996
|
const animationOpts = Object.assign(Object.assign({ mode, showGoBack: this.canGoBackSync(enteringView), baseEl: this.el, progressCallback, animated: this.animated && config.getBoolean('animated', true), enteringEl,
|
|
24071
23997
|
leavingEl }, opts), { animationBuilder: opts.animationBuilder || this.animation || config.get('navAnimation') });
|
|
@@ -27276,7 +27202,10 @@ class Radio {
|
|
|
27276
27202
|
}
|
|
27277
27203
|
};
|
|
27278
27204
|
this.onClick = () => {
|
|
27279
|
-
const { radioGroup, checked } = this;
|
|
27205
|
+
const { radioGroup, checked, disabled } = this;
|
|
27206
|
+
if (disabled) {
|
|
27207
|
+
return;
|
|
27208
|
+
}
|
|
27280
27209
|
/**
|
|
27281
27210
|
* The legacy control uses a native input inside
|
|
27282
27211
|
* of the radio host, so we can set this.checked
|
|
@@ -27497,7 +27426,7 @@ class RadioGroup {
|
|
|
27497
27426
|
* using the `name` attribute.
|
|
27498
27427
|
*/
|
|
27499
27428
|
const selectedRadio = ev.target && ev.target.closest('ion-radio');
|
|
27500
|
-
if (selectedRadio) {
|
|
27429
|
+
if (selectedRadio && selectedRadio.disabled === false) {
|
|
27501
27430
|
const currentValue = this.value;
|
|
27502
27431
|
const newValue = selectedRadio.value;
|
|
27503
27432
|
if (newValue !== currentValue) {
|
|
@@ -29824,7 +29753,6 @@ const chainToSegments = (chain) => {
|
|
|
29824
29753
|
for (const route of chain) {
|
|
29825
29754
|
for (const segment of route.segments) {
|
|
29826
29755
|
if (segment[0] === ':') {
|
|
29827
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
29828
29756
|
const param = route.params && route.params[segment.slice(1)];
|
|
29829
29757
|
if (!param) {
|
|
29830
29758
|
return null;
|
|
@@ -30520,14 +30448,12 @@ class Router {
|
|
|
30520
30448
|
}
|
|
30521
30449
|
const routes = readRoutes(this.el);
|
|
30522
30450
|
const fromChain = findChainForSegments(from, routes);
|
|
30523
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
30524
30451
|
const beforeLeaveHook = fromChain && fromChain[fromChain.length - 1].beforeLeave;
|
|
30525
30452
|
const canLeave = beforeLeaveHook ? await beforeLeaveHook() : true;
|
|
30526
30453
|
if (canLeave === false || typeof canLeave === 'object') {
|
|
30527
30454
|
return canLeave;
|
|
30528
30455
|
}
|
|
30529
30456
|
const toChain = findChainForSegments(to, routes);
|
|
30530
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
30531
30457
|
const beforeEnterHook = toChain && toChain[toChain.length - 1].beforeEnter;
|
|
30532
30458
|
return beforeEnterHook ? beforeEnterHook() : true;
|
|
30533
30459
|
}
|
|
@@ -32413,7 +32339,7 @@ Developers can use the "legacy" property to continue using the legacy form marku
|
|
|
32413
32339
|
}
|
|
32414
32340
|
renderListbox() {
|
|
32415
32341
|
const { disabled, inputId, isExpanded } = this;
|
|
32416
|
-
return (hAsync("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "
|
|
32342
|
+
return (hAsync("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "listbox", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
|
|
32417
32343
|
}
|
|
32418
32344
|
render() {
|
|
32419
32345
|
const { legacyFormController } = this;
|
|
@@ -33755,12 +33681,13 @@ class Thumbnail {
|
|
|
33755
33681
|
/**
|
|
33756
33682
|
* iOS Toast Enter Animation
|
|
33757
33683
|
*/
|
|
33758
|
-
const iosEnterAnimation = (baseEl,
|
|
33684
|
+
const iosEnterAnimation = (baseEl, position) => {
|
|
33759
33685
|
const baseAnimation = createAnimation();
|
|
33760
33686
|
const wrapperAnimation = createAnimation();
|
|
33761
|
-
const { position, top, bottom } = opts;
|
|
33762
33687
|
const root = getElementRoot(baseEl);
|
|
33763
33688
|
const wrapperEl = root.querySelector('.toast-wrapper');
|
|
33689
|
+
const bottom = `calc(-10px - var(--ion-safe-area-bottom, 0px))`;
|
|
33690
|
+
const top = `calc(10px + var(--ion-safe-area-top, 0px))`;
|
|
33764
33691
|
wrapperAnimation.addElement(wrapperEl);
|
|
33765
33692
|
switch (position) {
|
|
33766
33693
|
case 'top':
|
|
@@ -33781,12 +33708,13 @@ const iosEnterAnimation = (baseEl, opts) => {
|
|
|
33781
33708
|
/**
|
|
33782
33709
|
* iOS Toast Leave Animation
|
|
33783
33710
|
*/
|
|
33784
|
-
const iosLeaveAnimation = (baseEl,
|
|
33711
|
+
const iosLeaveAnimation = (baseEl, position) => {
|
|
33785
33712
|
const baseAnimation = createAnimation();
|
|
33786
33713
|
const wrapperAnimation = createAnimation();
|
|
33787
|
-
const { position, top, bottom } = opts;
|
|
33788
33714
|
const root = getElementRoot(baseEl);
|
|
33789
33715
|
const wrapperEl = root.querySelector('.toast-wrapper');
|
|
33716
|
+
const bottom = `calc(-10px - var(--ion-safe-area-bottom, 0px))`;
|
|
33717
|
+
const top = `calc(10px + var(--ion-safe-area-top, 0px))`;
|
|
33790
33718
|
wrapperAnimation.addElement(wrapperEl);
|
|
33791
33719
|
switch (position) {
|
|
33792
33720
|
case 'top':
|
|
@@ -33805,12 +33733,13 @@ const iosLeaveAnimation = (baseEl, opts) => {
|
|
|
33805
33733
|
/**
|
|
33806
33734
|
* MD Toast Enter Animation
|
|
33807
33735
|
*/
|
|
33808
|
-
const mdEnterAnimation = (baseEl,
|
|
33736
|
+
const mdEnterAnimation = (baseEl, position) => {
|
|
33809
33737
|
const baseAnimation = createAnimation();
|
|
33810
33738
|
const wrapperAnimation = createAnimation();
|
|
33811
|
-
const { position, top, bottom } = opts;
|
|
33812
33739
|
const root = getElementRoot(baseEl);
|
|
33813
33740
|
const wrapperEl = root.querySelector('.toast-wrapper');
|
|
33741
|
+
const bottom = `calc(8px + var(--ion-safe-area-bottom, 0px))`;
|
|
33742
|
+
const top = `calc(8px + var(--ion-safe-area-top, 0px))`;
|
|
33814
33743
|
wrapperAnimation.addElement(wrapperEl);
|
|
33815
33744
|
switch (position) {
|
|
33816
33745
|
case 'top':
|
|
@@ -33842,87 +33771,6 @@ const mdLeaveAnimation = (baseEl) => {
|
|
|
33842
33771
|
return baseAnimation.easing('cubic-bezier(.36,.66,.04,1)').duration(300).addAnimation(wrapperAnimation);
|
|
33843
33772
|
};
|
|
33844
33773
|
|
|
33845
|
-
/**
|
|
33846
|
-
* Calculate the CSS top and bottom position of the toast, to be used
|
|
33847
|
-
* as starting points for the animation keyframes.
|
|
33848
|
-
*
|
|
33849
|
-
* Note that MD animates bottom-positioned toasts using style.bottom,
|
|
33850
|
-
* which calculates from the bottom edge of the screen, while iOS uses
|
|
33851
|
-
* translateY, which calculates from the top edge of the screen. This
|
|
33852
|
-
* is why the bottom calculates differ slightly between modes.
|
|
33853
|
-
*
|
|
33854
|
-
* @param position The value of the toast's position prop.
|
|
33855
|
-
* @param positionAnchor The element the toast should be anchored to,
|
|
33856
|
-
* if applicable.
|
|
33857
|
-
* @param mode The toast component's mode (md, ios, etc).
|
|
33858
|
-
* @param toast A reference to the toast element itself.
|
|
33859
|
-
*/
|
|
33860
|
-
function getAnimationPosition(position, positionAnchor, mode, toast) {
|
|
33861
|
-
/**
|
|
33862
|
-
* Start with a predefined offset from the edge the toast will be
|
|
33863
|
-
* positioned relative to, whether on the screen or anchor element.
|
|
33864
|
-
*/
|
|
33865
|
-
let offset;
|
|
33866
|
-
if (mode === 'md') {
|
|
33867
|
-
offset = 8;
|
|
33868
|
-
}
|
|
33869
|
-
else {
|
|
33870
|
-
offset = position === 'top' ? 10 : -10;
|
|
33871
|
-
}
|
|
33872
|
-
/**
|
|
33873
|
-
* If positionAnchor is defined, add in the distance from the target
|
|
33874
|
-
* screen edge to the target anchor edge. For position="top", the
|
|
33875
|
-
* bottom anchor edge is targeted. For position="bottom", the top
|
|
33876
|
-
* anchor edge is targeted.
|
|
33877
|
-
*/
|
|
33878
|
-
if (positionAnchor && win$1) {
|
|
33879
|
-
warnIfAnchorIsHidden(positionAnchor, toast);
|
|
33880
|
-
const box = positionAnchor.getBoundingClientRect();
|
|
33881
|
-
if (position === 'top') {
|
|
33882
|
-
offset += box.bottom;
|
|
33883
|
-
}
|
|
33884
|
-
else if (position === 'bottom') {
|
|
33885
|
-
/**
|
|
33886
|
-
* Just box.top is the distance from the top edge of the screen
|
|
33887
|
-
* to the top edge of the anchor. We want to calculate from the
|
|
33888
|
-
* bottom edge of the screen instead.
|
|
33889
|
-
*/
|
|
33890
|
-
if (mode === 'md') {
|
|
33891
|
-
offset += win$1.innerHeight - box.top;
|
|
33892
|
-
}
|
|
33893
|
-
else {
|
|
33894
|
-
offset -= win$1.innerHeight - box.top;
|
|
33895
|
-
}
|
|
33896
|
-
}
|
|
33897
|
-
/**
|
|
33898
|
-
* We don't include safe area here because that should already be
|
|
33899
|
-
* accounted for when checking the position of the anchor.
|
|
33900
|
-
*/
|
|
33901
|
-
return {
|
|
33902
|
-
top: `${offset}px`,
|
|
33903
|
-
bottom: `${offset}px`,
|
|
33904
|
-
};
|
|
33905
|
-
}
|
|
33906
|
-
else {
|
|
33907
|
-
return {
|
|
33908
|
-
top: `calc(${offset}px + var(--ion-safe-area-top, 0px))`,
|
|
33909
|
-
bottom: mode === 'md'
|
|
33910
|
-
? `calc(${offset}px + var(--ion-safe-area-bottom, 0px))`
|
|
33911
|
-
: `calc(${offset}px - var(--ion-safe-area-bottom, 0px))`,
|
|
33912
|
-
};
|
|
33913
|
-
}
|
|
33914
|
-
}
|
|
33915
|
-
/**
|
|
33916
|
-
* If the anchor element is hidden, getBoundingClientRect()
|
|
33917
|
-
* will return all 0s for it, which can cause unexpected
|
|
33918
|
-
* results in the position calculation when animating.
|
|
33919
|
-
*/
|
|
33920
|
-
function warnIfAnchorIsHidden(positionAnchor, toast) {
|
|
33921
|
-
if (positionAnchor.offsetParent === null) {
|
|
33922
|
-
printIonWarning('The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);
|
|
33923
|
-
}
|
|
33924
|
-
}
|
|
33925
|
-
|
|
33926
33774
|
const toastIosCss = "/*!@:host*/.sc-ion-toast-ios-h{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;--white-space:normal;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);contain:strict;z-index:1001;pointer-events:none}@supports (inset-inline-start: 0){/*!@:host*/.sc-ion-toast-ios-h{inset-inline-start:0}}@supports not (inset-inline-start: 0){/*!@:host*/.sc-ion-toast-ios-h{left:0}/*!@:host-context([dir=rtl])*/[dir=rtl].sc-ion-toast-ios-h,[dir=rtl] .sc-ion-toast-ios-h{left:unset;right:unset;right:0}/*!@@supports selector(:dir(rtl))*/@supports .sc-ion-toast-ios selector(.sc-ion-toast-ios:dir(rtl)){.sc-ion-toast-ios-h:dir(rtl){left:unset;right:unset;right:0}}}/*!@:host(.overlay-hidden)*/.overlay-hidden.sc-ion-toast-ios-h{display:none}/*!@:host(.ion-color)*/.ion-color.sc-ion-toast-ios-h{--button-color:inherit;color:var(--ion-color-contrast)}/*!@:host(.ion-color) .toast-button-cancel*/.ion-color.sc-ion-toast-ios-h .toast-button-cancel.sc-ion-toast-ios{color:inherit}/*!@:host(.ion-color) .toast-wrapper*/.ion-color.sc-ion-toast-ios-h .toast-wrapper.sc-ion-toast-ios{background:var(--ion-color-base)}/*!@.toast-wrapper*/.toast-wrapper.sc-ion-toast-ios{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}@supports (inset-inline-start: 0){/*!@.toast-wrapper*/.toast-wrapper.sc-ion-toast-ios{inset-inline-start:var(--start);inset-inline-end:var(--end)}}@supports not (inset-inline-start: 0){/*!@.toast-wrapper*/.toast-wrapper.sc-ion-toast-ios{left:var(--start);right:var(--end)}/*!@:host-context([dir=rtl]) .toast-wrapper*/[dir=rtl].sc-ion-toast-ios-h .toast-wrapper.sc-ion-toast-ios,[dir=rtl] .sc-ion-toast-ios-h .toast-wrapper.sc-ion-toast-ios{left:unset;right:unset;left:var(--end);right:var(--start)}/*!@[dir=rtl] .toast-wrapper*/[dir=rtl].sc-ion-toast-ios .toast-wrapper.sc-ion-toast-ios{left:unset;right:unset;left:var(--end);right:var(--start)}/*!@@supports selector(:dir(rtl))*/@supports .sc-ion-toast-ios selector(.sc-ion-toast-ios:dir(rtl)){.toast-wrapper:dir(rtl){left:unset;right:unset;left:var(--end);right:var(--start)}}}/*!@.toast-container*/.toast-container.sc-ion-toast-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;pointer-events:auto;height:inherit;min-height:inherit;max-height:inherit;contain:content}/*!@.toast-layout-stacked .toast-container*/.toast-layout-stacked.sc-ion-toast-ios .toast-container.sc-ion-toast-ios{-ms-flex-wrap:wrap;flex-wrap:wrap}/*!@.toast-layout-baseline .toast-content*/.toast-layout-baseline.sc-ion-toast-ios .toast-content.sc-ion-toast-ios{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}/*!@.toast-icon*/.toast-icon.sc-ion-toast-ios{-webkit-margin-start:16px;margin-inline-start:16px}/*!@.toast-message*/.toast-message.sc-ion-toast-ios{-ms-flex:1;flex:1;white-space:var(--white-space)}/*!@.toast-button-group*/.toast-button-group.sc-ion-toast-ios{display:-ms-flexbox;display:flex}/*!@.toast-layout-stacked .toast-button-group*/.toast-layout-stacked.sc-ion-toast-ios .toast-button-group.sc-ion-toast-ios{-ms-flex-pack:end;justify-content:end;width:100%}/*!@.toast-button*/.toast-button.sc-ion-toast-ios{border:0;outline:none;color:var(--button-color);z-index:0}/*!@.toast-icon,\n.toast-button-icon*/.toast-icon.sc-ion-toast-ios,.toast-button-icon.sc-ion-toast-ios{font-size:1.4em}/*!@.toast-button-inner*/.toast-button-inner.sc-ion-toast-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media (any-hover: hover){/*!@.toast-button:hover*/.toast-button.sc-ion-toast-ios:hover{cursor:pointer}}/*!@:host*/.sc-ion-toast-ios-h{--background:var(--ion-color-step-50, #f2f2f2);--border-radius:14px;--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-850, #262626);--max-width:700px;--start:10px;--end:10px;font-size:14px}/*!@.toast-wrapper*/.toast-wrapper.sc-ion-toast-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;z-index:10}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){/*!@:host(.toast-translucent) .toast-wrapper*/.toast-translucent.sc-ion-toast-ios-h .toast-wrapper.sc-ion-toast-ios{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}/*!@:host(.ion-color.toast-translucent) .toast-wrapper*/.ion-color.toast-translucent.sc-ion-toast-ios-h .toast-wrapper.sc-ion-toast-ios{background:rgba(var(--ion-color-base-rgb), 0.8)}}/*!@.toast-wrapper.toast-top*/.toast-wrapper.toast-top.sc-ion-toast-ios{-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);top:0}/*!@.toast-wrapper.toast-middle*/.toast-wrapper.toast-middle.sc-ion-toast-ios{opacity:0.01}/*!@.toast-wrapper.toast-bottom*/.toast-wrapper.toast-bottom.sc-ion-toast-ios{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);bottom:0}/*!@.toast-content*/.toast-content.sc-ion-toast-ios{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:15px;padding-bottom:15px}/*!@.toast-header*/.toast-header.sc-ion-toast-ios{margin-bottom:2px;font-weight:500}/*!@.toast-button*/.toast-button.sc-ion-toast-ios{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:10px;padding-bottom:10px;height:44px;-webkit-transition:background-color, opacity 100ms linear;transition:background-color, opacity 100ms linear;border:0;background-color:transparent;font-family:var(--ion-font-family);font-size:17px;font-weight:500;overflow:hidden}/*!@.toast-button.ion-activated*/.toast-button.ion-activated.sc-ion-toast-ios{opacity:0.4}@media (any-hover: hover){/*!@.toast-button:hover*/.toast-button.sc-ion-toast-ios:hover{opacity:0.6}}";
|
|
33927
33775
|
|
|
33928
33776
|
const toastMdCss = "/*!@:host*/.sc-ion-toast-md-h{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;--white-space:normal;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);contain:strict;z-index:1001;pointer-events:none}@supports (inset-inline-start: 0){/*!@:host*/.sc-ion-toast-md-h{inset-inline-start:0}}@supports not (inset-inline-start: 0){/*!@:host*/.sc-ion-toast-md-h{left:0}/*!@:host-context([dir=rtl])*/[dir=rtl].sc-ion-toast-md-h,[dir=rtl] .sc-ion-toast-md-h{left:unset;right:unset;right:0}/*!@@supports selector(:dir(rtl))*/@supports .sc-ion-toast-md selector(.sc-ion-toast-md:dir(rtl)){.sc-ion-toast-md-h:dir(rtl){left:unset;right:unset;right:0}}}/*!@:host(.overlay-hidden)*/.overlay-hidden.sc-ion-toast-md-h{display:none}/*!@:host(.ion-color)*/.ion-color.sc-ion-toast-md-h{--button-color:inherit;color:var(--ion-color-contrast)}/*!@:host(.ion-color) .toast-button-cancel*/.ion-color.sc-ion-toast-md-h .toast-button-cancel.sc-ion-toast-md{color:inherit}/*!@:host(.ion-color) .toast-wrapper*/.ion-color.sc-ion-toast-md-h .toast-wrapper.sc-ion-toast-md{background:var(--ion-color-base)}/*!@.toast-wrapper*/.toast-wrapper.sc-ion-toast-md{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}@supports (inset-inline-start: 0){/*!@.toast-wrapper*/.toast-wrapper.sc-ion-toast-md{inset-inline-start:var(--start);inset-inline-end:var(--end)}}@supports not (inset-inline-start: 0){/*!@.toast-wrapper*/.toast-wrapper.sc-ion-toast-md{left:var(--start);right:var(--end)}/*!@:host-context([dir=rtl]) .toast-wrapper*/[dir=rtl].sc-ion-toast-md-h .toast-wrapper.sc-ion-toast-md,[dir=rtl] .sc-ion-toast-md-h .toast-wrapper.sc-ion-toast-md{left:unset;right:unset;left:var(--end);right:var(--start)}/*!@[dir=rtl] .toast-wrapper*/[dir=rtl].sc-ion-toast-md .toast-wrapper.sc-ion-toast-md{left:unset;right:unset;left:var(--end);right:var(--start)}/*!@@supports selector(:dir(rtl))*/@supports .sc-ion-toast-md selector(.sc-ion-toast-md:dir(rtl)){.toast-wrapper:dir(rtl){left:unset;right:unset;left:var(--end);right:var(--start)}}}/*!@.toast-container*/.toast-container.sc-ion-toast-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;pointer-events:auto;height:inherit;min-height:inherit;max-height:inherit;contain:content}/*!@.toast-layout-stacked .toast-container*/.toast-layout-stacked.sc-ion-toast-md .toast-container.sc-ion-toast-md{-ms-flex-wrap:wrap;flex-wrap:wrap}/*!@.toast-layout-baseline .toast-content*/.toast-layout-baseline.sc-ion-toast-md .toast-content.sc-ion-toast-md{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}/*!@.toast-icon*/.toast-icon.sc-ion-toast-md{-webkit-margin-start:16px;margin-inline-start:16px}/*!@.toast-message*/.toast-message.sc-ion-toast-md{-ms-flex:1;flex:1;white-space:var(--white-space)}/*!@.toast-button-group*/.toast-button-group.sc-ion-toast-md{display:-ms-flexbox;display:flex}/*!@.toast-layout-stacked .toast-button-group*/.toast-layout-stacked.sc-ion-toast-md .toast-button-group.sc-ion-toast-md{-ms-flex-pack:end;justify-content:end;width:100%}/*!@.toast-button*/.toast-button.sc-ion-toast-md{border:0;outline:none;color:var(--button-color);z-index:0}/*!@.toast-icon,\n.toast-button-icon*/.toast-icon.sc-ion-toast-md,.toast-button-icon.sc-ion-toast-md{font-size:1.4em}/*!@.toast-button-inner*/.toast-button-inner.sc-ion-toast-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media (any-hover: hover){/*!@.toast-button:hover*/.toast-button.sc-ion-toast-md:hover{cursor:pointer}}/*!@:host*/.sc-ion-toast-md-h{--background:var(--ion-color-step-800, #333333);--border-radius:4px;--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-50, #f2f2f2);--max-width:700px;--start:8px;--end:8px;font-size:14px}/*!@.toast-wrapper*/.toast-wrapper.sc-ion-toast-md{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;opacity:0.01;z-index:10}/*!@.toast-content*/.toast-content.sc-ion-toast-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:14px;padding-bottom:14px}/*!@.toast-header*/.toast-header.sc-ion-toast-md{margin-bottom:2px;font-weight:500;line-height:20px}/*!@.toast-message*/.toast-message.sc-ion-toast-md{line-height:20px}/*!@.toast-layout-baseline .toast-button-group-start*/.toast-layout-baseline.sc-ion-toast-md .toast-button-group-start.sc-ion-toast-md{-webkit-margin-start:8px;margin-inline-start:8px}/*!@.toast-layout-stacked .toast-button-group-start*/.toast-layout-stacked.sc-ion-toast-md .toast-button-group-start.sc-ion-toast-md{-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px}/*!@.toast-layout-baseline .toast-button-group-end*/.toast-layout-baseline.sc-ion-toast-md .toast-button-group-end.sc-ion-toast-md{-webkit-margin-end:8px;margin-inline-end:8px}/*!@.toast-layout-stacked .toast-button-group-end*/.toast-layout-stacked.sc-ion-toast-md .toast-button-group-end.sc-ion-toast-md{-webkit-margin-end:8px;margin-inline-end:8px;margin-bottom:8px}/*!@.toast-button*/.toast-button.sc-ion-toast-md{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;font-family:var(--ion-font-family);font-size:14px;font-weight:500;letter-spacing:0.84px;text-transform:uppercase;overflow:hidden}/*!@.toast-button-cancel*/.toast-button-cancel.sc-ion-toast-md{color:var(--ion-color-step-100, #e6e6e6)}/*!@.toast-button-icon-only*/.toast-button-icon-only.sc-ion-toast-md{border-radius:50%;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px;padding-top:9px;padding-bottom:9px;width:36px;height:36px}@media (any-hover: hover){/*!@.toast-button:hover*/.toast-button.sc-ion-toast-md:hover{background-color:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.08)}/*!@.toast-button-cancel:hover*/.toast-button-cancel.sc-ion-toast-md:hover{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.08)}}";
|
|
@@ -33975,7 +33823,6 @@ class Toast {
|
|
|
33975
33823
|
this.message = undefined;
|
|
33976
33824
|
this.keyboardClose = false;
|
|
33977
33825
|
this.position = 'bottom';
|
|
33978
|
-
this.positionAnchor = undefined;
|
|
33979
33826
|
this.buttons = undefined;
|
|
33980
33827
|
this.translucent = false;
|
|
33981
33828
|
this.animated = true;
|
|
@@ -34023,19 +33870,7 @@ class Toast {
|
|
|
34023
33870
|
async present() {
|
|
34024
33871
|
const unlock = await this.lockController.lock();
|
|
34025
33872
|
await this.delegateController.attachViewToDom();
|
|
34026
|
-
|
|
34027
|
-
const anchor = this.getAnchorElement();
|
|
34028
|
-
const animationPosition = getAnimationPosition(position, anchor, getIonMode$1(this), el);
|
|
34029
|
-
/**
|
|
34030
|
-
* Cache the calculated position of the toast, so we can re-use it
|
|
34031
|
-
* in the dismiss animation.
|
|
34032
|
-
*/
|
|
34033
|
-
this.lastPresentedPosition = animationPosition;
|
|
34034
|
-
await present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
34035
|
-
position,
|
|
34036
|
-
top: animationPosition.top,
|
|
34037
|
-
bottom: animationPosition.bottom,
|
|
34038
|
-
});
|
|
33873
|
+
await present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation, this.position);
|
|
34039
33874
|
/**
|
|
34040
33875
|
* Content is revealed to screen readers after
|
|
34041
33876
|
* the transition to avoid jank since this
|
|
@@ -34057,28 +33892,15 @@ class Toast {
|
|
|
34057
33892
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
34058
33893
|
*/
|
|
34059
33894
|
async dismiss(data, role) {
|
|
34060
|
-
var _a, _b;
|
|
34061
33895
|
const unlock = await this.lockController.lock();
|
|
34062
|
-
|
|
34063
|
-
|
|
34064
|
-
clearTimeout(durationTimeout);
|
|
33896
|
+
if (this.durationTimeout) {
|
|
33897
|
+
clearTimeout(this.durationTimeout);
|
|
34065
33898
|
}
|
|
34066
|
-
const dismissed = await dismiss(this, data, role, 'toastLeave', iosLeaveAnimation, mdLeaveAnimation,
|
|
34067
|
-
/**
|
|
34068
|
-
* Fetch the cached position that was calculated back in the present
|
|
34069
|
-
* animation. We always want to animate the dismiss from the same
|
|
34070
|
-
* position the present stopped at, so the animation looks continuous.
|
|
34071
|
-
*/
|
|
34072
|
-
{
|
|
34073
|
-
position,
|
|
34074
|
-
top: (_a = lastPresentedPosition === null || lastPresentedPosition === void 0 ? void 0 : lastPresentedPosition.top) !== null && _a !== void 0 ? _a : '',
|
|
34075
|
-
bottom: (_b = lastPresentedPosition === null || lastPresentedPosition === void 0 ? void 0 : lastPresentedPosition.bottom) !== null && _b !== void 0 ? _b : '',
|
|
34076
|
-
});
|
|
33899
|
+
const dismissed = await dismiss(this, data, role, 'toastLeave', iosLeaveAnimation, mdLeaveAnimation, this.position);
|
|
34077
33900
|
if (dismissed) {
|
|
34078
33901
|
this.delegateController.removeViewFromDom();
|
|
34079
33902
|
this.revealContentToScreenReader = false;
|
|
34080
33903
|
}
|
|
34081
|
-
this.lastPresentedPosition = undefined;
|
|
34082
33904
|
unlock();
|
|
34083
33905
|
return dismissed;
|
|
34084
33906
|
}
|
|
@@ -34102,44 +33924,6 @@ class Toast {
|
|
|
34102
33924
|
: [];
|
|
34103
33925
|
return buttons;
|
|
34104
33926
|
}
|
|
34105
|
-
/**
|
|
34106
|
-
* Returns the element specified by the positionAnchor prop,
|
|
34107
|
-
* or undefined if prop's value is an ID string and the element
|
|
34108
|
-
* is not found in the DOM.
|
|
34109
|
-
*/
|
|
34110
|
-
getAnchorElement() {
|
|
34111
|
-
const { position, positionAnchor, el } = this;
|
|
34112
|
-
/**
|
|
34113
|
-
* If positionAnchor is undefined then
|
|
34114
|
-
* no anchor should be used when presenting the toast.
|
|
34115
|
-
*/
|
|
34116
|
-
if (positionAnchor === undefined) {
|
|
34117
|
-
return;
|
|
34118
|
-
}
|
|
34119
|
-
if (position === 'middle' && positionAnchor !== undefined) {
|
|
34120
|
-
printIonWarning('The positionAnchor property is ignored when using position="middle".', this.el);
|
|
34121
|
-
return undefined;
|
|
34122
|
-
}
|
|
34123
|
-
if (typeof positionAnchor === 'string') {
|
|
34124
|
-
/**
|
|
34125
|
-
* If the anchor is defined as an ID, find the element.
|
|
34126
|
-
* We do this on every present so the toast doesn't need
|
|
34127
|
-
* to account for the surrounding DOM changing since the
|
|
34128
|
-
* last time it was presented.
|
|
34129
|
-
*/
|
|
34130
|
-
const foundEl = document.getElementById(positionAnchor);
|
|
34131
|
-
if (foundEl === null) {
|
|
34132
|
-
printIonWarning(`An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
|
|
34133
|
-
return undefined;
|
|
34134
|
-
}
|
|
34135
|
-
return foundEl;
|
|
34136
|
-
}
|
|
34137
|
-
if (positionAnchor instanceof HTMLElement) {
|
|
34138
|
-
return positionAnchor;
|
|
34139
|
-
}
|
|
34140
|
-
printIonWarning('Invalid positionAnchor value:', positionAnchor, el);
|
|
34141
|
-
return undefined;
|
|
34142
|
-
}
|
|
34143
33927
|
async buttonClick(button) {
|
|
34144
33928
|
const role = button.role;
|
|
34145
33929
|
if (isCancel(role)) {
|
|
@@ -34247,7 +34031,6 @@ class Toast {
|
|
|
34247
34031
|
"message": [1],
|
|
34248
34032
|
"keyboardClose": [4, "keyboard-close"],
|
|
34249
34033
|
"position": [1],
|
|
34250
|
-
"positionAnchor": [1, "position-anchor"],
|
|
34251
34034
|
"buttons": [16],
|
|
34252
34035
|
"translucent": [4],
|
|
34253
34036
|
"animated": [4],
|
|
@@ -34315,6 +34098,9 @@ class Toggle {
|
|
|
34315
34098
|
}
|
|
34316
34099
|
};
|
|
34317
34100
|
this.onClick = (ev) => {
|
|
34101
|
+
if (this.disabled) {
|
|
34102
|
+
return;
|
|
34103
|
+
}
|
|
34318
34104
|
ev.preventDefault();
|
|
34319
34105
|
if (this.lastDrag + 300 < Date.now()) {
|
|
34320
34106
|
this.toggleChecked();
|
|
@@ -34965,7 +34751,6 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
34965
34751
|
.easing(opts.easing || EASING)
|
|
34966
34752
|
.fill('both')
|
|
34967
34753
|
.beforeRemoveClass('ion-page-invisible');
|
|
34968
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
34969
34754
|
if (leavingEl && navEl !== null && navEl !== undefined) {
|
|
34970
34755
|
const navDecorAnimation = createAnimation();
|
|
34971
34756
|
navDecorAnimation.addElement(navEl);
|