UNPKG

vue-laze

Version:
2 lines (1 loc) 905 B
"use strict";var l=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var m=(r,e)=>{for(var n in e)l(r,n,{get:e[n],enumerable:!0})},d=(r,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of b(e))!p.call(r,t)&&t!==n&&l(r,t,{get:()=>e[t],enumerable:!(o=v(e,t))||o.enumerable});return r};var h=r=>d(l({},"__esModule",{value:!0}),r);var x={};m(x,{default:()=>a});module.exports=h(x);var f=require("vue");function a(r){let e=(0,f.ref)(!1),n=(0,f.ref)(null);return(0,f.watchEffect)(o=>{e.value=!1;let t=!1;if(r&&r.refresh&&(t=typeof r.refresh=="boolean"?r.refresh:r.refresh.value),n.value){let i=n.value,s=new IntersectionObserver(u=>{for(let c of u)t?e.value=c.isIntersecting:c.isIntersecting&&(e.value=!0,s.disconnect())});s.observe(i),o(()=>{s.unobserve(i),s.disconnect()})}}),{ref:n,visible:(0,f.readonly)(e)}}