voyager-ionic-core 8.8.4 → 8.8.5
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-action-sheet.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/p-0z8QSI5b.js +4 -0
- package/components/{p-ApmKVjaE.js → p-BGHGpkPX.js} +1 -1
- package/components/p-BlNv564p.js +4 -0
- package/components/p-D-cP12ZN.js +4 -0
- package/components/p-D3Ti70Hx.js +4 -0
- package/components/{p-Bk2zuNWT.js → p-DvOO1fxp.js} +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
- package/dist/cjs/ion-app_8.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +99 -45
- package/dist/cjs/ion-radio_2.cjs.entry.js +13 -1
- package/dist/cjs/ion-select-modal.cjs.entry.js +18 -7
- package/dist/cjs/ion-select_3.cjs.entry.js +18 -7
- package/dist/collection/components/action-sheet/action-sheet.js +4 -4
- package/dist/collection/components/content/content.css +1 -1
- package/dist/collection/components/modal/modal.js +73 -44
- package/dist/collection/components/modal/safe-area-utils.js +27 -2
- package/dist/collection/components/radio-group/radio-group.js +13 -1
- package/dist/collection/components/radio-group/test/fixtures.js +2 -2
- package/dist/collection/components/select-modal/select-modal.js +18 -7
- package/dist/collection/components/select-modal/test/fixtures.js +4 -0
- package/dist/collection/components/select-popover/select-popover.js +18 -7
- package/dist/collection/components/select-popover/test/fixtures.js +4 -0
- package/dist/docs.json +1 -1
- package/dist/esm/ion-action-sheet.entry.js +4 -4
- package/dist/esm/ion-app_8.entry.js +1 -1
- package/dist/esm/ion-modal.entry.js +99 -45
- package/dist/esm/ion-radio_2.entry.js +13 -1
- package/dist/esm/ion-select-modal.entry.js +18 -7
- package/dist/esm/ion-select_3.entry.js +18 -7
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-268a3397.entry.js +4 -0
- package/dist/ionic/p-28a9e720.entry.js +4 -0
- package/dist/ionic/{p-4dd5e8e0.entry.js → p-8fda6a62.entry.js} +1 -1
- package/dist/ionic/{p-9eac4eb1.entry.js → p-aa812c4b.entry.js} +1 -1
- package/dist/ionic/p-cb27fe68.entry.js +4 -0
- package/dist/ionic/p-ce2edb36.entry.js +4 -0
- package/dist/types/components/modal/modal.d.ts +41 -3
- package/dist/types/components/modal/safe-area-utils.d.ts +16 -0
- package/dist/types/components/radio-group/test/fixtures.d.ts +1 -1
- package/dist/types/components/select-modal/select-modal.d.ts +1 -0
- package/dist/types/components/select-modal/test/fixtures.d.ts +1 -0
- package/dist/types/components/select-popover/select-popover.d.ts +1 -0
- package/dist/types/components/select-popover/test/fixtures.d.ts +1 -0
- package/hydrate/index.js +153 -65
- package/hydrate/index.mjs +153 -65
- package/package.json +1 -1
- package/components/p-1KVKSLu5.js +0 -4
- package/components/p-BI7WNErr.js +0 -4
- package/components/p-BTF2nRLo.js +0 -4
- package/components/p-EK4xUz-q.js +0 -4
- package/dist/ionic/p-51c11c47.entry.js +0 -4
- package/dist/ionic/p-5681dde4.entry.js +0 -4
- package/dist/ionic/p-cb78f5a0.entry.js +0 -4
- package/dist/ionic/p-e6c5f060.entry.js +0 -4
package/hydrate/index.mjs
CHANGED
|
@@ -9796,7 +9796,7 @@ class ActionSheet {
|
|
|
9796
9796
|
if (isRadio) {
|
|
9797
9797
|
htmlAttrs['aria-checked'] = isActiveRadio ? 'true' : 'false';
|
|
9798
9798
|
}
|
|
9799
|
-
return (hAsync("button", Object.assign({}, htmlAttrs, { role: isRadio ? 'radio' : undefined, type: "button", id: buttonId, class: Object.assign(Object.assign({}, buttonClass$3(b)), { 'action-sheet-selected': isActiveRadio }), onClick: () => {
|
|
9799
|
+
return (hAsync("button", Object.assign({}, htmlAttrs, { role: isRadio ? 'radio' : undefined, type: "button", id: buttonId, class: Object.assign(Object.assign({}, buttonClass$3(b)), (isRadio && { 'action-sheet-selected': isActiveRadio })), onClick: () => {
|
|
9800
9800
|
if (isRadio) {
|
|
9801
9801
|
this.selectRadioButton(b);
|
|
9802
9802
|
}
|
|
@@ -9811,12 +9811,12 @@ class ActionSheet {
|
|
|
9811
9811
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
9812
9812
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
9813
9813
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
9814
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
9814
|
+
return (hAsync(Host, Object.assign({ key: 'a56ee2ab59c763036140dbd10306a708c26e3c17', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
9815
9815
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
9816
|
-
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '
|
|
9816
|
+
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: 'c32eb4281fd6348c7d3989a3f509c211263048e6', tappable: this.backdropDismiss }), hAsync("div", { key: '7f0123114a876fc7cfff3cfb564aded4a7017797', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '645b1d5fde39a8907f21983d66e6ecb7a99aa05d', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: 'a78fb02848462d1a4f9356ac4fa1c43a2e5d90e4', class: "action-sheet-container" }, hAsync("div", { key: '5e846f53e067b211b985d6e1512b72b9d7c1a3aa', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: 'a90a0e096e1b2fa78b9adb9253c0a517f16e62cb', id: headerID, class: {
|
|
9817
9817
|
'action-sheet-title': true,
|
|
9818
9818
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
9819
|
-
} }, header, this.subHeader && hAsync("div", { key: '
|
|
9819
|
+
} }, header, this.subHeader && hAsync("div", { key: '40f00b12341625c548546de1885b9c9d93bc169c', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: 'ef6974cb63089623df08087274b82745443cee8c', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: 'b02911a6491d60f9dcb5da7d942392a9e96552c1' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: '1187433e676eda55e52b5ae328a8e68bba22deb6', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '079ab2a6bd40b996950053617f1c1c8207ecb1f1', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: '3bc473add8ac299f202f8c359d26708872c02f52' })))))), hAsync("div", { key: '9b1ae7b4e3649e9b85632f0d65627ca81499e68d', tabindex: "0", "aria-hidden": "true" })));
|
|
9820
9820
|
}
|
|
9821
9821
|
get el() { return getElement(this); }
|
|
9822
9822
|
static get watchers() { return {
|
|
@@ -12365,7 +12365,7 @@ const isRTL$1 = (hostEl) => {
|
|
|
12365
12365
|
return (document === null || document === void 0 ? void 0 : document.dir.toLowerCase()) === 'rtl';
|
|
12366
12366
|
};
|
|
12367
12367
|
|
|
12368
|
-
const contentCss = () => `: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)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}`;
|
|
12368
|
+
const contentCss = () => `: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) + var(--ion-content-safe-area-padding-bottom, 0px));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)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}`;
|
|
12369
12369
|
|
|
12370
12370
|
/**
|
|
12371
12371
|
* @slot - Content is placed in the scrollable area if provided without a slot.
|
|
@@ -25006,6 +25006,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
25006
25006
|
const MODAL_INSET_MIN_WIDTH = 768;
|
|
25007
25007
|
const MODAL_INSET_MIN_HEIGHT = 600;
|
|
25008
25008
|
const EDGE_THRESHOLD = 5;
|
|
25009
|
+
/**
|
|
25010
|
+
* CSS values for `--width` / `--height` that are treated as fullscreen
|
|
25011
|
+
* (modal touches the corresponding screen edges). Empty string means the
|
|
25012
|
+
* property was not overridden. See `hasCustomModalDimensions()`.
|
|
25013
|
+
*/
|
|
25014
|
+
const FULLSCREEN_SIZE_VALUES = new Set(['', '100%', '100vw', '100vh', '100dvw', '100dvh', '100svw', '100svh']);
|
|
25009
25015
|
/**
|
|
25010
25016
|
* Cache for resolved root safe-area-top value, invalidated once per frame.
|
|
25011
25017
|
*/
|
|
@@ -25054,6 +25060,22 @@ const getRootSafeAreaTop = () => {
|
|
|
25054
25060
|
}
|
|
25055
25061
|
return value;
|
|
25056
25062
|
};
|
|
25063
|
+
/**
|
|
25064
|
+
* True when the modal host declares BOTH a non-fullscreen `--width` AND a
|
|
25065
|
+
* non-fullscreen `--height` (i.e. a centered-dialog-like modal that doesn't
|
|
25066
|
+
* touch any screen edge).
|
|
25067
|
+
*
|
|
25068
|
+
* The conservative "both axes" check avoids mis-zeroing safe-area for
|
|
25069
|
+
* partial-custom modals where the modal still touches top/bottom edges
|
|
25070
|
+
* (e.g. only `--width` overridden). Partial cases fall through to the
|
|
25071
|
+
* existing position-based post-animation correction.
|
|
25072
|
+
*/
|
|
25073
|
+
const hasCustomModalDimensions = (hostEl) => {
|
|
25074
|
+
const styles = getComputedStyle(hostEl);
|
|
25075
|
+
const width = styles.getPropertyValue('--width').trim();
|
|
25076
|
+
const height = styles.getPropertyValue('--height').trim();
|
|
25077
|
+
return !FULLSCREEN_SIZE_VALUES.has(width) && !FULLSCREEN_SIZE_VALUES.has(height);
|
|
25078
|
+
};
|
|
25057
25079
|
/**
|
|
25058
25080
|
* Returns the initial safe-area configuration based on modal type.
|
|
25059
25081
|
* This is called before animation starts and uses configuration-based prediction.
|
|
@@ -25088,8 +25110,11 @@ const getInitialSafeAreaConfig = (context) => {
|
|
|
25088
25110
|
}
|
|
25089
25111
|
// On viewports that meet the centered dialog media query breakpoints,
|
|
25090
25112
|
// regular modals render as centered dialogs (not fullscreen), so they
|
|
25091
|
-
// don't touch any screen edges and don't need safe-area insets.
|
|
25092
|
-
|
|
25113
|
+
// don't touch any screen edges and don't need safe-area insets. Also
|
|
25114
|
+
// applies to phone viewports when the modal declares custom --width and
|
|
25115
|
+
// --height; these don't touch screen edges either, so the initial
|
|
25116
|
+
// prediction must be zero to avoid a post-animation correction flash.
|
|
25117
|
+
if (isCenteredDialogViewport() || context.hasCustomDimensions) {
|
|
25093
25118
|
return {
|
|
25094
25119
|
top: '0px',
|
|
25095
25120
|
bottom: '0px',
|
|
@@ -25401,12 +25426,10 @@ class Modal {
|
|
|
25401
25426
|
// since the viewport may have crossed the centered-dialog breakpoint.
|
|
25402
25427
|
if (!context.isSheetModal && !context.isCardModal) {
|
|
25403
25428
|
this.updateSafeAreaOverrides();
|
|
25404
|
-
// Re-evaluate fullscreen safe-area padding: clear first, then re-apply
|
|
25405
|
-
|
|
25406
|
-
|
|
25407
|
-
|
|
25408
|
-
}
|
|
25409
|
-
this.applyFullscreenSafeArea();
|
|
25429
|
+
// Re-evaluate fullscreen safe-area padding: clear first, then re-apply.
|
|
25430
|
+
const { contentEl, hasFooter } = this.findContentAndFooter();
|
|
25431
|
+
this.clearContentSafeAreaPadding(contentEl);
|
|
25432
|
+
this.applyFullscreenSafeAreaTo(contentEl, hasFooter);
|
|
25410
25433
|
}
|
|
25411
25434
|
}, 50); // Debounce to avoid excessive calls during active resizing
|
|
25412
25435
|
}
|
|
@@ -26153,6 +26176,11 @@ class Modal {
|
|
|
26153
26176
|
}
|
|
26154
26177
|
/**
|
|
26155
26178
|
* Creates the context object for safe-area utilities.
|
|
26179
|
+
*
|
|
26180
|
+
* `hasCustomDimensions` is only set by `setInitialSafeAreaOverrides()`
|
|
26181
|
+
* because it is only read by `getInitialSafeAreaConfig()`. Other callers
|
|
26182
|
+
* (resize handler, post-animation update, fullscreen-padding apply) would
|
|
26183
|
+
* pay a `getComputedStyle()` cost for a value they never consult.
|
|
26156
26184
|
*/
|
|
26157
26185
|
getSafeAreaContext() {
|
|
26158
26186
|
return {
|
|
@@ -26174,7 +26202,7 @@ class Modal {
|
|
|
26174
26202
|
* sheets to prevent header content from getting double-offset padding).
|
|
26175
26203
|
*/
|
|
26176
26204
|
setInitialSafeAreaOverrides() {
|
|
26177
|
-
const context = this.getSafeAreaContext();
|
|
26205
|
+
const context = Object.assign(Object.assign({}, this.getSafeAreaContext()), { hasCustomDimensions: hasCustomModalDimensions(this.el) });
|
|
26178
26206
|
const safeAreaConfig = getInitialSafeAreaConfig(context);
|
|
26179
26207
|
applySafeAreaOverrides(this.el, safeAreaConfig);
|
|
26180
26208
|
// Set the internal offset property with the resolved root safe-area-top value
|
|
@@ -26214,59 +26242,85 @@ class Modal {
|
|
|
26214
26242
|
applySafeAreaOverrides(el, safeAreaConfig);
|
|
26215
26243
|
}
|
|
26216
26244
|
/**
|
|
26217
|
-
* Applies
|
|
26218
|
-
*
|
|
26245
|
+
* Applies safe-area-bottom scroll padding to ion-content inside
|
|
26246
|
+
* fullscreen modals that have no ion-footer. This prevents content
|
|
26247
|
+
* from being hidden behind the system navigation bar while keeping
|
|
26248
|
+
* the modal background edge-to-edge (no visible gap).
|
|
26219
26249
|
*/
|
|
26220
26250
|
applyFullscreenSafeArea() {
|
|
26221
|
-
const { wrapperEl, el } = this;
|
|
26222
|
-
if (!wrapperEl)
|
|
26223
|
-
return;
|
|
26224
26251
|
const context = this.getSafeAreaContext();
|
|
26225
26252
|
if (context.isSheetModal || context.isCardModal)
|
|
26226
26253
|
return;
|
|
26227
|
-
|
|
26228
|
-
|
|
26229
|
-
|
|
26230
|
-
|
|
26231
|
-
|
|
26232
|
-
|
|
26254
|
+
const { contentEl, hasFooter } = this.findContentAndFooter();
|
|
26255
|
+
this.applyFullscreenSafeAreaTo(contentEl, hasFooter);
|
|
26256
|
+
}
|
|
26257
|
+
/**
|
|
26258
|
+
* Sets --ion-content-safe-area-padding-bottom on the given ion-content
|
|
26259
|
+
* when no footer is present, so ion-content's .inner-scroll includes
|
|
26260
|
+
* safe-area-bottom in its scroll padding. This keeps the modal background
|
|
26261
|
+
* edge-to-edge while ensuring content scrolls clear of the system nav bar.
|
|
26262
|
+
*
|
|
26263
|
+
* --ion-content-safe-area-padding-bottom is an internal CSS property used
|
|
26264
|
+
* only by this code path. It is not part of ion-content's public API and
|
|
26265
|
+
* should not be set by consumers. The default of 0px makes it a no-op
|
|
26266
|
+
* when unset, which is the expected state for ion-content used outside of
|
|
26267
|
+
* a fullscreen modal without a footer.
|
|
26268
|
+
*/
|
|
26269
|
+
applyFullscreenSafeAreaTo(contentEl, hasFooter) {
|
|
26270
|
+
// Only apply for standard Ionic layouts (has ion-content but no
|
|
26271
|
+
// ion-footer). When a footer is present it handles its own safe-area
|
|
26272
|
+
// padding. Custom modals with raw HTML are developer-controlled.
|
|
26273
|
+
if (!contentEl || hasFooter)
|
|
26274
|
+
return;
|
|
26275
|
+
contentEl.style.setProperty('--ion-content-safe-area-padding-bottom', 'var(--ion-safe-area-bottom, 0px)');
|
|
26276
|
+
}
|
|
26277
|
+
/**
|
|
26278
|
+
* Removes the internal --ion-content-safe-area-padding-bottom property
|
|
26279
|
+
* from an already-located ion-content. Callers do their own
|
|
26280
|
+
* findContentAndFooter() so they can also read hasFooter if needed.
|
|
26281
|
+
*/
|
|
26282
|
+
clearContentSafeAreaPadding(contentEl) {
|
|
26283
|
+
if (!contentEl)
|
|
26284
|
+
return;
|
|
26285
|
+
contentEl.style.removeProperty('--ion-content-safe-area-padding-bottom');
|
|
26286
|
+
}
|
|
26287
|
+
/**
|
|
26288
|
+
* Finds ion-content and ion-footer among direct children and one level of
|
|
26289
|
+
* grandchildren (for wrapped components like <app-footer><ion-footer>).
|
|
26290
|
+
*
|
|
26291
|
+
* Intentionally does NOT use findIonContent() or querySelector() because
|
|
26292
|
+
* those search the full subtree and would match ion-content inside nested
|
|
26293
|
+
* routes/pages. We only want direct slot children (+ one wrapper level).
|
|
26294
|
+
*
|
|
26295
|
+
* Uses a manual loop instead of querySelector(':scope > ...') because
|
|
26296
|
+
* Stencil's mock-doc (used in spec tests) does not support :scope.
|
|
26297
|
+
*/
|
|
26298
|
+
findContentAndFooter() {
|
|
26299
|
+
let contentEl = null;
|
|
26233
26300
|
let hasFooter = false;
|
|
26234
|
-
for (const child of Array.from(el.children)) {
|
|
26301
|
+
for (const child of Array.from(this.el.children)) {
|
|
26235
26302
|
if (child.tagName === 'ION-CONTENT')
|
|
26236
|
-
|
|
26303
|
+
contentEl = child;
|
|
26237
26304
|
if (child.tagName === 'ION-FOOTER')
|
|
26238
26305
|
hasFooter = true;
|
|
26239
26306
|
for (const grandchild of Array.from(child.children)) {
|
|
26240
|
-
if (grandchild.tagName === 'ION-CONTENT')
|
|
26241
|
-
|
|
26307
|
+
if (grandchild.tagName === 'ION-CONTENT' && !contentEl)
|
|
26308
|
+
contentEl = grandchild;
|
|
26242
26309
|
if (grandchild.tagName === 'ION-FOOTER')
|
|
26243
26310
|
hasFooter = true;
|
|
26244
26311
|
}
|
|
26245
26312
|
}
|
|
26246
|
-
|
|
26247
|
-
// but no ion-footer). Custom modals with raw HTML are fully
|
|
26248
|
-
// developer-controlled and should not be modified.
|
|
26249
|
-
if (!hasContent || hasFooter)
|
|
26250
|
-
return;
|
|
26251
|
-
// Reduce wrapper height by safe-area and add equivalent padding so the
|
|
26252
|
-
// total visual size stays the same but the flex content area shrinks.
|
|
26253
|
-
// Using height + padding instead of box-sizing: border-box avoids
|
|
26254
|
-
// breaking custom modals that set --border-width (border-box would
|
|
26255
|
-
// include the border inside the height, changing the layout).
|
|
26256
|
-
wrapperEl.style.setProperty('height', 'calc(var(--height) - var(--ion-safe-area-bottom, 0px))');
|
|
26257
|
-
wrapperEl.style.setProperty('padding-bottom', 'var(--ion-safe-area-bottom, 0px)');
|
|
26313
|
+
return { contentEl, hasFooter };
|
|
26258
26314
|
}
|
|
26259
26315
|
/**
|
|
26260
|
-
* Clears all safe-area overrides and padding
|
|
26316
|
+
* Clears all safe-area overrides and padding.
|
|
26261
26317
|
*/
|
|
26262
26318
|
cleanupSafeAreaOverrides() {
|
|
26263
26319
|
clearSafeAreaOverrides(this.el);
|
|
26264
26320
|
// Remove internal sheet offset property
|
|
26265
26321
|
this.el.style.removeProperty('--ion-modal-offset-top');
|
|
26266
|
-
|
|
26267
|
-
|
|
26268
|
-
this.wrapperEl.style.removeProperty('padding-bottom');
|
|
26269
|
-
}
|
|
26322
|
+
const { contentEl } = this.findContentAndFooter();
|
|
26323
|
+
this.clearContentSafeAreaPadding(contentEl);
|
|
26270
26324
|
}
|
|
26271
26325
|
render() {
|
|
26272
26326
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
@@ -26275,20 +26329,20 @@ class Modal {
|
|
|
26275
26329
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
26276
26330
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
26277
26331
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
26278
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
26332
|
+
return (hAsync(Host, Object.assign({ key: '4bf38aa67df9a3f977163bba5423960bbafd16de', "no-router": true,
|
|
26279
26333
|
// Allow the modal to be navigable when the handle is focusable
|
|
26280
26334
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
26281
26335
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
26282
|
-
}, 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: '
|
|
26336
|
+
}, 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: '866da40cc5fc8d3e36637098fb3066a5bc9f4e0f', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '5a2a05514ea8592c8feb0465e504aa7c7af17963', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '4d327115306451f57d190b06ab8cbb6191a6f1d7',
|
|
26283
26337
|
/*
|
|
26284
26338
|
role and aria-modal must be used on the
|
|
26285
26339
|
same element. They must also be set inside the
|
|
26286
26340
|
shadow DOM otherwise ion-button will not be highlighted
|
|
26287
26341
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
26288
26342
|
*/
|
|
26289
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
26343
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'd1882835cc049232c0d957e3ba1e79676a07d179', class: "modal-handle",
|
|
26290
26344
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
26291
|
-
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: '
|
|
26345
|
+
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: '81dc58b09cf7d7022b04cd170f53113604364d5e', onSlotchange: this.onSlotChange }))));
|
|
26292
26346
|
}
|
|
26293
26347
|
get el() { return getElement(this); }
|
|
26294
26348
|
static get watchers() { return {
|
|
@@ -31301,6 +31355,18 @@ class RadioGroup {
|
|
|
31301
31355
|
// to the bottom of the screen
|
|
31302
31356
|
ev.preventDefault();
|
|
31303
31357
|
}
|
|
31358
|
+
// Inside a select interface, Enter commits the focused radio
|
|
31359
|
+
// value (matching native <select>). The !ev.repeat guard stops
|
|
31360
|
+
// a held Enter on the triggering ion-select from re-committing
|
|
31361
|
+
// once focus lands in the opened popover/modal.
|
|
31362
|
+
if (ev.key === 'Enter' && inSelectInterface && !ev.repeat) {
|
|
31363
|
+
const previousValue = this.value;
|
|
31364
|
+
this.value = current.value;
|
|
31365
|
+
if (previousValue !== this.value) {
|
|
31366
|
+
this.emitValueChange(ev);
|
|
31367
|
+
}
|
|
31368
|
+
ev.preventDefault();
|
|
31369
|
+
}
|
|
31304
31370
|
}
|
|
31305
31371
|
}
|
|
31306
31372
|
/** @internal */
|
|
@@ -31333,7 +31399,7 @@ class RadioGroup {
|
|
|
31333
31399
|
const { label, labelId, el, name, value } = this;
|
|
31334
31400
|
const mode = getIonMode$1(this);
|
|
31335
31401
|
renderHiddenInput(true, el, name, value, false);
|
|
31336
|
-
return (hAsync(Host, { key: '
|
|
31402
|
+
return (hAsync(Host, { key: '377e4aa3a656cc84b742f9d7a7d4be65d20c69f5', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, class: mode }, this.renderHintText(), hAsync("slot", { key: 'c3187a2497773b4f15cea3b413b036502bcec8c0' })));
|
|
31337
31403
|
}
|
|
31338
31404
|
get el() { return getElement(this); }
|
|
31339
31405
|
static get watchers() { return {
|
|
@@ -37423,6 +37489,10 @@ const selectModalMdCss = () => `.sc-ion-select-modal-md-h{height:100%}ion-list.s
|
|
|
37423
37489
|
class SelectModal {
|
|
37424
37490
|
constructor(hostRef) {
|
|
37425
37491
|
registerInstance(this, hostRef);
|
|
37492
|
+
// Tracks the option that received Enter-keydown so keyup only
|
|
37493
|
+
// dismisses when the press started on the same option. Prevents
|
|
37494
|
+
// Enter on the triggering ion-select from auto-dismissing.
|
|
37495
|
+
this.pendingEnterTarget = null;
|
|
37426
37496
|
/**
|
|
37427
37497
|
* The text to display on the cancel button.
|
|
37428
37498
|
*/
|
|
@@ -37472,15 +37542,22 @@ class SelectModal {
|
|
|
37472
37542
|
return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option) => (hAsync("ion-item", { lines: "none", class: Object.assign({
|
|
37473
37543
|
// TODO FW-4784
|
|
37474
37544
|
'item-radio-checked': option.value === checked
|
|
37475
|
-
}, getClassMap(option.cssClass)) }, hAsync("ion-radio", { value: option.value, disabled: option.disabled, justify: "start", labelPlacement: "end", onClick: () => this.closeModal(),
|
|
37545
|
+
}, getClassMap(option.cssClass)) }, hAsync("ion-radio", { value: option.value, disabled: option.disabled, justify: "start", labelPlacement: "end", onClick: () => this.closeModal(), onKeyDown: (ev) => {
|
|
37546
|
+
if (ev.key === 'Enter' && !ev.repeat) {
|
|
37547
|
+
this.pendingEnterTarget = ev.currentTarget;
|
|
37548
|
+
}
|
|
37549
|
+
}, onKeyUp: (ev) => {
|
|
37476
37550
|
if (ev.key === ' ') {
|
|
37477
|
-
|
|
37478
|
-
* Selecting a radio option with keyboard navigation,
|
|
37479
|
-
* either through the Enter or Space keys, should
|
|
37480
|
-
* dismiss the modal.
|
|
37481
|
-
*/
|
|
37551
|
+
// Space selects and dismisses in one press.
|
|
37482
37552
|
this.closeModal();
|
|
37483
37553
|
}
|
|
37554
|
+
else if (ev.key === 'Enter') {
|
|
37555
|
+
const shouldClose = this.pendingEnterTarget === ev.currentTarget;
|
|
37556
|
+
this.pendingEnterTarget = null;
|
|
37557
|
+
if (shouldClose) {
|
|
37558
|
+
this.closeModal();
|
|
37559
|
+
}
|
|
37560
|
+
}
|
|
37484
37561
|
} }, option.text))))));
|
|
37485
37562
|
}
|
|
37486
37563
|
renderCheckboxOptions() {
|
|
@@ -37493,7 +37570,7 @@ class SelectModal {
|
|
|
37493
37570
|
} }, option.text))));
|
|
37494
37571
|
}
|
|
37495
37572
|
render() {
|
|
37496
|
-
return (hAsync(Host, { key: '
|
|
37573
|
+
return (hAsync(Host, { key: 'fda0bf6f93cd5ec9f3c64f88a52de849e0e140a2', class: getIonMode$1(this) }, hAsync("ion-header", { key: '27c0b17175a53db9ff159feeeb96451a3f011dab' }, hAsync("ion-toolbar", { key: '91a4155ebc317fbc9f1bb3e26a7e94754b953c9b' }, this.header !== undefined && hAsync("ion-title", { key: 'f6dae8e4e381f322cc90efefd9bb6ef81d4d2f3e' }, this.header), hAsync("ion-buttons", { key: 'e7760532fb2e7e7385ed6e62097d92d96ff20148', slot: "end" }, hAsync("ion-button", { key: '4999b6fc46cba138186546dca67b7950855e6fb7', onClick: () => this.closeModal() }, this.cancelText)))), hAsync("ion-content", { key: 'c73f80a4bc25b9061ea65cf11e5d811c1a4d8704' }, hAsync("ion-list", { key: 'b21905d15b36ad5eb45845e768918d2763cf48b1' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
|
|
37497
37574
|
}
|
|
37498
37575
|
get el() { return getElement(this); }
|
|
37499
37576
|
static get style() { return {
|
|
@@ -37556,6 +37633,10 @@ const selectPopoverMdCss = () => `.sc-ion-select-popover-md-h ion-list.sc-ion-se
|
|
|
37556
37633
|
class SelectPopover {
|
|
37557
37634
|
constructor(hostRef) {
|
|
37558
37635
|
registerInstance(this, hostRef);
|
|
37636
|
+
// Tracks the option that received Enter-keydown so keyup only
|
|
37637
|
+
// dismisses when the press started on the same option. Prevents
|
|
37638
|
+
// Enter on the triggering ion-select from auto-dismissing.
|
|
37639
|
+
this.pendingEnterTarget = null;
|
|
37559
37640
|
/**
|
|
37560
37641
|
* An array of options for the popover
|
|
37561
37642
|
*/
|
|
@@ -37631,21 +37712,28 @@ class SelectPopover {
|
|
|
37631
37712
|
return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, options.map((option) => (hAsync("ion-item", { class: Object.assign({
|
|
37632
37713
|
// TODO FW-4784
|
|
37633
37714
|
'item-radio-checked': option.value === checked
|
|
37634
|
-
}, getClassMap(option.cssClass)) }, hAsync("ion-radio", { value: option.value, disabled: option.disabled, onClick: () => this.dismissParentPopover(),
|
|
37715
|
+
}, getClassMap(option.cssClass)) }, hAsync("ion-radio", { value: option.value, disabled: option.disabled, onClick: () => this.dismissParentPopover(), onKeyDown: (ev) => {
|
|
37716
|
+
if (ev.key === 'Enter' && !ev.repeat) {
|
|
37717
|
+
this.pendingEnterTarget = ev.currentTarget;
|
|
37718
|
+
}
|
|
37719
|
+
}, onKeyUp: (ev) => {
|
|
37635
37720
|
if (ev.key === ' ') {
|
|
37636
|
-
|
|
37637
|
-
* Selecting a radio option with keyboard navigation,
|
|
37638
|
-
* either through the Enter or Space keys, should
|
|
37639
|
-
* dismiss the popover.
|
|
37640
|
-
*/
|
|
37721
|
+
// Space selects and dismisses in one press.
|
|
37641
37722
|
this.dismissParentPopover();
|
|
37642
37723
|
}
|
|
37724
|
+
else if (ev.key === 'Enter') {
|
|
37725
|
+
const shouldDismiss = this.pendingEnterTarget === ev.currentTarget;
|
|
37726
|
+
this.pendingEnterTarget = null;
|
|
37727
|
+
if (shouldDismiss) {
|
|
37728
|
+
this.dismissParentPopover();
|
|
37729
|
+
}
|
|
37730
|
+
}
|
|
37643
37731
|
} }, option.text))))));
|
|
37644
37732
|
}
|
|
37645
37733
|
render() {
|
|
37646
37734
|
const { header, message, options, subHeader } = this;
|
|
37647
37735
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
37648
|
-
return (hAsync(Host, { key: '
|
|
37736
|
+
return (hAsync(Host, { key: 'e7449a1ecfcdbf45a79f8e26a00253c4e146448a', class: getIonMode$1(this) }, hAsync("ion-list", { key: '52abdfc8668c3429a0dcefef8ddedb6647fdd894' }, header !== undefined && hAsync("ion-list-header", { key: '978e5c03728756feafcc60a0e10e6ec59bf2ae11' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'e93c44e7f07a76def16e4b11f0fb4780d84ed402' }, hAsync("ion-label", { key: 'bba1aac43b0bc7f4f00978dd8301985233f3725c', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'ad96f6017cf2cc5219540bded2c4f1ca3b532de2' }, subHeader), message !== undefined && hAsync("p", { key: '3fd038921dc40c4d0c29734433984b279ccaeec3' }, message)))), this.renderOptions(options))));
|
|
37649
37737
|
}
|
|
37650
37738
|
get el() { return getElement(this); }
|
|
37651
37739
|
static get style() { return {
|
package/package.json
CHANGED
package/components/p-1KVKSLu5.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{p as t,H as o,e,k as i,h as n,d as a,t as s}from"./p-BJoMtgfR.js";import{c as r}from"./p-C4jPsTQa.js";import{r as c}from"./p-DgbT0exM.js";import{c as d}from"./p-B-hirT0v.js";import{d as l,e as h,B as b,i as u,f as p,g,h as f,s as m,j as v,k}from"./p-Cq8cQ0NL.js";import{g as x}from"./p-DiVJyqlX.js";import{b as y}from"./p-CDfQnFrd.js";import{c as w}from"./p-Csw8xuz4.js";import{d as z}from"./p-CoA-aqGF.js";import{d as j}from"./p-YLXPWgVj.js";import{d as C}from"./p-fpbh6w3f.js";const D=t=>{const o=w(),e=w(),i=w();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(100%)","translateY(0%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation([e,i])},A=t=>{const o=w(),e=w(),i=w();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(0%)","translateY(100%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(450).addAnimation([e,i])},O=t=>{const o=w(),e=w(),i=w();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(100%)","translateY(0%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation([e,i])},I=t=>{const o=w(),e=w(),i=w();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(0%)","translateY(100%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(450).addAnimation([e,i])},B=t(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.didPresent=e(this,"ionActionSheetDidPresent",7),this.willPresent=e(this,"ionActionSheetWillPresent",7),this.willDismiss=e(this,"ionActionSheetWillDismiss",7),this.didDismiss=e(this,"ionActionSheetDidDismiss",7),this.didPresentShorthand=e(this,"didPresent",7),this.willPresentShorthand=e(this,"willPresent",7),this.willDismissShorthand=e(this,"willDismiss",7),this.didDismissShorthand=e(this,"didDismiss",7),this.delegateController=l(this),this.lockController=d(),this.triggerController=h(),this.hasRadioButtons=!1,this.presented=!1,this.hasController=!1,this.keyboardClose=!0,this.buttons=[],this.backdropDismiss=!0,this.translucent=!1,this.animated=!0,this.isOpen=!1,this.onBackdropTap=()=>{this.dismiss(void 0,b)},this.dispatchCancelHandler=t=>{if(u(t.detail.role)){const t=this.getButtons().find((t=>"cancel"===t.role));this.callButtonHandler(t)}}}buttonsChanged(){const t=this.getRadioButtons();if(this.hasRadioButtons=t.length>0,this.hasRadioButtons){const o=t.find((t=>{var o;return"true"===(null===(o=t.htmlAttributes)||void 0===o?void 0:o["aria-checked"])}));if(o){const t=this.getButtons().indexOf(o);this.activeRadioId=this.getButtonId(o,t)}}}onIsOpenChange(t,o){!0===t&&!1===o?this.present():!1===t&&!0===o&&this.dismiss()}triggerChanged(){const{trigger:t,el:o,triggerController:e}=this;t&&e.addClickListener(o,t)}async present(){const t=await this.lockController.lock();await this.delegateController.attachViewToDom(),await p(this,"actionSheetEnter",D,O),t()}async dismiss(t,o){const e=await this.lockController.lock(),i=await g(this,t,o,"actionSheetLeave",A,I);return i&&this.delegateController.removeViewFromDom(),e(),i}onDidDismiss(){return f(this.el,"ionActionSheetDidDismiss")}onWillDismiss(){return f(this.el,"ionActionSheetWillDismiss")}async buttonClick(t){const o=t.role;return u(o)?this.dismiss(t.data,o):await this.callButtonHandler(t)?this.dismiss(t.data,t.role):Promise.resolve()}async callButtonHandler(t){return!t||!1!==await m(t.handler)}getButtons(){return this.buttons.map((t=>"string"==typeof t?{text:t}:t))}getRadioButtons(){return this.getButtons().filter((t=>{var o;const e=null===(o=t.htmlAttributes)||void 0===o?void 0:o.role;return"radio"===e&&!u(e)}))}selectRadioButton(t){const o=this.getButtonId(t);this.activeRadioId=o}getButtonId(t,o){if(t.id)return t.id;const e=this.getButtons(),i=void 0!==o?o:e.indexOf(t);return`action-sheet-button-${this.overlayIndex}-${i}`}onKeydown(t){if(!this.hasRadioButtons||!this.presented)return;const o=t.target;if(!this.el.contains(o)||!o.classList.contains("action-sheet-button")||"radio"!==o.getAttribute("role"))return;const e=Array.from(this.el.querySelectorAll('.action-sheet-button[role="radio"]')).filter((t=>!t.disabled)),i=e.findIndex((t=>t.id===o.id));if(-1===i)return;const n=this.getButtons(),a=this.getRadioButtons(),s=new Map;let r;if(a.forEach((t=>{const o=n.indexOf(t),e=this.getButtonId(t,o);s.set(e,t)})),["ArrowDown","ArrowRight"].includes(t.key))t.preventDefault(),t.stopPropagation(),r=i===e.length-1?e[0]:e[i+1];else if(["ArrowUp","ArrowLeft"].includes(t.key))t.preventDefault(),t.stopPropagation(),r=0===i?e[e.length-1]:e[i-1];else if(" "===t.key||"Enter"===t.key){t.preventDefault(),t.stopPropagation();const e=s.get(o.id);return void(e&&(this.selectRadioButton(e),this.buttonClick(e)))}if(r){const t=s.get(r.id);t&&(this.selectRadioButton(t),r.focus())}}connectedCallback(){v(this.el),this.triggerChanged()}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0),this.triggerController.removeClickListener()}componentWillLoad(){var t;(null===(t=this.htmlAttributes)||void 0===t?void 0:t.id)||k(this.el),this.buttonsChanged()}componentDidLoad(){const{groupEl:t,wrapperEl:o}=this;!this.gesture&&"ios"===y(this)&&o&&t&&i((()=>{t.scrollHeight>t.clientHeight||(this.gesture=r(o,(t=>t.classList.contains("action-sheet-button"))),this.gesture.enable(!0))})),!0===this.isOpen&&c((()=>this.present())),this.triggerChanged()}renderActionSheetButtons(t){const o=y(this),{activeRadioId:e}=this;return t.map(((t,i)=>{var a;const s="radio"===(null===(a=t.htmlAttributes)||void 0===a?void 0:a.role),r=this.getButtonId(t,i),c=this.getRadioButtons(),d=s&&r===e;let l;l=s?d||!e&&s&&t===c[0]?0:-1:void 0;const h=Object.assign({},t.htmlAttributes);return s&&(h["aria-checked"]=d?"true":"false"),n("button",Object.assign({},h,{role:s?"radio":void 0,type:"button",id:r,class:Object.assign(Object.assign({},E(t)),{"action-sheet-selected":d}),onClick:()=>{s&&this.selectRadioButton(t),this.buttonClick(t)},disabled:t.disabled,tabIndex:l}),n("span",{class:"action-sheet-button-inner"},t.icon&&n("ion-icon",{icon:t.icon,"aria-hidden":"true",lazy:!1,class:"action-sheet-icon"}),t.text),"md"===o&&n("ion-ripple-effect",null))}))}render(){const{header:t,htmlAttributes:o,overlayIndex:e,hasRadioButtons:i}=this,s=y(this),r=this.getButtons(),c=r.find((t=>"cancel"===t.role)),d=r.filter((t=>"cancel"!==t.role)),l=`action-sheet-${e}-header`;return n(a,Object.assign({key:"173fcff5b1da7c33c267de4667591c946b8c8d03",role:"dialog","aria-modal":"true","aria-labelledby":void 0!==t?l:null,tabindex:"-1"},o,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign(Object.assign({[s]:!0},x(this.cssClass)),{"overlay-hidden":!0,"action-sheet-translucent":this.translucent}),onIonActionSheetWillDismiss:this.dispatchCancelHandler,onIonBackdropTap:this.onBackdropTap}),n("ion-backdrop",{key:"521ede659f747864f6c974e09016436eceb7158c",tappable:this.backdropDismiss}),n("div",{key:"7a7946fc434bc444f16a70638f5e948c69d33fcd",tabindex:"0","aria-hidden":"true"}),n("div",{key:"bcff39a580489dbafa255842e57aa8602c6d0f18",class:"action-sheet-wrapper ion-overlay-wrapper",ref:t=>this.wrapperEl=t},n("div",{key:"84bba13ce14261f0f0daa3f9c77648c9e7f36e0e",class:"action-sheet-container"},n("div",{key:"d9c8ac404fd6719a7adf8cb36549f67616f9a0c4",class:"action-sheet-group",ref:t=>this.groupEl=t,role:i?"radiogroup":void 0},void 0!==t&&n("div",{key:"180433a8ad03ef5c54728a1a8f34715b6921d658",id:l,class:{"action-sheet-title":!0,"action-sheet-has-sub-title":void 0!==this.subHeader}},t,this.subHeader&&n("div",{key:"7138e79e61b1a8f42bc5a9175c57fa2f15d7ec5a",class:"action-sheet-sub-title"},this.subHeader)),this.renderActionSheetButtons(d)),c&&n("div",{key:"b617c722f5b8028d73ed34b69310f312c65f34a7",class:"action-sheet-group action-sheet-group-cancel"},n("button",Object.assign({key:"d0dd876fc48815df3710413c201c0b445a8e16c0"},c.htmlAttributes,{type:"button",class:E(c),onClick:()=>this.buttonClick(c)}),n("span",{key:"e7b960157cc6fc5fe92a12090b2be55e8ae072e4",class:"action-sheet-button-inner"},c.icon&&n("ion-icon",{key:"05498ffc60cab911dbff0ecbc6168dea59ada9a5",icon:c.icon,"aria-hidden":"true",lazy:!1,class:"action-sheet-icon"}),c.text),"md"===s&&n("ion-ripple-effect",{key:"3d401346cea301be4ca03671f7370f6f4b0b6bde"}))))),n("div",{key:"971f3c5fcc07f36c28eb469a47ec0290c692e139",tabindex:"0","aria-hidden":"true"}))}get el(){return this}static get watchers(){return{buttons:[{buttonsChanged:0}],isOpen:[{onIsOpenChange:0}],trigger:[{triggerChanged:0}]}}static get style(){return{ios:'.sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color-step-150, var(--ion-background-color, #fff)));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #0054e9);--button-color-disabled:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--color:var(--ion-color-step-400, var(--ion-text-color-step-600, #999999));text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);padding-bottom:var(--ion-safe-area-bottom, 0);-webkit-box-sizing:content-box;box-sizing:content-box}.action-sheet-container.sc-ion-action-sheet-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-size:max(13px, 0.8125rem);font-weight:400;text-align:center}.action-sheet-title.action-sheet-has-sub-title.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:6px;padding-bottom:0;font-size:max(13px, 0.8125rem);font-weight:400}.action-sheet-button.sc-ion-action-sheet-ios{-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:14px;padding-bottom:14px;min-height:56px;font-size:max(20px, 1.25rem);contain:content}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:max(28px, 1.75rem);pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #c5000f)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #c5000f)}}',md:'.sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--button-color-disabled:var(--button-color);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-wrapper.sc-ion-action-sheet-md{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:0}.action-sheet-title.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:20px;padding-bottom:17px;min-height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:1rem;text-align:start}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:0.875rem}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:var(--ion-safe-area-bottom)}.action-sheet-button.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;position:relative;min-height:52px;font-size:1rem;text-align:start;contain:content;overflow:hidden}.action-sheet-icon.sc-ion-action-sheet-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:1.5rem}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}'}}},[34,"ion-action-sheet",{overlayIndex:[2,"overlay-index"],delegate:[16],hasController:[4,"has-controller"],keyboardClose:[4,"keyboard-close"],enterAnimation:[16],leaveAnimation:[16],buttons:[16],cssClass:[1,"css-class"],backdropDismiss:[4,"backdrop-dismiss"],header:[1],subHeader:[1,"sub-header"],translucent:[4],animated:[4],htmlAttributes:[16],isOpen:[4,"is-open"],trigger:[1],activeRadioId:[32],present:[64],dismiss:[64],onDidDismiss:[64],onWillDismiss:[64]},[[0,"keydown","onKeydown"]],{buttons:[{buttonsChanged:0}],isOpen:[{onIsOpenChange:0}],trigger:[{triggerChanged:0}]}]),E=t=>Object.assign({"action-sheet-button":!0,"ion-activatable":!t.disabled,"ion-focusable":!t.disabled,[`action-sheet-${t.role}`]:void 0!==t.role},x(t.cssClass));function S(){"undefined"!=typeof customElements&&["ion-action-sheet","ion-backdrop","ion-icon","ion-ripple-effect"].forEach((t=>{switch(t){case"ion-action-sheet":customElements.get(s(t))||customElements.define(s(t),B);break;case"ion-backdrop":customElements.get(s(t))||z();break;case"ion-icon":customElements.get(s(t))||j();break;case"ion-ripple-effect":customElements.get(s(t))||C()}}))}export{B as A,S as d}
|
package/components/p-BI7WNErr.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{p as t,H as i,e as o,f as e,w as a,c as r,h as s,d as n,t as d}from"./p-BJoMtgfR.js";import{a as h,i as l,d as p,r as c,f as m,p as f}from"./p-C59ryAuS.js";import{C as u,a as b,d as v}from"./p-BR3tZJmu.js";import{f as x,g as w,r as g,d as k,k as y}from"./p-DgbT0exM.js";import{c as A}from"./p-B-hirT0v.js";import{g as Y}from"./p-CIGNaXM1.js";import{G as D,O,F as C,e as E,B as S,j as M,k as B,f as T,g as P,h as I}from"./p-Cq8cQ0NL.js";import{g as N}from"./p-DiVJyqlX.js";import{e as R,w as j}from"./p-9VcRUwdB.js";import{b as $}from"./p-CDfQnFrd.js";import{KEYBOARD_DID_OPEN as L}from"./p-D6Ynv7Xh.js";import{c as z}from"./p-Csw8xuz4.js";import{g as W}from"./p-hHmYLOfE.js";import{createGesture as F}from"./p-Cl0B-RWe.js";import{w as H}from"./p-ZjP4CjeZ.js";import{d as V}from"./p-CoA-aqGF.js";var Z;!function(t){t.Dark="DARK",t.Light="LIGHT",t.Default="DEFAULT"}(Z||(Z={}));const G={getEngine(){const t=Y();if(null==t?void 0:t.isPluginAvailable("StatusBar"))return t.Plugins.StatusBar},setStyle(t){const i=this.getEngine();i&&i.setStyle(t)},getStyle:async function(){const t=this.getEngine();if(!t)return Z.Default;const{style:i}=await t.getInfo();return i}},K=(t,i)=>{if(1===i)return 0;const o=1/(1-i);return t*o+-i*o},U=()=>{!H||H.innerWidth>=768||G.setStyle({style:Z.Dark})},q=(t=Z.Default)=>{!H||H.innerWidth>=768||G.setStyle({style:t})},J=async(t,i)=>{"function"==typeof t.canDismiss&&await t.canDismiss(void 0,D)&&(i.isRunning()?i.onFinish((()=>{t.dismiss(void 0,"handler")}),{oneTimeCallback:!0}):t.dismiss(void 0,"handler"))},X=t=>.00255275*2.71828**(-14.9619*t)-1.00255*2.71828**(-.0380968*t)+1,_=.915,Q=(t,i)=>x(400,t/Math.abs(1.1*i),500),tt=(t,i)=>{const o=window.innerHeight,e=t.getBoundingClientRect().top,a=Math.round(1e3*(1-i/(o-e)))/1e3;return Math.max(0,Math.min(1,a))},it=t=>{const{currentBreakpoint:i,backdropBreakpoint:o,expandToScroll:e}=t,a=void 0===o||o<i,r=a?`calc(var(--backdrop-opacity) * ${i})`:"0",s=z("backdropAnimation").fromTo("opacity",0,r);return a&&s.beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),{wrapperAnimation:z("wrapperAnimation").keyframes([{offset:0,opacity:1,transform:"translateY(100%)"},{offset:1,opacity:1,transform:`translateY(${100-100*i}%)`}]),backdropAnimation:s,contentAnimation:e?void 0:z("contentAnimation").keyframes([{offset:0,opacity:1,maxHeight:100*(1-i)+"%"},{offset:1,opacity:1,maxHeight:100*i+"%"}])}},ot=t=>{const{currentBreakpoint:i,backdropBreakpoint:o}=t,e=`calc(var(--backdrop-opacity) * ${K(i,o)})`,a=[{offset:0,opacity:e},{offset:1,opacity:0}],r=[{offset:0,opacity:e},{offset:o,opacity:0},{offset:1,opacity:0}],s=z("backdropAnimation").keyframes(0!==o?r:a);return{wrapperAnimation:z("wrapperAnimation").keyframes([{offset:0,opacity:1,transform:`translateY(${100-100*i}%)`},{offset:1,opacity:1,transform:"translateY(100%)"}]),backdropAnimation:s}},et=(t,i)=>{const{presentingEl:o,currentBreakpoint:e,expandToScroll:a}=i,r=w(t),{wrapperAnimation:s,backdropAnimation:n,contentAnimation:d}=void 0!==e?it(i):{backdropAnimation:z().fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),wrapperAnimation:z().fromTo("transform","translateY(100vh)","translateY(0vh)"),contentAnimation:void 0};n.addElement(r.querySelector("ion-backdrop")),s.addElement(r.querySelectorAll(".modal-wrapper, .modal-shadow")).beforeStyles({opacity:1}),!a&&(null==d||d.addElement(t.querySelector(".ion-page")));const h=z("entering-base").addElement(t).easing("cubic-bezier(0.32,0.72,0,1)").duration(500).addAnimation([s]);if(d&&h.addAnimation(d),o){const i=window.innerWidth<768,e="ION-MODAL"===o.tagName&&void 0!==o.presentingElement,a=w(o),r=z().beforeStyles({transform:"translateY(0)","transform-origin":"top center",overflow:"hidden"}),d=t.closest("ion-app");if(i&&d){const t=CSS.supports("width","max(0px, 1px)")?"max(30px, var(--ion-safe-area-top))":"30px",i=`translateY(${e?"-10px":t}) scale(0.915)`;r.afterStyles({transform:i}).beforeAddWrite((()=>d.style.setProperty("background-color","black"))).addElement(o).keyframes([{offset:0,filter:"contrast(1)",transform:"translateY(0px) scale(1)",borderRadius:"0px"},{offset:1,filter:"contrast(0.85)",transform:i,borderRadius:"10px 10px 0 0"}]),h.addAnimation(r)}else if(h.addAnimation(n),e){const t=`translateY(-10px) scale(${e?_:1})`;r.afterStyles({transform:t}).addElement(a.querySelector(".modal-wrapper")).keyframes([{offset:0,filter:"contrast(1)",transform:"translateY(0) scale(1)"},{offset:1,filter:"contrast(0.85)",transform:t}]);const i=z().afterStyles({transform:t}).addElement(a.querySelector(".modal-shadow")).keyframes([{offset:0,opacity:"1",transform:"translateY(0) scale(1)"},{offset:1,opacity:"0",transform:t}]);h.addAnimation([r,i])}else s.fromTo("opacity","0","1")}else h.addAnimation(n);return h},at=(t,i,o=500)=>{const{presentingEl:e,currentBreakpoint:a}=i,r=w(t),{wrapperAnimation:s,backdropAnimation:n}=void 0!==a?ot(i):{backdropAnimation:z().fromTo("opacity","var(--backdrop-opacity)",0),wrapperAnimation:z().fromTo("transform","translateY(0vh)","translateY(100vh)")};n.addElement(r.querySelector("ion-backdrop")),s.addElement(r.querySelectorAll(".modal-wrapper, .modal-shadow")).beforeStyles({opacity:1});const d=z("leaving-base").addElement(t).easing("cubic-bezier(0.32,0.72,0,1)").duration(o).addAnimation(s),h=t.closest("ion-app");if(e&&h){const t=window.innerWidth<768,i="ION-MODAL"===e.tagName&&void 0!==e.presentingElement,o=w(e),a=z().beforeClearStyles(["transform"]).afterClearStyles(["transform"]).onFinish((t=>{1===t&&(e.style.setProperty("overflow",""),Array.from(h.querySelectorAll("ion-modal:not(.overlay-hidden)")).filter((t=>void 0!==t.presentingElement)).length<=1&&h.style.setProperty("background-color",""))}));if(t){const t=CSS.supports("width","max(0px, 1px)")?"max(30px, var(--ion-safe-area-top))":"30px",o=`translateY(${i?"-10px":t}) scale(0.915)`;a.addElement(e).keyframes([{offset:0,filter:"contrast(0.85)",transform:o,borderRadius:"10px 10px 0 0"},{offset:1,filter:"contrast(1)",transform:"translateY(0px) scale(1)",borderRadius:"0px"}]),d.addAnimation(a)}else if(d.addAnimation(n),i){const t=`translateY(-10px) scale(${i?_:1})`;a.addElement(o.querySelector(".modal-wrapper")).afterStyles({transform:"translate3d(0, 0, 0)"}).keyframes([{offset:0,filter:"contrast(0.85)",transform:t},{offset:1,filter:"contrast(1)",transform:"translateY(0) scale(1)"}]);const e=z().addElement(o.querySelector(".modal-shadow")).afterStyles({transform:"translateY(0) scale(1)"}).keyframes([{offset:0,opacity:"0",transform:t},{offset:1,opacity:"1",transform:"translateY(0) scale(1)"}]);d.addAnimation([a,e])}else s.fromTo("opacity","1","0")}else d.addAnimation(n);return d},rt=(t,i)=>{const{currentBreakpoint:o,expandToScroll:e}=i,a=w(t),{wrapperAnimation:r,backdropAnimation:s,contentAnimation:n}=void 0!==o?it(i):{backdropAnimation:z().fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),wrapperAnimation:z().keyframes([{offset:0,opacity:.01,transform:"translateY(40px)"},{offset:1,opacity:1,transform:"translateY(0px)"}]),contentAnimation:void 0};s.addElement(a.querySelector("ion-backdrop")),r.addElement(a.querySelector(".modal-wrapper")),!e&&(null==n||n.addElement(t.querySelector(".ion-page")));const d=z().addElement(t).easing("cubic-bezier(0.36,0.66,0.04,1)").duration(280).addAnimation([s,r]);return n&&d.addAnimation(n),d},st=(t,i)=>{const{currentBreakpoint:o}=i,e=w(t),{wrapperAnimation:a,backdropAnimation:r}=void 0!==o?ot(i):{backdropAnimation:z().fromTo("opacity","var(--backdrop-opacity)",0),wrapperAnimation:z().keyframes([{offset:0,opacity:.99,transform:"translateY(0px)"},{offset:1,opacity:0,transform:"translateY(40px)"}])};return r.addElement(e.querySelector("ion-backdrop")),a.addElement(e.querySelector(".modal-wrapper")),z().easing("cubic-bezier(0.47,0,0.745,0.715)").duration(200).addAnimation([r,a])};let nt=null,dt=!1;const ht=(t,i)=>{t.style.setProperty("--ion-safe-area-top",i.top),t.style.setProperty("--ion-safe-area-bottom",i.bottom),t.style.setProperty("--ion-safe-area-left",i.left),t.style.setProperty("--ion-safe-area-right",i.right)},lt=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.didPresent=o(this,"ionModalDidPresent",7),this.willPresent=o(this,"ionModalWillPresent",7),this.willDismiss=o(this,"ionModalWillDismiss",7),this.didDismiss=o(this,"ionModalDidDismiss",7),this.ionBreakpointDidChange=o(this,"ionBreakpointDidChange",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.ionDragStart=o(this,"ionDragStart",7),this.ionDragMove=o(this,"ionDragMove",7),this.ionDragEnd=o(this,"ionDragEnd",7),this.lockController=A(),this.triggerController=E(),this.coreDelegate=u(),this.isSheetModal=!1,this.inheritedAttributes={},this.inline=!1,this.gestureAnimationDismissing=!1,this.presented=!1,this.hasController=!1,this.keyboardClose=!0,this.expandToScroll=!0,this.backdropBreakpoint=0,this.handleBehavior="none",this.backdropDismiss=!0,this.showBackdrop=!0,this.animated=!0,this.isOpen=!1,this.keepContentsMounted=!1,this.focusTrap=!0,this.canDismiss=!0,this.onHandleClick=()=>{const{sheetTransition:t,handleBehavior:i}=this;"cycle"===i&&void 0===t&&this.moveToNextBreakpoint()},this.onBackdropTap=()=>{const{sheetTransition:t}=this;void 0===t&&this.dismiss(void 0,S)},this.onLifecycle=t=>{const i=this.usersElement,o=pt[t.type];if(i&&o){const e=new CustomEvent(o,{bubbles:!1,cancelable:!1,detail:t.detail});i.dispatchEvent(e)}},this.onModalFocus=t=>{const{dragHandleEl:i,el:o}=this;t.target===o&&i&&-1!==i.tabIndex&&i.focus()},this.onSlotChange=({target:t})=>{t.assignedElements().forEach((t=>{t.querySelectorAll("ion-modal").forEach((t=>{null===t.getAttribute("data-parent-ion-modal")&&t.setAttribute("data-parent-ion-modal",this.el.id)}))}))}}onIsOpenChange(t,i){!0===t&&!1===i?this.present():!1===t&&!0===i&&this.dismiss()}triggerChanged(){const{trigger:t,el:i,triggerController:o}=this;t&&o.addClickListener(i,t)}onWindowResize(){this.presented&&(clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout((()=>{const t=this.getSafeAreaContext();!t.isCardModal||this.enterAnimation||this.leaveAnimation||this.handleViewTransition(),t.isSheetModal&&this.updateSheetOffsetTop(),t.isSheetModal||t.isCardModal||(this.updateSafeAreaOverrides(),this.wrapperEl&&(this.wrapperEl.style.removeProperty("height"),this.wrapperEl.style.removeProperty("padding-bottom")),this.applyFullscreenSafeArea())}),50))}breakpointsChanged(t){void 0!==t&&(this.sortedBreakpoints=t.sort(((t,i)=>t-i)))}connectedCallback(){const{el:t}=this;M(t),this.triggerChanged()}disconnectedCallback(){this.triggerController.removeClickListener(),this.cleanupViewTransitionListener(),this.cleanupParentRemovalObserver(),this.cleanupSafeAreaOverrides()}componentWillLoad(){var t;const{breakpoints:i,initialBreakpoint:o,el:a,htmlAttributes:r}=this,s=this.isSheetModal=void 0!==i&&void 0!==o,n=["aria-label","role"];this.inheritedAttributes=k(a,n),a.parentNode&&(this.cachedOriginalParent=a.parentNode),void 0!==r&&n.forEach((t=>{r[t]&&(this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:r[t]}),delete r[t])})),s&&(this.currentBreakpoint=this.initialBreakpoint),void 0===i||void 0===o||i.includes(o)||e("[ion-modal] - Your breakpoints array must include the initialBreakpoint value."),(null===(t=this.htmlAttributes)||void 0===t?void 0:t.id)||B(this.el)}componentDidLoad(){!0===this.isOpen&&g((()=>this.present())),this.breakpointsChanged(this.breakpoints),this.triggerChanged()}getDelegate(t=!1){if(this.workingDelegate&&!t)return{delegate:this.workingDelegate,inline:this.inline};const i=this.inline=null!==this.el.parentNode&&!this.hasController;return{inline:i,delegate:this.workingDelegate=i?this.delegate||this.coreDelegate:this.delegate}}async checkCanDismiss(t,i){const{canDismiss:o}=this;return"function"==typeof o?o(t,i):o}async present(){const t=await this.lockController.lock();if(this.presented)return void t();const{presentingElement:i,el:o}=this;this.currentBreakpoint=this.initialBreakpoint;const{inline:e,delegate:r}=this.getDelegate(!0);this.ionMount.emit(),this.usersElement=await b(r,o,this.component,["ion-page"],this.componentProps,e),y(o)?await R(this.usersElement):this.keepContentsMounted||await j(),a((()=>this.el.classList.add("show-modal"))),this.isSheetModal=void 0!==this.breakpoints&&void 0!==this.initialBreakpoint,this.setInitialSafeAreaOverrides();const s=void 0!==i;s&&"ios"===$(this)&&(this.statusBarStyle=await G.getStyle(),U()),await T(this,"modalEnter",et,rt,{presentingEl:i,currentBreakpoint:this.initialBreakpoint,backdropBreakpoint:this.backdropBreakpoint,expandToScroll:this.expandToScroll}),this.updateSafeAreaOverrides(),this.applyFullscreenSafeArea(),"undefined"!=typeof window&&(this.keyboardOpenCallback=()=>{this.gesture&&(this.gesture.enable(!1),g((()=>{this.gesture&&this.gesture.enable(!0)})))},window.addEventListener(L,this.keyboardOpenCallback)),this.isSheetModal?this.initSheetGesture():s&&this.initSwipeToClose(),this.initViewTransitionListener(),this.initParentRemovalObserver(),t()}initSwipeToClose(){var t;if("ios"!==$(this))return;const{el:i}=this,o=this.leaveAnimation||r.get("modalLeave",at),e=this.animation=o(i,{presentingEl:this.presentingElement,expandToScroll:this.expandToScroll});if(!m(i))return void f(i);const a=null!==(t=this.statusBarStyle)&&void 0!==t?t:Z.Default;this.gesture=((t,i,o,e,a,r,s)=>{const n=.5,d=t.offsetHeight;let m=!1,f=!1,u=null,b=null,v=!0,g=0;const k=F({el:t,gestureName:"modalSwipeToClose",gesturePriority:O,direction:"y",threshold:10,canStart:t=>{const i=t.event.target;if(null===i||!i.closest)return!0;if(u=h(i),u){if(l(u)){const t=w(u);b=t.querySelector(".inner-scroll")}else b=u;return!u.querySelector("ion-refresher")&&0===b.scrollTop}return null===i.closest("ion-footer")},onStart:o=>{const{deltaY:e}=o;v=!u||!l(u)||u.scrollY,f=void 0!==t.canDismiss&&!0!==t.canDismiss,e>0&&u&&p(u),i.progressStart(!0,m?1:0),a()},onMove:e=>{const{deltaY:a}=e;a>0&&u&&p(u);const s=e.deltaY/d,h=s>=0&&f,l=h?.2:.9999,c=h?X(s/l):s,m=x(1e-4,c,l);i.progressStep(m),m>=n&&g<n?q(o):m<n&&g>=n&&U(),g=m;const b={currentY:e.currentY,deltaY:e.deltaY,velocityY:e.velocityY,progress:tt(t,e.deltaY)};r(b)},onEnd:o=>{const a=o.velocityY,r=o.deltaY/d,h=r>=0&&f,l=h?.2:.9999,p=h?X(r/l):r,b=x(1e-4,p,l),w=!h&&(o.deltaY+1e3*a)/d>=n;let g=w?-.001:.001;w?(i.easing("cubic-bezier(0.32, 0.72, 0, 1)"),g+=W([0,0],[.32,.72],[0,1],[1,1],b)[0]):(i.easing("cubic-bezier(1, 0, 0.68, 0.28)"),g+=W([0,0],[1,0],[.68,.28],[1,1],b)[0]);const y=Q(w?r*d:(1-b)*d,a);m=w,k.enable(!1),u&&c(u,v),i.onFinish((()=>{w||k.enable(!0)})).progressEnd(w?1:0,g,y),h&&b>l/4?J(t,i):w&&e();const A={currentY:o.currentY,deltaY:o.deltaY,velocityY:o.velocityY,progress:tt(t,o.deltaY),snapBreakpoint:w?0:1};s(A)}});return k})(i,e,a,(()=>this.cardOnDismiss()),(()=>this.onDragStart()),(t=>this.onDragMove(t)),(t=>this.onDragEnd(t))),this.gesture.enable(!0)}initSheetGesture(){const{wrapperEl:t,initialBreakpoint:i,backdropBreakpoint:o}=this;if(!t||void 0===i)return;const e=this.enterAnimation||r.get("modalEnter",et),a=this.animation=e(this.el,{presentingEl:this.presentingElement,currentBreakpoint:i,backdropBreakpoint:o,expandToScroll:this.expandToScroll});a.progressStart(!0,1);const{gesture:s,moveSheetToBreakpoint:n}=((t,i,o,e,a,r,s=[],n,d,p,c,m,f,u)=>{const b={WRAPPER_KEYFRAMES:[{offset:0,transform:"translateY(0%)"},{offset:1,transform:"translateY(100%)"}],BACKDROP_KEYFRAMES:0!==a?[{offset:0,opacity:"var(--backdrop-opacity)"},{offset:1-a,opacity:0},{offset:1,opacity:0}]:[{offset:0,opacity:"var(--backdrop-opacity)"},{offset:1,opacity:.01}],CONTENT_KEYFRAMES:[{offset:0,maxHeight:"100%"},{offset:1,maxHeight:"0%"}]},v=t.querySelector("ion-content"),k=o.clientHeight;let y=e,A=0,Y=!1,D=null,O=null,E=null,S=null;const M=s[s.length-1],B=s[0],T=r.childAnimations.find((t=>"wrapperAnimation"===t.id)),P=r.childAnimations.find((t=>"backdropAnimation"===t.id)),I=r.childAnimations.find((t=>"contentAnimation"===t.id)),N=()=>{!1!==t.focusTrap&&!1!==t.showBackdrop&&(t.style.setProperty("pointer-events","auto"),i.style.setProperty("pointer-events","auto"),t.classList.remove(C))},R=()=>{t.style.setProperty("pointer-events","none"),i.style.setProperty("pointer-events","none"),t.classList.add(C)},j=i=>{if(!O&&(O=Array.from(t.querySelectorAll("ion-footer")),!O.length))return;const o=t.querySelector(".ion-page");if(S=i,"stationary"===i)O.forEach((t=>{t.classList.remove("modal-footer-moving"),t.style.removeProperty("position"),t.style.removeProperty("width"),t.style.removeProperty("height"),t.style.removeProperty("top"),t.style.removeProperty("left"),null==o||o.style.removeProperty("padding-bottom"),null==o||o.appendChild(t)}));else{let i=0;O.forEach(((o,e)=>{const a=o.getBoundingClientRect(),r=document.body.getBoundingClientRect();i+=o.clientHeight;const s=a.top-r.top,n=a.left-r.left;if(o.style.setProperty("--pinned-width",`${o.clientWidth}px`),o.style.setProperty("--pinned-height",`${o.clientHeight}px`),o.style.setProperty("--pinned-top",`${s}px`),o.style.setProperty("--pinned-left",`${n}px`),0===e){E=s;const i=t.querySelector("ion-header");i&&(E-=i.clientHeight)}})),O.forEach((t=>{null==o||o.style.setProperty("padding-bottom",`${i}px`),t.classList.add("modal-footer-moving"),t.style.setProperty("position","absolute"),t.style.setProperty("width","var(--pinned-width)"),t.style.setProperty("height","var(--pinned-height)"),t.style.setProperty("top","var(--pinned-top)"),t.style.setProperty("left","var(--pinned-left)"),document.body.appendChild(t)}))}};T&&P&&(T.keyframes([...b.WRAPPER_KEYFRAMES]),P.keyframes([...b.BACKDROP_KEYFRAMES]),null==I||I.keyframes([...b.CONTENT_KEYFRAMES]),r.progressStart(!0,1-y),y>a&&!1!==t.focusTrap&&!1!==t.showBackdrop?N():R()),v&&y!==M&&n&&(v.scrollY=!1);const $=i=>{const{breakpoint:o,canDismiss:e,breakpointOffset:d,animated:h}=i,l=e&&0===o,m=l?y:o,f=0!==m;return y=0,T&&P&&(T.keyframes([{offset:0,transform:`translateY(${100*d}%)`},{offset:1,transform:`translateY(${100*(1-m)}%)`}]),P.keyframes([{offset:0,opacity:`calc(var(--backdrop-opacity) * ${K(1-d,a)})`},{offset:1,opacity:`calc(var(--backdrop-opacity) * ${K(m,a)})`}]),I&&I.keyframes([{offset:0,maxHeight:100*(1-d)+"%"},{offset:1,maxHeight:100*m+"%"}]),r.progressStep(0)),H.enable(!1),l?J(t,r):f||p(),!v||m!==s[s.length-1]&&n||(v.scrollY=!0),n||0!==m||j("stationary"),new Promise((i=>{r.onFinish((()=>{f?(n||j("stationary"),T&&P?g((()=>{T.keyframes([...b.WRAPPER_KEYFRAMES]),P.keyframes([...b.BACKDROP_KEYFRAMES]),null==I||I.keyframes([...b.CONTENT_KEYFRAMES]),r.progressStart(!0,1-m),y=m,c(y),y>a&&!1!==t.focusTrap&&!1!==t.showBackdrop?N():R(),H.enable(!0),i()})):(H.enable(!0),i())):i()}),{oneTimeCallback:!0}).progressEnd(1,0,h?500:0)}))},L=t=>{const i=o.getBoundingClientRect().top+t,e=z(i);return s.reduce(((t,i)=>Math.abs(i-e)<Math.abs(t-e)?i:t))},z=t=>{const i=s[s.length-1],o=W(s[0]),e=W(i),a=Math.round((o-t)/(o-e)*1e3)/1e3;return Math.max(0,Math.min(1,a))},W=i=>{const o=t.getBoundingClientRect();return window.innerHeight-o.height*i},H=F({el:o,gestureName:"modalSheet",gesturePriority:40,direction:"y",threshold:10,canStart:t=>{const i=h(t.event.target);if(y=d(),!n&&i)return 0===(l(i)?w(i).querySelector(".inner-scroll"):i).scrollTop;if(1===y&&i){const t=l(i)?w(i).querySelector(".inner-scroll"):i;return!i.querySelector("ion-refresher")&&0===t.scrollTop}return!0},onStart:i=>{if(Y=void 0!==t.canDismiss&&!0!==t.canDismiss&&0===B,!n){const t=h(i.event.target);D=t&&l(t)?w(t).querySelector(".inner-scroll"):t}n||j("moving"),i.deltaY>0&&v&&(v.scrollY=!1),g((()=>{t.focus()})),r.progressStart(!0,1-y),m()},onMove:t=>{if(n||null===E||null===S||(t.currentY>=E&&"moving"===S?j("stationary"):t.currentY<E&&"stationary"===S&&j("moving")),!n&&t.deltaY<=0&&D)return;t.deltaY>0&&v&&(v.scrollY=!1);const i=s.length>1?1-s[1]:void 0,o=1-y+t.deltaY/k,e=void 0!==i&&o>=i&&Y,a=e?.95:.9999,d=e&&void 0!==i?i+X((o-i)/(a-i)):o;A=x(1e-4,d,a),r.progressStep(A);const h=L(t.deltaY),l={currentY:t.currentY,deltaY:t.deltaY,velocityY:t.velocityY,progress:z(t.currentY),snapBreakpoint:h};f(l)},onEnd:t=>{const i=L(t.deltaY),o={currentY:t.currentY,deltaY:t.deltaY,velocityY:t.velocityY,progress:z(t.currentY),snapBreakpoint:i};if(!n&&t.deltaY<=0&&D&&D.scrollTop>0)return j("stationary"),void u(o);$({breakpoint:i,breakpointOffset:A,canDismiss:Y,animated:!0}),u(o)}});return{gesture:H,moveSheetToBreakpoint:$}})(this.el,this.backdropEl,t,i,o,a,this.sortedBreakpoints,this.expandToScroll,(()=>{var t;return null!==(t=this.currentBreakpoint)&&void 0!==t?t:0}),(()=>this.sheetOnDismiss()),(t=>{this.currentBreakpoint!==t&&(this.currentBreakpoint=t,this.ionBreakpointDidChange.emit({breakpoint:t}))}),(()=>this.onDragStart()),(t=>this.onDragMove(t)),(t=>this.onDragEnd(t)));this.gesture=s,this.moveSheetToBreakpoint=n,this.gesture.enable(!0),(!1===this.showBackdrop||!1===this.focusTrap||o>0)&&this.setupChildRoutePassthrough()}setupChildRoutePassthrough(){var t;this.cachedPageParent=this.getOriginalPageParent();const o=this.cachedPageParent;if(!o||"ION-APP"===o.tagName)return;const e=Array.from(o.children).some((t=>{var o;return!(t===this.el||t instanceof i&&"none"===window.getComputedStyle(t).display||"TEMPLATE"===t.tagName||"SLOT"===t.tagName||t.nodeType===Node.TEXT_NODE&&!(null===(o=t.textContent)||void 0===o?void 0:o.trim()))}));if(e)return;o.classList.add("ion-page-overlay-passthrough");const a=o.parentElement;"ION-ROUTER-OUTLET"===(null==a?void 0:a.tagName)&&"ION-APP"!==(null===(t=a.parentElement)||void 0===t?void 0:t.tagName)&&(a.style.setProperty("pointer-events","none"),a.setAttribute("data-overlay-passthrough","true"))}getOriginalPageParent(){if(!this.cachedOriginalParent)return null;let t=this.cachedOriginalParent;for(;t&&!t.classList.contains("ion-page");)t=t.parentElement;return t}cleanupChildRoutePassthrough(){const t=this.cachedPageParent;if(!t)return;t.classList.remove("ion-page-overlay-passthrough");const i=t.parentElement;(null==i?void 0:i.hasAttribute("data-overlay-passthrough"))&&(i.style.removeProperty("pointer-events"),i.removeAttribute("data-overlay-passthrough")),this.cachedPageParent=void 0}sheetOnDismiss(){this.gestureAnimationDismissing=!0,this.animation.onFinish((async()=>{this.currentBreakpoint=0,this.ionBreakpointDidChange.emit({breakpoint:this.currentBreakpoint}),await this.dismiss(void 0,D),this.gestureAnimationDismissing=!1}))}cardOnDismiss(){this.gestureAnimationDismissing=!0,q(this.statusBarStyle),this.animation.onFinish((async()=>{await this.dismiss(void 0,D),this.gestureAnimationDismissing=!1}))}async dismiss(t,i){var o;if(this.gestureAnimationDismissing&&i!==D)return!1;clearTimeout(this.resizeTimeout),this.resizeTimeout=void 0;const e=await this.lockController.lock();if(await this.dismissNestedModals(),"handler"!==i&&!await this.checkCanDismiss(t,i))return e(),!1;const{presentingElement:r}=this;void 0!==r&&"ios"===$(this)&&q(this.statusBarStyle),"undefined"!=typeof window&&this.keyboardOpenCallback&&(window.removeEventListener(L,this.keyboardOpenCallback),this.keyboardOpenCallback=void 0);const s=await P(this,t,i,"modalLeave",at,st,{presentingEl:r,currentBreakpoint:null!==(o=this.currentBreakpoint)&&void 0!==o?o:this.initialBreakpoint,backdropBreakpoint:this.backdropBreakpoint,expandToScroll:this.expandToScroll});if(s){const{delegate:t}=this.getDelegate();await v(t,this.usersElement),a((()=>this.el.classList.remove("show-modal"))),this.animation&&this.animation.destroy(),this.gesture&&this.gesture.destroy(),this.cleanupViewTransitionListener(),this.cleanupParentRemovalObserver(),this.cleanupSafeAreaOverrides(),this.cleanupChildRoutePassthrough()}return this.currentBreakpoint=void 0,this.animation=void 0,e(),s}onDidDismiss(){return I(this.el,"ionModalDidDismiss")}onWillDismiss(){return I(this.el,"ionModalWillDismiss")}async setCurrentBreakpoint(t){if(!this.isSheetModal)return void e("[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.");if(!this.breakpoints.includes(t))return void e(`[ion-modal] - Attempted to set invalid breakpoint value ${t}. Please double check that the breakpoint value is part of your defined breakpoints.`);const{currentBreakpoint:i,moveSheetToBreakpoint:o,canDismiss:a,breakpoints:r,animated:s}=this;i!==t&&o&&(this.sheetTransition=o({breakpoint:t,breakpointOffset:1-i,canDismiss:void 0!==a&&!0!==a&&0===r[0],animated:s}),await this.sheetTransition,this.sheetTransition=void 0)}async getCurrentBreakpoint(){return this.currentBreakpoint}async moveToNextBreakpoint(){const{breakpoints:t,currentBreakpoint:i}=this;if(!t||null==i)return!1;const o=t.filter((t=>0!==t)),e=o.indexOf(i),a=o[(e+1)%o.length];return await this.setCurrentBreakpoint(a),!0}initViewTransitionListener(){"ios"!==$(this)||!this.presentingElement||this.enterAnimation||this.leaveAnimation||(this.currentViewIsPortrait=window.innerWidth<768)}handleViewTransition(){if(!this.presented)return;const t=window.innerWidth<768;if(this.currentViewIsPortrait===t)return;this.viewTransitionAnimation&&(this.viewTransitionAnimation.destroy(),this.viewTransitionAnimation=void 0);const{presentingElement:i}=this;if(!i)return;let o;o=this.currentViewIsPortrait&&!t?((t,i,o=300)=>{const{presentingEl:e}=i;if(!e)return z("portrait-to-landscape-transition");const a="ION-MODAL"===e.tagName&&void 0!==e.presentingElement,r=w(e),s=document.body,n=z("portrait-to-landscape-transition").addElement(t).easing("cubic-bezier(0.32,0.72,0,1)").duration(o),d=z().beforeStyles({transform:"translateY(0)","transform-origin":"top center",overflow:"hidden"});if(a){const t="translateY(-10px) scale(0.915)",i="translateY(0px) scale(1)";d.addElement(e).afterStyles({transform:i}).fromTo("transform",t,i).fromTo("filter","contrast(0.85)","contrast(1)");const o=z().addElement(r.querySelector(".modal-shadow")).afterStyles({transform:i,opacity:"0"}).fromTo("transform",t,i);n.addAnimation([d,o])}else{const i=w(t),o=z().addElement(i.querySelectorAll(".modal-wrapper, .modal-shadow")).fromTo("opacity","1","1"),a=z().addElement(i.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)","var(--backdrop-opacity)"),r=`translateY(${CSS.supports("width","max(0px, 1px)")?"max(30px, var(--ion-safe-area-top))":"30px"}) scale(0.915)`;d.addElement(e).afterStyles({transform:"translateY(0px) scale(1)","border-radius":"0px"}).beforeAddWrite((()=>s.style.setProperty("background-color",""))).fromTo("transform",r,"translateY(0px) scale(1)").fromTo("filter","contrast(0.85)","contrast(1)").fromTo("border-radius","10px 10px 0 0","0px"),n.addAnimation([d,o,a])}return n})(this.el,{presentingEl:i}):((t,i,o=300)=>{const{presentingEl:e}=i;if(!e)return z("landscape-to-portrait-transition");const a="ION-MODAL"===e.tagName&&void 0!==e.presentingElement,r=w(e),s=document.body,n=z("landscape-to-portrait-transition").addElement(t).easing("cubic-bezier(0.32,0.72,0,1)").duration(o),d=z().beforeStyles({transform:"translateY(0)","transform-origin":"top center",overflow:"hidden"});if(a){const t="translateY(-10px) scale(0.915)",i="translateY(0) scale(1)";d.addElement(e).afterStyles({transform:i}).fromTo("transform",t,i);const o=z().addElement(r.querySelector(".modal-shadow")).afterStyles({transform:i,opacity:"0"}).fromTo("transform",t,i);n.addAnimation([d,o])}else{const i=w(t),o=z().addElement(i.querySelectorAll(".modal-wrapper, .modal-shadow")).fromTo("opacity","1","1"),a=z().addElement(i.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)","var(--backdrop-opacity)"),r=`translateY(${CSS.supports("width","max(0px, 1px)")?"max(30px, var(--ion-safe-area-top))":"30px"}) scale(0.915)`;d.addElement(e).afterStyles({transform:r}).beforeAddWrite((()=>s.style.setProperty("background-color","black"))).keyframes([{offset:0,transform:"translateY(0px) scale(1)",filter:"contrast(1)",borderRadius:"0px"},{offset:.2,transform:"translateY(0px) scale(1)",filter:"contrast(1)",borderRadius:"10px 10px 0 0"},{offset:1,transform:r,filter:"contrast(0.85)",borderRadius:"10px 10px 0 0"}]),n.addAnimation([d,o,a])}return n})(this.el,{presentingEl:i}),this.currentViewIsPortrait=t,this.viewTransitionAnimation=o,o.play().then((()=>{this.viewTransitionAnimation=void 0,g((()=>this.updateSafeAreaOverrides())),this.reinitSwipeToClose()}))}cleanupViewTransitionListener(){this.resizeTimeout&&(clearTimeout(this.resizeTimeout),this.resizeTimeout=void 0),this.viewTransitionAnimation&&(this.viewTransitionAnimation.destroy(),this.viewTransitionAnimation=void 0)}reinitSwipeToClose(){"ios"===$(this)&&this.presentingElement&&(this.gesture&&(this.gesture.destroy(),this.gesture=void 0),this.animation&&(this.animation.progressEnd(0,0,0),this.animation.destroy(),this.animation=void 0),g((()=>{this.ensureCorrectModalPosition(),this.initSwipeToClose()})))}ensureCorrectModalPosition(){const{el:t,presentingElement:i}=this,o=w(t).querySelector(".modal-wrapper");if(o&&(o.style.transform="translateY(0vh)",o.style.opacity="1"),"ION-MODAL"===(null==i?void 0:i.tagName))if(window.innerWidth<768){const t=CSS.supports("width","max(0px, 1px)")?"max(30px, var(--ion-safe-area-top))":"30px";i.style.transform=`translateY(${t}) scale(0.915)`}else i.style.transform="translateY(0px) scale(1)"}async dismissNestedModals(){const t=document.querySelectorAll(`ion-modal[data-parent-ion-modal="${this.el.id}"]`);null==t||t.forEach((async t=>{await t.dismiss(void 0,"parent-dismissed")}))}initParentRemovalObserver(){"undefined"!=typeof MutationObserver&&"undefined"!=typeof window&&this.cachedOriginalParent&&this.cachedOriginalParent.nodeType!==Node.DOCUMENT_NODE&&this.cachedOriginalParent.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&(this.hasController||this.cachedOriginalParent===document.body||"ION-APP"===this.cachedOriginalParent.tagName||(this.parentRemovalObserver=new MutationObserver((t=>{t.forEach((t=>{"childList"===t.type&&t.removedNodes.length>0&&(Array.from(t.removedNodes).some((t=>{var i,o;const e=t===this.cachedOriginalParent,a=!!this.cachedOriginalParent&&(null===(o=(i=t).contains)||void 0===o?void 0:o.call(i,this.cachedOriginalParent));return e||a}))||this.cachedOriginalParent&&!this.cachedOriginalParent.isConnected)&&(this.dismiss(void 0,"parent-removed"),this.cachedOriginalParent=void 0)}))})),this.parentRemovalObserver.observe(document.body,{childList:!0,subtree:!0})))}cleanupParentRemovalObserver(){var t;null===(t=this.parentRemovalObserver)||void 0===t||t.disconnect(),this.parentRemovalObserver=void 0}onDragStart(){this.ionDragStart.emit()}onDragMove(t){this.ionDragMove.emit(t)}onDragEnd(t){this.ionDragEnd.emit(t)}getSafeAreaContext(){return{isSheetModal:this.isSheetModal,isCardModal:void 0!==this.presentingElement&&"ios"===$(this),presentingElement:this.presentingElement,breakpoints:this.breakpoints,currentBreakpoint:this.currentBreakpoint}}setInitialSafeAreaOverrides(){const t=this.getSafeAreaContext(),i=(t=>{const{isSheetModal:i,isCardModal:o}=t;return i?{top:"0px",bottom:"inherit",left:"0px",right:"0px"}:o?{top:"inherit",bottom:"inherit",left:"0px",right:"0px"}:H&&H.matchMedia("(min-width: 768px) and (min-height: 600px)").matches?{top:"0px",bottom:"0px",left:"0px",right:"0px"}:{top:"inherit",bottom:"inherit",left:"inherit",right:"inherit"}})(t);ht(this.el,i),t.isSheetModal&&this.updateSheetOffsetTop()}updateSheetOffsetTop(){const t=(()=>{if(null!==nt)return nt;const t=null==H?void 0:H.document;if(!(null==t?void 0:t.body))return 0;const i=t.createElement("div");i.style.cssText="position:fixed;visibility:hidden;pointer-events:none;top:0;left:0;padding-top:var(--ion-safe-area-top,0px);",t.body.appendChild(i);const o=parseFloat(getComputedStyle(i).paddingTop)||0;return i.remove(),nt=o,dt||(dt=!0,g((()=>{nt=null,dt=!1}))),o})();this.el.style.setProperty("--ion-modal-offset-top",`${t}px`)}updateSafeAreaOverrides(){const{wrapperEl:t,el:i}=this,o=this.getSafeAreaContext();if(o.isSheetModal)return;if(o.isCardModal)return;if(!t)return;const e=(t=>{var i,o;const e=t.getBoundingClientRect(),a=null!==(i=null==H?void 0:H.innerHeight)&&void 0!==i?i:0,r=null!==(o=null==H?void 0:H.innerWidth)&&void 0!==o?o:0;return{top:e.top<=5?"inherit":"0px",bottom:e.bottom>=a-5?"inherit":"0px",left:e.left<=5?"inherit":"0px",right:e.right>=r-5?"inherit":"0px"}})(t);ht(i,e)}applyFullscreenSafeArea(){const{wrapperEl:t,el:i}=this;if(!t)return;const o=this.getSafeAreaContext();if(o.isSheetModal||o.isCardModal)return;let e=!1,a=!1;for(const t of Array.from(i.children)){"ION-CONTENT"===t.tagName&&(e=!0),"ION-FOOTER"===t.tagName&&(a=!0);for(const i of Array.from(t.children))"ION-CONTENT"===i.tagName&&(e=!0),"ION-FOOTER"===i.tagName&&(a=!0)}e&&!a&&(t.style.setProperty("height","calc(var(--height) - var(--ion-safe-area-bottom, 0px))"),t.style.setProperty("padding-bottom","var(--ion-safe-area-bottom, 0px)"))}cleanupSafeAreaOverrides(){var t;(t=this.el).style.removeProperty("--ion-safe-area-top"),t.style.removeProperty("--ion-safe-area-bottom"),t.style.removeProperty("--ion-safe-area-left"),t.style.removeProperty("--ion-safe-area-right"),this.el.style.removeProperty("--ion-modal-offset-top"),this.wrapperEl&&(this.wrapperEl.style.removeProperty("height"),this.wrapperEl.style.removeProperty("padding-bottom"))}render(){const{handle:t,isSheetModal:i,presentingElement:o,htmlAttributes:e,handleBehavior:a,inheritedAttributes:r,focusTrap:d,expandToScroll:h}=this,l=!1!==t&&i,p=$(this),c=void 0!==o&&"ios"===p,m="cycle"===a;return s(n,Object.assign({key:"1a53e8f87532abccc169ca4b24973a39c5f9ba16","no-router":!0,tabIndex:m&&i&&l?0:-1},e,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign({[p]:!0,"modal-default":!c&&!i,"modal-card":c,"modal-sheet":i,"modal-no-expand-scroll":i&&!h,"overlay-hidden":!0,[C]:!1===d},N(this.cssClass)),onIonBackdropTap:this.onBackdropTap,onIonModalDidPresent:this.onLifecycle,onIonModalWillPresent:this.onLifecycle,onIonModalWillDismiss:this.onLifecycle,onIonModalDidDismiss:this.onLifecycle,onFocus:this.onModalFocus}),s("ion-backdrop",{key:"fa8e0a436c0d458331402e1850f87af3dc97b582",ref:t=>this.backdropEl=t,visible:this.showBackdrop,tappable:this.backdropDismiss,part:"backdrop"}),"ios"===p&&s("div",{key:"f00de6027d3c8b5bc93db3b0f7a50a87628d40bb",class:"modal-shadow"}),s("div",Object.assign({key:"ae5e33bd6c58e541edb2edbca92420ea02dd5175",role:"dialog"},r,{"aria-modal":"true",class:"modal-wrapper ion-overlay-wrapper",part:"content",ref:t=>this.wrapperEl=t}),l&&s("button",{key:"141cdd8f8522331f4b764e2a4d79ec6596b1eb3a",class:"modal-handle",tabIndex:m?0:-1,"aria-label":"Activate to adjust the size of the dialog overlaying the screen",onClick:m?this.onHandleClick:void 0,part:"handle",ref:t=>this.dragHandleEl=t}),s("slot",{key:"7de20298b61abee67a16d275c9ebd9a25ce7dd26",onSlotchange:this.onSlotChange})))}get el(){return this}static get watchers(){return{isOpen:[{onIsOpenChange:0}],trigger:[{triggerChanged:0}]}}static get style(){return{ios:':host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);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);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}',md:':host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);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);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}'}}},[289,"ion-modal",{hasController:[4,"has-controller"],overlayIndex:[2,"overlay-index"],delegate:[16],keyboardClose:[4,"keyboard-close"],enterAnimation:[16],leaveAnimation:[16],breakpoints:[16],expandToScroll:[4,"expand-to-scroll"],initialBreakpoint:[2,"initial-breakpoint"],backdropBreakpoint:[2,"backdrop-breakpoint"],handle:[4],handleBehavior:[1,"handle-behavior"],component:[1],componentProps:[16],cssClass:[1,"css-class"],backdropDismiss:[4,"backdrop-dismiss"],showBackdrop:[4,"show-backdrop"],animated:[4],presentingElement:[16],htmlAttributes:[16],isOpen:[4,"is-open"],trigger:[1],keepContentsMounted:[4,"keep-contents-mounted"],focusTrap:[4,"focus-trap"],canDismiss:[4,"can-dismiss"],isSheetModal:[32],presented:[32],present:[64],dismiss:[64],onDidDismiss:[64],onWillDismiss:[64],setCurrentBreakpoint:[64],getCurrentBreakpoint:[64]},[[9,"resize","onWindowResize"]],{isOpen:[{onIsOpenChange:0}],trigger:[{triggerChanged:0}]}]),pt={ionModalDidPresent:"ionViewDidEnter",ionModalWillPresent:"ionViewWillEnter",ionModalWillDismiss:"ionViewWillLeave",ionModalDidDismiss:"ionViewDidLeave"};function ct(){"undefined"!=typeof customElements&&["ion-modal","ion-backdrop"].forEach((t=>{switch(t){case"ion-modal":customElements.get(d(t))||customElements.define(d(t),lt);break;case"ion-backdrop":customElements.get(d(t))||V()}}))}export{lt as M,ct as d}
|