@ionic/core 8.7.17-dev.11767717752.14fe98a4 → 8.7.17-dev.11767891829.1a63afa3
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/content.js +68 -9
- package/components/modal.js +95 -27
- package/components/popover.js +11 -2
- package/dist/cjs/ion-app_8.cjs.entry.js +79 -21
- package/dist/cjs/ion-modal.cjs.entry.js +95 -27
- package/dist/cjs/ion-popover.cjs.entry.js +11 -2
- package/dist/collection/components/content/content.js +67 -8
- package/dist/collection/components/modal/modal.js +95 -26
- package/dist/collection/components/popover/animations/md.enter.js +11 -2
- package/dist/docs.json +1 -1
- package/dist/esm/ion-app_8.entry.js +68 -10
- package/dist/esm/ion-modal.entry.js +95 -27
- package/dist/esm/ion-popover.entry.js +11 -2
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-968a55d1.entry.js +4 -0
- package/dist/ionic/p-d9fd799f.entry.js +4 -0
- package/dist/ionic/p-ec9ca3fe.entry.js +4 -0
- package/dist/types/components/content/content.d.ts +15 -2
- package/dist/types/components/modal/modal.d.ts +18 -2
- package/hydrate/index.js +165 -37
- package/hydrate/index.mjs +165 -37
- package/package.json +1 -1
- package/dist/ionic/p-34cdcd15.entry.js +0 -4
- package/dist/ionic/p-a4827773.entry.js +0 -4
- package/dist/ionic/p-fedca459.entry.js +0 -4
package/hydrate/index.mjs
CHANGED
|
@@ -10581,7 +10581,11 @@ class Content {
|
|
|
10581
10581
|
this.inheritedAttributes = inheritAriaAttributes(this.el);
|
|
10582
10582
|
}
|
|
10583
10583
|
connectedCallback() {
|
|
10584
|
-
|
|
10584
|
+
var _a;
|
|
10585
|
+
// Content is "main" if not inside menu/popover/modal and not nested in another ion-content
|
|
10586
|
+
this.isMainContent =
|
|
10587
|
+
this.el.closest('ion-menu, ion-popover, ion-modal') === null &&
|
|
10588
|
+
((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.closest('ion-content')) === null;
|
|
10585
10589
|
// Detect sibling header/footer for safe-area handling
|
|
10586
10590
|
this.detectSiblingElements();
|
|
10587
10591
|
/**
|
|
@@ -10614,21 +10618,48 @@ class Content {
|
|
|
10614
10618
|
* bubbles, we can catch any instances of child tab bars loading by listening
|
|
10615
10619
|
* on IonTabs.
|
|
10616
10620
|
*/
|
|
10617
|
-
this.tabsLoadCallback = () =>
|
|
10621
|
+
this.tabsLoadCallback = () => {
|
|
10622
|
+
this.resize();
|
|
10623
|
+
// Re-detect footer when tab bar loads (it may not exist during initial detection)
|
|
10624
|
+
this.updateSiblingDetection();
|
|
10625
|
+
};
|
|
10618
10626
|
closestTabs.addEventListener('ionTabBarLoaded', this.tabsLoadCallback);
|
|
10619
10627
|
}
|
|
10620
10628
|
}
|
|
10621
10629
|
}
|
|
10622
10630
|
/**
|
|
10623
|
-
* Detects sibling ion-header and ion-footer elements
|
|
10624
|
-
*
|
|
10631
|
+
* Detects sibling ion-header and ion-footer elements and sets up
|
|
10632
|
+
* a mutation observer to handle dynamic changes (e.g., conditional rendering).
|
|
10625
10633
|
*/
|
|
10626
10634
|
detectSiblingElements() {
|
|
10627
|
-
|
|
10635
|
+
this.updateSiblingDetection();
|
|
10636
|
+
// Watch for dynamic header/footer changes (common in React conditional rendering)
|
|
10637
|
+
const parent = this.el.parentElement;
|
|
10638
|
+
if (parent && !this.parentMutationObserver && win$1 !== undefined && 'MutationObserver' in win$1) {
|
|
10639
|
+
this.parentMutationObserver = new MutationObserver(() => {
|
|
10640
|
+
this.updateSiblingDetection();
|
|
10641
|
+
});
|
|
10642
|
+
this.parentMutationObserver.observe(parent, { childList: true });
|
|
10643
|
+
}
|
|
10644
|
+
}
|
|
10645
|
+
/**
|
|
10646
|
+
* Updates hasHeader/hasFooter based on current DOM state.
|
|
10647
|
+
* Checks both direct siblings and elements wrapped in custom components
|
|
10648
|
+
* (e.g., <my-header><ion-header>...</ion-header></my-header>).
|
|
10649
|
+
*/
|
|
10650
|
+
updateSiblingDetection() {
|
|
10628
10651
|
const parent = this.el.parentElement;
|
|
10629
10652
|
if (parent) {
|
|
10653
|
+
// First check for direct ion-header/ion-footer siblings
|
|
10630
10654
|
this.hasHeader = parent.querySelector(':scope > ion-header') !== null;
|
|
10631
10655
|
this.hasFooter = parent.querySelector(':scope > ion-footer') !== null;
|
|
10656
|
+
// If not found, check if any sibling contains them (wrapped components)
|
|
10657
|
+
if (!this.hasHeader) {
|
|
10658
|
+
this.hasHeader = this.siblingContainsElement(parent, 'ion-header');
|
|
10659
|
+
}
|
|
10660
|
+
if (!this.hasFooter) {
|
|
10661
|
+
this.hasFooter = this.siblingContainsElement(parent, 'ion-footer');
|
|
10662
|
+
}
|
|
10632
10663
|
}
|
|
10633
10664
|
// If no footer found, check if we're inside ion-tabs which has ion-tab-bar
|
|
10634
10665
|
if (!this.hasFooter) {
|
|
@@ -10638,8 +10669,28 @@ class Content {
|
|
|
10638
10669
|
}
|
|
10639
10670
|
}
|
|
10640
10671
|
}
|
|
10672
|
+
/**
|
|
10673
|
+
* Checks if any sibling element of ion-content contains the specified element.
|
|
10674
|
+
* Only searches one level deep to avoid finding elements in nested pages.
|
|
10675
|
+
*/
|
|
10676
|
+
siblingContainsElement(parent, tagName) {
|
|
10677
|
+
for (const sibling of parent.children) {
|
|
10678
|
+
// Skip ion-content itself
|
|
10679
|
+
if (sibling === this.el)
|
|
10680
|
+
continue;
|
|
10681
|
+
// Check if this sibling contains the target element as an immediate child
|
|
10682
|
+
if (sibling.querySelector(`:scope > ${tagName}`) !== null) {
|
|
10683
|
+
return true;
|
|
10684
|
+
}
|
|
10685
|
+
}
|
|
10686
|
+
return false;
|
|
10687
|
+
}
|
|
10641
10688
|
disconnectedCallback() {
|
|
10689
|
+
var _a;
|
|
10642
10690
|
this.onScrollEnd();
|
|
10691
|
+
// Clean up mutation observer to prevent memory leaks
|
|
10692
|
+
(_a = this.parentMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
10693
|
+
this.parentMutationObserver = undefined;
|
|
10643
10694
|
if (hasLazyBuild(this.el)) {
|
|
10644
10695
|
/**
|
|
10645
10696
|
* The event listener and tabs caches need to
|
|
@@ -10874,7 +10925,7 @@ class Content {
|
|
|
10874
10925
|
const forceOverscroll = this.shouldForceOverscroll();
|
|
10875
10926
|
const transitionShadow = mode === 'ios';
|
|
10876
10927
|
this.resize();
|
|
10877
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
10928
|
+
return (hAsync(Host, Object.assign({ key: 'f7218f733e4022a30875441bd949747537d28aa1', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
|
|
10878
10929
|
[mode]: true,
|
|
10879
10930
|
'content-sizing': hostContext('ion-popover', this.el),
|
|
10880
10931
|
overscroll: forceOverscroll,
|
|
@@ -10884,12 +10935,12 @@ class Content {
|
|
|
10884
10935
|
}), style: {
|
|
10885
10936
|
'--offset-top': `${this.cTop}px`,
|
|
10886
10937
|
'--offset-bottom': `${this.cBottom}px`,
|
|
10887
|
-
} }, inheritedAttributes), hAsync("div", { key: '
|
|
10938
|
+
} }, inheritedAttributes), hAsync("div", { key: 'b735ec68c18c0b99c3595bb194029830e6542cde', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? hAsync("slot", { name: "fixed" }) : null, hAsync("div", { key: 'e76c00d030342d44ade6648c3f9e32ca990787ba', class: {
|
|
10888
10939
|
'inner-scroll': true,
|
|
10889
10940
|
'scroll-x': scrollX,
|
|
10890
10941
|
'scroll-y': scrollY,
|
|
10891
10942
|
overscroll: (scrollX || scrollY) && forceOverscroll,
|
|
10892
|
-
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '
|
|
10943
|
+
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '9049be4cea9b5da5ec1e1012248b05286fddeb7a' })), transitionShadow ? (hAsync("div", { class: "transition-effect" }, hAsync("div", { class: "transition-cover" }), hAsync("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? hAsync("slot", { name: "fixed" }) : null));
|
|
10893
10944
|
}
|
|
10894
10945
|
get el() { return getElement(this); }
|
|
10895
10946
|
static get style() { return contentCss; }
|
|
@@ -22826,6 +22877,8 @@ class Modal {
|
|
|
22826
22877
|
this.gestureAnimationDismissing = false;
|
|
22827
22878
|
// Whether to skip coordinate-based safe-area detection (for fullscreen phone modals)
|
|
22828
22879
|
this.skipSafeAreaCoordinateDetection = false;
|
|
22880
|
+
// Track previous safe-area state to avoid redundant DOM writes
|
|
22881
|
+
this.prevSafeAreaState = { top: false, bottom: false, left: false, right: false };
|
|
22829
22882
|
this.presented = false;
|
|
22830
22883
|
/** @internal */
|
|
22831
22884
|
this.hasController = false;
|
|
@@ -23016,7 +23069,8 @@ class Modal {
|
|
|
23016
23069
|
}
|
|
23017
23070
|
}
|
|
23018
23071
|
onWindowResize() {
|
|
23019
|
-
//
|
|
23072
|
+
// Invalidate safe-area cache on resize (device rotation may change values)
|
|
23073
|
+
this.cachedSafeAreas = undefined;
|
|
23020
23074
|
this.updateSafeAreaOverrides();
|
|
23021
23075
|
// Only handle view transition for iOS card modals when no custom animations are provided
|
|
23022
23076
|
if (getIonMode$1(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
@@ -23041,6 +23095,8 @@ class Modal {
|
|
|
23041
23095
|
this.triggerController.removeClickListener();
|
|
23042
23096
|
this.cleanupViewTransitionListener();
|
|
23043
23097
|
this.cleanupParentRemovalObserver();
|
|
23098
|
+
// Reset safe-area state to handle removal without dismiss (e.g., framework unmount)
|
|
23099
|
+
this.resetSafeAreaState();
|
|
23044
23100
|
}
|
|
23045
23101
|
componentWillLoad() {
|
|
23046
23102
|
var _a;
|
|
@@ -23475,8 +23531,28 @@ class Modal {
|
|
|
23475
23531
|
*/
|
|
23476
23532
|
applyFullscreenSafeArea() {
|
|
23477
23533
|
this.skipSafeAreaCoordinateDetection = true;
|
|
23534
|
+
this.updateFooterPadding();
|
|
23535
|
+
// Watch for dynamic footer additions/removals (e.g., async data loading)
|
|
23536
|
+
// Use subtree:true to support wrapped footers in framework components
|
|
23537
|
+
// (e.g., <my-footer><ion-footer>...</ion-footer></my-footer>)
|
|
23538
|
+
if (!this.footerObserver && win$1 !== undefined && 'MutationObserver' in win$1) {
|
|
23539
|
+
this.footerObserver = new MutationObserver(() => this.updateFooterPadding());
|
|
23540
|
+
this.footerObserver.observe(this.el, { childList: true, subtree: true });
|
|
23541
|
+
}
|
|
23542
|
+
}
|
|
23543
|
+
/**
|
|
23544
|
+
* Updates wrapper padding based on footer presence.
|
|
23545
|
+
* Called initially and when footer is dynamically added/removed.
|
|
23546
|
+
*/
|
|
23547
|
+
updateFooterPadding() {
|
|
23548
|
+
if (!this.wrapperEl)
|
|
23549
|
+
return;
|
|
23478
23550
|
const hasFooter = this.el.querySelector('ion-footer') !== null;
|
|
23479
|
-
if (
|
|
23551
|
+
if (hasFooter) {
|
|
23552
|
+
this.wrapperEl.style.removeProperty('padding-bottom');
|
|
23553
|
+
this.wrapperEl.style.removeProperty('box-sizing');
|
|
23554
|
+
}
|
|
23555
|
+
else {
|
|
23480
23556
|
this.wrapperEl.style.setProperty('padding-bottom', 'var(--ion-safe-area-bottom, 0px)');
|
|
23481
23557
|
this.wrapperEl.style.setProperty('box-sizing', 'border-box');
|
|
23482
23558
|
}
|
|
@@ -23493,22 +23569,51 @@ class Modal {
|
|
|
23493
23569
|
style.setProperty('--ion-safe-area-right', '0px');
|
|
23494
23570
|
}
|
|
23495
23571
|
/**
|
|
23496
|
-
*
|
|
23497
|
-
*
|
|
23572
|
+
* Resets all safe-area related state and styles.
|
|
23573
|
+
* Called during dismiss and disconnectedCallback to ensure clean state
|
|
23574
|
+
* for re-presentation of inline modals.
|
|
23498
23575
|
*/
|
|
23499
|
-
|
|
23500
|
-
|
|
23501
|
-
|
|
23502
|
-
|
|
23503
|
-
|
|
23504
|
-
|
|
23505
|
-
|
|
23506
|
-
|
|
23576
|
+
resetSafeAreaState() {
|
|
23577
|
+
var _a;
|
|
23578
|
+
this.skipSafeAreaCoordinateDetection = false;
|
|
23579
|
+
this.cachedSafeAreas = undefined;
|
|
23580
|
+
this.prevSafeAreaState = { top: false, bottom: false, left: false, right: false };
|
|
23581
|
+
(_a = this.footerObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
23582
|
+
this.footerObserver = undefined;
|
|
23583
|
+
// Clear wrapper styles that may have been set for safe-area handling
|
|
23584
|
+
if (this.wrapperEl) {
|
|
23585
|
+
this.wrapperEl.style.removeProperty('padding-bottom');
|
|
23586
|
+
this.wrapperEl.style.removeProperty('box-sizing');
|
|
23587
|
+
}
|
|
23588
|
+
// Clear safe-area CSS variable overrides
|
|
23589
|
+
const style = this.el.style;
|
|
23590
|
+
style.removeProperty('--ion-safe-area-top');
|
|
23591
|
+
style.removeProperty('--ion-safe-area-bottom');
|
|
23592
|
+
style.removeProperty('--ion-safe-area-left');
|
|
23593
|
+
style.removeProperty('--ion-safe-area-right');
|
|
23594
|
+
}
|
|
23595
|
+
/**
|
|
23596
|
+
* Gets the root safe-area values from the document element.
|
|
23597
|
+
* Uses cached values during gestures to avoid getComputedStyle calls.
|
|
23598
|
+
*/
|
|
23599
|
+
getSafeAreaValues() {
|
|
23600
|
+
if (!this.cachedSafeAreas) {
|
|
23601
|
+
const rootStyle = getComputedStyle(document.documentElement);
|
|
23602
|
+
this.cachedSafeAreas = {
|
|
23603
|
+
top: parseFloat(rootStyle.getPropertyValue('--ion-safe-area-top')) || 0,
|
|
23604
|
+
bottom: parseFloat(rootStyle.getPropertyValue('--ion-safe-area-bottom')) || 0,
|
|
23605
|
+
left: parseFloat(rootStyle.getPropertyValue('--ion-safe-area-left')) || 0,
|
|
23606
|
+
right: parseFloat(rootStyle.getPropertyValue('--ion-safe-area-right')) || 0,
|
|
23607
|
+
};
|
|
23608
|
+
}
|
|
23609
|
+
return this.cachedSafeAreas;
|
|
23507
23610
|
}
|
|
23508
23611
|
/**
|
|
23509
23612
|
* Updates safe-area CSS variable overrides based on whether the modal
|
|
23510
23613
|
* extends into each safe-area region. Called after animation
|
|
23511
23614
|
* and during gestures to handle dynamic position changes.
|
|
23615
|
+
*
|
|
23616
|
+
* Optimized to avoid redundant DOM writes by tracking previous state.
|
|
23512
23617
|
*/
|
|
23513
23618
|
updateSafeAreaOverrides() {
|
|
23514
23619
|
if (this.skipSafeAreaCoordinateDetection) {
|
|
@@ -23519,20 +23624,34 @@ class Modal {
|
|
|
23519
23624
|
return;
|
|
23520
23625
|
}
|
|
23521
23626
|
const rect = wrapper.getBoundingClientRect();
|
|
23522
|
-
const safeAreas = this.
|
|
23627
|
+
const safeAreas = this.getSafeAreaValues();
|
|
23523
23628
|
const extendsIntoTop = rect.top < safeAreas.top;
|
|
23524
23629
|
const extendsIntoBottom = rect.bottom > window.innerHeight - safeAreas.bottom;
|
|
23525
23630
|
const extendsIntoLeft = rect.left < safeAreas.left;
|
|
23526
23631
|
const extendsIntoRight = rect.right > window.innerWidth - safeAreas.right;
|
|
23632
|
+
// Only update DOM when state actually changes
|
|
23633
|
+
const prev = this.prevSafeAreaState;
|
|
23527
23634
|
const style = this.el.style;
|
|
23528
|
-
extendsIntoTop
|
|
23529
|
-
|
|
23530
|
-
|
|
23531
|
-
|
|
23532
|
-
|
|
23533
|
-
|
|
23534
|
-
|
|
23535
|
-
|
|
23635
|
+
if (extendsIntoTop !== prev.top) {
|
|
23636
|
+
extendsIntoTop ? style.removeProperty('--ion-safe-area-top') : style.setProperty('--ion-safe-area-top', '0px');
|
|
23637
|
+
prev.top = extendsIntoTop;
|
|
23638
|
+
}
|
|
23639
|
+
if (extendsIntoBottom !== prev.bottom) {
|
|
23640
|
+
extendsIntoBottom
|
|
23641
|
+
? style.removeProperty('--ion-safe-area-bottom')
|
|
23642
|
+
: style.setProperty('--ion-safe-area-bottom', '0px');
|
|
23643
|
+
prev.bottom = extendsIntoBottom;
|
|
23644
|
+
}
|
|
23645
|
+
if (extendsIntoLeft !== prev.left) {
|
|
23646
|
+
extendsIntoLeft ? style.removeProperty('--ion-safe-area-left') : style.setProperty('--ion-safe-area-left', '0px');
|
|
23647
|
+
prev.left = extendsIntoLeft;
|
|
23648
|
+
}
|
|
23649
|
+
if (extendsIntoRight !== prev.right) {
|
|
23650
|
+
extendsIntoRight
|
|
23651
|
+
? style.removeProperty('--ion-safe-area-right')
|
|
23652
|
+
: style.setProperty('--ion-safe-area-right', '0px');
|
|
23653
|
+
prev.right = extendsIntoRight;
|
|
23654
|
+
}
|
|
23536
23655
|
}
|
|
23537
23656
|
sheetOnDismiss() {
|
|
23538
23657
|
/**
|
|
@@ -23626,8 +23745,8 @@ class Modal {
|
|
|
23626
23745
|
}
|
|
23627
23746
|
this.currentBreakpoint = undefined;
|
|
23628
23747
|
this.animation = undefined;
|
|
23629
|
-
// Reset safe-area
|
|
23630
|
-
this.
|
|
23748
|
+
// Reset safe-area state for potential re-presentation
|
|
23749
|
+
this.resetSafeAreaState();
|
|
23631
23750
|
unlock();
|
|
23632
23751
|
return dismissed;
|
|
23633
23752
|
}
|
|
@@ -23877,20 +23996,20 @@ class Modal {
|
|
|
23877
23996
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
23878
23997
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
23879
23998
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
23880
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
23999
|
+
return (hAsync(Host, Object.assign({ key: '44022099fcaf047b97d1c2cb45b9b51c930e707c', "no-router": true,
|
|
23881
24000
|
// Allow the modal to be navigable when the handle is focusable
|
|
23882
24001
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
23883
24002
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
23884
|
-
}, 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 }), hAsync("ion-backdrop", { key: '
|
|
24003
|
+
}, 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 }), hAsync("ion-backdrop", { key: 'ddd7e4f6eef51ac1f62ac70e0af10fb01e707f07', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '58620980e3e4ec273c6787bde026e1c010b904b7', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '3fb7f6218644ba898fc504467775593eb89426a0',
|
|
23885
24004
|
/*
|
|
23886
24005
|
role and aria-modal must be used on the
|
|
23887
24006
|
same element. They must also be set inside the
|
|
23888
24007
|
shadow DOM otherwise ion-button will not be highlighted
|
|
23889
24008
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
23890
24009
|
*/
|
|
23891
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
24010
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '9745cd590fdaa9d023a14b487ec2c87ddbafd7f7', class: "modal-handle",
|
|
23892
24011
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
23893
|
-
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) })), hAsync("slot", { key: '
|
|
24012
|
+
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) })), hAsync("slot", { key: 'b9a8b5d2d3d3c9b06f99179f496c9f08907d0bad', onSlotchange: this.onSlotChange }))));
|
|
23894
24013
|
}
|
|
23895
24014
|
get el() { return getElement(this); }
|
|
23896
24015
|
static get watchers() { return {
|
|
@@ -27756,7 +27875,7 @@ const mdEnterAnimation$1 = (baseEl, opts) => {
|
|
|
27756
27875
|
};
|
|
27757
27876
|
const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, trigger, ev);
|
|
27758
27877
|
const padding = size === 'cover' ? 0 : POPOVER_MD_BODY_PADDING;
|
|
27759
|
-
const { originX, originY, top, left, bottom, checkSafeAreaTop, checkSafeAreaBottom } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, 0, results.originX, results.originY, results.referenceCoordinates);
|
|
27878
|
+
const { originX, originY, top, left, bottom, checkSafeAreaTop, checkSafeAreaBottom, checkSafeAreaLeft, checkSafeAreaRight, } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, 0, results.originX, results.originY, results.referenceCoordinates);
|
|
27760
27879
|
/**
|
|
27761
27880
|
* Safe area CSS variable adjustments.
|
|
27762
27881
|
* When the popover is positioned near an edge, we add the corresponding
|
|
@@ -27765,14 +27884,23 @@ const mdEnterAnimation$1 = (baseEl, opts) => {
|
|
|
27765
27884
|
*/
|
|
27766
27885
|
const safeAreaTop = ' + var(--ion-safe-area-top, 0)';
|
|
27767
27886
|
const safeAreaBottom = ' + var(--ion-safe-area-bottom, 0)';
|
|
27887
|
+
const safeAreaLeft = ' + var(--ion-safe-area-left, 0)';
|
|
27888
|
+
const safeAreaRight = ' - var(--ion-safe-area-right, 0)';
|
|
27768
27889
|
let topValue = `${top}px`;
|
|
27769
27890
|
let bottomValue = bottom !== undefined ? `${bottom}px` : undefined;
|
|
27891
|
+
let leftValue = `${left}px`;
|
|
27770
27892
|
if (checkSafeAreaTop) {
|
|
27771
27893
|
topValue = `${top}px${safeAreaTop}`;
|
|
27772
27894
|
}
|
|
27773
27895
|
if (checkSafeAreaBottom && bottomValue !== undefined) {
|
|
27774
27896
|
bottomValue = `${bottom}px${safeAreaBottom}`;
|
|
27775
27897
|
}
|
|
27898
|
+
if (checkSafeAreaLeft) {
|
|
27899
|
+
leftValue = `${left}px${safeAreaLeft}`;
|
|
27900
|
+
}
|
|
27901
|
+
if (checkSafeAreaRight) {
|
|
27902
|
+
leftValue = `${left}px${safeAreaRight}`;
|
|
27903
|
+
}
|
|
27776
27904
|
const baseAnimation = createAnimation();
|
|
27777
27905
|
const backdropAnimation = createAnimation();
|
|
27778
27906
|
const wrapperAnimation = createAnimation();
|
|
@@ -27790,7 +27918,7 @@ const mdEnterAnimation$1 = (baseEl, opts) => {
|
|
|
27790
27918
|
.addElement(contentEl)
|
|
27791
27919
|
.beforeStyles({
|
|
27792
27920
|
top: `calc(${topValue} + var(--offset-y, 0px))`,
|
|
27793
|
-
left: `calc(${
|
|
27921
|
+
left: `calc(${leftValue} + var(--offset-x, 0px))`,
|
|
27794
27922
|
'transform-origin': `${originY} ${originX}`,
|
|
27795
27923
|
})
|
|
27796
27924
|
.beforeAddWrite(() => {
|
package/package.json
CHANGED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{r as o,h as t,e as i,d as e,g as n,f as r,c as a,a as s,i as l,w as d,j as c}from"./p-C8IsBmNU.js";import{shouldUseCloseWatcher as b}from"./p-B0q1YL7N.js";import{b as h,a as p}from"./p-BFvmZNyx.js";import{i as g,h as f,c as m,e as u,s as x}from"./p-CTfR9YZG.js";import{i as v}from"./p-C53feagD.js";import{c as k,h as w}from"./p-DiVJyqlX.js";import{a as y,p as z,g as C}from"./p-CwgG81ZD.js";import{c as j}from"./p-CtWGkNnJ.js";import{g as B}from"./p-hHmYLOfE.js";import{a as S,d as Z}from"./p-D-eFFUkA.js";import{c as T}from"./p-B-hirT0v.js";import{t as D}from"./p-DUt5fQmA.js";import"./p-ZjP4CjeZ.js";import"./p-D13Eaw-8.js";import"./p-CIGNaXM1.js";const $=class{constructor(t){o(this,t)}componentDidLoad(){L((async()=>{const o=p(window,"hybrid");if(i.getBoolean("_testing")||import("./p-BOVrCkpJ.js").then((o=>o.startTapClick(i))),i.getBoolean("statusTap",o)&&import("./p-Bmgaetn_.js").then((o=>o.startStatusTap())),i.getBoolean("inputShims",E())){const o=p(window,"ios")?"ios":"android";import("./p-QHYY4sjU.js").then((t=>t.startInputShims(i,o)))}const t=await import("./p-B0q1YL7N.js"),e=o||b();i.getBoolean("hardwareBackButton",e)?t.startHardwareBackButton():(b()&&r("[ion-app] - experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used."),t.blockHardwareBackButton()),"undefined"!=typeof window&&import("./p-9eeaBrnk.js").then((o=>o.startKeyboardAssist(window))),import("./p-BmVRXR1y.js").then((o=>this.focusVisible=o.startFocusVisible()))}))}async setFocus(o){this.focusVisible&&this.focusVisible.setFocus(o)}render(){const o=h(this);return t(e,{key:"9be440c65819e4fa67c2c3c6477ab40b3ad3eed3",class:{[o]:!0,"ion-page":!0,"force-statusbar-padding":i.getBoolean("_forceStatusbarPadding")}})}get el(){return n(this)}},E=()=>!(!p(window,"ios")||!p(window,"mobile"))||!(!p(window,"android")||!p(window,"mobileweb")),L=o=>{"requestIdleCallback"in window?window.requestIdleCallback(o):setTimeout(o,32)};$.style="html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}";const O=class{constructor(t){o(this,t),this.collapse=!1}render(){const o=h(this);return t(e,{key:"58c1fc5eb867d0731c63549b1ccb3ec3bbbe6e1b",class:{[o]:!0,"buttons-collapse":this.collapse}},t("slot",{key:"0c8f95b9840c8fa0c4e50be84c5159620a3eb5c8"}))}};O.style={ios:".sc-ion-buttons-ios-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-ios-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-ios-s ion-button{--padding-top:3px;--padding-bottom:3px;--padding-start:5px;--padding-end:5px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;min-height:32px}.sc-ion-buttons-ios-s .button-has-icon-only{--padding-top:0;--padding-bottom:0}.sc-ion-buttons-ios-s ion-button:not(.button-round){--border-radius:4px}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button{--color:initial;--border-color:initial;--background-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-solid,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-solid{--background:var(--ion-color-contrast);--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12;--background-hover:var(--ion-color-base);--background-hover-opacity:0.45;--color:var(--ion-color-base);--color-focused:var(--ion-color-base)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-clear,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-clear{--color-activated:var(--ion-color-contrast);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-outline,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-outline{--color-activated:var(--ion-color-base);--color-focused:var(--ion-color-contrast);--background-activated:var(--ion-color-contrast)}.sc-ion-buttons-ios-s .button-clear,.sc-ion-buttons-ios-s .button-outline{--background-activated:transparent;--background-focused:currentColor;--background-hover:transparent}.sc-ion-buttons-ios-s .button-solid:not(.ion-color){--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12}.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:1.41em;line-height:0.67}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-start:0.4em;margin-inline-start:0.4em;font-size:1.41em;line-height:0.67}.sc-ion-buttons-ios-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.65em;line-height:0.67}",md:".sc-ion-buttons-md-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:3px;--padding-bottom:3px;--padding-start:8px;--padding-end:8px;--box-shadow:none;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;min-height:32px}.sc-ion-buttons-md-s .button-has-icon-only{--padding-top:0;--padding-bottom:0}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:3rem;height:3rem}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:1.4em}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-start:0.4em;margin-inline-start:0.4em;font-size:1.4em}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}"};const A=class{constructor(t){o(this,t),this.ionScrollStart=a(this,"ionScrollStart",7),this.ionScroll=a(this,"ionScroll",7),this.ionScrollEnd=a(this,"ionScrollEnd",7),this.watchDog=null,this.isScrolling=!1,this.lastScroll=0,this.queued=!1,this.cTop=-1,this.cBottom=-1,this.isMainContent=!0,this.resizeTimeout=null,this.inheritedAttributes={},this.hasHeader=!1,this.hasFooter=!1,this.tabsElement=null,this.detail={scrollTop:0,scrollLeft:0,type:"scroll",event:void 0,startX:0,startY:0,startTime:0,currentX:0,currentY:0,velocityX:0,velocityY:0,deltaX:0,deltaY:0,currentTime:0,data:void 0,isScrolling:!0},this.fullscreen=!1,this.fixedSlotPlacement="after",this.scrollX=!1,this.scrollY=!0,this.scrollEvents=!1}componentWillLoad(){this.inheritedAttributes=g(this.el)}connectedCallback(){if(this.isMainContent=null===this.el.closest("ion-menu, ion-popover, ion-modal"),this.detectSiblingElements(),f(this.el)){const o=this.tabsElement=this.el.closest("ion-tabs");null!==o&&(this.tabsLoadCallback=()=>this.resize(),o.addEventListener("ionTabBarLoaded",this.tabsLoadCallback))}}detectSiblingElements(){const o=this.el.parentElement;if(o&&(this.hasHeader=null!==o.querySelector(":scope > ion-header"),this.hasFooter=null!==o.querySelector(":scope > ion-footer")),!this.hasFooter){const o=this.el.closest("ion-tabs");o&&(this.hasFooter=null!==o.querySelector(":scope > ion-tab-bar"))}}disconnectedCallback(){if(this.onScrollEnd(),f(this.el)){const{tabsElement:o,tabsLoadCallback:t}=this;null!==o&&void 0!==t&&o.removeEventListener("ionTabBarLoaded",t),this.tabsElement=null,this.tabsLoadCallback=void 0}}onResize(){this.resizeTimeout&&(clearTimeout(this.resizeTimeout),this.resizeTimeout=null),this.resizeTimeout=setTimeout((()=>{null!==this.el.offsetParent&&this.resize()}),100)}shouldForceOverscroll(){const{forceOverscroll:o}=this,t=h(this);return void 0===o?"ios"===t&&p("ios"):o}resize(){this.fullscreen?s((()=>this.readDimensions())):0===this.cTop&&0===this.cBottom||(this.cTop=this.cBottom=0,l(this))}async recalculateDimensions(){s((()=>this.readDimensions()))}readDimensions(){const o=_(this.el),t=Math.max(this.el.offsetTop,0),i=Math.max(o.offsetHeight-t-this.el.offsetHeight,0);(t!==this.cTop||i!==this.cBottom)&&(this.cTop=t,this.cBottom=i,l(this))}onScroll(o){const t=Date.now(),i=!this.isScrolling;this.lastScroll=t,i&&this.onScrollStart(),!this.queued&&this.scrollEvents&&(this.queued=!0,s((t=>{this.queued=!1,this.detail.event=o,I(this.detail,this.scrollEl,t,i),this.ionScroll.emit(this.detail)})))}async getScrollElement(){return this.scrollEl||await new Promise((o=>m(this.el,o))),Promise.resolve(this.scrollEl)}async getBackgroundElement(){return this.backgroundContentEl||await new Promise((o=>m(this.el,o))),Promise.resolve(this.backgroundContentEl)}scrollToTop(o=0){return this.scrollToPoint(void 0,0,o)}async scrollToBottom(o=0){const t=await this.getScrollElement();return this.scrollToPoint(void 0,t.scrollHeight-t.clientHeight,o)}async scrollByPoint(o,t,i){const e=await this.getScrollElement();return this.scrollToPoint(o+e.scrollLeft,t+e.scrollTop,i)}async scrollToPoint(o,t,i=0){const e=await this.getScrollElement();if(i<32)return null!=t&&(e.scrollTop=t),void(null!=o&&(e.scrollLeft=o));let n,r=0;const a=new Promise((o=>n=o)),s=e.scrollTop,l=e.scrollLeft,d=null!=t?t-s:0,c=null!=o?o-l:0,b=o=>{const t=Math.min(1,(o-r)/i)-1,a=Math.pow(t,3)+1;0!==d&&(e.scrollTop=Math.floor(a*d+s)),0!==c&&(e.scrollLeft=Math.floor(a*c+l)),a<1?requestAnimationFrame(b):n()};return requestAnimationFrame((o=>{r=o,b(o)})),a}onScrollStart(){this.isScrolling=!0,this.ionScrollStart.emit({isScrolling:!0}),this.watchDog&&clearInterval(this.watchDog),this.watchDog=setInterval((()=>{this.lastScroll<Date.now()-120&&this.onScrollEnd()}),100)}onScrollEnd(){this.watchDog&&clearInterval(this.watchDog),this.watchDog=null,this.isScrolling&&(this.isScrolling=!1,this.ionScrollEnd.emit({isScrolling:!1}))}render(){const{fixedSlotPlacement:o,hasFooter:i,hasHeader:n,inheritedAttributes:r,isMainContent:a,scrollX:s,scrollY:l,el:d}=this,c=v(d)?"rtl":"ltr",b=h(this),p=this.shouldForceOverscroll(),g="ios"===b;return this.resize(),t(e,Object.assign({key:"83665c0e35e4f4117709606e47d27ad36e343458",role:a?"main":void 0,class:k(this.color,{[b]:!0,"content-sizing":w("ion-popover",this.el),overscroll:p,[`content-${c}`]:!0,"safe-area-top":a&&!n,"safe-area-bottom":a&&!i}),style:{"--offset-top":`${this.cTop}px`,"--offset-bottom":`${this.cBottom}px`}},r),t("div",{key:"75d7cf9315bc8dfb150c3b5bcc356a1f9c793b5a",ref:o=>this.backgroundContentEl=o,id:"background-content",part:"background"}),"before"===o?t("slot",{name:"fixed"}):null,t("div",{key:"f68bc5843c93ed6f32e998b80c5edc553c77a2d7",class:{"inner-scroll":!0,"scroll-x":s,"scroll-y":l,overscroll:(s||l)&&p},ref:o=>this.scrollEl=o,onScroll:this.scrollEvents?o=>this.onScroll(o):void 0,part:"scroll"},t("slot",{key:"8d4b2be00f036f6a24bfa65e6324ca715dd93b60"})),g?t("div",{class:"transition-effect"},t("div",{class:"transition-cover"}),t("div",{class:"transition-shadow"})):null,"after"===o?t("slot",{name:"fixed"}):null)}get el(){return n(this)}},_=o=>{const t=o.closest("ion-tabs");if(t)return t;return o.closest("ion-app, ion-page, .ion-page, page-inner, .popover-content")||(o=>{var t;return o.parentElement?o.parentElement:(null===(t=o.parentNode)||void 0===t?void 0:t.host)?o.parentNode.host:null})(o)},I=(o,t,i,e)=>{const n=o.currentX,r=o.currentY,a=t.scrollLeft,s=t.scrollTop,l=i-o.currentTime;if(e&&(o.startTime=i,o.startX=a,o.startY=s,o.velocityX=o.velocityY=0),o.currentTime=i,o.currentX=o.scrollLeft=a,o.currentY=o.scrollTop=s,o.deltaX=a-o.startX,o.deltaY=s-o.startY,l>0&&l<100){const t=(s-r)/l;o.velocityX=(a-n)/l*.7+.3*o.velocityX,o.velocityY=.7*t+.3*o.velocityY}};A.style=':host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-ms-touch-action:pan-x pan-y pinch-zoom;touch-action:pan-x pan-y pinch-zoom}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{overflow-x:var(--overflow);overscroll-behavior-x:contain}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:""}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:100%;height:100%;-webkit-box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03);box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03)}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.safe-area-top) #background-content,:host(.safe-area-top) .inner-scroll{top:var(--ion-safe-area-top, 0px)}:host(.safe-area-bottom) #background-content,:host(.safe-area-bottom) .inner-scroll{bottom:var(--ion-safe-area-bottom, 0px)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}';const M=(o,t)=>{s((()=>{const i=u(0,1-(o.scrollTop-(o.scrollHeight-o.clientHeight-10))/10,1);d((()=>{t.style.setProperty("--opacity-scale",i.toString())}))}))},P=class{constructor(t){o(this,t),this.keyboardCtrl=null,this.keyboardVisible=!1,this.translucent=!1,this.checkCollapsibleFooter=()=>{if("ios"!==h(this))return;const{collapse:o}=this,t="fade"===o;if(this.destroyCollapsibleFooter(),t){const o=this.el.closest("ion-app,ion-page,.ion-page,page-inner"),t=o?y(o):null;if(!t)return void z(this.el);this.setupFadeFooter(t)}},this.setupFadeFooter=async o=>{const t=this.scrollEl=await C(o);this.contentScrollCallback=()=>{M(t,this.el)},t.addEventListener("scroll",this.contentScrollCallback),M(t,this.el)}}componentDidLoad(){this.checkCollapsibleFooter()}componentDidUpdate(){this.checkCollapsibleFooter()}async connectedCallback(){this.keyboardCtrl=await j((async(o,t)=>{!1===o&&void 0!==t&&await t,this.keyboardVisible=o}))}disconnectedCallback(){this.keyboardCtrl&&this.keyboardCtrl.destroy()}destroyCollapsibleFooter(){this.scrollEl&&this.contentScrollCallback&&(this.scrollEl.removeEventListener("scroll",this.contentScrollCallback),this.contentScrollCallback=void 0)}render(){const{translucent:o,collapse:i}=this,n=h(this),r=this.el.closest("ion-tabs"),a=null==r?void 0:r.querySelector(":scope > ion-tab-bar");return t(e,{key:"ddc228f1a1e7fa4f707dccf74db2490ca3241137",role:"contentinfo",class:{[n]:!0,[`footer-${n}`]:!0,"footer-translucent":o,[`footer-translucent-${n}`]:o,"footer-toolbar-padding":!(this.keyboardVisible||a&&"bottom"===a.slot),[`footer-collapse-${i}`]:void 0!==i}},"ios"===n&&o&&t("div",{key:"e16ed4963ff94e06de77eb8038201820af73937c",class:"footer-background"}),t("slot",{key:"f186934febf85d37133d9351a96c1a64b0a4b203"}))}get el(){return n(this)}};P.style={ios:"ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer.footer-toolbar-padding ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-ios ion-toolbar:first-of-type{--border-width:0.55px 0 0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.footer-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.footer-translucent-ios ion-toolbar{--opacity:.8}}.footer-ios.ion-no-border ion-toolbar:first-of-type{--border-width:0}.footer-collapse-fade ion-toolbar{--opacity-scale:inherit}",md:"ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer.footer-toolbar-padding ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-md{-webkit-box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12)}.footer-md.ion-no-border{-webkit-box-shadow:none;box-shadow:none}"};const X="none",Y="banner",W=o=>{const t=document.querySelector(`${o}.ion-cloned-element`);if(null!==t)return t;const i=document.createElement(o);return i.classList.add("ion-cloned-element"),i.style.setProperty("display","none"),document.body.appendChild(i),i},F=o=>{if(!o)return;const t=o.querySelectorAll("ion-toolbar");return{el:o,toolbars:Array.from(t).map((o=>{const t=o.querySelector("ion-title");return{el:o,background:o.shadowRoot.querySelector(".toolbar-background"),ionTitleEl:t,innerTitleEl:t?t.shadowRoot.querySelector(".toolbar-title"):null,ionButtonsEl:Array.from(o.querySelectorAll("ion-buttons"))}}))}},H=(o,t)=>{"fade"!==o.collapse&&(void 0===t?o.style.removeProperty("--opacity-scale"):o.style.setProperty("--opacity-scale",t.toString()))},N=(o,t=!0)=>{const i=o.el,e=o.toolbars.map((o=>o.ionTitleEl));t?(i.setAttribute("role",Y),i.classList.remove("header-collapse-condense-inactive"),e.forEach((o=>{o&&o.removeAttribute("aria-hidden")}))):(i.setAttribute("role",X),i.classList.add("header-collapse-condense-inactive"),e.forEach((o=>{o&&o.setAttribute("aria-hidden","true")})))},R=(o,t,i)=>{s((()=>{const e=o.scrollTop,n=t.clientHeight,r=i?i.clientHeight:0;if(null!==i&&e<r)return t.style.setProperty("--opacity-scale","0"),void o.style.setProperty("clip-path",`inset(${n}px 0px 0px 0px)`);const a=u(0,(e-r)/10,1);d((()=>{o.style.removeProperty("clip-path"),t.style.setProperty("--opacity-scale",a.toString())}))}))},q=class{constructor(t){o(this,t),this.inheritedAttributes={},this.translucent=!1,this.setupFadeHeader=async(o,t)=>{const i=this.scrollEl=await C(o);this.contentScrollCallback=()=>{R(this.scrollEl,this.el,t)},i.addEventListener("scroll",this.contentScrollCallback),R(this.scrollEl,this.el,t)}}componentWillLoad(){this.inheritedAttributes=g(this.el)}componentDidLoad(){this.checkCollapsibleHeader()}componentDidUpdate(){this.checkCollapsibleHeader()}disconnectedCallback(){this.destroyCollapsibleHeader()}async checkCollapsibleHeader(){if("ios"!==h(this))return;const{collapse:o}=this,t="condense"===o,i="fade"===o;if(this.destroyCollapsibleHeader(),t){const o=this.el.closest("ion-app,ion-page,.ion-page,page-inner"),t=o?y(o):null;d((()=>{W("ion-title").size="large",W("ion-back-button")})),await this.setupCondenseHeader(t,o)}else if(i){const o=this.el.closest("ion-app,ion-page,.ion-page,page-inner"),t=o?y(o):null;if(!t)return void z(this.el);const i=t.querySelector('ion-header[collapse="condense"]');await this.setupFadeHeader(t,i)}}destroyCollapsibleHeader(){this.intersectionObserver&&(this.intersectionObserver.disconnect(),this.intersectionObserver=void 0),this.scrollEl&&this.contentScrollCallback&&(this.scrollEl.removeEventListener("scroll",this.contentScrollCallback),this.contentScrollCallback=void 0),this.collapsibleMainHeader&&(this.collapsibleMainHeader.classList.remove("header-collapse-main"),this.collapsibleMainHeader=void 0)}async setupCondenseHeader(o,t){if(!o||!t)return void z(this.el);if("undefined"==typeof IntersectionObserver)return;this.scrollEl=await C(o);const i=t.querySelectorAll("ion-header");if(this.collapsibleMainHeader=Array.from(i).find((o=>"condense"!==o.collapse)),!this.collapsibleMainHeader)return;const e=F(this.collapsibleMainHeader),n=F(this.el);e&&n&&(N(e,!1),H(e.el,0),this.intersectionObserver=new IntersectionObserver((o=>{((o,t,i,e)=>{d((()=>{const n=e.scrollTop;((o,t,i)=>{if(!o[0].isIntersecting)return;const e=o[0].intersectionRatio>.9||i<=0?0:100*(1-o[0].intersectionRatio)/75;H(t.el,1===e?void 0:e)})(o,t,n);const r=o[0],a=r.intersectionRect,s=a.width*a.height,l=0===s&&0==r.rootBounds.width*r.rootBounds.height,d=Math.abs(a.left-r.boundingClientRect.left),c=Math.abs(a.right-r.boundingClientRect.right);l||s>0&&(d>=5||c>=5)||(r.isIntersecting?(N(t,!1),N(i)):(0===a.x&&0===a.y||0!==a.width&&0!==a.height)&&n>0&&(N(t),N(i,!1),H(t.el)))}))})(o,e,n,this.scrollEl)}),{root:o,threshold:[.25,.3,.4,.5,.6,.7,.8,.9,1]}),this.intersectionObserver.observe(n.toolbars[n.toolbars.length-1].el),this.contentScrollCallback=()=>{((o,t,i)=>{s((()=>{const e=u(1,1+-o.scrollTop/500,1.1);null===i.querySelector("ion-refresher.refresher-native")&&d((()=>{((o=[],t=1,i=!1)=>{o.forEach((o=>{const e=o.ionTitleEl,n=o.innerTitleEl;e&&"large"===e.size&&(n.style.transition=i?"all 0.2s ease-in-out":"",n.style.transform=`scale3d(${t}, ${t}, 1)`)}))})(t.toolbars,e)}))}))})(this.scrollEl,n,o)},this.scrollEl.addEventListener("scroll",this.contentScrollCallback),d((()=>{void 0!==this.collapsibleMainHeader&&this.collapsibleMainHeader.classList.add("header-collapse-main")})))}render(){const{translucent:o,inheritedAttributes:i}=this,n=h(this),r=this.collapse||"none",a="condense"===r,s=((o,t,i)=>o||t&&"md"===i?X:Y)(w("ion-menu",this.el),a,n);return t(e,Object.assign({key:"863c4568cd7b8c0ec55109f193bbbaed68a1346e",role:s,class:{[n]:!0,[`header-${n}`]:!0,"header-translucent":this.translucent,[`header-collapse-${r}`]:!0,[`header-translucent-${n}`]:this.translucent}},i),"ios"===n&&o&&t("div",{key:"25c3bdce328b0b35607d154c8b8374679313d881",class:"header-background"}),t("slot",{key:"b44fab0a9be7920b9650da26117c783e751e1702"}))}get el(){return n(this)}};q.style={ios:"ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-fade.header-transitioning ion-toolbar{--background:transparent;--border-style:none}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:0px;z-index:1}.header-collapse-condense ion-toolbar{z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense ion-toolbar,.header-collapse-condense-inactive.header-transitioning:not(.header-collapse-condense) ion-toolbar{--background:var(--ion-background-color, #fff)}.header-collapse-condense-inactive.header-transitioning:not(.header-collapse-condense) ion-toolbar{--border-style:none;--opacity-scale:1}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}ion-header.header-ios:not(.header-collapse-main):has(~ion-content ion-header.header-ios[collapse=condense],~ion-content ion-header.header-ios.header-collapse-condense){opacity:0}",md:"ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md{-webkit-box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12)}.header-md.header-collapse-condense{display:none}.header-md.ion-no-border{-webkit-box-shadow:none;box-shadow:none}"};const U=class{constructor(t){o(this,t),this.ionNavWillLoad=a(this,"ionNavWillLoad",7),this.ionNavWillChange=a(this,"ionNavWillChange",3),this.ionNavDidChange=a(this,"ionNavDidChange",3),this.lockController=T(),this.gestureOrAnimationInProgress=!1,this.mode=h(this),this.animated=!0}swipeHandlerChanged(){this.gesture&&this.gesture.enable(void 0!==this.swipeHandler)}async connectedCallback(){const o=()=>{this.gestureOrAnimationInProgress=!0,this.swipeHandler&&this.swipeHandler.onStart()};this.gesture=(await import("./p-BKc55Xev.js")).createSwipeBackGesture(this.el,(()=>!this.gestureOrAnimationInProgress&&!!this.swipeHandler&&this.swipeHandler.canStart()),(()=>o()),(o=>{var t;return null===(t=this.ani)||void 0===t?void 0:t.progressStep(o)}),((o,t,i)=>{if(this.ani){this.ani.onFinish((()=>{this.gestureOrAnimationInProgress=!1,this.swipeHandler&&this.swipeHandler.onEnd(o)}),{oneTimeCallback:!0});let e=o?-.001:.001;o?e+=B([0,0],[.32,.72],[0,1],[1,1],t)[0]:(this.ani.easing("cubic-bezier(1, 0, 0.68, 0.28)"),e+=B([0,0],[1,0],[.68,.28],[1,1],t)[0]),this.ani.progressEnd(o?1:0,e,i)}else this.gestureOrAnimationInProgress=!1})),this.swipeHandlerChanged()}componentWillLoad(){this.ionNavWillLoad.emit()}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}async commit(o,t,i){const e=await this.lockController.lock();let n=!1;try{n=await this.transition(o,t,i)}catch(o){c("[ion-router-outlet] - Exception in commit:",o)}return e(),n}async setRouteId(o,t,i,e){return{changed:await this.setRoot(o,t,{duration:"root"===i?0:void 0,direction:"back"===i?"back":"forward",animationBuilder:e}),element:this.activeEl}}async getRouteId(){const o=this.activeEl;return o?{id:o.tagName,element:o,params:this.activeParams}:void 0}async setRoot(o,t,i){if(this.activeComponent===o&&x(t,this.activeParams))return!1;const e=this.activeEl,n=await S(this.delegate,this.el,o,["ion-page","ion-page-invisible"],t);return this.activeComponent=o,this.activeEl=n,this.activeParams=t,await this.commit(n,e,i),await Z(this.delegate,e),!0}async transition(o,t,e={}){if(t===o)return!1;this.ionNavWillChange.emit();const{el:n,mode:r}=this,a=this.animated&&i.getBoolean("animated",!0),s=e.animationBuilder||this.animation||i.get("navAnimation");return await D(Object.assign(Object.assign({mode:r,animated:a,enteringEl:o,leavingEl:t,baseEl:n,deepWait:f(n),progressCallback:e.progressAnimation?o=>{void 0===o||this.gestureOrAnimationInProgress?this.ani=o:(this.gestureOrAnimationInProgress=!0,o.onFinish((()=>{this.gestureOrAnimationInProgress=!1,this.swipeHandler&&this.swipeHandler.onEnd(!1)}),{oneTimeCallback:!0}),o.progressEnd(0,0,0))}:void 0},e),{animationBuilder:s})),this.ionNavDidChange.emit(),!0}render(){return t("slot",{key:"84b50f1155b0d780dff802ee13223287259fd525"})}get el(){return n(this)}static get watchers(){return{swipeHandler:["swipeHandlerChanged"]}}};U.style=":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;z-index:0}";const G=class{constructor(t){o(this,t),this.ionStyle=a(this,"ionStyle",7)}sizeChanged(){this.emitStyle()}connectedCallback(){this.emitStyle()}emitStyle(){const o=this.getSize();this.ionStyle.emit({[`title-${o}`]:!0})}getSize(){return void 0!==this.size?this.size:"default"}render(){const o=h(this),i=this.getSize();return t(e,{key:"e599c0bf1b0817df3fa8360bdcd6d787f751c371",class:k(this.color,{[o]:!0,[`title-${i}`]:!0,"title-rtl":"rtl"===document.dir})},t("div",{key:"6e7eee9047d6759876bb31d7305b76efc7c4338c",class:"toolbar-title"},t("slot",{key:"bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4"})))}get el(){return n(this)}static get watchers(){return{size:["sizeChanged"]}}};G.style={ios:":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{top:0;-webkit-padding-start:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:min(1.0625rem, 20.4px);font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host{inset-inline-start:0}:host(.title-small){-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:min(0.8125rem, 23.4px);font-weight:normal}:host(.title-large){-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:2px;padding-bottom:4px;-webkit-transform-origin:left center;transform-origin:left center;position:static;-ms-flex-align:end;align-items:flex-end;min-width:100%;font-size:min(2.125rem, 61.2px);font-weight:700;text-align:start}:host(.title-large.title-rtl){-webkit-transform-origin:right center;transform-origin:right center}:host(.title-large.ion-cloned-element){--color:var(--ion-text-color, #000);font-family:var(--ion-font-family)}:host(.title-large) .toolbar-title{-webkit-transform-origin:inherit;transform-origin:inherit;width:auto}:host-context([dir=rtl]):host(.title-large) .toolbar-title,:host-context([dir=rtl]).title-large .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}@supports selector(:dir(rtl)){:host(.title-large:dir(rtl)) .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}}",md:":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:0;padding-bottom:0;font-size:1.25rem;font-weight:500;letter-spacing:0.0125em}:host(.title-small){width:100%;height:100%;font-size:0.9375rem;font-weight:normal}"};const J=class{constructor(t){o(this,t),this.childrenStyles=new Map}componentWillLoad(){const o=Array.from(this.el.querySelectorAll("ion-buttons")),t=o.find((o=>"start"===o.slot));t&&t.classList.add("buttons-first-slot");const i=o.reverse(),e=i.find((o=>"end"===o.slot))||i.find((o=>"primary"===o.slot))||i.find((o=>"secondary"===o.slot));e&&e.classList.add("buttons-last-slot")}childrenStyle(o){o.stopPropagation();const t=o.target.tagName,i=o.detail,e={},n=this.childrenStyles.get(t)||{};let r=!1;Object.keys(i).forEach((o=>{const t=`toolbar-${o}`,a=i[o];a!==n[t]&&(r=!0),a&&(e[t]=!0)})),r&&(this.childrenStyles.set(t,e),l(this))}render(){const o=h(this),i={};return this.childrenStyles.forEach((o=>{Object.assign(i,o)})),t(e,{key:"f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46",class:Object.assign(Object.assign({},i),k(this.color,{[o]:!0,"in-toolbar":w("ion-toolbar",this.el)}))},t("div",{key:"9c81742ffa02de9ba7417025b077d05e67305074",class:"toolbar-background",part:"background"}),t("div",{key:"5fc96d166fa47894a062e41541a9beee38078a36",class:"toolbar-container",part:"container"},t("slot",{key:"b62c0d9d59a70176bdbf769aec6090d7a166853b",name:"start"}),t("slot",{key:"d01d3cc2c50e5aaa49c345b209fe8dbdf3d48131",name:"secondary"}),t("div",{key:"3aaa3a2810aedd38c37eb616158ec7b9638528fc",class:"toolbar-content",part:"content"},t("slot",{key:"357246690f8d5e1cc3ca369611d4845a79edf610"})),t("slot",{key:"06ed3cca4f7ebff4a54cd877dad3cc925ccf9f75",name:"primary"}),t("slot",{key:"e453d43d14a26b0d72f41e1b81a554bab8ece811",name:"end"})))}get el(){return n(this)}};J.style={ios:":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;width:100%;padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:calc(var(--opacity) * var(--opacity-scale));z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-color-step-50, var(--ion-background-color-step-50, #f7f7f7)));--color:var(--ion-toolbar-color, var(--ion-text-color, #000));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.2)))));--padding-top:3px;--padding-bottom:3px;--padding-start:4px;--padding-end:4px;--min-height:44px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:4;order:4;min-width:0}:host(.toolbar-segment) .toolbar-content{display:-ms-inline-flexbox;display:inline-flex}:host(.toolbar-searchbar) .toolbar-container{padding-top:0;padding-bottom:0}:host(.toolbar-searchbar) ::slotted(*){-ms-flex-item-align:start;align-self:start}:host(.toolbar-searchbar) ::slotted(ion-chip){margin-top:3px}::slotted(ion-buttons){min-height:38px}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:3;order:3}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}:host(.toolbar-title-large) .toolbar-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start}:host(.toolbar-title-large) .toolbar-content ion-title{-ms-flex:1;flex:1;-ms-flex-order:8;order:8;min-width:100%}",md:":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;width:100%;padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:calc(var(--opacity) * var(--opacity-scale));z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-background-color, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #424242));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, #c1c4cd))));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:3;order:3;min-width:0;max-width:100%}::slotted(.buttons-first-slot){-webkit-margin-start:4px;margin-inline-start:4px}::slotted(.buttons-last-slot){-webkit-margin-end:4px;margin-inline-end:4px}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:4;order:4}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}"};export{$ as ion_app,O as ion_buttons,A as ion_content,P as ion_footer,q as ion_header,U as ion_router_outlet,G as ion_title,J as ion_toolbar}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{r as t,c as o,f as e,h as r,d as i,g as s}from"./p-C8IsBmNU.js";import{B as n,j as a,k as p,f as c,n as d,g as h,h as l,F as v}from"./p-DdR6rpbR.js";import{C as f,a as g,d as m}from"./p-D-eFFUkA.js";import{g as x,r as b,f as u,h as w}from"./p-CTfR9YZG.js";import{c as k}from"./p-B-hirT0v.js";import{b as y,a as D}from"./p-BFvmZNyx.js";import{g as P}from"./p-DiVJyqlX.js";import{e as T,w as $}from"./p-DUt5fQmA.js";import{c as A}from"./p-DDb5r57F.js";import"./p-ZjP4CjeZ.js";import"./p-B0q1YL7N.js";import"./p-BTEOs1at.js";const I=(t,o,e)=>{const r=o.getBoundingClientRect(),i=r.height;let s=r.width;return"cover"===t&&e&&(s=e.getBoundingClientRect().width),{contentWidth:s,contentHeight:i}},N=(t,o)=>o&&"ION-ITEM"===o.tagName?t.findIndex((t=>t===o)):-1,j=t=>{const o=x(t).querySelector("button");o&&b((()=>o.focus()))},L=(t,o,e,r,i,s,n,a,p,c,d)=>{var h;let l={top:0,left:0,width:0,height:0};if("event"===s){if(!d)return p;l={top:d.clientY,left:d.clientX,width:1,height:1}}else{const t=c||(null===(h=null==d?void 0:d.detail)||void 0===h?void 0:h.ionShadowTarget)||(null==d?void 0:d.target);if(!t)return p;const o=t.getBoundingClientRect();l={top:o.top,left:o.left,width:o.width,height:o.height}}const v=z(n,l,o,e,r,i,t),f=X(a,n,l,o,e),g=v.top+f.top,m=v.left+f.left,{arrowTop:x,arrowLeft:b}=Y(n,r,i,g,m,o,e,t),{originX:u,originY:w}=C(n,a,t);return{top:g,left:m,referenceCoordinates:l,arrowTop:x,arrowLeft:b,originX:u,originY:w}},C=(t,o,e)=>{switch(t){case"top":return{originX:O(o),originY:"bottom"};case"bottom":return{originX:O(o),originY:"top"};case"left":return{originX:"right",originY:W(o)};case"right":return{originX:"left",originY:W(o)};case"start":return{originX:e?"left":"right",originY:W(o)};case"end":return{originX:e?"right":"left",originY:W(o)}}},O=t=>{switch(t){case"start":return"left";case"center":return"center";case"end":return"right"}},W=t=>{switch(t){case"start":return"top";case"center":return"center";case"end":return"bottom"}},Y=(t,o,e,r,i,s,n,a)=>{const p={arrowTop:r+n/2-o/2,arrowLeft:i+s-o/2},c={arrowTop:r+n/2-o/2,arrowLeft:i-1.5*o};switch(t){case"top":return{arrowTop:r+n,arrowLeft:i+s/2-o/2};case"bottom":return{arrowTop:r-e,arrowLeft:i+s/2-o/2};case"left":return p;case"right":return c;case"start":return a?c:p;case"end":return a?p:c;default:return{arrowTop:0,arrowLeft:0}}},z=(t,o,e,r,i,s,n)=>{const a={top:o.top,left:o.left-e-i},p={top:o.top,left:o.left+o.width+i};switch(t){case"top":return{top:o.top-r-s,left:o.left};case"right":return p;case"bottom":return{top:o.top+o.height+s,left:o.left};case"left":return a;case"start":return n?p:a;case"end":return n?a:p}},X=(t,o,e,r,i)=>{switch(t){case"center":return E(o,e,r,i);case"end":return B(o,e,r,i);default:return{top:0,left:0}}},B=(t,o,e,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r-o.height),left:0};default:return{top:0,left:-(e-o.width)}}},E=(t,o,e,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r/2-o.height/2),left:0};default:return{top:0,left:-(e/2-o.width/2)}}},S=(t,o,e,r,i,s,n,a,p,c,d,h,l=0,v=0,f=0)=>{let g=l;const m=v;let x,b=e,u=o,w=c,k=d,y=!1,D=!1,P=!1,T=!1;const $=h?h.top+h.height:s/2-a/2,A=h?h.height:0;let I=!1;return b<r+p?(b=r,P=!0,w="left"):n+r+b+p>i&&(T=!0,b=i-n-r,w="right"),$+A+a>s&&("top"===t||"bottom"===t)&&($-a>0?(u=Math.max(r,$-a-A-(f-1)),g=u+a,k="bottom",I=!0,u<=r+p&&(y=!0,u=r)):(x=r,D=!0)),(void 0!==x?s-x:u+a)+p>s&&(D=!0),u<p&&(y=!0),{top:u,left:b,bottom:x,originX:w,originY:k,checkSafeAreaTop:y,checkSafeAreaBottom:D,checkSafeAreaLeft:P,checkSafeAreaRight:T,arrowTop:g,arrowLeft:m,addPopoverBottomClass:I}},R=(t,o)=>{var e;const{event:r,size:i,trigger:s,reference:n,side:a,align:p}=o,c=t.ownerDocument,d="rtl"===c.dir,h=c.defaultView.innerWidth,l=c.defaultView.innerHeight,v=x(t),f=v.querySelector(".popover-content"),g=v.querySelector(".popover-arrow"),m=s||(null===(e=null==r?void 0:r.detail)||void 0===e?void 0:e.ionShadowTarget)||(null==r?void 0:r.target),{contentWidth:b,contentHeight:u}=I(i,f,m),{arrowWidth:w,arrowHeight:k}=(t=>{if(!t)return{arrowWidth:0,arrowHeight:0};const{width:o,height:e}=t.getBoundingClientRect();return{arrowWidth:o,arrowHeight:e}})(g),y=L(d,b,u,w,k,n,a,p,{top:l/2-u/2,left:h/2-b/2,originX:d?"right":"left",originY:"top"},s,r),D="cover"===i?0:5,P="cover"===i?0:25,{originX:T,originY:$,top:N,left:j,bottom:C,checkSafeAreaTop:O,checkSafeAreaBottom:W,checkSafeAreaLeft:Y,checkSafeAreaRight:z,arrowTop:X,arrowLeft:B,addPopoverBottomClass:E}=S(a,y.top,y.left,D,h,l,b,u,P,y.originX,y.originY,y.referenceCoordinates,y.arrowTop,y.arrowLeft,k),R=A(),H=A(),F=A();return H.addElement(v.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),F.addElement(v.querySelector(".popover-arrow")).addElement(v.querySelector(".popover-content")).fromTo("opacity",.01,1),R.easing("ease").duration(100).beforeAddWrite((()=>{"cover"===i&&t.style.setProperty("--width",`${b}px`),E&&t.classList.add("popover-bottom");let o=`${N}px`,e=void 0!==C?`${C}px`:void 0,n=`${j}px`;if(O&&(o=`${N}px + var(--ion-safe-area-top, 0)`),W&&void 0!==e&&(e=`${C}px + var(--ion-safe-area-bottom, 0)`),Y&&(n=`${j}px + var(--ion-safe-area-left, 0)`),z&&(n=`${j}px - var(--ion-safe-area-right, 0)`),void 0!==e&&f.style.setProperty("bottom",`calc(${e})`),f.style.setProperty("top",`calc(${o} + var(--offset-y, 0))`),f.style.setProperty("left",`calc(${n} + var(--offset-x, 0))`),f.style.setProperty("transform-origin",`${$} ${T}`),null!==g){const t=((t,o=!1,e,r)=>!(!e&&!r||"top"!==t&&"bottom"!==t&&o))(a,y.top!==N||y.left!==j,r,s);t?(g.style.setProperty("top",`calc(${X}px + var(--offset-y, 0))`),g.style.setProperty("left",`calc(${B}px + var(--offset-x, 0))`)):g.style.setProperty("display","none")}})).addAnimation([H,F])},H=t=>{const o=x(t),e=o.querySelector(".popover-content"),r=o.querySelector(".popover-arrow"),i=A(),s=A(),n=A();return s.addElement(o.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),n.addElement(o.querySelector(".popover-arrow")).addElement(o.querySelector(".popover-content")).fromTo("opacity",.99,0),i.easing("ease").afterAddWrite((()=>{t.style.removeProperty("--width"),t.classList.remove("popover-bottom"),e.style.removeProperty("top"),e.style.removeProperty("left"),e.style.removeProperty("bottom"),e.style.removeProperty("transform-origin"),r&&(r.style.removeProperty("top"),r.style.removeProperty("left"),r.style.removeProperty("display"))})).duration(300).addAnimation([s,n])},F=(t,o)=>{var e;const{event:r,size:i,trigger:s,reference:n,side:a,align:p}=o,c=t.ownerDocument,d="rtl"===c.dir,h=c.defaultView.innerWidth,l=c.defaultView.innerHeight,v=x(t),f=v.querySelector(".popover-content"),g=s||(null===(e=null==r?void 0:r.detail)||void 0===e?void 0:e.ionShadowTarget)||(null==r?void 0:r.target),{contentWidth:m,contentHeight:b}=I(i,f,g),u=L(d,m,b,0,0,n,a,p,{top:l/2-b/2,left:h/2-m/2,originX:d?"right":"left",originY:"top"},s,r),w="cover"===i?0:12,{originX:k,originY:y,top:D,left:P,bottom:T,checkSafeAreaTop:$,checkSafeAreaBottom:N}=S(a,u.top,u.left,w,h,l,m,b,0,u.originX,u.originY,u.referenceCoordinates);let j=`${D}px`,C=void 0!==T?`${T}px`:void 0;$&&(j=`${D}px + var(--ion-safe-area-top, 0)`),N&&void 0!==C&&(C=`${T}px + var(--ion-safe-area-bottom, 0)`);const O=A(),W=A(),Y=A(),z=A(),X=A();return W.addElement(v.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),Y.addElement(v.querySelector(".popover-wrapper")).duration(150).fromTo("opacity",.01,1),z.addElement(f).beforeStyles({top:`calc(${j} + var(--offset-y, 0px))`,left:`calc(${P}px + var(--offset-x, 0px))`,"transform-origin":`${y} ${k}`}).beforeAddWrite((()=>{void 0!==C&&f.style.setProperty("bottom",`calc(${C})`)})).fromTo("transform","scale(0.8)","scale(1)"),X.addElement(v.querySelector(".popover-viewport")).fromTo("opacity",.01,1),O.easing("cubic-bezier(0.36,0.66,0.04,1)").duration(300).beforeAddWrite((()=>{"cover"===i&&t.style.setProperty("--width",`${m}px`),"bottom"===y&&t.classList.add("popover-bottom")})).addAnimation([W,Y,z,X])},M=t=>{const o=x(t),e=o.querySelector(".popover-content"),r=A(),i=A(),s=A();return i.addElement(o.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),s.addElement(o.querySelector(".popover-wrapper")).fromTo("opacity",.99,0),r.easing("ease").afterAddWrite((()=>{t.style.removeProperty("--width"),t.classList.remove("popover-bottom"),e.style.removeProperty("top"),e.style.removeProperty("left"),e.style.removeProperty("bottom"),e.style.removeProperty("transform-origin")})).duration(150).addAnimation([i,s])},V=class{constructor(r){t(this,r),this.didPresent=o(this,"ionPopoverDidPresent",7),this.willPresent=o(this,"ionPopoverWillPresent",7),this.willDismiss=o(this,"ionPopoverWillDismiss",7),this.didDismiss=o(this,"ionPopoverDidDismiss",7),this.didPresentShorthand=o(this,"didPresent",7),this.willPresentShorthand=o(this,"willPresent",7),this.willDismissShorthand=o(this,"willDismiss",7),this.didDismissShorthand=o(this,"didDismiss",7),this.ionMount=o(this,"ionMount",7),this.parentPopover=null,this.coreDelegate=f(),this.lockController=k(),this.inline=!1,this.focusDescendantOnPresent=!1,this.presented=!1,this.hasController=!1,this.keyboardClose=!0,this.backdropDismiss=!0,this.showBackdrop=!0,this.translucent=!1,this.animated=!0,this.triggerAction="click",this.size="auto",this.dismissOnSelect=!1,this.reference="trigger",this.side="bottom",this.arrow=!0,this.isOpen=!1,this.keyboardEvents=!1,this.focusTrap=!0,this.keepContentsMounted=!1,this.onBackdropTap=()=>{this.dismiss(void 0,n)},this.onLifecycle=t=>{const o=this.usersElement,e=U[t.type];if(o&&e){const r=new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t.detail});o.dispatchEvent(r)}},this.configureTriggerInteraction=()=>{const{trigger:t,triggerAction:o,el:r,destroyTriggerInteraction:i}=this;if(i&&i(),void 0===t)return;const s=this.triggerEl=void 0!==t?document.getElementById(t):null;s?this.destroyTriggerInteraction=((t,o,e)=>{let r=[];switch(o){case"hover":let t;r=[{eventName:"mouseenter",callback:async o=>{o.stopPropagation(),t&&clearTimeout(t),t=setTimeout((()=>{b((()=>{e.presentFromTrigger(o),t=void 0}))}),100)}},{eventName:"mouseleave",callback:o=>{t&&clearTimeout(t);const r=o.relatedTarget;r&&r.closest("ion-popover")!==e&&e.dismiss(void 0,void 0,!1)}},{eventName:"click",callback:t=>t.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:t=>e.presentFromTrigger(t,!0)}];break;case"context-menu":r=[{eventName:"contextmenu",callback:t=>{t.preventDefault(),e.presentFromTrigger(t)}},{eventName:"click",callback:t=>t.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:t=>e.presentFromTrigger(t,!0)}];break;default:r=[{eventName:"click",callback:t=>e.presentFromTrigger(t)},{eventName:"ionPopoverActivateTrigger",callback:t=>e.presentFromTrigger(t,!0)}]}return r.forEach((({eventName:o,callback:e})=>t.addEventListener(o,e))),t.setAttribute("data-ion-popover-trigger","true"),()=>{r.forEach((({eventName:o,callback:e})=>t.removeEventListener(o,e))),t.removeAttribute("data-ion-popover-trigger")}})(s,o,r):e(`[ion-popover] - A trigger element with the ID "${t}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on ion-popover.`,this.el)},this.configureKeyboardInteraction=()=>{const{destroyKeyboardInteraction:t,el:o}=this;t&&t(),this.destroyKeyboardInteraction=(t=>{const o=async o=>{var e;const r=document.activeElement;let i=[];const s=null===(e=o.target)||void 0===e?void 0:e.tagName;if("ION-POPOVER"===s||"ION-ITEM"===s){try{i=Array.from(t.querySelectorAll("ion-item:not(ion-popover ion-popover *):not([disabled])"))}catch(t){}switch(o.key){case"ArrowLeft":await t.getParentPopover()&&t.dismiss(void 0,void 0,!1);break;case"ArrowDown":o.preventDefault();const e=((t,o)=>t[N(t,o)+1])(i,r);void 0!==e&&j(e);break;case"ArrowUp":o.preventDefault();const s=((t,o)=>t[N(t,o)-1])(i,r);void 0!==s&&j(s);break;case"Home":o.preventDefault();const n=i[0];void 0!==n&&j(n);break;case"End":o.preventDefault();const a=i[i.length-1];void 0!==a&&j(a);break;case"ArrowRight":case" ":case"Enter":if(r&&r.hasAttribute("data-ion-popover-trigger")){const t=new CustomEvent("ionPopoverActivateTrigger");r.dispatchEvent(t)}}}};return t.addEventListener("keydown",o),()=>t.removeEventListener("keydown",o)})(o)},this.configureDismissInteraction=()=>{const{destroyDismissInteraction:t,parentPopover:o,triggerAction:e,triggerEl:r,el:i}=this;o&&r&&(t&&t(),this.destroyDismissInteraction=((t,o,e,r)=>{let i=[];const s=x(r).querySelector(".popover-content");return i="hover"===o?[{eventName:"mouseenter",callback:o=>{document.elementFromPoint(o.clientX,o.clientY)!==t&&e.dismiss(void 0,void 0,!1)}}]:[{eventName:"click",callback:o=>{o.target.closest("[data-ion-popover-trigger]")!==t?e.dismiss(void 0,void 0,!1):o.stopPropagation()}}],i.forEach((({eventName:t,callback:o})=>s.addEventListener(t,o))),()=>{i.forEach((({eventName:t,callback:o})=>s.removeEventListener(t,o)))}})(r,e,i,o))}}onTriggerChange(){this.configureTriggerInteraction()}onIsOpenChange(t,o){!0===t&&!1===o?this.present():!1===t&&!0===o&&this.dismiss()}connectedCallback(){const{configureTriggerInteraction:t,el:o}=this;a(o),t()}disconnectedCallback(){const{destroyTriggerInteraction:t}=this;t&&t(),this.headerResizeObserver&&(this.headerResizeObserver.disconnect(),this.headerResizeObserver=void 0)}componentWillLoad(){var t,o;const{el:e}=this,r=null!==(o=null===(t=this.htmlAttributes)||void 0===t?void 0:t.id)&&void 0!==o?o:p(e);this.parentPopover=e.closest(`ion-popover:not(#${r})`),void 0===this.alignment&&(this.alignment="ios"===y(this)?"center":"start")}componentDidLoad(){const{parentPopover:t,isOpen:o}=this;!0===o&&b((()=>this.present())),t&&u(t,"ionPopoverWillDismiss",(()=>{this.dismiss(void 0,void 0,!1)})),this.configureTriggerInteraction()}async presentFromTrigger(t,o=!1){this.focusDescendantOnPresent=o,await this.present(t),this.focusDescendantOnPresent=!1}getDelegate(t=!1){if(this.workingDelegate&&!t)return{delegate:this.workingDelegate,inline:this.inline};const o=this.inline=null!==this.el.parentNode&&!this.hasController;return{inline:o,delegate:this.workingDelegate=o?this.delegate||this.coreDelegate:this.delegate}}async present(t){const o=await this.lockController.lock();if(this.presented)return void o();const{el:e}=this,{inline:r,delegate:i}=this.getDelegate(!0);this.ionMount.emit(),this.usersElement=await g(i,e,this.component,["popover-viewport"],this.componentProps,r),this.recalculateContentOnHeaderReady(),this.keyboardEvents||this.configureKeyboardInteraction(),this.configureDismissInteraction(),w(e)?await T(this.usersElement):this.keepContentsMounted||await $(),await c(this,"popoverEnter",R,F,{event:t||this.event,size:this.size,trigger:this.triggerEl,reference:this.reference,side:this.side,align:this.alignment}),this.focusDescendantOnPresent&&d(e),o()}recalculateContentOnHeaderReady(){var t;const o=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.querySelector(".popover-content");if(!o)return;const e=this.usersElement||o,r=e.querySelector("ion-header"),i=e.querySelectorAll("ion-content");r&&0!==i.length&&(this.headerResizeObserver=new ResizeObserver((async()=>{var t;if(r.offsetHeight>0){null===(t=this.headerResizeObserver)||void 0===t||t.disconnect(),this.headerResizeObserver=void 0;for(const t of i)await t.recalculateDimensions()}})),this.headerResizeObserver.observe(r))}async dismiss(t,o,e=!0){const r=await this.lockController.lock(),{destroyKeyboardInteraction:i,destroyDismissInteraction:s}=this;e&&this.parentPopover&&this.parentPopover.dismiss(t,o,e);const n=await h(this,t,o,"popoverLeave",H,M,this.event);if(n){i&&(i(),this.destroyKeyboardInteraction=void 0),s&&(s(),this.destroyDismissInteraction=void 0);const{delegate:t}=this.getDelegate();await m(t,this.usersElement)}return r(),n}async getParentPopover(){return this.parentPopover}onDidDismiss(){return l(this.el,"ionPopoverDidDismiss")}onWillDismiss(){return l(this.el,"ionPopoverWillDismiss")}render(){const t=y(this),{onLifecycle:o,parentPopover:e,dismissOnSelect:s,side:n,arrow:a,htmlAttributes:p,focusTrap:c}=this,d=D("desktop"),h=a&&!e;return r(i,Object.assign({key:"42863f748c93f709d433931d969230137b37d42d","aria-modal":"true","no-router":!0,tabindex:"-1"},p,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign(Object.assign({},P(this.cssClass)),{[t]:!0,"popover-translucent":this.translucent,"overlay-hidden":!0,"popover-desktop":d,[`popover-side-${n}`]:!0,[v]:!1===c,"popover-nested":!!e}),onIonPopoverDidPresent:o,onIonPopoverWillPresent:o,onIonPopoverWillDismiss:o,onIonPopoverDidDismiss:o,onIonBackdropTap:this.onBackdropTap}),!e&&r("ion-backdrop",{key:"22b6d82178b52158b76ab3fd9a7dd738fd6e4bbf",tappable:this.backdropDismiss,visible:this.showBackdrop,part:"backdrop"}),r("div",{key:"b76335c64e992a964ed3fb91d17a992c3474b4cd",class:"popover-wrapper ion-overlay-wrapper",onClick:s?()=>this.dismiss():void 0},h&&r("div",{key:"018c846c32e7ff7fa010528e6b37a17e5f03c84c",class:"popover-arrow",part:"arrow"}),r("div",{key:"350c468c80052da3a07768bceab98fe159c35a43",class:"popover-content",part:"content"},r("slot",{key:"686443c17ac9873d33905c1cdb67e6d6da675282"}))))}get el(){return s(this)}static get watchers(){return{trigger:["onTriggerChange"],triggerAction:["onTriggerChange"],isOpen:["onIsOpenChange"]}}},U={ionPopoverDidPresent:"ionViewDidEnter",ionPopoverWillPresent:"ionViewWillEnter",ionPopoverWillDismiss:"ionViewWillLeave",ionPopoverDidDismiss:"ionViewDidLeave"};V.style={ios:':host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}',md:":host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}"};export{V as ion_popover}
|