@ionic/core 7.6.8-dev.11706715287.1950fa40 → 7.7.1-dev.11706736578.174d0727
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 +3 -3
- package/components/ion-app.js +12 -2
- package/components/ion-menu.js +9 -3
- package/components/ion-select.js +3 -3
- package/components/ion-split-pane.js +11 -12
- package/components/overlays.js +96 -30
- package/dist/cjs/{animation-9b401d39.js → animation-c2840aea.js} +1 -1
- package/dist/cjs/{form-controller-7d42a722.js → form-controller-c83330c0.js} +1 -1
- package/dist/cjs/{framework-delegate-1c29b14a.js → framework-delegate-e0e13baa.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-da4c0ed1.js} +3 -3
- package/dist/cjs/{index-fc6d268f.js → index-0ccc7b6f.js} +3 -3
- package/dist/cjs/{index-b4f986cd.js → index-62290fec.js} +1 -1
- package/dist/cjs/{index-8aef188d.js → index-6600c909.js} +3 -3
- package/dist/cjs/{index-da15e99c.js → index-bef98850.js} +1 -1
- package/dist/cjs/index.cjs.js +9 -9
- package/dist/cjs/{input-shims-a23bb0f4.js → input-shims-a9a85bb9.js} +2 -2
- package/dist/cjs/{input.utils-3d0166a2.js → input.utils-d7dca90f.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 +7 -7
- 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 +8 -8
- 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-810ef802.js} +3 -3
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-bb342d2a.js → md.transition-15315952.js} +3 -3
- package/dist/cjs/{notch-controller-9735e7ac.js → notch-controller-bfbcbb7a.js} +1 -1
- package/dist/cjs/{overlays-62679ec5.js → overlays-37b51f7b.js} +97 -31
- package/dist/cjs/{status-tap-5fa2bab5.js → status-tap-d3dcdb3b.js} +2 -2
- package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-cf8aa1ec.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/select/select.js +3 -3
- 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 +2 -2
- package/dist/collection/utils/overlays.js +96 -29
- 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-6a0c5338.js} +1 -1
- package/dist/esm/{form-controller-548aa79c.js → form-controller-21dd62b1.js} +1 -1
- package/dist/esm/{framework-delegate-bc1fd82a.js → framework-delegate-ed4ba327.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-be245865.js} +3 -3
- package/dist/esm/{index-82eeb47f.js → index-020f5464.js} +1 -1
- package/dist/esm/{index-8fac11d0.js → index-22b42a9f.js} +3 -3
- package/dist/esm/{index-6546f0dd.js → index-aa29e8bf.js} +3 -3
- package/dist/esm/{index-b9e742e5.js → index-f3946ac1.js} +1 -1
- package/dist/esm/index.js +9 -9
- package/dist/esm/{input-shims-6539ce13.js → input-shims-5329bbe8.js} +2 -2
- package/dist/esm/{input.utils-a5a2d164.js → input.utils-a445f677.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 +7 -7
- 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 +8 -8
- 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-46de8e98.js} +3 -3
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-498898ac.js → md.transition-804d9596.js} +3 -3
- package/dist/esm/{notch-controller-fea7f9c5.js → notch-controller-6bd3e0f9.js} +1 -1
- package/dist/esm/{overlays-4bb86b9c.js → overlays-7199c581.js} +97 -31
- package/dist/esm/{status-tap-06b37f21.js → status-tap-d8a80d95.js} +2 -2
- package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-37a22d34.js} +1 -1
- package/dist/esm-es5/{animation-dde8cc0d.js → animation-6a0c5338.js} +1 -1
- package/dist/esm-es5/{form-controller-548aa79c.js → form-controller-21dd62b1.js} +1 -1
- package/dist/esm-es5/{framework-delegate-bc1fd82a.js → framework-delegate-ed4ba327.js} +1 -1
- package/dist/esm-es5/hardware-back-button-f42b9c80.js +4 -0
- package/dist/esm-es5/helpers-be245865.js +4 -0
- package/dist/esm-es5/{index-82eeb47f.js → index-020f5464.js} +1 -1
- package/dist/esm-es5/{index-8fac11d0.js → index-22b42a9f.js} +1 -1
- package/dist/esm-es5/{index-6546f0dd.js → index-aa29e8bf.js} +1 -1
- package/dist/esm-es5/{index-b9e742e5.js → index-f3946ac1.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{input-shims-6539ce13.js → input-shims-5329bbe8.js} +1 -1
- package/dist/esm-es5/{input.utils-a5a2d164.js → input.utils-a445f677.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-46de8e98.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-804d9596.js +4 -0
- package/dist/esm-es5/{notch-controller-fea7f9c5.js → notch-controller-6bd3e0f9.js} +1 -1
- package/dist/esm-es5/overlays-7199c581.js +4 -0
- package/dist/esm-es5/{status-tap-06b37f21.js → status-tap-d8a80d95.js} +1 -1
- package/dist/esm-es5/swipe-back-37a22d34.js +4 -0
- 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-6aacda17.system.entry.js → p-00b14d2c.system.entry.js} +1 -1
- package/dist/ionic/{p-aad00593.entry.js → p-05167dc2.entry.js} +1 -1
- package/dist/ionic/{p-ee20243d.system.entry.js → p-089b2b36.system.entry.js} +1 -1
- package/dist/ionic/p-0b955124.system.js +1 -1
- package/dist/ionic/{p-47bb4958.js → p-0c625e5f.js} +1 -1
- package/dist/ionic/{p-7bb1d7dd.entry.js → p-0f6a29e7.entry.js} +1 -1
- package/dist/ionic/p-1061d7cb.js +4 -0
- package/dist/ionic/{p-b5914ab2.entry.js → p-12627bff.entry.js} +1 -1
- package/dist/ionic/{p-66d633fb.js → p-12a8643e.js} +1 -1
- package/dist/ionic/{p-f318e213.system.entry.js → p-12cf5909.system.entry.js} +1 -1
- package/dist/ionic/{p-b4db67d7.entry.js → p-186959bb.entry.js} +1 -1
- package/dist/ionic/{p-5d26143c.entry.js → p-1a8bd472.entry.js} +1 -1
- package/dist/ionic/p-1b3ffb2f.js +4 -0
- package/dist/ionic/p-1bc9b5f5.system.js +4 -0
- package/dist/ionic/{p-9e09d6d3.entry.js → p-1e3e8be1.entry.js} +1 -1
- package/dist/ionic/{p-2f9fe497.system.entry.js → p-1f87e5b2.system.entry.js} +1 -1
- package/dist/ionic/{p-c1d4b820.entry.js → p-20253122.entry.js} +1 -1
- package/dist/ionic/{p-46b0ffa3.system.entry.js → p-261eb8dc.system.entry.js} +1 -1
- package/dist/ionic/{p-0274f779.system.entry.js → p-26bfb7aa.system.entry.js} +1 -1
- package/dist/ionic/{p-1401bd2e.system.entry.js → p-2b99a589.system.entry.js} +1 -1
- package/dist/ionic/{p-3a75d7fd.js → p-2c118b1e.js} +1 -1
- package/dist/ionic/p-2c726979.entry.js +4 -0
- package/dist/ionic/{p-6c938b0d.entry.js → p-2f682b1d.entry.js} +1 -1
- package/dist/ionic/{p-42dd5fb5.system.entry.js → p-2fd6badb.system.entry.js} +1 -1
- package/dist/ionic/{p-af9ab3f4.entry.js → p-312e6137.entry.js} +1 -1
- package/dist/ionic/{p-a3928153.system.entry.js → p-331b4e02.system.entry.js} +1 -1
- package/dist/ionic/{p-408fc801.system.js → p-3362b4a9.system.js} +1 -1
- package/dist/ionic/{p-432353dc.entry.js → p-3b1c3be8.entry.js} +1 -1
- package/dist/ionic/p-3fe26591.entry.js +4 -0
- package/dist/ionic/{p-f06a7c31.system.js → p-400be8d3.system.js} +1 -1
- package/dist/ionic/{p-b853da37.entry.js → p-41cbadb1.entry.js} +1 -1
- package/dist/ionic/{p-013013a3.js → p-46bcc2f5.js} +1 -1
- package/dist/ionic/p-48de5c0d.js +4 -0
- package/dist/ionic/p-4b2d5b9c.js +4 -0
- package/dist/ionic/p-4c812a54.js +4 -0
- package/dist/ionic/{p-4eecabe1.entry.js → p-4f06e44f.entry.js} +1 -1
- package/dist/ionic/{p-8642d042.system.entry.js → p-523ef897.system.entry.js} +1 -1
- package/dist/ionic/{p-376a6063.js → p-56ee6d9a.js} +1 -1
- package/dist/ionic/{p-6ecc011b.system.js → p-5c9652a6.system.js} +1 -1
- package/dist/ionic/{p-7e732640.entry.js → p-5ca6b52b.entry.js} +1 -1
- package/dist/ionic/p-5fc8d5ef.system.js +4 -0
- package/dist/ionic/p-62b7320a.system.js +4 -0
- package/dist/ionic/{p-2f7c7dc9.entry.js → p-639cc7d8.entry.js} +1 -1
- package/dist/ionic/p-6444cade.system.js +4 -0
- package/dist/ionic/p-6482ab9e.entry.js +4 -0
- package/dist/ionic/{p-41dc24d3.system.entry.js → p-6495a18f.system.entry.js} +1 -1
- package/dist/ionic/{p-70684fef.system.entry.js → p-64ab9cd1.system.entry.js} +1 -1
- package/dist/ionic/{p-0c813cbf.system.entry.js → p-67f8a403.system.entry.js} +2 -2
- package/dist/ionic/p-6afef6c1.system.js +4 -0
- package/dist/ionic/p-6c6144c7.system.entry.js +4 -0
- package/dist/ionic/{p-03f18e57.system.entry.js → p-6d62875f.system.entry.js} +1 -1
- package/dist/ionic/{p-7288124a.entry.js → p-740f9972.entry.js} +1 -1
- package/dist/ionic/{p-42f11f58.system.entry.js → p-741f045a.system.entry.js} +1 -1
- package/dist/ionic/p-74fa0a29.system.js +4 -0
- package/dist/ionic/{p-805a910b.entry.js → p-7582a199.entry.js} +1 -1
- package/dist/ionic/{p-ee463529.system.entry.js → p-75b2a402.system.entry.js} +1 -1
- package/dist/ionic/{p-4180a747.js → p-779aede8.js} +1 -1
- package/dist/ionic/{p-81b652ad.entry.js → p-7c31e803.entry.js} +1 -1
- package/dist/ionic/{p-c44eadec.entry.js → p-7d3b78b1.entry.js} +1 -1
- package/dist/ionic/{p-76d39342.js → p-7e18aa63.js} +1 -1
- package/dist/ionic/{p-42b4b9a2.system.entry.js → p-7e2dbaa5.system.entry.js} +1 -1
- package/dist/ionic/{p-ba0dc6b0.system.entry.js → p-7e6e6fb1.system.entry.js} +1 -1
- package/dist/ionic/{p-0f96cac5.entry.js → p-7eface64.entry.js} +1 -1
- package/dist/ionic/{p-18d1b47e.system.entry.js → p-8350ad89.system.entry.js} +1 -1
- package/dist/ionic/p-839ea604.js +4 -0
- package/dist/ionic/{p-4d82a816.system.entry.js → p-87994b6c.system.entry.js} +1 -1
- package/dist/ionic/{p-364a12ca.system.entry.js → p-87a704aa.system.entry.js} +1 -1
- package/dist/ionic/{p-0d3e389b.entry.js → p-88a8a783.entry.js} +1 -1
- package/dist/ionic/{p-a072a420.system.entry.js → p-8af431e6.system.entry.js} +1 -1
- package/dist/ionic/{p-3b2ecb7e.entry.js → p-8e9c61d0.entry.js} +1 -1
- package/dist/ionic/{p-dbb9820e.entry.js → p-9353bb82.entry.js} +1 -1
- package/dist/ionic/{p-0d197ad6.entry.js → p-93c936f1.entry.js} +1 -1
- package/dist/ionic/{p-29d03b3a.js → p-942a9358.js} +1 -1
- package/dist/ionic/{p-725b4e67.system.js → p-97ca0cb9.system.js} +1 -1
- package/dist/ionic/p-987a8848.js +4 -0
- package/dist/ionic/{p-2b0a2dac.system.entry.js → p-988c8cc8.system.entry.js} +1 -1
- package/dist/ionic/{p-36d187af.js → p-a1036ce7.js} +1 -1
- package/dist/ionic/{p-d5824344.system.entry.js → p-a11f7f68.system.entry.js} +1 -1
- package/dist/ionic/{p-68a1c901.system.entry.js → p-a2dcf935.system.entry.js} +1 -1
- package/dist/ionic/{p-b60b708c.entry.js → p-a4dd6789.entry.js} +1 -1
- package/dist/ionic/{p-bf7f57a7.system.entry.js → p-a6500b62.system.entry.js} +1 -1
- package/dist/ionic/p-a9e22fd4.entry.js +4 -0
- package/dist/ionic/{p-7b8a53a4.system.entry.js → p-b07ed639.system.entry.js} +1 -1
- package/dist/ionic/{p-f57f1a9c.system.entry.js → p-b0b8aa0e.system.entry.js} +1 -1
- package/dist/ionic/p-b15d9cca.system.js +4 -0
- package/dist/ionic/{p-c191ba05.system.entry.js → p-b4b3edb9.system.entry.js} +1 -1
- package/dist/ionic/{p-cabad15b.system.js → p-bd313b73.system.js} +1 -1
- package/dist/ionic/{p-f20da312.entry.js → p-c0f97d6b.entry.js} +1 -1
- package/dist/ionic/{p-82e8d988.entry.js → p-c6d71a70.entry.js} +1 -1
- package/dist/ionic/{p-5d843dac.system.entry.js → p-c8f24496.system.entry.js} +1 -1
- package/dist/ionic/p-ca339e31.system.entry.js +4 -0
- package/dist/ionic/{p-99fe3df1.system.entry.js → p-cac274ca.system.entry.js} +1 -1
- package/dist/ionic/p-cfb4d7e0.js +4 -0
- package/dist/ionic/{p-195c7203.system.js → p-d29aecf3.system.js} +1 -1
- package/dist/ionic/{p-64520a48.system.entry.js → p-d55376f1.system.entry.js} +1 -1
- package/dist/ionic/{p-4a1eb087.entry.js → p-d5f78403.entry.js} +1 -1
- package/dist/ionic/p-de08fe7d.entry.js +4 -0
- package/dist/ionic/{p-a6f57a98.entry.js → p-e25ee695.entry.js} +1 -1
- package/dist/ionic/{p-ac19cc2f.system.entry.js → p-e2b646df.system.entry.js} +1 -1
- package/dist/ionic/{p-b6e3c96d.system.entry.js → p-e6aaff14.system.entry.js} +1 -1
- package/dist/ionic/{p-ca975c93.entry.js → p-e9af70cf.entry.js} +1 -1
- package/dist/ionic/{p-a5954d3d.entry.js → p-ea737614.entry.js} +1 -1
- package/dist/ionic/p-ebc1ca90.system.js +4 -0
- package/dist/ionic/{p-487be9e8.system.js → p-ebc6334b.system.js} +1 -1
- package/dist/ionic/{p-2a098168.entry.js → p-ef609b5e.entry.js} +1 -1
- package/dist/ionic/{p-fac5d418.entry.js → p-f37c8bdb.entry.js} +1 -1
- package/dist/ionic/p-f46775e4.entry.js +4 -0
- package/dist/ionic/{p-57cce147.system.entry.js → p-f536a27f.system.entry.js} +1 -1
- package/dist/ionic/p-f7f98c4d.entry.js +4 -0
- package/dist/ionic/{p-3e273305.system.entry.js → p-fad80acc.system.entry.js} +1 -1
- package/dist/ionic/p-fbd01db3.system.js +4 -0
- package/dist/ionic/{p-765b4f12.system.entry.js → p-fc34f652.system.entry.js} +1 -1
- package/dist/ionic/{p-38f2c6bb.system.js → p-fe320051.system.js} +1 -1
- 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/dist/types/utils/helpers.d.ts +1 -1
- package/dist/types/utils/overlays.d.ts +5 -0
- package/hydrate/index.js +125 -51
- package/package.json +2 -2
- package/dist/esm-es5/hardware-back-button-b2bc76db.js +0 -4
- package/dist/esm-es5/helpers-ae653409.js +0 -4
- package/dist/esm-es5/md.transition-498898ac.js +0 -4
- package/dist/esm-es5/overlays-4bb86b9c.js +0 -4
- package/dist/esm-es5/swipe-back-a6f386fc.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-6a6477b2.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-7798c78a.system.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-88d5fbd3.js +0 -4
- package/dist/ionic/p-8bd50516.js +0 -4
- package/dist/ionic/p-a9cff22f.entry.js +0 -4
- package/dist/ionic/p-b3bf4958.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
|
@@ -34,7 +34,7 @@ const transitionEnd = (el, expectedDuration = 0, callback) => {
|
|
|
34
34
|
el.addEventListener('transitionend', onTransitionEnd, opts);
|
|
35
35
|
animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT);
|
|
36
36
|
unRegTrans = () => {
|
|
37
|
-
if (animationTimeout) {
|
|
37
|
+
if (animationTimeout !== undefined) {
|
|
38
38
|
clearTimeout(animationTimeout);
|
|
39
39
|
animationTimeout = undefined;
|
|
40
40
|
}
|
|
@@ -237,7 +237,7 @@ export const findItemLabel = (componentEl) => {
|
|
|
237
237
|
}
|
|
238
238
|
return null;
|
|
239
239
|
};
|
|
240
|
-
export const
|
|
240
|
+
export const focusVisibleElement = (el) => {
|
|
241
241
|
el.focus();
|
|
242
242
|
/**
|
|
243
243
|
* When programmatically focusing an element,
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { doc } from "./browser/index";
|
|
5
|
+
import { shoudUseCloseWatcher } from "./hardware-back-button";
|
|
5
6
|
import { config } from "../global/config";
|
|
6
7
|
import { getIonMode } from "../global/ionic-global";
|
|
7
8
|
import { CoreDelegate } from "./framework-delegate";
|
|
8
9
|
import { OVERLAY_BACK_BUTTON_PRIORITY } from "./hardware-back-button";
|
|
9
|
-
import { addEventListener, componentOnReady,
|
|
10
|
+
import { addEventListener, componentOnReady, focusVisibleElement, getElementRoot, removeEventListener, } from "./helpers";
|
|
10
11
|
import { printIonWarning } from "./logging";
|
|
11
12
|
let lastOverlayIndex = 0;
|
|
12
13
|
let lastId = 0;
|
|
@@ -98,32 +99,48 @@ export const createOverlay = (tagName, opts) => {
|
|
|
98
99
|
* valid usage for the disabled property on ion-button.
|
|
99
100
|
*/
|
|
100
101
|
const 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])';
|
|
102
|
+
const isOverlayHidden = (overlay) => overlay.classList.contains('overlay-hidden');
|
|
103
|
+
/**
|
|
104
|
+
* Focuses the first descendant in an overlay
|
|
105
|
+
* that can receive focus. If none exists,
|
|
106
|
+
* the entire overlay will be focused.
|
|
107
|
+
*/
|
|
101
108
|
export const focusFirstDescendant = (ref, overlay) => {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if (shadowRoot) {
|
|
105
|
-
// If there are no inner focusable elements, just focus the host element.
|
|
106
|
-
firstInput = shadowRoot.querySelector(focusableQueryString) || firstInput;
|
|
107
|
-
}
|
|
108
|
-
if (firstInput) {
|
|
109
|
-
focusElement(firstInput);
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
// Focus overlay instead of letting focus escape
|
|
113
|
-
overlay.focus();
|
|
114
|
-
}
|
|
109
|
+
const firstInput = ref.querySelector(focusableQueryString);
|
|
110
|
+
focusElementInOverlay(firstInput, overlay);
|
|
115
111
|
};
|
|
116
|
-
|
|
112
|
+
/**
|
|
113
|
+
* Focuses the last descendant in an overlay
|
|
114
|
+
* that can receive focus. If none exists,
|
|
115
|
+
* the entire overlay will be focused.
|
|
116
|
+
*/
|
|
117
117
|
const focusLastDescendant = (ref, overlay) => {
|
|
118
118
|
const inputs = Array.from(ref.querySelectorAll(focusableQueryString));
|
|
119
|
-
|
|
120
|
-
|
|
119
|
+
const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
|
|
120
|
+
focusElementInOverlay(lastInput, overlay);
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Focuses a particular element in an overlay. If the element
|
|
124
|
+
* doesn't have anything focusable associated with it then
|
|
125
|
+
* the overlay itself will be focused.
|
|
126
|
+
* This should be used instead of the focus() method
|
|
127
|
+
* on most elements because the focusable element
|
|
128
|
+
* may not be the host element.
|
|
129
|
+
*
|
|
130
|
+
* For example, if an ion-button should be focused
|
|
131
|
+
* then we should actually focus the native <button>
|
|
132
|
+
* element inside of ion-button's shadow root, not
|
|
133
|
+
* the host element itself.
|
|
134
|
+
*/
|
|
135
|
+
const focusElementInOverlay = (hostToFocus, overlay) => {
|
|
136
|
+
let elementToFocus = hostToFocus;
|
|
137
|
+
const shadowRoot = hostToFocus === null || hostToFocus === void 0 ? void 0 : hostToFocus.shadowRoot;
|
|
121
138
|
if (shadowRoot) {
|
|
122
139
|
// If there are no inner focusable elements, just focus the host element.
|
|
123
|
-
|
|
140
|
+
elementToFocus = shadowRoot.querySelector(focusableQueryString) || hostToFocus;
|
|
124
141
|
}
|
|
125
|
-
if (
|
|
126
|
-
|
|
142
|
+
if (elementToFocus) {
|
|
143
|
+
focusVisibleElement(elementToFocus);
|
|
127
144
|
}
|
|
128
145
|
else {
|
|
129
146
|
// Focus overlay instead of letting focus escape
|
|
@@ -205,6 +222,21 @@ const trapKeyboardFocus = (ev, doc) => {
|
|
|
205
222
|
*/
|
|
206
223
|
if (overlayWrapper.contains(target) || target === overlayRoot.querySelector('ion-backdrop')) {
|
|
207
224
|
lastOverlay.lastFocus = target;
|
|
225
|
+
/**
|
|
226
|
+
* Toasts can be presented from an overlay.
|
|
227
|
+
* However, focus should still be returned to
|
|
228
|
+
* the overlay when clicking a toast. Normally,
|
|
229
|
+
* focus would be returned to the last focusable
|
|
230
|
+
* descendant in the overlay which may not always be
|
|
231
|
+
* the button that the toast was presented from. In this case,
|
|
232
|
+
* the focus may be returned to an unexpected element.
|
|
233
|
+
* To account for this, we make sure to return focus to the
|
|
234
|
+
* last focused element in the overlay if focus is
|
|
235
|
+
* moved to the toast.
|
|
236
|
+
*/
|
|
237
|
+
}
|
|
238
|
+
else if (target.tagName === 'ION-TOAST') {
|
|
239
|
+
focusElementInOverlay(lastOverlay.lastFocus, lastOverlay);
|
|
208
240
|
}
|
|
209
241
|
else {
|
|
210
242
|
/**
|
|
@@ -245,6 +277,21 @@ const trapKeyboardFocus = (ev, doc) => {
|
|
|
245
277
|
*/
|
|
246
278
|
if (lastOverlay.contains(target)) {
|
|
247
279
|
lastOverlay.lastFocus = target;
|
|
280
|
+
/**
|
|
281
|
+
* Toasts can be presented from an overlay.
|
|
282
|
+
* However, focus should still be returned to
|
|
283
|
+
* the overlay when clicking a toast. Normally,
|
|
284
|
+
* focus would be returned to the last focusable
|
|
285
|
+
* descendant in the overlay which may not always be
|
|
286
|
+
* the button that the toast was presented from. In this case,
|
|
287
|
+
* the focus may be returned to an unexpected element.
|
|
288
|
+
* To account for this, we make sure to return focus to the
|
|
289
|
+
* last focused element in the overlay if focus is
|
|
290
|
+
* moved to the toast.
|
|
291
|
+
*/
|
|
292
|
+
}
|
|
293
|
+
else if (target.tagName === 'ION-TOAST') {
|
|
294
|
+
focusElementInOverlay(lastOverlay.lastFocus, lastOverlay);
|
|
248
295
|
}
|
|
249
296
|
else {
|
|
250
297
|
/**
|
|
@@ -273,6 +320,7 @@ const trapKeyboardFocus = (ev, doc) => {
|
|
|
273
320
|
* last focus to equal the active element.
|
|
274
321
|
*/
|
|
275
322
|
if (lastFocus === doc.activeElement) {
|
|
323
|
+
console.log('LAST FOCUS');
|
|
276
324
|
focusLastDescendant(lastOverlay, lastOverlay);
|
|
277
325
|
}
|
|
278
326
|
lastOverlay.lastFocus = doc.activeElement;
|
|
@@ -296,19 +344,38 @@ const connectListeners = (doc) => {
|
|
|
296
344
|
const lastOverlay = getPresentedOverlay(doc);
|
|
297
345
|
if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
|
|
298
346
|
ev.detail.register(OVERLAY_BACK_BUTTON_PRIORITY, () => {
|
|
299
|
-
|
|
347
|
+
/**
|
|
348
|
+
* Do not return this promise otherwise
|
|
349
|
+
* the hardware back button utility will
|
|
350
|
+
* be blocked until the overlay dismisses.
|
|
351
|
+
* This is important for a modal with canDismiss.
|
|
352
|
+
* If the application presents a confirmation alert
|
|
353
|
+
* in the "canDismiss" callback, then it will be impossible
|
|
354
|
+
* to use the hardware back button to dismiss the alert
|
|
355
|
+
* dialog because the hardware back button utility
|
|
356
|
+
* is blocked on waiting for the modal to dismiss.
|
|
357
|
+
*/
|
|
358
|
+
lastOverlay.dismiss(undefined, BACKDROP);
|
|
300
359
|
});
|
|
301
360
|
}
|
|
302
361
|
});
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
362
|
+
/**
|
|
363
|
+
* Handle ESC to close overlay.
|
|
364
|
+
* CloseWatcher also handles pressing the Esc
|
|
365
|
+
* key, so if a browser supports CloseWatcher then
|
|
366
|
+
* this behavior will be handled via the ionBackButton
|
|
367
|
+
* event.
|
|
368
|
+
*/
|
|
369
|
+
if (!shoudUseCloseWatcher()) {
|
|
370
|
+
doc.addEventListener('keydown', (ev) => {
|
|
371
|
+
if (ev.key === 'Escape') {
|
|
372
|
+
const lastOverlay = getPresentedOverlay(doc);
|
|
373
|
+
if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
|
|
374
|
+
lastOverlay.dismiss(undefined, BACKDROP);
|
|
375
|
+
}
|
|
309
376
|
}
|
|
310
|
-
}
|
|
311
|
-
}
|
|
377
|
+
});
|
|
378
|
+
}
|
|
312
379
|
}
|
|
313
380
|
};
|
|
314
381
|
export const dismissOverlay = (doc, data, role, overlayTag, id) => {
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { startHardwareBackButton } from "../hardware-back-button";
|
|
5
|
+
import { config } from "../../global/config";
|
|
6
|
+
import { win } from "../browser/index";
|
|
5
7
|
describe('Hardware Back Button', () => {
|
|
6
8
|
beforeEach(() => startHardwareBackButton());
|
|
7
9
|
it('should call handler', () => {
|
|
@@ -47,6 +49,42 @@ describe('Hardware Back Button', () => {
|
|
|
47
49
|
expect(cbSpyTwo).toHaveBeenCalled();
|
|
48
50
|
});
|
|
49
51
|
});
|
|
52
|
+
describe('Experimental Close Watcher', () => {
|
|
53
|
+
test('should not use the Close Watcher API when available', () => {
|
|
54
|
+
const mockAPI = mockCloseWatcher();
|
|
55
|
+
config.reset({ experimentalCloseWatcher: false });
|
|
56
|
+
startHardwareBackButton();
|
|
57
|
+
expect(mockAPI.mock.calls).toHaveLength(0);
|
|
58
|
+
});
|
|
59
|
+
test('should use the Close Watcher API when available', () => {
|
|
60
|
+
const mockAPI = mockCloseWatcher();
|
|
61
|
+
config.reset({ experimentalCloseWatcher: true });
|
|
62
|
+
startHardwareBackButton();
|
|
63
|
+
expect(mockAPI.mock.calls).toHaveLength(1);
|
|
64
|
+
});
|
|
65
|
+
test('Close Watcher should dispatch ionBackButton events', () => {
|
|
66
|
+
const mockAPI = mockCloseWatcher();
|
|
67
|
+
config.reset({ experimentalCloseWatcher: true });
|
|
68
|
+
startHardwareBackButton();
|
|
69
|
+
const cbSpy = jest.fn();
|
|
70
|
+
document.addEventListener('ionBackButton', cbSpy);
|
|
71
|
+
// Call onclose on Ionic's instance of CloseWatcher
|
|
72
|
+
mockAPI.getMockImplementation()().onclose();
|
|
73
|
+
expect(cbSpy).toHaveBeenCalled();
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
const mockCloseWatcher = () => {
|
|
77
|
+
const mockCloseWatcher = jest.fn();
|
|
78
|
+
mockCloseWatcher.mockReturnValue({
|
|
79
|
+
requestClose: () => null,
|
|
80
|
+
close: () => null,
|
|
81
|
+
destroy: () => null,
|
|
82
|
+
oncancel: () => null,
|
|
83
|
+
onclose: () => null,
|
|
84
|
+
});
|
|
85
|
+
win.CloseWatcher = mockCloseWatcher;
|
|
86
|
+
return mockCloseWatcher;
|
|
87
|
+
};
|
|
50
88
|
const dispatchBackButtonEvent = () => {
|
|
51
89
|
const ev = new Event('backbutton');
|
|
52
90
|
document.dispatchEvent(ev);
|
package/dist/docs.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2024-01-
|
|
2
|
+
"timestamp": "2024-01-31T21:31:25",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
5
|
"version": "4.12.0",
|
|
@@ -14568,11 +14568,6 @@
|
|
|
14568
14568
|
"event": "click",
|
|
14569
14569
|
"capture": true,
|
|
14570
14570
|
"passive": false
|
|
14571
|
-
},
|
|
14572
|
-
{
|
|
14573
|
-
"event": "keydown",
|
|
14574
|
-
"capture": false,
|
|
14575
|
-
"passive": false
|
|
14576
14571
|
}
|
|
14577
14572
|
],
|
|
14578
14573
|
"styles": [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { h as findItemLabel } from './helpers-
|
|
4
|
+
import { h as findItemLabel } from './helpers-be245865.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Creates a controller that tracks whether a form control is using the legacy or modern syntax. This should be removed when the legacy form control syntax is removed.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { c as componentOnReady } from './helpers-
|
|
4
|
+
import { c as componentOnReady } from './helpers-be245865.js';
|
|
5
5
|
|
|
6
6
|
// TODO(FW-2832): types
|
|
7
7
|
const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
|
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import { w as win } from './index-a5d50daf.js';
|
|
5
|
+
import { c as config } from './ionic-global-778b7863.js';
|
|
6
|
+
import './index-73881b51.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* CloseWatcher is a newer API that lets
|
|
10
|
+
* use detect the hardware back button event
|
|
11
|
+
* in a web browser: https://caniuse.com/?search=closewatcher
|
|
12
|
+
* However, not every browser supports it yet.
|
|
13
|
+
*
|
|
14
|
+
* This needs to be a function so that we can
|
|
15
|
+
* check the config once it has been set.
|
|
16
|
+
* Otherwise, this code would be evaluated the
|
|
17
|
+
* moment this file is evaluated which could be
|
|
18
|
+
* before the config is set.
|
|
19
|
+
*/
|
|
20
|
+
const shoudUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
|
|
4
21
|
/**
|
|
5
22
|
* When hardwareBackButton: false in config,
|
|
6
23
|
* we need to make sure we also block the default
|
|
@@ -17,7 +34,7 @@ const blockHardwareBackButton = () => {
|
|
|
17
34
|
const startHardwareBackButton = () => {
|
|
18
35
|
const doc = document;
|
|
19
36
|
let busy = false;
|
|
20
|
-
|
|
37
|
+
const backButtonCallback = () => {
|
|
21
38
|
if (busy) {
|
|
22
39
|
return;
|
|
23
40
|
}
|
|
@@ -63,9 +80,37 @@ const startHardwareBackButton = () => {
|
|
|
63
80
|
}
|
|
64
81
|
};
|
|
65
82
|
processHandlers();
|
|
66
|
-
}
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* If the CloseWatcher is defined then
|
|
86
|
+
* we don't want to also listen for the native
|
|
87
|
+
* backbutton event otherwise we may get duplicate
|
|
88
|
+
* events firing.
|
|
89
|
+
*/
|
|
90
|
+
if (shoudUseCloseWatcher()) {
|
|
91
|
+
let watcher;
|
|
92
|
+
const configureWatcher = () => {
|
|
93
|
+
watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
|
|
94
|
+
watcher = new win.CloseWatcher();
|
|
95
|
+
/**
|
|
96
|
+
* Once a close request happens
|
|
97
|
+
* the watcher gets destroyed.
|
|
98
|
+
* As a result, we need to re-configure
|
|
99
|
+
* the watcher so we can respond to other
|
|
100
|
+
* close requests.
|
|
101
|
+
*/
|
|
102
|
+
watcher.onclose = () => {
|
|
103
|
+
backButtonCallback();
|
|
104
|
+
configureWatcher();
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
configureWatcher();
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
doc.addEventListener('backbutton', backButtonCallback);
|
|
111
|
+
}
|
|
67
112
|
};
|
|
68
113
|
const OVERLAY_BACK_BUTTON_PRIORITY = 100;
|
|
69
114
|
const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
|
|
70
115
|
|
|
71
|
-
export { MENU_BACK_BUTTON_PRIORITY, OVERLAY_BACK_BUTTON_PRIORITY, blockHardwareBackButton, startHardwareBackButton };
|
|
116
|
+
export { MENU_BACK_BUTTON_PRIORITY, OVERLAY_BACK_BUTTON_PRIORITY, blockHardwareBackButton, shoudUseCloseWatcher, startHardwareBackButton };
|
|
@@ -34,7 +34,7 @@ const transitionEnd = (el, expectedDuration = 0, callback) => {
|
|
|
34
34
|
el.addEventListener('transitionend', onTransitionEnd, opts);
|
|
35
35
|
animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT);
|
|
36
36
|
unRegTrans = () => {
|
|
37
|
-
if (animationTimeout) {
|
|
37
|
+
if (animationTimeout !== undefined) {
|
|
38
38
|
clearTimeout(animationTimeout);
|
|
39
39
|
animationTimeout = undefined;
|
|
40
40
|
}
|
|
@@ -237,7 +237,7 @@ const findItemLabel = (componentEl) => {
|
|
|
237
237
|
}
|
|
238
238
|
return null;
|
|
239
239
|
};
|
|
240
|
-
const
|
|
240
|
+
const focusVisibleElement = (el) => {
|
|
241
241
|
el.focus();
|
|
242
242
|
/**
|
|
243
243
|
* When programmatically focusing an element,
|
|
@@ -415,4 +415,4 @@ const shallowEqualStringMap = (map1, map2) => {
|
|
|
415
415
|
return true;
|
|
416
416
|
};
|
|
417
417
|
|
|
418
|
-
export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, getAriaLabel as e,
|
|
418
|
+
export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, getAriaLabel as e, focusVisibleElement 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 };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { d as doc } from './index-a5d50daf.js';
|
|
5
|
-
import { u as now, v as pointerCoord } from './helpers-
|
|
5
|
+
import { u as now, v as pointerCoord } from './helpers-be245865.js';
|
|
6
6
|
|
|
7
7
|
const startTapClick = (config) => {
|
|
8
8
|
if (doc === undefined) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { w as writeTask, B as Build } from './index-73881b51.js';
|
|
5
|
-
import { r as raf } from './helpers-
|
|
5
|
+
import { r as raf } from './helpers-be245865.js';
|
|
6
6
|
|
|
7
7
|
const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
|
|
8
8
|
const LIFECYCLE_DID_ENTER = 'ionViewDidEnter';
|
|
@@ -10,8 +10,8 @@ const LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';
|
|
|
10
10
|
const LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';
|
|
11
11
|
const LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';
|
|
12
12
|
|
|
13
|
-
const iosTransitionAnimation = () => import('./ios.transition-
|
|
14
|
-
const mdTransitionAnimation = () => import('./md.transition-
|
|
13
|
+
const iosTransitionAnimation = () => import('./ios.transition-46de8e98.js');
|
|
14
|
+
const mdTransitionAnimation = () => import('./md.transition-804d9596.js');
|
|
15
15
|
// TODO(FW-2832): types
|
|
16
16
|
const transition = (opts) => {
|
|
17
17
|
return new Promise((resolve, reject) => {
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { d as doc } from './index-a5d50daf.js';
|
|
5
|
-
import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-
|
|
5
|
+
import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-f42b9c80.js';
|
|
6
6
|
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
7
|
-
import { c as componentOnReady } from './helpers-
|
|
7
|
+
import { c as componentOnReady } from './helpers-be245865.js';
|
|
8
8
|
import { b as getIonMode } from './ionic-global-778b7863.js';
|
|
9
|
-
import { c as createAnimation } from './animation-
|
|
9
|
+
import { c as createAnimation } from './animation-6a0c5338.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* baseAnimation
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { c as componentOnReady } from './helpers-
|
|
4
|
+
import { c as componentOnReady } from './helpers-be245865.js';
|
|
5
5
|
import { b as printRequiredElementError } from './index-9b0d46f4.js';
|
|
6
6
|
|
|
7
7
|
const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
export { c as createAnimation } from './animation-
|
|
5
|
-
export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-
|
|
6
|
-
export { iosTransitionAnimation } from './ios.transition-
|
|
7
|
-
export { mdTransitionAnimation } from './md.transition-
|
|
4
|
+
export { c as createAnimation } from './animation-6a0c5338.js';
|
|
5
|
+
export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-22b42a9f.js';
|
|
6
|
+
export { iosTransitionAnimation } from './ios.transition-46de8e98.js';
|
|
7
|
+
export { mdTransitionAnimation } from './md.transition-804d9596.js';
|
|
8
8
|
export { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
|
|
9
9
|
export { createGesture } from './index-2cf77112.js';
|
|
10
10
|
export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-778b7863.js';
|
|
11
|
-
export { c as componentOnReady } from './helpers-
|
|
11
|
+
export { c as componentOnReady } from './helpers-be245865.js';
|
|
12
12
|
export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-49c88215.js';
|
|
13
13
|
export { o as openURL } from './theme-01f3f29c.js';
|
|
14
|
-
export { m as menuController } from './index-
|
|
15
|
-
export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-
|
|
14
|
+
export { m as menuController } from './index-aa29e8bf.js';
|
|
15
|
+
export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-7199c581.js';
|
|
16
16
|
import './index-a5d50daf.js';
|
|
17
17
|
import './index-73881b51.js';
|
|
18
18
|
import './gesture-controller-1bf57181.js';
|
|
19
|
-
import './hardware-back-button-
|
|
19
|
+
import './hardware-back-button-f42b9c80.js';
|
|
20
20
|
import './index-9b0d46f4.js';
|
|
21
|
-
import './framework-delegate-
|
|
21
|
+
import './framework-delegate-ed4ba327.js';
|
|
22
22
|
|
|
23
23
|
const IonicSlides = (opts) => {
|
|
24
24
|
const { swiper, extendParams } = opts;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { w as win, d as doc } from './index-a5d50daf.js';
|
|
5
|
-
import { g as getScrollElement, c as scrollByPoint, f as findClosestIonContent } from './index-
|
|
6
|
-
import { a as addEventListener, b as removeEventListener, r as raf, c as componentOnReady } from './helpers-
|
|
5
|
+
import { g as getScrollElement, c as scrollByPoint, f as findClosestIonContent } from './index-f3946ac1.js';
|
|
6
|
+
import { a as addEventListener, b as removeEventListener, r as raf, c as componentOnReady } from './helpers-be245865.js';
|
|
7
7
|
import { a as KeyboardResize, K as Keyboard } from './keyboard-73175e24.js';
|
|
8
8
|
import './index-9b0d46f4.js';
|
|
9
9
|
import './capacitor-59395cbd.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { w as win } from './index-a5d50daf.js';
|
|
5
|
-
import { r as raf } from './helpers-
|
|
5
|
+
import { r as raf } from './helpers-be245865.js';
|
|
6
6
|
import { a as printIonError } from './index-9b0d46f4.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, h, H as Host, f as getElement, d as createEvent } from './index-73881b51.js';
|
|
5
|
-
import { r as raf, t as transitionEndAsync, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-
|
|
5
|
+
import { r as raf, t as transitionEndAsync, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-be245865.js';
|
|
6
6
|
import { l as chevronDown } from './index-f7dc70ba.js';
|
|
7
7
|
import { c as config, b as getIonMode } from './ionic-global-778b7863.js';
|
|
8
8
|
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
@@ -3,19 +3,19 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, e as readTask, h, H as Host, f as getElement } from './index-73881b51.js';
|
|
5
5
|
import { c as createButtonActiveGesture } from './button-active-4bee452c.js';
|
|
6
|
-
import { r as raf } from './helpers-
|
|
6
|
+
import { r as raf } from './helpers-be245865.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
8
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-
|
|
8
|
+
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-7199c581.js';
|
|
9
9
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
10
10
|
import { b as getIonMode } from './ionic-global-778b7863.js';
|
|
11
|
-
import { c as createAnimation } from './animation-
|
|
11
|
+
import { c as createAnimation } from './animation-6a0c5338.js';
|
|
12
12
|
import './haptic-554688a5.js';
|
|
13
13
|
import './capacitor-59395cbd.js';
|
|
14
14
|
import './index-a5d50daf.js';
|
|
15
15
|
import './index-2cf77112.js';
|
|
16
16
|
import './gesture-controller-1bf57181.js';
|
|
17
|
-
import './
|
|
18
|
-
import './
|
|
17
|
+
import './hardware-back-button-f42b9c80.js';
|
|
18
|
+
import './framework-delegate-ed4ba327.js';
|
|
19
19
|
import './index-9b0d46f4.js';
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
import { r as registerInstance, d as createEvent, i as forceUpdate, h, H as Host, f as getElement } from './index-73881b51.js';
|
|
5
5
|
import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-49c88215.js';
|
|
6
6
|
import { c as createButtonActiveGesture } from './button-active-4bee452c.js';
|
|
7
|
-
import { r as raf } from './helpers-
|
|
7
|
+
import { r as raf } from './helpers-be245865.js';
|
|
8
8
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
9
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-
|
|
9
|
+
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-7199c581.js';
|
|
10
10
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
11
11
|
import { c as config, b as getIonMode } from './ionic-global-778b7863.js';
|
|
12
|
-
import { c as createAnimation } from './animation-
|
|
12
|
+
import { c as createAnimation } from './animation-6a0c5338.js';
|
|
13
13
|
import './haptic-554688a5.js';
|
|
14
14
|
import './capacitor-59395cbd.js';
|
|
15
15
|
import './index-a5d50daf.js';
|
|
16
16
|
import './index-2cf77112.js';
|
|
17
17
|
import './gesture-controller-1bf57181.js';
|
|
18
|
-
import './
|
|
19
|
-
import './
|
|
18
|
+
import './hardware-back-button-f42b9c80.js';
|
|
19
|
+
import './framework-delegate-ed4ba327.js';
|
|
20
20
|
import './index-9b0d46f4.js';
|
|
21
21
|
|
|
22
22
|
/**
|