import{__awaiter,__generator}from"tslib"; /*! * (C) Ionic http://ionicframework.com - MIT License */import{r as registerInstance,d as createEvent,w as writeTask,e as readTask,h,i as getElement,f as Host}from"./index-6e4709ff.js";import{f as findClosestIonContent,p as printIonContentErrorMsg,g as getScrollElement}from"./index-5cc724f3.js";import{b as getIonMode,c as config}from"./ionic-global-c4e0c089.js";import{E as ENABLE_HTML_CONTENT_DEFAULT,a as sanitizeDOMString}from"./config-49c88215.js";import"./helpers-da915de8.js";import"./index-9b0d46f4.js";var infiniteScrollCss="ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}";var IonInfiniteScrollStyle0=infiniteScrollCss;var InfiniteScroll=function(){function n(n){var i=this;registerInstance(this,n);this.ionInfinite=createEvent(this,"ionInfinite",7);this.thrPx=0;this.thrPc=0;this.didFire=false;this.isBusy=false;this.onScroll=function(){var n=i.scrollEl;if(!n||!i.canStart()){return 1}var t=i.el.offsetHeight;if(t===0){return 2}var e=n.scrollTop;var o=n.scrollHeight;var s=n.offsetHeight;var r=i.thrPc!==0?s*i.thrPc:i.thrPx;var l=i.position==="bottom"?o-t-e-r-s:e-t-r;if(l<0){if(!i.didFire){i.isLoading=true;i.didFire=true;i.ionInfinite.emit();return 3}}return 4};this.isLoading=false;this.threshold="15%";this.disabled=false;this.position="bottom"}n.prototype.thresholdChanged=function(){var n=this.threshold;if(n.lastIndexOf("%")>-1){this.thrPx=0;this.thrPc=parseFloat(n)/100}else{this.thrPx=parseFloat(n);this.thrPc=0}};n.prototype.disabledChanged=function(){var n=this.disabled;if(n){this.isLoading=false;this.isBusy=false}this.enableScrollEvents(!n)};n.prototype.connectedCallback=function(){return __awaiter(this,void 0,void 0,(function(){var n,i;var t=this;return __generator(this,(function(e){switch(e.label){case 0:n=findClosestIonContent(this.el);if(!n){printIonContentErrorMsg(this.el);return[2]}i=this;return[4,getScrollElement(n)];case 1:i.scrollEl=e.sent();this.thresholdChanged();this.disabledChanged();if(this.position==="top"){writeTask((function(){if(t.scrollEl){t.scrollEl.scrollTop=t.scrollEl.scrollHeight-t.scrollEl.clientHeight}}))}return[2]}}))}))};n.prototype.disconnectedCallback=function(){this.enableScrollEvents(false);this.scrollEl=undefined};n.prototype.complete=function(){return __awaiter(this,void 0,void 0,(function(){var n,i;var t=this;return __generator(this,(function(e){n=this.scrollEl;if(!this.isLoading||!n){return[2]}this.isLoading=false;if(this.position==="top"){this.isBusy=true;i=n.scrollHeight-n.scrollTop;requestAnimationFrame((function(){readTask((function(){var e=n.scrollHeight;var o=e-i;requestAnimationFrame((function(){writeTask((function(){n.scrollTop=o;t.isBusy=false;t.didFire=false}))}))}))}))}else{this.didFire=false}return[2]}))}))};n.prototype.canStart=function(){return!this.disabled&&!this.isBusy&&!!this.scrollEl&&!this.isLoading};n.prototype.enableScrollEvents=function(n){if(this.scrollEl){if(n){this.scrollEl.addEventListener("scroll",this.onScroll)}else{this.scrollEl.removeEventListener("scroll",this.onScroll)}}};n.prototype.render=function(){var n;var i=getIonMode(this);var t=this.disabled;return h(Host,{key:"be1a720fcf686dc48468de968d84ea58bfe0a06d",class:(n={},n[i]=true,n["infinite-scroll-loading"]=this.isLoading,n["infinite-scroll-enabled"]=!t,n)})};Object.defineProperty(n.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(n,"watchers",{get:function(){return{threshold:["thresholdChanged"],disabled:["disabledChanged"]}},enumerable:false,configurable:true});return n}();InfiniteScroll.style=IonInfiniteScrollStyle0;var infiniteScrollContentIosCss="ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:4px;margin-bottom:0}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-ios .infinite-loading-text{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-small-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}";var IonInfiniteScrollContentIosStyle0=infiniteScrollContentIosCss;var infiniteScrollContentMdCss="ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:4px;margin-bottom:0}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-md .infinite-loading-text{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-small-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}.infinite-scroll-content-md .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}";var IonInfiniteScrollContentMdStyle0=infiniteScrollContentMdCss;var InfiniteScrollContent=function(){function n(n){registerInstance(this,n);this.customHTMLEnabled=config.get("innerHTMLTemplatesEnabled",ENABLE_HTML_CONTENT_DEFAULT);this.loadingSpinner=undefined;this.loadingText=undefined}n.prototype.componentDidLoad=function(){if(this.loadingSpinner===undefined){var n=getIonMode(this);this.loadingSpinner=config.get("infiniteLoadingSpinner",config.get("spinner",n==="ios"?"lines":"crescent"))}};n.prototype.renderLoadingText=function(){var n=this,i=n.customHTMLEnabled,t=n.loadingText;if(i){return h("div",{class:"infinite-loading-text",innerHTML:sanitizeDOMString(t)})}return h("div",{class:"infinite-loading-text"},this.loadingText)};n.prototype.render=function(){var n;var i=getIonMode(this);return h(Host,{key:"44b11681f802fb0d1c565810f71f7672453e16ca",class:(n={},n[i]=true,n["infinite-scroll-content-".concat(i)]=true,n)},h("div",{key:"d7e7d5beedf1e22a009e87790ca024b8f15c462b",class:"infinite-loading"},this.loadingSpinner&&h("div",{class:"infinite-loading-spinner"},h("ion-spinner",{name:this.loadingSpinner})),this.loadingText!==undefined&&this.renderLoadingText()))};return n}();InfiniteScrollContent.style={ios:IonInfiniteScrollContentIosStyle0,md:IonInfiniteScrollContentMdStyle0};export{InfiniteScroll as ion_infinite_scroll,InfiniteScrollContent as ion_infinite_scroll_content};