@ionic/core 8.7.4 → 8.7.5-dev.11758560050.1d0c4f0a

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.
Files changed (45) hide show
  1. package/components/overlays.js +17 -12
  2. package/dist/cjs/index.cjs.js +1 -1
  3. package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
  4. package/dist/cjs/ion-alert.cjs.entry.js +1 -1
  5. package/dist/cjs/ion-datetime_3.cjs.entry.js +1 -1
  6. package/dist/cjs/ion-loading.cjs.entry.js +1 -1
  7. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  8. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  9. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  10. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  11. package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
  12. package/dist/cjs/ion-toast.cjs.entry.js +1 -1
  13. package/dist/cjs/{overlays-v_jc1Hok.js → overlays-CPUTc8An.js} +17 -12
  14. package/dist/collection/utils/overlays.js +17 -12
  15. package/dist/docs.json +1 -1
  16. package/dist/esm/index.js +1 -1
  17. package/dist/esm/ion-action-sheet.entry.js +1 -1
  18. package/dist/esm/ion-alert.entry.js +1 -1
  19. package/dist/esm/ion-datetime_3.entry.js +1 -1
  20. package/dist/esm/ion-loading.entry.js +1 -1
  21. package/dist/esm/ion-menu_3.entry.js +1 -1
  22. package/dist/esm/ion-modal.entry.js +1 -1
  23. package/dist/esm/ion-popover.entry.js +1 -1
  24. package/dist/esm/ion-select-modal.entry.js +1 -1
  25. package/dist/esm/ion-select_3.entry.js +1 -1
  26. package/dist/esm/ion-toast.entry.js +1 -1
  27. package/dist/esm/{overlays-BJaRj3Rj.js → overlays-BOalOTUe.js} +17 -12
  28. package/dist/ionic/index.esm.js +1 -1
  29. package/dist/ionic/ionic.esm.js +1 -1
  30. package/dist/ionic/{p-5a9be5a3.entry.js → p-12d04c28.entry.js} +1 -1
  31. package/dist/ionic/{p-22a0f820.entry.js → p-1bd0a347.entry.js} +1 -1
  32. package/dist/ionic/{p-2060feb1.entry.js → p-26ed5106.entry.js} +1 -1
  33. package/dist/ionic/{p-1ab0fc21.entry.js → p-2e1782af.entry.js} +1 -1
  34. package/dist/ionic/{p-89c2e0a3.entry.js → p-3f07313b.entry.js} +1 -1
  35. package/dist/ionic/{p-cd93c119.entry.js → p-4a95b96c.entry.js} +1 -1
  36. package/dist/ionic/{p-095073c6.entry.js → p-97f8294e.entry.js} +1 -1
  37. package/dist/ionic/p-JK8qe2uI.js +4 -0
  38. package/dist/ionic/{p-b17f0554.entry.js → p-de2bedb6.entry.js} +1 -1
  39. package/dist/ionic/{p-60ff6bf6.entry.js → p-f4dfce09.entry.js} +1 -1
  40. package/dist/ionic/p-fd46b48a.entry.js +4 -0
  41. package/hydrate/index.js +17 -12
  42. package/hydrate/index.mjs +17 -12
  43. package/package.json +1 -1
  44. package/dist/ionic/p-CoDfkBuk.js +0 -4
  45. package/dist/ionic/p-dc8d0bb9.entry.js +0 -4
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{r as i,c as t,e as o,h as n,d as a,g as e}from"./p-4DxY6_gG.js";import{E as s,a as r}from"./p-EnaLTYYj.js";import{r as d}from"./p-C-Cct-6D.js";import{c}from"./p-B-hirT0v.js";import{d as l,e as p,B as h,j as g,k as m,f as b,g as f,h as x}from"./p-JK8qe2uI.js";import{g as u}from"./p-DiVJyqlX.js";import{b as v}from"./p-Br3vSlYh.js";import{c as y}from"./p-C87oPMMF.js";import"./p-ZjP4CjeZ.js";import"./p-CvaZMP6T.js";import"./p-DAfH9Iif.js";import"./p-BTEOs1at.js";const k=i=>{const t=y(),o=y(),n=y();return o.addElement(i.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),n.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.01,transform:"scale(1.1)"},{offset:1,opacity:1,transform:"scale(1)"}]),t.addElement(i).easing("ease-in-out").duration(200).addAnimation([o,n])},w=i=>{const t=y(),o=y(),n=y();return o.addElement(i.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),n.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.99,transform:"scale(1)"},{offset:1,opacity:0,transform:"scale(0.9)"}]),t.addElement(i).easing("ease-in-out").duration(200).addAnimation([o,n])},j=i=>{const t=y(),o=y(),n=y();return o.addElement(i.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),n.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.01,transform:"scale(1.1)"},{offset:1,opacity:1,transform:"scale(1)"}]),t.addElement(i).easing("ease-in-out").duration(200).addAnimation([o,n])},D=i=>{const t=y(),o=y(),n=y();return o.addElement(i.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),n.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.99,transform:"scale(1)"},{offset:1,opacity:0,transform:"scale(0.9)"}]),t.addElement(i).easing("ease-in-out").duration(200).addAnimation([o,n])},L=class{constructor(n){i(this,n),this.didPresent=t(this,"ionLoadingDidPresent",7),this.willPresent=t(this,"ionLoadingWillPresent",7),this.willDismiss=t(this,"ionLoadingWillDismiss",7),this.didDismiss=t(this,"ionLoadingDidDismiss",7),this.didPresentShorthand=t(this,"didPresent",7),this.willPresentShorthand=t(this,"willPresent",7),this.willDismissShorthand=t(this,"willDismiss",7),this.didDismissShorthand=t(this,"didDismiss",7),this.delegateController=l(this),this.lockController=c(),this.triggerController=p(),this.customHTMLEnabled=o.get("innerHTMLTemplatesEnabled",s),this.presented=!1,this.hasController=!1,this.keyboardClose=!0,this.duration=0,this.backdropDismiss=!1,this.showBackdrop=!0,this.translucent=!1,this.animated=!0,this.isOpen=!1,this.onBackdropTap=()=>{this.dismiss(void 0,h)}}onIsOpenChange(i,t){!0===i&&!1===t?this.present():!1===i&&!0===t&&this.dismiss()}triggerChanged(){const{trigger:i,el:t,triggerController:o}=this;i&&o.addClickListener(t,i)}connectedCallback(){g(this.el),this.triggerChanged()}componentWillLoad(){var i;if(void 0===this.spinner){const i=v(this);this.spinner=o.get("loadingSpinner",o.get("spinner","ios"===i?"lines":"crescent"))}(null===(i=this.htmlAttributes)||void 0===i?void 0:i.id)||m(this.el)}componentDidLoad(){!0===this.isOpen&&d((()=>this.present())),this.triggerChanged()}disconnectedCallback(){this.triggerController.removeClickListener()}async present(){const i=await this.lockController.lock();await this.delegateController.attachViewToDom(),await b(this,"loadingEnter",k,j),this.duration>0&&(this.durationTimeout=setTimeout((()=>this.dismiss()),this.duration+10)),i()}async dismiss(i,t){const o=await this.lockController.lock();this.durationTimeout&&clearTimeout(this.durationTimeout);const n=await f(this,i,t,"loadingLeave",w,D);return n&&this.delegateController.removeViewFromDom(),o(),n}onDidDismiss(){return x(this.el,"ionLoadingDidDismiss")}onWillDismiss(){return x(this.el,"ionLoadingWillDismiss")}renderLoadingMessage(i){const{customHTMLEnabled:t,message:o}=this;return t?n("div",{class:"loading-content",id:i,innerHTML:r(o)}):n("div",{class:"loading-content",id:i},o)}render(){const{message:i,spinner:t,htmlAttributes:o,overlayIndex:e}=this,s=v(this),r=`loading-${e}-msg`;return n(a,Object.assign({key:"4497183ce220242abe19ae15f328f9a92ccafbbc",role:"dialog","aria-modal":"true","aria-labelledby":void 0!==i?r:null,tabindex:"-1"},o,{style:{zIndex:`${4e4+this.overlayIndex}`},onIonBackdropTap:this.onBackdropTap,class:Object.assign(Object.assign({},u(this.cssClass)),{[s]:!0,"overlay-hidden":!0,"loading-translucent":this.translucent})}),n("ion-backdrop",{key:"231dec84e424a2dc358ce95b84d6035cf43e4dea",visible:this.showBackdrop,tappable:this.backdropDismiss}),n("div",{key:"c9af29b6e6bb49a217396a5c874bbfb8835a926c",tabindex:"0","aria-hidden":"true"}),n("div",{key:"a8659863743cdeccbe1ba810eaabfd3ebfcb86f3",class:"loading-wrapper ion-overlay-wrapper"},t&&n("div",{key:"3b346f39bc71691bd8686556a1e142198a7b12fa",class:"loading-spinner"},n("ion-spinner",{key:"8dc2bf1556e5138e262827f1516c59ecd09f3520",name:t,"aria-hidden":"true"})),void 0!==i&&this.renderLoadingMessage(r)),n("div",{key:"054164c0dbae9a0e0973dd3c8e28f5b771820310",tabindex:"0","aria-hidden":"true"}))}get el(){return e(this)}static get watchers(){return{isOpen:["onIsOpenChange"],trigger:["triggerChanged"]}}};L.style={ios:".sc-ion-loading-ios-h{--min-width:auto;--width:auto;--min-height:auto;--height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-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-loading-ios-h{display:none}.loading-wrapper.sc-ion-loading-ios{display:-ms-flexbox;display:flex;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;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);opacity:0;z-index:10}ion-spinner.sc-ion-loading-ios{color:var(--spinner-color)}.sc-ion-loading-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--max-width:270px;--max-height:90%;--spinner-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);color:var(--ion-text-color, #000);font-size:0.875rem}.loading-wrapper.sc-ion-loading-ios{border-radius:8px;-webkit-padding-start:34px;padding-inline-start:34px;-webkit-padding-end:34px;padding-inline-end:34px;padding-top:24px;padding-bottom:24px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.loading-translucent.sc-ion-loading-ios-h .loading-wrapper.sc-ion-loading-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.loading-content.sc-ion-loading-ios{font-weight:bold}.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{-webkit-margin-start:16px;margin-inline-start:16px}",md:".sc-ion-loading-md-h{--min-width:auto;--width:auto;--min-height:auto;--height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-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-loading-md-h{display:none}.loading-wrapper.sc-ion-loading-md{display:-ms-flexbox;display:flex;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;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);opacity:0;z-index:10}ion-spinner.sc-ion-loading-md{color:var(--spinner-color)}.sc-ion-loading-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--max-width:280px;--max-height:90%;--spinner-color:var(--ion-color-primary, #0054e9);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:0.875rem}.loading-wrapper.sc-ion-loading-md{border-radius:2px;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px;padding-top:24px;padding-bottom:24px;-webkit-box-shadow:0 16px 20px rgba(0, 0, 0, 0.4);box-shadow:0 16px 20px rgba(0, 0, 0, 0.4)}.loading-spinner.sc-ion-loading-md+.loading-content.sc-ion-loading-md{-webkit-margin-start:16px;margin-inline-start:16px}"};export{L as ion_loading}
package/hydrate/index.js CHANGED
@@ -6195,9 +6195,13 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
6195
6195
  * focus traps.
6196
6196
  *
6197
6197
  * All other overlays should have focus traps to prevent
6198
- * the keyboard focus from leaving the overlay.
6198
+ * the keyboard focus from leaving the overlay unless
6199
+ * developers explicitly opt out (for example, sheet
6200
+ * modals that should permit background interaction).
6199
6201
  */
6200
- if (overlay.el.tagName !== 'ION-TOAST') {
6202
+ const overlayEl = overlay.el;
6203
+ const shouldTrapFocus = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false;
6204
+ if (shouldTrapFocus) {
6201
6205
  setRootAriaHidden(true);
6202
6206
  document.body.classList.add(BACKDROP_NO_SCROLL);
6203
6207
  }
@@ -6299,20 +6303,21 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
6299
6303
  * For accessibility, toasts lack focus traps and don't receive
6300
6304
  * `aria-hidden` on the root element when presented.
6301
6305
  *
6302
- * All other overlays use focus traps to keep keyboard focus
6303
- * within the overlay, setting `aria-hidden` on the root element
6304
- * to enhance accessibility.
6305
- *
6306
- * Therefore, we must remove `aria-hidden` from the root element
6307
- * when the last non-toast overlay is dismissed.
6306
+ * Overlays that opt into focus trapping set `aria-hidden`
6307
+ * on the root element to keep keyboard focus and pointer
6308
+ * events inside the overlay. We must remove `aria-hidden`
6309
+ * from the root element when the last focus-trapping overlay
6310
+ * is dismissed.
6308
6311
  */
6309
- const overlaysNotToast = presentedOverlays.filter((o) => o.tagName !== 'ION-TOAST');
6310
- const lastOverlayNotToast = overlaysNotToast.length === 1 && overlaysNotToast[0].id === overlay.el.id;
6312
+ const overlaysTrappingFocus = presentedOverlays.filter((o) => o.tagName !== 'ION-TOAST' && o.focusTrap !== false);
6313
+ const overlayEl = overlay.el;
6314
+ const trapsFocus = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false;
6311
6315
  /**
6312
- * If this is the last visible overlay that is not a toast
6316
+ * If this is the last visible overlay that is trapping focus
6313
6317
  * then we want to re-add the root to the accessibility tree.
6314
6318
  */
6315
- if (lastOverlayNotToast) {
6319
+ const lastOverlayTrappingFocus = trapsFocus && overlaysTrappingFocus.length === 1 && overlaysTrappingFocus[0].id === overlayEl.id;
6320
+ if (lastOverlayTrappingFocus) {
6316
6321
  setRootAriaHidden(false);
6317
6322
  document.body.classList.remove(BACKDROP_NO_SCROLL);
6318
6323
  }
package/hydrate/index.mjs CHANGED
@@ -6193,9 +6193,13 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
6193
6193
  * focus traps.
6194
6194
  *
6195
6195
  * All other overlays should have focus traps to prevent
6196
- * the keyboard focus from leaving the overlay.
6196
+ * the keyboard focus from leaving the overlay unless
6197
+ * developers explicitly opt out (for example, sheet
6198
+ * modals that should permit background interaction).
6197
6199
  */
6198
- if (overlay.el.tagName !== 'ION-TOAST') {
6200
+ const overlayEl = overlay.el;
6201
+ const shouldTrapFocus = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false;
6202
+ if (shouldTrapFocus) {
6199
6203
  setRootAriaHidden(true);
6200
6204
  document.body.classList.add(BACKDROP_NO_SCROLL);
6201
6205
  }
@@ -6297,20 +6301,21 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
6297
6301
  * For accessibility, toasts lack focus traps and don't receive
6298
6302
  * `aria-hidden` on the root element when presented.
6299
6303
  *
6300
- * All other overlays use focus traps to keep keyboard focus
6301
- * within the overlay, setting `aria-hidden` on the root element
6302
- * to enhance accessibility.
6303
- *
6304
- * Therefore, we must remove `aria-hidden` from the root element
6305
- * when the last non-toast overlay is dismissed.
6304
+ * Overlays that opt into focus trapping set `aria-hidden`
6305
+ * on the root element to keep keyboard focus and pointer
6306
+ * events inside the overlay. We must remove `aria-hidden`
6307
+ * from the root element when the last focus-trapping overlay
6308
+ * is dismissed.
6306
6309
  */
6307
- const overlaysNotToast = presentedOverlays.filter((o) => o.tagName !== 'ION-TOAST');
6308
- const lastOverlayNotToast = overlaysNotToast.length === 1 && overlaysNotToast[0].id === overlay.el.id;
6310
+ const overlaysTrappingFocus = presentedOverlays.filter((o) => o.tagName !== 'ION-TOAST' && o.focusTrap !== false);
6311
+ const overlayEl = overlay.el;
6312
+ const trapsFocus = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false;
6309
6313
  /**
6310
- * If this is the last visible overlay that is not a toast
6314
+ * If this is the last visible overlay that is trapping focus
6311
6315
  * then we want to re-add the root to the accessibility tree.
6312
6316
  */
6313
- if (lastOverlayNotToast) {
6317
+ const lastOverlayTrappingFocus = trapsFocus && overlaysTrappingFocus.length === 1 && overlaysTrappingFocus[0].id === overlayEl.id;
6318
+ if (lastOverlayTrappingFocus) {
6314
6319
  setRootAriaHidden(false);
6315
6320
  document.body.classList.remove(BACKDROP_NO_SCROLL);
6316
6321
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "8.7.4",
3
+ "version": "8.7.5-dev.11758560050.1d0c4f0a",
4
4
  "description": "Base components for Ionic",
5
5
  "keywords": [
6
6
  "ionic",
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{d as n}from"./p-ZjP4CjeZ.js";import{n as o,c as e,f as t,m as i,g as a}from"./p-C-Cct-6D.js";import{OVERLAY_BACK_BUTTON_PRIORITY as r,shouldUseCloseWatcher as s}from"./p-CvaZMP6T.js";import{e as d,j as l,f as c}from"./p-4DxY6_gG.js";import{b as u}from"./p-Br3vSlYh.js";import{C as m}from"./p-DAfH9Iif.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,e)=>{let t=n;const i=null==n?void 0:n.shadowRoot;if(i&&(t=i.querySelector(v)||n),t){const n=t.closest("ion-radio-group");n?n.setFocus():o(t)}else e.focus()};let y=0,w=0;const g=new WeakMap,O=n=>({create:o=>P(n,o),dismiss:(o,e,t)=>M(document,o,e,n,t),getTop:async()=>G(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&&N(document);const o=y++;n.overlayIndex=o},B=n=>(n.hasAttribute("id")||(n.id="ion-overlay-"+ ++w),n.id),P=(n,o)=>"undefined"!=typeof window&&void 0!==window.customElements?window.customElements.whenDefined(n).then((()=>{const t=document.createElement(n);return t.classList.add("overlay-hidden"),Object.assign(t,Object.assign(Object.assign({},o),{hasController:!0})),V(document).appendChild(t),new Promise((n=>e(t,n)))})):Promise.resolve(),S=(n,e)=>{let t=n;const i=null==n?void 0:n.shadowRoot;i&&(t=i.querySelector(v)||n),t?o(t):e.focus()},N=n=>{0===y&&(y=1,n.addEventListener("focus",(o=>{((n,o)=>{const e=G(o,"ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover"),t=n.target;e&&t&&(e.classList.contains(X)||(e.shadowRoot?(()=>{if(e.contains(t))e.lastFocus=t;else if("ION-TOAST"===t.tagName)S(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)S(e.lastFocus,e);else{const n=a(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 e=G(n);(null==e?void 0:e.backdropDismiss)&&o.detail.register(r,(()=>{e.dismiss(void 0,J)}))})),s()||n.addEventListener("keydown",(o=>{if("Escape"===o.key){const o=G(n);(null==o?void 0:o.backdropDismiss)&&o.dismiss(void 0,J)}})))},M=(n,o,e,t,i)=>{const a=G(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"))),G=(n,o,e)=>{const t=E(n,o);return void 0===e?t[t.length-1]:t.find((n=>n.id===e))},Z=(n=!1)=>{const o=V(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(n,o,e,t,i)=>{var a,r;if(n.presented)return;"ION-TOAST"!==n.el.tagName&&F(n.el),"ION-TOAST"!==n.el.tagName&&(Z(!0),document.body.classList.add(p)),n.presented=!0,n.willPresent.emit(),null===(a=n.willPresentShorthand)||void 0===a||a.emit();const s=u(n),l=n.enterAnimation?n.enterAnimation:d.get(o,"ios"===s?e:t);await Y(n,l,n.el,i)&&(n.didPresent.emit(),null===(r=n.didPresentShorthand)||void 0===r||r.emit()),!n.keyboardClose||null!==document.activeElement&&n.el.contains(document.activeElement)||n.el.focus(),n.el.removeAttribute("aria-hidden"),n.el.removeAttribute("inert")},F=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()},L=async(o,e,t,i,a,r,s)=>{var c,m;if(!o.presented)return!1;const v=(void 0!==n?E(n):[]).filter((n=>"ION-TOAST"!==n.tagName));1===v.length&&v[0].id===o.el.id&&(Z(!1),document.body.classList.remove(p)),o.presented=!1;try{o.el.style.setProperty("pointer-events","none"),o.willDismiss.emit({data:e,role:t}),null===(c=o.willDismissShorthand)||void 0===c||c.emit({data:e,role:t});const n=u(o),l=o.leaveAnimation?o.leaveAnimation:d.get(i,"ios"===n?a:r);t!==K&&await Y(o,l,o.el,s),o.didDismiss.emit({data:e,role:t}),null===(m=o.didDismissShorthand)||void 0===m||m.emit({data:e,role:t}),(g.get(o)||[]).forEach((n=>n.destroy())),g.delete(o),o.el.classList.add("overlay-hidden"),o.el.style.removeProperty("pointer-events"),void 0!==o.el.lastFocus&&(o.el.lastFocus=void 0)}catch(n){l(`[${o.el.tagName.toLowerCase()}] - `,n)}return o.el.remove(),!0},V=n=>n.querySelector("ion-app")||n.body,Y=async(n,o,e,t)=>{e.classList.remove("overlay-hidden");const i=o(n.el,t);n.animated&&d.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 q(n,o,(n=>{e(n.detail)})),t},q=(n,o,e)=>{const a=t=>{i(n,o,a),e(t)};t(n,o,a)},z=n=>"cancel"===n||n===J,H=n=>n(),W=(n,o)=>{if("function"==typeof n)return d.get("_zoneGate",H)((()=>{try{return n(o)}catch(n){throw n}}))},J="backdrop",K="gesture",Q=39,R=n=>{let o,e=!1;const t=m(),i=(i=!1)=>{if(o&&!i)return{delegate:o,inline:e};const{el:a,hasController:r,delegate:s}=n;return e=null!==a.parentNode&&!r,o=e?s||t:s,{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)}}},U=()=>{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):c(`[${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}},X="ion-disable-focus-trap";export{J as B,X as F,K as G,Q as O,x as a,k as b,A as c,R as d,U as e,$ as f,L as g,_ as h,z as i,I as j,B as k,T as l,j as m,f as n,G as o,C as p,h as q,W as s,D as t}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{r as i,c as t,e as o,h as n,d as a,g as e}from"./p-4DxY6_gG.js";import{E as s,a as r}from"./p-EnaLTYYj.js";import{r as d}from"./p-C-Cct-6D.js";import{c}from"./p-B-hirT0v.js";import{d as l,e as p,B as h,j as g,k as m,f,g as b,h as x}from"./p-CoDfkBuk.js";import{g as u}from"./p-DiVJyqlX.js";import{b as v}from"./p-Br3vSlYh.js";import{c as y}from"./p-C87oPMMF.js";import"./p-ZjP4CjeZ.js";import"./p-CvaZMP6T.js";import"./p-DAfH9Iif.js";import"./p-BTEOs1at.js";const k=i=>{const t=y(),o=y(),n=y();return o.addElement(i.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),n.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.01,transform:"scale(1.1)"},{offset:1,opacity:1,transform:"scale(1)"}]),t.addElement(i).easing("ease-in-out").duration(200).addAnimation([o,n])},w=i=>{const t=y(),o=y(),n=y();return o.addElement(i.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),n.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.99,transform:"scale(1)"},{offset:1,opacity:0,transform:"scale(0.9)"}]),t.addElement(i).easing("ease-in-out").duration(200).addAnimation([o,n])},j=i=>{const t=y(),o=y(),n=y();return o.addElement(i.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),n.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.01,transform:"scale(1.1)"},{offset:1,opacity:1,transform:"scale(1)"}]),t.addElement(i).easing("ease-in-out").duration(200).addAnimation([o,n])},D=i=>{const t=y(),o=y(),n=y();return o.addElement(i.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),n.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.99,transform:"scale(1)"},{offset:1,opacity:0,transform:"scale(0.9)"}]),t.addElement(i).easing("ease-in-out").duration(200).addAnimation([o,n])},L=class{constructor(n){i(this,n),this.didPresent=t(this,"ionLoadingDidPresent",7),this.willPresent=t(this,"ionLoadingWillPresent",7),this.willDismiss=t(this,"ionLoadingWillDismiss",7),this.didDismiss=t(this,"ionLoadingDidDismiss",7),this.didPresentShorthand=t(this,"didPresent",7),this.willPresentShorthand=t(this,"willPresent",7),this.willDismissShorthand=t(this,"willDismiss",7),this.didDismissShorthand=t(this,"didDismiss",7),this.delegateController=l(this),this.lockController=c(),this.triggerController=p(),this.customHTMLEnabled=o.get("innerHTMLTemplatesEnabled",s),this.presented=!1,this.hasController=!1,this.keyboardClose=!0,this.duration=0,this.backdropDismiss=!1,this.showBackdrop=!0,this.translucent=!1,this.animated=!0,this.isOpen=!1,this.onBackdropTap=()=>{this.dismiss(void 0,h)}}onIsOpenChange(i,t){!0===i&&!1===t?this.present():!1===i&&!0===t&&this.dismiss()}triggerChanged(){const{trigger:i,el:t,triggerController:o}=this;i&&o.addClickListener(t,i)}connectedCallback(){g(this.el),this.triggerChanged()}componentWillLoad(){var i;if(void 0===this.spinner){const i=v(this);this.spinner=o.get("loadingSpinner",o.get("spinner","ios"===i?"lines":"crescent"))}(null===(i=this.htmlAttributes)||void 0===i?void 0:i.id)||m(this.el)}componentDidLoad(){!0===this.isOpen&&d((()=>this.present())),this.triggerChanged()}disconnectedCallback(){this.triggerController.removeClickListener()}async present(){const i=await this.lockController.lock();await this.delegateController.attachViewToDom(),await f(this,"loadingEnter",k,j),this.duration>0&&(this.durationTimeout=setTimeout((()=>this.dismiss()),this.duration+10)),i()}async dismiss(i,t){const o=await this.lockController.lock();this.durationTimeout&&clearTimeout(this.durationTimeout);const n=await b(this,i,t,"loadingLeave",w,D);return n&&this.delegateController.removeViewFromDom(),o(),n}onDidDismiss(){return x(this.el,"ionLoadingDidDismiss")}onWillDismiss(){return x(this.el,"ionLoadingWillDismiss")}renderLoadingMessage(i){const{customHTMLEnabled:t,message:o}=this;return t?n("div",{class:"loading-content",id:i,innerHTML:r(o)}):n("div",{class:"loading-content",id:i},o)}render(){const{message:i,spinner:t,htmlAttributes:o,overlayIndex:e}=this,s=v(this),r=`loading-${e}-msg`;return n(a,Object.assign({key:"4497183ce220242abe19ae15f328f9a92ccafbbc",role:"dialog","aria-modal":"true","aria-labelledby":void 0!==i?r:null,tabindex:"-1"},o,{style:{zIndex:`${4e4+this.overlayIndex}`},onIonBackdropTap:this.onBackdropTap,class:Object.assign(Object.assign({},u(this.cssClass)),{[s]:!0,"overlay-hidden":!0,"loading-translucent":this.translucent})}),n("ion-backdrop",{key:"231dec84e424a2dc358ce95b84d6035cf43e4dea",visible:this.showBackdrop,tappable:this.backdropDismiss}),n("div",{key:"c9af29b6e6bb49a217396a5c874bbfb8835a926c",tabindex:"0","aria-hidden":"true"}),n("div",{key:"a8659863743cdeccbe1ba810eaabfd3ebfcb86f3",class:"loading-wrapper ion-overlay-wrapper"},t&&n("div",{key:"3b346f39bc71691bd8686556a1e142198a7b12fa",class:"loading-spinner"},n("ion-spinner",{key:"8dc2bf1556e5138e262827f1516c59ecd09f3520",name:t,"aria-hidden":"true"})),void 0!==i&&this.renderLoadingMessage(r)),n("div",{key:"054164c0dbae9a0e0973dd3c8e28f5b771820310",tabindex:"0","aria-hidden":"true"}))}get el(){return e(this)}static get watchers(){return{isOpen:["onIsOpenChange"],trigger:["triggerChanged"]}}};L.style={ios:".sc-ion-loading-ios-h{--min-width:auto;--width:auto;--min-height:auto;--height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-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-loading-ios-h{display:none}.loading-wrapper.sc-ion-loading-ios{display:-ms-flexbox;display:flex;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;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);opacity:0;z-index:10}ion-spinner.sc-ion-loading-ios{color:var(--spinner-color)}.sc-ion-loading-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--max-width:270px;--max-height:90%;--spinner-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);color:var(--ion-text-color, #000);font-size:0.875rem}.loading-wrapper.sc-ion-loading-ios{border-radius:8px;-webkit-padding-start:34px;padding-inline-start:34px;-webkit-padding-end:34px;padding-inline-end:34px;padding-top:24px;padding-bottom:24px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.loading-translucent.sc-ion-loading-ios-h .loading-wrapper.sc-ion-loading-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.loading-content.sc-ion-loading-ios{font-weight:bold}.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{-webkit-margin-start:16px;margin-inline-start:16px}",md:".sc-ion-loading-md-h{--min-width:auto;--width:auto;--min-height:auto;--height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-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-loading-md-h{display:none}.loading-wrapper.sc-ion-loading-md{display:-ms-flexbox;display:flex;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;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);opacity:0;z-index:10}ion-spinner.sc-ion-loading-md{color:var(--spinner-color)}.sc-ion-loading-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--max-width:280px;--max-height:90%;--spinner-color:var(--ion-color-primary, #0054e9);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:0.875rem}.loading-wrapper.sc-ion-loading-md{border-radius:2px;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px;padding-top:24px;padding-bottom:24px;-webkit-box-shadow:0 16px 20px rgba(0, 0, 0, 0.4);box-shadow:0 16px 20px rgba(0, 0, 0, 0.4)}.loading-spinner.sc-ion-loading-md+.loading-content.sc-ion-loading-md{-webkit-margin-start:16px;margin-inline-start:16px}"};export{L as ion_loading}