@ionic/core 7.7.0 → 7.7.1-dev.11706893059.1bef4b38
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/ion-modal.js +4 -6
- package/components/overlays.js +5 -1
- package/components/select-popover.js +2 -2
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/ion-alert.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-loading.cjs.entry.js +1 -1
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +4 -6
- package/dist/cjs/ion-popover.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-toast.cjs.entry.js +1 -1
- package/dist/cjs/{overlays-c50bf3c1.js → overlays-330df245.js} +4 -1
- package/dist/collection/components/modal/modal.js +4 -6
- package/dist/collection/components/modal/test/animations/modal.e2e.js +36 -0
- package/dist/collection/components/select-popover/select-popover.ios.css +10 -0
- package/dist/collection/components/select-popover/select-popover.md.css +10 -0
- package/dist/collection/utils/overlays.js +4 -0
- package/dist/docs.json +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +1 -1
- package/dist/esm/ion-alert.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +1 -1
- package/dist/esm/ion-loading.entry.js +1 -1
- package/dist/esm/ion-menu_3.entry.js +1 -1
- package/dist/esm/ion-modal.entry.js +4 -6
- package/dist/esm/ion-popover.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +3 -3
- package/dist/esm/ion-toast.entry.js +1 -1
- package/dist/esm/{overlays-3311e70e.js → overlays-33ae3ea0.js} +5 -1
- 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-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-popover.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/{overlays-3311e70e.js → overlays-33ae3ea0.js} +1 -1
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-50a24d93.system.entry.js → p-016976a7.system.entry.js} +1 -1
- package/dist/ionic/p-0b955124.system.js +1 -1
- package/dist/ionic/{p-5a7d5f0d.entry.js → p-1f583f73.entry.js} +1 -1
- package/dist/ionic/{p-92c7f47f.system.entry.js → p-1fe311e8.system.entry.js} +1 -1
- package/dist/ionic/{p-90860bc4.entry.js → p-3cb2ab30.entry.js} +1 -1
- package/dist/ionic/{p-cfdaf024.system.entry.js → p-4c256bc2.system.entry.js} +1 -1
- package/dist/ionic/p-4dfc27eb.system.entry.js +4 -0
- package/dist/ionic/{p-0f1f0519.system.entry.js → p-61c0f8bf.system.entry.js} +1 -1
- package/dist/ionic/{p-324dafd3.entry.js → p-7dc7514a.entry.js} +1 -1
- package/dist/ionic/{p-f85932b8.entry.js → p-84513dfb.entry.js} +1 -1
- package/dist/ionic/{p-d6ca603b.entry.js → p-8ebd9951.entry.js} +1 -1
- package/dist/ionic/p-9beb5039.system.js +4 -0
- package/dist/ionic/{p-ce657bb3.entry.js → p-abb9197c.entry.js} +1 -1
- package/dist/ionic/{p-5946d7b8.system.entry.js → p-ac979ebf.system.entry.js} +1 -1
- package/dist/ionic/p-b498de69.entry.js +4 -0
- package/dist/ionic/{p-2e344096.system.entry.js → p-bd259c65.system.entry.js} +1 -1
- package/dist/ionic/{p-44638413.system.entry.js → p-c851b204.system.entry.js} +1 -1
- package/dist/ionic/{p-4ae1b532.entry.js → p-e0569db4.entry.js} +1 -1
- package/dist/ionic/{p-de5c8a55.entry.js → p-f1ad3b3d.entry.js} +1 -1
- package/dist/ionic/{p-ae40d13d.js → p-f89ae259.js} +1 -1
- package/dist/ionic/{p-1d72ecba.system.entry.js → p-f9d0e6f4.system.entry.js} +1 -1
- package/dist/ionic/{p-9c8fb374.system.js → p-fd9a9db3.system.js} +1 -1
- package/hydrate/index.js +9 -7
- package/package.json +3 -3
- package/dist/ionic/p-1172fd73.system.entry.js +0 -4
- package/dist/ionic/p-4efac4fd.system.js +0 -4
- package/dist/ionic/p-8dc4a983.entry.js +0 -4
package/components/ion-modal.js
CHANGED
|
@@ -8,7 +8,7 @@ import { g as getElementRoot, m as clamp, r as raf, d as inheritAttributes, l as
|
|
|
8
8
|
import { c as createLockController } from './lock-controller.js';
|
|
9
9
|
import { p as printIonWarning } from './index6.js';
|
|
10
10
|
import { g as getCapacitor } from './capacitor.js';
|
|
11
|
-
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present,
|
|
11
|
+
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays.js';
|
|
12
12
|
import { g as getClassMap } from './theme.js';
|
|
13
13
|
import { e as deepReady, w as waitForMount } from './index2.js';
|
|
14
14
|
import { b as getIonMode, c as config } from './ionic-global.js';
|
|
@@ -1515,7 +1515,6 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1515
1515
|
window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
1516
1516
|
this.keyboardOpenCallback = undefined;
|
|
1517
1517
|
}
|
|
1518
|
-
const enteringAnimation = activeAnimations.get(this) || [];
|
|
1519
1518
|
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, {
|
|
1520
1519
|
presentingEl: presentingElement,
|
|
1521
1520
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
@@ -1531,7 +1530,6 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1531
1530
|
if (this.gesture) {
|
|
1532
1531
|
this.gesture.destroy();
|
|
1533
1532
|
}
|
|
1534
|
-
enteringAnimation.forEach((ani) => ani.destroy());
|
|
1535
1533
|
}
|
|
1536
1534
|
this.currentBreakpoint = undefined;
|
|
1537
1535
|
this.animation = undefined;
|
|
@@ -1611,9 +1609,9 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1611
1609
|
const mode = getIonMode(this);
|
|
1612
1610
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1613
1611
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1614
|
-
return (h(Host, Object.assign({ key: '
|
|
1612
|
+
return (h(Host, Object.assign({ key: '9a305d82f123283b6200c42d67393b378bb309a8', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1615
1613
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1616
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '
|
|
1614
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '85e8dc6f19b30fd95db518445929fb0c1d5cdef0', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { class: "modal-shadow" }), h("div", Object.assign({ key: '893a0202d91828e60099311442c2677bee5464e2',
|
|
1617
1615
|
/*
|
|
1618
1616
|
role and aria-modal must be used on the
|
|
1619
1617
|
same element. They must also be set inside the
|
|
@@ -1622,7 +1620,7 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1622
1620
|
*/
|
|
1623
1621
|
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { class: "modal-handle",
|
|
1624
1622
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1625
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '
|
|
1623
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '25187bf4c69d9022930227b8b8748a294176be5f' }))));
|
|
1626
1624
|
}
|
|
1627
1625
|
get el() { return this; }
|
|
1628
1626
|
static get watchers() { return {
|
package/components/overlays.js
CHANGED
|
@@ -493,6 +493,10 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
493
493
|
}
|
|
494
494
|
overlay.didDismiss.emit({ data, role });
|
|
495
495
|
(_b = overlay.didDismissShorthand) === null || _b === void 0 ? void 0 : _b.emit({ data, role });
|
|
496
|
+
// Get a reference to all animations currently assigned to this overlay
|
|
497
|
+
// Then tear them down to return the overlay to its initial visual state
|
|
498
|
+
const animations = activeAnimations.get(overlay) || [];
|
|
499
|
+
animations.forEach((ani) => ani.destroy());
|
|
496
500
|
activeAnimations.delete(overlay);
|
|
497
501
|
/**
|
|
498
502
|
* Make overlay hidden again in case it is being reused.
|
|
@@ -709,4 +713,4 @@ const createTriggerController = () => {
|
|
|
709
713
|
};
|
|
710
714
|
};
|
|
711
715
|
|
|
712
|
-
export { BACKDROP as B, GESTURE as G, OVERLAY_GESTURE_PRIORITY as O, alertController as a, actionSheetController as b, popoverController as c, createDelegateController as d, createTriggerController as e, present as f, dismiss as g, eventMethod as h, isCancel as i, prepareOverlay as j, setOverlayId as k, loadingController as l, modalController as m, focusFirstDescendant as n, getPresentedOverlay as o, pickerController as p,
|
|
716
|
+
export { BACKDROP as B, GESTURE as G, OVERLAY_GESTURE_PRIORITY as O, alertController as a, actionSheetController as b, popoverController as c, createDelegateController as d, createTriggerController as e, present as f, dismiss as g, eventMethod as h, isCancel as i, prepareOverlay as j, setOverlayId as k, loadingController as l, modalController as m, focusFirstDescendant as n, getPresentedOverlay as o, pickerController as p, safeCall as s, toastController as t };
|
|
@@ -16,10 +16,10 @@ import { d as defineCustomElement$3 } from './radio.js';
|
|
|
16
16
|
import { d as defineCustomElement$2 } from './radio-group.js';
|
|
17
17
|
import { d as defineCustomElement$1 } from './ripple-effect.js';
|
|
18
18
|
|
|
19
|
-
const selectPopoverIosCss = ".sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}";
|
|
19
|
+
const selectPopoverIosCss = ".sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-ios-h{overflow-y:auto}";
|
|
20
20
|
const IonSelectPopoverIosStyle0 = selectPopoverIosCss;
|
|
21
21
|
|
|
22
|
-
const selectPopoverMdCss = ".sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container){opacity:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.08);--background-focused:var(--ion-color-primary, #3880ff);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #3880ff);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #3880ff)}";
|
|
22
|
+
const selectPopoverMdCss = ".sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-md-h{overflow-y:auto}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container){opacity:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.08);--background-focused:var(--ion-color-primary, #3880ff);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #3880ff);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #3880ff)}";
|
|
23
23
|
const IonSelectPopoverMdStyle0 = selectPopoverMdCss;
|
|
24
24
|
|
|
25
25
|
const SelectPopover = /*@__PURE__*/ proxyCustomElement(class SelectPopover extends HTMLElement {
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -16,7 +16,7 @@ const helpers = require('./helpers-2e1028fa.js');
|
|
|
16
16
|
const config = require('./config-4f60b98a.js');
|
|
17
17
|
const theme = require('./theme-d1c573d2.js');
|
|
18
18
|
const index$2 = require('./index-8c679cbf.js');
|
|
19
|
-
const overlays = require('./overlays-
|
|
19
|
+
const overlays = require('./overlays-330df245.js');
|
|
20
20
|
require('./index-c8d52405.js');
|
|
21
21
|
require('./index-5a471146.js');
|
|
22
22
|
require('./gesture-controller-c40c045a.js');
|
|
@@ -9,7 +9,7 @@ const index = require('./index-5a471146.js');
|
|
|
9
9
|
const buttonActive = require('./button-active-b8c3f603.js');
|
|
10
10
|
const helpers = require('./helpers-2e1028fa.js');
|
|
11
11
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
12
|
-
const overlays = require('./overlays-
|
|
12
|
+
const overlays = require('./overlays-330df245.js');
|
|
13
13
|
const theme = require('./theme-d1c573d2.js');
|
|
14
14
|
const ionicGlobal = require('./ionic-global-7358c23e.js');
|
|
15
15
|
const animation = require('./animation-fdab9de5.js');
|
|
@@ -10,7 +10,7 @@ const config = require('./config-4f60b98a.js');
|
|
|
10
10
|
const buttonActive = require('./button-active-b8c3f603.js');
|
|
11
11
|
const helpers = require('./helpers-2e1028fa.js');
|
|
12
12
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
13
|
-
const overlays = require('./overlays-
|
|
13
|
+
const overlays = require('./overlays-330df245.js');
|
|
14
14
|
const theme = require('./theme-d1c573d2.js');
|
|
15
15
|
const ionicGlobal = require('./ionic-global-7358c23e.js');
|
|
16
16
|
const animation = require('./animation-fdab9de5.js');
|
|
@@ -15,7 +15,7 @@ const index$2 = require('./index-f52c6d38.js');
|
|
|
15
15
|
const ionicGlobal = require('./ionic-global-7358c23e.js');
|
|
16
16
|
const data = require('./data-a5109f09.js');
|
|
17
17
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
18
|
-
const overlays = require('./overlays-
|
|
18
|
+
const overlays = require('./overlays-330df245.js');
|
|
19
19
|
const animation = require('./animation-fdab9de5.js');
|
|
20
20
|
const haptic = require('./haptic-b882e0bb.js');
|
|
21
21
|
require('./index-c8d52405.js');
|
|
@@ -9,7 +9,7 @@ const index = require('./index-5a471146.js');
|
|
|
9
9
|
const config = require('./config-4f60b98a.js');
|
|
10
10
|
const helpers = require('./helpers-2e1028fa.js');
|
|
11
11
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
12
|
-
const overlays = require('./overlays-
|
|
12
|
+
const overlays = require('./overlays-330df245.js');
|
|
13
13
|
const theme = require('./theme-d1c573d2.js');
|
|
14
14
|
const ionicGlobal = require('./ionic-global-7358c23e.js');
|
|
15
15
|
const animation = require('./animation-fdab9de5.js');
|
|
@@ -11,7 +11,7 @@ const gestureController = require('./gesture-controller-c40c045a.js');
|
|
|
11
11
|
const hardwareBackButton = require('./hardware-back-button-d23873bb.js');
|
|
12
12
|
const helpers = require('./helpers-2e1028fa.js');
|
|
13
13
|
const index$1 = require('./index-8c679cbf.js');
|
|
14
|
-
const overlays = require('./overlays-
|
|
14
|
+
const overlays = require('./overlays-330df245.js');
|
|
15
15
|
const ionicGlobal = require('./ionic-global-7358c23e.js');
|
|
16
16
|
const theme = require('./theme-d1c573d2.js');
|
|
17
17
|
const index$2 = require('./index-f52c6d38.js');
|
|
@@ -12,7 +12,7 @@ const helpers = require('./helpers-2e1028fa.js');
|
|
|
12
12
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
13
13
|
const index$4 = require('./index-5915f9b3.js');
|
|
14
14
|
const capacitor = require('./capacitor-c04564bf.js');
|
|
15
|
-
const overlays = require('./overlays-
|
|
15
|
+
const overlays = require('./overlays-330df245.js');
|
|
16
16
|
const theme = require('./theme-d1c573d2.js');
|
|
17
17
|
const index$5 = require('./index-84351d21.js');
|
|
18
18
|
const ionicGlobal = require('./ionic-global-7358c23e.js');
|
|
@@ -1519,7 +1519,6 @@ const Modal = class {
|
|
|
1519
1519
|
window.removeEventListener(keyboard.KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
1520
1520
|
this.keyboardOpenCallback = undefined;
|
|
1521
1521
|
}
|
|
1522
|
-
const enteringAnimation = overlays.activeAnimations.get(this) || [];
|
|
1523
1522
|
const dismissed = await overlays.dismiss(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, {
|
|
1524
1523
|
presentingEl: presentingElement,
|
|
1525
1524
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
@@ -1535,7 +1534,6 @@ const Modal = class {
|
|
|
1535
1534
|
if (this.gesture) {
|
|
1536
1535
|
this.gesture.destroy();
|
|
1537
1536
|
}
|
|
1538
|
-
enteringAnimation.forEach((ani) => ani.destroy());
|
|
1539
1537
|
}
|
|
1540
1538
|
this.currentBreakpoint = undefined;
|
|
1541
1539
|
this.animation = undefined;
|
|
@@ -1615,9 +1613,9 @@ const Modal = class {
|
|
|
1615
1613
|
const mode = ionicGlobal.getIonMode(this);
|
|
1616
1614
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1617
1615
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1618
|
-
return (index$3.h(index$3.Host, Object.assign({ key: '
|
|
1616
|
+
return (index$3.h(index$3.Host, Object.assign({ key: '9a305d82f123283b6200c42d67393b378bb309a8', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1619
1617
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1620
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), index$3.h("ion-backdrop", { key: '
|
|
1618
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), index$3.h("ion-backdrop", { key: '85e8dc6f19b30fd95db518445929fb0c1d5cdef0', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '893a0202d91828e60099311442c2677bee5464e2',
|
|
1621
1619
|
/*
|
|
1622
1620
|
role and aria-modal must be used on the
|
|
1623
1621
|
same element. They must also be set inside the
|
|
@@ -1626,7 +1624,7 @@ const Modal = class {
|
|
|
1626
1624
|
*/
|
|
1627
1625
|
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { class: "modal-handle",
|
|
1628
1626
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1629
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), index$3.h("slot", { key: '
|
|
1627
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), index$3.h("slot", { key: '25187bf4c69d9022930227b8b8748a294176be5f' }))));
|
|
1630
1628
|
}
|
|
1631
1629
|
get el() { return index$3.getElement(this); }
|
|
1632
1630
|
static get watchers() { return {
|
|
@@ -10,7 +10,7 @@ const frameworkDelegate = require('./framework-delegate-a3e6d060.js');
|
|
|
10
10
|
const helpers = require('./helpers-2e1028fa.js');
|
|
11
11
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
12
12
|
const index$1 = require('./index-5915f9b3.js');
|
|
13
|
-
const overlays = require('./overlays-
|
|
13
|
+
const overlays = require('./overlays-330df245.js');
|
|
14
14
|
const ionicGlobal = require('./ionic-global-7358c23e.js');
|
|
15
15
|
const theme = require('./theme-d1c573d2.js');
|
|
16
16
|
const index$2 = require('./index-84351d21.js');
|
|
@@ -11,7 +11,7 @@ const notchController = require('./notch-controller-db0127c4.js');
|
|
|
11
11
|
const compareWithUtils = require('./compare-with-utils-df1001d7.js');
|
|
12
12
|
const helpers = require('./helpers-2e1028fa.js');
|
|
13
13
|
const index$1 = require('./index-5915f9b3.js');
|
|
14
|
-
const overlays = require('./overlays-
|
|
14
|
+
const overlays = require('./overlays-330df245.js');
|
|
15
15
|
const dir = require('./dir-94c21456.js');
|
|
16
16
|
const theme = require('./theme-d1c573d2.js');
|
|
17
17
|
const watchOptions = require('./watch-options-f5f3e158.js');
|
|
@@ -761,10 +761,10 @@ const SelectOption = class {
|
|
|
761
761
|
let selectOptionIds = 0;
|
|
762
762
|
SelectOption.style = IonSelectOptionStyle0;
|
|
763
763
|
|
|
764
|
-
const selectPopoverIosCss = ".sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}";
|
|
764
|
+
const selectPopoverIosCss = ".sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-ios-h{overflow-y:auto}";
|
|
765
765
|
const IonSelectPopoverIosStyle0 = selectPopoverIosCss;
|
|
766
766
|
|
|
767
|
-
const selectPopoverMdCss = ".sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container){opacity:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.08);--background-focused:var(--ion-color-primary, #3880ff);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #3880ff);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #3880ff)}";
|
|
767
|
+
const selectPopoverMdCss = ".sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-md-h{overflow-y:auto}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container){opacity:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.08);--background-focused:var(--ion-color-primary, #3880ff);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #3880ff);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #3880ff)}";
|
|
768
768
|
const IonSelectPopoverMdStyle0 = selectPopoverMdCss;
|
|
769
769
|
|
|
770
770
|
const SelectPopover = class {
|
|
@@ -10,7 +10,7 @@ const config = require('./config-4f60b98a.js');
|
|
|
10
10
|
const helpers = require('./helpers-2e1028fa.js');
|
|
11
11
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
12
12
|
const index$1 = require('./index-5915f9b3.js');
|
|
13
|
-
const overlays = require('./overlays-
|
|
13
|
+
const overlays = require('./overlays-330df245.js');
|
|
14
14
|
const theme = require('./theme-d1c573d2.js');
|
|
15
15
|
const ionicGlobal = require('./ionic-global-7358c23e.js');
|
|
16
16
|
const animation = require('./animation-fdab9de5.js');
|
|
@@ -495,6 +495,10 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
495
495
|
}
|
|
496
496
|
overlay.didDismiss.emit({ data, role });
|
|
497
497
|
(_b = overlay.didDismissShorthand) === null || _b === void 0 ? void 0 : _b.emit({ data, role });
|
|
498
|
+
// Get a reference to all animations currently assigned to this overlay
|
|
499
|
+
// Then tear them down to return the overlay to its initial visual state
|
|
500
|
+
const animations = activeAnimations.get(overlay) || [];
|
|
501
|
+
animations.forEach((ani) => ani.destroy());
|
|
498
502
|
activeAnimations.delete(overlay);
|
|
499
503
|
/**
|
|
500
504
|
* Make overlay hidden again in case it is being reused.
|
|
@@ -715,7 +719,6 @@ exports.BACKDROP = BACKDROP;
|
|
|
715
719
|
exports.GESTURE = GESTURE;
|
|
716
720
|
exports.OVERLAY_GESTURE_PRIORITY = OVERLAY_GESTURE_PRIORITY;
|
|
717
721
|
exports.actionSheetController = actionSheetController;
|
|
718
|
-
exports.activeAnimations = activeAnimations;
|
|
719
722
|
exports.alertController = alertController;
|
|
720
723
|
exports.createDelegateController = createDelegateController;
|
|
721
724
|
exports.createTriggerController = createTriggerController;
|
|
@@ -8,7 +8,7 @@ import { raf, inheritAttributes, hasLazyBuild } from "../../utils/helpers";
|
|
|
8
8
|
import { createLockController } from "../../utils/lock-controller";
|
|
9
9
|
import { printIonWarning } from "../../utils/logging/index";
|
|
10
10
|
import { Style as StatusBarStyle, StatusBar } from "../../utils/native/status-bar";
|
|
11
|
-
import { GESTURE, BACKDROP,
|
|
11
|
+
import { GESTURE, BACKDROP, dismiss, eventMethod, prepareOverlay, present, createTriggerController, setOverlayId, } from "../../utils/overlays";
|
|
12
12
|
import { getClassMap } from "../../utils/theme";
|
|
13
13
|
import { deepReady, waitForMount } from "../../utils/transition/index";
|
|
14
14
|
import { config } from "../../global/config";
|
|
@@ -432,7 +432,6 @@ export class Modal {
|
|
|
432
432
|
window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
433
433
|
this.keyboardOpenCallback = undefined;
|
|
434
434
|
}
|
|
435
|
-
const enteringAnimation = activeAnimations.get(this) || [];
|
|
436
435
|
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, {
|
|
437
436
|
presentingEl: presentingElement,
|
|
438
437
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
@@ -448,7 +447,6 @@ export class Modal {
|
|
|
448
447
|
if (this.gesture) {
|
|
449
448
|
this.gesture.destroy();
|
|
450
449
|
}
|
|
451
|
-
enteringAnimation.forEach((ani) => ani.destroy());
|
|
452
450
|
}
|
|
453
451
|
this.currentBreakpoint = undefined;
|
|
454
452
|
this.animation = undefined;
|
|
@@ -528,9 +526,9 @@ export class Modal {
|
|
|
528
526
|
const mode = getIonMode(this);
|
|
529
527
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
530
528
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
531
|
-
return (h(Host, Object.assign({ key: '
|
|
529
|
+
return (h(Host, Object.assign({ key: '9a305d82f123283b6200c42d67393b378bb309a8', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
532
530
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
533
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '
|
|
531
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '85e8dc6f19b30fd95db518445929fb0c1d5cdef0', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { class: "modal-shadow" }), h("div", Object.assign({ key: '893a0202d91828e60099311442c2677bee5464e2',
|
|
534
532
|
/*
|
|
535
533
|
role and aria-modal must be used on the
|
|
536
534
|
same element. They must also be set inside the
|
|
@@ -539,7 +537,7 @@ export class Modal {
|
|
|
539
537
|
*/
|
|
540
538
|
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { class: "modal-handle",
|
|
541
539
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
542
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '
|
|
540
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '25187bf4c69d9022930227b8b8748a294176be5f' }))));
|
|
543
541
|
}
|
|
544
542
|
static get is() { return "ion-modal"; }
|
|
545
543
|
static get encapsulation() { return "shadow"; }
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { expect } from "@playwright/test";
|
|
5
|
+
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
|
+
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ config, title }) => {
|
|
7
|
+
test.describe(title('modal: animations'), () => {
|
|
8
|
+
test.beforeEach(async ({ page }) => {
|
|
9
|
+
await page.setContent(`
|
|
10
|
+
<ion-modal is-open="true" trigger="open-modal"></ion-modal>
|
|
11
|
+
`, config);
|
|
12
|
+
});
|
|
13
|
+
test('card modal should clean up animations on dismiss', async ({ page }, testInfo) => {
|
|
14
|
+
testInfo.annotations.push({
|
|
15
|
+
type: 'issue',
|
|
16
|
+
description: 'https://github.com/ionic-team/ionic-framework/issues/28352',
|
|
17
|
+
});
|
|
18
|
+
const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss');
|
|
19
|
+
const modal = page.locator('ion-modal');
|
|
20
|
+
const initialAnimations = await modal.evaluate((el) => {
|
|
21
|
+
return el.shadowRoot.getAnimations();
|
|
22
|
+
});
|
|
23
|
+
// While the modal is open, it should have animations
|
|
24
|
+
expect(initialAnimations.length).toBeGreaterThan(0);
|
|
25
|
+
await modal.evaluate((el) => {
|
|
26
|
+
el.dismiss();
|
|
27
|
+
});
|
|
28
|
+
await ionModalDidDismiss.next();
|
|
29
|
+
const currentAnimations = await modal.evaluate((el) => {
|
|
30
|
+
return el.shadowRoot.getAnimations();
|
|
31
|
+
});
|
|
32
|
+
// Once the modal has finished closing, there should be no animations
|
|
33
|
+
expect(currentAnimations.length).toBe(0);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
});
|
|
@@ -68,6 +68,16 @@ ion-label {
|
|
|
68
68
|
margin-bottom: 0;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
/**
|
|
72
|
+
* The main content inside of a popover has overflow: hidden
|
|
73
|
+
* so that scrolling scroll a descendant ion-content.
|
|
74
|
+
* However, select-popover does not use ion-content so we need
|
|
75
|
+
* to explicitly make this container scrollable.
|
|
76
|
+
*/
|
|
77
|
+
:host {
|
|
78
|
+
overflow-y: auto;
|
|
79
|
+
}
|
|
80
|
+
|
|
71
81
|
/**
|
|
72
82
|
* Convert a font size to a dynamic font size.
|
|
73
83
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -68,6 +68,16 @@ ion-label {
|
|
|
68
68
|
margin-bottom: 0;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
/**
|
|
72
|
+
* The main content inside of a popover has overflow: hidden
|
|
73
|
+
* so that scrolling scroll a descendant ion-content.
|
|
74
|
+
* However, select-popover does not use ion-content so we need
|
|
75
|
+
* to explicitly make this container scrollable.
|
|
76
|
+
*/
|
|
77
|
+
:host {
|
|
78
|
+
overflow-y: auto;
|
|
79
|
+
}
|
|
80
|
+
|
|
71
81
|
/**
|
|
72
82
|
* Convert a font size to a dynamic font size.
|
|
73
83
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -494,6 +494,10 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
|
|
|
494
494
|
}
|
|
495
495
|
overlay.didDismiss.emit({ data, role });
|
|
496
496
|
(_b = overlay.didDismissShorthand) === null || _b === void 0 ? void 0 : _b.emit({ data, role });
|
|
497
|
+
// Get a reference to all animations currently assigned to this overlay
|
|
498
|
+
// Then tear them down to return the overlay to its initial visual state
|
|
499
|
+
const animations = activeAnimations.get(overlay) || [];
|
|
500
|
+
animations.forEach((ani) => ani.destroy());
|
|
497
501
|
activeAnimations.delete(overlay);
|
|
498
502
|
/**
|
|
499
503
|
* Make overlay hidden again in case it is being reused.
|
package/dist/docs.json
CHANGED
package/dist/esm/index.js
CHANGED
|
@@ -12,7 +12,7 @@ export { c as componentOnReady } from './helpers-c0b9ca37.js';
|
|
|
12
12
|
export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-49c88215.js';
|
|
13
13
|
export { o as openURL } from './theme-01f3f29c.js';
|
|
14
14
|
export { m as menuController } from './index-48209844.js';
|
|
15
|
-
export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-
|
|
15
|
+
export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-33ae3ea0.js';
|
|
16
16
|
import './index-a5d50daf.js';
|
|
17
17
|
import './index-73881b51.js';
|
|
18
18
|
import './gesture-controller-1bf57181.js';
|
|
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, e as readTask, h, H as Host, f
|
|
|
5
5
|
import { c as createButtonActiveGesture } from './button-active-4bee452c.js';
|
|
6
6
|
import { r as raf } from './helpers-c0b9ca37.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
8
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-
|
|
8
|
+
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-33ae3ea0.js';
|
|
9
9
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
10
10
|
import { b as getIonMode } from './ionic-global-778b7863.js';
|
|
11
11
|
import { c as createAnimation } from './animation-60dbdd13.js';
|
|
@@ -6,7 +6,7 @@ import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './conf
|
|
|
6
6
|
import { c as createButtonActiveGesture } from './button-active-4bee452c.js';
|
|
7
7
|
import { r as raf } from './helpers-c0b9ca37.js';
|
|
8
8
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
9
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-
|
|
9
|
+
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-33ae3ea0.js';
|
|
10
10
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
11
11
|
import { c as config, b as getIonMode } from './ionic-global-778b7863.js';
|
|
12
12
|
import { c as createAnimation } from './animation-60dbdd13.js';
|
|
@@ -11,7 +11,7 @@ import { c as chevronBack, o as chevronForward, l as chevronDown, p as caretUpSh
|
|
|
11
11
|
import { b as getIonMode } from './ionic-global-778b7863.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 getNextYear, j as getPreviousYear, k as getEndOfWeek, l as getStartOfWeek, m as getPreviousDay, n as getNextDay, o as getPreviousWeek, p as getNextWeek, q as parseMinParts, r as parseMaxParts, s as parseDate, w as warnIfValueOutOfBounds, t as convertToArrayOfNumbers, u as convertDataToISO, x as getToday, y as getClosestValidDate, z as generateMonths, A as getNumDaysInMonth, B as getCombinedDateColumnData, C as getMonthColumnData, D as getDayColumnData, E as getYearColumnData, F as isMonthFirstLocale, G as getTimeColumnsData, H as isLocaleDayPeriodRTL, I as getDaysOfWeek, J as getMonthAndYear, K as getDaysOfMonth, L as getHourCycle, M as getLocalizedTime, N as getMonthAndDay, O as formatValue, P as clampDate, Q as parseAmPm, R as calculateHourFromAMPM } from './data-0f3ab200.js';
|
|
13
13
|
import { c as createLockController } from './lock-controller-316928be.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-
|
|
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-33ae3ea0.js';
|
|
15
15
|
import { c as createAnimation } from './animation-60dbdd13.js';
|
|
16
16
|
import { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from './haptic-554688a5.js';
|
|
17
17
|
import './index-a5d50daf.js';
|
|
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, h, H as Host, f as getElement
|
|
|
5
5
|
import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-49c88215.js';
|
|
6
6
|
import { r as raf } from './helpers-c0b9ca37.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
8
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-
|
|
8
|
+
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-33ae3ea0.js';
|
|
9
9
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
10
10
|
import { c as config, b as getIonMode } from './ionic-global-778b7863.js';
|
|
11
11
|
import { c as createAnimation } from './animation-60dbdd13.js';
|
|
@@ -7,7 +7,7 @@ import { G as GESTURE_CONTROLLER } from './gesture-controller-1bf57181.js';
|
|
|
7
7
|
import { shoudUseCloseWatcher } from './hardware-back-button-f42b9c80.js';
|
|
8
8
|
import { p as isEndSide, i as inheritAriaAttributes, o as assert, l as clamp } from './helpers-c0b9ca37.js';
|
|
9
9
|
import { m as menuController } from './index-48209844.js';
|
|
10
|
-
import {
|
|
10
|
+
import { o as getPresentedOverlay } from './overlays-33ae3ea0.js';
|
|
11
11
|
import { c as config, b as getIonMode } from './ionic-global-778b7863.js';
|
|
12
12
|
import { c as createColorClasses, h as hostContext } from './theme-01f3f29c.js';
|
|
13
13
|
import { u as menuOutline, v as menuSharp } from './index-f7dc70ba.js';
|
|
@@ -8,7 +8,7 @@ import { g as getElementRoot, l as clamp, r as raf, k as inheritAttributes, m as
|
|
|
8
8
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
9
9
|
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
10
10
|
import { g as getCapacitor } from './capacitor-59395cbd.js';
|
|
11
|
-
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present,
|
|
11
|
+
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-33ae3ea0.js';
|
|
12
12
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
13
13
|
import { e as deepReady, w as waitForMount } from './index-4b98143d.js';
|
|
14
14
|
import { b as getIonMode, c as config } from './ionic-global-778b7863.js';
|
|
@@ -1515,7 +1515,6 @@ const Modal = class {
|
|
|
1515
1515
|
window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
1516
1516
|
this.keyboardOpenCallback = undefined;
|
|
1517
1517
|
}
|
|
1518
|
-
const enteringAnimation = activeAnimations.get(this) || [];
|
|
1519
1518
|
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, {
|
|
1520
1519
|
presentingEl: presentingElement,
|
|
1521
1520
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
@@ -1531,7 +1530,6 @@ const Modal = class {
|
|
|
1531
1530
|
if (this.gesture) {
|
|
1532
1531
|
this.gesture.destroy();
|
|
1533
1532
|
}
|
|
1534
|
-
enteringAnimation.forEach((ani) => ani.destroy());
|
|
1535
1533
|
}
|
|
1536
1534
|
this.currentBreakpoint = undefined;
|
|
1537
1535
|
this.animation = undefined;
|
|
@@ -1611,9 +1609,9 @@ const Modal = class {
|
|
|
1611
1609
|
const mode = getIonMode(this);
|
|
1612
1610
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1613
1611
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1614
|
-
return (h(Host, Object.assign({ key: '
|
|
1612
|
+
return (h(Host, Object.assign({ key: '9a305d82f123283b6200c42d67393b378bb309a8', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1615
1613
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1616
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '
|
|
1614
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '85e8dc6f19b30fd95db518445929fb0c1d5cdef0', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { class: "modal-shadow" }), h("div", Object.assign({ key: '893a0202d91828e60099311442c2677bee5464e2',
|
|
1617
1615
|
/*
|
|
1618
1616
|
role and aria-modal must be used on the
|
|
1619
1617
|
same element. They must also be set inside the
|
|
@@ -1622,7 +1620,7 @@ const Modal = class {
|
|
|
1622
1620
|
*/
|
|
1623
1621
|
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { class: "modal-handle",
|
|
1624
1622
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1625
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '
|
|
1623
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '25187bf4c69d9022930227b8b8748a294176be5f' }))));
|
|
1626
1624
|
}
|
|
1627
1625
|
get el() { return getElement(this); }
|
|
1628
1626
|
static get watchers() { return {
|
|
@@ -6,7 +6,7 @@ import { C as CoreDelegate, a as attachComponent, d as detachComponent } from '.
|
|
|
6
6
|
import { r as raf, g as getElementRoot, a as addEventListener, m as hasLazyBuild } from './helpers-c0b9ca37.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
8
8
|
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
9
|
-
import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present,
|
|
9
|
+
import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod } from './overlays-33ae3ea0.js';
|
|
10
10
|
import { b as getIonMode, a as isPlatform } from './ionic-global-778b7863.js';
|
|
11
11
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
12
12
|
import { e as deepReady, w as waitForMount } from './index-4b98143d.js';
|
|
@@ -7,7 +7,7 @@ import { c as createNotchController } from './notch-controller-15d281a4.js';
|
|
|
7
7
|
import { i as isOptionSelected, c as compareOptions } from './compare-with-utils-a96ff2ea.js';
|
|
8
8
|
import { k as inheritAttributes, f as focusElement, h as findItemLabel, d as renderHiddenInput, e as getAriaLabel } from './helpers-c0b9ca37.js';
|
|
9
9
|
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
10
|
-
import { c as popoverController, b as actionSheetController, a as alertController, s as safeCall } from './overlays-
|
|
10
|
+
import { c as popoverController, b as actionSheetController, a as alertController, s as safeCall } from './overlays-33ae3ea0.js';
|
|
11
11
|
import { i as isRTL } from './dir-babeabeb.js';
|
|
12
12
|
import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-01f3f29c.js';
|
|
13
13
|
import { w as watchForOptions } from './watch-options-c2911ace.js';
|
|
@@ -757,10 +757,10 @@ const SelectOption = class {
|
|
|
757
757
|
let selectOptionIds = 0;
|
|
758
758
|
SelectOption.style = IonSelectOptionStyle0;
|
|
759
759
|
|
|
760
|
-
const selectPopoverIosCss = ".sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}";
|
|
760
|
+
const selectPopoverIosCss = ".sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-ios-h{overflow-y:auto}";
|
|
761
761
|
const IonSelectPopoverIosStyle0 = selectPopoverIosCss;
|
|
762
762
|
|
|
763
|
-
const selectPopoverMdCss = ".sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container){opacity:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.08);--background-focused:var(--ion-color-primary, #3880ff);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #3880ff);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #3880ff)}";
|
|
763
|
+
const selectPopoverMdCss = ".sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-md-h{overflow-y:auto}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container){opacity:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.08);--background-focused:var(--ion-color-primary, #3880ff);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #3880ff);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #3880ff)}";
|
|
764
764
|
const IonSelectPopoverMdStyle0 = selectPopoverMdCss;
|
|
765
765
|
|
|
766
766
|
const SelectPopover = class {
|
|
@@ -6,7 +6,7 @@ import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './conf
|
|
|
6
6
|
import { g as getElementRoot, r as raf } from './helpers-c0b9ca37.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
8
8
|
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
9
|
-
import { O as OVERLAY_GESTURE_PRIORITY, d as createDelegateController, e as createTriggerController, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall, G as GESTURE } from './overlays-
|
|
9
|
+
import { O as OVERLAY_GESTURE_PRIORITY, d as createDelegateController, e as createTriggerController, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall, G as GESTURE } from './overlays-33ae3ea0.js';
|
|
10
10
|
import { g as getClassMap, c as createColorClasses } from './theme-01f3f29c.js';
|
|
11
11
|
import { c as config, b as getIonMode } from './ionic-global-778b7863.js';
|
|
12
12
|
import { c as createAnimation } from './animation-60dbdd13.js';
|
|
@@ -493,6 +493,10 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
493
493
|
}
|
|
494
494
|
overlay.didDismiss.emit({ data, role });
|
|
495
495
|
(_b = overlay.didDismissShorthand) === null || _b === void 0 ? void 0 : _b.emit({ data, role });
|
|
496
|
+
// Get a reference to all animations currently assigned to this overlay
|
|
497
|
+
// Then tear them down to return the overlay to its initial visual state
|
|
498
|
+
const animations = activeAnimations.get(overlay) || [];
|
|
499
|
+
animations.forEach((ani) => ani.destroy());
|
|
496
500
|
activeAnimations.delete(overlay);
|
|
497
501
|
/**
|
|
498
502
|
* Make overlay hidden again in case it is being reused.
|
|
@@ -709,4 +713,4 @@ const createTriggerController = () => {
|
|
|
709
713
|
};
|
|
710
714
|
};
|
|
711
715
|
|
|
712
|
-
export { BACKDROP as B, GESTURE as G, OVERLAY_GESTURE_PRIORITY as O, alertController as a, actionSheetController as b, popoverController as c, createDelegateController as d, createTriggerController as e, present as f, dismiss as g, eventMethod as h, isCancel as i, prepareOverlay as j, setOverlayId as k, loadingController as l, modalController as m,
|
|
716
|
+
export { BACKDROP as B, GESTURE as G, OVERLAY_GESTURE_PRIORITY as O, alertController as a, actionSheetController as b, popoverController as c, createDelegateController as d, createTriggerController as e, present as f, dismiss as g, eventMethod as h, isCancel as i, prepareOverlay as j, setOverlayId as k, loadingController as l, modalController as m, focusFirstDescendant as n, getPresentedOverlay as o, pickerController as p, safeCall as s, toastController as t };
|