@ionic/core 7.6.8-dev.11706715287.1950fa40 → 7.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/hardware-back-button.js +47 -3
- package/components/helpers.js +1 -1
- package/components/ion-app.js +12 -2
- package/components/ion-menu.js +9 -3
- package/components/ion-modal.js +6 -4
- package/components/ion-split-pane.js +11 -12
- package/components/overlays.js +30 -15
- package/dist/cjs/{animation-9b401d39.js → animation-fdab9de5.js} +1 -1
- package/dist/cjs/{form-controller-7d42a722.js → form-controller-7b90d7b7.js} +1 -1
- package/dist/cjs/{framework-delegate-1c29b14a.js → framework-delegate-a3e6d060.js} +1 -1
- package/dist/cjs/{hardware-back-button-76833cac.js → hardware-back-button-d23873bb.js} +48 -2
- package/dist/cjs/{helpers-76bb7efb.js → helpers-2e1028fa.js} +1 -1
- package/dist/cjs/{index-b4f986cd.js → index-10da82ce.js} +1 -1
- package/dist/cjs/{index-da15e99c.js → index-53d162b2.js} +1 -1
- package/dist/cjs/{index-fc6d268f.js → index-84351d21.js} +3 -3
- package/dist/cjs/{index-8aef188d.js → index-8c679cbf.js} +3 -3
- package/dist/cjs/index.cjs.js +9 -9
- package/dist/cjs/{input-shims-a23bb0f4.js → input-shims-6f804705.js} +2 -2
- package/dist/cjs/{input.utils-3d0166a2.js → input.utils-d693d18a.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
- 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 +31 -22
- package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
- package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +5 -5
- package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-img.cjs.entry.js +1 -1
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +4 -4
- package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
- package/dist/cjs/ion-loading.cjs.entry.js +5 -5
- package/dist/cjs/ion-menu_3.cjs.entry.js +13 -8
- package/dist/cjs/ion-modal.cjs.entry.js +12 -10
- package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +1 -1
- package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +6 -6
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- 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-route_4.cjs.entry.js +1 -1
- package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-split-pane.cjs.entry.js +11 -12
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-tab_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
- package/dist/cjs/ion-toast.cjs.entry.js +5 -5
- package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/{ios.transition-2d1cf0c0.js → ios.transition-8e40c54e.js} +3 -3
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-bb342d2a.js → md.transition-597a2479.js} +3 -3
- package/dist/cjs/{notch-controller-9735e7ac.js → notch-controller-db0127c4.js} +1 -1
- package/dist/cjs/{overlays-62679ec5.js → overlays-c50bf3c1.js} +32 -16
- package/dist/cjs/{status-tap-5fa2bab5.js → status-tap-b0bfea34.js} +2 -2
- package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-8411f044.js} +1 -1
- package/dist/collection/components/app/app.js +12 -2
- package/dist/collection/components/menu/menu.js +8 -8
- package/dist/collection/components/modal/modal.js +6 -4
- package/dist/collection/components/split-pane/split-pane.js +11 -12
- package/dist/collection/utils/hardware-back-button.js +45 -2
- package/dist/collection/utils/helpers.js +1 -1
- package/dist/collection/utils/overlays.js +29 -13
- package/dist/collection/utils/test/hardware-back-button.spec.js +38 -0
- package/dist/docs.json +1 -6
- package/dist/esm/{animation-dde8cc0d.js → animation-60dbdd13.js} +1 -1
- package/dist/esm/{form-controller-548aa79c.js → form-controller-014aa89f.js} +1 -1
- package/dist/esm/{framework-delegate-bc1fd82a.js → framework-delegate-fed7fe7c.js} +1 -1
- package/dist/esm/{hardware-back-button-b2bc76db.js → hardware-back-button-f42b9c80.js} +48 -3
- package/dist/esm/{helpers-ae653409.js → helpers-c0b9ca37.js} +1 -1
- package/dist/esm/{index-6546f0dd.js → index-48209844.js} +3 -3
- package/dist/esm/{index-8fac11d0.js → index-4b98143d.js} +3 -3
- package/dist/esm/{index-82eeb47f.js → index-d64f34ea.js} +1 -1
- package/dist/esm/{index-b9e742e5.js → index-eb12ef92.js} +1 -1
- package/dist/esm/index.js +9 -9
- package/dist/esm/{input-shims-6539ce13.js → input-shims-b90ca55f.js} +2 -2
- package/dist/esm/{input.utils-a5a2d164.js → input.utils-6e9b0046.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- 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 +21 -12
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm/ion-button_2.entry.js +1 -1
- package/dist/esm/ion-card_5.entry.js +1 -1
- package/dist/esm/ion-checkbox.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +5 -5
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-img.entry.js +1 -1
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +4 -4
- package/dist/esm/ion-item-option_3.entry.js +2 -2
- package/dist/esm/ion-item_8.entry.js +1 -1
- package/dist/esm/ion-loading.entry.js +5 -5
- package/dist/esm/ion-menu_3.entry.js +13 -8
- package/dist/esm/ion-modal.entry.js +12 -10
- package/dist/esm/ion-nav_2.entry.js +4 -4
- package/dist/esm/ion-picker-column-internal.entry.js +1 -1
- package/dist/esm/ion-picker-internal.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +6 -6
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +2 -2
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +3 -3
- package/dist/esm/ion-reorder_2.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +1 -1
- package/dist/esm/ion-searchbar.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +6 -6
- package/dist/esm/ion-split-pane.entry.js +11 -12
- package/dist/esm/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm/ion-tab_2.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +4 -4
- package/dist/esm/ion-toast.entry.js +5 -5
- package/dist/esm/ion-toggle.entry.js +2 -2
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/{ios.transition-968faaad.js → ios.transition-7ff7381d.js} +3 -3
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-498898ac.js → md.transition-28a9a26b.js} +3 -3
- package/dist/esm/{notch-controller-fea7f9c5.js → notch-controller-15d281a4.js} +1 -1
- package/dist/esm/{overlays-4bb86b9c.js → overlays-3311e70e.js} +32 -17
- package/dist/esm/{status-tap-06b37f21.js → status-tap-2b335fb7.js} +2 -2
- package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-c06602f2.js} +1 -1
- package/dist/esm-es5/{animation-dde8cc0d.js → animation-60dbdd13.js} +1 -1
- package/dist/esm-es5/{form-controller-548aa79c.js → form-controller-014aa89f.js} +1 -1
- package/dist/esm-es5/{framework-delegate-bc1fd82a.js → framework-delegate-fed7fe7c.js} +1 -1
- package/dist/esm-es5/hardware-back-button-f42b9c80.js +4 -0
- package/dist/esm-es5/helpers-c0b9ca37.js +4 -0
- package/dist/esm-es5/{index-6546f0dd.js → index-48209844.js} +1 -1
- package/dist/esm-es5/{index-8fac11d0.js → index-4b98143d.js} +1 -1
- package/dist/esm-es5/index-d64f34ea.js +4 -0
- package/dist/esm-es5/{index-b9e742e5.js → index-eb12ef92.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{input-shims-6539ce13.js → input-shims-b90ca55f.js} +1 -1
- package/dist/esm-es5/{input.utils-a5a2d164.js → input.utils-6e9b0046.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-back-button.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-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-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-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-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.js +1 -1
- package/dist/esm-es5/{ios.transition-968faaad.js → ios.transition-7ff7381d.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-28a9a26b.js +4 -0
- package/dist/esm-es5/{notch-controller-fea7f9c5.js → notch-controller-15d281a4.js} +1 -1
- package/dist/esm-es5/overlays-3311e70e.js +4 -0
- package/dist/esm-es5/{status-tap-06b37f21.js → status-tap-2b335fb7.js} +1 -1
- package/dist/esm-es5/{swipe-back-a6f386fc.js → swipe-back-c06602f2.js} +1 -1
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-001010b6.system.js +4 -0
- package/dist/ionic/{p-f318e213.system.entry.js → p-078fd095.system.entry.js} +1 -1
- package/dist/ionic/{p-42f11f58.system.entry.js → p-0ae25399.system.entry.js} +1 -1
- package/dist/ionic/p-0b955124.system.js +1 -1
- package/dist/ionic/{p-42b4b9a2.system.entry.js → p-0e29919c.system.entry.js} +1 -1
- package/dist/ionic/{p-0274f779.system.entry.js → p-0eef8b34.system.entry.js} +1 -1
- package/dist/ionic/p-0f1f0519.system.entry.js +4 -0
- package/dist/ionic/{p-70684fef.system.entry.js → p-0fd295ef.system.entry.js} +1 -1
- package/dist/ionic/{p-9e09d6d3.entry.js → p-108f730a.entry.js} +1 -1
- package/dist/ionic/p-1172fd73.system.entry.js +4 -0
- package/dist/ionic/{p-b4db67d7.entry.js → p-1c531ca2.entry.js} +1 -1
- package/dist/ionic/{p-8642d042.system.entry.js → p-1d72ecba.system.entry.js} +1 -1
- package/dist/ionic/{p-3e273305.system.entry.js → p-1f6cdf2c.system.entry.js} +1 -1
- package/dist/ionic/{p-99fe3df1.system.entry.js → p-20f7a91e.system.entry.js} +1 -1
- package/dist/ionic/{p-487be9e8.system.js → p-25b08bc4.system.js} +1 -1
- package/dist/ionic/{p-2f7c7dc9.entry.js → p-2da0a76c.entry.js} +1 -1
- package/dist/ionic/{p-ac19cc2f.system.entry.js → p-2e344096.system.entry.js} +1 -1
- package/dist/ionic/{p-42dd5fb5.system.entry.js → p-2f66e177.system.entry.js} +1 -1
- package/dist/ionic/p-30d77a91.system.js +4 -0
- package/dist/ionic/{p-376a6063.js → p-31c495c2.js} +1 -1
- package/dist/ionic/p-324dafd3.entry.js +4 -0
- package/dist/ionic/{p-cabad15b.system.js → p-37c33319.system.js} +1 -1
- package/dist/ionic/{p-c191ba05.system.entry.js → p-389ff4d2.system.entry.js} +1 -1
- package/dist/ionic/{p-5d843dac.system.entry.js → p-3a54c070.system.entry.js} +1 -1
- package/dist/ionic/{p-5d26143c.entry.js → p-3a98f8db.entry.js} +1 -1
- package/dist/ionic/{p-725b4e67.system.js → p-3c6f02cf.system.js} +1 -1
- package/dist/ionic/{p-b60b708c.entry.js → p-3cdbaa49.entry.js} +1 -1
- package/dist/ionic/p-3eb2da31.js +4 -0
- package/dist/ionic/{p-af9ab3f4.entry.js → p-400574bf.entry.js} +1 -1
- package/dist/ionic/{p-a3928153.system.entry.js → p-44638413.system.entry.js} +1 -1
- package/dist/ionic/{p-ca975c93.entry.js → p-4ae1b532.entry.js} +1 -1
- package/dist/ionic/p-4b2d5b9c.js +4 -0
- package/dist/ionic/p-4efac4fd.system.js +4 -0
- package/dist/ionic/{p-88d5fbd3.js → p-4f777b5e.js} +1 -1
- package/dist/ionic/{p-d5824344.system.entry.js → p-50a24d93.system.entry.js} +1 -1
- package/dist/ionic/{p-81b652ad.entry.js → p-51f08a9f.entry.js} +1 -1
- package/dist/ionic/{p-2b0a2dac.system.entry.js → p-5946d7b8.system.entry.js} +1 -1
- package/dist/ionic/{p-0d3e389b.entry.js → p-5a0c301f.entry.js} +1 -1
- package/dist/ionic/{p-dbb9820e.entry.js → p-5a7d5f0d.entry.js} +1 -1
- package/dist/ionic/p-5b6aa59a.entry.js +4 -0
- package/dist/ionic/{p-b853da37.entry.js → p-5e60dbc8.entry.js} +1 -1
- package/dist/ionic/{p-bf7f57a7.system.entry.js → p-5f456b3c.system.entry.js} +1 -1
- package/dist/ionic/p-61ba2137.system.js +4 -0
- package/dist/ionic/{p-408fc801.system.js → p-62a3c609.system.js} +1 -1
- package/dist/ionic/{p-ee463529.system.entry.js → p-680f96e8.system.entry.js} +1 -1
- package/dist/ionic/p-6871553b.system.js +4 -0
- package/dist/ionic/{p-46b0ffa3.system.entry.js → p-6f38d0c5.system.entry.js} +1 -1
- package/dist/ionic/{p-03f18e57.system.entry.js → p-70026e8f.system.entry.js} +1 -1
- package/dist/ionic/p-776b144b.system.js +4 -0
- package/dist/ionic/{p-64520a48.system.entry.js → p-78edc0cd.system.entry.js} +1 -1
- package/dist/ionic/{p-41dc24d3.system.entry.js → p-7c32fb95.system.entry.js} +1 -1
- package/dist/ionic/{p-4d82a816.system.entry.js → p-84879f61.system.entry.js} +1 -1
- package/dist/ionic/{p-57cce147.system.entry.js → p-8569d759.system.entry.js} +1 -1
- package/dist/ionic/{p-7e732640.entry.js → p-8a671f16.entry.js} +1 -1
- package/dist/ionic/p-8dc4a983.entry.js +4 -0
- package/dist/ionic/{p-76d39342.js → p-8ddc00f7.js} +1 -1
- package/dist/ionic/{p-b3bf4958.js → p-8f1ce253.js} +1 -1
- package/dist/ionic/{p-c44eadec.entry.js → p-90860bc4.entry.js} +1 -1
- package/dist/ionic/{p-2f9fe497.system.entry.js → p-92c2178e.system.entry.js} +1 -1
- package/dist/ionic/{p-6aacda17.system.entry.js → p-92c7f47f.system.entry.js} +1 -1
- package/dist/ionic/{p-29d03b3a.js → p-9393a49f.js} +1 -1
- package/dist/ionic/{p-3a75d7fd.js → p-94be3ad7.js} +1 -1
- package/dist/ionic/p-95c44e02.system.js +4 -0
- package/dist/ionic/{p-0f96cac5.entry.js → p-97eca294.entry.js} +1 -1
- package/dist/ionic/{p-195c7203.system.js → p-9c8fb374.system.js} +1 -1
- package/dist/ionic/{p-ba0dc6b0.system.entry.js → p-9f5b40c0.system.entry.js} +1 -1
- package/dist/ionic/{p-0d197ad6.entry.js → p-9f6397ce.entry.js} +1 -1
- package/dist/ionic/{p-4a1eb087.entry.js → p-a02b2d75.entry.js} +1 -1
- package/dist/ionic/{p-432353dc.entry.js → p-a19f5ae1.entry.js} +1 -1
- package/dist/ionic/{p-18d1b47e.system.entry.js → p-a1bfaa5c.system.entry.js} +1 -1
- package/dist/ionic/{p-aad00593.entry.js → p-a2ad515b.entry.js} +1 -1
- package/dist/ionic/{p-4180a747.js → p-a3f572a7.js} +1 -1
- package/dist/ionic/{p-7b8a53a4.system.entry.js → p-aaa4ffb3.system.entry.js} +1 -1
- package/dist/ionic/p-ae40d13d.js +4 -0
- package/dist/ionic/{p-66d633fb.js → p-b253ad7f.js} +1 -1
- package/dist/ionic/p-b37e4ee5.system.entry.js +4 -0
- package/dist/ionic/{p-47bb4958.js → p-b4d8fe47.js} +1 -1
- package/dist/ionic/p-b5839dc2.js +4 -0
- package/dist/ionic/p-b8c685a7.system.js +4 -0
- package/dist/ionic/{p-f57f1a9c.system.entry.js → p-bc2c03d7.system.entry.js} +1 -1
- package/dist/ionic/{p-36d187af.js → p-c2289cd1.js} +1 -1
- package/dist/ionic/{p-b5914ab2.entry.js → p-c3790581.entry.js} +1 -1
- package/dist/ionic/p-c5c3710c.js +4 -0
- package/dist/ionic/{p-6ecc011b.system.js → p-c6fef62b.system.js} +1 -1
- package/dist/ionic/{p-7798c78a.system.js → p-c80c7e90.system.js} +1 -1
- package/dist/ionic/{p-013013a3.js → p-c858f685.js} +1 -1
- package/dist/ionic/{p-68a1c901.system.entry.js → p-cd055d60.system.entry.js} +1 -1
- package/dist/ionic/{p-6a6477b2.js → p-cdc277a6.js} +1 -1
- package/dist/ionic/{p-a6f57a98.entry.js → p-ce2eabd5.entry.js} +1 -1
- package/dist/ionic/{p-805a910b.entry.js → p-ce657bb3.entry.js} +1 -1
- package/dist/ionic/{p-ee20243d.system.entry.js → p-cfdaf024.system.entry.js} +1 -1
- package/dist/ionic/{p-a5954d3d.entry.js → p-d6ca603b.entry.js} +1 -1
- package/dist/ionic/{p-f20da312.entry.js → p-d7260b87.entry.js} +1 -1
- package/dist/ionic/p-d74ca358.entry.js +4 -0
- package/dist/ionic/{p-7288124a.entry.js → p-d95c8e90.entry.js} +1 -1
- package/dist/ionic/{p-4eecabe1.entry.js → p-dbb4c012.entry.js} +1 -1
- package/dist/ionic/{p-c1d4b820.entry.js → p-dce9bc53.entry.js} +1 -1
- package/dist/ionic/{p-0c813cbf.system.entry.js → p-dd60faa5.system.entry.js} +2 -2
- package/dist/ionic/{p-3b2ecb7e.entry.js → p-de5c8a55.entry.js} +1 -1
- package/dist/ionic/{p-1401bd2e.system.entry.js → p-df281664.system.entry.js} +1 -1
- package/dist/ionic/p-df468a8f.entry.js +4 -0
- package/dist/ionic/{p-38f2c6bb.system.js → p-e2bb92ed.system.js} +1 -1
- package/dist/ionic/{p-364a12ca.system.entry.js → p-e68980ff.system.entry.js} +1 -1
- package/dist/ionic/{p-b6e3c96d.system.entry.js → p-e6aaff14.system.entry.js} +1 -1
- package/dist/ionic/{p-82e8d988.entry.js → p-ea8fbf09.entry.js} +1 -1
- package/dist/ionic/p-efe9180b.entry.js +4 -0
- package/dist/ionic/{p-6c938b0d.entry.js → p-f1cc690e.entry.js} +1 -1
- package/dist/ionic/p-f46775e4.entry.js +4 -0
- package/dist/ionic/{p-a072a420.system.entry.js → p-f7b43141.system.entry.js} +1 -1
- package/dist/ionic/p-f85932b8.entry.js +4 -0
- package/dist/ionic/{p-7bb1d7dd.entry.js → p-f88dd429.entry.js} +1 -1
- package/dist/ionic/p-fd36799d.system.js +4 -0
- package/dist/ionic/{p-2a098168.entry.js → p-fd3f475f.entry.js} +1 -1
- package/dist/ionic/p-fd8ced99.system.js +4 -0
- package/dist/types/utils/browser/index.d.ts +22 -1
- package/dist/types/utils/config.d.ts +7 -0
- package/dist/types/utils/hardware-back-button.d.ts +13 -0
- package/hydrate/index.js +61 -36
- package/package.json +2 -2
- package/dist/collection/components/modal/test/animations/modal.e2e.js +0 -36
- package/dist/esm-es5/hardware-back-button-b2bc76db.js +0 -4
- package/dist/esm-es5/helpers-ae653409.js +0 -4
- package/dist/esm-es5/index-82eeb47f.js +0 -4
- package/dist/esm-es5/md.transition-498898ac.js +0 -4
- package/dist/esm-es5/overlays-4bb86b9c.js +0 -4
- package/dist/ionic/p-1902859c.system.js +0 -4
- package/dist/ionic/p-1b3fb9c6.system.entry.js +0 -4
- package/dist/ionic/p-23a9d086.js +0 -4
- package/dist/ionic/p-2afd906c.system.entry.js +0 -4
- package/dist/ionic/p-2b9debd4.entry.js +0 -4
- package/dist/ionic/p-32ad210f.system.js +0 -4
- package/dist/ionic/p-35ce400e.system.js +0 -4
- package/dist/ionic/p-38c337e7.system.js +0 -4
- package/dist/ionic/p-3d9154f0.entry.js +0 -4
- package/dist/ionic/p-40f68333.system.js +0 -4
- package/dist/ionic/p-4b3623da.js +0 -4
- package/dist/ionic/p-562bc465.js +0 -4
- package/dist/ionic/p-5ecb46d2.entry.js +0 -4
- package/dist/ionic/p-7045f570.entry.js +0 -4
- package/dist/ionic/p-70e988e8.js +0 -4
- package/dist/ionic/p-74d32574.entry.js +0 -4
- package/dist/ionic/p-765b4f12.system.entry.js +0 -4
- package/dist/ionic/p-790220fd.system.js +0 -4
- package/dist/ionic/p-888db766.system.js +0 -4
- package/dist/ionic/p-8bd50516.js +0 -4
- package/dist/ionic/p-a9cff22f.entry.js +0 -4
- package/dist/ionic/p-baf4a4a2.entry.js +0 -4
- package/dist/ionic/p-d2827762.system.js +0 -4
- package/dist/ionic/p-de6f8b28.system.js +0 -4
- package/dist/ionic/p-f06a7c31.system.js +0 -4
- package/dist/ionic/p-fac5d418.entry.js +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,d as e,h as r,H as n,f as a}from"./p-e1271366.js";import{f as i,d as s,r as o}from"./p-66d633fb.js";import{c as l}from"./p-013013a3.js";import{l as h,j as d,i as g,d as b,e as p}from"./p-23a9d086.js";import{p as c}from"./p-06fee233.js";import{i as m}from"./p-fb813dab.js";import{c as u,h as f}from"./p-47794def.js";import{b as k}from"./p-1aa7c019.js";const x=class{constructor(r){t(this,r),this.ionChange=e(this,"ionChange",7),this.ionInput=e(this,"ionInput",7),this.ionStyle=e(this,"ionStyle",7),this.ionFocus=e(this,"ionFocus",7),this.ionBlur=e(this,"ionBlur",7),this.ionKnobMoveStart=e(this,"ionKnobMoveStart",7),this.ionKnobMoveEnd=e(this,"ionKnobMoveEnd",7),this.rangeId="ion-r-"+z++,this.didLoad=!1,this.noUpdate=!1,this.hasFocus=!1,this.inheritedAttributes={},this.contentEl=null,this.initialContentScrollY=!0,this.hasLoggedDeprecationWarning=!1,this.clampBounds=t=>h(this.min,t,this.max),this.ensureValueInBounds=t=>this.dualKnobs?{lower:this.clampBounds(t.lower),upper:this.clampBounds(t.upper)}:this.clampBounds(t),this.setupGesture=async()=>{const t=this.rangeSlider;t&&(this.gesture=(await import("./p-f5d2dc9b.js")).createGesture({el:t,gestureName:"range",gesturePriority:100,threshold:0,onStart:t=>this.onStart(t),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)}),this.gesture.enable(!this.disabled))},this.handleKeyboard=(t,e)=>{const{ensureValueInBounds:r}=this;let n=this.step;n=n>0?n:1,n/=this.max-this.min,e||(n*=-1),"A"===t?this.ratioA=h(0,this.ratioA+n,1):this.ratioB=h(0,this.ratioB+n,1),this.ionKnobMoveStart.emit({value:r(this.value)}),this.updateValue(),this.emitValueChange(),this.ionKnobMoveEnd.emit({value:r(this.value)})},this.onBlur=()=>{this.hasFocus&&(this.hasFocus=!1,this.ionBlur.emit(),this.emitStyle())},this.onFocus=()=>{this.hasFocus||(this.hasFocus=!0,this.ionFocus.emit(),this.emitStyle())},this.ratioA=0,this.ratioB=0,this.pressedKnob=void 0,this.color=void 0,this.debounce=void 0,this.name=this.rangeId,this.label=void 0,this.dualKnobs=!1,this.min=0,this.max=100,this.pin=!1,this.pinFormatter=t=>Math.round(t),this.snaps=!1,this.step=1,this.ticks=!0,this.activeBarStart=void 0,this.disabled=!1,this.value=0,this.labelPlacement="start",this.legacy=void 0}debounceChanged(){const{ionInput:t,debounce:e,originalIonInput:r}=this;this.ionInput=void 0===e?null!=r?r:t:d(t,e)}minChanged(){this.noUpdate||this.updateRatio()}maxChanged(){this.noUpdate||this.updateRatio()}activeBarStartChanged(){const{activeBarStart:t}=this;void 0!==t&&(t>this.max?(c(`Range: The value of activeBarStart (${t}) is greater than the max (${this.max}). Valid values are greater than or equal to the min value and less than or equal to the max value.`,this.el),this.activeBarStart=this.max):t<this.min&&(c(`Range: The value of activeBarStart (${t}) is less than the min (${this.min}). Valid values are greater than or equal to the min value and less than or equal to the max value.`,this.el),this.activeBarStart=this.min))}disabledChanged(){this.gesture&&this.gesture.enable(!this.disabled),this.emitStyle()}valueChanged(){this.noUpdate||this.updateRatio()}componentWillLoad(){this.el.hasAttribute("id")&&(this.rangeId=this.el.getAttribute("id")),this.inheritedAttributes=g(this.el)}componentDidLoad(){this.originalIonInput=this.ionInput,this.setupGesture(),this.updateRatio(),this.didLoad=!0}connectedCallback(){const{el:t}=this;this.legacyFormController=l(t),this.updateRatio(),this.debounceChanged(),this.disabledChanged(),this.activeBarStartChanged(),this.didLoad&&this.setupGesture(),this.contentEl=i(this.el)}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}getValue(){var t;const e=null!==(t=this.value)&&void 0!==t?t:0;return this.dualKnobs?"object"==typeof e?e:{lower:0,upper:e}:"object"==typeof e?e.upper:e}emitStyle(){this.legacyFormController.hasLegacyControl()&&this.ionStyle.emit({interactive:!0,"interactive-disabled":this.disabled,legacy:!!this.legacy})}emitValueChange(){this.value=this.ensureValueInBounds(this.value),this.ionChange.emit({value:this.value})}onStart(t){const{contentEl:e}=this;e&&(this.initialContentScrollY=s(e));const r=this.rect=this.rangeSlider.getBoundingClientRect(),n=t.currentX;let a=h(0,(n-r.left)/r.width,1);m(this.el)&&(a=1-a),this.pressedKnob=!this.dualKnobs||Math.abs(this.ratioA-a)<Math.abs(this.ratioB-a)?"A":"B",this.setFocus(this.pressedKnob),this.update(n),this.ionKnobMoveStart.emit({value:this.ensureValueInBounds(this.value)})}onMove(t){this.update(t.currentX)}onEnd(t){const{contentEl:e,initialContentScrollY:r}=this;e&&o(e,r),this.update(t.currentX),this.pressedKnob=void 0,this.emitValueChange(),this.ionKnobMoveEnd.emit({value:this.ensureValueInBounds(this.value)})}update(t){const e=this.rect;let r=h(0,(t-e.left)/e.width,1);m(this.el)&&(r=1-r),this.snaps&&(r=y(w(r,this.min,this.max,this.step),this.min,this.max)),"A"===this.pressedKnob?this.ratioA=r:this.ratioB=r,this.updateValue()}get valA(){return w(this.ratioA,this.min,this.max,this.step)}get valB(){return w(this.ratioB,this.min,this.max,this.step)}get ratioLower(){if(this.dualKnobs)return Math.min(this.ratioA,this.ratioB);const{activeBarStart:t}=this;return null==t?0:y(t,this.min,this.max)}get ratioUpper(){return this.dualKnobs?Math.max(this.ratioA,this.ratioB):this.ratioA}updateRatio(){const t=this.getValue(),{min:e,max:r}=this;this.dualKnobs?(this.ratioA=y(t.lower,e,r),this.ratioB=y(t.upper,e,r)):this.ratioA=y(t,e,r)}updateValue(){this.noUpdate=!0;const{valA:t,valB:e}=this;this.value=this.dualKnobs?{lower:Math.min(t,e),upper:Math.max(t,e)}:t,this.ionInput.emit({value:this.value}),this.noUpdate=!1}setFocus(t){if(this.el.shadowRoot){const e=this.el.shadowRoot.querySelector("A"===t?".range-knob-a":".range-knob-b");e&&e.focus()}}renderLegacyRange(){this.hasLoggedDeprecationWarning||(c('ion-range now requires providing a label with either the label slot or the "aria-label" attribute. To migrate, remove any usage of "ion-label" and pass the label text to either the component or the "aria-label" attribute.\n\nExample: <ion-range><div slot="label">Volume</div></ion-range>\nExample with aria-label: <ion-range aria-label="Volume"></ion-range>\n\nDevelopers can use the "legacy" property to continue using the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.',this.el),this.legacy&&c('ion-range is being used with the "legacy" property enabled which will forcibly enable the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.\n\nDevelopers can dismiss this warning by removing their usage of the "legacy" property and using the new range syntax.',this.el),this.hasLoggedDeprecationWarning=!0);const{el:t,pressedKnob:e,disabled:a,pin:i,rangeId:s}=this,o=k(this);return b(!0,t,this.name,JSON.stringify(this.getValue()),a),r(n,{onFocusin:this.onFocus,onFocusout:this.onBlur,id:s,class:u(this.color,{[o]:!0,"in-item":f("ion-item",t),"range-disabled":a,"range-pressed":void 0!==e,"range-has-pin":i,"legacy-range":!0})},r("slot",{name:"start"}),this.renderRangeSlider(),r("slot",{name:"end"}))}get hasStartSlotContent(){return null!==this.el.querySelector('[slot="start"]')}get hasEndSlotContent(){return null!==this.el.querySelector('[slot="end"]')}renderRange(){const{disabled:t,el:e,hasLabel:a,rangeId:i,pin:s,pressedKnob:o,labelPlacement:l,label:h}=this,d=f("ion-item",e),g=d&&!(a&&("start"===l||"fixed"===l)||this.hasStartSlotContent),p=d&&!(a&&"end"===l||this.hasEndSlotContent),c=k(this);return b(!0,e,this.name,JSON.stringify(this.getValue()),t),r(n,{onFocusin:this.onFocus,onFocusout:this.onBlur,id:i,class:u(this.color,{[c]:!0,"in-item":d,"range-disabled":t,"range-pressed":void 0!==o,"range-has-pin":s,[`range-label-placement-${l}`]:!0,"range-item-start-adjustment":g,"range-item-end-adjustment":p})},r("label",{class:"range-wrapper",id:"range-label"},r("div",{class:{"label-text-wrapper":!0,"label-text-wrapper-hidden":!a},part:"label"},void 0!==h?r("div",{class:"label-text"},h):r("slot",{name:"label"})),r("div",{class:"native-wrapper"},r("slot",{name:"start"}),this.renderRangeSlider(),r("slot",{name:"end"}))))}get hasLabel(){return void 0!==this.label||null!==this.el.querySelector('[slot="label"]')}renderRangeSlider(){var t;const{min:e,max:n,step:a,el:i,handleKeyboard:s,pressedKnob:o,disabled:l,pin:h,ratioLower:d,ratioUpper:g,inheritedAttributes:b,rangeId:c,pinFormatter:u}=this;let{labelText:f}=p(i,c);null==f&&(f=b["aria-label"]);let k=100*d+"%",x=100-100*g+"%";const w=m(this.el),z=w?"right":"left",j=t=>({[z]:t[z]});!1===this.dualKnobs&&(this.valA<(null!==(t=this.activeBarStart)&&void 0!==t?t:this.min)?(k=100*g+"%",x=100-100*d+"%"):(k=100*d+"%",x=100-100*g+"%"));const C={[z]:k,[w?"left":"right"]:x},S=[];if(this.snaps&&this.ticks)for(let t=e;t<=n;t+=a){const r=y(t,e,n),a=Math.min(d,g),i=Math.max(d,g),s={ratio:r,active:r>=a&&r<=i};s[z]=100*r+"%",S.push(s)}let B;return!this.legacyFormController.hasLegacyControl()&&this.hasLabel&&(B="range-label"),r("div",{class:"range-slider",ref:t=>this.rangeSlider=t},S.map((t=>r("div",{style:j(t),role:"presentation",class:{"range-tick":!0,"range-tick-active":t.active},part:t.active?"tick-active":"tick"}))),r("div",{class:"range-bar-container"},r("div",{class:"range-bar",role:"presentation",part:"bar"}),r("div",{class:{"range-bar":!0,"range-bar-active":!0,"has-ticks":S.length>0},role:"presentation",style:C,part:"bar-active"})),v(w,{knob:"A",pressed:"A"===o,value:this.valA,ratio:this.ratioA,pin:h,pinFormatter:u,disabled:l,handleKeyboard:s,min:e,max:n,labelText:f,labelledBy:B}),this.dualKnobs&&v(w,{knob:"B",pressed:"B"===o,value:this.valB,ratio:this.ratioB,pin:h,pinFormatter:u,disabled:l,handleKeyboard:s,min:e,max:n,labelText:f,labelledBy:B}))}render(){const{legacyFormController:t}=this;return t.hasLegacyControl()?this.renderLegacyRange():this.renderRange()}get el(){return a(this)}static get watchers(){return{debounce:["debounceChanged"],min:["minChanged"],max:["maxChanged"],activeBarStart:["activeBarStartChanged"],disabled:["disabledChanged"],value:["valueChanged"]}}},v=(t,{knob:e,value:n,ratio:a,min:i,max:s,disabled:o,pressed:l,pin:h,handleKeyboard:d,labelText:g,labelledBy:b,pinFormatter:p})=>{const c=t?"right":"left";return r("div",{onKeyDown:t=>{const r=t.key;"ArrowLeft"===r||"ArrowDown"===r?(d(e,!1),t.preventDefault(),t.stopPropagation()):"ArrowRight"!==r&&"ArrowUp"!==r||(d(e,!0),t.preventDefault(),t.stopPropagation())},class:{"range-knob-handle":!0,"range-knob-a":"A"===e,"range-knob-b":"B"===e,"range-knob-pressed":l,"range-knob-min":n===i,"range-knob-max":n===s,"ion-activatable":!0,"ion-focusable":!0},style:(()=>{const t={};return t[c]=100*a+"%",t})(),role:"slider",tabindex:o?-1:0,"aria-label":void 0===b?g:null,"aria-labelledby":void 0!==b?b:null,"aria-valuemin":i,"aria-valuemax":s,"aria-disabled":o?"true":null,"aria-valuenow":n},h&&r("div",{class:"range-pin",role:"presentation",part:"pin"},p(n)),r("div",{class:"range-knob",role:"presentation",part:"knob"}))},w=(t,e,r,n)=>{let a=(r-e)*t;return n>0&&(a=Math.round(a/n)*n+e),function(t,...e){const r=Math.max(...e.map((t=>function(t){return t%1==0?0:t.toString().split(".")[1].length}(t))));return Number(t.toFixed(r))}(h(e,a,r),e,r,n)},y=(t,e,r)=>h(0,(t-e)/(r-e),1);let z=0;x.style={ios:":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}@supports (inset-inline-start: 0){.range-knob-handle{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-knob-handle{left:0}:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}[dir=rtl] .range-knob-handle{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}@supports (inset-inline-start: 0){.range-bar-container{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-bar-container{left:0}:host-context([dir=rtl]) .range-bar-container{left:unset;right:unset;right:0}[dir=rtl] .range-bar-container{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}@supports (inset-inline-start: 0){.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}}@supports not (inset-inline-start: 0){.range-knob{left:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}}}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:#ffffff;--knob-box-shadow:0px 0.5px 4px rgba(0, 0, 0, 0.12), 0px 6px 13px rgba(0, 0, 0, 0.12);--knob-size:26px;--bar-height:4px;--bar-background:var(--ion-color-step-900, #e6e6e6);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:2px;--height:42px}:host(.legacy-range){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}:host(.range-item-start-adjustment){-webkit-padding-start:24px;padding-inline-start:24px}:host(.range-item-end-adjustment){-webkit-padding-end:24px;padding-inline-end:24px}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:calc(8px + 0.75rem)}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:calc(8px + 0.75rem)}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar-active.has-ticks{border-radius:0;-webkit-margin-start:-2px;margin-inline-start:-2px;-webkit-margin-end:-2px;margin-inline-end:-2px}.range-tick{-webkit-margin-start:-2px;margin-inline-start:-2px;border-radius:0;position:absolute;top:17px;width:4px;height:8px;background:var(--ion-color-step-900, #e6e6e6);pointer-events:none}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 100%, 0) scale(0.01);transform:translate3d(0, 100%, 0) scale(0.01);-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;min-width:28px;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease, -webkit-transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:0.75rem;text-align:center}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, calc(-100% + 11px), 0) scale(1);transform:translate3d(0, calc(-100% + 11px), 0) scale(1)}:host(.range-disabled){opacity:0.3}",md:':host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}@supports (inset-inline-start: 0){.range-knob-handle{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-knob-handle{left:0}:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}[dir=rtl] .range-knob-handle{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}@supports (inset-inline-start: 0){.range-bar-container{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-bar-container{left:0}:host-context([dir=rtl]) .range-bar-container{left:unset;right:unset;right:0}[dir=rtl] .range-bar-container{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}@supports (inset-inline-start: 0){.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}}@supports not (inset-inline-start: 0){.range-knob{left:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}}}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.26);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #3880ff);--pin-color:var(--ion-color-primary-contrast, #fff)}:host(.legacy-range) ::slotted([slot=label]){font-size:initial}:host(:not(.legacy-range)) ::slotted(:not(ion-icon)[slot=start]),:host(:not(.legacy-range)) ::slotted(:not(ion-icon)[slot=end]),:host(:not(.legacy-range)) .native-wrapper{font-size:0.75rem}:host(.legacy-range){-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:8px;padding-bottom:8px;font-size:0.75rem}:host(.range-item-start-adjustment){-webkit-padding-start:18px;padding-inline-start:18px}:host(.range-item-end-adjustment){-webkit-padding-end:18px;padding-inline-end:18px}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb), 0.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-knob::before,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin::before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:1.75rem}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:1.75rem}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;z-index:2}.range-knob::before{border-radius:50%;position:absolute;width:var(--knob-size);height:var(--knob-size);-webkit-transform:scale(1);transform:scale(1);-webkit-transition:0.267s cubic-bezier(0, 0, 0.58, 1);transition:0.267s cubic-bezier(0, 0, 0.58, 1);background:var(--knob-background);content:"";opacity:0.13;pointer-events:none}@supports (inset-inline-start: 0){.range-knob::before{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-knob::before{left:0}:host-context([dir=rtl]) .range-knob::before{left:unset;right:unset;right:0}[dir=rtl] .range-knob::before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-knob::before:dir(rtl){left:unset;right:unset;right:0}}}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:1.75rem;height:1.75rem;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color)}.range-pin::before{bottom:-1px;-webkit-margin-start:-13px;margin-inline-start:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:"";z-index:-1}@supports (inset-inline-start: 0){.range-pin::before{inset-inline-start:50%}}@supports not (inset-inline-start: 0){.range-pin::before{left:50%}:host-context([dir=rtl]) .range-pin::before{left:unset;right:unset;right:50%}[dir=rtl] .range-pin::before{left:unset;right:unset;right:50%}@supports selector(:dir(rtl)){.range-pin::before:dir(rtl){left:unset;right:unset;right:50%}}}:host-context([dir=rtl]) .range-pin::before{left:unset}[dir=rtl] .range-pin::before{left:unset}@supports selector(:dir(rtl)){.range-pin::before:dir(rtl){left:unset}}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, calc(-100% + 4px), 0) scale(1);transform:translate3d(0, calc(-100% + 4px), 0) scale(1)}@media (any-hover: hover){.range-knob-handle:hover .range-knob:before{-webkit-transform:scale(2);transform:scale(2);opacity:0.13}}.range-knob-handle.ion-activated .range-knob:before,.range-knob-handle.ion-focused .range-knob:before,.range-knob-handle.range-knob-pressed .range-knob:before{-webkit-transform:scale(2);transform:scale(2)}.range-knob-handle.ion-focused .range-knob::before{opacity:0.13}.range-knob-handle.ion-activated .range-knob::before,.range-knob-handle.range-knob-pressed .range-knob::before{opacity:0.25}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob,:host(:not(.range-has-pin)) .range-knob-handle.ion-focused .range-knob{-webkit-transform:scale(1);transform:scale(1)}:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .range-knob{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .label-text-wrapper,:host(.range-disabled) ::slotted([slot=start]),:host(.range-disabled) ::slotted([slot=end]){opacity:0.38}'};export{x as ion_range}
|
|
4
|
+
import{r as t,d as e,h as r,H as n,f as a}from"./p-e1271366.js";import{f as i,d as s,r as o}from"./p-b253ad7f.js";import{c as l}from"./p-c858f685.js";import{l as h,j as d,i as g,d as b,e as p}from"./p-b5839dc2.js";import{p as c}from"./p-06fee233.js";import{i as m}from"./p-fb813dab.js";import{c as u,h as f}from"./p-47794def.js";import{b as k}from"./p-1aa7c019.js";const x=class{constructor(r){t(this,r),this.ionChange=e(this,"ionChange",7),this.ionInput=e(this,"ionInput",7),this.ionStyle=e(this,"ionStyle",7),this.ionFocus=e(this,"ionFocus",7),this.ionBlur=e(this,"ionBlur",7),this.ionKnobMoveStart=e(this,"ionKnobMoveStart",7),this.ionKnobMoveEnd=e(this,"ionKnobMoveEnd",7),this.rangeId="ion-r-"+z++,this.didLoad=!1,this.noUpdate=!1,this.hasFocus=!1,this.inheritedAttributes={},this.contentEl=null,this.initialContentScrollY=!0,this.hasLoggedDeprecationWarning=!1,this.clampBounds=t=>h(this.min,t,this.max),this.ensureValueInBounds=t=>this.dualKnobs?{lower:this.clampBounds(t.lower),upper:this.clampBounds(t.upper)}:this.clampBounds(t),this.setupGesture=async()=>{const t=this.rangeSlider;t&&(this.gesture=(await import("./p-f5d2dc9b.js")).createGesture({el:t,gestureName:"range",gesturePriority:100,threshold:0,onStart:t=>this.onStart(t),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)}),this.gesture.enable(!this.disabled))},this.handleKeyboard=(t,e)=>{const{ensureValueInBounds:r}=this;let n=this.step;n=n>0?n:1,n/=this.max-this.min,e||(n*=-1),"A"===t?this.ratioA=h(0,this.ratioA+n,1):this.ratioB=h(0,this.ratioB+n,1),this.ionKnobMoveStart.emit({value:r(this.value)}),this.updateValue(),this.emitValueChange(),this.ionKnobMoveEnd.emit({value:r(this.value)})},this.onBlur=()=>{this.hasFocus&&(this.hasFocus=!1,this.ionBlur.emit(),this.emitStyle())},this.onFocus=()=>{this.hasFocus||(this.hasFocus=!0,this.ionFocus.emit(),this.emitStyle())},this.ratioA=0,this.ratioB=0,this.pressedKnob=void 0,this.color=void 0,this.debounce=void 0,this.name=this.rangeId,this.label=void 0,this.dualKnobs=!1,this.min=0,this.max=100,this.pin=!1,this.pinFormatter=t=>Math.round(t),this.snaps=!1,this.step=1,this.ticks=!0,this.activeBarStart=void 0,this.disabled=!1,this.value=0,this.labelPlacement="start",this.legacy=void 0}debounceChanged(){const{ionInput:t,debounce:e,originalIonInput:r}=this;this.ionInput=void 0===e?null!=r?r:t:d(t,e)}minChanged(){this.noUpdate||this.updateRatio()}maxChanged(){this.noUpdate||this.updateRatio()}activeBarStartChanged(){const{activeBarStart:t}=this;void 0!==t&&(t>this.max?(c(`Range: The value of activeBarStart (${t}) is greater than the max (${this.max}). Valid values are greater than or equal to the min value and less than or equal to the max value.`,this.el),this.activeBarStart=this.max):t<this.min&&(c(`Range: The value of activeBarStart (${t}) is less than the min (${this.min}). Valid values are greater than or equal to the min value and less than or equal to the max value.`,this.el),this.activeBarStart=this.min))}disabledChanged(){this.gesture&&this.gesture.enable(!this.disabled),this.emitStyle()}valueChanged(){this.noUpdate||this.updateRatio()}componentWillLoad(){this.el.hasAttribute("id")&&(this.rangeId=this.el.getAttribute("id")),this.inheritedAttributes=g(this.el)}componentDidLoad(){this.originalIonInput=this.ionInput,this.setupGesture(),this.updateRatio(),this.didLoad=!0}connectedCallback(){const{el:t}=this;this.legacyFormController=l(t),this.updateRatio(),this.debounceChanged(),this.disabledChanged(),this.activeBarStartChanged(),this.didLoad&&this.setupGesture(),this.contentEl=i(this.el)}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}getValue(){var t;const e=null!==(t=this.value)&&void 0!==t?t:0;return this.dualKnobs?"object"==typeof e?e:{lower:0,upper:e}:"object"==typeof e?e.upper:e}emitStyle(){this.legacyFormController.hasLegacyControl()&&this.ionStyle.emit({interactive:!0,"interactive-disabled":this.disabled,legacy:!!this.legacy})}emitValueChange(){this.value=this.ensureValueInBounds(this.value),this.ionChange.emit({value:this.value})}onStart(t){const{contentEl:e}=this;e&&(this.initialContentScrollY=s(e));const r=this.rect=this.rangeSlider.getBoundingClientRect(),n=t.currentX;let a=h(0,(n-r.left)/r.width,1);m(this.el)&&(a=1-a),this.pressedKnob=!this.dualKnobs||Math.abs(this.ratioA-a)<Math.abs(this.ratioB-a)?"A":"B",this.setFocus(this.pressedKnob),this.update(n),this.ionKnobMoveStart.emit({value:this.ensureValueInBounds(this.value)})}onMove(t){this.update(t.currentX)}onEnd(t){const{contentEl:e,initialContentScrollY:r}=this;e&&o(e,r),this.update(t.currentX),this.pressedKnob=void 0,this.emitValueChange(),this.ionKnobMoveEnd.emit({value:this.ensureValueInBounds(this.value)})}update(t){const e=this.rect;let r=h(0,(t-e.left)/e.width,1);m(this.el)&&(r=1-r),this.snaps&&(r=y(w(r,this.min,this.max,this.step),this.min,this.max)),"A"===this.pressedKnob?this.ratioA=r:this.ratioB=r,this.updateValue()}get valA(){return w(this.ratioA,this.min,this.max,this.step)}get valB(){return w(this.ratioB,this.min,this.max,this.step)}get ratioLower(){if(this.dualKnobs)return Math.min(this.ratioA,this.ratioB);const{activeBarStart:t}=this;return null==t?0:y(t,this.min,this.max)}get ratioUpper(){return this.dualKnobs?Math.max(this.ratioA,this.ratioB):this.ratioA}updateRatio(){const t=this.getValue(),{min:e,max:r}=this;this.dualKnobs?(this.ratioA=y(t.lower,e,r),this.ratioB=y(t.upper,e,r)):this.ratioA=y(t,e,r)}updateValue(){this.noUpdate=!0;const{valA:t,valB:e}=this;this.value=this.dualKnobs?{lower:Math.min(t,e),upper:Math.max(t,e)}:t,this.ionInput.emit({value:this.value}),this.noUpdate=!1}setFocus(t){if(this.el.shadowRoot){const e=this.el.shadowRoot.querySelector("A"===t?".range-knob-a":".range-knob-b");e&&e.focus()}}renderLegacyRange(){this.hasLoggedDeprecationWarning||(c('ion-range now requires providing a label with either the label slot or the "aria-label" attribute. To migrate, remove any usage of "ion-label" and pass the label text to either the component or the "aria-label" attribute.\n\nExample: <ion-range><div slot="label">Volume</div></ion-range>\nExample with aria-label: <ion-range aria-label="Volume"></ion-range>\n\nDevelopers can use the "legacy" property to continue using the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.',this.el),this.legacy&&c('ion-range is being used with the "legacy" property enabled which will forcibly enable the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.\n\nDevelopers can dismiss this warning by removing their usage of the "legacy" property and using the new range syntax.',this.el),this.hasLoggedDeprecationWarning=!0);const{el:t,pressedKnob:e,disabled:a,pin:i,rangeId:s}=this,o=k(this);return b(!0,t,this.name,JSON.stringify(this.getValue()),a),r(n,{onFocusin:this.onFocus,onFocusout:this.onBlur,id:s,class:u(this.color,{[o]:!0,"in-item":f("ion-item",t),"range-disabled":a,"range-pressed":void 0!==e,"range-has-pin":i,"legacy-range":!0})},r("slot",{name:"start"}),this.renderRangeSlider(),r("slot",{name:"end"}))}get hasStartSlotContent(){return null!==this.el.querySelector('[slot="start"]')}get hasEndSlotContent(){return null!==this.el.querySelector('[slot="end"]')}renderRange(){const{disabled:t,el:e,hasLabel:a,rangeId:i,pin:s,pressedKnob:o,labelPlacement:l,label:h}=this,d=f("ion-item",e),g=d&&!(a&&("start"===l||"fixed"===l)||this.hasStartSlotContent),p=d&&!(a&&"end"===l||this.hasEndSlotContent),c=k(this);return b(!0,e,this.name,JSON.stringify(this.getValue()),t),r(n,{onFocusin:this.onFocus,onFocusout:this.onBlur,id:i,class:u(this.color,{[c]:!0,"in-item":d,"range-disabled":t,"range-pressed":void 0!==o,"range-has-pin":s,[`range-label-placement-${l}`]:!0,"range-item-start-adjustment":g,"range-item-end-adjustment":p})},r("label",{class:"range-wrapper",id:"range-label"},r("div",{class:{"label-text-wrapper":!0,"label-text-wrapper-hidden":!a},part:"label"},void 0!==h?r("div",{class:"label-text"},h):r("slot",{name:"label"})),r("div",{class:"native-wrapper"},r("slot",{name:"start"}),this.renderRangeSlider(),r("slot",{name:"end"}))))}get hasLabel(){return void 0!==this.label||null!==this.el.querySelector('[slot="label"]')}renderRangeSlider(){var t;const{min:e,max:n,step:a,el:i,handleKeyboard:s,pressedKnob:o,disabled:l,pin:h,ratioLower:d,ratioUpper:g,inheritedAttributes:b,rangeId:c,pinFormatter:u}=this;let{labelText:f}=p(i,c);null==f&&(f=b["aria-label"]);let k=100*d+"%",x=100-100*g+"%";const w=m(this.el),z=w?"right":"left",j=t=>({[z]:t[z]});!1===this.dualKnobs&&(this.valA<(null!==(t=this.activeBarStart)&&void 0!==t?t:this.min)?(k=100*g+"%",x=100-100*d+"%"):(k=100*d+"%",x=100-100*g+"%"));const C={[z]:k,[w?"left":"right"]:x},S=[];if(this.snaps&&this.ticks)for(let t=e;t<=n;t+=a){const r=y(t,e,n),a=Math.min(d,g),i=Math.max(d,g),s={ratio:r,active:r>=a&&r<=i};s[z]=100*r+"%",S.push(s)}let B;return!this.legacyFormController.hasLegacyControl()&&this.hasLabel&&(B="range-label"),r("div",{class:"range-slider",ref:t=>this.rangeSlider=t},S.map((t=>r("div",{style:j(t),role:"presentation",class:{"range-tick":!0,"range-tick-active":t.active},part:t.active?"tick-active":"tick"}))),r("div",{class:"range-bar-container"},r("div",{class:"range-bar",role:"presentation",part:"bar"}),r("div",{class:{"range-bar":!0,"range-bar-active":!0,"has-ticks":S.length>0},role:"presentation",style:C,part:"bar-active"})),v(w,{knob:"A",pressed:"A"===o,value:this.valA,ratio:this.ratioA,pin:h,pinFormatter:u,disabled:l,handleKeyboard:s,min:e,max:n,labelText:f,labelledBy:B}),this.dualKnobs&&v(w,{knob:"B",pressed:"B"===o,value:this.valB,ratio:this.ratioB,pin:h,pinFormatter:u,disabled:l,handleKeyboard:s,min:e,max:n,labelText:f,labelledBy:B}))}render(){const{legacyFormController:t}=this;return t.hasLegacyControl()?this.renderLegacyRange():this.renderRange()}get el(){return a(this)}static get watchers(){return{debounce:["debounceChanged"],min:["minChanged"],max:["maxChanged"],activeBarStart:["activeBarStartChanged"],disabled:["disabledChanged"],value:["valueChanged"]}}},v=(t,{knob:e,value:n,ratio:a,min:i,max:s,disabled:o,pressed:l,pin:h,handleKeyboard:d,labelText:g,labelledBy:b,pinFormatter:p})=>{const c=t?"right":"left";return r("div",{onKeyDown:t=>{const r=t.key;"ArrowLeft"===r||"ArrowDown"===r?(d(e,!1),t.preventDefault(),t.stopPropagation()):"ArrowRight"!==r&&"ArrowUp"!==r||(d(e,!0),t.preventDefault(),t.stopPropagation())},class:{"range-knob-handle":!0,"range-knob-a":"A"===e,"range-knob-b":"B"===e,"range-knob-pressed":l,"range-knob-min":n===i,"range-knob-max":n===s,"ion-activatable":!0,"ion-focusable":!0},style:(()=>{const t={};return t[c]=100*a+"%",t})(),role:"slider",tabindex:o?-1:0,"aria-label":void 0===b?g:null,"aria-labelledby":void 0!==b?b:null,"aria-valuemin":i,"aria-valuemax":s,"aria-disabled":o?"true":null,"aria-valuenow":n},h&&r("div",{class:"range-pin",role:"presentation",part:"pin"},p(n)),r("div",{class:"range-knob",role:"presentation",part:"knob"}))},w=(t,e,r,n)=>{let a=(r-e)*t;return n>0&&(a=Math.round(a/n)*n+e),function(t,...e){const r=Math.max(...e.map((t=>function(t){return t%1==0?0:t.toString().split(".")[1].length}(t))));return Number(t.toFixed(r))}(h(e,a,r),e,r,n)},y=(t,e,r)=>h(0,(t-e)/(r-e),1);let z=0;x.style={ios:":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}@supports (inset-inline-start: 0){.range-knob-handle{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-knob-handle{left:0}:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}[dir=rtl] .range-knob-handle{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}@supports (inset-inline-start: 0){.range-bar-container{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-bar-container{left:0}:host-context([dir=rtl]) .range-bar-container{left:unset;right:unset;right:0}[dir=rtl] .range-bar-container{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}@supports (inset-inline-start: 0){.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}}@supports not (inset-inline-start: 0){.range-knob{left:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}}}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:#ffffff;--knob-box-shadow:0px 0.5px 4px rgba(0, 0, 0, 0.12), 0px 6px 13px rgba(0, 0, 0, 0.12);--knob-size:26px;--bar-height:4px;--bar-background:var(--ion-color-step-900, #e6e6e6);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:2px;--height:42px}:host(.legacy-range){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}:host(.range-item-start-adjustment){-webkit-padding-start:24px;padding-inline-start:24px}:host(.range-item-end-adjustment){-webkit-padding-end:24px;padding-inline-end:24px}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:calc(8px + 0.75rem)}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:calc(8px + 0.75rem)}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar-active.has-ticks{border-radius:0;-webkit-margin-start:-2px;margin-inline-start:-2px;-webkit-margin-end:-2px;margin-inline-end:-2px}.range-tick{-webkit-margin-start:-2px;margin-inline-start:-2px;border-radius:0;position:absolute;top:17px;width:4px;height:8px;background:var(--ion-color-step-900, #e6e6e6);pointer-events:none}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 100%, 0) scale(0.01);transform:translate3d(0, 100%, 0) scale(0.01);-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;min-width:28px;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease, -webkit-transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:0.75rem;text-align:center}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, calc(-100% + 11px), 0) scale(1);transform:translate3d(0, calc(-100% + 11px), 0) scale(1)}:host(.range-disabled){opacity:0.3}",md:':host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}@supports (inset-inline-start: 0){.range-knob-handle{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-knob-handle{left:0}:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}[dir=rtl] .range-knob-handle{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}@supports (inset-inline-start: 0){.range-bar-container{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-bar-container{left:0}:host-context([dir=rtl]) .range-bar-container{left:unset;right:unset;right:0}[dir=rtl] .range-bar-container{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}@supports (inset-inline-start: 0){.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}}@supports not (inset-inline-start: 0){.range-knob{left:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}}}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.26);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #3880ff);--pin-color:var(--ion-color-primary-contrast, #fff)}:host(.legacy-range) ::slotted([slot=label]){font-size:initial}:host(:not(.legacy-range)) ::slotted(:not(ion-icon)[slot=start]),:host(:not(.legacy-range)) ::slotted(:not(ion-icon)[slot=end]),:host(:not(.legacy-range)) .native-wrapper{font-size:0.75rem}:host(.legacy-range){-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:8px;padding-bottom:8px;font-size:0.75rem}:host(.range-item-start-adjustment){-webkit-padding-start:18px;padding-inline-start:18px}:host(.range-item-end-adjustment){-webkit-padding-end:18px;padding-inline-end:18px}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb), 0.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-knob::before,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin::before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:1.75rem}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:1.75rem}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;z-index:2}.range-knob::before{border-radius:50%;position:absolute;width:var(--knob-size);height:var(--knob-size);-webkit-transform:scale(1);transform:scale(1);-webkit-transition:0.267s cubic-bezier(0, 0, 0.58, 1);transition:0.267s cubic-bezier(0, 0, 0.58, 1);background:var(--knob-background);content:"";opacity:0.13;pointer-events:none}@supports (inset-inline-start: 0){.range-knob::before{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-knob::before{left:0}:host-context([dir=rtl]) .range-knob::before{left:unset;right:unset;right:0}[dir=rtl] .range-knob::before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-knob::before:dir(rtl){left:unset;right:unset;right:0}}}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:1.75rem;height:1.75rem;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color)}.range-pin::before{bottom:-1px;-webkit-margin-start:-13px;margin-inline-start:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:"";z-index:-1}@supports (inset-inline-start: 0){.range-pin::before{inset-inline-start:50%}}@supports not (inset-inline-start: 0){.range-pin::before{left:50%}:host-context([dir=rtl]) .range-pin::before{left:unset;right:unset;right:50%}[dir=rtl] .range-pin::before{left:unset;right:unset;right:50%}@supports selector(:dir(rtl)){.range-pin::before:dir(rtl){left:unset;right:unset;right:50%}}}:host-context([dir=rtl]) .range-pin::before{left:unset}[dir=rtl] .range-pin::before{left:unset}@supports selector(:dir(rtl)){.range-pin::before:dir(rtl){left:unset}}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, calc(-100% + 4px), 0) scale(1);transform:translate3d(0, calc(-100% + 4px), 0) scale(1)}@media (any-hover: hover){.range-knob-handle:hover .range-knob:before{-webkit-transform:scale(2);transform:scale(2);opacity:0.13}}.range-knob-handle.ion-activated .range-knob:before,.range-knob-handle.ion-focused .range-knob:before,.range-knob-handle.range-knob-pressed .range-knob:before{-webkit-transform:scale(2);transform:scale(2)}.range-knob-handle.ion-focused .range-knob::before{opacity:0.13}.range-knob-handle.ion-activated .range-knob::before,.range-knob-handle.range-knob-pressed .range-knob::before{opacity:0.25}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob,:host(:not(.range-has-pin)) .range-knob-handle.ion-focused .range-knob{-webkit-transform:scale(1);transform:scale(1)}:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .range-knob{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .label-text-wrapper,:host(.range-disabled) ::slotted([slot=start]),:host(.range-disabled) ::slotted([slot=end]){opacity:0.38}'};export{x as ion_range}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var __spreadArray=this&&this.__spreadArray||function(r,a,i){if(i||arguments.length===2)for(var n=0,e=a.length,t;n<e;n++){if(t||!(n in a)){if(!t)t=Array.prototype.slice.call(a,0,n);t[n]=a[n]}}return r.concat(t||Array.prototype.slice.call(a))};
|
|
2
|
+
/*!
|
|
3
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
4
|
+
*/System.register([],(function(r){"use strict";return{execute:function(){var a=r("t",(function(r,a){if(a===void 0){a=0}return new Promise((function(n){i(r,a,n)}))}));var i=function(r,a,i){if(a===void 0){a=0}var n;var e;var t={passive:true};var o=500;var u=function(){if(n){n()}};var f=function(a){if(a===undefined||r===a.target){u();i(a)}};if(r){r.addEventListener("webkitTransitionEnd",f,t);r.addEventListener("transitionend",f,t);e=setTimeout(f,a+o);n=function(){if(e!==undefined){clearTimeout(e);e=undefined}r.removeEventListener("webkitTransitionEnd",f,t);r.removeEventListener("transitionend",f,t)}}return u};var n=r("c",(function(r,a){if(r.componentOnReady){r.componentOnReady().then((function(r){return a(r)}))}else{d((function(){return a(r)}))}}));var e=r("m",(function(r){return r.componentOnReady!==undefined}));var t=r("k",(function(r,a){if(a===void 0){a=[]}var i={};a.forEach((function(a){if(r.hasAttribute(a)){var n=r.getAttribute(a);if(n!==null){i[a]=r.getAttribute(a)}r.removeAttribute(a)}}));return i}));var o=["role","aria-activedescendant","aria-atomic","aria-autocomplete","aria-braillelabel","aria-brailleroledescription","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colindextext","aria-colspan","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowindextext","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext"];var u=r("i",(function(r,a){var i=o;if(a&&a.length>0){i=i.filter((function(r){return!a.includes(r)}))}return t(r,i)}));var f=r("a",(function(r,a,i,n){var e;if(typeof window!=="undefined"){var t=window;var o=(e=t===null||t===void 0?void 0:t.Ionic)===null||e===void 0?void 0:e.config;if(o){var u=o.get("_ael");if(u){return u(r,a,i,n)}else if(o._ael){return o._ael(r,a,i,n)}}}return r.addEventListener(a,i,n)}));var l=r("b",(function(r,a,i,n){var e;if(typeof window!=="undefined"){var t=window;var o=(e=t===null||t===void 0?void 0:t.Ionic)===null||e===void 0?void 0:e.config;if(o){var u=o.get("_rel");if(u){return u(r,a,i,n)}else if(o._rel){return o._rel(r,a,i,n)}}}return r.removeEventListener(a,i,n)}));var v=r("g",(function(r,a){if(a===void 0){a=r}return r.shadowRoot||a}));var d=r("r",(function(r){if(typeof __zone_symbol__requestAnimationFrame==="function"){return __zone_symbol__requestAnimationFrame(r)}if(typeof requestAnimationFrame==="function"){return requestAnimationFrame(r)}return setTimeout(r)}));var c=r("n",(function(r){return!!r.shadowRoot&&!!r.attachShadow}));var s=r("h",(function(r){var a=r.closest("ion-item");if(a){return a.querySelector("ion-label")}return null}));var m=r("f",(function(r){r.focus();if(r.classList.contains("ion-focusable")){var a=r.closest("ion-app");if(a){a.setFocus([r])}}}));var b=r("e",(function(r,a){var i;var n=r.getAttribute("aria-labelledby");var e=r.id;var t=n!==null&&n.trim()!==""?n:a+"-lbl";var o=n!==null&&n.trim()!==""?document.getElementById(n):s(r);if(o){if(n===null){o.id=t}i=o.textContent;o.setAttribute("aria-hidden","true")}else if(e.trim()!==""){o=document.querySelector('label[for="'.concat(e,'"]'));if(o){if(o.id!==""){t=o.id}else{o.id=t="".concat(e,"-lbl")}i=o.textContent}}return{label:o,labelId:t,labelText:i}}));var p=r("d",(function(r,a,i,n,e){if(r||c(a)){var t=a.querySelector("input.aux-input");if(!t){t=a.ownerDocument.createElement("input");t.type="hidden";t.classList.add("aux-input");a.appendChild(t)}t.disabled=e;t.name=i;t.value=n||""}}));var w=r("l",(function(r,a,i){return Math.max(r,Math.min(a,i))}));var y=r("o",(function(r,a){if(!r){var i="ASSERT: "+a;console.error(i);debugger;throw new Error(i)}}));var _=r("u",(function(r){return r.timeStamp||Date.now()}));var x=r("v",(function(r){if(r){var a=r.changedTouches;if(a&&a.length>0){var i=a[0];return{x:i.clientX,y:i.clientY}}if(r.pageX!==undefined){return{x:r.pageX,y:r.pageY}}}return{x:0,y:0}}));var h=r("p",(function(r){var a=document.dir==="rtl";switch(r){case"start":return a;case"end":return!a;default:throw new Error('"'.concat(r,'" is not a valid value for [side]. Use "start" or "end" instead.'))}}));var A=r("j",(function(r,a){var i=r._original||r;return{_original:r,emit:T(i.emit.bind(i),a)}}));var T=r("q",(function(r,a){if(a===void 0){a=0}var i;return function(){var n=[];for(var e=0;e<arguments.length;e++){n[e]=arguments[e]}clearTimeout(i);i=setTimeout.apply(void 0,__spreadArray([r,a],n,false))}}));var q=r("s",(function(r,a){r!==null&&r!==void 0?r:r={};a!==null&&a!==void 0?a:a={};if(r===a){return true}var i=Object.keys(r);if(i.length!==Object.keys(a).length){return false}for(var n=0,e=i;n<e.length;n++){var t=e[n];if(!(t in a)){return false}if(r[t]!==a[t]){return false}}return true}))}}}));
|
|
@@ -41,7 +41,28 @@ type IonicEvents = {
|
|
|
41
41
|
addEventListener(type: 'ionBackButton', listener: (ev: BackButtonEvent) => void, options?: boolean | AddEventListenerOptions): void;
|
|
42
42
|
removeEventListener(type: 'ionBackButton', listener: (ev: BackButtonEvent) => void, options?: boolean | AddEventListenerOptions): void;
|
|
43
43
|
};
|
|
44
|
-
|
|
44
|
+
export interface CloseWatcher extends EventTarget {
|
|
45
|
+
new (options?: CloseWatcherOptions): any;
|
|
46
|
+
requestClose(): void;
|
|
47
|
+
close(): void;
|
|
48
|
+
destroy(): void;
|
|
49
|
+
oncancel: (event: Event) => void | null;
|
|
50
|
+
onclose: (event: Event) => void | null;
|
|
51
|
+
}
|
|
52
|
+
interface CloseWatcherOptions {
|
|
53
|
+
signal: AbortSignal;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Experimental browser features that
|
|
57
|
+
* are selectively used inside of Ionic
|
|
58
|
+
* Since they are experimental they typically
|
|
59
|
+
* do not have types yet, so we can add custom ones
|
|
60
|
+
* here until types are available.
|
|
61
|
+
*/
|
|
62
|
+
type ExperimentalWindowFeatures = {
|
|
63
|
+
CloseWatcher?: CloseWatcher;
|
|
64
|
+
};
|
|
65
|
+
type IonicWindow = Window & IonicEvents & ExperimentalWindowFeatures;
|
|
45
66
|
type IonicDocument = Document & IonicEvents;
|
|
46
67
|
export declare const win: IonicWindow | undefined;
|
|
47
68
|
export declare const doc: IonicDocument | undefined;
|
|
@@ -165,6 +165,13 @@ export interface IonicConfig {
|
|
|
165
165
|
* Overrides the default platform detection methods.
|
|
166
166
|
*/
|
|
167
167
|
platform?: PlatformConfig;
|
|
168
|
+
/**
|
|
169
|
+
* @experimental
|
|
170
|
+
* If `true`, the [CloseWatcher API](https://github.com/WICG/close-watcher) will be used to handle
|
|
171
|
+
* all Escape key and hardware back button presses to dismiss menus and overlays and to navigate.
|
|
172
|
+
* Note that the `hardwareBackButton` config option must also be `true`.
|
|
173
|
+
*/
|
|
174
|
+
experimentalCloseWatcher?: boolean;
|
|
168
175
|
keyboardHeight?: number;
|
|
169
176
|
inputShims?: boolean;
|
|
170
177
|
scrollPadding?: boolean;
|
|
@@ -2,6 +2,19 @@ export interface BackButtonEventDetail {
|
|
|
2
2
|
register(priority: number, handler: (processNextHandler: () => void) => Promise<any> | void): void;
|
|
3
3
|
}
|
|
4
4
|
export type BackButtonEvent = CustomEvent<BackButtonEventDetail>;
|
|
5
|
+
/**
|
|
6
|
+
* CloseWatcher is a newer API that lets
|
|
7
|
+
* use detect the hardware back button event
|
|
8
|
+
* in a web browser: https://caniuse.com/?search=closewatcher
|
|
9
|
+
* However, not every browser supports it yet.
|
|
10
|
+
*
|
|
11
|
+
* This needs to be a function so that we can
|
|
12
|
+
* check the config once it has been set.
|
|
13
|
+
* Otherwise, this code would be evaluated the
|
|
14
|
+
* moment this file is evaluated which could be
|
|
15
|
+
* before the config is set.
|
|
16
|
+
*/
|
|
17
|
+
export declare const shoudUseCloseWatcher: () => any;
|
|
5
18
|
/**
|
|
6
19
|
* When hardwareBackButton: false in config,
|
|
7
20
|
* we need to make sure we also block the default
|
package/hydrate/index.js
CHANGED
|
@@ -7807,7 +7807,7 @@ const transitionEnd = (el, expectedDuration = 0, callback) => {
|
|
|
7807
7807
|
el.addEventListener('transitionend', onTransitionEnd, opts);
|
|
7808
7808
|
animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT);
|
|
7809
7809
|
unRegTrans = () => {
|
|
7810
|
-
if (animationTimeout) {
|
|
7810
|
+
if (animationTimeout !== undefined) {
|
|
7811
7811
|
clearTimeout(animationTimeout);
|
|
7812
7812
|
animationTimeout = undefined;
|
|
7813
7813
|
}
|
|
@@ -9759,6 +9759,22 @@ const createLockController = () => {
|
|
|
9759
9759
|
};
|
|
9760
9760
|
};
|
|
9761
9761
|
|
|
9762
|
+
/**
|
|
9763
|
+
* CloseWatcher is a newer API that lets
|
|
9764
|
+
* use detect the hardware back button event
|
|
9765
|
+
* in a web browser: https://caniuse.com/?search=closewatcher
|
|
9766
|
+
* However, not every browser supports it yet.
|
|
9767
|
+
*
|
|
9768
|
+
* This needs to be a function so that we can
|
|
9769
|
+
* check the config once it has been set.
|
|
9770
|
+
* Otherwise, this code would be evaluated the
|
|
9771
|
+
* moment this file is evaluated which could be
|
|
9772
|
+
* before the config is set.
|
|
9773
|
+
*/
|
|
9774
|
+
const shoudUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
|
|
9775
|
+
const OVERLAY_BACK_BUTTON_PRIORITY = 100;
|
|
9776
|
+
const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
|
|
9777
|
+
|
|
9762
9778
|
// TODO(FW-2832): types
|
|
9763
9779
|
const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
|
|
9764
9780
|
var _a;
|
|
@@ -9893,19 +9909,6 @@ const CoreDelegate = () => {
|
|
|
9893
9909
|
return { attachViewToDom, removeViewFromDom };
|
|
9894
9910
|
};
|
|
9895
9911
|
|
|
9896
|
-
/**
|
|
9897
|
-
* When hardwareBackButton: false in config,
|
|
9898
|
-
* we need to make sure we also block the default
|
|
9899
|
-
* webview behavior. If we don't then it will be
|
|
9900
|
-
* possible for users to navigate backward while
|
|
9901
|
-
* an overlay is still open. Additionally, it will
|
|
9902
|
-
* give the appearance that the hardwareBackButton
|
|
9903
|
-
* config is not working as the page transition
|
|
9904
|
-
* will still happen.
|
|
9905
|
-
*/
|
|
9906
|
-
const OVERLAY_BACK_BUTTON_PRIORITY = 100;
|
|
9907
|
-
const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
|
|
9908
|
-
|
|
9909
9912
|
let lastOverlayIndex = 0;
|
|
9910
9913
|
let lastId = 0;
|
|
9911
9914
|
const activeAnimations = new WeakMap();
|
|
@@ -10190,19 +10193,38 @@ const connectListeners = (doc) => {
|
|
|
10190
10193
|
const lastOverlay = getPresentedOverlay(doc);
|
|
10191
10194
|
if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
|
|
10192
10195
|
ev.detail.register(OVERLAY_BACK_BUTTON_PRIORITY, () => {
|
|
10193
|
-
|
|
10196
|
+
/**
|
|
10197
|
+
* Do not return this promise otherwise
|
|
10198
|
+
* the hardware back button utility will
|
|
10199
|
+
* be blocked until the overlay dismisses.
|
|
10200
|
+
* This is important for a modal with canDismiss.
|
|
10201
|
+
* If the application presents a confirmation alert
|
|
10202
|
+
* in the "canDismiss" callback, then it will be impossible
|
|
10203
|
+
* to use the hardware back button to dismiss the alert
|
|
10204
|
+
* dialog because the hardware back button utility
|
|
10205
|
+
* is blocked on waiting for the modal to dismiss.
|
|
10206
|
+
*/
|
|
10207
|
+
lastOverlay.dismiss(undefined, BACKDROP);
|
|
10194
10208
|
});
|
|
10195
10209
|
}
|
|
10196
10210
|
});
|
|
10197
|
-
|
|
10198
|
-
|
|
10199
|
-
|
|
10200
|
-
|
|
10201
|
-
|
|
10202
|
-
|
|
10211
|
+
/**
|
|
10212
|
+
* Handle ESC to close overlay.
|
|
10213
|
+
* CloseWatcher also handles pressing the Esc
|
|
10214
|
+
* key, so if a browser supports CloseWatcher then
|
|
10215
|
+
* this behavior will be handled via the ionBackButton
|
|
10216
|
+
* event.
|
|
10217
|
+
*/
|
|
10218
|
+
if (!shoudUseCloseWatcher()) {
|
|
10219
|
+
doc.addEventListener('keydown', (ev) => {
|
|
10220
|
+
if (ev.key === 'Escape') {
|
|
10221
|
+
const lastOverlay = getPresentedOverlay(doc);
|
|
10222
|
+
if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
|
|
10223
|
+
lastOverlay.dismiss(undefined, BACKDROP);
|
|
10224
|
+
}
|
|
10203
10225
|
}
|
|
10204
|
-
}
|
|
10205
|
-
}
|
|
10226
|
+
});
|
|
10227
|
+
}
|
|
10206
10228
|
}
|
|
10207
10229
|
};
|
|
10208
10230
|
const dismissOverlay = (doc, data, role, overlayTag, id) => {
|
|
@@ -10368,10 +10390,6 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
10368
10390
|
}
|
|
10369
10391
|
overlay.didDismiss.emit({ data, role });
|
|
10370
10392
|
(_b = overlay.didDismissShorthand) === null || _b === void 0 ? void 0 : _b.emit({ data, role });
|
|
10371
|
-
// Get a reference to all animations currently assigned to this overlay
|
|
10372
|
-
// Then tear them down to return the overlay to its initial visual state
|
|
10373
|
-
const animations = activeAnimations.get(overlay) || [];
|
|
10374
|
-
animations.forEach((ani) => ani.destroy());
|
|
10375
10393
|
activeAnimations.delete(overlay);
|
|
10376
10394
|
/**
|
|
10377
10395
|
* Make overlay hidden again in case it is being reused.
|
|
@@ -12719,7 +12737,7 @@ class App {
|
|
|
12719
12737
|
}
|
|
12720
12738
|
render() {
|
|
12721
12739
|
const mode = getIonMode$1(this);
|
|
12722
|
-
return (hAsync(Host, { key: '
|
|
12740
|
+
return (hAsync(Host, { key: '3535eb5c0dab78a78011e552524a98599b2b650f', class: {
|
|
12723
12741
|
[mode]: true,
|
|
12724
12742
|
'ion-page': true,
|
|
12725
12743
|
'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
|
|
@@ -23403,13 +23421,18 @@ class Menu {
|
|
|
23403
23421
|
render() {
|
|
23404
23422
|
const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
|
|
23405
23423
|
const mode = getIonMode$1(this);
|
|
23406
|
-
|
|
23424
|
+
/**
|
|
23425
|
+
* If the Close Watcher is enabled then
|
|
23426
|
+
* the ionBackButton listener in the menu controller
|
|
23427
|
+
* will handle closing the menu when Escape is pressed.
|
|
23428
|
+
*/
|
|
23429
|
+
return (hAsync(Host, { key: 'be7145625a30951e5cc26646f6121ee4fa4c910f', onKeyDown: shoudUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
23407
23430
|
[mode]: true,
|
|
23408
23431
|
[`menu-type-${type}`]: true,
|
|
23409
23432
|
'menu-enabled': !disabled,
|
|
23410
23433
|
[`menu-side-${side}`]: true,
|
|
23411
23434
|
'menu-pane-visible': isPaneVisible,
|
|
23412
|
-
} }, hAsync("div", { key: '
|
|
23435
|
+
} }, hAsync("div", { key: 'ecd6e0641ed67691db270190801f7be365a2d121', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: 'aea3780e259f2b3ea84697a509bb7f13fa9531e9' })), hAsync("ion-backdrop", { key: 'be3253506a34c4c00eb1814621c674196b72db46', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
|
|
23413
23436
|
}
|
|
23414
23437
|
get el() { return getElement(this); }
|
|
23415
23438
|
static get watchers() { return {
|
|
@@ -23442,7 +23465,7 @@ class Menu {
|
|
|
23442
23465
|
"toggle": [64],
|
|
23443
23466
|
"setOpen": [64]
|
|
23444
23467
|
},
|
|
23445
|
-
"$listeners$": [[16, "ionSplitPaneVisible", "onSplitPaneChanged"], [2, "click", "onBackdropClick"]
|
|
23468
|
+
"$listeners$": [[16, "ionSplitPaneVisible", "onSplitPaneChanged"], [2, "click", "onBackdropClick"]],
|
|
23446
23469
|
"$lazyBundleId$": "-",
|
|
23447
23470
|
"$attrsToReflect$": [["contentId", "content-id"], ["menuId", "menu-id"], ["side", "side"]]
|
|
23448
23471
|
}; }
|
|
@@ -25320,6 +25343,7 @@ class Modal {
|
|
|
25320
25343
|
window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
25321
25344
|
this.keyboardOpenCallback = undefined;
|
|
25322
25345
|
}
|
|
25346
|
+
const enteringAnimation = activeAnimations.get(this) || [];
|
|
25323
25347
|
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$3, mdLeaveAnimation$2, {
|
|
25324
25348
|
presentingEl: presentingElement,
|
|
25325
25349
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
@@ -25335,6 +25359,7 @@ class Modal {
|
|
|
25335
25359
|
if (this.gesture) {
|
|
25336
25360
|
this.gesture.destroy();
|
|
25337
25361
|
}
|
|
25362
|
+
enteringAnimation.forEach((ani) => ani.destroy());
|
|
25338
25363
|
}
|
|
25339
25364
|
this.currentBreakpoint = undefined;
|
|
25340
25365
|
this.animation = undefined;
|
|
@@ -25414,9 +25439,9 @@ class Modal {
|
|
|
25414
25439
|
const mode = getIonMode$1(this);
|
|
25415
25440
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
25416
25441
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
25417
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
25442
|
+
return (hAsync(Host, Object.assign({ key: '8c163f4f59429227cab3a1cafb5612994939a629', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
25418
25443
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
25419
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: '
|
|
25444
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: '6908bdf9462d940eff6607b626a499eedc66dc9c', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'ac224394e19b9e8c7dd902f2836fa25787663455',
|
|
25420
25445
|
/*
|
|
25421
25446
|
role and aria-modal must be used on the
|
|
25422
25447
|
same element. They must also be set inside the
|
|
@@ -25425,7 +25450,7 @@ class Modal {
|
|
|
25425
25450
|
*/
|
|
25426
25451
|
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { class: "modal-handle",
|
|
25427
25452
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
25428
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '
|
|
25453
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '9c3c5ec797b6415110a3275c6ff33277291a6e21' }))));
|
|
25429
25454
|
}
|
|
25430
25455
|
get el() { return getElement(this); }
|
|
25431
25456
|
static get watchers() { return {
|
|
@@ -35226,12 +35251,12 @@ class SplitPane {
|
|
|
35226
35251
|
}
|
|
35227
35252
|
render() {
|
|
35228
35253
|
const mode = getIonMode$1(this);
|
|
35229
|
-
return (hAsync(Host, { key: '
|
|
35254
|
+
return (hAsync(Host, { key: '3efe241375d23ae12c47927aa1fc1f3f4b4e5807', class: {
|
|
35230
35255
|
[mode]: true,
|
|
35231
35256
|
// Used internally for styling
|
|
35232
35257
|
[`split-pane-${mode}`]: true,
|
|
35233
35258
|
'split-pane-visible': this.visible,
|
|
35234
|
-
} }, hAsync("slot", { key: '
|
|
35259
|
+
} }, hAsync("slot", { key: 'd5c94319658e2291dcc356e6ed7a9abc1a48a8b9' })));
|
|
35235
35260
|
}
|
|
35236
35261
|
get el() { return getElement(this); }
|
|
35237
35262
|
static get watchers() { return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ionic/core",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.7.0",
|
|
4
4
|
"description": "Base components for Ionic",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ionic",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@axe-core/playwright": "^4.8.4",
|
|
40
40
|
"@capacitor/core": "^5.6.0",
|
|
41
|
-
"@capacitor/haptics": "^5.0.
|
|
41
|
+
"@capacitor/haptics": "^5.0.6",
|
|
42
42
|
"@capacitor/keyboard": "^5.0.8",
|
|
43
43
|
"@capacitor/status-bar": "^5.0.7",
|
|
44
44
|
"@ionic/eslint-config": "^0.3.0",
|
|
@@ -1,36 +0,0 @@
|
|
|
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
|
-
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ config, title }) => {
|
|
7
|
-
test.describe(title('modal: animations'), () => {
|
|
8
|
-
test.beforeEach(async ({ page }) => {
|
|
9
|
-
await page.setContent(`
|
|
10
|
-
<ion-modal is-open="true" trigger="open-modal"></ion-modal>
|
|
11
|
-
`, config);
|
|
12
|
-
});
|
|
13
|
-
test('card modal should clean up animations on dismiss', async ({ page }, testInfo) => {
|
|
14
|
-
testInfo.annotations.push({
|
|
15
|
-
type: 'issue',
|
|
16
|
-
description: 'https://github.com/ionic-team/ionic-framework/issues/28352',
|
|
17
|
-
});
|
|
18
|
-
const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss');
|
|
19
|
-
const modal = page.locator('ion-modal');
|
|
20
|
-
const initialAnimations = await modal.evaluate((el) => {
|
|
21
|
-
return el.shadowRoot.getAnimations();
|
|
22
|
-
});
|
|
23
|
-
// While the modal is open, it should have animations
|
|
24
|
-
expect(initialAnimations.length).toBeGreaterThan(0);
|
|
25
|
-
await modal.evaluate((el) => {
|
|
26
|
-
el.dismiss();
|
|
27
|
-
});
|
|
28
|
-
await ionModalDidDismiss.next();
|
|
29
|
-
const currentAnimations = await modal.evaluate((el) => {
|
|
30
|
-
return el.shadowRoot.getAnimations();
|
|
31
|
-
});
|
|
32
|
-
// Once the modal has finished closing, there should be no animations
|
|
33
|
-
expect(currentAnimations.length).toBe(0);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
});
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{__awaiter,__generator}from"tslib";
|
|
2
|
-
/*!
|
|
3
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
4
|
-
*/var blockHardwareBackButton=function(){document.addEventListener("backbutton",(function(){}))};var startHardwareBackButton=function(){var r=document;var t=false;r.addEventListener("backbutton",(function(){if(t){return}var n=0;var a=[];var e=new CustomEvent("ionBackButton",{bubbles:false,detail:{register:function(r,t){a.push({priority:r,handler:t,id:n++})}}});r.dispatchEvent(e);var u=function(r){return __awaiter(void 0,void 0,void 0,(function(){var t,n;return __generator(this,(function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);if(!(r===null||r===void 0?void 0:r.handler))return[3,2];t=r.handler(o);if(!(t!=null))return[3,2];return[4,t];case 1:a.sent();a.label=2;case 2:return[3,4];case 3:n=a.sent();console.error(n);return[3,4];case 4:return[2]}}))}))};var o=function(){if(a.length>0){var r={priority:Number.MIN_SAFE_INTEGER,handler:function(){return undefined},id:-1};a.forEach((function(t){if(t.priority>=r.priority){r=t}}));t=true;a=a.filter((function(t){return t.id!==r.id}));u(r).then((function(){return t=false}))}};o()}))};var OVERLAY_BACK_BUTTON_PRIORITY=100;var MENU_BACK_BUTTON_PRIORITY=99;export{MENU_BACK_BUTTON_PRIORITY,OVERLAY_BACK_BUTTON_PRIORITY,blockHardwareBackButton,startHardwareBackButton};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{__spreadArray}from"tslib";
|
|
2
|
-
/*!
|
|
3
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
4
|
-
*/var transitionEndAsync=function(a,r){if(r===void 0){r=0}return new Promise((function(e){transitionEnd(a,r,e)}))};var transitionEnd=function(a,r,e){if(r===void 0){r=0}var i;var n;var t={passive:true};var o=500;var u=function(){if(i){i()}};var l=function(r){if(r===undefined||a===r.target){u();e(r)}};if(a){a.addEventListener("webkitTransitionEnd",l,t);a.addEventListener("transitionend",l,t);n=setTimeout(l,r+o);i=function(){if(n){clearTimeout(n);n=undefined}a.removeEventListener("webkitTransitionEnd",l,t);a.removeEventListener("transitionend",l,t)}}return u};var componentOnReady=function(a,r){if(a.componentOnReady){a.componentOnReady().then((function(a){return r(a)}))}else{raf((function(){return r(a)}))}};var hasLazyBuild=function(a){return a.componentOnReady!==undefined};var inheritAttributes=function(a,r){if(r===void 0){r=[]}var e={};r.forEach((function(r){if(a.hasAttribute(r)){var i=a.getAttribute(r);if(i!==null){e[r]=a.getAttribute(r)}a.removeAttribute(r)}}));return e};var ariaAttributes=["role","aria-activedescendant","aria-atomic","aria-autocomplete","aria-braillelabel","aria-brailleroledescription","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colindextext","aria-colspan","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowindextext","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext"];var inheritAriaAttributes=function(a,r){var e=ariaAttributes;if(r&&r.length>0){e=e.filter((function(a){return!r.includes(a)}))}return inheritAttributes(a,e)};var addEventListener=function(a,r,e,i){var n;if(typeof window!=="undefined"){var t=window;var o=(n=t===null||t===void 0?void 0:t.Ionic)===null||n===void 0?void 0:n.config;if(o){var u=o.get("_ael");if(u){return u(a,r,e,i)}else if(o._ael){return o._ael(a,r,e,i)}}}return a.addEventListener(r,e,i)};var removeEventListener=function(a,r,e,i){var n;if(typeof window!=="undefined"){var t=window;var o=(n=t===null||t===void 0?void 0:t.Ionic)===null||n===void 0?void 0:n.config;if(o){var u=o.get("_rel");if(u){return u(a,r,e,i)}else if(o._rel){return o._rel(a,r,e,i)}}}return a.removeEventListener(r,e,i)};var getElementRoot=function(a,r){if(r===void 0){r=a}return a.shadowRoot||r};var raf=function(a){if(typeof __zone_symbol__requestAnimationFrame==="function"){return __zone_symbol__requestAnimationFrame(a)}if(typeof requestAnimationFrame==="function"){return requestAnimationFrame(a)}return setTimeout(a)};var hasShadowDom=function(a){return!!a.shadowRoot&&!!a.attachShadow};var findItemLabel=function(a){var r=a.closest("ion-item");if(r){return r.querySelector("ion-label")}return null};var focusElement=function(a){a.focus();if(a.classList.contains("ion-focusable")){var r=a.closest("ion-app");if(r){r.setFocus([a])}}};var getAriaLabel=function(a,r){var e;var i=a.getAttribute("aria-labelledby");var n=a.id;var t=i!==null&&i.trim()!==""?i:r+"-lbl";var o=i!==null&&i.trim()!==""?document.getElementById(i):findItemLabel(a);if(o){if(i===null){o.id=t}e=o.textContent;o.setAttribute("aria-hidden","true")}else if(n.trim()!==""){o=document.querySelector('label[for="'.concat(n,'"]'));if(o){if(o.id!==""){t=o.id}else{o.id=t="".concat(n,"-lbl")}e=o.textContent}}return{label:o,labelId:t,labelText:e}};var renderHiddenInput=function(a,r,e,i,n){if(a||hasShadowDom(r)){var t=r.querySelector("input.aux-input");if(!t){t=r.ownerDocument.createElement("input");t.type="hidden";t.classList.add("aux-input");r.appendChild(t)}t.disabled=n;t.name=e;t.value=i||""}};var clamp=function(a,r,e){return Math.max(a,Math.min(r,e))};var assert=function(a,r){if(!a){var e="ASSERT: "+r;console.error(e);debugger;throw new Error(e)}};var now=function(a){return a.timeStamp||Date.now()};var pointerCoord=function(a){if(a){var r=a.changedTouches;if(r&&r.length>0){var e=r[0];return{x:e.clientX,y:e.clientY}}if(a.pageX!==undefined){return{x:a.pageX,y:a.pageY}}}return{x:0,y:0}};var isEndSide=function(a){var r=document.dir==="rtl";switch(a){case"start":return r;case"end":return!r;default:throw new Error('"'.concat(a,'" is not a valid value for [side]. Use "start" or "end" instead.'))}};var debounceEvent=function(a,r){var e=a._original||a;return{_original:a,emit:debounce(e.emit.bind(e),r)}};var debounce=function(a,r){if(r===void 0){r=0}var e;return function(){var i=[];for(var n=0;n<arguments.length;n++){i[n]=arguments[n]}clearTimeout(e);e=setTimeout.apply(void 0,__spreadArray([a,r],i,false))}};var shallowEqualStringMap=function(a,r){a!==null&&a!==void 0?a:a={};r!==null&&r!==void 0?r:r={};if(a===r){return true}var e=Object.keys(a);if(e.length!==Object.keys(r).length){return false}for(var i=0,n=e;i<n.length;i++){var t=n[i];if(!(t in r)){return false}if(a[t]!==r[t]){return false}}return true};export{addEventListener as a,removeEventListener as b,componentOnReady as c,renderHiddenInput as d,getAriaLabel as e,focusElement as f,getElementRoot as g,findItemLabel as h,inheritAriaAttributes as i,debounceEvent as j,inheritAttributes as k,clamp as l,hasLazyBuild as m,hasShadowDom as n,assert as o,isEndSide as p,debounce as q,raf as r,shallowEqualStringMap as s,transitionEndAsync as t,now as u,pointerCoord as v};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{d as doc}from"./index-a5d50daf.js";import{u as now,v as pointerCoord}from"./helpers-ae653409.js";var startTapClick=function(e){if(doc===undefined){return}var r=-MOUSE_WAIT*10;var n=0;var t;var i;var a;var o=e.getBoolean("animated",true)&&e.getBoolean("rippleEffect",true);var f=new WeakMap;var u=function(e){r=now(e);E(e)};var c=function(e){r=now(e);A(e)};var v=function(e){if(e.button===2){return}var n=now(e)-MOUSE_WAIT;if(r<n){E(e)}};var d=function(e){var n=now(e)-MOUSE_WAIT;if(r<n){A(e)}};var T=function(){if(a)clearTimeout(a);a=undefined;if(t){D(false);t=undefined}};var E=function(e){if(t){return}s(getActivatableTarget(e),e)};var A=function(e){s(undefined,e)};var s=function(e,r){if(e&&e===t){return}if(a)clearTimeout(a);a=undefined;var n=pointerCoord(r),i=n.x,o=n.y;if(t){if(f.has(t)){throw new Error("internal error")}if(!t.classList.contains(ACTIVATED)){l(t,i,o)}D(true)}if(e){var u=f.get(e);if(u){clearTimeout(u);f.delete(e)}e.classList.remove(ACTIVATED);var c=function(){l(e,i,o);a=undefined};if(isInstant(e)){c()}else{a=setTimeout(c,ADD_ACTIVATED_DEFERS)}}t=e};var l=function(e,r,t){n=Date.now();e.classList.add(ACTIVATED);if(!o)return;var a=getRippleEffect(e);if(a!==null){p();i=a.addRipple(r,t)}};var p=function(){if(i!==undefined){i.then((function(e){return e()}));i=undefined}};var D=function(e){p();var r=t;if(!r){return}var i=CLEAR_STATE_DEFERS-Date.now()+n;if(e&&i>0&&!isInstant(r)){var a=setTimeout((function(){r.classList.remove(ACTIVATED);f.delete(r)}),CLEAR_STATE_DEFERS);f.set(r,a)}else{r.classList.remove(ACTIVATED)}};doc.addEventListener("ionGestureCaptured",T);doc.addEventListener("touchstart",u,true);doc.addEventListener("touchcancel",c,true);doc.addEventListener("touchend",c,true);doc.addEventListener("pointercancel",T,true);doc.addEventListener("mousedown",v,true);doc.addEventListener("mouseup",d,true)};var getActivatableTarget=function(e){if(e.composedPath!==undefined){var r=e.composedPath();for(var n=0;n<r.length-2;n++){var t=r[n];if(!(t instanceof ShadowRoot)&&t.classList.contains("ion-activatable")){return t}}}else{return e.target.closest(".ion-activatable")}};var isInstant=function(e){return e.classList.contains("ion-activatable-instant")};var getRippleEffect=function(e){if(e.shadowRoot){var r=e.shadowRoot.querySelector("ion-ripple-effect");if(r){return r}}return e.querySelector("ion-ripple-effect")};var ACTIVATED="ion-activated";var ADD_ACTIVATED_DEFERS=100;var CLEAR_STATE_DEFERS=150;var MOUSE_WAIT=2500;export{startTapClick};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{c as createAnimation}from"./animation-dde8cc0d.js";import{g as getIonPageElement}from"./index-8fac11d0.js";import"./index-a5d50daf.js";import"./helpers-ae653409.js";import"./index-73881b51.js";var mdTransitionAnimation=function(a,i){var n,e,t;var r="40px";var o="0px";var m=i.direction==="back";var c=i.enteringEl;var s=i.leavingEl;var l=getIonPageElement(c);var v=l.querySelector("ion-toolbar");var d=createAnimation();d.addElement(l).fill("both").beforeRemoveClass("ion-page-invisible");if(m){d.duration(((n=i.duration)!==null&&n!==void 0?n:0)||200).easing("cubic-bezier(0.47,0,0.745,0.715)")}else{d.duration(((e=i.duration)!==null&&e!==void 0?e:0)||280).easing("cubic-bezier(0.36,0.66,0.04,1)").fromTo("transform","translateY(".concat(r,")"),"translateY(".concat(o,")")).fromTo("opacity",.01,1)}if(v){var p=createAnimation();p.addElement(v);d.addAnimation(p)}if(s&&m){d.duration(((t=i.duration)!==null&&t!==void 0?t:0)||200).easing("cubic-bezier(0.47,0,0.745,0.715)");var f=createAnimation();f.addElement(getIonPageElement(s)).onFinish((function(a){if(a===1&&f.elements.length>0){f.elements[0].style.setProperty("display","none")}})).fromTo("transform","translateY(".concat(o,")"),"translateY(".concat(r,")")).fromTo("opacity",1,0);d.addAnimation(f)}return d};export{mdTransitionAnimation};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{__awaiter,__generator,__spreadArray}from"tslib";
|
|
2
|
-
/*!
|
|
3
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
4
|
-
*/import{d as doc}from"./index-a5d50daf.js";import{b as getIonMode,c as config}from"./ionic-global-778b7863.js";import{C as CoreDelegate}from"./framework-delegate-bc1fd82a.js";import{OVERLAY_BACK_BUTTON_PRIORITY}from"./hardware-back-button-b2bc76db.js";import{c as componentOnReady,f as focusElement,a as addEventListener,b as removeEventListener,g as getElementRoot}from"./helpers-ae653409.js";import{p as printIonWarning}from"./index-9b0d46f4.js";var lastOverlayIndex=0;var lastId=0;var activeAnimations=new WeakMap;var createController=function(e){return{create:function(n){return createOverlay(e,n)},dismiss:function(n,r,t){return dismissOverlay(document,n,r,e,t)},getTop:function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){return[2,getPresentedOverlay(document,e)]}))}))}}};var alertController=createController("ion-alert");var actionSheetController=createController("ion-action-sheet");var loadingController=createController("ion-loading");var modalController=createController("ion-modal");var pickerController=createController("ion-picker");var popoverController=createController("ion-popover");var toastController=createController("ion-toast");var prepareOverlay=function(e){if(typeof document!=="undefined"){connectListeners(document)}var n=lastOverlayIndex++;e.overlayIndex=n};var setOverlayId=function(e){if(!e.hasAttribute("id")){e.id="ion-overlay-".concat(++lastId)}return e.id};var createOverlay=function(e,n){if(typeof window!=="undefined"&&typeof window.customElements!=="undefined"){return window.customElements.whenDefined(e).then((function(){var r=document.createElement(e);r.classList.add("overlay-hidden");Object.assign(r,Object.assign(Object.assign({},n),{hasController:true}));getAppRoot(document).appendChild(r);return new Promise((function(e){return componentOnReady(r,e)}))}))}return Promise.resolve()};var focusableQueryString='[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])';var focusFirstDescendant=function(e,n){var r=e.querySelector(focusableQueryString);var t=r===null||r===void 0?void 0:r.shadowRoot;if(t){r=t.querySelector(focusableQueryString)||r}if(r){focusElement(r)}else{n.focus()}};var isOverlayHidden=function(e){return e.classList.contains("overlay-hidden")};var focusLastDescendant=function(e,n){var r=Array.from(e.querySelectorAll(focusableQueryString));var t=r.length>0?r[r.length-1]:null;var o=t===null||t===void 0?void 0:t.shadowRoot;if(o){t=o.querySelector(focusableQueryString)||t}if(t){t.focus()}else{n.focus()}};var trapKeyboardFocus=function(e,n){var r=getPresentedOverlay(n,"ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover");var t=e.target;if(!r||!t){return}if(r.classList.contains("ion-disable-focus-trap")){return}var o=function(){if(r===t){r.lastFocus=undefined}else{var e=getElementRoot(r);if(!e.contains(t)){return}var o=e.querySelector(".ion-overlay-wrapper");if(!o){return}if(o.contains(t)||t===e.querySelector("ion-backdrop")){r.lastFocus=t}else{var i=r.lastFocus;focusFirstDescendant(o,r);if(i===n.activeElement){focusLastDescendant(o,r)}r.lastFocus=n.activeElement}}};var i=function(){if(r.contains(t)){r.lastFocus=t}else{var e=r.lastFocus;focusFirstDescendant(r,r);if(e===n.activeElement){focusLastDescendant(r,r)}r.lastFocus=n.activeElement}};if(r.shadowRoot){i()}else{o()}};var connectListeners=function(e){if(lastOverlayIndex===0){lastOverlayIndex=1;e.addEventListener("focus",(function(n){trapKeyboardFocus(n,e)}),true);e.addEventListener("ionBackButton",(function(n){var r=getPresentedOverlay(e);if(r===null||r===void 0?void 0:r.backdropDismiss){n.detail.register(OVERLAY_BACK_BUTTON_PRIORITY,(function(){return r.dismiss(undefined,BACKDROP)}))}}));e.addEventListener("keydown",(function(n){if(n.key==="Escape"){var r=getPresentedOverlay(e);if(r===null||r===void 0?void 0:r.backdropDismiss){r.dismiss(undefined,BACKDROP)}}}))}};var dismissOverlay=function(e,n,r,t,o){var i=getPresentedOverlay(e,t,o);if(!i){return Promise.reject("overlay does not exist")}return i.dismiss(n,r)};var getOverlays=function(e,n){if(n===undefined){n="ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast"}return Array.from(e.querySelectorAll(n)).filter((function(e){return e.overlayIndex>0}))};var getPresentedOverlays=function(e,n){return getOverlays(e,n).filter((function(e){return!isOverlayHidden(e)}))};var getPresentedOverlay=function(e,n,r){var t=getPresentedOverlays(e,n);return r===undefined?t[t.length-1]:t.find((function(e){return e.id===r}))};var setRootAriaHidden=function(e){if(e===void 0){e=false}var n=getAppRoot(document);var r=n.querySelector("ion-router-outlet, ion-nav, #ion-view-container-root");if(!r){return}if(e){r.setAttribute("aria-hidden","true")}else{r.removeAttribute("aria-hidden")}};var present=function(e,n,r,t,o){return __awaiter(void 0,void 0,void 0,(function(){var i,a,d,u,s;return __generator(this,(function(l){switch(l.label){case 0:if(e.presented){return[2]}setRootAriaHidden(true);e.presented=true;e.willPresent.emit();(i=e.willPresentShorthand)===null||i===void 0?void 0:i.emit();d=getIonMode(e);u=e.enterAnimation?e.enterAnimation:config.get(n,d==="ios"?r:t);return[4,overlayAnimation(e,u,e.el,o)];case 1:s=l.sent();if(s){e.didPresent.emit();(a=e.didPresentShorthand)===null||a===void 0?void 0:a.emit()}if(e.el.tagName!=="ION-TOAST"){focusPreviousElementOnDismiss(e.el)}if(e.keyboardClose&&(document.activeElement===null||!e.el.contains(document.activeElement))){e.el.focus()}return[2]}}))}))};var focusPreviousElementOnDismiss=function(e){return __awaiter(void 0,void 0,void 0,(function(){var n,r;return __generator(this,(function(t){switch(t.label){case 0:n=document.activeElement;if(!n){return[2]}r=n===null||n===void 0?void 0:n.shadowRoot;if(r){n=r.querySelector(focusableQueryString)||n}return[4,e.onDidDismiss()];case 1:t.sent();n.focus();return[2]}}))}))};var dismiss=function(e,n,r,t,o,i,a){return __awaiter(void 0,void 0,void 0,(function(){var d,u,s,l,c,v;return __generator(this,(function(f){switch(f.label){case 0:if(!e.presented){return[2,false]}if(doc!==undefined&&getPresentedOverlays(doc).length===1){setRootAriaHidden(false)}e.presented=false;f.label=1;case 1:f.trys.push([1,4,,5]);e.el.style.setProperty("pointer-events","none");e.willDismiss.emit({data:n,role:r});(d=e.willDismissShorthand)===null||d===void 0?void 0:d.emit({data:n,role:r});s=getIonMode(e);l=e.leaveAnimation?e.leaveAnimation:config.get(t,s==="ios"?o:i);if(!(r!==GESTURE))return[3,3];return[4,overlayAnimation(e,l,e.el,a)];case 2:f.sent();f.label=3;case 3:e.didDismiss.emit({data:n,role:r});(u=e.didDismissShorthand)===null||u===void 0?void 0:u.emit({data:n,role:r});c=activeAnimations.get(e)||[];c.forEach((function(e){return e.destroy()}));activeAnimations.delete(e);e.el.classList.add("overlay-hidden");e.el.style.removeProperty("pointer-events");if(e.el.lastFocus!==undefined){e.el.lastFocus=undefined}return[3,5];case 4:v=f.sent();console.error(v);return[3,5];case 5:e.el.remove();return[2,true]}}))}))};var getAppRoot=function(e){return e.querySelector("ion-app")||e.body};var overlayAnimation=function(e,n,r,t){return __awaiter(void 0,void 0,void 0,(function(){var o,i,a;return __generator(this,(function(d){switch(d.label){case 0:r.classList.remove("overlay-hidden");o=e.el;i=n(o,t);if(!e.animated||!config.getBoolean("animated",true)){i.duration(0)}if(e.keyboardClose){i.beforeAddWrite((function(){var e=r.ownerDocument.activeElement;if(e===null||e===void 0?void 0:e.matches("input,ion-input, ion-textarea")){e.blur()}}))}a=activeAnimations.get(e)||[];activeAnimations.set(e,__spreadArray(__spreadArray([],a,true),[i],false));return[4,i.play()];case 1:d.sent();return[2,true]}}))}))};var eventMethod=function(e,n){var r;var t=new Promise((function(e){return r=e}));onceEvent(e,n,(function(e){r(e.detail)}));return t};var onceEvent=function(e,n,r){var t=function(o){removeEventListener(e,n,t);r(o)};addEventListener(e,n,t)};var isCancel=function(e){return e==="cancel"||e===BACKDROP};var defaultGate=function(e){return e()};var safeCall=function(e,n){if(typeof e==="function"){var r=config.get("_zoneGate",defaultGate);return r((function(){try{return e(n)}catch(e){throw e}}))}return undefined};var BACKDROP="backdrop";var GESTURE="gesture";var OVERLAY_GESTURE_PRIORITY=39;var createDelegateController=function(e){var n=false;var r;var t=CoreDelegate();var o=function(o){if(o===void 0){o=false}if(r&&!o){return{delegate:r,inline:n}}var i=e.el,a=e.hasController,d=e.delegate;var u=i.parentNode;n=u!==null&&!a;r=n?d||t:d;return{inline:n,delegate:r}};var i=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r,t;return __generator(this,(function(i){switch(i.label){case 0:r=o(true).delegate;if(!r)return[3,2];return[4,r.attachViewToDom(e.el,n)];case 1:return[2,i.sent()];case 2:t=e.hasController;if(t&&n!==undefined){throw new Error("framework delegate is missing")}return[2,null]}}))}))};var a=function(){var n=o().delegate;if(n&&e.el!==undefined){n.removeViewFromDom(e.el.parentElement,e.el)}};return{attachViewToDom:i,removeViewFromDom:a}};var createTriggerController=function(){var e;var n=function(){if(e){e();e=undefined}};var r=function(r,t){n();var o=t!==undefined?document.getElementById(t):null;if(!o){printIonWarning('A trigger element with the ID "'.concat(t,'" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.'),r);return}var i=function(e,n){var r=function(){n.present()};e.addEventListener("click",r);return function(){e.removeEventListener("click",r)}};e=i(o,r)};return{addClickListener:r,removeClickListener:n}};export{BACKDROP as B,GESTURE as G,OVERLAY_GESTURE_PRIORITY as O,alertController as a,actionSheetController as b,popoverController as c,createDelegateController as d,createTriggerController as e,present as f,dismiss as g,eventMethod as h,isCancel as i,prepareOverlay as j,setOverlayId as k,loadingController as l,modalController as m,focusFirstDescendant as n,getPresentedOverlay as o,pickerController as p,safeCall as s,toastController as t};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(n,r,t,e){function i(n){return n instanceof t?n:new t((function(r){r(n)}))}return new(t||(t=Promise))((function(t,u){function a(n){try{f(e.next(n))}catch(n){u(n)}}function o(n){try{f(e["throw"](n))}catch(n){u(n)}}function f(n){n.done?t(n.value):i(n.value).then(a,o)}f((e=e.apply(n,r||[])).next())}))};var __generator=this&&this.__generator||function(n,r){var t={label:0,sent:function(){if(u[0]&1)throw u[1];return u[1]},trys:[],ops:[]},e,i,u,a;return a={next:o(0),throw:o(1),return:o(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function o(n){return function(r){return f([n,r])}}function f(o){if(e)throw new TypeError("Generator is already executing.");while(a&&(a=0,o[0]&&(t=0)),t)try{if(e=1,i&&(u=o[0]&2?i["return"]:o[0]?i["throw"]||((u=i["return"])&&u.call(i),0):i.next)&&!(u=u.call(i,o[1])).done)return u;if(i=0,u)o=[o[0]&2,u.value];switch(o[0]){case 0:case 1:u=o;break;case 4:t.label++;return{value:o[1],done:false};case 5:t.label++;i=o[1];o=[0];continue;case 7:o=t.ops.pop();t.trys.pop();continue;default:if(!(u=t.trys,u=u.length>0&&u[u.length-1])&&(o[0]===6||o[0]===2)){t=0;continue}if(o[0]===3&&(!u||o[1]>u[0]&&o[1]<u[3])){t.label=o[1];break}if(o[0]===6&&t.label<u[1]){t.label=u[1];u=o;break}if(u&&t.label<u[2]){t.label=u[2];t.ops.push(o);break}if(u[2])t.ops.pop();t.trys.pop();continue}o=r.call(n,t)}catch(n){o=[6,n];i=0}finally{e=u=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}};
|
|
2
|
-
/*!
|
|
3
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
4
|
-
*/System.register(["./p-792919fd.system.js","./p-790220fd.system.js","./p-ff4b7e40.system.js","./p-32ad210f.system.js","./p-3f028207.system.js","./p-38f2c6bb.system.js"],(function(n){"use strict";var r,t,e,i,u,a;return{setters:[function(n){r=n.d},function(n){t=n.MENU_BACK_BUTTON_PRIORITY},function(n){e=n.p},function(n){i=n.c},function(n){u=n.b},function(n){a=n.c}],execute:function(){var o=this;var f=function(n){return a().duration(n?400:300)};var s=function(n){var r;var t;var e=n.width+8;var i=a();var o=a();if(n.isEndSide){r=e+"px";t="0px"}else{r=-e+"px";t="0px"}i.addElement(n.menuInnerEl).fromTo("transform","translateX(".concat(r,")"),"translateX(".concat(t,")"));var s=u(n);var c=s==="ios";var v=c?.2:.25;o.addElement(n.backdropEl).fromTo("opacity",.01,v);return f(c).addAnimation([i,o])};var c=function(n){var r;var t;var e=u(n);var i=n.width;if(n.isEndSide){r=-i+"px";t=i+"px"}else{r=i+"px";t=-i+"px"}var o=a().addElement(n.menuInnerEl).fromTo("transform","translateX(".concat(t,")"),"translateX(0px)");var s=a().addElement(n.contentEl).fromTo("transform","translateX(0px)","translateX(".concat(r,")"));var c=a().addElement(n.backdropEl).fromTo("opacity",.01,.32);return f(e==="ios").addAnimation([o,s,c])};var v=function(n){var r=u(n);var t=n.width*(n.isEndSide?-1:1)+"px";var e=a().addElement(n.contentEl).fromTo("transform","translateX(0px)","translateX(".concat(t,")"));return f(r==="ios").addAnimation(e)};var d=function(){var n=new Map;var u=[];var a=function(n){return __awaiter(o,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:return[4,m(n,true)];case 1:r=t.sent();if(r){return[2,r.open()]}return[2,false]}}))}))};var f=function(n){return __awaiter(o,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:return[4,n!==undefined?m(n,true):p()];case 1:r=t.sent();if(r!==undefined){return[2,r.close()]}return[2,false]}}))}))};var d=function(n){return __awaiter(o,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:return[4,m(n,true)];case 1:r=t.sent();if(r){return[2,r.toggle()]}return[2,false]}}))}))};var h=function(n,r){return __awaiter(o,void 0,void 0,(function(){var t;return __generator(this,(function(e){switch(e.label){case 0:return[4,m(r)];case 1:t=e.sent();if(t){t.disabled=!n}return[2,t]}}))}))};var _=function(n,r){return __awaiter(o,void 0,void 0,(function(){var t;return __generator(this,(function(e){switch(e.label){case 0:return[4,m(r)];case 1:t=e.sent();if(t){t.swipeGesture=n}return[2,t]}}))}))};var l=function(n){return __awaiter(o,void 0,void 0,(function(){var r,r;return __generator(this,(function(t){switch(t.label){case 0:if(!(n!=null))return[3,2];return[4,m(n)];case 1:r=t.sent();return[2,r!==undefined&&r.isOpen()];case 2:return[4,p()];case 3:r=t.sent();return[2,r!==undefined]}}))}))};var w=function(n){return __awaiter(o,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:return[4,m(n)];case 1:r=t.sent();if(r){return[2,!r.disabled]}return[2,false]}}))}))};var m=function(n,r){if(r===void 0){r=false}return __awaiter(o,void 0,void 0,(function(){var t,i,a;return __generator(this,(function(o){switch(o.label){case 0:return[4,E()];case 1:o.sent();if(n==="start"||n==="end"){t=u.filter((function(r){return r.side===n&&!r.disabled}));if(t.length>=1){if(t.length>1&&r){e('menuController queried for a menu on the "'.concat(n,'" side, but ').concat(t.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."),t.map((function(n){return n.el})))}return[2,t[0].el]}i=u.filter((function(r){return r.side===n}));if(i.length>=1){if(i.length>1&&r){e('menuController queried for a menu on the "'.concat(n,'" side, but ').concat(i.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."),i.map((function(n){return n.el})))}return[2,i[0].el]}}else if(n!=null){return[2,S((function(r){return r.menuId===n}))]}a=S((function(n){return!n.disabled}));if(a){return[2,a]}return[2,u.length>0?u[0].el:undefined]}}))}))};var p=function(){return __awaiter(o,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:return[4,E()];case 1:n.sent();return[2,A()]}}))}))};var g=function(){return __awaiter(o,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:return[4,E()];case 1:n.sent();return[2,I()]}}))}))};var y=function(){return __awaiter(o,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:return[4,E()];case 1:n.sent();return[2,O()]}}))}))};var b=function(r,t){n.set(r,t)};var x=function(n){if(u.indexOf(n)<0){u.push(n)}};var X=function(n){var r=u.indexOf(n);if(r>-1){u.splice(r,1)}};var j=function(n,r,t){return __awaiter(o,void 0,void 0,(function(){var e;return __generator(this,(function(i){switch(i.label){case 0:if(O()){return[2,false]}if(!r)return[3,3];return[4,p()];case 1:e=i.sent();if(!(e&&n.el!==e))return[3,3];return[4,e.setOpen(false,false)];case 2:i.sent();i.label=3;case 3:return[2,n._setOpen(r,t)]}}))}))};var k=function(r,t){var e=n.get(r);if(!e){throw new Error("animation not registered")}var i=e(t);return i};var A=function(){return S((function(n){return n._isOpen}))};var I=function(){return u.map((function(n){return n.el}))};var O=function(){return u.some((function(n){return n.isAnimating}))};var S=function(n){var r=u.find(n);if(r!==undefined){return r.el}return undefined};var E=function(){return Promise.all(Array.from(document.querySelectorAll("ion-menu")).map((function(n){return new Promise((function(r){return i(n,r)}))})))};b("reveal",v);b("push",c);b("overlay",s);r===null||r===void 0?void 0:r.addEventListener("ionBackButton",(function(n){var r=A();if(r){n.detail.register(t,(function(){return r.close()}))}}));return{registerAnimation:b,get:m,getMenus:g,getOpen:p,isEnabled:w,swipeGesture:_,isAnimating:y,isOpen:l,enable:h,toggle:d,close:f,open:a,_getOpenSync:A,_createAnimation:k,_register:x,_unregister:X,_setOpen:j}};var h=n("m",d())}}}));
|