1 |
- import{ak as L,al as w,am as C,an as x,ao as E,ap as P}from"./index.a3180fab.js";import{t as R,c as y,L as B,w as N}from"./index.65a463be.js";import{d as F,i as c,w as H,$ as I,o as M,b as i,v as U}from"./base.68a73957.js";var[V,t,_]=y("list"),$=F({name:V,props:{error:Boolean,loading:Boolean,finished:Boolean,errorText:String,loadingText:String,finishedText:String,immediateCheck:R,offset:{type:[Number,String],default:300},direction:{type:String,default:"down"}},emits:["load","update:error","update:loading"],setup(e,{emit:o,slots:r}){var n=c(!1),s=c(),v=c(),h=C(),g=L(s),d=()=>{U(()=>{if(!(n.value||e.finished||e.error||(h==null?void 0:h.value)===!1)){var{offset:a,direction:l}=e,f=x(g);if(!(!f.height||E(s))){var u=!1,m=x(v);l==="up"?u=f.top-m.top<=a:u=m.bottom-f.bottom<=a,u&&(n.value=!0,o("update:loading",!0),o("load"))}}})},T=()=>{if(e.finished){var a=r.finished?r.finished():e.finishedText;if(a)return i("div",{class:t("finished-text")},[a])}},b=()=>{o("update:error",!1),d()},S=()=>{if(e.error){var a=r.error?r.error():e.errorText;if(a)return i("div",{class:t("error-text"),onClick:b},[a])}},k=()=>{if(n.value&&!e.finished)return i("div",{class:t("loading")},[r.loading?r.loading():i(B,{class:t("loading-icon")},{default:()=>[e.loadingText||_("loading")]})])};return H([()=>e.loading,()=>e.finished,()=>e.error],d),I(()=>{n.value=e.loading}),M(()=>{e.immediateCheck&&d()}),P({check:d}),w("scroll",d,{target:g}),()=>{var a=r.default==null?void 0:r.default(),l=i("div",{ref:v,class:t("placeholder")},null);return i("div",{ref:s,role:"feed",class:t(),"aria-busy":n.value},[e.direction==="down"?a:l,k(),T(),S(),e.direction==="up"?a:l])}}}),A=N($);export{A as L};
|