import{ae as e}from"./index.DzMEW5yK.js";import{a8 as a,a0 as t}from"./vue-vendor.CbU-cCHr.js";const l=e=>{let a=0,t=e;for(;t;)a+=t.offsetTop,t=t.offsetParent;return a},r=(e,a)=>Math.abs(l(e)-l(a)),s=e=>{let a,t;return"touchend"===e.type?(t=e.changedTouches[0].clientY,a=e.changedTouches[0].clientX):e.type.startsWith("touch")?(t=e.touches[0].clientY,a=e.touches[0].clientX):(t=e.clientY,a=e.clientX),{clientX:a,clientY:t}};function n(l){const{fetcher:r,pageSize:s,initialParams:n,immediate:i=!1,extractList:u=e=>Array.isArray(e)?e:Array.isArray(null==e?void 0:e.list)?e.list:[]}=l,o=a({...n||{}}),c=a([]),v=a(!1),h=a(!1),d=a(0),f=a(2),g=a(!1),m=async a=>{const t=!!a;try{v.value=!0,t&&(d.value=e());const l=await r({...o.value,page:a||f.value,size:s,createAt:d.value}),n=u(l);t?(c.value=n,f.value=2,g.value=!1):(c.value=[...c.value,...n],n.length>0&&(f.value+=1)),0===n.length&&(g.value=!0)}finally{v.value=!1,h.value=!0}},p=()=>m(1);return i&&t(()=>{p()}),{params:o,list:c,loading:v,isInit:h,loadingSeconds:d,page:f,noMore:g,load:m,refresh:p,loadMore:()=>{if(!v.value&&!g.value)return m()},setParams:e=>{o.value={...o.value,...e}},resetParams:e=>{o.value={...e||n||{}}}}}export{r as a,s as g,n as u};