@ionic/core 8.7.4-dev.11756465095.1387c832 → 8.7.4-dev.11756888693.1b2f4d4a
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-datetime.js +3 -4
- package/components/ion-menu.js +2 -5
- package/components/overlays.js +109 -18
- package/components/picker-column-option.js +4 -4
- package/components/picker-column.js +39 -3
- package/components/select-modal.js +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/ion-alert.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-loading.cjs.entry.js +1 -1
- package/dist/cjs/ion-menu_3.cjs.entry.js +3 -6
- package/dist/cjs/ion-modal.cjs.entry.js +1 -1
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -4
- package/dist/cjs/ion-picker-column.cjs.entry.js +39 -3
- package/dist/cjs/ion-popover.cjs.entry.js +1 -1
- package/dist/cjs/ion-select-modal.cjs.entry.js +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-toast.cjs.entry.js +1 -1
- package/dist/cjs/{overlays-Di-PotkY.js → overlays-cmlYi6Sc.js} +108 -17
- package/dist/collection/components/datetime/datetime.js +3 -4
- package/dist/collection/components/menu/menu.js +2 -9
- package/dist/collection/components/picker-column/picker-column.js +39 -3
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +2 -2
- package/dist/collection/components/picker-column-option/picker-column-option.js +1 -1
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +2 -2
- package/dist/collection/components/select-modal/select-modal.ionic.css +4 -0
- package/dist/collection/utils/overlays.js +109 -17
- package/dist/docs.json +1 -5
- package/dist/esm/index.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +1 -1
- package/dist/esm/ion-alert.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +4 -4
- package/dist/esm/ion-loading.entry.js +1 -1
- package/dist/esm/ion-menu_3.entry.js +3 -6
- package/dist/esm/ion-modal.entry.js +1 -1
- package/dist/esm/ion-picker-column-option.entry.js +4 -4
- package/dist/esm/ion-picker-column.entry.js +39 -3
- package/dist/esm/ion-popover.entry.js +1 -1
- package/dist/esm/ion-select-modal.entry.js +2 -2
- package/dist/esm/ion-select_3.entry.js +1 -1
- package/dist/esm/ion-toast.entry.js +1 -1
- package/dist/esm/{overlays-B1-bMbOY.js → overlays-e6TpXUJS.js} +109 -18
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-f0e88837.entry.js → p-0cffd1bf.entry.js} +1 -1
- package/dist/ionic/{p-fcba862e.entry.js → p-1fd86237.entry.js} +1 -1
- package/dist/ionic/{p-db20a452.entry.js → p-34198a78.entry.js} +1 -1
- package/dist/ionic/p-417569b5.entry.js +4 -0
- package/dist/ionic/p-45b08f61.entry.js +4 -0
- package/dist/ionic/p-63b6f13f.entry.js +4 -0
- package/dist/ionic/p-80de7b65.entry.js +4 -0
- package/dist/ionic/{p-00239ebc.entry.js → p-9d9584bd.entry.js} +1 -1
- package/dist/ionic/p-9f1d66d0.entry.js +4 -0
- package/dist/ionic/p-DkI7cEUN.js +4 -0
- package/dist/ionic/{p-c847a353.entry.js → p-bfad272a.entry.js} +1 -1
- package/dist/ionic/{p-361408bb.entry.js → p-d45f502a.entry.js} +1 -1
- package/dist/ionic/{p-3b1c39cf.entry.js → p-f116e723.entry.js} +1 -1
- package/dist/types/components/picker-column/picker-column.d.ts +7 -0
- package/hydrate/index.js +157 -33
- package/hydrate/index.mjs +157 -33
- package/package.json +2 -2
- package/dist/ionic/p-47b803fc.entry.js +0 -4
- package/dist/ionic/p-66b83d63.entry.js +0 -4
- package/dist/ionic/p-9e575e4e.entry.js +0 -4
- package/dist/ionic/p-CKq50gmC.js +0 -4
- package/dist/ionic/p-a953afe2.entry.js +0 -4
- package/dist/ionic/p-f4d11cbb.entry.js +0 -4
package/hydrate/index.mjs
CHANGED
|
@@ -6508,17 +6508,15 @@ const getPresentedOverlay = (doc, overlayTag, id) => {
|
|
|
6508
6508
|
*/
|
|
6509
6509
|
const setRootAriaHidden = (hidden = false) => {
|
|
6510
6510
|
const root = getAppRoot(document);
|
|
6511
|
-
const viewContainer = root.querySelector('ion-router-outlet, #ion-view-container-root');
|
|
6511
|
+
const viewContainer = root.querySelector('ion-router-outlet, ion-nav, #ion-view-container-root');
|
|
6512
6512
|
if (!viewContainer) {
|
|
6513
6513
|
return;
|
|
6514
6514
|
}
|
|
6515
6515
|
if (hidden) {
|
|
6516
6516
|
viewContainer.setAttribute('aria-hidden', 'true');
|
|
6517
|
-
viewContainer.setAttribute('inert', '');
|
|
6518
6517
|
}
|
|
6519
6518
|
else {
|
|
6520
6519
|
viewContainer.removeAttribute('aria-hidden');
|
|
6521
|
-
viewContainer.removeAttribute('inert');
|
|
6522
6520
|
}
|
|
6523
6521
|
};
|
|
6524
6522
|
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
@@ -6526,17 +6524,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
6526
6524
|
if (overlay.presented) {
|
|
6527
6525
|
return;
|
|
6528
6526
|
}
|
|
6529
|
-
/**
|
|
6530
|
-
* When an overlay that steals focus
|
|
6531
|
-
* is dismissed, focus should be returned
|
|
6532
|
-
* to the element that was focused
|
|
6533
|
-
* prior to the overlay opening. Toast
|
|
6534
|
-
* does not steal focus and is excluded
|
|
6535
|
-
* from returning focus as a result.
|
|
6536
|
-
*/
|
|
6537
|
-
if (overlay.el.tagName !== 'ION-TOAST') {
|
|
6538
|
-
restoreElementFocus(overlay.el);
|
|
6539
|
-
}
|
|
6540
6527
|
/**
|
|
6541
6528
|
* Due to accessibility guidelines, toasts do not have
|
|
6542
6529
|
* focus traps.
|
|
@@ -6548,6 +6535,8 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
6548
6535
|
setRootAriaHidden(true);
|
|
6549
6536
|
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
6550
6537
|
}
|
|
6538
|
+
hideUnderlyingOverlaysFromScreenReaders(overlay.el);
|
|
6539
|
+
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
6551
6540
|
overlay.presented = true;
|
|
6552
6541
|
overlay.willPresent.emit();
|
|
6553
6542
|
(_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
|
|
@@ -6561,6 +6550,17 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
6561
6550
|
overlay.didPresent.emit();
|
|
6562
6551
|
(_b = overlay.didPresentShorthand) === null || _b === void 0 ? void 0 : _b.emit();
|
|
6563
6552
|
}
|
|
6553
|
+
/**
|
|
6554
|
+
* When an overlay that steals focus
|
|
6555
|
+
* is dismissed, focus should be returned
|
|
6556
|
+
* to the element that was focused
|
|
6557
|
+
* prior to the overlay opening. Toast
|
|
6558
|
+
* does not steal focus and is excluded
|
|
6559
|
+
* from returning focus as a result.
|
|
6560
|
+
*/
|
|
6561
|
+
if (overlay.el.tagName !== 'ION-TOAST') {
|
|
6562
|
+
restoreElementFocus(overlay.el);
|
|
6563
|
+
}
|
|
6564
6564
|
/**
|
|
6565
6565
|
* If the focused element is already
|
|
6566
6566
|
* inside the overlay component then
|
|
@@ -6583,7 +6583,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
6583
6583
|
* screen readers.
|
|
6584
6584
|
*/
|
|
6585
6585
|
overlay.el.removeAttribute('aria-hidden');
|
|
6586
|
-
overlay.el.removeAttribute('inert');
|
|
6587
6586
|
};
|
|
6588
6587
|
/**
|
|
6589
6588
|
* When an overlay component is dismissed,
|
|
@@ -6600,8 +6599,6 @@ const restoreElementFocus = async (overlayEl) => {
|
|
|
6600
6599
|
if (!previousElement) {
|
|
6601
6600
|
return;
|
|
6602
6601
|
}
|
|
6603
|
-
// Ensure active element is blurred to prevent a11y warning issues
|
|
6604
|
-
previousElement.blur();
|
|
6605
6602
|
const shadowRoot = previousElement === null || previousElement === void 0 ? void 0 : previousElement.shadowRoot;
|
|
6606
6603
|
if (shadowRoot) {
|
|
6607
6604
|
// If there are no inner focusable elements, just focus the host element.
|
|
@@ -6665,6 +6662,12 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
6665
6662
|
}
|
|
6666
6663
|
overlay.presented = false;
|
|
6667
6664
|
try {
|
|
6665
|
+
/**
|
|
6666
|
+
* There is no need to show the overlay to screen readers during
|
|
6667
|
+
* the dismiss animation. This is because the overlay will be removed
|
|
6668
|
+
* from the DOM after the animation is complete.
|
|
6669
|
+
*/
|
|
6670
|
+
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
6668
6671
|
// Overlay contents should not be clickable during dismiss
|
|
6669
6672
|
overlay.el.style.setProperty('pointer-events', 'none');
|
|
6670
6673
|
overlay.willDismiss.emit({ data, role });
|
|
@@ -6703,6 +6706,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
6703
6706
|
printIonError(`[${overlay.el.tagName.toLowerCase()}] - `, err);
|
|
6704
6707
|
}
|
|
6705
6708
|
overlay.el.remove();
|
|
6709
|
+
revealOverlaysToScreenReaders();
|
|
6706
6710
|
return true;
|
|
6707
6711
|
};
|
|
6708
6712
|
const getAppRoot = (doc) => {
|
|
@@ -6899,6 +6903,93 @@ const createTriggerController = () => {
|
|
|
6899
6903
|
removeClickListener,
|
|
6900
6904
|
};
|
|
6901
6905
|
};
|
|
6906
|
+
/**
|
|
6907
|
+
* The overlay that is being animated also needs to hide from screen
|
|
6908
|
+
* readers during its animation. This ensures that assistive technologies
|
|
6909
|
+
* like TalkBack do not announce or interact with the content until the
|
|
6910
|
+
* animation is complete, avoiding confusion for users.
|
|
6911
|
+
*
|
|
6912
|
+
* When the overlay is presented on an Android device, TalkBack's focus rings
|
|
6913
|
+
* may appear in the wrong position due to the transition (specifically
|
|
6914
|
+
* `transform` styles). This occurs because the focus rings are initially
|
|
6915
|
+
* displayed at the starting position of the elements before the transition
|
|
6916
|
+
* begins. This workaround ensures the focus rings do not appear in the
|
|
6917
|
+
* incorrect location.
|
|
6918
|
+
*
|
|
6919
|
+
* If this solution is applied to iOS devices, then it leads to a bug where
|
|
6920
|
+
* the overlays cannot be accessed by screen readers. This is due to
|
|
6921
|
+
* VoiceOver not being able to update the accessibility tree when the
|
|
6922
|
+
* `aria-hidden` is removed.
|
|
6923
|
+
*
|
|
6924
|
+
* @param overlay - The overlay that is being animated.
|
|
6925
|
+
*/
|
|
6926
|
+
const hideAnimatingOverlayFromScreenReaders = (overlay) => {
|
|
6927
|
+
if (doc === undefined)
|
|
6928
|
+
return;
|
|
6929
|
+
if (isPlatform('android')) {
|
|
6930
|
+
/**
|
|
6931
|
+
* Once the animation is complete, this attribute will be removed.
|
|
6932
|
+
* This is done at the end of the `present` method.
|
|
6933
|
+
*/
|
|
6934
|
+
overlay.setAttribute('aria-hidden', 'true');
|
|
6935
|
+
}
|
|
6936
|
+
};
|
|
6937
|
+
/**
|
|
6938
|
+
* Ensure that underlying overlays have aria-hidden if necessary so that screen readers
|
|
6939
|
+
* cannot move focus to these elements. Note that we cannot rely on focus/focusin/focusout
|
|
6940
|
+
* events here because those events do not fire when the screen readers moves to a non-focusable
|
|
6941
|
+
* element such as text.
|
|
6942
|
+
* Without this logic screen readers would be able to move focus outside of the top focus-trapped overlay.
|
|
6943
|
+
*
|
|
6944
|
+
* @param newTopMostOverlay - The overlay that is being presented. Since the overlay has not been
|
|
6945
|
+
* fully presented yet at the time this function is called it will not be included in the getPresentedOverlays result.
|
|
6946
|
+
*/
|
|
6947
|
+
const hideUnderlyingOverlaysFromScreenReaders = (newTopMostOverlay) => {
|
|
6948
|
+
var _a;
|
|
6949
|
+
if (doc === undefined)
|
|
6950
|
+
return;
|
|
6951
|
+
const overlays = getPresentedOverlays(doc);
|
|
6952
|
+
for (let i = overlays.length - 1; i >= 0; i--) {
|
|
6953
|
+
const presentedOverlay = overlays[i];
|
|
6954
|
+
const nextPresentedOverlay = (_a = overlays[i + 1]) !== null && _a !== void 0 ? _a : newTopMostOverlay;
|
|
6955
|
+
/**
|
|
6956
|
+
* If next overlay has aria-hidden then all remaining overlays will have it too.
|
|
6957
|
+
* Or, if the next overlay is a Toast that does not have aria-hidden then current overlay
|
|
6958
|
+
* should not have aria-hidden either so focus can remain in the current overlay.
|
|
6959
|
+
*/
|
|
6960
|
+
if (nextPresentedOverlay.hasAttribute('aria-hidden') || nextPresentedOverlay.tagName !== 'ION-TOAST') {
|
|
6961
|
+
presentedOverlay.setAttribute('aria-hidden', 'true');
|
|
6962
|
+
}
|
|
6963
|
+
}
|
|
6964
|
+
};
|
|
6965
|
+
/**
|
|
6966
|
+
* When dismissing an overlay we need to reveal the new top-most overlay to screen readers.
|
|
6967
|
+
* If the top-most overlay is a Toast we potentially need to reveal more overlays since
|
|
6968
|
+
* focus is never automatically moved to the Toast.
|
|
6969
|
+
*/
|
|
6970
|
+
const revealOverlaysToScreenReaders = () => {
|
|
6971
|
+
if (doc === undefined)
|
|
6972
|
+
return;
|
|
6973
|
+
const overlays = getPresentedOverlays(doc);
|
|
6974
|
+
for (let i = overlays.length - 1; i >= 0; i--) {
|
|
6975
|
+
const currentOverlay = overlays[i];
|
|
6976
|
+
/**
|
|
6977
|
+
* If the current we are looking at is a Toast then we can remove aria-hidden.
|
|
6978
|
+
* However, we potentially need to keep looking at the overlay stack because there
|
|
6979
|
+
* could be more Toasts underneath. Additionally, we need to unhide the closest non-Toast
|
|
6980
|
+
* overlay too so focus can move there since focus is never automatically moved to the Toast.
|
|
6981
|
+
*/
|
|
6982
|
+
currentOverlay.removeAttribute('aria-hidden');
|
|
6983
|
+
/**
|
|
6984
|
+
* If we found a non-Toast element then we can just remove aria-hidden and stop searching entirely
|
|
6985
|
+
* since this overlay should always receive focus. As a result, all underlying overlays should still
|
|
6986
|
+
* be hidden from screen readers.
|
|
6987
|
+
*/
|
|
6988
|
+
if (currentOverlay.tagName !== 'ION-TOAST') {
|
|
6989
|
+
break;
|
|
6990
|
+
}
|
|
6991
|
+
}
|
|
6992
|
+
};
|
|
6902
6993
|
const FOCUS_TRAP_DISABLE_CLASS = 'ion-disable-focus-trap';
|
|
6903
6994
|
|
|
6904
6995
|
let animationPrefix;
|
|
@@ -14013,7 +14104,7 @@ class Datetime {
|
|
|
14013
14104
|
const renderArray = forcePresentation === 'time-date'
|
|
14014
14105
|
? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
|
|
14015
14106
|
: [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
|
|
14016
|
-
return hAsync("ion-picker",
|
|
14107
|
+
return hAsync("ion-picker", null, renderArray);
|
|
14017
14108
|
}
|
|
14018
14109
|
renderDatePickerColumns(forcePresentation) {
|
|
14019
14110
|
return forcePresentation === 'date-time' || forcePresentation === 'time-date'
|
|
@@ -14640,7 +14731,7 @@ class Datetime {
|
|
|
14640
14731
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
14641
14732
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
14642
14733
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
14643
|
-
return (hAsync(Host, { key: '
|
|
14734
|
+
return (hAsync(Host, { key: '40f8732998d123ef5c700080cc423bb8310654d5', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
|
|
14644
14735
|
[theme]: true,
|
|
14645
14736
|
['datetime-readonly']: readonly,
|
|
14646
14737
|
['datetime-disabled']: disabled,
|
|
@@ -14650,7 +14741,7 @@ class Datetime {
|
|
|
14650
14741
|
[`datetime-size-${size}`]: true,
|
|
14651
14742
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
14652
14743
|
[`datetime-grid`]: isGridStyle,
|
|
14653
|
-
})) }, hAsync("div", { key: '
|
|
14744
|
+
})) }, hAsync("div", { key: '0a323aa4e3cd9c96495d0dc3bf7985c8723f5e8c', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
|
|
14654
14745
|
}
|
|
14655
14746
|
get el() { return getElement(this); }
|
|
14656
14747
|
static get watchers() { return {
|
|
@@ -21002,9 +21093,6 @@ class Menu {
|
|
|
21002
21093
|
* @param role The role of the element that is closing the menu.
|
|
21003
21094
|
*/
|
|
21004
21095
|
setOpen(shouldOpen, animated = true, role) {
|
|
21005
|
-
var _a;
|
|
21006
|
-
// Blur the active element to prevent it from being kept focused inside an element that will be set with aria-hidden="true"
|
|
21007
|
-
(_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.blur();
|
|
21008
21096
|
return menuController._setOpen(this, shouldOpen, animated, role);
|
|
21009
21097
|
}
|
|
21010
21098
|
trapKeyboardFocus(ev, doc) {
|
|
@@ -21367,14 +21455,14 @@ class Menu {
|
|
|
21367
21455
|
* the ionBackButton listener in the menu controller
|
|
21368
21456
|
* will handle closing the menu when Escape is pressed.
|
|
21369
21457
|
*/
|
|
21370
|
-
return (hAsync(Host, { key: '
|
|
21458
|
+
return (hAsync(Host, { key: 'b0e4627dc1a53c796913d3da9b7575f0d69086d0', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
21371
21459
|
[theme]: true,
|
|
21372
21460
|
[`menu-type-${type}`]: true,
|
|
21373
21461
|
'menu-enabled': !disabled,
|
|
21374
21462
|
[`menu-side-${side}`]: true,
|
|
21375
21463
|
'menu-pane-visible': isPaneVisible,
|
|
21376
21464
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
21377
|
-
} }, hAsync("div", { key: '
|
|
21465
|
+
} }, hAsync("div", { key: '6733a5a84b2bcb8f52fb2bac1c286ab5ac1a9321', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: 'a527ba8092d9eb1ee570f3bdd47c6d4d35cd4dfd' })), hAsync("ion-backdrop", { key: '693c82c16d5110cc08eb651309d092a848329cc1', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
|
|
21378
21466
|
}
|
|
21379
21467
|
get el() { return getElement(this); }
|
|
21380
21468
|
static get watchers() { return {
|
|
@@ -26572,6 +26660,23 @@ class PickerColumn {
|
|
|
26572
26660
|
var _a;
|
|
26573
26661
|
return el ? (_a = el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : el.innerText : '';
|
|
26574
26662
|
};
|
|
26663
|
+
/**
|
|
26664
|
+
* Render an element that overlays the column. This element is for assistive
|
|
26665
|
+
* tech to allow users to navigate the column up/down. This element should receive
|
|
26666
|
+
* focus as it listens for synthesized keyboard events as required by the
|
|
26667
|
+
* slider role: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/slider_role
|
|
26668
|
+
*/
|
|
26669
|
+
this.renderAssistiveFocusable = () => {
|
|
26670
|
+
const { activeItem } = this;
|
|
26671
|
+
const valueText = this.getOptionValueText(activeItem);
|
|
26672
|
+
/**
|
|
26673
|
+
* When using the picker, the valuetext provides important context that valuenow
|
|
26674
|
+
* does not. Additionally, using non-zero valuemin/valuemax values can cause
|
|
26675
|
+
* WebKit to incorrectly announce numeric valuetext values (such as a year
|
|
26676
|
+
* like "2024") as percentages: https://bugs.webkit.org/show_bug.cgi?id=273126
|
|
26677
|
+
*/
|
|
26678
|
+
return (hAsync("div", { ref: (el) => (this.assistiveFocusable = el), class: "assistive-focusable", role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": valueText, "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }));
|
|
26679
|
+
};
|
|
26575
26680
|
}
|
|
26576
26681
|
ariaLabelChanged(newValue) {
|
|
26577
26682
|
this.ariaLabel = newValue;
|
|
@@ -26712,14 +26817,33 @@ class PickerColumn {
|
|
|
26712
26817
|
render() {
|
|
26713
26818
|
const { color, disabled, isActive, numericInput } = this;
|
|
26714
26819
|
const theme = getIonTheme(this);
|
|
26715
|
-
return (hAsync(Host, { key: '
|
|
26820
|
+
return (hAsync(Host, { key: '03736b14a79aaadec0f7bdac8b61584bd87ccad0', class: createColorClasses$1(color, {
|
|
26716
26821
|
[theme]: true,
|
|
26717
26822
|
['picker-column-active']: isActive,
|
|
26718
26823
|
['picker-column-numeric-input']: numericInput,
|
|
26719
26824
|
['picker-column-disabled']: disabled,
|
|
26720
|
-
}) }, hAsync("slot", { key: '
|
|
26825
|
+
}) }, this.renderAssistiveFocusable(), hAsync("slot", { key: '68c982ebabe6549bda8473b5e75fe1a2a5bfac02', name: "prefix" }), hAsync("div", { key: '9347af6d92c2743262627f0e22cd2ab6e36697fa', "aria-hidden": "true", class: "picker-opts", ref: (el) => {
|
|
26721
26826
|
this.scrollEl = el;
|
|
26722
|
-
},
|
|
26827
|
+
},
|
|
26828
|
+
/**
|
|
26829
|
+
* When an element has an overlay scroll style and
|
|
26830
|
+
* a fixed height, Firefox will focus the scrollable
|
|
26831
|
+
* container if the content exceeds the container's
|
|
26832
|
+
* dimensions.
|
|
26833
|
+
*
|
|
26834
|
+
* This causes keyboard navigation to focus to this
|
|
26835
|
+
* element instead of going to the next element in
|
|
26836
|
+
* the tab order.
|
|
26837
|
+
*
|
|
26838
|
+
* The desired behavior is for the user to be able to
|
|
26839
|
+
* focus the assistive focusable element and tab to
|
|
26840
|
+
* the next element in the tab order. Instead of tabbing
|
|
26841
|
+
* to this element.
|
|
26842
|
+
*
|
|
26843
|
+
* To prevent this, we set the tabIndex to -1. This
|
|
26844
|
+
* will match the behavior of the other browsers.
|
|
26845
|
+
*/
|
|
26846
|
+
tabIndex: -1 }, hAsync("div", { key: '48aa739ea118e6c6c92dd32aa669afc8cbc9bbd9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '4c5acf2374d2ad96c3cc0e927023d2ba8615ce4d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'ae5cad7c4deeb08619d4021dfa1f2ba7d0cd9c09', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: '076bb7a8359908369b56ad8021d812fa0d094f5b' }), hAsync("div", { key: '7cf4d0a8d32a9c304fbdb7469c2a5528b91744b9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '2c6585e2091abc2b83dc77c419d5a8a4d317f499', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '2ee73069dede56b1edc0adfd3037ff0f83389c3e', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: 'f704bf80e0a0c91d0a50114cba974bbb9d7937d1', name: "suffix" })));
|
|
26723
26847
|
}
|
|
26724
26848
|
get el() { return getElement(this); }
|
|
26725
26849
|
static get watchers() { return {
|
|
@@ -27111,11 +27235,11 @@ const DECELERATION_FRICTION = 0.97;
|
|
|
27111
27235
|
const MAX_PICKER_SPEED = 90;
|
|
27112
27236
|
const TRANSITION_DURATION = 150;
|
|
27113
27237
|
|
|
27114
|
-
const ionicPickerColumnOptionMdCss = "
|
|
27238
|
+
const ionicPickerColumnOptionMdCss = "button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}:host(.option-active){color:var(--ion-color-base)}";
|
|
27115
27239
|
|
|
27116
|
-
const pickerColumnOptionIosCss = "
|
|
27240
|
+
const pickerColumnOptionIosCss = "button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}";
|
|
27117
27241
|
|
|
27118
|
-
const pickerColumnOptionMdCss = "
|
|
27242
|
+
const pickerColumnOptionMdCss = "button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}:host(.option-active){color:var(--ion-color-base)}";
|
|
27119
27243
|
|
|
27120
27244
|
/**
|
|
27121
27245
|
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
@@ -27211,7 +27335,7 @@ class PickerColumnOption {
|
|
|
27211
27335
|
return (hAsync(Host, { key: '9ceebae71b6df0b01f36691d82d716f6756625d9', class: createColorClasses$1(color, {
|
|
27212
27336
|
[theme]: true,
|
|
27213
27337
|
['option-disabled']: disabled,
|
|
27214
|
-
}) }, hAsync("
|
|
27338
|
+
}) }, hAsync("button", { key: 'f6b973f486688a74a08b60c09ab41b640e49db6b', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'ff9607efb6a87c60c9421c32c81612e4650c6862' }))));
|
|
27215
27339
|
}
|
|
27216
27340
|
get el() { return getElement(this); }
|
|
27217
27341
|
static get watchers() { return {
|
|
@@ -35285,7 +35409,7 @@ const textForValue = (opts, value, compareWith) => {
|
|
|
35285
35409
|
let selectIds = 0;
|
|
35286
35410
|
const OPTION_CLASS = 'select-interface-option';
|
|
35287
35411
|
|
|
35288
|
-
const selectModalIonicCss = ".sc-ion-select-modal-ionic-h{height:100%}ion-item.sc-ion-select-modal-ionic{--border-width:0}ion-toolbar.sc-ion-select-modal-ionic{font-size:var(--ion-font-size-450, 1.125rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-700, var(--ion-scale-700, 28px));text-decoration:none;text-transform:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~=\"container\"]{display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~=\"label\"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~=\"label\"],ion-list.sc-ion-select-modal-ionic ion-checkbox.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-checkbox.sc-ion-select-modal-ionic [part~=\"label\"]{font-size:var(--ion-font-size-400, 1rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-600, var(--ion-scale-600, 24px));text-decoration:none;text-transform:none}.item-radio-checked.sc-ion-select-modal-ionic,.item-checkbox-checked.sc-ion-select-modal-ionic{--background:var(--ion-semantics-primary-100, var(--ion-primitives-blue-100, #f2f4fd));--border-radius:var(--ion-border-radius-400, var(--ion-scale-400, 16px))}ion-content.sc-ion-select-modal-ionic{--padding-start:var(--ion-space-400, var(--ion-scale-400, 16px)) !important;--padding-end:var(--ion-space-400, var(--ion-scale-400, 16px)) !important;--padding-bottom:var(--ion-space-1200, var(--ion-scale-1200, 48px)) !important}";
|
|
35412
|
+
const selectModalIonicCss = ".sc-ion-select-modal-ionic-h{height:100%}ion-item.sc-ion-select-modal-ionic{--border-width:0}ion-item.ion-focused.sc-ion-select-modal-ionic::part(native)::after,ion-item.ion-focused.sc-ion-select-modal-ionic [part~=\"native\"]::after{border:none}ion-toolbar.sc-ion-select-modal-ionic{font-size:var(--ion-font-size-450, 1.125rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-700, var(--ion-scale-700, 28px));text-decoration:none;text-transform:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~=\"container\"]{display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~=\"label\"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~=\"label\"],ion-list.sc-ion-select-modal-ionic ion-checkbox.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-checkbox.sc-ion-select-modal-ionic [part~=\"label\"]{font-size:var(--ion-font-size-400, 1rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-600, var(--ion-scale-600, 24px));text-decoration:none;text-transform:none}.item-radio-checked.sc-ion-select-modal-ionic,.item-checkbox-checked.sc-ion-select-modal-ionic{--background:var(--ion-semantics-primary-100, var(--ion-primitives-blue-100, #f2f4fd));--border-radius:var(--ion-border-radius-400, var(--ion-scale-400, 16px))}ion-content.sc-ion-select-modal-ionic{--padding-start:var(--ion-space-400, var(--ion-scale-400, 16px)) !important;--padding-end:var(--ion-space-400, var(--ion-scale-400, 16px)) !important;--padding-bottom:var(--ion-space-1200, var(--ion-scale-1200, 48px)) !important}";
|
|
35289
35413
|
|
|
35290
35414
|
const selectModalIosCss = ".sc-ion-select-modal-ios-h{height:100%}ion-item.sc-ion-select-modal-ios{--inner-padding-end:0}ion-radio.sc-ion-select-modal-ios::after{bottom:0;position:absolute;width:calc(100% - 0.9375rem - 16px);border-width:0px 0px 0.55px 0px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));content:\"\"}ion-radio.sc-ion-select-modal-ios::after{inset-inline-start:calc(0.9375rem + 16px)}";
|
|
35291
35415
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ionic/core",
|
|
3
|
-
"version": "8.7.4-dev.
|
|
3
|
+
"version": "8.7.4-dev.11756888693.1b2f4d4a",
|
|
4
4
|
"description": "Base components for Ionic",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ionic",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@clack/prompts": "^0.11.0",
|
|
46
46
|
"@ionic/eslint-config": "^0.3.0",
|
|
47
47
|
"@ionic/prettier-config": "^2.0.0",
|
|
48
|
-
"@playwright/test": "^1.
|
|
48
|
+
"@playwright/test": "^1.54.2",
|
|
49
49
|
"@rollup/plugin-node-resolve": "^8.4.0",
|
|
50
50
|
"@rollup/plugin-virtual": "^2.0.3",
|
|
51
51
|
"@stencil/angular-output-target": "^0.10.0",
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{r as o,h as i,i as e,d as n,g as t}from"./p-4DxY6_gG.js";import{b as a}from"./p-Cdv0TJ6-.js";import{s as c}from"./p-CKq50gmC.js";import{g as s}from"./p-DiVJyqlX.js";import"./p-DuV7rU9I.js";import"./p-vXpMhGrs.js";import"./p-CqYDGaCK.js";import"./p-BTEOs1at.js";const r=class{constructor(i){o(this,i),this.options=[]}closeModal(){const o=this.el.closest("ion-modal");o&&o.dismiss()}findOptionFromEvent(o){const{options:i}=this;return i.find((i=>i.value===o.target.value))}getValues(o){const{multiple:i,options:e}=this;if(i)return e.filter((o=>o.checked)).map((o=>o.value));const n=o?this.findOptionFromEvent(o):null;return n?n.value:void 0}callOptionHandler(o){const i=this.findOptionFromEvent(o),e=this.getValues(o);(null==i?void 0:i.handler)&&c(i.handler,e)}setChecked(o){const{multiple:i}=this,e=this.findOptionFromEvent(o);i&&e&&(e.checked=o.detail.checked)}renderRadioOptions(){const o=this.options.filter((o=>o.checked)).map((o=>o.value))[0];return i("ion-radio-group",{value:o,onIonChange:o=>this.callOptionHandler(o)},this.options.map((e=>i("ion-item",{lines:"none",class:Object.assign({"item-radio-checked":e.value===o},s(e.cssClass))},i("ion-radio",{value:e.value,disabled:e.disabled,justify:"start",labelPlacement:"end",onClick:()=>this.closeModal(),onKeyUp:o=>{" "===o.key&&this.closeModal()}},e.text)))))}renderCheckboxOptions(){return this.options.map((o=>i("ion-item",{class:Object.assign({"item-checkbox-checked":o.checked},s(o.cssClass))},i("ion-checkbox",{value:o.value,disabled:o.disabled,checked:o.checked,justify:"start",labelPlacement:"end",onIonChange:o=>{this.setChecked(o),this.callOptionHandler(o),e(this)}},o.text))))}render(){return i(n,{key:"deaaaca03648144676358193315e71cb9bc4ceb2",class:a(this)},i("ion-header",{key:"05c4d1b433f902da8e01ba65f833a9399b3d562a"},i("ion-toolbar",{key:"ee89ea93574da163e3b662bd17dade69cf3de865"},void 0!==this.header&&i("ion-title",{key:"18b4ce602cae9ddfae0d2519c89281ecff58dfb1"},this.header),i("ion-buttons",{key:"4c3104688b9581d6e55924ecdd71693ecccfb9db",slot:"end"},i("ion-button",{key:"d17d2f02ba76fae4f22a837c7d95ed4994f44668",onClick:()=>this.closeModal()},"Close")))),i("ion-content",{key:"1ac2a04128b9ede077a03223690626508b3678d0"},i("ion-list",{key:"3a3cd9814d2d434fee4f746dfa41e544accc195f"},!0===this.multiple?this.renderCheckboxOptions():this.renderRadioOptions())))}get el(){return t(this)}};r.style={ionic:'.sc-ion-select-modal-ionic-h{height:100%}ion-item.sc-ion-select-modal-ionic{--border-width:0}ion-toolbar.sc-ion-select-modal-ionic{font-size:var(--ion-font-size-450, 1.125rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-700, var(--ion-scale-700, 28px));text-decoration:none;text-transform:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="container"]{display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="label"],ion-list.sc-ion-select-modal-ionic ion-checkbox.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-checkbox.sc-ion-select-modal-ionic [part~="label"]{font-size:var(--ion-font-size-400, 1rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-600, var(--ion-scale-600, 24px));text-decoration:none;text-transform:none}.item-radio-checked.sc-ion-select-modal-ionic,.item-checkbox-checked.sc-ion-select-modal-ionic{--background:var(--ion-semantics-primary-100, var(--ion-primitives-blue-100, #f2f4fd));--border-radius:var(--ion-border-radius-400, var(--ion-scale-400, 16px))}ion-content.sc-ion-select-modal-ionic{--padding-start:var(--ion-space-400, var(--ion-scale-400, 16px)) !important;--padding-end:var(--ion-space-400, var(--ion-scale-400, 16px)) !important;--padding-bottom:var(--ion-space-1200, var(--ion-scale-1200, 48px)) !important}',ios:'.sc-ion-select-modal-ios-h{height:100%}ion-item.sc-ion-select-modal-ios{--inner-padding-end:0}ion-radio.sc-ion-select-modal-ios::after{bottom:0;position:absolute;width:calc(100% - 0.9375rem - 16px);border-width:0px 0px 0.55px 0px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));content:""}ion-radio.sc-ion-select-modal-ios::after{inset-inline-start:calc(0.9375rem + 16px)}',md:'.sc-ion-select-modal-md-h{height:100%}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(container),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="container"]{display:none}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(label),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}'};export{r as ion_select_modal}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{r as e,c as t,e as i,j as n,h as o,d as r,g as a}from"./p-4DxY6_gG.js";import{g as s}from"./p-hHmYLOfE.js";import{o as d,B as h,n as l,q as m,G as p}from"./p-CKq50gmC.js";import{G as c}from"./p-BTEOs1at.js";import{b as u,a as b,c as f,s as g}from"./p-Cdv0TJ6-.js";import{o as v,i as x,l as w,e as y}from"./p-DuV7rU9I.js";import{m as k}from"./p-EG6i47Uw.js";import{h as z,c as C}from"./p-DiVJyqlX.js";import{l as j}from"./p-Dhi5xtNS.js";import{u as S,v as A}from"./p-COG0_eom.js";import"./p-CqYDGaCK.js";import"./p-vXpMhGrs.js";import"./p-CVVzZviS.js";const D=class{constructor(i){e(this,i),this.ionWillOpen=t(this,"ionWillOpen",7),this.ionWillClose=t(this,"ionWillClose",7),this.ionDidOpen=t(this,"ionDidOpen",7),this.ionDidClose=t(this,"ionDidClose",7),this.ionMenuChange=t(this,"ionMenuChange",7),this.lastOnEnd=0,this.blocker=c.createBlocker({disableScroll:!0}),this.didLoad=!1,this.operationCancelled=!1,this.isAnimating=!1,this._isOpen=!1,this.inheritedAttributes={},this.handleFocus=e=>{const t=d(document);t&&!t.contains(this.el)||this.trapKeyboardFocus(e,document)},this.isPaneVisible=!1,this.isEndSide=!1,this.disabled=!1,this.side="start",this.swipeGesture=!0,this.maxEdgeStart=50}typeChanged(e,t){const i=this.contentEl;i&&(void 0!==t&&i.classList.remove(`menu-content-${t}`),i.classList.add(`menu-content-${e}`),i.removeAttribute("style")),this.menuInnerEl&&this.menuInnerEl.removeAttribute("style"),this.animation=void 0}disabledChanged(){this.updateState(),this.ionMenuChange.emit({disabled:this.disabled,open:this._isOpen})}sideChanged(){this.isEndSide=v(this.side),this.animation=void 0}swipeGestureChanged(){this.updateState()}async connectedCallback(){"undefined"!=typeof customElements&&null!=customElements&&await customElements.whenDefined("ion-menu"),void 0===this.type&&(this.type=i.get("menuType","overlay"));const e=void 0!==this.contentId?document.getElementById(this.contentId):null;null!==e?(this.el.contains(e)&&n('[ion-menu] - The "contentId" should refer to the main view\'s ion-content, not the ion-content inside of the ion-menu.'),this.contentEl=e,e.classList.add("menu-content"),this.typeChanged(this.type,void 0),this.sideChanged(),k._register(this),this.menuChanged(),this.gesture=(await import("./p-Cl0B-RWe.js")).createGesture({el:document,gestureName:"menu-swipe",gesturePriority:30,threshold:10,blurOnStart:!0,canStart:e=>this.canStart(e),onWillStart:()=>this.onWillStart(),onStart:()=>this.onStart(),onMove:e=>this.onMove(e),onEnd:e=>this.onEnd(e)}),this.updateState()):n('[ion-menu] - Must have a "content" element to listen for drag events on.')}componentWillLoad(){this.inheritedAttributes=x(this.el)}async componentDidLoad(){this.didLoad=!0;const e=this.el.closest("ion-split-pane");null!==e&&(this.isPaneVisible=await e.isVisible()),this.menuChanged(),this.updateState()}menuChanged(){this.didLoad&&this.ionMenuChange.emit({disabled:this.disabled,open:this._isOpen})}async disconnectedCallback(){await this.close(!1),this.blocker.destroy(),k._unregister(this),this.animation&&this.animation.destroy(),this.gesture&&(this.gesture.destroy(),this.gesture=void 0),this.animation=void 0,this.contentEl=void 0}onSplitPaneChanged(e){const t=this.el.closest("ion-split-pane");null!==t&&t===e.target&&(this.isPaneVisible=e.detail.visible,this.updateState())}onBackdropClick(e){this._isOpen&&this.lastOnEnd<e.timeStamp-100&&e.composedPath&&!e.composedPath().includes(this.menuInnerEl)&&(e.preventDefault(),e.stopPropagation(),this.close(void 0,h))}onKeydown(e){"Escape"===e.key&&this.close(void 0,h)}isOpen(){return Promise.resolve(this._isOpen)}isActive(){return Promise.resolve(this._isActive())}open(e=!0){return this.setOpen(!0,e)}close(e=!0,t){return this.setOpen(!1,e,t)}toggle(e=!0){return this.setOpen(!this._isOpen,e)}setOpen(e,t=!0,i){var n;return null===(n=document.activeElement)||void 0===n||n.blur(),k._setOpen(this,e,t,i)}trapKeyboardFocus(e,t){const i=e.target;if(i)if(this.el.contains(i))this.lastFocus=i;else{const{el:e}=this;l(e),this.lastFocus===t.activeElement&&m(e)}}async _setOpen(e,t=!0,i){return!(!this._isActive()||this.isAnimating||e===this._isOpen||(this.beforeAnimation(e,i),await this.loadAnimation(),await this.startAnimation(e,t),this.operationCancelled?(this.operationCancelled=!1,1):(this.afterAnimation(e,i),0)))}async loadAnimation(){const e=this.menuInnerEl.offsetWidth,t=v(this.side);if(e===this.width&&void 0!==this.animation&&t===this.isEndSide)return;this.width=e,this.isEndSide=t,this.animation&&(this.animation.destroy(),this.animation=void 0);const n=this.animation=await k._createAnimation(this.type,this);i.getBoolean("animated",!0)||n.duration(0),n.fill("both")}async startAnimation(e,t){const i=!e,n=u(this),o="ios"===n?"cubic-bezier(0.32,0.72,0,1)":"cubic-bezier(0.0,0.0,0.2,1)",r="ios"===n?"cubic-bezier(1, 0, 0.68, 0.28)":"cubic-bezier(0.4, 0, 0.6, 1)",a=this.animation.direction(i?"reverse":"normal").easing(i?r:o);t?await a.play():a.play({sync:!0}),"reverse"===a.getDirection()&&a.direction("normal")}_isActive(){return!this.disabled&&!this.isPaneVisible}canSwipe(){return this.swipeGesture&&!this.isAnimating&&this._isActive()}canStart(e){return!(document.querySelector("ion-modal.show-modal")||!this.canSwipe())&&(!!this._isOpen||!k._getOpenSync()&&O(window,e.currentX,this.isEndSide,this.maxEdgeStart))}onWillStart(){return this.beforeAnimation(!this._isOpen,p),this.loadAnimation()}onStart(){this.isAnimating&&this.animation?this.animation.progressStart(!0,this._isOpen?1:0):w(!1,"isAnimating has to be true")}onMove(e){if(!this.isAnimating||!this.animation)return void w(!1,"isAnimating has to be true");const t=G(e.deltaX,this._isOpen,this.isEndSide)/this.width;this.animation.progressStep(this._isOpen?1-t:t)}onEnd(e){if(!this.isAnimating||!this.animation)return void w(!1,"isAnimating has to be true");const t=this._isOpen,i=this.isEndSide,n=G(e.deltaX,t,i),o=this.width,r=n/o,a=e.velocityX,d=o/2,h=a>=0&&(a>.2||e.deltaX>d),l=a<=0&&(a<-.2||e.deltaX<-d),m=t?i?h:l:i?l:h;let c=!t&&m;t&&!m&&(c=!0),this.lastOnEnd=e.currentTime;let u=m?.001:-.001;u+=s([0,0],[.4,0],[.6,1],[1,1],y(0,r<0?.01:r,.9999))[0]||0;const b=this._isOpen?!m:m;this.animation.easing("cubic-bezier(0.4, 0.0, 0.6, 1)").onFinish((()=>this.afterAnimation(c,p)),{oneTimeCallback:!0}).progressEnd(b?1:0,this._isOpen?1-u:u,300)}beforeAnimation(e,t){w(!this.isAnimating,"_before() should not be called while animating"),b("android")&&this.el.setAttribute("aria-hidden","true"),this.el.classList.add(_),this.el.setAttribute("tabindex","0"),this.backdropEl&&this.backdropEl.classList.add(E),this.contentEl&&(this.contentEl.classList.add(X),this.contentEl.setAttribute("aria-hidden","true")),this.blocker.block(),this.isAnimating=!0,e?this.ionWillOpen.emit():this.ionWillClose.emit({role:t})}afterAnimation(e,t){var i;this._isOpen=e,this.isAnimating=!1,this._isOpen||this.blocker.unblock(),e?(b("android")&&this.el.removeAttribute("aria-hidden"),this.ionDidOpen.emit(),(null===(i=document.activeElement)||void 0===i?void 0:i.closest("ion-menu"))!==this.el&&this.el.focus(),document.addEventListener("focus",this.handleFocus,!0)):(this.el.removeAttribute("aria-hidden"),this.el.classList.remove(_),this.el.removeAttribute("tabindex"),this.contentEl&&(this.contentEl.classList.remove(X),this.contentEl.removeAttribute("aria-hidden")),this.backdropEl&&this.backdropEl.classList.remove(E),this.animation&&this.animation.stop(),this.ionDidClose.emit({role:t}),document.removeEventListener("focus",this.handleFocus,!0))}updateState(){const e=this._isActive();this.gesture&&this.gesture.enable(e&&this.swipeGesture),e||(this.isAnimating&&(this.operationCancelled=!0),this.afterAnimation(!1,p))}render(){const{type:e,disabled:t,el:i,isPaneVisible:n,inheritedAttributes:a,side:s}=this,d=f(this);return o(r,{key:"12bd2c4e9aa2f314ffc45d7f43290bd9910ca8b0",onKeyDown:g()?null:this.onKeydown,role:"navigation","aria-label":a["aria-label"]||"menu",class:{[d]:!0,[`menu-type-${e}`]:!0,"menu-enabled":!t,[`menu-side-${s}`]:!0,"menu-pane-visible":n,"split-pane-side":z("ion-split-pane",i)}},o("div",{key:"d43e12f2502ae5da847eb0d2a70d0a3945733739",class:"menu-inner",part:"container",ref:e=>this.menuInnerEl=e},o("slot",{key:"19977e6584bdbb5b01e6e0a4a7f4558087175b33"})),o("ion-backdrop",{key:"22e79a7edca409248bd3637474d6783f1d7de1b3",ref:e=>this.backdropEl=e,class:"menu-backdrop",tappable:!1,stopPropagation:!1,part:"backdrop"}))}get el(){return a(this)}static get watchers(){return{type:["typeChanged"],disabled:["disabledChanged"],side:["sideChanged"],swipeGesture:["swipeGestureChanged"]}}},G=(e,t,i)=>Math.max(0,t!==i?-e:e),O=(e,t,i,n)=>i?t>=e.innerWidth-n:t<=n,_="show-menu",E="show-backdrop",X="menu-content-open";D.style={ionic:":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);right:0;left:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){right:0;left:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{right:0;left:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}",ios:":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);right:0;left:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){right:0;left:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{right:0;left:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}",md:":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);right:0;left:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){right:0;left:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{right:0;left:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}"};const W=async e=>{const t=await k.get(e);return!(!t||!await t.isActive())},M=class{constructor(t){e(this,t),this.inheritedAttributes={},this.visible=!1,this.disabled=!1,this.autoHide=!0,this.type="button",this.onClick=async()=>k.toggle(this.menu)}componentWillLoad(){this.inheritedAttributes=x(this.el)}componentDidLoad(){this.visibilityChanged()}async visibilityChanged(){this.visible=await W(this.menu)}get menuIcon(){const e=f(this),t={ios:A,ionic:j,md:S};return i.get("menuIcon",t[e]||t.md)}render(){const{color:e,disabled:t,inheritedAttributes:i,menuIcon:n}=this,a=f(this),s=this.autoHide&&!this.visible,d={type:this.type},h=i["aria-label"]||"menu";return o(r,{key:"206b8482b58e7ee49ea89393a15e9cf30578297b",onClick:this.onClick,"aria-disabled":t?"true":null,"aria-hidden":s?"true":null,class:C(e,{[a]:!0,button:!0,"menu-button-hidden":s,"menu-button-disabled":t,"in-toolbar":z("ion-toolbar",this.el),"in-toolbar-color":z("ion-toolbar[color]",this.el),"ion-activatable":!0,"ion-focusable":!0})},o("button",Object.assign({key:"33017f0cde4835383f65b82f24e088dc2cf46517"},d,{disabled:t,class:"button-native",part:"native","aria-label":h}),o("span",{key:"63aadc2910f7fd7ae070fe108822c51441dd8ea5",class:"button-inner"},o("slot",{key:"6696b67329bdf6a0a7db0739d16717eb9ffc5f3b"},o("ion-icon",{key:"7f88dd0caa7003db810bce76189ecbaba9ff6317",part:"icon",icon:n,lazy:!1,"aria-hidden":"true"}))),"md"===a&&o("ion-ripple-effect",{key:"1a2063529bb63cc055fb4bb7d1ad3032df2a74b4",type:"unbounded"})))}get el(){return a(this)}};M.style={ionic:':host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;width:100%;height:100%;min-height:inherit;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{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;width:100%;height:100%;min-height:inherit;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{right:0;left:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:0.12;--background-hover:currentColor;--background-hover-opacity:0.04;--border-radius:initial;--color:initial;--padding-start:0;--padding-end:0;position:relative;width:var(--ion-scale-1000, 40px);height:var(--ion-scale-1000, 40px);font-size:var(--ion-font-size-600, 1.5rem)}',ios:':host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;width:100%;height:100%;min-height:inherit;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{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;width:100%;height:100%;min-height:inherit;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{right:0;left:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host{--background-focused:currentColor;--background-focused-opacity:0.1;--border-radius:4px;--color:var(--ion-color-primary, #0054e9);--padding-start:5px;--padding-end:5px;min-height:32px;font-size:clamp(31px, 1.9375rem, 38.13px)}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}',md:':host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;width:100%;height:100%;min-height:inherit;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{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;width:100%;height:100%;min-height:inherit;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{right:0;left:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host{--background-focused:currentColor;--background-focused-opacity:0.12;--background-hover:currentColor;--background-hover-opacity:0.04;--border-radius:50%;--color:initial;--padding-start:8px;--padding-end:8px;width:3rem;height:3rem;font-size:1.5rem}:host(.ion-color.ion-focused)::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}'};const P=class{constructor(t){e(this,t),this.visible=!1,this.autoHide=!0,this.onClick=()=>k.toggle(this.menu)}connectedCallback(){this.visibilityChanged()}async visibilityChanged(){this.visible=await W(this.menu)}render(){const e=f(this),t=this.autoHide&&!this.visible;return o(r,{key:"c3ddce789a90d720769919ebf854d05cc75f599e",onClick:this.onClick,"aria-hidden":t?"true":null,class:{[e]:!0,"menu-toggle-hidden":t}},o("slot",{key:"f1334ba9d20148b673a0b6185ab5ef92f448f720"}))}};P.style=":host(.menu-toggle-hidden){display:none}";export{D as ion_menu,M as ion_menu_button,P as ion_menu_toggle}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{r as i,c as t,h as e,d as s,g as n}from"./p-4DxY6_gG.js";import{a as o,c as a,d as r}from"./p-Cdv0TJ6-.js";import{r as l,g as d}from"./p-DuV7rU9I.js";import{b as c,a as h,h as p}from"./p-BYYLxYDJ.js";import{c as u}from"./p-DiVJyqlX.js";import"./p-vXpMhGrs.js";import"./p-Ex5J81sy.js";const f=class{constructor(e){i(this,e),this.ionChange=t(this,"ionChange",7),this.isScrolling=!1,this.isColumnVisible=!1,this.canExitInputMode=!0,this.updateValueTextOnScroll=!1,this.ariaLabel=null,this.isActive=!1,this.disabled=!1,this.color="primary",this.numericInput=!1,this.centerPickerItemInView=(i,t=!0,e=!0)=>{const{isColumnVisible:s,scrollEl:n}=this;if(s&&n){const s=i.offsetTop-3*i.clientHeight+i.clientHeight/2;n.scrollTop!==s&&(this.canExitInputMode=e,this.updateValueTextOnScroll=!1,n.scroll({top:s,left:0,behavior:t?"smooth":void 0}))}},this.setPickerItemActiveState=(i,t)=>{t?i.classList.add(m):i.classList.remove(m)},this.inputModeChange=i=>{if(!this.numericInput)return;const{useInputMode:t,inputModeColumn:e}=i.detail;this.setInputModeActive(!(!t||void 0!==e&&e!==this.el))},this.setInputModeActive=i=>{this.isScrolling?this.scrollEndCallback=()=>{this.isActive=i}:this.isActive=i},this.initializeScrollListener=()=>{const i=o("ios"),{el:t,scrollEl:e}=this;let s,n=this.activeItem;const a=()=>{l((()=>{var o;if(!e)return;s&&(clearTimeout(s),s=void 0),this.isScrolling||(i&&c(),this.isScrolling=!0);const a=e.getBoundingClientRect(),l=a.x+a.width/2,d=a.y+a.height/2,u=t.getRootNode(),f=u instanceof ShadowRoot?u:r;if(void 0===f)return;let m=f.elementsFromPoint(l,d).find((i=>"ION-PICKER-COLUMN-OPTION"===i.tagName));if(void 0===m){const i=f.elementFromPoint(l,d);"ION-PICKER-COLUMN-OPTION"===(null==i?void 0:i.tagName)&&(m=i)}void 0!==n&&this.setPickerItemActiveState(n,!1),void 0===m||m.disabled||(m!==n&&(i&&h(),this.canExitInputMode&&this.exitInputMode()),n=m,this.setPickerItemActiveState(m,!0),this.updateValueTextOnScroll&&(null===(o=this.assistiveFocusable)||void 0===o||o.setAttribute("aria-valuetext",this.getOptionValueText(m))),s=setTimeout((()=>{this.isScrolling=!1,this.updateValueTextOnScroll=!0,i&&p();const{scrollEndCallback:t}=this;t&&(t(),this.scrollEndCallback=void 0),this.canExitInputMode=!0,this.setValue(m.value)}),250))}))};l((()=>{e&&(e.addEventListener("scroll",a),this.destroyScrollListener=()=>{e.removeEventListener("scroll",a)})}))},this.exitInputMode=()=>{const{parentEl:i}=this;null!=i&&(i.exitInputMode(),this.el.classList.remove("picker-column-active"))},this.findNextOption=(i=1)=>{const{activeItem:t}=this;if(!t)return null;let e=t,s=t.nextElementSibling;for(;null!=s;){if(i>0&&i--,"ION-PICKER-COLUMN-OPTION"===s.tagName&&!s.disabled&&0===i)return s;e=s,s=s.nextElementSibling}return e},this.findPreviousOption=(i=1)=>{const{activeItem:t}=this;if(!t)return null;let e=t,s=t.previousElementSibling;for(;null!=s;){if(i>0&&i--,"ION-PICKER-COLUMN-OPTION"===s.tagName&&!s.disabled&&0===i)return s;e=s,s=s.previousElementSibling}return e},this.onKeyDown=i=>{const t=o("mobile");let e=null;switch(i.key){case"ArrowDown":e=t?this.findPreviousOption():this.findNextOption();break;case"ArrowUp":e=t?this.findNextOption():this.findPreviousOption();break;case"PageUp":e=t?this.findNextOption(5):this.findPreviousOption(5);break;case"PageDown":e=t?this.findPreviousOption(5):this.findNextOption(5);break;case"Home":e=this.el.querySelector("ion-picker-column-option:first-of-type");break;case"End":e=this.el.querySelector("ion-picker-column-option:last-of-type")}null!==e&&(this.setValue(e.value),i.preventDefault())},this.getOptionValueText=i=>{var t;return i?null!==(t=i.getAttribute("aria-label"))&&void 0!==t?t:i.innerText:""}}ariaLabelChanged(i){this.ariaLabel=i}valueChange(){this.isColumnVisible&&this.scrollActiveItemIntoView(!0)}componentWillLoad(){const i=this.parentEl=this.el.closest("ion-picker");new IntersectionObserver((i=>{if(i[i.length-1].isIntersecting){const{activeItem:i,el:t}=this;this.isColumnVisible=!0;const e=d(t).querySelector(`.${m}`);e&&this.setPickerItemActiveState(e,!1),this.scrollActiveItemIntoView(),i&&this.setPickerItemActiveState(i,!0),this.initializeScrollListener()}else this.isColumnVisible=!1,this.destroyScrollListener&&(this.destroyScrollListener(),this.destroyScrollListener=void 0)}),{threshold:.001,root:this.parentEl}).observe(this.el),null!==i&&i.addEventListener("ionInputModeChange",(i=>this.inputModeChange(i)))}componentDidRender(){const{el:i,activeItem:t,isColumnVisible:e,value:s}=this;if(e&&!t){const t=i.querySelector("ion-picker-column-option");null!==t&&t.value!==s&&this.setValue(t.value)}}async scrollActiveItemIntoView(i=!1){const t=this.activeItem;t&&this.centerPickerItemInView(t,i,!1)}async setValue(i){!0!==this.disabled&&this.value!==i&&(this.value=i,this.ionChange.emit({value:i}))}async setFocus(){this.assistiveFocusable&&this.assistiveFocusable.focus()}connectedCallback(){var i;this.ariaLabel=null!==(i=this.el.getAttribute("aria-label"))&&void 0!==i?i:"Select a value"}get activeItem(){const{value:i}=this;return Array.from(this.el.querySelectorAll("ion-picker-column-option")).find((t=>!(!this.disabled&&t.disabled)&&t.value===i))}render(){const{color:i,disabled:t,isActive:n,numericInput:o}=this,r=a(this);return e(s,{key:"7c9603b518a73f9883ff01464fe3f70c14b9059c",class:u(i,{[r]:!0,"picker-column-active":n,"picker-column-numeric-input":o,"picker-column-disabled":t})},e("slot",{key:"e98e79dd51550361131d59a8871fe2990dc40edc",name:"prefix"}),e("div",{key:"85894791c93da84401138285bf4fbb169897c3d6",class:"picker-opts",ref:i=>{this.scrollEl=i},role:"slider",tabindex:this.disabled?void 0:0,"aria-label":this.ariaLabel,"aria-valuemin":0,"aria-valuemax":0,"aria-valuenow":0,"aria-valuetext":this.getOptionValueText(this.activeItem),"aria-orientation":"vertical",onKeyDown:i=>this.onKeyDown(i)},e("div",{key:"d9546be214c2faf2340faf31d8468c2f39f31e4c",class:"picker-item-empty","aria-hidden":"true"}," "),e("div",{key:"47671f18a0a0659c0660b3b82d234e92b6dcc721",class:"picker-item-empty","aria-hidden":"true"}," "),e("div",{key:"f3fc8f9cfc67d0d0dfbf7c134524353297117170",class:"picker-item-empty","aria-hidden":"true"}," "),e("slot",{key:"4c30c1e5df5f1758978458dbd7e405a01d3118fe"}),e("div",{key:"4e71db05a18d645c6fa49d3a6e67a68cc374b868",class:"picker-item-empty","aria-hidden":"true"}," "),e("div",{key:"7fd2461759a92a6909ab514a14bdb41f7d2d16d5",class:"picker-item-empty","aria-hidden":"true"}," "),e("div",{key:"015fc0875e5e2df575810fd79635ed5a0f5a29dd",class:"picker-item-empty","aria-hidden":"true"}," ")),e("slot",{key:"d706a79b1b5b31dc1e358fe1d64b41a2104ea153",name:"suffix"}))}get el(){return n(this)}static get watchers(){return{"aria-label":["ariaLabelChanged"],value:["valueChange"]}}},m="option-active";f.style=":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{right:0;left:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";export{f as ion_picker_column}
|
package/dist/ionic/p-CKq50gmC.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{b as n,d as o,O as e,s as t}from"./p-Cdv0TJ6-.js";import{n as i,c as a,f as s,m as d,g as r}from"./p-DuV7rU9I.js";import{e as l,j as c,f as u}from"./p-4DxY6_gG.js";import{C as m}from"./p-CqYDGaCK.js";import{B as p}from"./p-BTEOs1at.js";const v='[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-checkbox:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-radio:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])',f=(n,o)=>{const e=n.querySelector(v);b(e,null!=o?o:n)},h=(n,o)=>{const e=Array.from(n.querySelectorAll(v));b(e.length>0?e[e.length-1]:null,null!=o?o:n)},b=(n,o)=>{let e=n;const t=null==n?void 0:n.shadowRoot;if(t&&(e=t.querySelector(v)||n),e){const n=e.closest("ion-radio-group");n?n.setFocus():i(e)}else o.focus()};let y=0,w=0;const g=new WeakMap,O=n=>({create:o=>B(n,o),dismiss:(o,e,t)=>P(document,o,e,n,t),getTop:async()=>M(document,n)}),x=O("ion-alert"),k=O("ion-action-sheet"),T=O("ion-loading"),j=O("ion-modal"),C=O("ion-picker-legacy"),A=O("ion-popover"),D=O("ion-toast"),I=n=>{"undefined"!=typeof document&&G(document);const o=y++;n.overlayIndex=o},S=n=>(n.hasAttribute("id")||(n.id="ion-overlay-"+ ++w),n.id),B=(n,o)=>"undefined"!=typeof window&&void 0!==window.customElements?window.customElements.whenDefined(n).then((()=>{const e=document.createElement(n);return e.classList.add("overlay-hidden"),Object.assign(e,Object.assign(Object.assign({},o),{hasController:!0})),L(document).appendChild(e),new Promise((n=>a(e,n)))})):Promise.resolve(),N=(n,o)=>{let e=n;const t=null==n?void 0:n.shadowRoot;t&&(e=t.querySelector(v)||n),e?i(e):o.focus()},G=n=>{0===y&&(y=1,n.addEventListener("focus",(o=>{((n,o)=>{const e=M(o,"ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover"),t=n.target;e&&t&&(e.classList.contains(Z)||(e.shadowRoot?(()=>{if(e.contains(t))e.lastFocus=t;else if("ION-TOAST"===t.tagName)N(e.lastFocus,e);else{const n=e.lastFocus;f(e),n===o.activeElement&&h(e),e.lastFocus=o.activeElement}})():(()=>{if(e===t)e.lastFocus=void 0;else if("ION-TOAST"===t.tagName)N(e.lastFocus,e);else{const n=r(e);if(!n.contains(t))return;const i=n.querySelector(".ion-overlay-wrapper");if(!i)return;if(i.contains(t)||t===n.querySelector("ion-backdrop"))e.lastFocus=t;else{const n=e.lastFocus;f(i,e),n===o.activeElement&&h(i,e),e.lastFocus=o.activeElement}}})()))})(o,n)}),!0),n.addEventListener("ionBackButton",(o=>{const t=M(n);(null==t?void 0:t.backdropDismiss)&&o.detail.register(e,(()=>{t.dismiss(void 0,U)}))})),t()||n.addEventListener("keydown",(o=>{if("Escape"===o.key){const o=M(n);(null==o?void 0:o.backdropDismiss)&&o.dismiss(void 0,U)}})))},P=(n,o,e,t,i)=>{const a=M(n,t,i);return a?a.dismiss(o,e):Promise.reject("overlay does not exist")},E=(n,o)=>((n,o)=>(void 0===o&&(o="ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover,ion-toast"),Array.from(n.querySelectorAll(o)).filter((n=>n.overlayIndex>0))))(n,o).filter((n=>!n.classList.contains("overlay-hidden"))),M=(n,o,e)=>{const t=E(n,o);return void 0===e?t[t.length-1]:t.find((n=>n.id===e))},V=(n=!1)=>{const o=L(document).querySelector("ion-router-outlet, #ion-view-container-root");o&&(n?(o.setAttribute("aria-hidden","true"),o.setAttribute("inert","")):(o.removeAttribute("aria-hidden"),o.removeAttribute("inert")))},$=async(o,e,t,i,a)=>{var s,d;if(o.presented)return;"ION-TOAST"!==o.el.tagName&&q(o.el),"ION-TOAST"!==o.el.tagName&&(V(!0),document.body.classList.add(p)),o.presented=!0,o.willPresent.emit(),null===(s=o.willPresentShorthand)||void 0===s||s.emit();const r=n(o),c=o.enterAnimation?o.enterAnimation:l.get(e,"ios"===r?t:i);await Y(o,c,o.el,a)&&(o.didPresent.emit(),null===(d=o.didPresentShorthand)||void 0===d||d.emit()),!o.keyboardClose||null!==document.activeElement&&o.el.contains(document.activeElement)||o.el.focus(),o.el.removeAttribute("aria-hidden"),o.el.removeAttribute("inert")},q=async n=>{let o=document.activeElement;if(!o)return;o.blur();const e=null==o?void 0:o.shadowRoot;e&&(o=e.querySelector(v)||o),await n.onDidDismiss(),null!==document.activeElement&&document.activeElement!==document.body||o.focus()},F=async(e,t,i,a,s,d,r)=>{var u,m;if(!e.presented)return!1;const v=(void 0!==o?E(o):[]).filter((n=>"ION-TOAST"!==n.tagName));1===v.length&&v[0].id===e.el.id&&(V(!1),document.body.classList.remove(p)),e.presented=!1;try{e.el.style.setProperty("pointer-events","none"),e.willDismiss.emit({data:t,role:i}),null===(u=e.willDismissShorthand)||void 0===u||u.emit({data:t,role:i});const o=n(e),c=e.leaveAnimation?e.leaveAnimation:l.get(a,"ios"===o?s:d);i!==W&&await Y(e,c,e.el,r),e.didDismiss.emit({data:t,role:i}),null===(m=e.didDismissShorthand)||void 0===m||m.emit({data:t,role:i}),(g.get(e)||[]).forEach((n=>n.destroy())),g.delete(e),e.el.classList.add("overlay-hidden"),e.el.style.removeProperty("pointer-events"),void 0!==e.el.lastFocus&&(e.el.lastFocus=void 0)}catch(n){c(`[${e.el.tagName.toLowerCase()}] - `,n)}return e.el.remove(),!0},L=n=>{const o=l.get("appRootSelector","ion-app");return n.querySelector(o)||n.body},Y=async(n,o,e,t)=>{e.classList.remove("overlay-hidden");const i=o(n.el,t);n.animated&&l.getBoolean("animated",!0)||i.duration(0),n.keyboardClose&&i.beforeAddWrite((()=>{const n=e.ownerDocument.activeElement;(null==n?void 0:n.matches("input,ion-input, ion-textarea"))&&n.blur()}));const a=g.get(n)||[];return g.set(n,[...a,i]),await i.play(),!0},_=(n,o)=>{let e;const t=new Promise((n=>e=n));return z(n,o,(n=>{e(n.detail)})),t},z=(n,o,e)=>{const t=i=>{d(n,o,t),e(i)};s(n,o,t)},J=n=>"cancel"===n||n===U,K=n=>n(),R=(n,o)=>{if("function"==typeof n)return l.get("_zoneGate",K)((()=>{try{return n(o)}catch(n){throw n}}))},U="backdrop",W="gesture",H=39,Q=n=>{let o,e=!1;const t=m(),i=(i=!1)=>{if(o&&!i)return{delegate:o,inline:e};const{el:a,hasController:s,delegate:d}=n;return e=null!==a.parentNode&&!s,o=e?d||t:d,{inline:e,delegate:o}};return{attachViewToDom:async o=>{const{delegate:e}=i(!0);if(e)return await e.attachViewToDom(n.el,o);const{hasController:t}=n;if(t&&void 0!==o)throw new Error("framework delegate is missing");return null},removeViewFromDom:()=>{const{delegate:o}=i();o&&void 0!==n.el&&o.removeViewFromDom(n.el.parentElement,n.el)}}},X=()=>{let n;const o=()=>{n&&(n(),n=void 0)};return{addClickListener:(e,t)=>{o();const i=void 0!==t?document.getElementById(t):null;i?n=((n,o)=>{const e=()=>{o.present()};return n.addEventListener("click",e),()=>{n.removeEventListener("click",e)}})(i,e):u(`[${e.tagName.toLowerCase()}] - A trigger element with the ID "${t}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.`,e)},removeClickListener:o}},Z="ion-disable-focus-trap";export{U as B,Z as F,W as G,H as O,x as a,k as b,A as c,Q as d,X as e,$ as f,F as g,_ as h,J as i,I as j,S as k,T as l,j as m,f as n,M as o,C as p,h as q,R as s,D as t}
|