UNPKG

react-intersections

Version:
2 lines (1 loc) 991 B
"use strict";var e=window&&window.__assign||function(){return e=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var i in r=arguments[t])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},e.apply(this,arguments)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.useInViewTrigger=void 0;var r=require("react"),t=require("./helper");exports.useInViewTrigger=function(n){var i=(0,r.useState)({inView:!1,visibilityTime:0,entry:null}),o=i[0],s=i[1],u=e({root:window.document,threshold:.5,rootMargin:"0px"},n),a=(0,r.useRef)(!1),c=(0,t.checkRootObject)(u),l=(0,r.useRef)(null),f=new IntersectionObserver((function(e){(0,t.intersectionCallback)({entries:e,inViewStateForObserveOnce:a,observer:f,observerOptions:u,setInViewData:s,targetRef:l,inViewData:o})}),e(e({},u),{root:c})),v=(0,r.useCallback)((function(){(null==l?void 0:l.current)&&f.observe(null==l?void 0:l.current)}),[]);return(0,r.useEffect)((function(){v()}),[v]),e({targetRef:l},o)};