@ionic/core
Version:
Base components for Ionic
4 lines • 10.2 kB
JavaScript
/*!
* (C) Ionic http://ionicframework.com - MIT License
*/
import{d as i,H as t,i as n,e as o,h as e,f as s,t as a}from"./p-Ct2aBEue.js";import{E as r}from"./p-DWCzVL3Y.js";import{r as d}from"./p-B4IBdPVJ.js";import{c}from"./p-B-hirT0v.js";import{c as l,d as p,B as h,h as g,r as m,k as f,j as b,e as u,f as x,g as y}from"./p-B02CcbPD.js";import{a as k}from"./p-DHo45oj7.js";import{g as v}from"./p-byZM6qHV.js";import{b as w}from"./p-HthJZjZ6.js";import{c as D}from"./p-ChsJlFCQ.js";import{d as C}from"./p-CW84OFQa.js";import{d as j}from"./p-KbMCbGRA.js";const L=i=>{const t=D(),n=D(),o=D();return n.addElement(i.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),o.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([n,o])},z=i=>{const t=D(),n=D(),o=D();return n.addElement(i.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),o.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([n,o])},E=i=>{const t=D(),n=D(),o=D();return n.addElement(i.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),o.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([n,o])},B=i=>{const t=D(),n=D(),o=D();return n.addElement(i.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),o.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([n,o])},I=i(class extends t{constructor(i){super(),!1!==i&&this.__registerHost(),this.didPresent=n(this,"ionLoadingDidPresent",7),this.willPresent=n(this,"ionLoadingWillPresent",7),this.willDismiss=n(this,"ionLoadingWillDismiss",7),this.didDismiss=n(this,"ionLoadingDidDismiss",7),this.didPresentShorthand=n(this,"didPresent",7),this.willPresentShorthand=n(this,"willPresent",7),this.willDismissShorthand=n(this,"willDismiss",7),this.didDismissShorthand=n(this,"didDismiss",7),this.delegateController=l(this),this.lockController=c(),this.triggerController=p(),this.customHTMLEnabled=o.get("innerHTMLTemplatesEnabled",r),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:n}=this;i&&n.addClickListener(t,i)}connectedCallback(){g(this.el),this.triggerChanged(),this.presented&&m(this.el)}componentWillLoad(){if(void 0===this.spinner){const i=w(this);this.spinner=o.get("loadingSpinner",o.get("spinner","ios"===i?"lines":"crescent"))}this.htmlAttributes?.id||f(this.el)}componentDidLoad(){!0===this.isOpen&&d((()=>this.present())),this.triggerChanged()}disconnectedCallback(){this.triggerController.removeClickListener(),this.presented&&b()}async present(){const i=await this.lockController.lock();await this.delegateController.attachViewToDom(),await u(this,"loadingEnter",L,E),this.duration>0&&(this.durationTimeout=setTimeout((()=>this.dismiss()),this.duration+10)),i()}async dismiss(i,t){const n=await this.lockController.lock();this.durationTimeout&&clearTimeout(this.durationTimeout);const o=await x(this,i,t,"loadingLeave",z,B);return o&&this.delegateController.removeViewFromDom(),n(),o}onDidDismiss(){return y(this.el,"ionLoadingDidDismiss")}onWillDismiss(){return y(this.el,"ionLoadingWillDismiss")}renderLoadingMessage(i){const{customHTMLEnabled:t,message:n}=this;return t?e("div",{class:"loading-content",id:i,innerHTML:k(n)}):e("div",{class:"loading-content",id:i},n)}render(){const{message:i,spinner:t,htmlAttributes:n,overlayIndex:o}=this,a=w(this),r=`loading-${o}-msg`;return e(s,{key:"b4430bc66aedeca19d5645667cba73c169c4bd76",role:"dialog","aria-modal":"true","aria-labelledby":void 0!==i?r:null,tabindex:"-1",...n,style:{zIndex:""+(4e4+this.overlayIndex)},onIonBackdropTap:this.onBackdropTap,class:{...v(this.cssClass),[a]:!0,"overlay-hidden":!0,"loading-translucent":this.translucent}},e("ion-backdrop",{key:"dec0df942ae778c99ebd4dbf08d6c2a0a992639d",visible:this.showBackdrop,tappable:this.backdropDismiss}),e("div",{key:"71b2d5fc259666225047fc901648ada1efcd5d4b",tabindex:"0","aria-hidden":"true"}),e("div",{key:"1d83dc3b57ee70c9e8c0f006c6fa576bd96ecded",class:"loading-wrapper ion-overlay-wrapper"},t&&e("div",{key:"d1cd127e044b8831e396b53122322c1db7e89904",class:"loading-spinner"},e("ion-spinner",{key:"38c2580cf5659da612872f01801a5fbdc2c023ba",name:t,"aria-hidden":"true"})),void 0!==i&&this.renderLoadingMessage(r)),e("div",{key:"90e5e32ffe0df2c691f364149f43374e676bfaa3",tabindex:"0","aria-hidden":"true"}))}get el(){return this}static get watchers(){return{isOpen:[{onIsOpenChange:0}],trigger:[{triggerChanged:0}]}}static get style(){return{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}"}}},[34,"ion-loading",{overlayIndex:[2,"overlay-index"],delegate:[16],hasController:[4,"has-controller"],keyboardClose:[4,"keyboard-close"],enterAnimation:[16],leaveAnimation:[16],message:[1],cssClass:[1,"css-class"],duration:[2],backdropDismiss:[4,"backdrop-dismiss"],showBackdrop:[4,"show-backdrop"],spinner:[1025],translucent:[4],animated:[4],htmlAttributes:[16],isOpen:[4,"is-open"],trigger:[1],present:[64],dismiss:[64],onDidDismiss:[64],onWillDismiss:[64]},void 0,{isOpen:[{onIsOpenChange:0}],trigger:[{triggerChanged:0}]}]),T=I,W=function(){"undefined"!=typeof customElements&&["ion-loading","ion-backdrop","ion-spinner"].forEach((i=>{switch(i){case"ion-loading":customElements.get(a(i))||customElements.define(a(i),I);break;case"ion-backdrop":customElements.get(a(i))||C();break;case"ion-spinner":customElements.get(a(i))||j()}}))};export{T as IonLoading,W as defineCustomElement}