lazy-react 2.2.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demo/demo.js +39 -56
- package/demo/index.js +218 -29
- package/demo/index.js.LICENSE.txt +32 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +11 -8
- package/src/baseClass.js +65 -61
- package/src/lazyLoadBackgroundImage.js +16 -31
- package/src/lazyLoadComponent.js +20 -28
- package/src/lazyLoadFrame.js +17 -33
- package/src/lazyLoadImage.js +14 -31
- package/webpack.config.demo.js +1 -1
- package/src/indexSingleFile.js +0 -75
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
object-assign
|
|
3
|
+
(c) Sindre Sorhus
|
|
4
|
+
@license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/** @license React v0.20.2
|
|
8
|
+
* scheduler.production.min.js
|
|
9
|
+
*
|
|
10
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
11
|
+
*
|
|
12
|
+
* This source code is licensed under the MIT license found in the
|
|
13
|
+
* LICENSE file in the root directory of this source tree.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/** @license React v17.0.2
|
|
17
|
+
* react-dom.production.min.js
|
|
18
|
+
*
|
|
19
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
20
|
+
*
|
|
21
|
+
* This source code is licensed under the MIT license found in the
|
|
22
|
+
* LICENSE file in the root directory of this source tree.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/** @license React v17.0.2
|
|
26
|
+
* react.production.min.js
|
|
27
|
+
*
|
|
28
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
29
|
+
*
|
|
30
|
+
* This source code is licensed under the MIT license found in the
|
|
31
|
+
* LICENSE file in the root directory of this source tree.
|
|
32
|
+
*/
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("react")):"function"==typeof define&&define.amd?define(["react"],e):"object"==typeof exports?exports.LazyReact=e(require("react")):t.LazyReact=e(t.React)}(window,(function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=3)}([function(e,n){e.exports=t},function(t,e,n){"use strict";(function(t){var r=n(0);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function c(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=s(t);if(e){var o=s(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return f(this,n)}}function f(t,e){return!e||"object"!==o(e)&&"function"!=typeof e?l(t):e}function l(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function s(t){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var a=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&u(t,e)}(f,t);var e,n,r,o=c(f);function f(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,f),(e=o.call(this,t)).state={link:"",visible:!1},e.makeItVisible=e.makeItVisible.bind(l(e)),e}return e=f,(n=[{key:"makeItVisible",value:function(){this.setState({link:this.props.link,visible:!0})}},{key:"componentDidMount",value:function(){f.addElement(this)}},{key:"componentWillUnmount",value:function(){f.removeElementFromList(this)}}])&&i(e.prototype,n),r&&i(e,r),f}(r.Component);a.elements=[],a.eventHandler=function(){if(0===a.elements.length)a.removeScrollHandler();else{for(var t=[],e=0;e<a.elements.length;e++)n=a.elements[e],r=void 0,o=void 0,i=void 0,r=n.offset,o=n.top,i=n.left,window.scrollY+window.innerHeight+r>o&&window.scrollX+window.innerWidth+r>i&&(t.push(e),a.elements[e].element.makeItVisible());t.length>0&&(a.elements=a.elements.filter((function(e,n){return!t.includes(n)}))),a.elements=a.elements.map((function(t){return function(t){var e=t.element.domNode.getBoundingClientRect(),n=e.top,r=e.left,o=e.right;return Object.assign({},t,{top:n,left:r,right:o})}(t)})),a.isListenerAttached=window.requestAnimationFrame(a.eventHandler)}var n,r,o,i},a.addElement=function(t){var e=t.domNode.getBoundingClientRect(),n=e.top,r=e.left,o=e.right;a.elements.push({element:t,top:n,left:r,right:o,offset:t.props.offset||100}),"function"!=typeof a.isListenerAttached&&(a.isListenerAttached=window.requestAnimationFrame(a.eventHandler))},a.removeScrollHandler=function(){window.cancelAnimationFrame(a.isListenerAttached)},a.removeElementFromList=function(t){a.elements=a.elements.filter((function(e){return e.element!==t}))},a.isListenerAttached=!1,"production"===!t.NODE_ENV&&(a.propTypes={link:r.PropTypes.string.isRequired}),e.a=a}).call(this,n(2))},function(t,e){var n,r,o=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function c(t){if(n===setTimeout)return setTimeout(t,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(t){n=i}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(t){r=u}}();var f,l=[],s=!1,a=-1;function p(){s&&f&&(s=!1,f.length?l=f.concat(l):a=-1,l.length&&y())}function y(){if(!s){var t=c(p);s=!0;for(var e=l.length;e;){for(f=l,l=[];++a<e;)f&&f[a].run();a=-1,e=l.length}f=null,s=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===u||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function h(t,e){this.fun=t,this.array=e}function m(){}o.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];l.push(new h(t,e)),1!==l.length||s||c(y)},h.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(t){return[]},o.binding=function(t){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(t){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(t,e,n){"use strict";n.r(e),n.d(e,"LazyBackgroundImage",(function(){return p})),n.d(e,"LazyImage",(function(){return g})),n.d(e,"LazyFrame",(function(){return R})),n.d(e,"LazyComponent",(function(){return A}));var r=n(0),o=n.n(r),i=n(1);function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function c(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function f(t,e){return(f=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function l(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=a(t);if(e){var o=a(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return s(this,n)}}function s(t,e){return!e||"object"!==u(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function a(t){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var p=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&f(t,e)}(u,t);var e,n,r,i=l(u);function u(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,u),i.call(this,t)}return e=u,(n=[{key:"render",value:function(){var t=this;return o.a.createElement("div",{className:this.props.className,style:this.style,ref:function(e){return t.domNode=e}})}},{key:"componentWillMount",value:function(){this.style=Object.assign({backgroundImage:"url(".concat(this.state.link,")")},this.props.style)}},{key:"componentWillUpdate",value:function(t,e){this.style=Object.assign({},this.style,{backgroundImage:"url(".concat(e.link,")")})}}])&&c(e.prototype,n),r&&c(e,r),u}(i.a);function y(t){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function h(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function m(t,e){return(m=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function b(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=v(t);if(e){var o=v(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return d(this,n)}}function d(t,e){return!e||"object"!==y(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function v(t){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}p.defaultProps={className:"",style:{}};var g=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&m(t,e)}(u,t);var e,n,r,i=b(u);function u(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,u),i.call(this,t)}return e=u,(n=[{key:"render",value:function(){var t=this;return o.a.createElement("img",{src:this.state.link,alt:this.props.alt,style:this.style,className:this.props.className,ref:function(e){return t.domNode=e}})}},{key:"componentWillMount",value:function(){""===this.props.className&&!1===this.props.preserveAspect&&(this.style=Object.assign({minHeight:"300px",minWidth:"300px"},this.props.style))}}])&&h(e.prototype,n),r&&h(e,r),u}(i.a);function w(t){return(w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function O(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function j(t,e){return(j=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function _(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=P(t);if(e){var o=P(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return S(this,n)}}function S(t,e){return!e||"object"!==w(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function P(t){return(P=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}g.defaultProps={style:{},className:"",preserveAspect:!0};var R=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&j(t,e)}(u,t);var e,n,r,i=_(u);function u(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,u),i.call(this,t)}return e=u,(n=[{key:"render",value:function(){var t=this;return o.a.createElement("iframe",{height:this.props.height,scrolling:this.props.scrolling,src:this.state.link,frameBorder:this.props.frameBorder,allowTransparency:this.props.allowTransparency,allowFullScreen:this.props.allowFullScreen,style:this.style,ref:function(e){return t.domNode=e}})}},{key:"componentWillMount",value:function(){this.style=Object.assign({minWidth:"100%"},this.props.style)}}])&&O(e.prototype,n),r&&O(e,r),u}(i.a);function k(t){return(k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function T(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function E(t,e){return(E=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function x(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=L(t);if(e){var o=L(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return N(this,n)}}function N(t,e){return!e||"object"!==k(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function L(t){return(L=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}R.defaultProps={height:"500",scrolling:"no",frameBorder:"no",allowTransparency:"true",allowFullScreen:"true"};var A=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&E(t,e)}(u,t);var e,n,r,i=x(u);function u(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,u),i.call(this,t)}return e=u,(n=[{key:"render",value:function(){var t=this,e=this.state.visible?this.props.children:o.a.createElement("div",null);return o.a.createElement("div",{style:this.style,className:this.props.className,ref:function(e){return t.domNode=e}},e)}},{key:"componentWillMount",value:function(){this.style=Object.assign({},this.props.style),this.state.link||this.props.className||this.style.height||(this.style.height="300px")}}])&&T(e.prototype,n),r&&T(e,r),u}(i.a);A.defaultProps={style:{},className:""}}])}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.LazyReact=t(require("react")):e.LazyReact=t(e.React)}(self,(function(e){return(()=>{"use strict";var t={787:t=>{t.exports=e}},r={};function n(e){var o=r[e];if(void 0!==o)return o.exports;var l=r[e]={exports:{}};return t[e](l,l.exports,n),l.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{n.r(o),n.d(o,{LazyBackgroundImage:()=>u,LazyComponent:()=>f,LazyFrame:()=>s,LazyImage:()=>c});var e=n(787),t=n.n(e);function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function l(t,n){var o,l,a=(o=(0,e.useState)({link:"",visible:!1}),l=2,function(e){if(Array.isArray(e))return e}(o)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,l=[],i=!0,a=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(l.push(n.value),!t||l.length!==t);i=!0);}catch(e){a=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(a)throw o}}return l}}(o,l)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(o,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=a[0],c=a[1];function s(){c({visible:!0,link:n.link})}return(0,e.useEffect)((function(){return void 0!==t.current&&i.addElement({element:t.current,props:n,makeItVisible:s}),function(){return i.removeElementFromList({element:t.current,props:n,makeItVisible:s})}}),[]),u}var i={elements:[]};function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u(r){var n,o,i=(0,e.useRef)(),u=l(i,r),c=(n=(0,e.useState)(Object.assign({backgroundImage:"url(".concat(u.link,")")},r.style)),o=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,l=[],i=!0,a=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(l.push(n.value),!t||l.length!==t);i=!0);}catch(e){a=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(a)throw o}}return l}}(n,o)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}(n,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=c[0],f=c[1];return(0,e.useEffect)((function(){f(Object.assign({backgroundImage:"url(".concat(u.link,")")},r.style))}),[u]),t().createElement("div",{className:r.className,style:s,ref:i})}function c(r){var n=(0,e.useRef)(),o=l(n,r);return t().createElement("img",{src:o.link,alt:r.alt,style:r.style,className:r.className,ref:n})}function s(r){var n=(0,e.useRef)(),o=l(n,r);return t().createElement("iframe",{height:r.height||"500",scrolling:r.scrolling||"no",src:o.link,frameBorder:r.frameBorder||"no",allowtransparency:r.allowTransparency||"true",allowFullScreen:r.allowFullScreen||!0,style:r.style||{},ref:n})}function f(r){var n=(0,e.useRef)(),o=l(n,r),i=t().createElement("div",{style:r.style?r.style:{heigt:"300px",width:"300px"}});return t().createElement("div",{ref:n},o.visible?r.children:i)}i.isInViewPort=function(e){var t=e.offset,r=e.top,n=e.left;return window.scrollY+window.innerHeight+t>r&&window.scrollX+window.innerWidth+t>n},i.calculateNewPosition=function(e){var t=e.element.getBoundingClientRect(),r=t.top,n=t.left,o=t.right;return Object.assign({},e,{top:r,left:n,right:o})},i.addElement=function(e){var t=e.element,r=e.props,n=e.makeItVisible,o=t.getBoundingClientRect(),l=o.top,a=o.left,u=o.right;i.elements.push({element:t,top:l,left:a,right:u,offset:r.offset||100,makeItVisible:n}),"function"!=typeof i.isListenerAttached&&(i.isListenerAttached=window.requestAnimationFrame(i.eventHandler))},i.eventHandler=function(){if(0===i.elements.length)i.removeScrollHandler();else{for(var e=[],t=0;t<i.elements.length;t++)i.isInViewPort(i.elements[t])&&(e.push(t),i.elements[t].makeItVisible());e.length>0&&(i.elements=i.elements.filter((function(t,r){return!e.includes(r)}))),i.elements=i.elements.map((function(e){return i.calculateNewPosition(e)})),i.isListenerAttached=window.requestAnimationFrame(i.eventHandler)}},i.removeScrollHandler=function(){window.cancelAnimationFrame(i.isListenerAttached)},i.removeElementFromList=function(e){i.elements=i.elements.filter((function(t){return t!==e}))},i.isListenerAttached=!1})(),o})()}));
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://LazyReact/dist/index.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__0__","modules","installedModules","__webpack_require__","moduleId","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","process","react__WEBPACK_IMPORTED_MODULE_0__","_typeof","obj","iterator","constructor","_defineProperties","target","props","length","descriptor","configurable","writable","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","toString","e","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","this","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","getPrototypeOf","CheckIfRender","_Component","subClass","superClass","TypeError","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","state","link","visible","makeItVisible","setState","addElement","removeElementFromList","elements","eventHandler","removeScrollHandler","savedIndexs","_ref","offset","top","left","scrollY","innerHeight","scrollX","innerWidth","push","element","filter","elem","index","includes","map","_reference$getBoundin","domNode","getBoundingClientRect","right","assign","calculateNewPosition","isListenerAttached","requestAnimationFrame","_element$domNode$getB","cancelAnimationFrame","toRemove","NODE_ENV","propTypes","string","isRequired","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","lazyLoadBackgroundImage_LazyBackgroundImage","lazyLoadImage_LazyImage","lazyLoadFrame_LazyFrame","lazyLoadComponent_LazyComponent","external_root_React_commonjs2_react_commonjs_react_amd_react_","external_root_React_commonjs2_react_commonjs_react_amd_react_default","baseClass","_CheckIfRender","LazyBackgroundImage","a","createElement","className","style","ref","node","backgroundImage","nextProps","nextState","lazyLoadImage_typeof","lazyLoadImage_defineProperties","lazyLoadImage_setPrototypeOf","lazyLoadImage_createSuper","lazyLoadImage_isNativeReflectConstruct","lazyLoadImage_getPrototypeOf","lazyLoadImage_possibleConstructorReturn","lazyLoadImage_assertThisInitialized","defaultProps","lazyLoadImage_inherits","LazyImage","lazyLoadImage_classCallCheck","src","alt","preserveAspect","minHeight","minWidth","lazyLoadFrame_typeof","lazyLoadFrame_defineProperties","lazyLoadFrame_setPrototypeOf","lazyLoadFrame_createSuper","lazyLoadFrame_isNativeReflectConstruct","lazyLoadFrame_getPrototypeOf","lazyLoadFrame_possibleConstructorReturn","lazyLoadFrame_assertThisInitialized","lazyLoadFrame_inherits","LazyFrame","lazyLoadFrame_classCallCheck","height","scrolling","frameBorder","allowTransparency","allowFullScreen","lazyLoadComponent_typeof","lazyLoadComponent_defineProperties","lazyLoadComponent_setPrototypeOf","lazyLoadComponent_createSuper","lazyLoadComponent_isNativeReflectConstruct","lazyLoadComponent_getPrototypeOf","lazyLoadComponent_possibleConstructorReturn","lazyLoadComponent_assertThisInitialized","lazyLoadComponent_inherits","LazyComponent","lazyLoadComponent_classCallCheck","toRender","children"],"mappings":"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","file":"./dist/index.js","sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"./dist/index.js","mappings":"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","sources":["webpack://LazyReact/webpack/universalModuleDefinition","webpack://LazyReact/external umd {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://LazyReact/webpack/bootstrap","webpack://LazyReact/webpack/runtime/compat get default export","webpack://LazyReact/webpack/runtime/define property getters","webpack://LazyReact/webpack/runtime/hasOwnProperty shorthand","webpack://LazyReact/webpack/runtime/make namespace object","webpack://LazyReact/./src/baseClass.js","webpack://LazyReact/./src/lazyLoadBackgroundImage.js","webpack://LazyReact/./src/lazyLoadImage.js","webpack://LazyReact/./src/lazyLoadFrame.js","webpack://LazyReact/./src/lazyLoadComponent.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"LazyReact\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"LazyReact\"] = factory(root[\"React\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__787__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__787__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import React, { useState, useEffect } from 'react' // eslint-disable-line no-unused-vars\n\nexport default function useRenderIfInViewPort(element, props) {\n const [state, setState] = useState({\n link: '',\n visible: false,\n })\n\n function makeItVisible() {\n setState({\n visible: true,\n link: props.link,\n })\n }\n\n useEffect(() => {\n if (element.current !== undefined)\n CheckIfRender.addElement({\n element: element.current,\n props,\n makeItVisible,\n })\n return () =>\n CheckIfRender.removeElementFromList({\n element: element.current,\n props,\n makeItVisible,\n })\n }, [])\n\n return state\n}\n\nconst CheckIfRender = {\n elements: [],\n}\n\nCheckIfRender.isInViewPort = ({ offset, top, left }) =>\n window.scrollY + window.innerHeight + offset > top &&\n window.scrollX + window.innerWidth + offset > left\n\nCheckIfRender.calculateNewPosition = (elem) => {\n const reference = elem.element\n const { top, left, right } = reference.getBoundingClientRect()\n return {\n ...elem,\n top,\n left,\n right,\n }\n}\n\nCheckIfRender.addElement = function ({ element, props, makeItVisible }) {\n //the distance from the pixel 0,0 and the top of the element\n const { top, left, right } = element.getBoundingClientRect()\n CheckIfRender.elements.push({\n element,\n top,\n left,\n right,\n offset: props.offset || 100,\n makeItVisible,\n })\n //check if has already been started the rAF cycle\n if (typeof CheckIfRender.isListenerAttached !== 'function') {\n CheckIfRender.isListenerAttached = window.requestAnimationFrame(\n CheckIfRender.eventHandler\n )\n }\n}\n\nCheckIfRender.eventHandler = function () {\n //if there is no more element to lazy load just remove the listeners/rAF\n if (CheckIfRender.elements.length === 0) {\n CheckIfRender.removeScrollHandler()\n } else {\n //save every index of elements that has been loaded\n let savedIndexs = []\n for (let i = 0; i < CheckIfRender.elements.length; i++) {\n if (CheckIfRender.isInViewPort(CheckIfRender.elements[i])) {\n savedIndexs.push(i)\n //make the element visible\n CheckIfRender.elements[i].makeItVisible()\n }\n }\n //remove elements that has already been loaded from the list of the elements\n if (savedIndexs.length > 0)\n CheckIfRender.elements = CheckIfRender.elements.filter(\n (elem, index) => !savedIndexs.includes(index)\n )\n //update the coordinates of the elements\n CheckIfRender.elements = CheckIfRender.elements.map((elem) =>\n CheckIfRender.calculateNewPosition(elem)\n )\n CheckIfRender.isListenerAttached = window.requestAnimationFrame(\n CheckIfRender.eventHandler\n )\n }\n}\n\nCheckIfRender.removeScrollHandler = function () {\n window.cancelAnimationFrame(CheckIfRender.isListenerAttached)\n}\n\n//When an element is unloaded remove it from the list of elements that are waiting to be lazy-loaded\nCheckIfRender.removeElementFromList = function (toRemove) {\n CheckIfRender.elements = CheckIfRender.elements.filter(\n (elem) => elem !== toRemove\n )\n}\n\nCheckIfRender.isListenerAttached = false\n\nexport { CheckIfRender }\n","import React, { useState, useEffect, useRef } from 'react' // eslint-disable-line no-unused-vars\nimport useIsInViewPort from './baseClass'\n\nexport default function LazyBackgroundImage(props) {\n const ref = useRef()\n let isViewable = useIsInViewPort(ref, props)\n const [style, setStyle] = useState({\n backgroundImage: `url(${isViewable.link})`,\n ...props.style,\n })\n\n useEffect(() => {\n setStyle({\n backgroundImage: `url(${isViewable.link})`,\n ...props.style,\n })\n }, [isViewable])\n\n return <div className={props.className} style={style} ref={ref} />\n}\n","import React, { useRef } from 'react' // eslint-disable-line no-unused-vars\nimport useIsInViewPort from './baseClass'\n\nexport default function LazyImage(props) {\n const ref = useRef()\n const isViewable = useIsInViewPort(ref, props)\n\n return (\n <img\n src={isViewable.link}\n alt={props.alt}\n style={props.style}\n className={props.className}\n ref={ref}\n />\n )\n}\n","import React, { useRef } from 'react' // eslint-disable-line no-unused-vars\nimport useIsInViewPort from './baseClass'\n\nexport default function LazyFrame(props) {\n const ref = useRef()\n let isViewable = useIsInViewPort(ref, props)\n\n return (\n <iframe\n height={props.height || '500'}\n scrolling={props.scrolling || 'no'}\n src={isViewable.link}\n frameBorder={props.frameBorder || 'no'}\n allowtransparency={props.allowTransparency || 'true'}\n allowFullScreen={props.allowFullScreen || true}\n style={props.style || {}}\n ref={ref}\n />\n )\n}\n","import React, { useRef } from 'react' // eslint-disable-line no-unused-vars\nimport useIsInViewPort from './baseClass'\n\nexport default function LazyComponent(props) {\n const ref = useRef()\n let isViewable = useIsInViewPort(ref, props)\n\n const placeHolder = (\n <div\n style={\n props.style\n ? props.style\n : {\n heigt: '300px',\n width: '300px',\n }\n }\n />\n )\n\n return (\n <div ref={ref}>{isViewable.visible ? props.children : placeHolder}</div>\n )\n}\n"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__787__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","useRenderIfInViewPort","element","props","useState","link","visible","state","setState","makeItVisible","useEffect","current","CheckIfRender","addElement","removeElementFromList","elements","LazyBackgroundImage","ref","useRef","isViewable","useIsInViewPort","backgroundImage","style","setStyle","className","LazyImage","src","alt","LazyFrame","height","scrolling","frameBorder","allowtransparency","allowTransparency","allowFullScreen","LazyComponent","placeHolder","heigt","width","children","isInViewPort","offset","top","left","window","scrollY","innerHeight","scrollX","innerWidth","calculateNewPosition","elem","getBoundingClientRect","right","push","isListenerAttached","requestAnimationFrame","eventHandler","length","removeScrollHandler","savedIndexs","i","filter","index","includes","map","cancelAnimationFrame","toRemove"],"sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lazy-react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "components to lazy load iframes, images and images as backgrounds",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
"lint": "eslint src/*",
|
|
11
11
|
"lint:fix": "eslint --fix src/*",
|
|
12
12
|
"prettify": "prettier --write --single-quote --no-semi ./src/*.js",
|
|
13
|
-
"precommit": "lint-staged"
|
|
13
|
+
"precommit": "lint-staged",
|
|
14
|
+
"test": "jest"
|
|
14
15
|
},
|
|
15
16
|
"lint-staged": {
|
|
16
17
|
"src/*.js": [
|
|
@@ -33,23 +34,25 @@
|
|
|
33
34
|
"@babel/plugin-proposal-object-rest-spread": "^7.11.0",
|
|
34
35
|
"@babel/preset-env": "^7.11.5",
|
|
35
36
|
"@babel/preset-react": "^7.10.4",
|
|
37
|
+
"@types/jest": "^27.4.0",
|
|
36
38
|
"babel-cli": "^6.26.0",
|
|
37
39
|
"babel-loader": "^8.1.0",
|
|
38
40
|
"babel-plugin-transform-object-rest-spread": "^6.26.0",
|
|
39
41
|
"eslint": "^7.10.0",
|
|
40
42
|
"eslint-plugin-react": "^7.21.3",
|
|
41
43
|
"husky": "^4.3.0",
|
|
44
|
+
"jest": "^27.5.1",
|
|
42
45
|
"lint-staged": "^10.4.0",
|
|
43
46
|
"prettier": "^2.1.2",
|
|
44
|
-
"webpack": "^
|
|
45
|
-
"webpack-cli": "^
|
|
47
|
+
"webpack": "^5.66.0",
|
|
48
|
+
"webpack-cli": "^4.9.1"
|
|
46
49
|
},
|
|
47
50
|
"dependencies": {
|
|
48
|
-
"react": "^
|
|
49
|
-
"react-dom": "^
|
|
51
|
+
"react": "^17.0.2",
|
|
52
|
+
"react-dom": "^17.0.2"
|
|
50
53
|
},
|
|
51
54
|
"peerDependencies": {
|
|
52
|
-
"react": "^
|
|
53
|
-
"react-dom": "^
|
|
55
|
+
"react": "^17.0.2",
|
|
56
|
+
"react-dom": "^17.0.2"
|
|
54
57
|
}
|
|
55
58
|
}
|
package/src/baseClass.js
CHANGED
|
@@ -1,47 +1,75 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useState, useEffect } from 'react' // eslint-disable-line no-unused-vars
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
export default function useRenderIfInViewPort(element, props) {
|
|
4
|
+
const [state, setState] = useState({
|
|
5
|
+
link: '',
|
|
6
|
+
visible: false,
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
function makeItVisible() {
|
|
10
|
+
setState({
|
|
11
|
+
visible: true,
|
|
12
|
+
link: props.link,
|
|
13
|
+
})
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (element.current !== undefined)
|
|
18
|
+
CheckIfRender.addElement({
|
|
19
|
+
element: element.current,
|
|
20
|
+
props,
|
|
21
|
+
makeItVisible,
|
|
22
|
+
})
|
|
23
|
+
return () =>
|
|
24
|
+
CheckIfRender.removeElementFromList({
|
|
25
|
+
element: element.current,
|
|
26
|
+
props,
|
|
27
|
+
makeItVisible,
|
|
28
|
+
})
|
|
29
|
+
}, [])
|
|
30
|
+
|
|
31
|
+
return state
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const CheckIfRender = {
|
|
35
|
+
elements: [],
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
CheckIfRender.isInViewPort = ({ offset, top, left }) =>
|
|
4
39
|
window.scrollY + window.innerHeight + offset > top &&
|
|
5
40
|
window.scrollX + window.innerWidth + offset > left
|
|
6
41
|
|
|
7
|
-
|
|
8
|
-
const reference = elem.element
|
|
42
|
+
CheckIfRender.calculateNewPosition = (elem) => {
|
|
43
|
+
const reference = elem.element
|
|
9
44
|
const { top, left, right } = reference.getBoundingClientRect()
|
|
10
45
|
return {
|
|
11
46
|
...elem,
|
|
12
47
|
top,
|
|
13
48
|
left,
|
|
14
|
-
right
|
|
49
|
+
right,
|
|
15
50
|
}
|
|
16
51
|
}
|
|
17
52
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
componentDidMount() {
|
|
35
|
-
CheckIfRender.addElement(this)
|
|
36
|
-
}
|
|
37
|
-
componentWillUnmount() {
|
|
38
|
-
CheckIfRender.removeElementFromList(this)
|
|
53
|
+
CheckIfRender.addElement = function ({ element, props, makeItVisible }) {
|
|
54
|
+
//the distance from the pixel 0,0 and the top of the element
|
|
55
|
+
const { top, left, right } = element.getBoundingClientRect()
|
|
56
|
+
CheckIfRender.elements.push({
|
|
57
|
+
element,
|
|
58
|
+
top,
|
|
59
|
+
left,
|
|
60
|
+
right,
|
|
61
|
+
offset: props.offset || 100,
|
|
62
|
+
makeItVisible,
|
|
63
|
+
})
|
|
64
|
+
//check if has already been started the rAF cycle
|
|
65
|
+
if (typeof CheckIfRender.isListenerAttached !== 'function') {
|
|
66
|
+
CheckIfRender.isListenerAttached = window.requestAnimationFrame(
|
|
67
|
+
CheckIfRender.eventHandler
|
|
68
|
+
)
|
|
39
69
|
}
|
|
40
70
|
}
|
|
41
71
|
|
|
42
|
-
CheckIfRender.
|
|
43
|
-
|
|
44
|
-
CheckIfRender.eventHandler = function() {
|
|
72
|
+
CheckIfRender.eventHandler = function () {
|
|
45
73
|
//if there is no more element to lazy load just remove the listeners/rAF
|
|
46
74
|
if (CheckIfRender.elements.length === 0) {
|
|
47
75
|
CheckIfRender.removeScrollHandler()
|
|
@@ -49,10 +77,10 @@ CheckIfRender.eventHandler = function() {
|
|
|
49
77
|
//save every index of elements that has been loaded
|
|
50
78
|
let savedIndexs = []
|
|
51
79
|
for (let i = 0; i < CheckIfRender.elements.length; i++) {
|
|
52
|
-
if (isInViewPort(CheckIfRender.elements[i])) {
|
|
80
|
+
if (CheckIfRender.isInViewPort(CheckIfRender.elements[i])) {
|
|
53
81
|
savedIndexs.push(i)
|
|
54
82
|
//make the element visible
|
|
55
|
-
CheckIfRender.elements[i].
|
|
83
|
+
CheckIfRender.elements[i].makeItVisible()
|
|
56
84
|
}
|
|
57
85
|
}
|
|
58
86
|
//remove elements that has already been loaded from the list of the elements
|
|
@@ -61,8 +89,8 @@ CheckIfRender.eventHandler = function() {
|
|
|
61
89
|
(elem, index) => !savedIndexs.includes(index)
|
|
62
90
|
)
|
|
63
91
|
//update the coordinates of the elements
|
|
64
|
-
CheckIfRender.elements = CheckIfRender.elements.map(elem =>
|
|
65
|
-
calculateNewPosition(elem)
|
|
92
|
+
CheckIfRender.elements = CheckIfRender.elements.map((elem) =>
|
|
93
|
+
CheckIfRender.calculateNewPosition(elem)
|
|
66
94
|
)
|
|
67
95
|
CheckIfRender.isListenerAttached = window.requestAnimationFrame(
|
|
68
96
|
CheckIfRender.eventHandler
|
|
@@ -70,41 +98,17 @@ CheckIfRender.eventHandler = function() {
|
|
|
70
98
|
}
|
|
71
99
|
}
|
|
72
100
|
|
|
73
|
-
CheckIfRender.
|
|
74
|
-
//the distance from the pixel 0,0 and the top of the element
|
|
75
|
-
const { top, left, right } = element.domNode.getBoundingClientRect()
|
|
76
|
-
CheckIfRender.elements.push({
|
|
77
|
-
element,
|
|
78
|
-
top,
|
|
79
|
-
left,
|
|
80
|
-
right,
|
|
81
|
-
offset: element.props.offset || 100
|
|
82
|
-
})
|
|
83
|
-
//check if has already been started the rAF cycle
|
|
84
|
-
if (typeof CheckIfRender.isListenerAttached !== 'function') {
|
|
85
|
-
CheckIfRender.isListenerAttached = window.requestAnimationFrame(
|
|
86
|
-
CheckIfRender.eventHandler
|
|
87
|
-
)
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
CheckIfRender.removeScrollHandler = function() {
|
|
101
|
+
CheckIfRender.removeScrollHandler = function () {
|
|
92
102
|
window.cancelAnimationFrame(CheckIfRender.isListenerAttached)
|
|
93
103
|
}
|
|
94
104
|
|
|
95
105
|
//When an element is unloaded remove it from the list of elements that are waiting to be lazy-loaded
|
|
96
|
-
CheckIfRender.removeElementFromList = function(toRemove) {
|
|
106
|
+
CheckIfRender.removeElementFromList = function (toRemove) {
|
|
97
107
|
CheckIfRender.elements = CheckIfRender.elements.filter(
|
|
98
|
-
elem => elem
|
|
108
|
+
(elem) => elem !== toRemove
|
|
99
109
|
)
|
|
100
110
|
}
|
|
101
111
|
|
|
102
112
|
CheckIfRender.isListenerAttached = false
|
|
103
113
|
|
|
104
|
-
|
|
105
|
-
CheckIfRender.propTypes = {
|
|
106
|
-
link: PropTypes.string.isRequired
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export default CheckIfRender
|
|
114
|
+
export { CheckIfRender }
|
|
@@ -1,35 +1,20 @@
|
|
|
1
|
-
import React from 'react' // eslint-disable-line no-unused-vars
|
|
2
|
-
import
|
|
1
|
+
import React, { useState, useEffect, useRef } from 'react' // eslint-disable-line no-unused-vars
|
|
2
|
+
import useIsInViewPort from './baseClass'
|
|
3
3
|
|
|
4
|
-
export default
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
className={this.props.className}
|
|
12
|
-
style={this.style}
|
|
13
|
-
ref={node => (this.domNode = node)}
|
|
14
|
-
/>
|
|
15
|
-
)
|
|
16
|
-
}
|
|
17
|
-
componentWillMount() {
|
|
18
|
-
this.style = {
|
|
19
|
-
backgroundImage: `url(${this.state.link})`,
|
|
20
|
-
...this.props.style
|
|
21
|
-
}
|
|
22
|
-
}
|
|
4
|
+
export default function LazyBackgroundImage(props) {
|
|
5
|
+
const ref = useRef()
|
|
6
|
+
let isViewable = useIsInViewPort(ref, props)
|
|
7
|
+
const [style, setStyle] = useState({
|
|
8
|
+
backgroundImage: `url(${isViewable.link})`,
|
|
9
|
+
...props.style,
|
|
10
|
+
})
|
|
23
11
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
setStyle({
|
|
14
|
+
backgroundImage: `url(${isViewable.link})`,
|
|
15
|
+
...props.style,
|
|
16
|
+
})
|
|
17
|
+
}, [isViewable])
|
|
31
18
|
|
|
32
|
-
|
|
33
|
-
className: '',
|
|
34
|
-
style: {}
|
|
19
|
+
return <div className={props.className} style={style} ref={ref} />
|
|
35
20
|
}
|
package/src/lazyLoadComponent.js
CHANGED
|
@@ -1,32 +1,24 @@
|
|
|
1
|
-
import React from 'react' // eslint-disable-line no-unused-vars
|
|
2
|
-
import
|
|
1
|
+
import React, { useRef } from 'react' // eslint-disable-line no-unused-vars
|
|
2
|
+
import useIsInViewPort from './baseClass'
|
|
3
3
|
|
|
4
|
-
export default
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
render() {
|
|
9
|
-
let toRender = this.state.visible ? this.props.children : <div />
|
|
4
|
+
export default function LazyComponent(props) {
|
|
5
|
+
const ref = useRef()
|
|
6
|
+
let isViewable = useIsInViewPort(ref, props)
|
|
10
7
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
8
|
+
const placeHolder = (
|
|
9
|
+
<div
|
|
10
|
+
style={
|
|
11
|
+
props.style
|
|
12
|
+
? props.style
|
|
13
|
+
: {
|
|
14
|
+
heigt: '300px',
|
|
15
|
+
width: '300px',
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/>
|
|
19
|
+
)
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
this.style.height = '300px'
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
LazyComponent.defaultProps = {
|
|
30
|
-
style: {},
|
|
31
|
-
className: ''
|
|
21
|
+
return (
|
|
22
|
+
<div ref={ref}>{isViewable.visible ? props.children : placeHolder}</div>
|
|
23
|
+
)
|
|
32
24
|
}
|
package/src/lazyLoadFrame.js
CHANGED
|
@@ -1,36 +1,20 @@
|
|
|
1
|
-
import React from 'react' // eslint-disable-line no-unused-vars
|
|
2
|
-
import
|
|
1
|
+
import React, { useRef } from 'react' // eslint-disable-line no-unused-vars
|
|
2
|
+
import useIsInViewPort from './baseClass'
|
|
3
3
|
|
|
4
|
-
export default
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
render() {
|
|
9
|
-
return (
|
|
10
|
-
<iframe
|
|
11
|
-
height={this.props.height}
|
|
12
|
-
scrolling={this.props.scrolling}
|
|
13
|
-
src={this.state.link}
|
|
14
|
-
frameBorder={this.props.frameBorder}
|
|
15
|
-
allowTransparency={this.props.allowTransparency}
|
|
16
|
-
allowFullScreen={this.props.allowFullScreen}
|
|
17
|
-
style={this.style}
|
|
18
|
-
ref={node => (this.domNode = node)}
|
|
19
|
-
/>
|
|
20
|
-
)
|
|
21
|
-
}
|
|
22
|
-
componentWillMount() {
|
|
23
|
-
this.style = {
|
|
24
|
-
minWidth: '100%',
|
|
25
|
-
...this.props.style
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
4
|
+
export default function LazyFrame(props) {
|
|
5
|
+
const ref = useRef()
|
|
6
|
+
let isViewable = useIsInViewPort(ref, props)
|
|
29
7
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
8
|
+
return (
|
|
9
|
+
<iframe
|
|
10
|
+
height={props.height || '500'}
|
|
11
|
+
scrolling={props.scrolling || 'no'}
|
|
12
|
+
src={isViewable.link}
|
|
13
|
+
frameBorder={props.frameBorder || 'no'}
|
|
14
|
+
allowtransparency={props.allowTransparency || 'true'}
|
|
15
|
+
allowFullScreen={props.allowFullScreen || true}
|
|
16
|
+
style={props.style || {}}
|
|
17
|
+
ref={ref}
|
|
18
|
+
/>
|
|
19
|
+
)
|
|
36
20
|
}
|
package/src/lazyLoadImage.js
CHANGED
|
@@ -1,34 +1,17 @@
|
|
|
1
|
-
import React from 'react' // eslint-disable-line no-unused-vars
|
|
2
|
-
import
|
|
1
|
+
import React, { useRef } from 'react' // eslint-disable-line no-unused-vars
|
|
2
|
+
import useIsInViewPort from './baseClass'
|
|
3
3
|
|
|
4
|
-
export default
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
render() {
|
|
9
|
-
return (
|
|
10
|
-
<img
|
|
11
|
-
src={this.state.link}
|
|
12
|
-
alt={this.props.alt}
|
|
13
|
-
style={this.style}
|
|
14
|
-
className={this.props.className}
|
|
15
|
-
ref={node => (this.domNode = node)}
|
|
16
|
-
/>
|
|
17
|
-
)
|
|
18
|
-
}
|
|
19
|
-
componentWillMount() {
|
|
20
|
-
if (this.props.className === '' && this.props.preserveAspect === false) {
|
|
21
|
-
this.style = {
|
|
22
|
-
minHeight: '300px',
|
|
23
|
-
minWidth: '300px',
|
|
24
|
-
...this.props.style
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
4
|
+
export default function LazyImage(props) {
|
|
5
|
+
const ref = useRef()
|
|
6
|
+
const isViewable = useIsInViewPort(ref, props)
|
|
29
7
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
8
|
+
return (
|
|
9
|
+
<img
|
|
10
|
+
src={isViewable.link}
|
|
11
|
+
alt={props.alt}
|
|
12
|
+
style={props.style}
|
|
13
|
+
className={props.className}
|
|
14
|
+
ref={ref}
|
|
15
|
+
/>
|
|
16
|
+
)
|
|
34
17
|
}
|