@ionic/core 8.4.4-dev.11738863153.1dafb0b9 → 8.4.4-nightly.20250131
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/checkbox.js +4 -6
- package/components/content.js +4 -4
- package/components/index6.js +3 -11
- package/components/ion-select.js +4 -6
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -2
- package/components/ion-toggle.js +4 -6
- package/components/modal.js +35 -259
- package/components/toolbar.js +2 -2
- package/css/core.css.map +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/dist/cjs/{data-108e531d.js → data-21dc0f81.js} +1 -1
- package/dist/cjs/{index-2a46a047.js → index-5915f9b3.js} +3 -11
- package/dist/cjs/{index-0d762bba.js → index-5b6a7459.js} +1 -1
- package/dist/cjs/{index-3652c918.js → index-8e789962.js} +1 -1
- package/dist/cjs/{index-e975c92b.js → index-f05acd21.js} +3 -3
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/{input-shims-cd05268a.js → input-shims-9e59ef62.js} +2 -4
- package/dist/cjs/{input.utils-ffb2f81b.js → input.utils-611cde0b.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +2 -2
- package/dist/cjs/ion-alert.cjs.entry.js +2 -2
- package/dist/cjs/ion-app_8.cjs.entry.js +11 -11
- package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-checkbox.cjs.entry.js +4 -5
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
- package/dist/cjs/ion-input.cjs.entry.js +2 -2
- package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +2 -2
- package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-modal.cjs.entry.js +39 -262
- package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +3 -3
- package/dist/cjs/ion-range.cjs.entry.js +2 -2
- package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-select-modal.cjs.entry.js +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +6 -7
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +2 -2
- package/dist/cjs/ion-toggle.cjs.entry.js +4 -5
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/{ios.transition-0e664e88.js → ios.transition-cf40433b.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-2e8aef2c.js → md.transition-ededf99f.js} +2 -2
- package/dist/cjs/{overlays-65fdaff6.js → overlays-aa669eb8.js} +1 -1
- package/dist/cjs/{status-tap-d74f1429.js → status-tap-37681226.js} +2 -3
- package/dist/collection/components/checkbox/checkbox.js +4 -23
- package/dist/collection/components/content/content.js +4 -4
- package/dist/collection/components/modal/animations/ios.enter.js +4 -50
- package/dist/collection/components/modal/animations/ios.leave.js +2 -24
- package/dist/collection/components/modal/animations/md.enter.js +5 -52
- package/dist/collection/components/modal/animations/md.leave.js +3 -26
- package/dist/collection/components/modal/animations/sheet.js +2 -11
- package/dist/collection/components/modal/gestures/sheet.js +10 -79
- package/dist/collection/components/modal/modal.ios.css +0 -16
- package/dist/collection/components/modal/modal.js +7 -32
- package/dist/collection/components/modal/modal.md.css +0 -6
- package/dist/collection/components/select/select.js +4 -23
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +1 -1
- package/dist/collection/components/tabs/tabs.js +1 -2
- package/dist/collection/components/toggle/toggle.js +4 -23
- package/dist/collection/components/toolbar/toolbar.js +2 -6
- package/dist/collection/utils/logging/index.js +3 -10
- package/dist/docs.json +2 -115
- package/dist/esm/{data-b3284b5e.js → data-ae11fd43.js} +1 -1
- package/dist/esm/{index-cb21eccb.js → index-24b48b06.js} +1 -1
- package/dist/esm/{index-2f7fde3d.js → index-3ad7f18b.js} +3 -3
- package/dist/esm/{index-efb8ecdf.js → index-5cc724f3.js} +1 -1
- package/dist/esm/{index-6ad967f3.js → index-9b0d46f4.js} +3 -11
- package/dist/esm/index.js +6 -6
- package/dist/esm/{input-shims-2fd7c6ef.js → input-shims-0314bbe5.js} +2 -4
- package/dist/esm/{input.utils-961c9f17.js → input.utils-09c71bc7.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +2 -2
- package/dist/esm/ion-alert.entry.js +2 -2
- package/dist/esm/ion-app_8.entry.js +11 -11
- package/dist/esm/ion-button_2.entry.js +1 -1
- package/dist/esm/ion-checkbox.entry.js +4 -5
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +3 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
- package/dist/esm/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm/ion-input.entry.js +2 -2
- package/dist/esm/ion-item-option_3.entry.js +2 -2
- package/dist/esm/ion-loading.entry.js +2 -2
- package/dist/esm/ion-menu_3.entry.js +3 -3
- package/dist/esm/ion-modal.entry.js +39 -262
- package/dist/esm/ion-nav_2.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +3 -3
- package/dist/esm/ion-range.entry.js +2 -2
- package/dist/esm/ion-refresher_2.entry.js +2 -2
- package/dist/esm/ion-reorder_2.entry.js +2 -2
- package/dist/esm/ion-select-modal.entry.js +2 -2
- package/dist/esm/ion-select_3.entry.js +6 -7
- package/dist/esm/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm/ion-tab_2.entry.js +3 -4
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +2 -2
- package/dist/esm/ion-toggle.entry.js +4 -5
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/{ios.transition-b1da3753.js → ios.transition-4ee1a3af.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-571b3859.js → md.transition-5106a0d2.js} +2 -2
- package/dist/esm/{overlays-5deab4de.js → overlays-e7b9d6d9.js} +1 -1
- package/dist/esm/{status-tap-79eac0ac.js → status-tap-f472b09f.js} +2 -3
- package/dist/esm-es5/{data-b3284b5e.js → data-ae11fd43.js} +1 -1
- package/dist/esm-es5/{index-cb21eccb.js → index-24b48b06.js} +1 -1
- package/dist/esm-es5/{index-2f7fde3d.js → index-3ad7f18b.js} +1 -1
- package/dist/esm-es5/{index-efb8ecdf.js → index-5cc724f3.js} +1 -1
- package/dist/esm-es5/index-9b0d46f4.js +4 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-0314bbe5.js +4 -0
- package/dist/esm-es5/{input.utils-961c9f17.js → input.utils-09c71bc7.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-button_2.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-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input-password-toggle.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-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-popover.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-select-modal.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.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-b1da3753.js → ios.transition-4ee1a3af.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{md.transition-571b3859.js → md.transition-5106a0d2.js} +1 -1
- package/dist/esm-es5/{overlays-5deab4de.js → overlays-e7b9d6d9.js} +1 -1
- package/dist/esm-es5/status-tap-f472b09f.js +4 -0
- package/dist/html.html-data.json +0 -16
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-0303d0f8.js +4 -0
- package/dist/ionic/{p-9343a445.js → p-06e58c4e.js} +1 -1
- package/dist/ionic/p-06fee233.js +4 -0
- package/dist/ionic/{p-ada36597.system.js → p-0aa833fb.system.js} +1 -1
- package/dist/ionic/{p-0eb35a7f.system.js → p-0c06e09b.system.js} +1 -1
- package/dist/ionic/{p-cba1f9bc.system.entry.js → p-1046866e.system.entry.js} +1 -1
- package/dist/ionic/{p-6dfb0f39.system.entry.js → p-12a722b8.system.entry.js} +1 -1
- package/dist/ionic/{p-a4a2420e.system.entry.js → p-14e159ea.system.entry.js} +1 -1
- package/dist/ionic/p-17474161.system.js +4 -0
- package/dist/ionic/p-19a5be0a.entry.js +4 -0
- package/dist/ionic/{p-fceec762.entry.js → p-19ec4f42.entry.js} +1 -1
- package/dist/ionic/{p-e09d6392.system.entry.js → p-1e010627.system.entry.js} +2 -2
- package/dist/ionic/{p-f1120724.system.entry.js → p-1fe02220.system.entry.js} +1 -1
- package/dist/ionic/p-2172893e.system.entry.js +4 -0
- package/dist/ionic/{p-0af823e1.js → p-21e5e7e4.js} +1 -1
- package/dist/ionic/p-2690b1de.js +4 -0
- package/dist/ionic/{p-9b122e3c.system.entry.js → p-2799c6d3.system.entry.js} +1 -1
- package/dist/ionic/p-2b9b78c7.entry.js +4 -0
- package/dist/ionic/{p-d6eaffb1.system.entry.js → p-2bd0ae94.system.entry.js} +1 -1
- package/dist/ionic/{p-8694928f.entry.js → p-2fc0dafe.entry.js} +1 -1
- package/dist/ionic/p-322c5fb4.system.js +1 -1
- package/dist/ionic/{p-6933c482.system.entry.js → p-32d44024.system.entry.js} +1 -1
- package/dist/ionic/{p-248318e0.system.entry.js → p-37cb43bd.system.entry.js} +1 -1
- package/dist/ionic/{p-9b428d25.entry.js → p-4439fc2a.entry.js} +1 -1
- package/dist/ionic/{p-948e6c6a.entry.js → p-45693d7e.entry.js} +1 -1
- package/dist/ionic/p-4ec778aa.entry.js +4 -0
- package/dist/ionic/{p-7a02f476.entry.js → p-508d024a.entry.js} +1 -1
- package/dist/ionic/{p-74e3f0af.system.entry.js → p-5823babc.system.entry.js} +2 -2
- package/dist/ionic/p-5ab1b709.entry.js +4 -0
- package/dist/ionic/{p-d22e2a38.system.js → p-5da94421.system.js} +1 -1
- package/dist/ionic/{p-f1060cd8.entry.js → p-61e3f887.entry.js} +1 -1
- package/dist/ionic/{p-05b74e45.system.entry.js → p-6499df44.system.entry.js} +1 -1
- package/dist/ionic/{p-585b455c.system.entry.js → p-66640ff7.system.entry.js} +1 -1
- package/dist/ionic/{p-8ac07653.system.entry.js → p-69666e8a.system.entry.js} +2 -2
- package/dist/ionic/{p-2da9c8a7.entry.js → p-6b280620.entry.js} +1 -1
- package/dist/ionic/{p-1199e388.system.entry.js → p-797eeea8.system.entry.js} +1 -1
- package/dist/ionic/{p-f1c4dcd4.js → p-88e63c7d.js} +1 -1
- package/dist/ionic/p-8b8be2fd.entry.js +4 -0
- package/dist/ionic/p-908d6080.entry.js +4 -0
- package/dist/ionic/{p-a8f2c254.entry.js → p-942b5e13.entry.js} +1 -1
- package/dist/ionic/{p-1ab13b2b.js → p-96cc4814.js} +1 -1
- package/dist/ionic/{p-f63c2d12.entry.js → p-982315a6.entry.js} +1 -1
- package/dist/ionic/p-98ff6b32.entry.js +4 -0
- package/dist/ionic/{p-61db139d.entry.js → p-9e33104d.entry.js} +1 -1
- package/dist/ionic/{p-a88dec0d.system.js → p-9ea607bd.system.js} +2 -2
- package/dist/ionic/{p-5c9eb9af.entry.js → p-9ee1e8a6.entry.js} +1 -1
- package/dist/ionic/{p-b1eb86fd.entry.js → p-9fa07aec.entry.js} +1 -1
- package/dist/ionic/{p-e76dae93.entry.js → p-a43467d8.entry.js} +1 -1
- package/dist/ionic/{p-b3c60433.system.js → p-a4565eb5.system.js} +1 -1
- package/dist/ionic/{p-ab674093.system.entry.js → p-a49378bb.system.entry.js} +1 -1
- package/dist/ionic/{p-92763d3d.entry.js → p-a61cba41.entry.js} +1 -1
- package/dist/ionic/{p-9f364443.system.entry.js → p-b2272f51.system.entry.js} +1 -1
- package/dist/ionic/{p-302b50bb.system.entry.js → p-b335ffed.system.entry.js} +1 -1
- package/dist/ionic/{p-eef505e8.entry.js → p-b79ba17c.entry.js} +1 -1
- package/dist/ionic/{p-cb13696c.js → p-b82d4cab.js} +1 -1
- package/dist/ionic/{p-744c8672.system.entry.js → p-bc36ad98.system.entry.js} +1 -1
- package/dist/ionic/{p-8cfba7e9.system.entry.js → p-c29f8157.system.entry.js} +1 -1
- package/dist/ionic/{p-5c08627a.system.js → p-c449820c.system.js} +1 -1
- package/dist/ionic/{p-120fb79a.entry.js → p-c9f3a539.entry.js} +1 -1
- package/dist/ionic/{p-a090bce8.system.entry.js → p-ca065903.system.entry.js} +1 -1
- package/dist/ionic/{p-933727f9.system.entry.js → p-d18ab582.system.entry.js} +1 -1
- package/dist/ionic/{p-1a5bc5f7.js → p-d60342e3.js} +1 -1
- package/dist/ionic/{p-b6efeab8.js → p-d6841eac.js} +1 -1
- package/dist/ionic/{p-89bf08c7.entry.js → p-da074ff7.entry.js} +1 -1
- package/dist/ionic/p-ddaa748a.system.entry.js +4 -0
- package/dist/ionic/p-dfb78785.system.js +4 -0
- package/dist/ionic/{p-fbd41a7e.system.entry.js → p-e4f69534.system.entry.js} +1 -1
- package/dist/ionic/{p-15d18206.entry.js → p-e563a35c.entry.js} +1 -1
- package/dist/ionic/{p-28706c6f.js → p-e6635685.js} +1 -1
- package/dist/ionic/{p-7de1e42c.system.js → p-e7ed4a7f.system.js} +1 -1
- package/dist/ionic/p-e85d901b.system.entry.js +4 -0
- package/dist/ionic/p-eba29931.entry.js +4 -0
- package/dist/ionic/{p-bdf2cb2e.system.entry.js → p-ebf042e0.system.entry.js} +1 -1
- package/dist/ionic/{p-7a6eaf9e.entry.js → p-efaffe74.entry.js} +1 -1
- package/dist/ionic/{p-2346ab53.system.entry.js → p-f1acf541.system.entry.js} +1 -1
- package/dist/ionic/{p-343b6b1d.system.js → p-f687573e.system.js} +1 -1
- package/dist/ionic/{p-c4238c12.system.js → p-f9a53abb.system.js} +1 -1
- package/dist/ionic/p-ff4b7e40.system.js +4 -0
- package/dist/types/components/checkbox/checkbox.d.ts +0 -6
- package/dist/types/components/modal/animations/sheet.d.ts +0 -1
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +0 -1
- package/dist/types/components/modal/modal.d.ts +0 -11
- package/dist/types/components/select/select.d.ts +0 -6
- package/dist/types/components/toggle/toggle.d.ts +0 -6
- package/dist/types/components/toolbar/toolbar.d.ts +0 -4
- package/dist/types/components.d.ts +0 -32
- package/dist/types/utils/config.d.ts +0 -9
- package/dist/types/utils/logging/index.d.ts +1 -13
- package/hydrate/index.js +60 -301
- package/hydrate/index.mjs +60 -301
- package/package.json +1 -1
- package/dist/esm-es5/index-6ad967f3.js +0 -4
- package/dist/esm-es5/input-shims-2fd7c6ef.js +0 -4
- package/dist/esm-es5/status-tap-79eac0ac.js +0 -4
- package/dist/ionic/p-0430c2e0.entry.js +0 -4
- package/dist/ionic/p-126be614.system.entry.js +0 -4
- package/dist/ionic/p-4c98e2cf.system.js +0 -4
- package/dist/ionic/p-577bc414.entry.js +0 -4
- package/dist/ionic/p-67222c16.system.js +0 -4
- package/dist/ionic/p-6c95736e.entry.js +0 -4
- package/dist/ionic/p-722ec9c7.entry.js +0 -4
- package/dist/ionic/p-7513b0c4.js +0 -4
- package/dist/ionic/p-783411f1.entry.js +0 -4
- package/dist/ionic/p-98e41e4f.system.entry.js +0 -4
- package/dist/ionic/p-a3db8ee3.js +0 -4
- package/dist/ionic/p-d1c5b60e.system.js +0 -4
- package/dist/ionic/p-d57a57d6.entry.js +0 -4
- package/dist/ionic/p-d7dd8fb1.entry.js +0 -4
- package/dist/ionic/p-e3171ff3.entry.js +0 -4
- package/dist/ionic/p-e6376b93.system.entry.js +0 -4
- package/dist/ionic/p-e8d56122.js +0 -4
|
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, h, f as Host, i as getElement
|
|
|
5
5
|
import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-49c88215.js';
|
|
6
6
|
import { r as raf } from './helpers-da915de8.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
8
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-
|
|
8
|
+
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-e7b9d6d9.js';
|
|
9
9
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
10
10
|
import { c as config, b as getIonMode } from './ionic-global-c81d82ab.js';
|
|
11
11
|
import { c as createAnimation } from './animation-eab5a4ca.js';
|
|
@@ -13,7 +13,7 @@ import './index-a5d50daf.js';
|
|
|
13
13
|
import './hardware-back-button-06ef3c3e.js';
|
|
14
14
|
import './framework-delegate-63d1a679.js';
|
|
15
15
|
import './gesture-controller-314a54f6.js';
|
|
16
|
-
import './index-
|
|
16
|
+
import './index-9b0d46f4.js';
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* iOS Loading Enter Animation
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, h, f as Host, i as getElement } from './index-28849c61.js';
|
|
5
5
|
import { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
|
|
6
|
-
import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-
|
|
6
|
+
import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-e7b9d6d9.js';
|
|
7
7
|
import { G as GESTURE_CONTROLLER } from './gesture-controller-314a54f6.js';
|
|
8
8
|
import { shouldUseCloseWatcher } from './hardware-back-button-06ef3c3e.js';
|
|
9
9
|
import { n as isEndSide, i as inheritAriaAttributes, m as assert, j as clamp } from './helpers-da915de8.js';
|
|
10
|
-
import { m as menuController } from './index-
|
|
10
|
+
import { m as menuController } from './index-24b48b06.js';
|
|
11
11
|
import { c as config, b as getIonMode, a as isPlatform } from './ionic-global-c81d82ab.js';
|
|
12
12
|
import { h as hostContext, c as createColorClasses } from './theme-01f3f29c.js';
|
|
13
13
|
import { u as menuOutline, v as menuSharp } from './index-e2cf2ceb.js';
|
|
14
14
|
import './index-a5d50daf.js';
|
|
15
15
|
import './framework-delegate-63d1a679.js';
|
|
16
|
-
import './index-
|
|
16
|
+
import './index-9b0d46f4.js';
|
|
17
17
|
import './animation-eab5a4ca.js';
|
|
18
18
|
|
|
19
19
|
const menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, w as writeTask, h, f as Host, i as getElement } from './index-28849c61.js';
|
|
5
|
-
import { f as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, a as findIonContent, p as printIonContentErrorMsg } from './index-
|
|
5
|
+
import { f as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, a as findIonContent, p as printIonContentErrorMsg } from './index-5cc724f3.js';
|
|
6
6
|
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-63d1a679.js';
|
|
7
7
|
import { g as getElementRoot, j as clamp, r as raf, h as inheritAttributes, k as hasLazyBuild } from './helpers-da915de8.js';
|
|
8
8
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
9
|
-
import { p as printIonWarning } from './index-
|
|
9
|
+
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
10
10
|
import { g as getCapacitor } from './capacitor-59395cbd.js';
|
|
11
|
-
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-
|
|
11
|
+
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-e7b9d6d9.js';
|
|
12
12
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
13
|
-
import { e as deepReady, w as waitForMount } from './index-
|
|
13
|
+
import { e as deepReady, w as waitForMount } from './index-3ad7f18b.js';
|
|
14
14
|
import { b as getIonMode, c as config } from './ionic-global-c81d82ab.js';
|
|
15
15
|
import { KEYBOARD_DID_OPEN } from './keyboard-52278bd7.js';
|
|
16
16
|
import { c as createAnimation } from './animation-eab5a4ca.js';
|
|
@@ -502,7 +502,7 @@ const computeDuration = (remaining, velocity) => {
|
|
|
502
502
|
};
|
|
503
503
|
|
|
504
504
|
const createSheetEnterAnimation = (opts) => {
|
|
505
|
-
const { currentBreakpoint, backdropBreakpoint
|
|
505
|
+
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
506
506
|
/**
|
|
507
507
|
* If the backdropBreakpoint is undefined, then the backdrop
|
|
508
508
|
* should always fade in. If the backdropBreakpoint came before the
|
|
@@ -522,16 +522,7 @@ const createSheetEnterAnimation = (opts) => {
|
|
|
522
522
|
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
523
523
|
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
524
524
|
]);
|
|
525
|
-
|
|
526
|
-
* This allows the content to be scrollable at any breakpoint.
|
|
527
|
-
*/
|
|
528
|
-
const contentAnimation = !expandToScroll
|
|
529
|
-
? createAnimation('contentAnimation').keyframes([
|
|
530
|
-
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
531
|
-
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
532
|
-
])
|
|
533
|
-
: undefined;
|
|
534
|
-
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
525
|
+
return { wrapperAnimation, backdropAnimation };
|
|
535
526
|
};
|
|
536
527
|
const createSheetLeaveAnimation = (opts) => {
|
|
537
528
|
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
@@ -566,68 +557,22 @@ const createEnterAnimation$1 = () => {
|
|
|
566
557
|
})
|
|
567
558
|
.afterClearStyles(['pointer-events']);
|
|
568
559
|
const wrapperAnimation = createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
|
|
569
|
-
return { backdropAnimation, wrapperAnimation
|
|
560
|
+
return { backdropAnimation, wrapperAnimation };
|
|
570
561
|
};
|
|
571
562
|
/**
|
|
572
563
|
* iOS Modal Enter Animation for the Card presentation style
|
|
573
564
|
*/
|
|
574
565
|
const iosEnterAnimation = (baseEl, opts) => {
|
|
575
|
-
const { presentingEl, currentBreakpoint
|
|
566
|
+
const { presentingEl, currentBreakpoint } = opts;
|
|
576
567
|
const root = getElementRoot(baseEl);
|
|
577
|
-
const { wrapperAnimation, backdropAnimation
|
|
568
|
+
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
|
|
578
569
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
579
570
|
wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
|
|
580
|
-
// The content animation is only added if scrolling is enabled for
|
|
581
|
-
// all the breakpoints.
|
|
582
|
-
!expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
583
571
|
const baseAnimation = createAnimation('entering-base')
|
|
584
572
|
.addElement(baseEl)
|
|
585
573
|
.easing('cubic-bezier(0.32,0.72,0,1)')
|
|
586
574
|
.duration(500)
|
|
587
|
-
.addAnimation(
|
|
588
|
-
.beforeAddWrite(() => {
|
|
589
|
-
if (expandToScroll) {
|
|
590
|
-
// Scroll can only be done when the modal is fully expanded.
|
|
591
|
-
return;
|
|
592
|
-
}
|
|
593
|
-
/**
|
|
594
|
-
* There are some browsers that causes flickering when
|
|
595
|
-
* dragging the content when scroll is enabled at every
|
|
596
|
-
* breakpoint. This is due to the wrapper element being
|
|
597
|
-
* transformed off the screen and having a snap animation.
|
|
598
|
-
*
|
|
599
|
-
* A workaround is to clone the footer element and append
|
|
600
|
-
* it outside of the wrapper element. This way, the footer
|
|
601
|
-
* is still visible and the drag can be done without
|
|
602
|
-
* flickering. The original footer is hidden until the modal
|
|
603
|
-
* is dismissed. This maintains the animation of the footer
|
|
604
|
-
* when the modal is dismissed.
|
|
605
|
-
*
|
|
606
|
-
* The workaround needs to be done before the animation starts
|
|
607
|
-
* so there are no flickering issues.
|
|
608
|
-
*/
|
|
609
|
-
const ionFooter = baseEl.querySelector('ion-footer');
|
|
610
|
-
/**
|
|
611
|
-
* This check is needed to prevent more than one footer
|
|
612
|
-
* from being appended to the shadow root.
|
|
613
|
-
* Otherwise, iOS and MD enter animations would append
|
|
614
|
-
* the footer twice.
|
|
615
|
-
*/
|
|
616
|
-
const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
|
|
617
|
-
if (ionFooter && !ionFooterAlreadyAppended) {
|
|
618
|
-
const footerHeight = ionFooter.clientHeight;
|
|
619
|
-
const clonedFooter = ionFooter.cloneNode(true);
|
|
620
|
-
baseEl.shadowRoot.appendChild(clonedFooter);
|
|
621
|
-
ionFooter.style.setProperty('display', 'none');
|
|
622
|
-
ionFooter.setAttribute('aria-hidden', 'true');
|
|
623
|
-
// Padding is added to prevent some content from being hidden.
|
|
624
|
-
const page = baseEl.querySelector('.ion-page');
|
|
625
|
-
page.style.setProperty('padding-bottom', `${footerHeight}px`);
|
|
626
|
-
}
|
|
627
|
-
});
|
|
628
|
-
if (contentAnimation) {
|
|
629
|
-
baseAnimation.addAnimation(contentAnimation);
|
|
630
|
-
}
|
|
575
|
+
.addAnimation(wrapperAnimation);
|
|
631
576
|
if (presentingEl) {
|
|
632
577
|
const isMobile = window.innerWidth < 768;
|
|
633
578
|
const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
|
|
@@ -705,7 +650,7 @@ const createLeaveAnimation$1 = () => {
|
|
|
705
650
|
* iOS Modal Leave Animation
|
|
706
651
|
*/
|
|
707
652
|
const iosLeaveAnimation = (baseEl, opts, duration = 500) => {
|
|
708
|
-
const { presentingEl, currentBreakpoint
|
|
653
|
+
const { presentingEl, currentBreakpoint } = opts;
|
|
709
654
|
const root = getElementRoot(baseEl);
|
|
710
655
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
|
|
711
656
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
@@ -714,29 +659,7 @@ const iosLeaveAnimation = (baseEl, opts, duration = 500) => {
|
|
|
714
659
|
.addElement(baseEl)
|
|
715
660
|
.easing('cubic-bezier(0.32,0.72,0,1)')
|
|
716
661
|
.duration(duration)
|
|
717
|
-
.addAnimation(wrapperAnimation)
|
|
718
|
-
.beforeAddWrite(() => {
|
|
719
|
-
if (expandToScroll) {
|
|
720
|
-
// Scroll can only be done when the modal is fully expanded.
|
|
721
|
-
return;
|
|
722
|
-
}
|
|
723
|
-
/**
|
|
724
|
-
* If expandToScroll is disabled, we need to swap
|
|
725
|
-
* the visibility to the original, so the footer
|
|
726
|
-
* dismisses with the modal and doesn't stay
|
|
727
|
-
* until the modal is removed from the DOM.
|
|
728
|
-
*/
|
|
729
|
-
const ionFooter = baseEl.querySelector('ion-footer');
|
|
730
|
-
if (ionFooter) {
|
|
731
|
-
const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
|
|
732
|
-
ionFooter.style.removeProperty('display');
|
|
733
|
-
ionFooter.removeAttribute('aria-hidden');
|
|
734
|
-
clonedFooter.style.setProperty('display', 'none');
|
|
735
|
-
clonedFooter.setAttribute('aria-hidden', 'true');
|
|
736
|
-
const page = baseEl.querySelector('.ion-page');
|
|
737
|
-
page.style.removeProperty('padding-bottom');
|
|
738
|
-
}
|
|
739
|
-
});
|
|
662
|
+
.addAnimation(wrapperAnimation);
|
|
740
663
|
if (presentingEl) {
|
|
741
664
|
const isMobile = window.innerWidth < 768;
|
|
742
665
|
const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
|
|
@@ -814,69 +737,22 @@ const createEnterAnimation = () => {
|
|
|
814
737
|
{ offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
|
|
815
738
|
{ offset: 1, opacity: 1, transform: `translateY(0px)` },
|
|
816
739
|
]);
|
|
817
|
-
return { backdropAnimation, wrapperAnimation
|
|
740
|
+
return { backdropAnimation, wrapperAnimation };
|
|
818
741
|
};
|
|
819
742
|
/**
|
|
820
743
|
* Md Modal Enter Animation
|
|
821
744
|
*/
|
|
822
745
|
const mdEnterAnimation = (baseEl, opts) => {
|
|
823
|
-
const { currentBreakpoint
|
|
746
|
+
const { currentBreakpoint } = opts;
|
|
824
747
|
const root = getElementRoot(baseEl);
|
|
825
|
-
const { wrapperAnimation, backdropAnimation
|
|
748
|
+
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
|
|
826
749
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
827
750
|
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
828
|
-
|
|
829
|
-
// all the breakpoints.
|
|
830
|
-
expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
831
|
-
const baseAnimation = createAnimation()
|
|
751
|
+
return createAnimation()
|
|
832
752
|
.addElement(baseEl)
|
|
833
753
|
.easing('cubic-bezier(0.36,0.66,0.04,1)')
|
|
834
754
|
.duration(280)
|
|
835
|
-
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
836
|
-
.beforeAddWrite(() => {
|
|
837
|
-
if (expandToScroll) {
|
|
838
|
-
// Scroll can only be done when the modal is fully expanded.
|
|
839
|
-
return;
|
|
840
|
-
}
|
|
841
|
-
/**
|
|
842
|
-
* There are some browsers that causes flickering when
|
|
843
|
-
* dragging the content when scroll is enabled at every
|
|
844
|
-
* breakpoint. This is due to the wrapper element being
|
|
845
|
-
* transformed off the screen and having a snap animation.
|
|
846
|
-
*
|
|
847
|
-
* A workaround is to clone the footer element and append
|
|
848
|
-
* it outside of the wrapper element. This way, the footer
|
|
849
|
-
* is still visible and the drag can be done without
|
|
850
|
-
* flickering. The original footer is hidden until the modal
|
|
851
|
-
* is dismissed. This maintains the animation of the footer
|
|
852
|
-
* when the modal is dismissed.
|
|
853
|
-
*
|
|
854
|
-
* The workaround needs to be done before the animation starts
|
|
855
|
-
* so there are no flickering issues.
|
|
856
|
-
*/
|
|
857
|
-
const ionFooter = baseEl.querySelector('ion-footer');
|
|
858
|
-
/**
|
|
859
|
-
* This check is needed to prevent more than one footer
|
|
860
|
-
* from being appended to the shadow root.
|
|
861
|
-
* Otherwise, iOS and MD enter animations would append
|
|
862
|
-
* the footer twice.
|
|
863
|
-
*/
|
|
864
|
-
const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
|
|
865
|
-
if (ionFooter && !ionFooterAlreadyAppended) {
|
|
866
|
-
const footerHeight = ionFooter.clientHeight;
|
|
867
|
-
const clonedFooter = ionFooter.cloneNode(true);
|
|
868
|
-
baseEl.shadowRoot.appendChild(clonedFooter);
|
|
869
|
-
ionFooter.style.setProperty('display', 'none');
|
|
870
|
-
ionFooter.setAttribute('aria-hidden', 'true');
|
|
871
|
-
// Padding is added to prevent some content from being hidden.
|
|
872
|
-
const page = baseEl.querySelector('.ion-page');
|
|
873
|
-
page.style.setProperty('padding-bottom', `${footerHeight}px`);
|
|
874
|
-
}
|
|
875
|
-
});
|
|
876
|
-
if (contentAnimation) {
|
|
877
|
-
baseAnimation.addAnimation(contentAnimation);
|
|
878
|
-
}
|
|
879
|
-
return baseAnimation;
|
|
755
|
+
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
880
756
|
};
|
|
881
757
|
|
|
882
758
|
const createLeaveAnimation = () => {
|
|
@@ -891,41 +767,18 @@ const createLeaveAnimation = () => {
|
|
|
891
767
|
* Md Modal Leave Animation
|
|
892
768
|
*/
|
|
893
769
|
const mdLeaveAnimation = (baseEl, opts) => {
|
|
894
|
-
const { currentBreakpoint
|
|
770
|
+
const { currentBreakpoint } = opts;
|
|
895
771
|
const root = getElementRoot(baseEl);
|
|
896
772
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
|
|
897
773
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
898
774
|
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
899
|
-
|
|
775
|
+
return createAnimation()
|
|
900
776
|
.easing('cubic-bezier(0.47,0,0.745,0.715)')
|
|
901
777
|
.duration(200)
|
|
902
|
-
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
903
|
-
.beforeAddWrite(() => {
|
|
904
|
-
if (expandToScroll) {
|
|
905
|
-
// Scroll can only be done when the modal is fully expanded.
|
|
906
|
-
return;
|
|
907
|
-
}
|
|
908
|
-
/**
|
|
909
|
-
* If expandToScroll is disabled, we need to swap
|
|
910
|
-
* the visibility to the original, so the footer
|
|
911
|
-
* dismisses with the modal and doesn't stay
|
|
912
|
-
* until the modal is removed from the DOM.
|
|
913
|
-
*/
|
|
914
|
-
const ionFooter = baseEl.querySelector('ion-footer');
|
|
915
|
-
if (ionFooter) {
|
|
916
|
-
const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
|
|
917
|
-
ionFooter.style.removeProperty('display');
|
|
918
|
-
ionFooter.removeAttribute('aria-hidden');
|
|
919
|
-
clonedFooter.style.setProperty('display', 'none');
|
|
920
|
-
clonedFooter.setAttribute('aria-hidden', 'true');
|
|
921
|
-
const page = baseEl.querySelector('.ion-page');
|
|
922
|
-
page.style.removeProperty('padding-bottom');
|
|
923
|
-
}
|
|
924
|
-
});
|
|
925
|
-
return baseAnimation;
|
|
778
|
+
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
926
779
|
};
|
|
927
780
|
|
|
928
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [],
|
|
781
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
|
|
929
782
|
// Defaults for the sheet swipe animation
|
|
930
783
|
const defaultBackdrop = [
|
|
931
784
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
@@ -942,10 +795,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
942
795
|
{ offset: 1, transform: 'translateY(100%)' },
|
|
943
796
|
],
|
|
944
797
|
BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
|
|
945
|
-
CONTENT_KEYFRAMES: [
|
|
946
|
-
{ offset: 0, maxHeight: '100%' },
|
|
947
|
-
{ offset: 1, maxHeight: '0%' },
|
|
948
|
-
],
|
|
949
798
|
};
|
|
950
799
|
const contentEl = baseEl.querySelector('ion-content');
|
|
951
800
|
const height = wrapperEl.clientHeight;
|
|
@@ -953,11 +802,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
953
802
|
let offset = 0;
|
|
954
803
|
let canDismissBlocksGesture = false;
|
|
955
804
|
const canDismissMaxStep = 0.95;
|
|
956
|
-
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
957
|
-
const minBreakpoint = breakpoints[0];
|
|
958
805
|
const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
|
|
959
806
|
const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
|
|
960
|
-
const
|
|
807
|
+
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
808
|
+
const minBreakpoint = breakpoints[0];
|
|
961
809
|
const enableBackdrop = () => {
|
|
962
810
|
baseEl.style.setProperty('pointer-events', 'auto');
|
|
963
811
|
backdropEl.style.setProperty('pointer-events', 'auto');
|
|
@@ -980,31 +828,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
980
828
|
*/
|
|
981
829
|
baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
|
|
982
830
|
};
|
|
983
|
-
/**
|
|
984
|
-
* Toggles the visible modal footer when `expandToScroll` is disabled.
|
|
985
|
-
* @param footer The footer to show.
|
|
986
|
-
*/
|
|
987
|
-
const swapFooterVisibility = (footer) => {
|
|
988
|
-
const originalFooter = baseEl.querySelector('ion-footer');
|
|
989
|
-
if (!originalFooter) {
|
|
990
|
-
return;
|
|
991
|
-
}
|
|
992
|
-
const clonedFooter = wrapperEl.nextElementSibling;
|
|
993
|
-
const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
|
|
994
|
-
const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
|
|
995
|
-
footerToShow.style.removeProperty('display');
|
|
996
|
-
footerToShow.removeAttribute('aria-hidden');
|
|
997
|
-
const page = baseEl.querySelector('.ion-page');
|
|
998
|
-
if (footer === 'original') {
|
|
999
|
-
page.style.removeProperty('padding-bottom');
|
|
1000
|
-
}
|
|
1001
|
-
else {
|
|
1002
|
-
const pagePadding = footerToShow.clientHeight;
|
|
1003
|
-
page.style.setProperty('padding-bottom', `${pagePadding}px`);
|
|
1004
|
-
}
|
|
1005
|
-
footerToHide.style.setProperty('display', 'none');
|
|
1006
|
-
footerToHide.setAttribute('aria-hidden', 'true');
|
|
1007
|
-
};
|
|
1008
831
|
/**
|
|
1009
832
|
* After the entering animation completes,
|
|
1010
833
|
* we need to set the animation to go from
|
|
@@ -1016,7 +839,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1016
839
|
if (wrapperAnimation && backdropAnimation) {
|
|
1017
840
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
1018
841
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
1019
|
-
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
1020
842
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
1021
843
|
/**
|
|
1022
844
|
* If backdrop is not enabled, then content
|
|
@@ -1033,7 +855,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1033
855
|
disableBackdrop();
|
|
1034
856
|
}
|
|
1035
857
|
}
|
|
1036
|
-
if (contentEl && currentBreakpoint !== maxBreakpoint
|
|
858
|
+
if (contentEl && currentBreakpoint !== maxBreakpoint) {
|
|
1037
859
|
contentEl.scrollY = false;
|
|
1038
860
|
}
|
|
1039
861
|
const canStart = (detail) => {
|
|
@@ -1047,13 +869,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1047
869
|
*/
|
|
1048
870
|
const contentEl = findClosestIonContent(detail.event.target);
|
|
1049
871
|
currentBreakpoint = getCurrentBreakpoint();
|
|
1050
|
-
/**
|
|
1051
|
-
* If we have expandToScroll disabled, we should not allow the swipe gesture to start
|
|
1052
|
-
* if the content is being swiped.
|
|
1053
|
-
*/
|
|
1054
|
-
if (!expandToScroll && contentEl) {
|
|
1055
|
-
return false;
|
|
1056
|
-
}
|
|
1057
872
|
if (currentBreakpoint === 1 && contentEl) {
|
|
1058
873
|
/**
|
|
1059
874
|
* The modal should never swipe to close on the content with a refresher.
|
|
@@ -1084,15 +899,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1084
899
|
* Remove undefined check
|
|
1085
900
|
*/
|
|
1086
901
|
canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
|
|
1087
|
-
/**
|
|
1088
|
-
* If expandToScroll is disabled, we need to swap
|
|
1089
|
-
* the footer visibility to the original, so if the modal
|
|
1090
|
-
* is dismissed, the footer dismisses with the modal
|
|
1091
|
-
* and doesn't stay on the screen after the modal is gone.
|
|
1092
|
-
*/
|
|
1093
|
-
if (!expandToScroll) {
|
|
1094
|
-
swapFooterVisibility('original');
|
|
1095
|
-
}
|
|
1096
902
|
/**
|
|
1097
903
|
* If we are pulling down, then it is possible we are pulling on the content.
|
|
1098
904
|
* We do not want scrolling to happen at the same time as the gesture.
|
|
@@ -1208,19 +1014,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1208
1014
|
opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
1209
1015
|
},
|
|
1210
1016
|
]);
|
|
1211
|
-
if (contentAnimation) {
|
|
1212
|
-
/**
|
|
1213
|
-
* The modal content should scroll at any breakpoint when expandToScroll
|
|
1214
|
-
* is disabled. In order to do this, the content needs to be completely
|
|
1215
|
-
* viewable so scrolling can access everything. Otherwise, the default
|
|
1216
|
-
* behavior would show the content off the screen and only allow
|
|
1217
|
-
* scrolling when the sheet is fully expanded.
|
|
1218
|
-
*/
|
|
1219
|
-
contentAnimation.keyframes([
|
|
1220
|
-
{ offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
|
|
1221
|
-
{ offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
|
|
1222
|
-
]);
|
|
1223
|
-
}
|
|
1224
1017
|
animation.progressStep(0);
|
|
1225
1018
|
}
|
|
1226
1019
|
/**
|
|
@@ -1228,14 +1021,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1228
1021
|
* snapping animation completes.
|
|
1229
1022
|
*/
|
|
1230
1023
|
gesture.enable(false);
|
|
1231
|
-
/**
|
|
1232
|
-
* If expandToScroll is disabled, we need to swap
|
|
1233
|
-
* the footer visibility to the cloned one so the footer
|
|
1234
|
-
* doesn't flicker when the sheet's height is animated.
|
|
1235
|
-
*/
|
|
1236
|
-
if (!expandToScroll && shouldRemainOpen) {
|
|
1237
|
-
swapFooterVisibility('cloned');
|
|
1238
|
-
}
|
|
1239
1024
|
if (shouldPreventDismiss) {
|
|
1240
1025
|
handleCanDismiss(baseEl, animation);
|
|
1241
1026
|
}
|
|
@@ -1243,13 +1028,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1243
1028
|
onDismiss();
|
|
1244
1029
|
}
|
|
1245
1030
|
/**
|
|
1246
|
-
*
|
|
1247
|
-
*
|
|
1248
|
-
*
|
|
1249
|
-
*
|
|
1250
|
-
* released, so we align with that
|
|
1031
|
+
* If the sheet is going to be fully expanded then we should enable
|
|
1032
|
+
* scrolling immediately. The sheet modal animation takes ~500ms to finish
|
|
1033
|
+
* so if we wait until then there is a visible delay for when scrolling is
|
|
1034
|
+
* re-enabled. Native iOS allows for scrolling on the sheet modal as soon
|
|
1035
|
+
* as the gesture is released, so we align with that.
|
|
1251
1036
|
*/
|
|
1252
|
-
if (contentEl &&
|
|
1037
|
+
if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
|
|
1253
1038
|
contentEl.scrollY = true;
|
|
1254
1039
|
}
|
|
1255
1040
|
return new Promise((resolve) => {
|
|
@@ -1267,7 +1052,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1267
1052
|
raf(() => {
|
|
1268
1053
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
1269
1054
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
1270
|
-
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
1271
1055
|
animation.progressStart(true, 1 - snapToBreakpoint);
|
|
1272
1056
|
currentBreakpoint = snapToBreakpoint;
|
|
1273
1057
|
onBreakpointChange(currentBreakpoint);
|
|
@@ -1320,10 +1104,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1320
1104
|
};
|
|
1321
1105
|
};
|
|
1322
1106
|
|
|
1323
|
-
const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host
|
|
1107
|
+
const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}";
|
|
1324
1108
|
const IonModalIosStyle0 = modalIosCss;
|
|
1325
1109
|
|
|
1326
|
-
const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host
|
|
1110
|
+
const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}";
|
|
1327
1111
|
const IonModalMdStyle0 = modalMdCss;
|
|
1328
1112
|
|
|
1329
1113
|
const Modal = class {
|
|
@@ -1392,7 +1176,6 @@ const Modal = class {
|
|
|
1392
1176
|
this.enterAnimation = undefined;
|
|
1393
1177
|
this.leaveAnimation = undefined;
|
|
1394
1178
|
this.breakpoints = undefined;
|
|
1395
|
-
this.expandToScroll = true;
|
|
1396
1179
|
this.initialBreakpoint = undefined;
|
|
1397
1180
|
this.backdropBreakpoint = 0;
|
|
1398
1181
|
this.handle = undefined;
|
|
@@ -1608,7 +1391,6 @@ const Modal = class {
|
|
|
1608
1391
|
presentingEl: presentingElement,
|
|
1609
1392
|
currentBreakpoint: this.initialBreakpoint,
|
|
1610
1393
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
1611
|
-
expandToScroll: this.expandToScroll,
|
|
1612
1394
|
});
|
|
1613
1395
|
/* tslint:disable-next-line */
|
|
1614
1396
|
if (typeof window !== 'undefined') {
|
|
@@ -1659,10 +1441,7 @@ const Modal = class {
|
|
|
1659
1441
|
// should be in the DOM and referenced by now, except
|
|
1660
1442
|
// for the presenting el
|
|
1661
1443
|
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation);
|
|
1662
|
-
const ani = (this.animation = animationBuilder(el, {
|
|
1663
|
-
presentingEl: this.presentingElement,
|
|
1664
|
-
expandToScroll: this.expandToScroll,
|
|
1665
|
-
}));
|
|
1444
|
+
const ani = (this.animation = animationBuilder(el, { presentingEl: this.presentingElement }));
|
|
1666
1445
|
const contentEl = findIonContent(el);
|
|
1667
1446
|
if (!contentEl) {
|
|
1668
1447
|
printIonContentErrorMsg(el);
|
|
@@ -1707,10 +1486,9 @@ const Modal = class {
|
|
|
1707
1486
|
presentingEl: this.presentingElement,
|
|
1708
1487
|
currentBreakpoint: initialBreakpoint,
|
|
1709
1488
|
backdropBreakpoint,
|
|
1710
|
-
expandToScroll: this.expandToScroll,
|
|
1711
1489
|
}));
|
|
1712
1490
|
ani.progressStart(true, 1);
|
|
1713
|
-
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints,
|
|
1491
|
+
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
1714
1492
|
if (this.currentBreakpoint !== breakpoint) {
|
|
1715
1493
|
this.currentBreakpoint = breakpoint;
|
|
1716
1494
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
@@ -1788,7 +1566,6 @@ const Modal = class {
|
|
|
1788
1566
|
presentingEl: presentingElement,
|
|
1789
1567
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
1790
1568
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
1791
|
-
expandToScroll: this.expandToScroll,
|
|
1792
1569
|
});
|
|
1793
1570
|
if (dismissed) {
|
|
1794
1571
|
const { delegate } = this.getDelegate();
|
|
@@ -1874,23 +1651,23 @@ const Modal = class {
|
|
|
1874
1651
|
return true;
|
|
1875
1652
|
}
|
|
1876
1653
|
render() {
|
|
1877
|
-
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap
|
|
1654
|
+
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
|
|
1878
1655
|
const showHandle = handle !== false && isSheetModal;
|
|
1879
1656
|
const mode = getIonMode(this);
|
|
1880
1657
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1881
1658
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1882
|
-
return (h(Host, Object.assign({ key: '
|
|
1659
|
+
return (h(Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1883
1660
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1884
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal,
|
|
1661
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: 'c12dbf747e0eb914eaf1331798548ffc7e147763', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'da546ee80c6576b5acc66e959fd5009e0b9a8160', class: "modal-shadow" }), h("div", Object.assign({ key: '306ebe6427440ad5f7ed36d590e562d15a503b75',
|
|
1885
1662
|
/*
|
|
1886
1663
|
role and aria-modal must be used on the
|
|
1887
1664
|
same element. They must also be set inside the
|
|
1888
1665
|
shadow DOM otherwise ion-button will not be highlighted
|
|
1889
1666
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
1890
1667
|
*/
|
|
1891
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
1668
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'c5d17e346fe255a7c0cacbbf15c0083f2d09c488', class: "modal-handle",
|
|
1892
1669
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1893
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '
|
|
1670
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '5cc714170a00b67f3eda0cd1d6f37c1489a99c83' }))));
|
|
1894
1671
|
}
|
|
1895
1672
|
get el() { return getElement(this); }
|
|
1896
1673
|
static get watchers() { return {
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { r as registerInstance, d as createEvent, h, i as getElement, f as Host } from './index-28849c61.js';
|
|
5
5
|
import { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
|
|
6
6
|
import { m as assert, s as shallowEqualStringMap } from './helpers-da915de8.js';
|
|
7
|
+
import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-3ad7f18b.js';
|
|
7
8
|
import { b as getIonMode, c as config } from './ionic-global-c81d82ab.js';
|
|
8
|
-
import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-2f7fde3d.js';
|
|
9
9
|
import { a as attachComponent } from './framework-delegate-63d1a679.js';
|
|
10
|
-
import './index-
|
|
10
|
+
import './index-9b0d46f4.js';
|
|
11
11
|
|
|
12
12
|
const VIEW_STATE_NEW = 1;
|
|
13
13
|
const VIEW_STATE_ATTACHED = 2;
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, h, f as Host, i as getElement } from './index-28849c61.js';
|
|
5
|
-
import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-
|
|
5
|
+
import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-e7b9d6d9.js';
|
|
6
6
|
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-63d1a679.js';
|
|
7
7
|
import { r as raf, g as getElementRoot, a as addEventListener, k as hasLazyBuild } from './helpers-da915de8.js';
|
|
8
8
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
9
|
-
import { p as printIonWarning } from './index-
|
|
9
|
+
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
10
10
|
import { b as getIonMode, a as isPlatform } from './ionic-global-c81d82ab.js';
|
|
11
11
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
12
|
-
import { e as deepReady, w as waitForMount } from './index-
|
|
12
|
+
import { e as deepReady, w as waitForMount } from './index-3ad7f18b.js';
|
|
13
13
|
import { c as createAnimation } from './animation-eab5a4ca.js';
|
|
14
14
|
import './index-a5d50daf.js';
|
|
15
15
|
import './hardware-back-button-06ef3c3e.js';
|