@ionic/core 7.3.2-dev.11693254222.1822966d → 7.3.2-dev.11693262117.17edbf6d
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/action-sheet.js +8 -17
- package/components/alert.js +8 -17
- package/components/framework-delegate.js +2 -5
- package/components/ion-loading.js +8 -17
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +12 -33
- package/components/ion-picker.js +8 -17
- package/components/ion-toast.js +8 -17
- package/components/overlays.js +22 -1
- package/components/popover.js +9 -30
- package/dist/cjs/{framework-delegate-91be3b84.js → framework-delegate-e8174951.js} +2 -5
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +9 -18
- package/dist/cjs/ion-alert.cjs.entry.js +9 -18
- package/dist/cjs/ion-app_8.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +9 -18
- package/dist/cjs/ion-loading.cjs.entry.js +9 -18
- package/dist/cjs/ion-menu_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-modal.cjs.entry.js +13 -34
- package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +10 -31
- package/dist/cjs/ion-select_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-toast.cjs.entry.js +9 -18
- package/dist/cjs/{overlays-cf7fa4cf.js → overlays-2b9fa92e.js} +23 -1
- package/dist/collection/components/action-sheet/action-sheet.js +8 -17
- package/dist/collection/components/alert/alert.js +8 -17
- package/dist/collection/components/loading/loading.js +8 -17
- package/dist/collection/components/modal/modal.js +12 -33
- package/dist/collection/components/picker/picker.js +8 -17
- package/dist/collection/components/popover/popover.js +9 -30
- package/dist/collection/components/toast/toast.js +8 -17
- package/dist/collection/utils/framework-delegate.js +2 -5
- package/dist/collection/utils/overlays.js +21 -0
- package/dist/docs.json +1 -1
- package/dist/esm/{framework-delegate-43758c88.js → framework-delegate-2b76c681.js} +2 -5
- package/dist/esm/index.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +9 -18
- package/dist/esm/ion-alert.entry.js +9 -18
- package/dist/esm/ion-app_8.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +9 -18
- package/dist/esm/ion-loading.entry.js +9 -18
- package/dist/esm/ion-menu_3.entry.js +2 -2
- package/dist/esm/ion-modal.entry.js +13 -34
- package/dist/esm/ion-nav_2.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +10 -31
- package/dist/esm/ion-select_3.entry.js +2 -2
- package/dist/esm/ion-tab_2.entry.js +1 -1
- package/dist/esm/ion-toast.entry.js +9 -18
- package/dist/esm/{overlays-236d01c6.js → overlays-66222f79.js} +23 -2
- package/dist/esm-es5/framework-delegate-2b76c681.js +4 -0
- package/dist/esm-es5/index.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-datetime_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-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/{overlays-236d01c6.js → overlays-66222f79.js} +1 -1
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-04515b10.system.entry.js → p-0494a5b7.system.entry.js} +1 -1
- package/dist/ionic/p-16fd72f2.entry.js +4 -0
- package/dist/ionic/p-1c9e3bc7.entry.js +4 -0
- package/dist/ionic/{p-4852bb39.entry.js → p-20087c90.entry.js} +1 -1
- package/dist/ionic/{p-5c0754cd.entry.js → p-229df0d8.entry.js} +1 -1
- package/dist/ionic/p-2a51c81c.entry.js +4 -0
- package/dist/ionic/p-2a649b3e.system.entry.js +4 -0
- package/dist/ionic/p-3ef9e271.system.entry.js +4 -0
- package/dist/ionic/{p-ed290b4a.entry.js → p-5c96dc4e.entry.js} +1 -1
- package/dist/ionic/{p-f2c1459b.system.entry.js → p-6b9bf14c.system.entry.js} +1 -1
- package/dist/ionic/p-6d484719.system.entry.js +4 -0
- package/dist/ionic/p-70d137a0.js +4 -0
- package/dist/ionic/p-721933ff.system.js +1 -1
- package/dist/ionic/{p-e484ae56.entry.js → p-7776d062.entry.js} +1 -1
- package/dist/ionic/p-7ac9bdfa.system.entry.js +4 -0
- package/dist/ionic/{p-f1bf45b2.system.entry.js → p-8074bdd7.system.entry.js} +1 -1
- package/dist/ionic/p-8d53d5a5.entry.js +4 -0
- package/dist/ionic/{p-33dc95e4.system.js → p-8d9475b5.system.js} +1 -1
- package/dist/ionic/{p-fb16e75c.entry.js → p-9888a5a7.entry.js} +1 -1
- package/dist/ionic/{p-5f5d78da.system.js → p-a0ffdd91.system.js} +1 -1
- package/dist/ionic/p-a133c215.system.entry.js +4 -0
- package/dist/ionic/{p-50e474b3.system.entry.js → p-b2098e96.system.entry.js} +1 -1
- package/dist/ionic/p-b34c1ae1.js +4 -0
- package/dist/ionic/p-c0b4ca5c.system.entry.js +4 -0
- package/dist/ionic/p-cf768a4f.entry.js +4 -0
- package/dist/ionic/{p-ff0f2ef4.system.entry.js → p-d1356034.system.entry.js} +1 -1
- package/dist/ionic/p-ddffbfa9.entry.js +4 -0
- package/dist/ionic/p-e2e2c2b0.entry.js +4 -0
- package/dist/ionic/p-ebb442c4.system.entry.js +4 -0
- package/dist/ionic/{p-c275a599.system.js → p-f8e4da48.system.js} +1 -1
- package/dist/types/components/action-sheet/action-sheet.d.ts +1 -1
- package/dist/types/components/alert/alert.d.ts +1 -1
- package/dist/types/components/loading/loading.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +1 -1
- package/dist/types/components/picker/picker.d.ts +1 -1
- package/dist/types/components/popover/popover.d.ts +1 -1
- package/dist/types/components/toast/toast.d.ts +1 -1
- package/dist/types/utils/overlays.d.ts +9 -0
- package/hydrate/index.js +77 -146
- package/package.json +1 -1
- package/dist/esm-es5/framework-delegate-43758c88.js +0 -4
- package/dist/ionic/p-13df6e84.system.entry.js +0 -4
- package/dist/ionic/p-2bdc6097.entry.js +0 -4
- package/dist/ionic/p-2d37d114.system.entry.js +0 -4
- package/dist/ionic/p-3c14c5b9.system.entry.js +0 -4
- package/dist/ionic/p-4adb3257.entry.js +0 -4
- package/dist/ionic/p-647c433f.entry.js +0 -4
- package/dist/ionic/p-77465c7a.entry.js +0 -4
- package/dist/ionic/p-870fee8d.system.entry.js +0 -4
- package/dist/ionic/p-8d1ef5d0.entry.js +0 -4
- package/dist/ionic/p-ad5a562b.system.entry.js +0 -4
- package/dist/ionic/p-d3602489.entry.js +0 -4
- package/dist/ionic/p-e015fbd9.system.entry.js +0 -4
- package/dist/ionic/p-e30f020d.entry.js +0 -4
- package/dist/ionic/p-f2743457.js +0 -4
- package/dist/ionic/p-f4bbbc33.js +0 -4
- package/dist/ionic/p-f94cad00.system.entry.js +0 -4
|
@@ -38,7 +38,6 @@ export const CoreDelegate = () => {
|
|
|
38
38
|
const attachViewToDom = async (parentElement, userComponent, userComponentProps = {}, cssClasses = []) => {
|
|
39
39
|
var _a, _b;
|
|
40
40
|
BaseComponent = parentElement;
|
|
41
|
-
let ChildComponent;
|
|
42
41
|
/**
|
|
43
42
|
* If passing in a component via the `component` props
|
|
44
43
|
* we need to append it inside of our overlay component.
|
|
@@ -65,7 +64,6 @@ export const CoreDelegate = () => {
|
|
|
65
64
|
* inside of the overlay component.
|
|
66
65
|
*/
|
|
67
66
|
BaseComponent.appendChild(el);
|
|
68
|
-
ChildComponent = el;
|
|
69
67
|
await new Promise((resolve) => componentOnReady(el, resolve));
|
|
70
68
|
}
|
|
71
69
|
else if (BaseComponent.children.length > 0 &&
|
|
@@ -74,7 +72,7 @@ export const CoreDelegate = () => {
|
|
|
74
72
|
* The delegate host wrapper el is only needed for modals and popovers
|
|
75
73
|
* because they allow the dev to provide custom content to the overlay.
|
|
76
74
|
*/
|
|
77
|
-
const root =
|
|
75
|
+
const root = BaseComponent.children[0];
|
|
78
76
|
if (!root.classList.contains('ion-delegate-host')) {
|
|
79
77
|
/**
|
|
80
78
|
* If the root element is not a delegate host, it means
|
|
@@ -89,7 +87,6 @@ export const CoreDelegate = () => {
|
|
|
89
87
|
el.append(...BaseComponent.children);
|
|
90
88
|
// Append the new parent element to the original parent element.
|
|
91
89
|
BaseComponent.appendChild(el);
|
|
92
|
-
ChildComponent = el;
|
|
93
90
|
}
|
|
94
91
|
}
|
|
95
92
|
/**
|
|
@@ -105,7 +102,7 @@ export const CoreDelegate = () => {
|
|
|
105
102
|
Reference = document.createComment('ionic teleport');
|
|
106
103
|
BaseComponent.parentNode.insertBefore(Reference, BaseComponent);
|
|
107
104
|
app.appendChild(BaseComponent);
|
|
108
|
-
return
|
|
105
|
+
return BaseComponent;
|
|
109
106
|
};
|
|
110
107
|
const removeViewFromDom = () => {
|
|
111
108
|
/**
|
|
@@ -617,6 +617,27 @@ export const createDelegateController = (ref) => {
|
|
|
617
617
|
removeViewFromDom,
|
|
618
618
|
};
|
|
619
619
|
};
|
|
620
|
+
/**
|
|
621
|
+
* Creates a lock controller.
|
|
622
|
+
*
|
|
623
|
+
* This function locks transitions.
|
|
624
|
+
* The unlock() function within it calls resolve on this function, unlocking the transitions.
|
|
625
|
+
*/
|
|
626
|
+
export const createLockController = () => {
|
|
627
|
+
let waitPromise;
|
|
628
|
+
const lock = async () => {
|
|
629
|
+
const p = waitPromise;
|
|
630
|
+
let resolve;
|
|
631
|
+
waitPromise = new Promise((r) => (resolve = r));
|
|
632
|
+
if (p !== undefined) {
|
|
633
|
+
await p;
|
|
634
|
+
}
|
|
635
|
+
return resolve;
|
|
636
|
+
};
|
|
637
|
+
return {
|
|
638
|
+
lock,
|
|
639
|
+
};
|
|
640
|
+
};
|
|
620
641
|
/**
|
|
621
642
|
* Constructs a trigger interaction for an overlay.
|
|
622
643
|
* Presents an overlay when the trigger is clicked.
|
package/dist/docs.json
CHANGED
|
@@ -39,7 +39,6 @@ const CoreDelegate = () => {
|
|
|
39
39
|
const attachViewToDom = async (parentElement, userComponent, userComponentProps = {}, cssClasses = []) => {
|
|
40
40
|
var _a, _b;
|
|
41
41
|
BaseComponent = parentElement;
|
|
42
|
-
let ChildComponent;
|
|
43
42
|
/**
|
|
44
43
|
* If passing in a component via the `component` props
|
|
45
44
|
* we need to append it inside of our overlay component.
|
|
@@ -66,7 +65,6 @@ const CoreDelegate = () => {
|
|
|
66
65
|
* inside of the overlay component.
|
|
67
66
|
*/
|
|
68
67
|
BaseComponent.appendChild(el);
|
|
69
|
-
ChildComponent = el;
|
|
70
68
|
await new Promise((resolve) => componentOnReady(el, resolve));
|
|
71
69
|
}
|
|
72
70
|
else if (BaseComponent.children.length > 0 &&
|
|
@@ -75,7 +73,7 @@ const CoreDelegate = () => {
|
|
|
75
73
|
* The delegate host wrapper el is only needed for modals and popovers
|
|
76
74
|
* because they allow the dev to provide custom content to the overlay.
|
|
77
75
|
*/
|
|
78
|
-
const root =
|
|
76
|
+
const root = BaseComponent.children[0];
|
|
79
77
|
if (!root.classList.contains('ion-delegate-host')) {
|
|
80
78
|
/**
|
|
81
79
|
* If the root element is not a delegate host, it means
|
|
@@ -90,7 +88,6 @@ const CoreDelegate = () => {
|
|
|
90
88
|
el.append(...BaseComponent.children);
|
|
91
89
|
// Append the new parent element to the original parent element.
|
|
92
90
|
BaseComponent.appendChild(el);
|
|
93
|
-
ChildComponent = el;
|
|
94
91
|
}
|
|
95
92
|
}
|
|
96
93
|
/**
|
|
@@ -106,7 +103,7 @@ const CoreDelegate = () => {
|
|
|
106
103
|
Reference = document.createComment('ionic teleport');
|
|
107
104
|
BaseComponent.parentNode.insertBefore(Reference, BaseComponent);
|
|
108
105
|
app.appendChild(BaseComponent);
|
|
109
|
-
return
|
|
106
|
+
return BaseComponent;
|
|
110
107
|
};
|
|
111
108
|
const removeViewFromDom = () => {
|
|
112
109
|
/**
|
package/dist/esm/index.js
CHANGED
|
@@ -11,12 +11,12 @@ export { c as componentOnReady } from './helpers-3379ba19.js';
|
|
|
11
11
|
export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-96c9ace3.js';
|
|
12
12
|
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 } from './index-6391de89.js';
|
|
13
13
|
export { m as menuController } from './index-b3e05099.js';
|
|
14
|
-
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 { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-66222f79.js';
|
|
15
15
|
import './index-7a14ecec.js';
|
|
16
16
|
import './gesture-controller-0fa396c4.js';
|
|
17
17
|
import './index-847f2fde.js';
|
|
18
18
|
import './hardware-back-button-39299f84.js';
|
|
19
|
-
import './framework-delegate-
|
|
19
|
+
import './framework-delegate-2b76c681.js';
|
|
20
20
|
import './index-595d62c9.js';
|
|
21
21
|
|
|
22
22
|
const IonicSlides = (opts) => {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { r as registerInstance, d as createEvent, e as readTask, h, H as Host, f as getElement } from './index-847f2fde.js';
|
|
5
5
|
import { c as createButtonActiveGesture } from './button-active-2da0f611.js';
|
|
6
6
|
import { r as raf } from './helpers-3379ba19.js';
|
|
7
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel,
|
|
7
|
+
import { d as createDelegateController, e as createLockController, f as createTriggerController, B as BACKDROP, i as isCancel, g as present, h as dismiss, j as eventMethod, s as safeCall, k as prepareOverlay, n as setOverlayId } from './overlays-66222f79.js';
|
|
8
8
|
import { g as getClassMap } from './theme-17531cdf.js';
|
|
9
9
|
import { b as getIonMode } from './ionic-global-1ef19007.js';
|
|
10
10
|
import { c as createAnimation } from './animation-a1d9e088.js';
|
|
@@ -13,7 +13,7 @@ import './capacitor-b4979570.js';
|
|
|
13
13
|
import './index-7a14ecec.js';
|
|
14
14
|
import './index-ff313b19.js';
|
|
15
15
|
import './gesture-controller-0fa396c4.js';
|
|
16
|
-
import './framework-delegate-
|
|
16
|
+
import './framework-delegate-2b76c681.js';
|
|
17
17
|
import './hardware-back-button-39299f84.js';
|
|
18
18
|
import './index-595d62c9.js';
|
|
19
19
|
|
|
@@ -117,6 +117,7 @@ const ActionSheet = class {
|
|
|
117
117
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
118
118
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
119
119
|
this.delegateController = createDelegateController(this);
|
|
120
|
+
this.lockController = createLockController();
|
|
120
121
|
this.triggerController = createTriggerController();
|
|
121
122
|
this.presented = false;
|
|
122
123
|
this.onBackdropTap = () => {
|
|
@@ -164,21 +165,10 @@ const ActionSheet = class {
|
|
|
164
165
|
* Present the action sheet overlay after it has been created.
|
|
165
166
|
*/
|
|
166
167
|
async present() {
|
|
167
|
-
|
|
168
|
-
* When using an inline action sheet
|
|
169
|
-
* and dismissing a action sheet it is possible to
|
|
170
|
-
* quickly present the action sheet while it is
|
|
171
|
-
* dismissing. We need to await any current
|
|
172
|
-
* transition to allow the dismiss to finish
|
|
173
|
-
* before presenting again.
|
|
174
|
-
*/
|
|
175
|
-
if (this.currentTransition !== undefined) {
|
|
176
|
-
await this.currentTransition;
|
|
177
|
-
}
|
|
168
|
+
const unlock = await this.lockController.lock();
|
|
178
169
|
await this.delegateController.attachViewToDom();
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
this.currentTransition = undefined;
|
|
170
|
+
await present(this, 'actionSheetEnter', iosEnterAnimation, mdEnterAnimation);
|
|
171
|
+
unlock();
|
|
182
172
|
}
|
|
183
173
|
/**
|
|
184
174
|
* Dismiss the action sheet overlay after it has been presented.
|
|
@@ -190,11 +180,12 @@ const ActionSheet = class {
|
|
|
190
180
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
191
181
|
*/
|
|
192
182
|
async dismiss(data, role) {
|
|
193
|
-
|
|
194
|
-
const dismissed = await this
|
|
183
|
+
const unlock = await this.lockController.lock();
|
|
184
|
+
const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation, mdLeaveAnimation);
|
|
195
185
|
if (dismissed) {
|
|
196
186
|
this.delegateController.removeViewFromDom();
|
|
197
187
|
}
|
|
188
|
+
unlock();
|
|
198
189
|
return dismissed;
|
|
199
190
|
}
|
|
200
191
|
/**
|
|
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, i as forceUpdate, h, H as Host
|
|
|
5
5
|
import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-96c9ace3.js';
|
|
6
6
|
import { c as createButtonActiveGesture } from './button-active-2da0f611.js';
|
|
7
7
|
import { r as raf } from './helpers-3379ba19.js';
|
|
8
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel,
|
|
8
|
+
import { d as createDelegateController, e as createLockController, f as createTriggerController, B as BACKDROP, i as isCancel, k as prepareOverlay, n as setOverlayId, g as present, h as dismiss, j as eventMethod, s as safeCall } from './overlays-66222f79.js';
|
|
9
9
|
import { g as getClassMap } from './theme-17531cdf.js';
|
|
10
10
|
import { c as config, b as getIonMode } from './ionic-global-1ef19007.js';
|
|
11
11
|
import { c as createAnimation } from './animation-a1d9e088.js';
|
|
@@ -14,7 +14,7 @@ import './capacitor-b4979570.js';
|
|
|
14
14
|
import './index-7a14ecec.js';
|
|
15
15
|
import './index-ff313b19.js';
|
|
16
16
|
import './gesture-controller-0fa396c4.js';
|
|
17
|
-
import './framework-delegate-
|
|
17
|
+
import './framework-delegate-2b76c681.js';
|
|
18
18
|
import './hardware-back-button-39299f84.js';
|
|
19
19
|
import './index-595d62c9.js';
|
|
20
20
|
|
|
@@ -119,6 +119,7 @@ const Alert = class {
|
|
|
119
119
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
120
120
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
121
121
|
this.delegateController = createDelegateController(this);
|
|
122
|
+
this.lockController = createLockController();
|
|
122
123
|
this.triggerController = createTriggerController();
|
|
123
124
|
this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
124
125
|
this.processedInputs = [];
|
|
@@ -285,21 +286,10 @@ const Alert = class {
|
|
|
285
286
|
* Present the alert overlay after it has been created.
|
|
286
287
|
*/
|
|
287
288
|
async present() {
|
|
288
|
-
|
|
289
|
-
* When using an inline alert
|
|
290
|
-
* and dismissing an alert it is possible to
|
|
291
|
-
* quickly present the alert while it is
|
|
292
|
-
* dismissing. We need to await any current
|
|
293
|
-
* transition to allow the dismiss to finish
|
|
294
|
-
* before presenting again.
|
|
295
|
-
*/
|
|
296
|
-
if (this.currentTransition !== undefined) {
|
|
297
|
-
await this.currentTransition;
|
|
298
|
-
}
|
|
289
|
+
const unlock = await this.lockController.lock();
|
|
299
290
|
await this.delegateController.attachViewToDom();
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
this.currentTransition = undefined;
|
|
291
|
+
await present(this, 'alertEnter', iosEnterAnimation, mdEnterAnimation);
|
|
292
|
+
unlock();
|
|
303
293
|
}
|
|
304
294
|
/**
|
|
305
295
|
* Dismiss the alert overlay after it has been presented.
|
|
@@ -311,11 +301,12 @@ const Alert = class {
|
|
|
311
301
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
312
302
|
*/
|
|
313
303
|
async dismiss(data, role) {
|
|
314
|
-
|
|
315
|
-
const dismissed = await this
|
|
304
|
+
const unlock = await this.lockController.lock();
|
|
305
|
+
const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation, mdLeaveAnimation);
|
|
316
306
|
if (dismissed) {
|
|
317
307
|
this.delegateController.removeViewFromDom();
|
|
318
308
|
}
|
|
309
|
+
unlock();
|
|
319
310
|
return dismissed;
|
|
320
311
|
}
|
|
321
312
|
/**
|
|
@@ -9,7 +9,7 @@ import { c as createColorClasses, h as hostContext } from './theme-17531cdf.js';
|
|
|
9
9
|
import { a as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-746a238e.js';
|
|
10
10
|
import { c as createKeyboardController } from './keyboard-controller-0c2dce71.js';
|
|
11
11
|
import { g as getTimeGivenProgression } from './cubic-bezier-66542bc5.js';
|
|
12
|
-
import { a as attachComponent, d as detachComponent } from './framework-delegate-
|
|
12
|
+
import { a as attachComponent, d as detachComponent } from './framework-delegate-2b76c681.js';
|
|
13
13
|
import { t as transition } from './index-6391de89.js';
|
|
14
14
|
import './index-595d62c9.js';
|
|
15
15
|
import './index-7a14ecec.js';
|
|
@@ -10,10 +10,10 @@ import { c as createColorClasses, g as getClassMap } from './theme-17531cdf.js';
|
|
|
10
10
|
import { c as chevronBack, o as chevronForward, l as chevronDown, p as caretUpSharp, q as caretDownSharp } from './index-ecfc2c9f.js';
|
|
11
11
|
import { b as getIonMode } from './ionic-global-1ef19007.js';
|
|
12
12
|
import { g as generateDayAriaLabel, a as getDay, i as isBefore, b as isAfter, c as isSameDay, d as getPreviousMonth, e as getNextMonth, v as validateParts, f as getPartsFromCalendarDay, h as getEndOfWeek, j as getStartOfWeek, k as getPreviousDay, l as getNextDay, m as getPreviousWeek, n as getNextWeek, p as parseMinParts, o as parseMaxParts, q as parseDate, w as warnIfValueOutOfBounds, r as convertToArrayOfNumbers, s as convertDataToISO, t as getToday, u as getClosestValidDate, x as getNumDaysInMonth, y as getCombinedDateColumnData, z as getMonthColumnData, A as getDayColumnData, B as getYearColumnData, C as isMonthFirstLocale, D as getTimeColumnsData, E as isLocaleDayPeriodRTL, F as getDaysOfWeek, G as getMonthAndYear, H as getDaysOfMonth, I as generateMonths, J as is24Hour, K as getLocalizedTime, L as getMonthAndDay, M as formatValue, N as getNextYear, O as getPreviousYear, P as clampDate, Q as parseAmPm, R as calculateHourFromAMPM } from './data-4b448e3a.js';
|
|
13
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel,
|
|
13
|
+
import { d as createDelegateController, e as createLockController, f as createTriggerController, B as BACKDROP, i as isCancel, k as prepareOverlay, n as setOverlayId, g as present, h as dismiss, j as eventMethod, s as safeCall } from './overlays-66222f79.js';
|
|
14
14
|
import { c as createAnimation } from './animation-a1d9e088.js';
|
|
15
15
|
import { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from './haptic-6447af60.js';
|
|
16
|
-
import './framework-delegate-
|
|
16
|
+
import './framework-delegate-2b76c681.js';
|
|
17
17
|
import './hardware-back-button-39299f84.js';
|
|
18
18
|
import './index-7a14ecec.js';
|
|
19
19
|
import './capacitor-b4979570.js';
|
|
@@ -1726,6 +1726,7 @@ const Picker = class {
|
|
|
1726
1726
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
1727
1727
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
1728
1728
|
this.delegateController = createDelegateController(this);
|
|
1729
|
+
this.lockController = createLockController();
|
|
1729
1730
|
this.triggerController = createTriggerController();
|
|
1730
1731
|
this.onBackdropTap = () => {
|
|
1731
1732
|
this.dismiss(undefined, BACKDROP);
|
|
@@ -1792,24 +1793,13 @@ const Picker = class {
|
|
|
1792
1793
|
* Present the picker overlay after it has been created.
|
|
1793
1794
|
*/
|
|
1794
1795
|
async present() {
|
|
1795
|
-
|
|
1796
|
-
* When using an inline picker
|
|
1797
|
-
* and dismissing an picker it is possible to
|
|
1798
|
-
* quickly present the picker while it is
|
|
1799
|
-
* dismissing. We need to await any current
|
|
1800
|
-
* transition to allow the dismiss to finish
|
|
1801
|
-
* before presenting again.
|
|
1802
|
-
*/
|
|
1803
|
-
if (this.currentTransition !== undefined) {
|
|
1804
|
-
await this.currentTransition;
|
|
1805
|
-
}
|
|
1796
|
+
const unlock = await this.lockController.lock();
|
|
1806
1797
|
await this.delegateController.attachViewToDom();
|
|
1807
|
-
|
|
1808
|
-
await this.currentTransition;
|
|
1809
|
-
this.currentTransition = undefined;
|
|
1798
|
+
await present(this, 'pickerEnter', iosEnterAnimation, iosEnterAnimation, undefined);
|
|
1810
1799
|
if (this.duration > 0) {
|
|
1811
1800
|
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);
|
|
1812
1801
|
}
|
|
1802
|
+
unlock();
|
|
1813
1803
|
}
|
|
1814
1804
|
/**
|
|
1815
1805
|
* Dismiss the picker overlay after it has been presented.
|
|
@@ -1821,14 +1811,15 @@ const Picker = class {
|
|
|
1821
1811
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
1822
1812
|
*/
|
|
1823
1813
|
async dismiss(data, role) {
|
|
1814
|
+
const unlock = await this.lockController.lock();
|
|
1824
1815
|
if (this.durationTimeout) {
|
|
1825
1816
|
clearTimeout(this.durationTimeout);
|
|
1826
1817
|
}
|
|
1827
|
-
|
|
1828
|
-
const dismissed = await this.currentTransition;
|
|
1818
|
+
const dismissed = await dismiss(this, data, role, 'pickerLeave', iosLeaveAnimation, iosLeaveAnimation);
|
|
1829
1819
|
if (dismissed) {
|
|
1830
1820
|
this.delegateController.removeViewFromDom();
|
|
1831
1821
|
}
|
|
1822
|
+
unlock();
|
|
1832
1823
|
return dismissed;
|
|
1833
1824
|
}
|
|
1834
1825
|
/**
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-847f2fde.js';
|
|
5
5
|
import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-96c9ace3.js';
|
|
6
6
|
import { r as raf } from './helpers-3379ba19.js';
|
|
7
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP,
|
|
7
|
+
import { d as createDelegateController, e as createLockController, f as createTriggerController, B as BACKDROP, k as prepareOverlay, n as setOverlayId, g as present, h as dismiss, j as eventMethod } from './overlays-66222f79.js';
|
|
8
8
|
import { g as getClassMap } from './theme-17531cdf.js';
|
|
9
9
|
import { c as config, b as getIonMode } from './ionic-global-1ef19007.js';
|
|
10
10
|
import { c as createAnimation } from './animation-a1d9e088.js';
|
|
11
|
-
import './framework-delegate-
|
|
11
|
+
import './framework-delegate-2b76c681.js';
|
|
12
12
|
import './hardware-back-button-39299f84.js';
|
|
13
13
|
import './index-595d62c9.js';
|
|
14
14
|
import './index-7a14ecec.js';
|
|
@@ -117,6 +117,7 @@ const Loading = class {
|
|
|
117
117
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
118
118
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
119
119
|
this.delegateController = createDelegateController(this);
|
|
120
|
+
this.lockController = createLockController();
|
|
120
121
|
this.triggerController = createTriggerController();
|
|
121
122
|
this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
122
123
|
this.presented = false;
|
|
@@ -182,24 +183,13 @@ const Loading = class {
|
|
|
182
183
|
* Present the loading overlay after it has been created.
|
|
183
184
|
*/
|
|
184
185
|
async present() {
|
|
185
|
-
|
|
186
|
-
* When using an inline loading indicator
|
|
187
|
-
* and dismissing a loading indicator it is possible to
|
|
188
|
-
* quickly present the loading indicator while it is
|
|
189
|
-
* dismissing. We need to await any current
|
|
190
|
-
* transition to allow the dismiss to finish
|
|
191
|
-
* before presenting again.
|
|
192
|
-
*/
|
|
193
|
-
if (this.currentTransition !== undefined) {
|
|
194
|
-
await this.currentTransition;
|
|
195
|
-
}
|
|
186
|
+
const unlock = await this.lockController.lock();
|
|
196
187
|
await this.delegateController.attachViewToDom();
|
|
197
|
-
|
|
198
|
-
await this.currentTransition;
|
|
188
|
+
await present(this, 'loadingEnter', iosEnterAnimation, mdEnterAnimation);
|
|
199
189
|
if (this.duration > 0) {
|
|
200
190
|
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10);
|
|
201
191
|
}
|
|
202
|
-
|
|
192
|
+
unlock();
|
|
203
193
|
}
|
|
204
194
|
/**
|
|
205
195
|
* Dismiss the loading overlay after it has been presented.
|
|
@@ -211,14 +201,15 @@ const Loading = class {
|
|
|
211
201
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
212
202
|
*/
|
|
213
203
|
async dismiss(data, role) {
|
|
204
|
+
const unlock = await this.lockController.lock();
|
|
214
205
|
if (this.durationTimeout) {
|
|
215
206
|
clearTimeout(this.durationTimeout);
|
|
216
207
|
}
|
|
217
|
-
|
|
218
|
-
const dismissed = await this.currentTransition;
|
|
208
|
+
const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation, mdLeaveAnimation);
|
|
219
209
|
if (dismissed) {
|
|
220
210
|
this.delegateController.removeViewFromDom();
|
|
221
211
|
}
|
|
212
|
+
unlock();
|
|
222
213
|
return dismissed;
|
|
223
214
|
}
|
|
224
215
|
/**
|
|
@@ -7,13 +7,13 @@ import { d as doc } from './index-7a14ecec.js';
|
|
|
7
7
|
import { G as GESTURE_CONTROLLER } from './gesture-controller-0fa396c4.js';
|
|
8
8
|
import { p as isEndSide, i as inheritAriaAttributes, o as assert, l as clamp } from './helpers-3379ba19.js';
|
|
9
9
|
import { m as menuController } from './index-b3e05099.js';
|
|
10
|
-
import {
|
|
10
|
+
import { r as getOverlay } from './overlays-66222f79.js';
|
|
11
11
|
import { c as config, b as getIonMode } from './ionic-global-1ef19007.js';
|
|
12
12
|
import { c as createColorClasses, h as hostContext } from './theme-17531cdf.js';
|
|
13
13
|
import { u as menuOutline, v as menuSharp } from './index-ecfc2c9f.js';
|
|
14
14
|
import './hardware-back-button-39299f84.js';
|
|
15
15
|
import './animation-a1d9e088.js';
|
|
16
|
-
import './framework-delegate-
|
|
16
|
+
import './framework-delegate-2b76c681.js';
|
|
17
17
|
import './index-595d62c9.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}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}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){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, w as writeTask, h, H as Host, f as getElement } from './index-847f2fde.js';
|
|
5
5
|
import { f as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, a as findIonContent, p as printIonContentErrorMsg } from './index-746a238e.js';
|
|
6
|
-
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-
|
|
6
|
+
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-2b76c681.js';
|
|
7
7
|
import { g as getElementRoot, l as clamp, r as raf, k as inheritAttributes, m as hasLazyBuild } from './helpers-3379ba19.js';
|
|
8
8
|
import { p as printIonWarning } from './index-595d62c9.js';
|
|
9
9
|
import { g as getCapacitor } from './capacitor-b4979570.js';
|
|
10
|
-
import { G as GESTURE, e as createTriggerController, B as BACKDROP,
|
|
10
|
+
import { G as GESTURE, e as createLockController, f as createTriggerController, B as BACKDROP, k as prepareOverlay, n as setOverlayId, g as present, o as activeAnimations, h as dismiss, j as eventMethod } from './overlays-66222f79.js';
|
|
11
11
|
import { g as getClassMap } from './theme-17531cdf.js';
|
|
12
12
|
import { e as deepReady, w as waitForMount } from './index-6391de89.js';
|
|
13
13
|
import { b as getIonMode, c as config } from './ionic-global-1ef19007.js';
|
|
@@ -1113,6 +1113,7 @@ const Modal = class {
|
|
|
1113
1113
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
1114
1114
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
1115
1115
|
this.ionMount = createEvent(this, "ionMount", 7);
|
|
1116
|
+
this.lockController = createLockController();
|
|
1116
1117
|
this.triggerController = createTriggerController();
|
|
1117
1118
|
this.coreDelegate = CoreDelegate();
|
|
1118
1119
|
this.isSheetModal = false;
|
|
@@ -1280,18 +1281,8 @@ const Modal = class {
|
|
|
1280
1281
|
if (this.presented) {
|
|
1281
1282
|
return;
|
|
1282
1283
|
}
|
|
1284
|
+
const unlock = await this.lockController.lock();
|
|
1283
1285
|
const { presentingElement, el } = this;
|
|
1284
|
-
/**
|
|
1285
|
-
* When using an inline modal
|
|
1286
|
-
* and dismissing a modal it is possible to
|
|
1287
|
-
* quickly present the modal while it is
|
|
1288
|
-
* dismissing. We need to await any current
|
|
1289
|
-
* transition to allow the dismiss to finish
|
|
1290
|
-
* before presenting again.
|
|
1291
|
-
*/
|
|
1292
|
-
if (this.currentTransition !== undefined) {
|
|
1293
|
-
await this.currentTransition;
|
|
1294
|
-
}
|
|
1295
1286
|
/**
|
|
1296
1287
|
* If the modal is presented multiple times (inline modals), we
|
|
1297
1288
|
* need to reset the current breakpoint to the initial breakpoint.
|
|
@@ -1323,11 +1314,6 @@ const Modal = class {
|
|
|
1323
1314
|
await waitForMount();
|
|
1324
1315
|
}
|
|
1325
1316
|
writeTask(() => this.el.classList.add('show-modal'));
|
|
1326
|
-
this.currentTransition = present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
1327
|
-
presentingEl: presentingElement,
|
|
1328
|
-
currentBreakpoint: this.initialBreakpoint,
|
|
1329
|
-
backdropBreakpoint: this.backdropBreakpoint,
|
|
1330
|
-
});
|
|
1331
1317
|
/* tslint:disable-next-line */
|
|
1332
1318
|
if (typeof window !== 'undefined') {
|
|
1333
1319
|
/**
|
|
@@ -1370,14 +1356,18 @@ const Modal = class {
|
|
|
1370
1356
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
1371
1357
|
setCardStatusBarDark();
|
|
1372
1358
|
}
|
|
1373
|
-
await this
|
|
1359
|
+
await present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
1360
|
+
presentingEl: presentingElement,
|
|
1361
|
+
currentBreakpoint: this.initialBreakpoint,
|
|
1362
|
+
backdropBreakpoint: this.backdropBreakpoint,
|
|
1363
|
+
});
|
|
1374
1364
|
if (this.isSheetModal) {
|
|
1375
1365
|
this.initSheetGesture();
|
|
1376
1366
|
}
|
|
1377
1367
|
else if (hasCardModal) {
|
|
1378
1368
|
this.initSwipeToClose();
|
|
1379
1369
|
}
|
|
1380
|
-
|
|
1370
|
+
unlock();
|
|
1381
1371
|
}
|
|
1382
1372
|
initSwipeToClose() {
|
|
1383
1373
|
var _a;
|
|
@@ -1467,6 +1457,7 @@ const Modal = class {
|
|
|
1467
1457
|
if (this.gestureAnimationDismissing && role !== GESTURE) {
|
|
1468
1458
|
return false;
|
|
1469
1459
|
}
|
|
1460
|
+
const unlock = await this.lockController.lock();
|
|
1470
1461
|
/**
|
|
1471
1462
|
* If a canDismiss handler is responsible
|
|
1472
1463
|
* for calling the dismiss method, we should
|
|
@@ -1490,24 +1481,12 @@ const Modal = class {
|
|
|
1490
1481
|
window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
1491
1482
|
this.keyboardOpenCallback = undefined;
|
|
1492
1483
|
}
|
|
1493
|
-
/**
|
|
1494
|
-
* When using an inline modal
|
|
1495
|
-
* and presenting a modal it is possible to
|
|
1496
|
-
* quickly dismiss the modal while it is
|
|
1497
|
-
* presenting. We need to await any current
|
|
1498
|
-
* transition to allow the present to finish
|
|
1499
|
-
* before dismissing again.
|
|
1500
|
-
*/
|
|
1501
|
-
if (this.currentTransition !== undefined) {
|
|
1502
|
-
await this.currentTransition;
|
|
1503
|
-
}
|
|
1504
1484
|
const enteringAnimation = activeAnimations.get(this) || [];
|
|
1505
|
-
|
|
1485
|
+
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, {
|
|
1506
1486
|
presentingEl: presentingElement,
|
|
1507
1487
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
1508
1488
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
1509
1489
|
});
|
|
1510
|
-
const dismissed = await this.currentTransition;
|
|
1511
1490
|
if (dismissed) {
|
|
1512
1491
|
const { delegate } = this.getDelegate();
|
|
1513
1492
|
await detachComponent(delegate, this.usersElement);
|
|
@@ -1521,8 +1500,8 @@ const Modal = class {
|
|
|
1521
1500
|
enteringAnimation.forEach((ani) => ani.destroy());
|
|
1522
1501
|
}
|
|
1523
1502
|
this.currentBreakpoint = undefined;
|
|
1524
|
-
this.currentTransition = undefined;
|
|
1525
1503
|
this.animation = undefined;
|
|
1504
|
+
unlock();
|
|
1526
1505
|
return dismissed;
|
|
1527
1506
|
}
|
|
1528
1507
|
/**
|
|
@@ -6,7 +6,7 @@ import { g as getTimeGivenProgression } from './cubic-bezier-66542bc5.js';
|
|
|
6
6
|
import { o as assert, s as shallowEqualStringMap } from './helpers-3379ba19.js';
|
|
7
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-6391de89.js';
|
|
8
8
|
import { b as getIonMode, c as config } from './ionic-global-1ef19007.js';
|
|
9
|
-
import { a as attachComponent } from './framework-delegate-
|
|
9
|
+
import { a as attachComponent } from './framework-delegate-2b76c681.js';
|
|
10
10
|
|
|
11
11
|
const VIEW_STATE_NEW = 1;
|
|
12
12
|
const VIEW_STATE_ATTACHED = 2;
|