You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
paopao-ce/web/dist/assets/v3-infinite-loading-DRGEwjx...

1 line
4.1 KiB

import{a as e,t}from"./rolldown-runtime-Bhmf7a9N.js";import{Ct as n,l as r,s as i,zt as a}from"./@css-render-YsNuQTaE.js";import{n as o,t as s}from"./@vue-BhUWcoL8.js";var c=t((t=>{Object.defineProperty(t,`__esModule`,{value:!0});var c=(o(),e(s)),l=(i(),e(r)),u=(n(),e(a));function d(e){var t=Object.create(null);if(e)for(var n in e)t[n]=e[n];return t.default=e,Object.freeze(t)}var f=d(l),p=Object.create(null);function m(e,t){if(!u.isString(e))if(e.nodeType)e=e.innerHTML;else return u.NOOP;let n=u.genCacheKey(e,t),r=p[n];if(r)return r;if(e[0]===`#`){let t=document.querySelector(e);e=t?t.innerHTML:``}let i=u.extend({hoistStatic:!0,onError:void 0,onWarn:u.NOOP},t);!i.isCustomElement&&typeof customElements<`u`&&(i.isCustomElement=e=>!!customElements.get(e));let{code:a}=c.compile(e,i),o=Function(`Vue`,a)(f);return o._rc=!0,p[n]=o}l.registerRuntimeCompiler(m),t.compile=m,Object.keys(l).forEach(function(e){e!==`default`&&!Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=l[e])})})),l=t(((e,t)=>{t.exports=c()})),u=t(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t<`u`?r(e,l()):typeof define==`function`&&define.amd?define([`exports`,`vue`],r):(n=typeof globalThis<`u`?globalThis:n||self,r(n.V3InfiniteLoading={},n.Vue))})(e,function(e,t){function n(e,t=null){if(!e)return!1;let n=e.getBoundingClientRect(),r=t?t.getBoundingClientRect():{top:0,left:0,bottom:window.innerHeight,right:window.innerWidth};return n.bottom>=r.top&&n.top<=r.bottom&&n.right>=r.left&&n.left<=r.right}async function r(e){return e?(await t.nextTick(),e.value instanceof HTMLElement?e.value:e.value?document.querySelector(e.value):null):null}function i(e){let t=`0px 0px ${e.distance}px 0px`;e.top&&(t=`${e.distance}px 0px 0px 0px`);let n=new IntersectionObserver(t=>{t[0].isIntersecting&&(e.firstload&&e.emit(),e.firstload=!0)},{root:e.parentEl,rootMargin:t});return e.infiniteLoading.value&&n.observe(e.infiniteLoading.value),n}async function a(e,n){if(await t.nextTick(),!e.top)return;let r=e.parentEl||document.documentElement;r.scrollTop=r.scrollHeight-n}let o=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},s={},c=e=>(t.pushScopeId(`data-v-d3e37633`),e=e(),t.popScopeId(),e),l={class:`container`},u=[c(()=>t.createElementVNode(`div`,{class:`spinner`},null,-1))];function d(e,n){return t.openBlock(),t.createElementBlock(`div`,l,u)}let f=o(s,[[`render`,d],[`__scopeId`,`data-v-d3e37633`]]),p={class:`state-error`};e.default=o(t.defineComponent({__name:`InfiniteLoading`,props:{top:{type:Boolean,default:!1},target:{},distance:{default:0},identifier:{},firstload:{type:Boolean,default:!0},slots:{}},emits:[`infinite`],setup(e,{emit:o}){let s=e,c=null,l=0,u=t.ref(null),d=t.ref(``),{top:m,firstload:h,distance:g}=s,{identifier:_,target:v}=t.toRefs(s),y={infiniteLoading:u,top:m,firstload:h,distance:g,parentEl:null,emit(){l=(y.parentEl||document.documentElement).scrollHeight,b.loading(),o(`infinite`,b)}},b={loading(){d.value=`loading`},async loaded(){d.value=`loaded`,await a(y,l),n(u.value,y.parentEl)&&y.emit()},async complete(){d.value=`complete`,await a(y,l),c?.disconnect()},error(){d.value=`error`}};function x(){c?.disconnect(),c=i(y)}return t.watch(_,x),t.onMounted(async()=>{y.parentEl=await r(v),x()}),t.onUnmounted(()=>c?.disconnect()),(e,n)=>(t.openBlock(),t.createElementBlock(`div`,{ref_key:`infiniteLoading`,ref:u,class:`v3-infinite-loading`},[t.withDirectives(t.createElementVNode(`div`,null,[t.renderSlot(e.$slots,`spinner`,{},()=>[t.createVNode(f)],!0)],512),[[t.vShow,d.value==`loading`]]),d.value==`complete`?t.renderSlot(e.$slots,`complete`,{key:0},()=>[t.createElementVNode(`span`,null,t.toDisplayString(e.slots?.complete||`No more results!`),1)],!0):t.createCommentVNode(``,!0),d.value==`error`?t.renderSlot(e.$slots,`error`,{key:1,retry:y.emit},()=>[t.createElementVNode(`span`,p,[t.createElementVNode(`span`,null,t.toDisplayString(e.slots?.error||`Oops something went wrong!`),1),t.createElementVNode(`button`,{class:`retry`,onClick:n[0]||=(...e)=>y.emit&&y.emit(...e)},`retry`)])],!0):t.createCommentVNode(``,!0)],512))}}),[[`__scopeId`,`data-v-4bdee133`]]),Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}})})}));export{u as t};