!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],t):"object"==typeof exports?exports.LazyLoad=t(require("react"),require("react-dom")):e.LazyLoad=t(e.React,e.ReactDOM)}(this,function(e,t){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n0&&(e.debounce?n.lazyLoadHandler=(0,v.default)(n.lazyLoadHandler,e.throttle):n.lazyLoadHandler=(0,b.default)(n.lazyLoadHandler,e.throttle)),n.state={visible:!1},n}return a(t,e),u(t,[{key:"componentDidMount",value:function(){this._mounted=!0;var e=this.getEventNode();this.lazyLoadHandler(),this.lazyLoadHandler.flush&&this.lazyLoadHandler.flush(),(0,d.add)(window,"resize",this.lazyLoadHandler),(0,d.add)(e,"scroll",this.lazyLoadHandler),e!==window&&(0,d.add)(window,"scroll",this.lazyLoadHandler)}},{key:"componentWillReceiveProps",value:function(){this.state.visible||this.lazyLoadHandler()}},{key:"shouldComponentUpdate",value:function(e,t){return t.visible}},{key:"componentWillUnmount",value:function(){this._mounted=!1,this.lazyLoadHandler.cancel&&this.lazyLoadHandler.cancel(),this.detachListeners()}},{key:"getEventNode",value:function(){return(0,g.default)((0,p.findDOMNode)(this))}},{key:"getOffset",value:function(){var e=this.props,t=e.offset,n=e.offsetVertical,r=e.offsetHorizontal,o=e.offsetTop,i=e.offsetBottom,a=e.offsetLeft,u=e.offsetRight,f=e.threshold,c=f||t,l=n||c,s=r||c;return{top:o||l,bottom:i||l,left:a||s,right:u||s}}},{key:"lazyLoadHandler",value:function(){if(this._mounted){var e=this.getOffset(),t=(0,p.findDOMNode)(this),n=this.getEventNode();if((0,O.default)(t,n,e)){var r=this.props.onContentVisible;this.setState({visible:!0},function(){r&&r()}),this.detachListeners()}}}},{key:"detachListeners",value:function(){var e=this.getEventNode();(0,d.remove)(window,"resize",this.lazyLoadHandler),(0,d.remove)(e,"scroll",this.lazyLoadHandler),e!==window&&(0,d.remove)(window,"scroll",this.lazyLoadHandler)}},{key:"render",value:function(){var e=this.props,t=e.children,n=e.className,r=e.height,o=e.width,i=this.state.visible,a={height:r,width:o},u="LazyLoad"+(i?" is-visible":"")+(n?" "+n:"");return c.default.createElement(this.props.elementType,{className:u,style:a},i&&f.Children.only(t))}}]),t}(f.Component);t.default=j,j.propTypes={children:s.default.node.isRequired,className:s.default.string,debounce:s.default.bool,elementType:s.default.string,height:s.default.oneOfType([s.default.string,s.default.number]),offset:s.default.number,offsetBottom:s.default.number,offsetHorizontal:s.default.number,offsetLeft:s.default.number,offsetRight:s.default.number,offsetTop:s.default.number,offsetVertical:s.default.number,threshold:s.default.number,throttle:s.default.number,width:s.default.oneOfType([s.default.string,s.default.number]),onContentVisible:s.default.func},j.defaultProps={elementType:"div",debounce:!0,offset:0,offsetBottom:0,offsetHorizontal:0,offsetLeft:0,offsetRight:0,offsetTop:0,offsetVertical:0,throttle:250}},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(e){if(l===setTimeout)return setTimeout(e,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}function i(e){if(s===clearTimeout)return clearTimeout(e);if((s===r||!s)&&clearTimeout)return s=clearTimeout,clearTimeout(e);try{return s(e)}catch(t){try{return s.call(null,e)}catch(t){return s.call(this,e)}}}function a(){v&&d&&(v=!1,d.length?y=d.concat(y):m=-1,y.length&&u())}function u(){if(!v){var e=o(a);v=!0;for(var t=y.length;t;){for(d=y,y=[];++m1)for(var n=1;n=s.top-n.bottom&&f<=s.left+e.offsetWidth+n.left&&c>=s.left-n.right}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var i=n(4),a=r(i),u=function(e){return null===e.offsetParent}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e,t){return"undefined"!=typeof getComputedStyle?getComputedStyle(e,null).getPropertyValue(t):e.style[t]},r=function(e){return n(e,"overflow")+n(e,"overflow-y")+n(e,"overflow-x")},o=function(e){if(!(e instanceof HTMLElement))return window;for(var t=e;t&&t!==document.body&&t!==document.documentElement&&t.parentNode;){if(/(scroll|auto)/.test(r(t)))return t;t=t.parentNode}return window};t.default=o},function(e,t,n){var r,o;!function(i,a){r=a,o="function"==typeof r?r.call(t,n,t,e):r,!(void 0!==o&&(e.exports=o))}(this,function(){function e(e,t){return function(n,r,o,i){n[e]?n[e](r,o,i):n[t]&&n[t]("on"+r,o)}}return{add:e("addEventListener","attachEvent"),remove:e("removeEventListener","detachEvent")}})},function(e,t){(function(t){function n(e,t,n){function o(t){var n=v,r=m;return v=m=void 0,S=t,h=e.apply(r,n)}function i(e){return S=e,g=setTimeout(l,t),T?o(e):h}function f(e){var n=e-E,r=e-S,o=t-n;return x?O(o,b-r):o}function c(e){var n=e-E,r=e-S;return void 0===E||n>=t||n<0||x&&r>=b}function l(){var e=j();return c(e)?s(e):void(g=setTimeout(l,f(e)))}function s(e){return g=void 0,$&&v?o(e):(v=m=void 0,h)}function p(){void 0!==g&&clearTimeout(g),S=0,v=E=m=g=void 0}function d(){return void 0===g?h:s(j())}function y(){var e=j(),n=c(e);if(v=arguments,m=this,E=e,n){if(void 0===g)return i(E);if(x)return g=setTimeout(l,t),o(E)}return void 0===g&&(g=setTimeout(l,t)),h}var v,m,b,h,g,E,S=0,T=!1,x=!1,$=!0;if("function"!=typeof e)throw new TypeError(u);return t=a(t)||0,r(n)&&(T=!!n.leading,x="maxWait"in n,b=x?w(a(n.maxWait)||0,t):b,$="trailing"in n?!!n.trailing:$),y.cancel=p,y.flush=d,y}function r(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function o(e){return!!e&&"object"==typeof e}function i(e){return"symbol"==typeof e||o(e)&&g.call(e)==c}function a(e){if("number"==typeof e)return e;if(i(e))return f;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(l,"");var n=p.test(e);return n||d.test(e)?y(e.slice(2),n?2:8):s.test(e)?f:+e}var u="Expected a function",f=NaN,c="[object Symbol]",l=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,d=/^0o[0-7]+$/i,y=parseInt,v="object"==typeof t&&t&&t.Object===Object&&t,m="object"==typeof self&&self&&self.Object===Object&&self,b=v||m||Function("return this")(),h=Object.prototype,g=h.toString,w=Math.max,O=Math.min,j=function(){return b.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){(function(t){function n(e,t,n){function r(t){var n=v,r=m;return v=m=void 0,S=t,h=e.apply(r,n)}function i(e){return S=e,g=setTimeout(l,t),T?r(e):h}function a(e){var n=e-w,r=e-S,o=t-n;return x?j(o,b-r):o}function c(e){var n=e-w,r=e-S;return void 0===w||n>=t||n<0||x&&r>=b}function l(){var e=E();return c(e)?s(e):void(g=setTimeout(l,a(e)))}function s(e){return g=void 0,$&&v?r(e):(v=m=void 0,h)}function p(){void 0!==g&&clearTimeout(g),S=0,v=w=m=g=void 0}function d(){return void 0===g?h:s(E())}function y(){var e=E(),n=c(e);if(v=arguments,m=this,w=e,n){if(void 0===g)return i(w);if(x)return g=setTimeout(l,t),r(w)}return void 0===g&&(g=setTimeout(l,t)),h}var v,m,b,h,g,w,S=0,T=!1,x=!1,$=!0;if("function"!=typeof e)throw new TypeError(f);return t=u(t)||0,o(n)&&(T=!!n.leading,x="maxWait"in n,b=x?O(u(n.maxWait)||0,t):b,$="trailing"in n?!!n.trailing:$),y.cancel=p,y.flush=d,y}function r(e,t,r){var i=!0,a=!0;if("function"!=typeof e)throw new TypeError(f);return o(r)&&(i="leading"in r?!!r.leading:i,a="trailing"in r?!!r.trailing:a),n(e,t,{leading:i,maxWait:t,trailing:a})}function o(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==typeof e}function a(e){return"symbol"==typeof e||i(e)&&w.call(e)==l}function u(e){if("number"==typeof e)return e;if(a(e))return c;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(s,"");var n=d.test(e);return n||y.test(e)?v(e.slice(2),n?2:8):p.test(e)?c:+e}var f="Expected a function",c=NaN,l="[object Symbol]",s=/^\s+|\s+$/g,p=/^[-+]0x[0-9a-f]+$/i,d=/^0b[01]+$/i,y=/^0o[0-7]+$/i,v=parseInt,m="object"==typeof t&&t&&t.Object===Object&&t,b="object"==typeof self&&self&&self.Object===Object&&self,h=m||b||Function("return this")(),g=Object.prototype,w=g.toString,O=Math.max,j=Math.min,E=function(){return h.Date.now()};e.exports=r}).call(t,function(){return this}())},function(e,t){"use strict";function n(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function r(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"!==r.join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(e){o[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(e){return!1}}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=r()?Object.assign:function(e,t){for(var r,u,f=n(e),c=1;c1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),r)}function O(e){function t(t,n,r,o,i){if("function"!=typeof e)return new p("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var u=t[n],c=_(u);if("object"!==c)return new p("Invalid "+o+" `"+i+"` of type "+("`"+c+"` supplied to `"+r+"`, expected an object."));for(var l in u)if(f(u,l)){var s=e(u,l,r,o,i+"."+l,a);if(s instanceof Error)return s}return null}return d(t)}function j(e){function n(t,n,r,o,i){for(var u=0;u