UNPKG

react-lottie-loader

Version:
2 lines (1 loc) 1.09 kB
var e=require("lottie-web"),t=require("react");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=r(e),a=r(t);function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},u.apply(this,arguments)}var i=["className","style"],l=t.forwardRef(function(e,r){var l=e.className,o=e.style,c=function(e,t){if(null==e)return{};var r,n,a={},u=Object.keys(e);for(n=0;n<u.length;n++)t.indexOf(r=u[n])>=0||(a[r]=e[r]);return a}(e,i),f=t.useRef(null),s=t.useRef();return t.useEffect(function(){if(f.current){var e=n.default.loadAnimation(u({},c,{container:f.current}));return s.current=u({},n.default,{animationItem:e}),function(){var e,t,r;null==(e=s.current)||e.destroy(),null==(t=s.current)||null==(r=t.animationItem)||r.destroy()}}},[c.animationData]),t.useImperativeHandle(r,function(){return s.current},[s.current]),a.default.createElement("div",{ref:f,className:l||"",style:o})});l.displayName="LottieLoader",module.exports=l;