{"version":3,"file":"Lottie.CYtQ-J2X.mjs","names":["SrcType","Poster"],"sources":["https:/framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useCallback,useEffect}from\"react\";import{motion,addPropertyControls,ControlType,RenderTarget}from\"framer\";import{defaultEvents}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{useAutoMotionValue}from\"https://framer.com/m/framer/useAutoMotionValue.js@0.3.0\";import lottie from\"https://jspm.dev/lottie-web@5.7.8\";var SrcType;(function(SrcType){SrcType[\"File\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));var Poster;(function(Poster){Poster[\"Auto\"]=\"Auto\";Poster[\"Custom\"]=\"Custom\";})(Poster||(Poster={}));const placeholderUrl=\"https://misc.framerstatic.com/lottie/logo.json\";/**\n * LOTTIE\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 350\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Lottie(props){const{style,srcUrl,srcFile,srcType,poster,progress:progressRaw,playing,loop,posterProgress,pauseOnCanvas,isForwardsDirection,speed,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,onComplete}=props;const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const shouldPlay=(!pauseOnCanvas||!isOnCanvas)&&playing;const direction=isForwardsDirection?1:-1;const isCustomPoster=poster===\"Custom\";const el=useRef();const didInitialMount=useRef(false);const animationInfo=useRef({data:null,animation:null,duration:null});const progress=useAutoMotionValue(progressRaw,{transform:v=>v*.01});const play=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.play();};const pause=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.pause();};const destroy=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.destroy();};const scrubTo=useCallback((normalizedProgress,shouldPlayAfter)=>{if(!animationInfo.current.duration||!animationInfo.current.animation)return;// Lottie gets weird when scrubbing to the exact last frame\nconst frameNumberTarget=normalizedProgress===1?animationInfo.current.duration-1:normalizedProgress*animationInfo.current.duration;if(shouldPlayAfter)animationInfo.current.animation.goToAndPlay(frameNumberTarget,true);else animationInfo.current.animation.goToAndStop(frameNumberTarget,true);},[]);const fetchLottieData=useCallback(async url=>{if(!url)return null;const data=await fetch(url,{method:\"GET\",credentials:\"omit\",redirect:\"follow\"}).then(d=>d.json());return data;},[]);// Fetch lottie animation & start setup\nconst init=useCallback(async()=>{// Clear current animation\ndestroy();let dataUrl;if(srcType===\"URL\")dataUrl=srcUrl;if(srcType===\"Upload\")dataUrl=srcFile;if(!dataUrl){console.warn(\"No valid Lottie animation provided\");dataUrl=placeholderUrl;}const data=await fetchLottieData(dataUrl);animationInfo.current.data=data;return setup(didInitialMount.current);},[srcType,srcUrl,srcFile]);// Create Lottie animation\nconst setup=useCallback(shouldPlayAfter=>{if(!el.current)return;destroy();const options={container:el.current,renderer:\"svg\",loop:loop,autoplay:shouldPlay,animationData:animationInfo.current.data,rendererSettings:{preserveAspectRatio:\"xMidYMid slice\"}};const anim=animationInfo.current.animation=lottie.loadAnimation(options);animationInfo.current.duration=anim.getDuration(true);anim.setDirection(direction);anim.setSpeed(speed);didInitialMount.current=true;if(isOnCanvas&&isCustomPoster)scrubTo(posterProgress,false);else scrubTo(progress.get(),shouldPlay||shouldPlayAfter);return()=>{anim.destroy();};},[loop,shouldPlay,speed,direction,isOnCanvas,isCustomPoster,posterProgress]);// Initial setup or re-init when source changes\nuseEffect(()=>{let cleanup;init().then(c=>cleanup=c);return()=>{if(cleanup)cleanup();};},[srcType,srcFile,srcUrl]);// No run-time option for loop option, recreating anim\nuseEffect(()=>{if(!didInitialMount.current)return;return setup(false);},[loop]);// Perf hack lets see if anyone notices\nuseEffect(()=>lottie.setQuality(isOnCanvas?\"low\":\"medium\"),[]);// useEffect(() => {\n//     if (!isOnCanvas) return\n//     const normalizedProgress = progress.get() * 0.01\n//     if (shouldPlay) scrubTo(normalizedProgress, true)\n//     else scrubTo(normalizedProgress, false)\n// }, [progressRaw, shouldPlay])\nuseEffect(()=>progress.onChange(val=>{if(isOnCanvas)return;if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);}),[]);useEffect(()=>{const val=progress.get();if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);},[progressRaw]);useEffect(()=>{if(!isOnCanvas)return;const normalizedPosterProgress=posterProgress*.01;if(isCustomPoster)scrubTo(normalizedPosterProgress,false);else scrubTo(progress.get(),false);},[isCustomPoster,posterProgress]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setSpeed(speed);scrubTo(progress.get(),true);},[speed]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setDirection(direction);scrubTo(progress.get(),true);},[direction]);useEffect(()=>{if(shouldPlay)play();else pause();},[shouldPlay]);return /*#__PURE__*/_jsx(motion.div,{ref:el,style:style,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp});}Lottie.defaultProps={height:200,width:200,srcType:\"URL\",pauseOnCanvas:true,srcUrl:placeholderUrl,progress:0,poster:\"Auto\",posterProgress:0};addPropertyControls(Lottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.json\",hidden:props=>props.srcType===\"Upload\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"json\"],hidden:props=>props.srcType===\"URL\"},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},// Temporarily disabling for perf\npauseOnCanvas:{type:ControlType.Boolean,title:\"Canvas\",disabledTitle:\"Play\",enabledTitle:\"Pause\",hidden:props=>props.playing===false},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},isForwardsDirection:{title:\"Direction\",type:ControlType.Boolean,enabledTitle:\"Normal\",disabledTitle:\"Reverse\"},speed:{type:ControlType.Number,defaultValue:1,min:0,max:10,step:.5,displayStepper:true,unit:\"x\"},poster:{title:\"Poster\",type:ControlType.Enum,options:[\"Auto\",\"Custom\"],displaySegmentedControl:true},posterProgress:{title:\" \",type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({poster})=>poster===\"Auto\"},progress:{title:\"Progress\",type:ControlType.Number,max:100,min:0,unit:\"%\",description:\"This component is made for JSON files. [Learn more here](https://lottiefiles.com/what-is-lottie).\"},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Lottie\":{\"type\":\"reactComponent\",\"name\":\"Lottie\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"350\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lottie.map"],"mappings":"0lBAQG,SAAgB,EAAO,EAAM,CAAC,GAAK,CAAC,QAAM,SAAO,UAAQ,UAAQ,SAAO,SAAS,EAAY,UAAQ,OAAK,iBAAe,gBAAc,sBAAoB,QAAM,UAAQ,eAAa,eAAa,cAAY,YAAU,aAAW,CAAC,EAAY,EAAW,EAAa,SAAS,GAAG,EAAa,OAAa,IAAa,IAAgB,IAAa,EAAc,EAAU,EAAoB,EAAE,GAAS,EAAe,IAAS,SAAe,EAAG,GAAQ,CAAO,EAAgB,GAAO,EAAM,CAAO,EAAc,EAAO,CAAC,KAAK,KAAK,UAAU,KAAK,SAAS,IAAK,EAAC,CAAO,EAAS,EAAmB,EAAY,CAAC,UAAU,GAAG,EAAE,GAAI,EAAC,CAAO,EAAK,IAAI,CAAC,IAAI,EAAiC,EAAuB,OAAO,EAAuB,EAAc,UAAW,SAA2C,GAA+H,CAA5H,EAAiC,EAAuB,YAAqG,MAAM,AAAE,EAAO,EAAM,IAAI,CAAC,IAAI,EAAiC,EAAuB,OAAO,EAAuB,EAAc,UAAW,SAA2C,GAA+H,CAA5H,EAAiC,EAAuB,YAAqG,OAAO,AAAE,EAAO,EAAQ,IAAI,CAAC,IAAI,EAAiC,EAAuB,OAAO,EAAuB,EAAc,UAAW,SAA2C,GAA+H,CAA5H,EAAiC,EAAuB,YAAqG,SAAS,AAAE,EAAO,EAAQ,EAAY,CAAC,EAAmB,IAAkB,CAAC,IAAI,EAAc,QAAQ,WAAW,EAAc,QAAQ,UAAU,OACtwD,IAAM,EAAkB,IAAqB,EAAE,EAAc,QAAQ,SAAS,EAAE,EAAmB,EAAc,QAAQ,SAAS,AAAG,EAAgB,EAAc,QAAQ,UAAU,YAAY,GAAkB,EAAK,CAAM,EAAc,QAAQ,UAAU,YAAY,GAAkB,EAAK,AAAE,EAAC,CAAE,EAAC,CAAO,EAAgB,EAAY,MAAM,GAAK,CAAC,IAAI,EAAI,OAAO,KAAK,IAAM,EAAK,KAAM,OAAM,EAAI,CAAC,OAAO,MAAM,YAAY,OAAO,SAAS,QAAS,EAAC,CAAC,KAAK,GAAG,EAAE,MAAM,CAAC,CAAC,OAAO,CAAM,EAAC,CAAE,EAAC,CACvd,EAAK,EAAY,SAAS,CAChC,GAAS,CAAC,IAAI,EAAgF,AAArE,IAAU,QAAM,EAAQ,GAAU,IAAU,WAAS,EAAQ,GAAY,IAAS,QAAQ,KAAK,qCAAqC,CAAC,EAAQ,OAAsB,EAAK,KAAM,GAAgB,EAAQ,CAAiC,OAAhC,EAAc,QAAQ,KAAK,EAAY,EAAM,EAAgB,QAAQ,AAAE,EAAC,CAAC,EAAQ,EAAO,CAAQ,EAAC,CAC3T,EAAM,EAAY,GAAiB,CAAC,IAAI,EAAG,QAAQ,OAAO,GAAS,CAAC,IAAM,EAAQ,CAAC,UAAU,EAAG,QAAQ,SAAS,MAAW,OAAK,SAAS,EAAW,cAAc,EAAc,QAAQ,KAAK,iBAAiB,CAAC,oBAAoB,gBAAiB,CAAC,EAAO,EAAK,EAAc,QAAQ,UAAU,EAAO,cAAc,EAAQ,CAA2P,OAA1P,EAAc,QAAQ,SAAS,EAAK,aAAY,EAAK,CAAC,EAAK,aAAa,EAAU,CAAC,EAAK,SAAS,EAAM,CAAC,EAAgB,SAAQ,EAAQ,GAAY,EAAe,EAAQ,GAAe,EAAM,CAAM,EAAQ,EAAS,KAAK,CAAC,GAAY,EAAgB,CAAO,IAAI,CAAC,EAAK,SAAS,AAAE,CAAE,EAAC,CAAC,EAAK,EAAW,EAAM,EAAU,EAAW,EAAe,CAAe,EAAC,CASkY,MAR3iC,GAAU,IAAI,CAAC,IAAI,EAAkC,MAA1B,IAAM,CAAC,KAAK,GAAG,EAAQ,EAAE,CAAO,IAAI,CAAC,AAAG,GAAQ,GAAS,AAAE,CAAE,EAAC,CAAC,EAAQ,EAAQ,CAAO,EAAC,CAClH,EAAU,IAAI,CAAK,KAAgB,QAAe,MAAO,IAAM,EAAM,AAAE,EAAC,CAAC,CAAK,EAAC,CAC/E,EAAU,IAAI,EAAO,WAAW,EAAW,MAAM,SAAS,CAAC,CAAE,EAAC,CAM9D,EAAU,IAAI,EAAS,SAAS,GAAK,CAAI,IAAqB,EAAW,EAAQ,GAAI,EAAK,CAAM,EAAQ,GAAI,EAAM,CAAE,EAAC,CAAC,CAAE,EAAC,CAAC,EAAU,IAAI,CAAC,IAAM,EAAI,EAAS,KAAK,CAAC,AAAG,EAAW,EAAQ,GAAI,EAAK,CAAM,EAAQ,GAAI,EAAM,AAAE,EAAC,CAAC,CAAY,EAAC,CAAC,EAAU,IAAI,CAAC,IAAI,EAAW,OAAO,IAAM,EAAyB,EAAe,IAAI,AAAkB,EAAf,EAAuB,EAA6C,EAAS,KAAK,EAAlC,EAAyC,AAAE,EAAC,CAAC,EAAe,CAAe,EAAC,CAAC,EAAU,IAAI,CAAC,IAAI,EAA0H,CAA7F,EAAuB,EAAc,UAA+E,YAAkB,EAAc,QAAQ,UAAU,SAAS,EAAM,CAAC,EAAQ,EAAS,KAAK,EAAC,EAAK,CAAE,EAAC,CAAC,CAAM,EAAC,CAAC,EAAU,IAAI,CAAC,IAAI,EAA0H,CAA7F,EAAuB,EAAc,UAA+E,YAAkB,EAAc,QAAQ,UAAU,aAAa,EAAU,CAAC,EAAQ,EAAS,KAAK,EAAC,EAAK,CAAE,EAAC,CAAC,CAAU,EAAC,CAAC,EAAU,IAAI,CAAC,AAAG,EAAW,GAAM,CAAM,GAAO,AAAE,EAAC,CAAC,CAAW,EAAC,CAAqB,EAAK,EAAO,IAAI,CAAC,IAAI,EAAS,QAAM,UAAQ,eAAa,eAAa,cAAY,WAAU,EAAC,AAAE,oBAA4I,AArB1yC,GAA2C,IAAgD,IAAwE,IAAgF,IAAwF,IAAsD,CAAY,AAAC,SAASA,EAAQ,CAA0B,AAAzB,EAAQ,KAAQ,SAAS,EAAQ,IAAO,KAAO,EAAY,IAAQ,CAAE,EAAE,CAAY,AAAC,SAASC,EAAO,CAAuB,AAAtB,EAAO,KAAQ,OAAO,EAAO,OAAU,QAAU,EAAW,IAAO,CAAE,EAAE,CAAO,EAAe,iDAqB4jB,EAAO,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,QAAQ,MAAM,eAAc,EAAK,OAAO,EAAe,SAAS,EAAE,OAAO,OAAO,eAAe,CAAE,EAAC,EAAoB,EAAO,CAAC,QAAQ,CAAC,KAAK,EAAY,KAAK,yBAAwB,EAAK,MAAM,SAAS,QAAQ,CAAC,MAAM,QAAS,CAAC,EAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,YAAY,kBAAkB,OAAO,GAAO,EAAM,UAAU,QAAS,EAAC,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,iBAAiB,CAAC,MAAO,EAAC,OAAO,GAAO,EAAM,UAAU,KAAM,EAAC,QAAQ,CAAC,KAAK,EAAY,QAAQ,MAAM,UAAU,aAAa,MAAM,cAAc,IAAK,EAChuD,cAAc,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,cAAc,OAAO,aAAa,QAAQ,OAAO,GAAO,EAAM,WAAU,CAAM,EAAC,KAAK,CAAC,KAAK,EAAY,QAAQ,MAAM,OAAO,aAAa,MAAM,cAAc,IAAK,EAAC,oBAAoB,CAAC,MAAM,YAAY,KAAK,EAAY,QAAQ,aAAa,SAAS,cAAc,SAAU,EAAC,MAAM,CAAC,KAAK,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,gBAAe,EAAK,KAAK,GAAI,EAAC,OAAO,CAAC,MAAM,SAAS,KAAK,EAAY,KAAK,QAAQ,CAAC,OAAO,QAAS,EAAC,yBAAwB,CAAK,EAAC,eAAe,CAAC,MAAM,IAAI,KAAK,EAAY,OAAO,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,OAAO,CAAC,CAAC,SAAO,GAAG,IAAS,MAAO,EAAC,SAAS,CAAC,MAAM,WAAW,KAAK,EAAY,OAAO,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,YAAY,mGAAoG,EAAC,GAAG,CAAc,EAAC"}