UNPKG

@mornya/react-image-libs

Version:
1 lines 1.61 kB
var e,t=this&&this.__assign||function(){return(t=Object.assign||function(e){for(var r,t=1,s=arguments.length;t<s;t++)for(var n in r=arguments[t])Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);return e}).apply(this,arguments)};function Provider(e){this.subscribe=this.subscribe.bind(this),this.subscribeOnce=this.subscribeOnce.bind(this),this.unsubscribe=this.unsubscribe.bind(this),this.destroy=this.destroy.bind(this);e=t({root:null,rootMargin:"0px 0px 0px 0px",threshold:0},e);this.intersectionObserver=new IntersectionObserver(function(e,r){e.forEach(function(e){e.isIntersecting&&(r.unobserve(e.target),e.target.dispatchEvent(new CustomEvent("imageObserverIntersecting",{detail:t(t({},e),{unsubscribe:function(){r.unobserve(e.target)}})})))})},e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.ImageObserver=void 0,e=exports.ImageObserver={},Provider.prototype.subscribe=function(e,r){function q(e){return r(e)}return e.addEventListener("imageObserverIntersecting",q,!1),this.intersectionObserver.observe(e),function(){e.removeEventListener("imageObserverIntersecting",q)}},Provider.prototype.subscribeOnce=function(r,t){var s=this;r.addEventListener("imageObserverIntersecting",function(e){return s.unsubscribe(r),t(e)},{once:!0,capture:!1}),this.intersectionObserver.observe(r)},Provider.prototype.unsubscribe=function(e){this.intersectionObserver.unobserve(e)},Provider.prototype.destroy=function(){var r=this;this.intersectionObserver.takeRecords().forEach(function(e){return r.intersectionObserver.unobserve(e.target)}),this.intersectionObserver.disconnect()},e.Provider=Provider;