{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/A2wCT8u4cyywQvO6ZQ7u/lY1dKtogqY1nptXkD7F8/Simple_Rive.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";let riveScriptLoaded=false;let riveScriptLoadingPromise=null;export default function RiveComponent(props){const riveCanvasRef=useRef(null);const riveInstanceRef=useRef(null);const scrollInputRef=useRef(null);const containerRef=useRef(null);const offsetTopRef=useRef(0);const{riveUrl,scrollInputName=\"Scroll\",zeroPoint=0,artboardName=\"\",layout=\"Contain\"}=props;const computeSize=()=>{const canvas=riveCanvasRef.current;const container=canvas?.parentElement;if(canvas&&container&&riveInstanceRef.current){const pixelRatio=window.devicePixelRatio||1;const width=container.clientWidth;const height=container.clientHeight;canvas.width=width*pixelRatio;canvas.height=height*pixelRatio;canvas.style.width=`${width}px`;canvas.style.height=`${height}px`;riveInstanceRef.current.resizeDrawingSurfaceToCanvas();}};const updateOffsetAndScroll=()=>{if(!containerRef.current||!scrollInputRef.current)return;const rect=containerRef.current.getBoundingClientRect();const scrollY=window.scrollY||window.pageYOffset;offsetTopRef.current=rect.top+scrollY;const vh=window.innerHeight;const zeroOffset=zeroPoint/100*vh;const relativeScroll=scrollY-offsetTopRef.current+zeroOffset;const percent=relativeScroll/vh*100;scrollInputRef.current.value=percent;};const updateScroll=()=>{if(!scrollInputRef.current)return;const scrollY=window.scrollY||window.pageYOffset;const vh=window.innerHeight;const zeroOffset=zeroPoint/100*vh;const relativeScroll=scrollY-offsetTopRef.current+zeroOffset;const percent=relativeScroll/vh*100;startTransition(()=>{scrollInputRef.current.value=percent;});};useEffect(()=>{const loadRiveScript=()=>new Promise((resolve,reject)=>{const existing=document.querySelector(`script[src=\"https://unpkg.com/@rive-app/webgl2@latest/rive.js\"]`);if(existing){resolve();return;}const script=document.createElement(\"script\");script.src=\"https://unpkg.com/@rive-app/webgl2@latest/rive.js\";script.async=true;script.onload=resolve;script.onerror=reject;document.body.appendChild(script);});const handleResize=()=>{computeSize();updateOffsetAndScroll();};const load=async()=>{if(!riveScriptLoaded){if(!riveScriptLoadingPromise){riveScriptLoadingPromise=loadRiveScript();}await riveScriptLoadingPromise;riveScriptLoaded=true;}riveInstanceRef.current=new window.rive.Rive({src:riveUrl,canvas:riveCanvasRef.current,autoplay:true,autoBind:true,artboard:artboardName||undefined,layout:new window.rive.Layout({fit:window.rive.Fit[layout]}),stateMachines:\"State Machine 1\",onLoad:()=>{const inputs=riveInstanceRef.current.stateMachineInputs(\"State Machine 1\");scrollInputRef.current=inputs.find(input=>input.name===scrollInputName);updateOffsetAndScroll();},onError:err=>console.error(\"Rive error\",err)});computeSize();updateOffsetAndScroll();window.addEventListener(\"resize\",handleResize);window.addEventListener(\"scroll\",updateScroll);};load();return()=>{window.removeEventListener(\"resize\",handleResize);window.removeEventListener(\"scroll\",updateScroll);if(riveInstanceRef.current){riveInstanceRef.current.cleanup?.();riveInstanceRef.current=null;}};},[riveUrl,artboardName,layout]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"canvas\",{ref:riveCanvasRef,style:{width:\"100%\",height:\"100%\",display:\"block\"}})});}addPropertyControls(RiveComponent,{riveUrl:{title:\"Rive File URL\",type:ControlType.String,defaultValue:\"https://framerusercontent.com/assets/xnt6VbxK0FiyEEwXTVkT9DyxaQ.riv\"},artboardName:{title:\"Artboard Name\",type:ControlType.String,defaultValue:\"\"},layout:{title:\"Layout\",type:ControlType.Enum,defaultValue:\"Contain\",options:[\"Cover\",\"Contain\",\"Fill\",\"FitWidth\",\"FitHeight\",\"None\",\"ScaleDown\",\"Fit\"],optionTitles:[\"Cover \u2013 Crop and fill view\",\"Contain \u2013 Default, preserve ratio\",\"Fill \u2013 Stretch to fit view\",\"FitWidth \u2013 Match view width\",\"FitHeight \u2013 Match view height\",\"None \u2013 Use artboard size\",\"ScaleDown \u2013 Only shrink to fit\",\"Fit \u2013 Auto match layout\"]},scrollInputName:{title:\"Scroll Input Name\",type:ControlType.String,defaultValue:\"Scroll\"},zeroPoint:{title:\"0% Start (VH)\",type:ControlType.Number,defaultValue:0,min:0,max:100,unit:\"%\",displayStepper:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RiveComponent\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Simple_Rive.map"],
  "mappings": "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",
  "names": ["riveScriptLoaded", "riveScriptLoadingPromise", "RiveComponent", "props", "riveCanvasRef", "pe", "riveInstanceRef", "scrollInputRef", "containerRef", "offsetTopRef", "riveUrl", "scrollInputName", "zeroPoint", "artboardName", "layout", "computeSize", "canvas", "container", "pixelRatio", "window", "width", "height", "updateOffsetAndScroll", "rect", "scrollY", "vh", "zeroOffset", "percent", "updateScroll", "Z", "ue", "loadRiveScript", "resolve", "reject", "script", "handleResize", "inputs", "input", "err", "p", "addPropertyControls", "ControlType"]
}
