@ionic/core 7.3.3-dev.11693454416.1cb6a7ec → 7.3.3-dev.11693592322.138d91e6
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 -16
- package/components/alert.js +8 -16
- package/components/framework-delegate.js +21 -2
- package/components/ion-loading.js +8 -16
- package/components/ion-modal.js +30 -29
- package/components/ion-nav-link.js +1 -7
- package/components/ion-picker.js +8 -16
- package/components/ion-router-outlet.js +1 -0
- package/components/ion-textarea.js +3 -3
- package/components/ion-toast.js +8 -16
- package/components/lock-controller.js +38 -0
- package/components/popover.js +15 -29
- package/dist/cjs/{framework-delegate-e8174951.js → framework-delegate-c0873a6f.js} +21 -2
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +10 -18
- package/dist/cjs/ion-alert.cjs.entry.js +10 -18
- package/dist/cjs/ion-app_8.cjs.entry.js +2 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +10 -18
- package/dist/cjs/ion-loading.cjs.entry.js +10 -18
- package/dist/cjs/ion-menu_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-modal.cjs.entry.js +32 -31
- package/dist/cjs/ion-nav_2.cjs.entry.js +2 -8
- package/dist/cjs/ion-popover.cjs.entry.js +17 -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-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +10 -18
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/lock-controller-4ae2eb59.js +40 -0
- package/dist/cjs/{overlays-0ea06fcb.js → overlays-5c1706ed.js} +1 -1
- package/dist/collection/components/action-sheet/action-sheet.js +8 -16
- package/dist/collection/components/alert/alert.js +8 -16
- package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +48 -17
- package/dist/collection/components/loading/loading.js +8 -16
- package/dist/collection/components/modal/modal.js +30 -29
- package/dist/collection/components/nav-link/nav-link.js +1 -7
- package/dist/collection/components/picker/picker.js +8 -16
- package/dist/collection/components/popover/popover.js +15 -29
- package/dist/collection/components/popover/test/async/popover.e2e.js +42 -0
- package/dist/collection/components/progress-bar/test/buffer/progress-bar.e2e.js +20 -0
- package/dist/collection/components/progress-bar/test/determinate/progress-bar.e2e.js +20 -0
- package/dist/collection/components/radio/test/item/radio.e2e.js +1 -1
- package/dist/collection/components/router-outlet/router-outlet.js +1 -0
- package/dist/collection/components/textarea/test/bottom-content/textarea.e2e.js +6 -6
- package/dist/collection/components/textarea/test/card/textarea.e2e.js +1 -1
- package/dist/collection/components/textarea/test/color/textarea.e2e.js +15 -15
- package/dist/collection/components/textarea/test/cols/textarea.e2e.js +37 -0
- package/dist/collection/components/textarea/test/fill/textarea.e2e.js +10 -10
- package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +9 -9
- package/dist/collection/components/textarea/test/item/textarea.e2e.js +2 -2
- package/dist/collection/components/textarea/test/label-placement/textarea.e2e.js +21 -21
- package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +5 -5
- package/dist/collection/components/textarea/test/states/textarea.e2e.js +2 -2
- package/dist/collection/components/textarea/textarea.ios.css +16 -0
- package/dist/collection/components/textarea/textarea.js +1 -1
- package/dist/collection/components/textarea/textarea.md.css +16 -0
- package/dist/collection/components/toast/toast.js +8 -16
- package/dist/collection/utils/framework-delegate.js +21 -2
- package/dist/collection/utils/lock-controller.js +36 -0
- package/dist/docs.json +2 -2
- package/dist/esm/{framework-delegate-2b76c681.js → framework-delegate-aa433dea.js} +21 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +10 -18
- package/dist/esm/ion-alert.entry.js +10 -18
- package/dist/esm/ion-app_8.entry.js +2 -1
- package/dist/esm/ion-datetime_3.entry.js +10 -18
- package/dist/esm/ion-loading.entry.js +10 -18
- package/dist/esm/ion-menu_3.entry.js +2 -2
- package/dist/esm/ion-modal.entry.js +32 -31
- package/dist/esm/ion-nav_2.entry.js +2 -8
- package/dist/esm/ion-popover.entry.js +17 -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-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +10 -18
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/lock-controller-e8c6c051.js +38 -0
- package/dist/esm/{overlays-c3387ec0.js → overlays-e1dadfe6.js} +1 -1
- package/dist/esm-es5/framework-delegate-aa433dea.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-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/lock-controller-e8c6c051.js +4 -0
- package/dist/esm-es5/{overlays-c3387ec0.js → overlays-e1dadfe6.js} +1 -1
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-958bde76.entry.js → p-091cd81e.entry.js} +1 -1
- package/dist/ionic/{p-c32e09fe.system.entry.js → p-0b68c41d.system.entry.js} +1 -1
- package/dist/ionic/p-0cc2bf5a.system.entry.js +4 -0
- package/dist/ionic/p-208f640c.entry.js +4 -0
- package/dist/ionic/p-2539e967.system.entry.js +4 -0
- package/dist/ionic/{p-74bd26b8.system.entry.js → p-28f5715a.system.entry.js} +1 -1
- package/dist/ionic/p-38dd9aec.entry.js +4 -0
- package/dist/ionic/{p-8074bdd7.system.entry.js → p-45ee211b.system.entry.js} +1 -1
- package/dist/ionic/p-48144921.entry.js +4 -0
- package/dist/ionic/p-5009cb46.entry.js +4 -0
- package/dist/ionic/p-53b2a46f.js +4 -0
- package/dist/ionic/{p-5ef91692.js → p-582dc7c1.js} +1 -1
- package/dist/ionic/{p-c0d1e5a1.entry.js → p-5c17f888.entry.js} +1 -1
- package/dist/ionic/{p-8d9475b5.system.js → p-613d4042.system.js} +1 -1
- package/dist/ionic/p-653f2fc6.entry.js +4 -0
- package/dist/ionic/p-721933ff.system.js +1 -1
- package/dist/ionic/p-772f6c84.system.js +4 -0
- package/dist/ionic/p-87383d00.system.entry.js +4 -0
- package/dist/ionic/{p-db46fc66.system.js → p-8843b046.system.js} +1 -1
- package/dist/ionic/p-93e47822.entry.js +4 -0
- package/dist/ionic/{p-0e6ca480.entry.js → p-98ebc376.entry.js} +1 -1
- package/dist/ionic/p-9a074ed8.system.entry.js +4 -0
- package/dist/ionic/p-af0bc751.system.entry.js +4 -0
- package/dist/ionic/p-b0e9e0b8.system.entry.js +4 -0
- package/dist/ionic/p-b287ab05.js +4 -0
- package/dist/ionic/{p-81b46714.system.js → p-b32742f3.system.js} +1 -1
- package/dist/ionic/p-b3394798.system.entry.js +4 -0
- package/dist/ionic/p-bbae0ac3.system.entry.js +4 -0
- package/dist/ionic/{p-20087c90.entry.js → p-c759a704.entry.js} +1 -1
- package/dist/ionic/{p-6b9bf14c.system.entry.js → p-d1d3b740.system.entry.js} +1 -1
- package/dist/ionic/{p-8fa43732.system.entry.js → p-d693e765.system.entry.js} +1 -1
- package/dist/ionic/p-dc5942b1.entry.js +4 -0
- package/dist/ionic/{p-5c96dc4e.entry.js → p-f7faa32d.entry.js} +1 -1
- package/dist/ionic/p-fabb7294.entry.js +4 -0
- 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/lock-controller.d.ts +10 -0
- package/hydrate/index.js +139 -151
- package/package.json +1 -1
- package/dist/esm-es5/framework-delegate-2b76c681.js +0 -4
- package/dist/ionic/p-06f1f560.system.entry.js +0 -4
- package/dist/ionic/p-2936ec7f.system.entry.js +0 -4
- package/dist/ionic/p-29b3e70a.entry.js +0 -4
- package/dist/ionic/p-2bc49e5d.system.entry.js +0 -4
- package/dist/ionic/p-2da3e015.system.entry.js +0 -4
- package/dist/ionic/p-423d5a4d.entry.js +0 -4
- package/dist/ionic/p-564aaba3.entry.js +0 -4
- package/dist/ionic/p-61769039.entry.js +0 -4
- package/dist/ionic/p-74723f41.entry.js +0 -4
- package/dist/ionic/p-7d93084b.entry.js +0 -4
- package/dist/ionic/p-9b3c3564.entry.js +0 -4
- package/dist/ionic/p-b34c1ae1.js +0 -4
- package/dist/ionic/p-c328936a.system.entry.js +0 -4
- package/dist/ionic/p-ccea9adc.system.entry.js +0 -4
- package/dist/ionic/p-d5db0834.system.entry.js +0 -4
- package/dist/ionic/p-d8538837.entry.js +0 -4
- package/dist/ionic/p-dd0b6889.system.entry.js +0 -4
|
@@ -4,7 +4,8 @@
|
|
|
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 {
|
|
7
|
+
import { c as createLockController } from './lock-controller-e8c6c051.js';
|
|
8
|
+
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-e1dadfe6.js';
|
|
8
9
|
import { g as getClassMap } from './theme-17531cdf.js';
|
|
9
10
|
import { b as getIonMode } from './ionic-global-1ef19007.js';
|
|
10
11
|
import { c as createAnimation } from './animation-a1d9e088.js';
|
|
@@ -13,7 +14,7 @@ import './capacitor-b4979570.js';
|
|
|
13
14
|
import './index-7a14ecec.js';
|
|
14
15
|
import './index-ff313b19.js';
|
|
15
16
|
import './gesture-controller-0fa396c4.js';
|
|
16
|
-
import './framework-delegate-
|
|
17
|
+
import './framework-delegate-aa433dea.js';
|
|
17
18
|
import './hardware-back-button-39299f84.js';
|
|
18
19
|
import './index-595d62c9.js';
|
|
19
20
|
|
|
@@ -117,6 +118,7 @@ const ActionSheet = class {
|
|
|
117
118
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
118
119
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
119
120
|
this.delegateController = createDelegateController(this);
|
|
121
|
+
this.lockController = createLockController();
|
|
120
122
|
this.triggerController = createTriggerController();
|
|
121
123
|
this.presented = false;
|
|
122
124
|
this.onBackdropTap = () => {
|
|
@@ -164,21 +166,10 @@ const ActionSheet = class {
|
|
|
164
166
|
* Present the action sheet overlay after it has been created.
|
|
165
167
|
*/
|
|
166
168
|
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
|
-
}
|
|
169
|
+
const unlock = await this.lockController.lock();
|
|
178
170
|
await this.delegateController.attachViewToDom();
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
this.currentTransition = undefined;
|
|
171
|
+
await present(this, 'actionSheetEnter', iosEnterAnimation, mdEnterAnimation);
|
|
172
|
+
unlock();
|
|
182
173
|
}
|
|
183
174
|
/**
|
|
184
175
|
* Dismiss the action sheet overlay after it has been presented.
|
|
@@ -190,11 +181,12 @@ const ActionSheet = class {
|
|
|
190
181
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
191
182
|
*/
|
|
192
183
|
async dismiss(data, role) {
|
|
193
|
-
|
|
194
|
-
const dismissed = await this
|
|
184
|
+
const unlock = await this.lockController.lock();
|
|
185
|
+
const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation, mdLeaveAnimation);
|
|
195
186
|
if (dismissed) {
|
|
196
187
|
this.delegateController.removeViewFromDom();
|
|
197
188
|
}
|
|
189
|
+
unlock();
|
|
198
190
|
return dismissed;
|
|
199
191
|
}
|
|
200
192
|
/**
|
|
@@ -5,7 +5,8 @@ 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 {
|
|
8
|
+
import { c as createLockController } from './lock-controller-e8c6c051.js';
|
|
9
|
+
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-e1dadfe6.js';
|
|
9
10
|
import { g as getClassMap } from './theme-17531cdf.js';
|
|
10
11
|
import { c as config, b as getIonMode } from './ionic-global-1ef19007.js';
|
|
11
12
|
import { c as createAnimation } from './animation-a1d9e088.js';
|
|
@@ -14,7 +15,7 @@ import './capacitor-b4979570.js';
|
|
|
14
15
|
import './index-7a14ecec.js';
|
|
15
16
|
import './index-ff313b19.js';
|
|
16
17
|
import './gesture-controller-0fa396c4.js';
|
|
17
|
-
import './framework-delegate-
|
|
18
|
+
import './framework-delegate-aa433dea.js';
|
|
18
19
|
import './hardware-back-button-39299f84.js';
|
|
19
20
|
import './index-595d62c9.js';
|
|
20
21
|
|
|
@@ -119,6 +120,7 @@ const Alert = class {
|
|
|
119
120
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
120
121
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
121
122
|
this.delegateController = createDelegateController(this);
|
|
123
|
+
this.lockController = createLockController();
|
|
122
124
|
this.triggerController = createTriggerController();
|
|
123
125
|
this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
124
126
|
this.processedInputs = [];
|
|
@@ -285,21 +287,10 @@ const Alert = class {
|
|
|
285
287
|
* Present the alert overlay after it has been created.
|
|
286
288
|
*/
|
|
287
289
|
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
|
-
}
|
|
290
|
+
const unlock = await this.lockController.lock();
|
|
299
291
|
await this.delegateController.attachViewToDom();
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
this.currentTransition = undefined;
|
|
292
|
+
await present(this, 'alertEnter', iosEnterAnimation, mdEnterAnimation);
|
|
293
|
+
unlock();
|
|
303
294
|
}
|
|
304
295
|
/**
|
|
305
296
|
* Dismiss the alert overlay after it has been presented.
|
|
@@ -311,11 +302,12 @@ const Alert = class {
|
|
|
311
302
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
312
303
|
*/
|
|
313
304
|
async dismiss(data, role) {
|
|
314
|
-
|
|
315
|
-
const dismissed = await this
|
|
305
|
+
const unlock = await this.lockController.lock();
|
|
306
|
+
const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation, mdLeaveAnimation);
|
|
316
307
|
if (dismissed) {
|
|
317
308
|
this.delegateController.removeViewFromDom();
|
|
318
309
|
}
|
|
310
|
+
unlock();
|
|
319
311
|
return dismissed;
|
|
320
312
|
}
|
|
321
313
|
/**
|
|
@@ -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-aa433dea.js';
|
|
13
13
|
import { t as transition } from './index-6391de89.js';
|
|
14
14
|
import './index-595d62c9.js';
|
|
15
15
|
import './index-7a14ecec.js';
|
|
@@ -1107,6 +1107,7 @@ const RouterOutlet = class {
|
|
|
1107
1107
|
this.ionNavDidChange.emit();
|
|
1108
1108
|
return true;
|
|
1109
1109
|
}
|
|
1110
|
+
// TODO: FW-5048 - Remove this code in favor of using lock controller from utils
|
|
1110
1111
|
async lock() {
|
|
1111
1112
|
const p = this.waitPromise;
|
|
1112
1113
|
let resolve;
|
|
@@ -10,10 +10,11 @@ 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 {
|
|
13
|
+
import { c as createLockController } from './lock-controller-e8c6c051.js';
|
|
14
|
+
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-e1dadfe6.js';
|
|
14
15
|
import { c as createAnimation } from './animation-a1d9e088.js';
|
|
15
16
|
import { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from './haptic-6447af60.js';
|
|
16
|
-
import './framework-delegate-
|
|
17
|
+
import './framework-delegate-aa433dea.js';
|
|
17
18
|
import './hardware-back-button-39299f84.js';
|
|
18
19
|
import './index-7a14ecec.js';
|
|
19
20
|
import './capacitor-b4979570.js';
|
|
@@ -1726,6 +1727,7 @@ const Picker = class {
|
|
|
1726
1727
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
1727
1728
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
1728
1729
|
this.delegateController = createDelegateController(this);
|
|
1730
|
+
this.lockController = createLockController();
|
|
1729
1731
|
this.triggerController = createTriggerController();
|
|
1730
1732
|
this.onBackdropTap = () => {
|
|
1731
1733
|
this.dismiss(undefined, BACKDROP);
|
|
@@ -1792,24 +1794,13 @@ const Picker = class {
|
|
|
1792
1794
|
* Present the picker overlay after it has been created.
|
|
1793
1795
|
*/
|
|
1794
1796
|
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
|
-
}
|
|
1797
|
+
const unlock = await this.lockController.lock();
|
|
1806
1798
|
await this.delegateController.attachViewToDom();
|
|
1807
|
-
|
|
1808
|
-
await this.currentTransition;
|
|
1809
|
-
this.currentTransition = undefined;
|
|
1799
|
+
await present(this, 'pickerEnter', iosEnterAnimation, iosEnterAnimation, undefined);
|
|
1810
1800
|
if (this.duration > 0) {
|
|
1811
1801
|
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);
|
|
1812
1802
|
}
|
|
1803
|
+
unlock();
|
|
1813
1804
|
}
|
|
1814
1805
|
/**
|
|
1815
1806
|
* Dismiss the picker overlay after it has been presented.
|
|
@@ -1821,14 +1812,15 @@ const Picker = class {
|
|
|
1821
1812
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
1822
1813
|
*/
|
|
1823
1814
|
async dismiss(data, role) {
|
|
1815
|
+
const unlock = await this.lockController.lock();
|
|
1824
1816
|
if (this.durationTimeout) {
|
|
1825
1817
|
clearTimeout(this.durationTimeout);
|
|
1826
1818
|
}
|
|
1827
|
-
|
|
1828
|
-
const dismissed = await this.currentTransition;
|
|
1819
|
+
const dismissed = await dismiss(this, data, role, 'pickerLeave', iosLeaveAnimation, iosLeaveAnimation);
|
|
1829
1820
|
if (dismissed) {
|
|
1830
1821
|
this.delegateController.removeViewFromDom();
|
|
1831
1822
|
}
|
|
1823
|
+
unlock();
|
|
1832
1824
|
return dismissed;
|
|
1833
1825
|
}
|
|
1834
1826
|
/**
|
|
@@ -4,11 +4,12 @@
|
|
|
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 {
|
|
7
|
+
import { c as createLockController } from './lock-controller-e8c6c051.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-e1dadfe6.js';
|
|
8
9
|
import { g as getClassMap } from './theme-17531cdf.js';
|
|
9
10
|
import { c as config, b as getIonMode } from './ionic-global-1ef19007.js';
|
|
10
11
|
import { c as createAnimation } from './animation-a1d9e088.js';
|
|
11
|
-
import './framework-delegate-
|
|
12
|
+
import './framework-delegate-aa433dea.js';
|
|
12
13
|
import './hardware-back-button-39299f84.js';
|
|
13
14
|
import './index-595d62c9.js';
|
|
14
15
|
import './index-7a14ecec.js';
|
|
@@ -117,6 +118,7 @@ const Loading = class {
|
|
|
117
118
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
118
119
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
119
120
|
this.delegateController = createDelegateController(this);
|
|
121
|
+
this.lockController = createLockController();
|
|
120
122
|
this.triggerController = createTriggerController();
|
|
121
123
|
this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
122
124
|
this.presented = false;
|
|
@@ -182,24 +184,13 @@ const Loading = class {
|
|
|
182
184
|
* Present the loading overlay after it has been created.
|
|
183
185
|
*/
|
|
184
186
|
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
|
-
}
|
|
187
|
+
const unlock = await this.lockController.lock();
|
|
196
188
|
await this.delegateController.attachViewToDom();
|
|
197
|
-
|
|
198
|
-
await this.currentTransition;
|
|
189
|
+
await present(this, 'loadingEnter', iosEnterAnimation, mdEnterAnimation);
|
|
199
190
|
if (this.duration > 0) {
|
|
200
191
|
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10);
|
|
201
192
|
}
|
|
202
|
-
|
|
193
|
+
unlock();
|
|
203
194
|
}
|
|
204
195
|
/**
|
|
205
196
|
* Dismiss the loading overlay after it has been presented.
|
|
@@ -211,14 +202,15 @@ const Loading = class {
|
|
|
211
202
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
212
203
|
*/
|
|
213
204
|
async dismiss(data, role) {
|
|
205
|
+
const unlock = await this.lockController.lock();
|
|
214
206
|
if (this.durationTimeout) {
|
|
215
207
|
clearTimeout(this.durationTimeout);
|
|
216
208
|
}
|
|
217
|
-
|
|
218
|
-
const dismissed = await this.currentTransition;
|
|
209
|
+
const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation, mdLeaveAnimation);
|
|
219
210
|
if (dismissed) {
|
|
220
211
|
this.delegateController.removeViewFromDom();
|
|
221
212
|
}
|
|
213
|
+
unlock();
|
|
222
214
|
return dismissed;
|
|
223
215
|
}
|
|
224
216
|
/**
|
|
@@ -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 { q as getOverlay } from './overlays-
|
|
10
|
+
import { q as getOverlay } from './overlays-e1dadfe6.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-aa433dea.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,12 @@
|
|
|
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-aa433dea.js';
|
|
7
7
|
import { g as getElementRoot, l as clamp, r as raf, k as inheritAttributes, m as hasLazyBuild } from './helpers-3379ba19.js';
|
|
8
|
+
import { c as createLockController } from './lock-controller-e8c6c051.js';
|
|
8
9
|
import { p as printIonWarning } from './index-595d62c9.js';
|
|
9
10
|
import { g as getCapacitor } from './capacitor-b4979570.js';
|
|
10
|
-
import { G as GESTURE, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as activeAnimations, g as dismiss, h as eventMethod } from './overlays-
|
|
11
|
+
import { G as GESTURE, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as activeAnimations, g as dismiss, h as eventMethod } from './overlays-e1dadfe6.js';
|
|
11
12
|
import { g as getClassMap } from './theme-17531cdf.js';
|
|
12
13
|
import { e as deepReady, w as waitForMount } from './index-6391de89.js';
|
|
13
14
|
import { b as getIonMode, c as config } from './ionic-global-1ef19007.js';
|
|
@@ -1113,6 +1114,7 @@ const Modal = class {
|
|
|
1113
1114
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
1114
1115
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
1115
1116
|
this.ionMount = createEvent(this, "ionMount", 7);
|
|
1117
|
+
this.lockController = createLockController();
|
|
1116
1118
|
this.triggerController = createTriggerController();
|
|
1117
1119
|
this.coreDelegate = CoreDelegate();
|
|
1118
1120
|
this.isSheetModal = false;
|
|
@@ -1277,29 +1279,25 @@ const Modal = class {
|
|
|
1277
1279
|
* Present the modal overlay after it has been created.
|
|
1278
1280
|
*/
|
|
1279
1281
|
async present() {
|
|
1282
|
+
const unlock = await this.lockController.lock();
|
|
1280
1283
|
if (this.presented) {
|
|
1284
|
+
unlock();
|
|
1281
1285
|
return;
|
|
1282
1286
|
}
|
|
1283
1287
|
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
1288
|
/**
|
|
1296
1289
|
* If the modal is presented multiple times (inline modals), we
|
|
1297
1290
|
* need to reset the current breakpoint to the initial breakpoint.
|
|
1298
1291
|
*/
|
|
1299
1292
|
this.currentBreakpoint = this.initialBreakpoint;
|
|
1300
1293
|
const { inline, delegate } = this.getDelegate(true);
|
|
1301
|
-
|
|
1294
|
+
/**
|
|
1295
|
+
* Emit ionMount so JS Frameworks have an opportunity
|
|
1296
|
+
* to add the child component to the DOM. The child
|
|
1297
|
+
* component will be assigned to this.usersElement below.
|
|
1298
|
+
*/
|
|
1302
1299
|
this.ionMount.emit();
|
|
1300
|
+
this.usersElement = await attachComponent(delegate, el, this.component, ['ion-page'], this.componentProps, inline);
|
|
1303
1301
|
/**
|
|
1304
1302
|
* When using the lazy loaded build of Stencil, we need to wait
|
|
1305
1303
|
* for every Stencil component instance to be ready before presenting
|
|
@@ -1323,7 +1321,7 @@ const Modal = class {
|
|
|
1323
1321
|
await waitForMount();
|
|
1324
1322
|
}
|
|
1325
1323
|
writeTask(() => this.el.classList.add('show-modal'));
|
|
1326
|
-
|
|
1324
|
+
await present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
1327
1325
|
presentingEl: presentingElement,
|
|
1328
1326
|
currentBreakpoint: this.initialBreakpoint,
|
|
1329
1327
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -1370,14 +1368,13 @@ const Modal = class {
|
|
|
1370
1368
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
1371
1369
|
setCardStatusBarDark();
|
|
1372
1370
|
}
|
|
1373
|
-
await this.currentTransition;
|
|
1374
1371
|
if (this.isSheetModal) {
|
|
1375
1372
|
this.initSheetGesture();
|
|
1376
1373
|
}
|
|
1377
1374
|
else if (hasCardModal) {
|
|
1378
1375
|
this.initSwipeToClose();
|
|
1379
1376
|
}
|
|
1380
|
-
|
|
1377
|
+
unlock();
|
|
1381
1378
|
}
|
|
1382
1379
|
initSwipeToClose() {
|
|
1383
1380
|
var _a;
|
|
@@ -1408,6 +1405,15 @@ const Modal = class {
|
|
|
1408
1405
|
* removed from the DOM.
|
|
1409
1406
|
*/
|
|
1410
1407
|
this.gestureAnimationDismissing = true;
|
|
1408
|
+
/**
|
|
1409
|
+
* Reset the status bar style as the dismiss animation
|
|
1410
|
+
* starts otherwise the status bar will be the wrong
|
|
1411
|
+
* color for the duration of the dismiss animation.
|
|
1412
|
+
* The dismiss method does this as well, but
|
|
1413
|
+
* in this case it's only called once the animation
|
|
1414
|
+
* has finished.
|
|
1415
|
+
*/
|
|
1416
|
+
setCardStatusBarDefault(this.statusBarStyle);
|
|
1411
1417
|
this.animation.onFinish(async () => {
|
|
1412
1418
|
await this.dismiss(undefined, GESTURE);
|
|
1413
1419
|
this.gestureAnimationDismissing = false;
|
|
@@ -1467,12 +1473,19 @@ const Modal = class {
|
|
|
1467
1473
|
if (this.gestureAnimationDismissing && role !== GESTURE) {
|
|
1468
1474
|
return false;
|
|
1469
1475
|
}
|
|
1476
|
+
/**
|
|
1477
|
+
* Because the canDismiss check below is async,
|
|
1478
|
+
* we need to claim a lock before the check happens,
|
|
1479
|
+
* in case the dismiss transition does run.
|
|
1480
|
+
*/
|
|
1481
|
+
const unlock = await this.lockController.lock();
|
|
1470
1482
|
/**
|
|
1471
1483
|
* If a canDismiss handler is responsible
|
|
1472
1484
|
* for calling the dismiss method, we should
|
|
1473
1485
|
* not run the canDismiss check again.
|
|
1474
1486
|
*/
|
|
1475
1487
|
if (role !== 'handler' && !(await this.checkCanDismiss(data, role))) {
|
|
1488
|
+
unlock();
|
|
1476
1489
|
return false;
|
|
1477
1490
|
}
|
|
1478
1491
|
const { presentingElement } = this;
|
|
@@ -1490,24 +1503,12 @@ const Modal = class {
|
|
|
1490
1503
|
window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
1491
1504
|
this.keyboardOpenCallback = undefined;
|
|
1492
1505
|
}
|
|
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
1506
|
const enteringAnimation = activeAnimations.get(this) || [];
|
|
1505
|
-
|
|
1507
|
+
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, {
|
|
1506
1508
|
presentingEl: presentingElement,
|
|
1507
1509
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
1508
1510
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
1509
1511
|
});
|
|
1510
|
-
const dismissed = await this.currentTransition;
|
|
1511
1512
|
if (dismissed) {
|
|
1512
1513
|
const { delegate } = this.getDelegate();
|
|
1513
1514
|
await detachComponent(delegate, this.usersElement);
|
|
@@ -1521,8 +1522,8 @@ const Modal = class {
|
|
|
1521
1522
|
enteringAnimation.forEach((ani) => ani.destroy());
|
|
1522
1523
|
}
|
|
1523
1524
|
this.currentBreakpoint = undefined;
|
|
1524
|
-
this.currentTransition = undefined;
|
|
1525
1525
|
this.animation = undefined;
|
|
1526
|
+
unlock();
|
|
1526
1527
|
return dismissed;
|
|
1527
1528
|
}
|
|
1528
1529
|
/**
|
|
@@ -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-aa433dea.js';
|
|
10
10
|
|
|
11
11
|
const VIEW_STATE_NEW = 1;
|
|
12
12
|
const VIEW_STATE_ATTACHED = 2;
|
|
@@ -927,13 +927,7 @@ const NavLink = class {
|
|
|
927
927
|
constructor(hostRef) {
|
|
928
928
|
registerInstance(this, hostRef);
|
|
929
929
|
this.onClick = () => {
|
|
930
|
-
|
|
931
|
-
const button = el.querySelector('button,ion-button,a');
|
|
932
|
-
if (button === null || button === void 0 ? void 0 : button.hasAttribute('disabled')) {
|
|
933
|
-
// Do not navigate if the button is disabled
|
|
934
|
-
return;
|
|
935
|
-
}
|
|
936
|
-
return navLink(el, this.routerDirection, this.component, this.componentProps, this.routerAnimation);
|
|
930
|
+
return navLink(this.el, this.routerDirection, this.component, this.componentProps, this.routerAnimation);
|
|
937
931
|
};
|
|
938
932
|
this.component = undefined;
|
|
939
933
|
this.componentProps = undefined;
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-847f2fde.js';
|
|
5
|
-
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-
|
|
5
|
+
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-aa433dea.js';
|
|
6
6
|
import { r as raf, g as getElementRoot, a as addEventListener, m as hasLazyBuild } from './helpers-3379ba19.js';
|
|
7
|
+
import { c as createLockController } from './lock-controller-e8c6c051.js';
|
|
7
8
|
import { p as printIonWarning } from './index-595d62c9.js';
|
|
8
|
-
import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, o as focusFirstDescendant, g as dismiss, h as eventMethod } from './overlays-
|
|
9
|
+
import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, o as focusFirstDescendant, g as dismiss, h as eventMethod } from './overlays-e1dadfe6.js';
|
|
9
10
|
import { b as getIonMode, a as isPlatform } from './ionic-global-1ef19007.js';
|
|
10
11
|
import { g as getClassMap } from './theme-17531cdf.js';
|
|
11
12
|
import { e as deepReady, w as waitForMount } from './index-6391de89.js';
|
|
@@ -983,6 +984,7 @@ const Popover = class {
|
|
|
983
984
|
this.ionMount = createEvent(this, "ionMount", 7);
|
|
984
985
|
this.parentPopover = null;
|
|
985
986
|
this.coreDelegate = CoreDelegate();
|
|
987
|
+
this.lockController = createLockController();
|
|
986
988
|
this.inline = false;
|
|
987
989
|
this.focusDescendantOnPresent = false;
|
|
988
990
|
this.onBackdropTap = () => {
|
|
@@ -1156,28 +1158,24 @@ const Popover = class {
|
|
|
1156
1158
|
* was dispatched.
|
|
1157
1159
|
*/
|
|
1158
1160
|
async present(event) {
|
|
1161
|
+
const unlock = await this.lockController.lock();
|
|
1159
1162
|
if (this.presented) {
|
|
1163
|
+
unlock();
|
|
1160
1164
|
return;
|
|
1161
1165
|
}
|
|
1162
|
-
/**
|
|
1163
|
-
* When using an inline popover
|
|
1164
|
-
* and dismissing a popover it is possible to
|
|
1165
|
-
* quickly present the popover while it is
|
|
1166
|
-
* dismissing. We need to await any current
|
|
1167
|
-
* transition to allow the dismiss to finish
|
|
1168
|
-
* before presenting again.
|
|
1169
|
-
*/
|
|
1170
|
-
if (this.currentTransition !== undefined) {
|
|
1171
|
-
await this.currentTransition;
|
|
1172
|
-
}
|
|
1173
1166
|
const { el } = this;
|
|
1174
1167
|
const { inline, delegate } = this.getDelegate(true);
|
|
1168
|
+
/**
|
|
1169
|
+
* Emit ionMount so JS Frameworks have an opportunity
|
|
1170
|
+
* to add the child component to the DOM. The child
|
|
1171
|
+
* component will be assigned to this.usersElement below.
|
|
1172
|
+
*/
|
|
1173
|
+
this.ionMount.emit();
|
|
1175
1174
|
this.usersElement = await attachComponent(delegate, el, this.component, ['popover-viewport'], this.componentProps, inline);
|
|
1176
1175
|
if (!this.keyboardEvents) {
|
|
1177
1176
|
this.configureKeyboardInteraction();
|
|
1178
1177
|
}
|
|
1179
1178
|
this.configureDismissInteraction();
|
|
1180
|
-
this.ionMount.emit();
|
|
1181
1179
|
/**
|
|
1182
1180
|
* When using the lazy loaded build of Stencil, we need to wait
|
|
1183
1181
|
* for every Stencil component instance to be ready before presenting
|
|
@@ -1200,7 +1198,7 @@ const Popover = class {
|
|
|
1200
1198
|
else if (!this.keepContentsMounted) {
|
|
1201
1199
|
await waitForMount();
|
|
1202
1200
|
}
|
|
1203
|
-
|
|
1201
|
+
await present(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
1204
1202
|
event: event || this.event,
|
|
1205
1203
|
size: this.size,
|
|
1206
1204
|
trigger: this.triggerEl,
|
|
@@ -1208,8 +1206,6 @@ const Popover = class {
|
|
|
1208
1206
|
side: this.side,
|
|
1209
1207
|
align: this.alignment,
|
|
1210
1208
|
});
|
|
1211
|
-
await this.currentTransition;
|
|
1212
|
-
this.currentTransition = undefined;
|
|
1213
1209
|
/**
|
|
1214
1210
|
* If popover is nested and was
|
|
1215
1211
|
* presented using the "Right" arrow key,
|
|
@@ -1219,6 +1215,7 @@ const Popover = class {
|
|
|
1219
1215
|
if (this.focusDescendantOnPresent) {
|
|
1220
1216
|
focusFirstDescendant(this.el, this.el);
|
|
1221
1217
|
}
|
|
1218
|
+
unlock();
|
|
1222
1219
|
}
|
|
1223
1220
|
/**
|
|
1224
1221
|
* Dismiss the popover overlay after it has been presented.
|
|
@@ -1229,23 +1226,12 @@ const Popover = class {
|
|
|
1229
1226
|
* a parent popover if this popover is nested. Defaults to `true`.
|
|
1230
1227
|
*/
|
|
1231
1228
|
async dismiss(data, role, dismissParentPopover = true) {
|
|
1232
|
-
|
|
1233
|
-
* When using an inline popover
|
|
1234
|
-
* and presenting a popover it is possible to
|
|
1235
|
-
* quickly dismiss the popover while it is
|
|
1236
|
-
* presenting. We need to await any current
|
|
1237
|
-
* transition to allow the present to finish
|
|
1238
|
-
* before dismissing again.
|
|
1239
|
-
*/
|
|
1240
|
-
if (this.currentTransition !== undefined) {
|
|
1241
|
-
await this.currentTransition;
|
|
1242
|
-
}
|
|
1229
|
+
const unlock = await this.lockController.lock();
|
|
1243
1230
|
const { destroyKeyboardInteraction, destroyDismissInteraction } = this;
|
|
1244
1231
|
if (dismissParentPopover && this.parentPopover) {
|
|
1245
1232
|
this.parentPopover.dismiss(data, role, dismissParentPopover);
|
|
1246
1233
|
}
|
|
1247
|
-
|
|
1248
|
-
const shouldDismiss = await this.currentTransition;
|
|
1234
|
+
const shouldDismiss = await dismiss(this, data, role, 'popoverLeave', iosLeaveAnimation, mdLeaveAnimation, this.event);
|
|
1249
1235
|
if (shouldDismiss) {
|
|
1250
1236
|
if (destroyKeyboardInteraction) {
|
|
1251
1237
|
destroyKeyboardInteraction();
|
|
@@ -1263,7 +1249,7 @@ const Popover = class {
|
|
|
1263
1249
|
const { delegate } = this.getDelegate();
|
|
1264
1250
|
await detachComponent(delegate, this.usersElement);
|
|
1265
1251
|
}
|
|
1266
|
-
|
|
1252
|
+
unlock();
|
|
1267
1253
|
return shouldDismiss;
|
|
1268
1254
|
}
|
|
1269
1255
|
/**
|
|
@@ -6,14 +6,14 @@ import { c as createLegacyFormController } from './form-controller-ed77647a.js';
|
|
|
6
6
|
import { c as createNotchController } from './notch-controller-cb5bbe6a.js';
|
|
7
7
|
import { k as inheritAttributes, f as focusElement, h as findItemLabel, d as renderHiddenInput, e as getAriaLabel } from './helpers-3379ba19.js';
|
|
8
8
|
import { p as printIonWarning } from './index-595d62c9.js';
|
|
9
|
-
import { c as popoverController, b as actionSheetController, a as alertController, s as safeCall } from './overlays-
|
|
9
|
+
import { c as popoverController, b as actionSheetController, a as alertController, s as safeCall } from './overlays-e1dadfe6.js';
|
|
10
10
|
import { i as isRTL } from './dir-912e3e13.js';
|
|
11
11
|
import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-17531cdf.js';
|
|
12
12
|
import { w as watchForOptions } from './watch-options-355a920a.js';
|
|
13
13
|
import { w as chevronExpand, q as caretDownSharp } from './index-ecfc2c9f.js';
|
|
14
14
|
import { b as getIonMode } from './ionic-global-1ef19007.js';
|
|
15
15
|
import './index-7a14ecec.js';
|
|
16
|
-
import './framework-delegate-
|
|
16
|
+
import './framework-delegate-aa433dea.js';
|
|
17
17
|
import './hardware-back-button-39299f84.js';
|
|
18
18
|
|
|
19
19
|
const selectIosCss = ":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:0.6;--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(:not(.legacy-select)){width:100%}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.legacy-select){-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;overflow:hidden}:host(.in-item.legacy-select){position:static;max-width:45%}:host(.select-disabled){pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}:host([slot=start]:not(.legacy-select)),:host([slot=end]:not(.legacy-select)){width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}:host(.legacy-select) label{top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}@supports (inset-inline-start: 0){:host(.legacy-select) label{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host(.legacy-select) label{left:0}:host-context([dir=rtl]):host(.legacy-select) label,:host-context([dir=rtl]).legacy-select label{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(.legacy-select) label:dir(rtl){left:unset;right:unset;right:0}}}:host(.legacy-select) label::-moz-focus-inner{border:0}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative}:host(.in-item-color) .select-icon{color:inherit}:host(.select-label-placement-stacked) .select-icon,:host(.select-label-placement-floating) .select-icon{position:absolute;height:100%}:host(.select-ltr.select-label-placement-stacked) .select-icon,:host(.select-ltr.select-label-placement-floating) .select-icon{right:var(--padding-end, 0)}:host(.select-rtl.select-label-placement-stacked) .select-icon,:host(.select-rtl.select-label-placement-floating) .select-icon{left:var(--padding-start, 0)}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-wrapper,:host(.select-label-placement-floating) .select-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{margin-left:0;margin-right:0;margin-top:1px;margin-bottom:0;-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:0}:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.ion-focused.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:1}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-expanded.select-label-placement-floating) .label-text-wrapper,:host(.ion-focused.select-label-placement-floating) .label-text-wrapper,:host(.has-value.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}:host(.legacy-select){--padding-top:10px;--padding-end:8px;--padding-bottom:10px;--padding-start:16px}:host(:not(.legacy-select)){min-height:44px}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}.select-icon{width:18px;height:18px;color:var(--ion-color-step-650, #595959)}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{width:calc(100% - 18px - 4px)}:host(.select-disabled){opacity:0.3}";
|