@ionic/core 8.7.6-dev.11759345401.165fca78 → 8.7.6-dev.11759412372.1f332f62
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-tab-bar.js +7 -20
- package/components/ion-tabs.js +22 -21
- package/components/modal.js +25 -11
- package/components/overlays.js +23 -10
- package/components/popover.js +3 -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 +26 -12
- package/dist/cjs/ion-popover.cjs.entry.js +4 -3
- package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +7 -20
- package/dist/cjs/ion-tab_2.cjs.entry.js +22 -21
- package/dist/cjs/ion-toast.cjs.entry.js +1 -1
- package/dist/cjs/{overlays-czPyT6xP.js → overlays-CnXxzdUE.js} +23 -10
- package/dist/collection/components/modal/gestures/sheet.js +20 -7
- package/dist/collection/components/modal/modal.js +5 -4
- package/dist/collection/components/popover/popover.js +3 -2
- package/dist/collection/components/tab-bar/tab-bar.js +7 -20
- package/dist/collection/components/tabs/tabs.js +22 -21
- package/dist/collection/utils/overlays.js +23 -10
- 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 +26 -12
- package/dist/esm/ion-popover.entry.js +4 -3
- package/dist/esm/ion-select-modal.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +1 -1
- package/dist/esm/ion-tab-bar_2.entry.js +7 -20
- package/dist/esm/ion-tab_2.entry.js +22 -21
- package/dist/esm/ion-toast.entry.js +1 -1
- package/dist/esm/{overlays-BYcYBCrx.js → overlays-C6lqoZ8M.js} +23 -10
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-0793aea6.entry.js → p-24cfbd94.entry.js} +1 -1
- package/dist/ionic/{p-746cd400.entry.js → p-2d199573.entry.js} +1 -1
- package/dist/ionic/{p-117e7a3f.entry.js → p-37074de0.entry.js} +1 -1
- package/dist/ionic/{p-568efea2.entry.js → p-3ea6a927.entry.js} +1 -1
- package/dist/ionic/{p-90f4cc71.entry.js → p-4cc97550.entry.js} +1 -1
- package/dist/ionic/p-55ea7dfc.entry.js +4 -0
- package/dist/ionic/{p-25e5e5cc.entry.js → p-56a91276.entry.js} +1 -1
- package/dist/ionic/{p-1f68cb59.entry.js → p-5a1f919a.entry.js} +1 -1
- package/dist/ionic/p-BW3pge-V.js +4 -0
- package/dist/ionic/{p-63852736.entry.js → p-b21fce9d.entry.js} +1 -1
- package/dist/ionic/{p-0e1904a0.entry.js → p-b7c1a16e.entry.js} +1 -1
- package/dist/ionic/p-e6c3214c.entry.js +4 -0
- package/dist/ionic/p-ec76fec4.entry.js +4 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +2 -2
- package/dist/types/components/tabs/tabs.d.ts +1 -3
- package/hydrate/index.js +80 -64
- package/hydrate/index.mjs +80 -64
- package/package.json +1 -1
- package/dist/ionic/p-2135be78.entry.js +0 -4
- package/dist/ionic/p-6e43c86a.entry.js +0 -4
- package/dist/ionic/p-Cnh7O81W.js +0 -4
- package/dist/ionic/p-e3cacac2.entry.js +0 -4
|
@@ -103,27 +103,29 @@ const Tabs = class {
|
|
|
103
103
|
}
|
|
104
104
|
this.ionNavWillLoad.emit();
|
|
105
105
|
}
|
|
106
|
-
|
|
107
|
-
this.updateTabBar();
|
|
108
|
-
}
|
|
109
|
-
componentDidUpdate() {
|
|
110
|
-
this.updateTabBar();
|
|
111
|
-
}
|
|
112
|
-
updateTabBar() {
|
|
106
|
+
componentWillRender() {
|
|
113
107
|
const tabBar = this.el.querySelector('ion-tab-bar');
|
|
114
|
-
if (
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
108
|
+
if (tabBar) {
|
|
109
|
+
let tab = this.selectedTab ? this.selectedTab.tab : undefined;
|
|
110
|
+
// Fallback: if no selectedTab is set but we're using router mode,
|
|
111
|
+
// determine the active tab from the current URL. This works around
|
|
112
|
+
// timing issues in React Router integration where setRouteId may not
|
|
113
|
+
// be called in time for the initial render.
|
|
114
|
+
// TODO(FW-6724): Remove this with React Router upgrade
|
|
115
|
+
if (!tab && this.useRouter && typeof window !== 'undefined') {
|
|
116
|
+
const currentPath = window.location.pathname;
|
|
117
|
+
const tabButtons = this.el.querySelectorAll('ion-tab-button');
|
|
118
|
+
// Look for a tab button that matches the current path pattern
|
|
119
|
+
for (const tabButton of tabButtons) {
|
|
120
|
+
const tabId = tabButton.getAttribute('tab');
|
|
121
|
+
if (tabId && currentPath.includes(tabId)) {
|
|
122
|
+
tab = tabId;
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
tabBar.selectedTab = tab;
|
|
125
128
|
}
|
|
126
|
-
tabBar.selectedTab = tab;
|
|
127
129
|
}
|
|
128
130
|
/**
|
|
129
131
|
* Select a tab by the value of its `tab` property or an element reference. This method is only available for vanilla JavaScript projects. The Angular, React, and Vue implementations of tabs are coupled to each framework's router.
|
|
@@ -182,7 +184,6 @@ const Tabs = class {
|
|
|
182
184
|
this.selectedTab = selectedTab;
|
|
183
185
|
this.ionTabsWillChange.emit({ tab: selectedTab.tab });
|
|
184
186
|
selectedTab.active = true;
|
|
185
|
-
this.updateTabBar();
|
|
186
187
|
return Promise.resolve();
|
|
187
188
|
}
|
|
188
189
|
tabSwitch() {
|
|
@@ -217,7 +218,7 @@ const Tabs = class {
|
|
|
217
218
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
218
219
|
}
|
|
219
220
|
render() {
|
|
220
|
-
return (index.h(index.Host, { key: '
|
|
221
|
+
return (index.h(index.Host, { key: '6dd1d17cc5a7aff4b910303006b4478080ca97af', onIonTabButtonClick: this.onTabClicked }, index.h("slot", { key: 'db54a692d1a825498a116f090eb305f7cceceb5a', name: "top" }), index.h("div", { key: 'e1b7d49ba7032e9071de2029695254e2a8303be9', class: "tabs-inner" }, index.h("slot", { key: '4c3b58d5292c8c834e7532c51de0861068943d79' })), index.h("slot", { key: 'dd59c0b9b217dfbfb0fccdbc6896b593278549cc', name: "bottom" })));
|
|
221
222
|
}
|
|
222
223
|
get el() { return index.getElement(this); }
|
|
223
224
|
};
|
|
@@ -7,7 +7,7 @@ var index$1 = require('./index-DNh170BW.js');
|
|
|
7
7
|
var config = require('./config-CKhELRRu.js');
|
|
8
8
|
var helpers = require('./helpers-DgwmcYAu.js');
|
|
9
9
|
var lockController = require('./lock-controller-aDB9wrEf.js');
|
|
10
|
-
var overlays = require('./overlays-
|
|
10
|
+
var overlays = require('./overlays-CnXxzdUE.js');
|
|
11
11
|
var theme = require('./theme-CeDs6Hcv.js');
|
|
12
12
|
var ionicGlobal = require('./ionic-global-UI5YPSi-.js');
|
|
13
13
|
var animation = require('./animation-ZJ1lAkZD.js');
|
|
@@ -504,7 +504,7 @@ const setRootAriaHidden = (hidden = false) => {
|
|
|
504
504
|
}
|
|
505
505
|
};
|
|
506
506
|
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
507
|
-
var _a, _b;
|
|
507
|
+
var _a, _b, _c, _d;
|
|
508
508
|
if (overlay.presented) {
|
|
509
509
|
return;
|
|
510
510
|
}
|
|
@@ -537,10 +537,14 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
537
537
|
* to avoid disabling the overlay.
|
|
538
538
|
*/
|
|
539
539
|
const overlayEl = overlay.el;
|
|
540
|
-
const
|
|
540
|
+
const focusTrapAttr = (_a = overlayEl.getAttribute) === null || _a === void 0 ? void 0 : _a.call(overlayEl, 'focus-trap');
|
|
541
|
+
const showBackdropAttr = (_b = overlayEl.getAttribute) === null || _b === void 0 ? void 0 : _b.call(overlayEl, 'show-backdrop');
|
|
542
|
+
const focusTrapDisabled = overlayEl.focusTrap === false || focusTrapAttr === 'false';
|
|
543
|
+
const backdropDisabled = overlayEl.showBackdrop === false || showBackdropAttr === 'false';
|
|
544
|
+
const shouldTrapFocus = overlayEl.tagName !== 'ION-TOAST' && !focusTrapDisabled;
|
|
541
545
|
// Only lock out root content when backdrop is active. Developers relying on showBackdrop=false
|
|
542
546
|
// expect background interaction to remain enabled.
|
|
543
|
-
const shouldLockRoot = shouldTrapFocus &&
|
|
547
|
+
const shouldLockRoot = shouldTrapFocus && !backdropDisabled;
|
|
544
548
|
overlay.presented = true;
|
|
545
549
|
overlay.willPresent.emit();
|
|
546
550
|
if (shouldLockRoot) {
|
|
@@ -552,7 +556,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
552
556
|
}
|
|
553
557
|
document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
|
|
554
558
|
}
|
|
555
|
-
(
|
|
559
|
+
(_c = overlay.willPresentShorthand) === null || _c === void 0 ? void 0 : _c.emit();
|
|
556
560
|
const mode = ionicGlobal.getIonMode(overlay);
|
|
557
561
|
// get the user's animation fn if one was provided
|
|
558
562
|
const animationBuilder = overlay.enterAnimation
|
|
@@ -561,7 +565,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
561
565
|
const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
562
566
|
if (completed) {
|
|
563
567
|
overlay.didPresent.emit();
|
|
564
|
-
(
|
|
568
|
+
(_d = overlay.didPresentShorthand) === null || _d === void 0 ? void 0 : _d.emit();
|
|
565
569
|
}
|
|
566
570
|
/**
|
|
567
571
|
* If the focused element is already
|
|
@@ -639,7 +643,7 @@ const restoreElementFocus = async (overlayEl) => {
|
|
|
639
643
|
}
|
|
640
644
|
};
|
|
641
645
|
const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
|
|
642
|
-
var _a, _b;
|
|
646
|
+
var _a, _b, _c, _d;
|
|
643
647
|
if (!overlay.presented) {
|
|
644
648
|
return false;
|
|
645
649
|
}
|
|
@@ -655,11 +659,20 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
655
659
|
* is dismissed.
|
|
656
660
|
*/
|
|
657
661
|
const overlaysLockingRoot = presentedOverlays.filter((o) => {
|
|
662
|
+
var _a, _b;
|
|
658
663
|
const el = o;
|
|
659
|
-
|
|
664
|
+
const focusTrapAttr = (_a = el.getAttribute) === null || _a === void 0 ? void 0 : _a.call(el, 'focus-trap');
|
|
665
|
+
const showBackdropAttr = (_b = el.getAttribute) === null || _b === void 0 ? void 0 : _b.call(el, 'show-backdrop');
|
|
666
|
+
const focusTrapDisabled = el.focusTrap === false || focusTrapAttr === 'false';
|
|
667
|
+
const backdropDisabled = el.showBackdrop === false || showBackdropAttr === 'false';
|
|
668
|
+
return el.tagName !== 'ION-TOAST' && !focusTrapDisabled && !backdropDisabled;
|
|
660
669
|
});
|
|
661
670
|
const overlayEl = overlay.el;
|
|
662
|
-
const
|
|
671
|
+
const focusTrapAttr = (_a = overlayEl.getAttribute) === null || _a === void 0 ? void 0 : _a.call(overlayEl, 'focus-trap');
|
|
672
|
+
const showBackdropAttr = (_b = overlayEl.getAttribute) === null || _b === void 0 ? void 0 : _b.call(overlayEl, 'show-backdrop');
|
|
673
|
+
const focusTrapDisabled = overlayEl.focusTrap === false || focusTrapAttr === 'false';
|
|
674
|
+
const backdropDisabled = overlayEl.showBackdrop === false || showBackdropAttr === 'false';
|
|
675
|
+
const locksRoot = overlayEl.tagName !== 'ION-TOAST' && !focusTrapDisabled && !backdropDisabled;
|
|
663
676
|
/**
|
|
664
677
|
* If this is the last visible overlay that is trapping focus
|
|
665
678
|
* then we want to re-add the root to the accessibility tree.
|
|
@@ -674,7 +687,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
674
687
|
// Overlay contents should not be clickable during dismiss
|
|
675
688
|
overlay.el.style.setProperty('pointer-events', 'none');
|
|
676
689
|
overlay.willDismiss.emit({ data, role });
|
|
677
|
-
(
|
|
690
|
+
(_c = overlay.willDismissShorthand) === null || _c === void 0 ? void 0 : _c.emit({ data, role });
|
|
678
691
|
const mode = ionicGlobal.getIonMode(overlay);
|
|
679
692
|
const animationBuilder = overlay.leaveAnimation
|
|
680
693
|
? overlay.leaveAnimation
|
|
@@ -684,7 +697,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
684
697
|
await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
685
698
|
}
|
|
686
699
|
overlay.didDismiss.emit({ data, role });
|
|
687
|
-
(
|
|
700
|
+
(_d = overlay.didDismissShorthand) === null || _d === void 0 ? void 0 : _d.emit({ data, role });
|
|
688
701
|
// Get a reference to all animations currently assigned to this overlay
|
|
689
702
|
// Then tear them down to return the overlay to its initial visual state
|
|
690
703
|
const animations = activeAnimations.get(overlay) || [];
|
|
@@ -8,6 +8,7 @@ import { FOCUS_TRAP_DISABLE_CLASS } from "../../../utils/overlays";
|
|
|
8
8
|
import { getBackdropValueForSheet } from "../utils";
|
|
9
9
|
import { calculateSpringStep, handleCanDismiss } from "./utils";
|
|
10
10
|
export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
|
|
11
|
+
var _a, _b;
|
|
11
12
|
// Defaults for the sheet swipe animation
|
|
12
13
|
const defaultBackdrop = [
|
|
13
14
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
@@ -45,10 +46,15 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
45
46
|
const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
|
|
46
47
|
const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
|
|
47
48
|
const enableBackdrop = () => {
|
|
49
|
+
var _a, _b;
|
|
48
50
|
// Respect explicit opt-out of focus trapping/backdrop interactions
|
|
49
51
|
// If focusTrap is false or showBackdrop is false, do not enable the backdrop or re-enable focus trap
|
|
50
52
|
const el = baseEl;
|
|
51
|
-
|
|
53
|
+
const focusTrapAttr = (_a = el.getAttribute) === null || _a === void 0 ? void 0 : _a.call(el, 'focus-trap');
|
|
54
|
+
const showBackdropAttr = (_b = el.getAttribute) === null || _b === void 0 ? void 0 : _b.call(el, 'show-backdrop');
|
|
55
|
+
const focusTrapDisabled = el.focusTrap === false || focusTrapAttr === 'false';
|
|
56
|
+
const backdropDisabled = el.showBackdrop === false || showBackdropAttr === 'false';
|
|
57
|
+
if (focusTrapDisabled || backdropDisabled) {
|
|
52
58
|
return;
|
|
53
59
|
}
|
|
54
60
|
baseEl.style.setProperty('pointer-events', 'auto');
|
|
@@ -175,9 +181,12 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
175
181
|
* ion-backdrop and .modal-wrapper always have pointer-events: auto
|
|
176
182
|
* applied, so the modal content can still be interacted with.
|
|
177
183
|
*/
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
|
|
184
|
+
const modalEl = baseEl;
|
|
185
|
+
const focusTrapAttr = (_a = modalEl.getAttribute) === null || _a === void 0 ? void 0 : _a.call(modalEl, 'focus-trap');
|
|
186
|
+
const showBackdropAttr = (_b = modalEl.getAttribute) === null || _b === void 0 ? void 0 : _b.call(modalEl, 'show-backdrop');
|
|
187
|
+
const focusTrapDisabled = modalEl.focusTrap === false || focusTrapAttr === 'false';
|
|
188
|
+
const backdropDisabled = modalEl.showBackdrop === false || showBackdropAttr === 'false';
|
|
189
|
+
const shouldEnableBackdrop = currentBreakpoint > backdropBreakpoint && !focusTrapDisabled && !backdropDisabled;
|
|
181
190
|
if (shouldEnableBackdrop) {
|
|
182
191
|
enableBackdrop();
|
|
183
192
|
}
|
|
@@ -475,6 +484,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
475
484
|
*/
|
|
476
485
|
if (wrapperAnimation && backdropAnimation) {
|
|
477
486
|
raf(() => {
|
|
487
|
+
var _a, _b;
|
|
478
488
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
479
489
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
480
490
|
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
@@ -485,9 +495,12 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
485
495
|
* Backdrop should become enabled
|
|
486
496
|
* after the backdropBreakpoint value
|
|
487
497
|
*/
|
|
488
|
-
const
|
|
489
|
-
|
|
490
|
-
|
|
498
|
+
const modalEl = baseEl;
|
|
499
|
+
const focusTrapAttr = (_a = modalEl.getAttribute) === null || _a === void 0 ? void 0 : _a.call(modalEl, 'focus-trap');
|
|
500
|
+
const showBackdropAttr = (_b = modalEl.getAttribute) === null || _b === void 0 ? void 0 : _b.call(modalEl, 'show-backdrop');
|
|
501
|
+
const focusTrapDisabled = modalEl.focusTrap === false || focusTrapAttr === 'false';
|
|
502
|
+
const backdropDisabled = modalEl.showBackdrop === false || showBackdropAttr === 'false';
|
|
503
|
+
const shouldEnableBackdrop = currentBreakpoint > backdropBreakpoint && !focusTrapDisabled && !backdropDisabled;
|
|
491
504
|
if (shouldEnableBackdrop) {
|
|
492
505
|
enableBackdrop();
|
|
493
506
|
}
|
|
@@ -879,20 +879,21 @@ export class Modal {
|
|
|
879
879
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
880
880
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
881
881
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
882
|
-
|
|
882
|
+
const focusTrapAttr = this.el.getAttribute('focus-trap');
|
|
883
|
+
return (h(Host, Object.assign({ key: '5cb4c73e060f5bc0fdc9728cb8029665a08b4187', "no-router": true,
|
|
883
884
|
// Allow the modal to be navigable when the handle is focusable
|
|
884
885
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
885
886
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
886
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '
|
|
887
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false || focusTrapAttr === 'false' }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '7697171f861e148d3ef7e35460dd8d3df2d4f3ac', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'd71a7ca23e1aa2048af82959f902ea0fc92d6fba', class: "modal-shadow" }), h("div", Object.assign({ key: '9543fdf222f35bd22ded828f60a1345e3b3da65c',
|
|
887
888
|
/*
|
|
888
889
|
role and aria-modal must be used on the
|
|
889
890
|
same element. They must also be set inside the
|
|
890
891
|
shadow DOM otherwise ion-button will not be highlighted
|
|
891
892
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
892
893
|
*/
|
|
893
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
894
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '411f1e52935485e2791afd9a97d6685c994bf44a', class: "modal-handle",
|
|
894
895
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
895
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '
|
|
896
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '8dac500e345dfd66f3a3fa62cd94570682b1083e', onSlotchange: this.onSlotChange }))));
|
|
896
897
|
}
|
|
897
898
|
static get is() { return "ion-modal"; }
|
|
898
899
|
static get encapsulation() { return "shadow"; }
|
|
@@ -433,9 +433,10 @@ export class Popover {
|
|
|
433
433
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
434
434
|
const desktop = isPlatform('desktop');
|
|
435
435
|
const enableArrow = arrow && !parentPopover;
|
|
436
|
-
|
|
436
|
+
const focusTrapAttr = this.el.getAttribute('focus-trap');
|
|
437
|
+
return (h(Host, Object.assign({ key: 'fe80ce582ef39698a3c11e305df3e8e599e91bdb', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
437
438
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
438
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: '
|
|
439
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false || focusTrapAttr === 'false', 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: 'f37d7c8574fded2721311d4f12726e21d830cc54', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: '1567893f935e1da1cb46b81ea14a76af7895eee5', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '456163df03d2b582e07b1f81fa6088125d3308ef', class: "popover-arrow", part: "arrow" }), h("div", { key: '470d257a44fb9532a392bf9f5a89a1531d02323c', class: "popover-content", part: "content" }, h("slot", { key: 'd434289bba55ad9ab169a5092d214f4031511a8f' })))));
|
|
439
440
|
}
|
|
440
441
|
static get is() { return "ion-popover"; }
|
|
441
442
|
static get encapsulation() { return "shadow"; }
|
|
@@ -11,7 +11,6 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
11
11
|
export class TabBar {
|
|
12
12
|
constructor() {
|
|
13
13
|
this.keyboardCtrl = null;
|
|
14
|
-
this.didLoad = false;
|
|
15
14
|
this.keyboardVisible = false;
|
|
16
15
|
/**
|
|
17
16
|
* If `true`, the tab bar will be translucent.
|
|
@@ -21,29 +20,14 @@ export class TabBar {
|
|
|
21
20
|
this.translucent = false;
|
|
22
21
|
}
|
|
23
22
|
selectedTabChanged() {
|
|
24
|
-
// Skip the initial watcher call that happens during component load
|
|
25
|
-
// We handle that in componentDidLoad to ensure children are ready
|
|
26
|
-
if (!this.didLoad) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
23
|
if (this.selectedTab !== undefined) {
|
|
30
24
|
this.ionTabBarChanged.emit({
|
|
31
25
|
tab: this.selectedTab,
|
|
32
26
|
});
|
|
33
27
|
}
|
|
34
28
|
}
|
|
35
|
-
|
|
36
|
-
this.
|
|
37
|
-
// Set the flag to indicate the component has loaded
|
|
38
|
-
// This allows the watcher to emit changes from this point forward
|
|
39
|
-
this.didLoad = true;
|
|
40
|
-
// Emit the initial selected tab after the component is fully loaded
|
|
41
|
-
// This ensures all child components (ion-tab-button) are ready
|
|
42
|
-
if (this.selectedTab !== undefined) {
|
|
43
|
-
this.ionTabBarChanged.emit({
|
|
44
|
-
tab: this.selectedTab,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
29
|
+
componentWillLoad() {
|
|
30
|
+
this.selectedTabChanged();
|
|
47
31
|
}
|
|
48
32
|
async connectedCallback() {
|
|
49
33
|
this.keyboardCtrl = await createKeyboardController(async (keyboardOpen, waitForResize) => {
|
|
@@ -63,15 +47,18 @@ export class TabBar {
|
|
|
63
47
|
this.keyboardCtrl.destroy();
|
|
64
48
|
}
|
|
65
49
|
}
|
|
50
|
+
componentDidLoad() {
|
|
51
|
+
this.ionTabBarLoaded.emit();
|
|
52
|
+
}
|
|
66
53
|
render() {
|
|
67
54
|
const { color, translucent, keyboardVisible } = this;
|
|
68
55
|
const mode = getIonMode(this);
|
|
69
56
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
70
|
-
return (h(Host, { key: '
|
|
57
|
+
return (h(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
|
|
71
58
|
[mode]: true,
|
|
72
59
|
'tab-bar-translucent': translucent,
|
|
73
60
|
'tab-bar-hidden': shouldHide,
|
|
74
|
-
}) }, h("slot", { key: '
|
|
61
|
+
}) }, h("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
|
|
75
62
|
}
|
|
76
63
|
static get is() { return "ion-tab-bar"; }
|
|
77
64
|
static get encapsulation() { return "shadow"; }
|
|
@@ -48,27 +48,29 @@ export class Tabs {
|
|
|
48
48
|
}
|
|
49
49
|
this.ionNavWillLoad.emit();
|
|
50
50
|
}
|
|
51
|
-
|
|
52
|
-
this.updateTabBar();
|
|
53
|
-
}
|
|
54
|
-
componentDidUpdate() {
|
|
55
|
-
this.updateTabBar();
|
|
56
|
-
}
|
|
57
|
-
updateTabBar() {
|
|
51
|
+
componentWillRender() {
|
|
58
52
|
const tabBar = this.el.querySelector('ion-tab-bar');
|
|
59
|
-
if (
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
53
|
+
if (tabBar) {
|
|
54
|
+
let tab = this.selectedTab ? this.selectedTab.tab : undefined;
|
|
55
|
+
// Fallback: if no selectedTab is set but we're using router mode,
|
|
56
|
+
// determine the active tab from the current URL. This works around
|
|
57
|
+
// timing issues in React Router integration where setRouteId may not
|
|
58
|
+
// be called in time for the initial render.
|
|
59
|
+
// TODO(FW-6724): Remove this with React Router upgrade
|
|
60
|
+
if (!tab && this.useRouter && typeof window !== 'undefined') {
|
|
61
|
+
const currentPath = window.location.pathname;
|
|
62
|
+
const tabButtons = this.el.querySelectorAll('ion-tab-button');
|
|
63
|
+
// Look for a tab button that matches the current path pattern
|
|
64
|
+
for (const tabButton of tabButtons) {
|
|
65
|
+
const tabId = tabButton.getAttribute('tab');
|
|
66
|
+
if (tabId && currentPath.includes(tabId)) {
|
|
67
|
+
tab = tabId;
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
tabBar.selectedTab = tab;
|
|
70
73
|
}
|
|
71
|
-
tabBar.selectedTab = tab;
|
|
72
74
|
}
|
|
73
75
|
/**
|
|
74
76
|
* Select a tab by the value of its `tab` property or an element reference. This method is only available for vanilla JavaScript projects. The Angular, React, and Vue implementations of tabs are coupled to each framework's router.
|
|
@@ -127,7 +129,6 @@ export class Tabs {
|
|
|
127
129
|
this.selectedTab = selectedTab;
|
|
128
130
|
this.ionTabsWillChange.emit({ tab: selectedTab.tab });
|
|
129
131
|
selectedTab.active = true;
|
|
130
|
-
this.updateTabBar();
|
|
131
132
|
return Promise.resolve();
|
|
132
133
|
}
|
|
133
134
|
tabSwitch() {
|
|
@@ -162,7 +163,7 @@ export class Tabs {
|
|
|
162
163
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
163
164
|
}
|
|
164
165
|
render() {
|
|
165
|
-
return (h(Host, { key: '
|
|
166
|
+
return (h(Host, { key: '6dd1d17cc5a7aff4b910303006b4478080ca97af', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: 'db54a692d1a825498a116f090eb305f7cceceb5a', name: "top" }), h("div", { key: 'e1b7d49ba7032e9071de2029695254e2a8303be9', class: "tabs-inner" }, h("slot", { key: '4c3b58d5292c8c834e7532c51de0861068943d79' })), h("slot", { key: 'dd59c0b9b217dfbfb0fccdbc6896b593278549cc', name: "bottom" })));
|
|
166
167
|
}
|
|
167
168
|
static get is() { return "ion-tabs"; }
|
|
168
169
|
static get encapsulation() { return "shadow"; }
|
|
@@ -423,7 +423,7 @@ export const setRootAriaHidden = (hidden = false) => {
|
|
|
423
423
|
}
|
|
424
424
|
};
|
|
425
425
|
export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
426
|
-
var _a, _b;
|
|
426
|
+
var _a, _b, _c, _d;
|
|
427
427
|
if (overlay.presented) {
|
|
428
428
|
return;
|
|
429
429
|
}
|
|
@@ -456,10 +456,14 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
|
|
|
456
456
|
* to avoid disabling the overlay.
|
|
457
457
|
*/
|
|
458
458
|
const overlayEl = overlay.el;
|
|
459
|
-
const
|
|
459
|
+
const focusTrapAttr = (_a = overlayEl.getAttribute) === null || _a === void 0 ? void 0 : _a.call(overlayEl, 'focus-trap');
|
|
460
|
+
const showBackdropAttr = (_b = overlayEl.getAttribute) === null || _b === void 0 ? void 0 : _b.call(overlayEl, 'show-backdrop');
|
|
461
|
+
const focusTrapDisabled = overlayEl.focusTrap === false || focusTrapAttr === 'false';
|
|
462
|
+
const backdropDisabled = overlayEl.showBackdrop === false || showBackdropAttr === 'false';
|
|
463
|
+
const shouldTrapFocus = overlayEl.tagName !== 'ION-TOAST' && !focusTrapDisabled;
|
|
460
464
|
// Only lock out root content when backdrop is active. Developers relying on showBackdrop=false
|
|
461
465
|
// expect background interaction to remain enabled.
|
|
462
|
-
const shouldLockRoot = shouldTrapFocus &&
|
|
466
|
+
const shouldLockRoot = shouldTrapFocus && !backdropDisabled;
|
|
463
467
|
overlay.presented = true;
|
|
464
468
|
overlay.willPresent.emit();
|
|
465
469
|
if (shouldLockRoot) {
|
|
@@ -471,7 +475,7 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
|
|
|
471
475
|
}
|
|
472
476
|
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
473
477
|
}
|
|
474
|
-
(
|
|
478
|
+
(_c = overlay.willPresentShorthand) === null || _c === void 0 ? void 0 : _c.emit();
|
|
475
479
|
const mode = getIonMode(overlay);
|
|
476
480
|
// get the user's animation fn if one was provided
|
|
477
481
|
const animationBuilder = overlay.enterAnimation
|
|
@@ -480,7 +484,7 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
|
|
|
480
484
|
const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
481
485
|
if (completed) {
|
|
482
486
|
overlay.didPresent.emit();
|
|
483
|
-
(
|
|
487
|
+
(_d = overlay.didPresentShorthand) === null || _d === void 0 ? void 0 : _d.emit();
|
|
484
488
|
}
|
|
485
489
|
/**
|
|
486
490
|
* If the focused element is already
|
|
@@ -558,7 +562,7 @@ const restoreElementFocus = async (overlayEl) => {
|
|
|
558
562
|
}
|
|
559
563
|
};
|
|
560
564
|
export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
|
|
561
|
-
var _a, _b;
|
|
565
|
+
var _a, _b, _c, _d;
|
|
562
566
|
if (!overlay.presented) {
|
|
563
567
|
return false;
|
|
564
568
|
}
|
|
@@ -574,11 +578,20 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
|
|
|
574
578
|
* is dismissed.
|
|
575
579
|
*/
|
|
576
580
|
const overlaysLockingRoot = presentedOverlays.filter((o) => {
|
|
581
|
+
var _a, _b;
|
|
577
582
|
const el = o;
|
|
578
|
-
|
|
583
|
+
const focusTrapAttr = (_a = el.getAttribute) === null || _a === void 0 ? void 0 : _a.call(el, 'focus-trap');
|
|
584
|
+
const showBackdropAttr = (_b = el.getAttribute) === null || _b === void 0 ? void 0 : _b.call(el, 'show-backdrop');
|
|
585
|
+
const focusTrapDisabled = el.focusTrap === false || focusTrapAttr === 'false';
|
|
586
|
+
const backdropDisabled = el.showBackdrop === false || showBackdropAttr === 'false';
|
|
587
|
+
return el.tagName !== 'ION-TOAST' && !focusTrapDisabled && !backdropDisabled;
|
|
579
588
|
});
|
|
580
589
|
const overlayEl = overlay.el;
|
|
581
|
-
const
|
|
590
|
+
const focusTrapAttr = (_a = overlayEl.getAttribute) === null || _a === void 0 ? void 0 : _a.call(overlayEl, 'focus-trap');
|
|
591
|
+
const showBackdropAttr = (_b = overlayEl.getAttribute) === null || _b === void 0 ? void 0 : _b.call(overlayEl, 'show-backdrop');
|
|
592
|
+
const focusTrapDisabled = overlayEl.focusTrap === false || focusTrapAttr === 'false';
|
|
593
|
+
const backdropDisabled = overlayEl.showBackdrop === false || showBackdropAttr === 'false';
|
|
594
|
+
const locksRoot = overlayEl.tagName !== 'ION-TOAST' && !focusTrapDisabled && !backdropDisabled;
|
|
582
595
|
/**
|
|
583
596
|
* If this is the last visible overlay that is trapping focus
|
|
584
597
|
* then we want to re-add the root to the accessibility tree.
|
|
@@ -593,7 +606,7 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
|
|
|
593
606
|
// Overlay contents should not be clickable during dismiss
|
|
594
607
|
overlay.el.style.setProperty('pointer-events', 'none');
|
|
595
608
|
overlay.willDismiss.emit({ data, role });
|
|
596
|
-
(
|
|
609
|
+
(_c = overlay.willDismissShorthand) === null || _c === void 0 ? void 0 : _c.emit({ data, role });
|
|
597
610
|
const mode = getIonMode(overlay);
|
|
598
611
|
const animationBuilder = overlay.leaveAnimation
|
|
599
612
|
? overlay.leaveAnimation
|
|
@@ -603,7 +616,7 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
|
|
|
603
616
|
await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
604
617
|
}
|
|
605
618
|
overlay.didDismiss.emit({ data, role });
|
|
606
|
-
(
|
|
619
|
+
(_d = overlay.didDismissShorthand) === null || _d === void 0 ? void 0 : _d.emit({ data, role });
|
|
607
620
|
// Get a reference to all animations currently assigned to this overlay
|
|
608
621
|
// Then tear them down to return the overlay to its initial visual state
|
|
609
622
|
const animations = activeAnimations.get(overlay) || [];
|
package/dist/docs.json
CHANGED
package/dist/esm/index.js
CHANGED
|
@@ -13,7 +13,7 @@ export { L as LogLevel } from './index-4DxY6_gG.js';
|
|
|
13
13
|
export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-Dx_6wPIJ.js';
|
|
14
14
|
export { o as openURL } from './theme-DiVJyqlX.js';
|
|
15
15
|
export { m as menuController } from './index-CXSTcaAW.js';
|
|
16
|
-
export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-
|
|
16
|
+
export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-C6lqoZ8M.js';
|
|
17
17
|
import './index-ZjP4CjeZ.js';
|
|
18
18
|
import './gesture-controller-BTEOs1at.js';
|
|
19
19
|
import './hardware-back-button-Dhbd-23H.js';
|
|
@@ -5,7 +5,7 @@ import { r as registerInstance, c as createEvent, a as readTask, h, d as Host, g
|
|
|
5
5
|
import { c as createButtonActiveGesture } from './button-active-DBUPuLNw.js';
|
|
6
6
|
import { r as raf } from './helpers-8KSQQGQy.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-B-hirT0v.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-C6lqoZ8M.js';
|
|
9
9
|
import { g as getClassMap } from './theme-DiVJyqlX.js';
|
|
10
10
|
import { b as getIonMode } from './ionic-global-CTSyufhF.js';
|
|
11
11
|
import { c as createAnimation } from './animation-BvhAtgca.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-DBUPuLNw.js';
|
|
7
7
|
import { r as raf } from './helpers-8KSQQGQy.js';
|
|
8
8
|
import { c as createLockController } from './lock-controller-B-hirT0v.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-C6lqoZ8M.js';
|
|
10
10
|
import { g as getClassMap } from './theme-DiVJyqlX.js';
|
|
11
11
|
import { b as getIonMode } from './ionic-global-CTSyufhF.js';
|
|
12
12
|
import { c as createAnimation } from './animation-BvhAtgca.js';
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { j as printIonError, f as printIonWarning, r as registerInstance, c as createEvent, w as writeTask, h, d as Host, g as getElement } from './index-4DxY6_gG.js';
|
|
5
5
|
import { startFocusVisible } from './focus-visible-BmVRXR1y.js';
|
|
6
6
|
import { r as raf, g as getElementRoot, a as renderHiddenInput, e as clamp } from './helpers-8KSQQGQy.js';
|
|
7
|
-
import { F as FOCUS_TRAP_DISABLE_CLASS, 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-
|
|
7
|
+
import { F as FOCUS_TRAP_DISABLE_CLASS, 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-C6lqoZ8M.js';
|
|
8
8
|
import { i as isRTL } from './dir-C53feagD.js';
|
|
9
9
|
import { c as createColorClasses, g as getClassMap } from './theme-DiVJyqlX.js';
|
|
10
10
|
import { l as chevronDown, o as caretUpSharp, p as chevronForward, q as caretDownSharp, c as chevronBack } from './index-DV3sJJW8.js';
|
|
@@ -5,7 +5,7 @@ import { r as registerInstance, c as createEvent, e as config, h, d as Host, g a
|
|
|
5
5
|
import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-Dx_6wPIJ.js';
|
|
6
6
|
import { r as raf } from './helpers-8KSQQGQy.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-B-hirT0v.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-C6lqoZ8M.js';
|
|
9
9
|
import { g as getClassMap } from './theme-DiVJyqlX.js';
|
|
10
10
|
import { b as getIonMode } from './ionic-global-CTSyufhF.js';
|
|
11
11
|
import { c as createAnimation } from './animation-BvhAtgca.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, c as createEvent, e as config, j as printIonError, h, d as Host, g as getElement } from './index-4DxY6_gG.js';
|
|
5
5
|
import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
|
|
6
|
-
import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-
|
|
6
|
+
import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-C6lqoZ8M.js';
|
|
7
7
|
import { G as GESTURE_CONTROLLER } from './gesture-controller-BTEOs1at.js';
|
|
8
8
|
import { shouldUseCloseWatcher } from './hardware-back-button-Dhbd-23H.js';
|
|
9
9
|
import { o as isEndSide, i as inheritAriaAttributes, l as assert, e as clamp } from './helpers-8KSQQGQy.js';
|