{"version":3,"sources":["jsdelivr-header.js","/npm/react-lazyrender@0.0.3/mixin.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,MAAQ,QAAQ,SAChB,SAAW,QAAQ,aACnB,WAAa,QAAQ,iBAEzB,OAAO,QAAU,SAA8B,GAE7C,OADA,EAAU,GAAW,CAAC,EACf,CACL,sBAAuB,SAAS,EAAW,GAIzC,KAH4D,mBAAlC,EAAQ,uBAC9B,EAAQ,sBAAsB,KAAK,KAAM,EAAW,IAEpC,OAAO,EAC3B,IAAI,EAAmB,EAAQ,SAAW,CAAC,OAAQ,EAAQ,UAAY,CAAC,EACpE,EAAS,SAAS,YAAY,MAIlC,GAH4D,mBAA7B,EAAQ,mBACnC,EAAQ,kBAAkB,KAAK,KAAM,EAAW,IAE5B,WAAW,EAAQ,GAAqB,OAAO,EACvE,IAAI,EAAO,KAIX,OAHA,KAAK,6BAA+B,WAAW,EAAQ,GAAkB,WACvE,EAAK,aACP,KACO,CACT,EACA,qBAAsB,WACjB,KAAK,+BACN,KAAK,6BAA6B,iBAC3B,KAAK,6BAEhB,EAEJ","file":"/npm/react-lazyrender@0.0.3/mixin.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/react-lazyrender@0.0.3/mixin.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var React = require('react');\r\nvar ReactDOM = require('react-dom');\r\nvar inViewport = require('./in-viewport');\r\n\r\nmodule.exports = function reactLazyRenderMixin(options) {\r\n  options = options || {};\r\n  return {\r\n    shouldComponentUpdate: function(nextProps, nextState) {\r\n      var shouldUpdate = typeof options.shouldComponentUpdate === 'function'\r\n        ? options.shouldComponentUpdate.call(this, nextProps, nextState)\r\n        : true;\r\n      if(!shouldUpdate) { return false; }\r\n      var inViewportOption = options.distance ? {offset: options.distance} : {};\r\n      var thisEl = ReactDOM.findDOMNode(this);\r\n      var shouldForceUpdate = typeof options.shouldForceUpdate == 'function'\r\n        ? options.shouldForceUpdate.call(this, nextProps, nextState)\r\n        : false;\r\n      if(shouldForceUpdate || inViewport(thisEl, inViewportOption)) { return true; }\r\n      var comp = this;\r\n      this._reactLazyRenderMixinWatcher = inViewport(thisEl, inViewportOption, function() {\r\n        comp.forceUpdate();\r\n      });\r\n      return false;\r\n    },\r\n    componentWillUnmount: function () {\r\n      if(this._reactLazyRenderMixinWatcher) {\r\n        this._reactLazyRenderMixinWatcher.dispose();\r\n        delete this._reactLazyRenderMixinWatcher;\r\n      }\r\n    }\r\n  };\r\n};\r\n"]}