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,f as getElement,H as Host}from"./index-73fa3fe8.js";import{f as findClosestIonContent,p as printIonContentErrorMsg,g as getScrollElement}from"./index-f3946ac1.js";import{b as getIonMode,c as config}from"./ionic-global-d89a6ff6.js";import{E as ENABLE_HTML_CONTENT_DEFAULT,a as sanitizeDOMString}from"./config-49c88215.js";import"./helpers-be245865.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 e=i.el.offsetHeight;if(e===0){return 2}var t=n.scrollTop;var s=n.scrollHeight;var r=n.offsetHeight;var o=i.thrPc!==0?r*i.thrPc:i.thrPx;var l=i.position==="bottom"?s-e-t-o-r:t-e-o;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 e=this;return __generator(this,(function(t){switch(t.label){case 0:n=findClosestIonContent(this.el);if(!n){printIonContentErrorMsg(this.el);return[2]}i=this;return[4,getScrollElement(n)];case 1:i.scrollEl=t.sent();this.thresholdChanged();this.disabledChanged();if(this.position==="top"){writeTask((function(){if(e.scrollEl){e.scrollEl.scrollTop=e.scrollEl.scrollHeight-e.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 e=this;return __generator(this,(function(t){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 t=n.scrollHeight;var s=t-i;requestAnimationFrame((function(){writeTask((function(){n.scrollTop=s;e.isBusy=false;e.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 e=this.disabled;return h(Host,{key:"cf712b0f22fe89b41377402da44f5575118ed34f",class:(n={},n[i]=true,n["infinite-scroll-loading"]=this.isLoading,n["infinite-scroll-enabled"]=!e,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, #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, #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, #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, #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, #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, #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,e=n.loadingText;if(i){return h("div",{class:"infinite-loading-text",innerHTML:sanitizeDOMString(e)})}return h("div",{class:"infinite-loading-text"},this.loadingText)};n.prototype.render=function(){var n;var i=getIonMode(this);return h(Host,{key:"38c67d2c7ea4c304e71dacea64add0bffab69906",class:(n={},n[i]=true,n["infinite-scroll-content-".concat(i)]=true,n)},h("div",{key:"a23484ccbaf65e0e3ecb59befea425cfdbc782fd",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};