{"version":3,"file":"RiveWebGL2.uOSORgiN.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/h0SzadthTsZxZ9CwFKrZ/VfmTerUNFQHoY9NQmYF2/RiveWebGL2.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useEffect,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */const RIVE_CDN=\"https://unpkg.com/@rive-app/webgl2@2.30.0/rive.js\";const LOG=(...args)=>console.log(\"[Rive]\",...args);if(typeof document!==\"undefined\"){if(!document.querySelector(\"link[data-rive-script-preload]\")){const l=document.createElement(\"link\");l.rel=\"preload\";l.as=\"script\";l.href=RIVE_CDN;l.crossOrigin=\"anonymous\";l.fetchPriority=\"high\";l.setAttribute(\"data-rive-script-preload\",\"\");document.head.appendChild(l);}}function loadRiveScript(){if(typeof window===\"undefined\")return Promise.reject(new Error(\"No window\"));const w=window;if(w.__riveWebGL2)return Promise.resolve(w.__riveWebGL2);if(w.__riveWebGL2Loading)return w.__riveWebGL2Loading;LOG(\"script: injecting\",RIVE_CDN);w.__riveWebGL2Loading=new Promise((resolve,reject)=>{const script=document.createElement(\"script\");script.src=RIVE_CDN;script.async=true;script.crossOrigin=\"anonymous\";script.fetchPriority=\"high\";script.onload=()=>{const mod=w.rive;if(!mod){reject(new Error(\"rive global not found after script load\"));return;}w.__riveWebGL2=mod;LOG(\"script: loaded\");resolve(mod);};script.onerror=e=>{LOG(\"script: failed to load\",e);w.__riveWebGL2Loading=null;reject(e);};document.head.appendChild(script);});return w.__riveWebGL2Loading;}function fetchRivBuffer(src){if(typeof window===\"undefined\")return Promise.reject(new Error(\"No window\"));const w=window;w.__rivBufferCache=w.__rivBufferCache||new Map;const cache=w.__rivBufferCache;const cached=cache.get(src);if(cached)return cached;const promise=fetch(src,{priority:\"high\",credentials:\"omit\"}).then(r=>{if(!r.ok)throw new Error(`Failed to fetch riv (${r.status}) ${src}`);return r.arrayBuffer();}).catch(e=>{cache.delete(src);throw e;});cache.set(src,promise);return promise;}const FIT_MAP={contain:\"Contain\",cover:\"Cover\",fill:\"Fill\",fitWidth:\"FitWidth\",fitHeight:\"FitHeight\",none:\"None\",scaleDown:\"ScaleDown\"};const ALIGNMENT_MAP={center:\"Center\",topLeft:\"TopLeft\",topCenter:\"TopCenter\",topRight:\"TopRight\",centerLeft:\"CenterLeft\",centerRight:\"CenterRight\",bottomLeft:\"BottomLeft\",bottomCenter:\"BottomCenter\",bottomRight:\"BottomRight\"};function parseTopMarginPx(rootMargin,viewportHeight){const token=(rootMargin||\"\").trim().split(/\\s+/)[0]??\"0px\";if(token.endsWith(\"%\")){const pct=parseFloat(token);if(isNaN(pct))return 0;return pct/100*viewportHeight;}const px=parseFloat(token);return isNaN(px)?0:px;}export default function RiveWebGL2(props){const{src=\"\",artboard=\"\",stateMachine=\"State Machine 1\",viewModelName=\"ViewModel1\",viewportPropName=\"onViewportEnter\",scrollPropName=\"scrollPosition\",play=true,playOnCanvas=true,fit=\"contain\",alignment=\"center\",rootMargin=\"-40% 0px -40% 0px\",riveEventName=\"\",emitWindowEvent=\"\",startOnWindowEvent=\"\",placeholderImage,placeholderColor=\"#00000000\",keepPlaceholder=false}=props;const placeholderSrc=placeholderImage?.src??placeholderImage?.srcSet??\"\";const containerRef=useRef(null);const canvasRef=useRef(null);const riveRef=useRef(null);const riveModuleRef=useRef(null);const vmInstanceRef=useRef(null);const[loaded,setLoaded]=useState(false);useEffect(()=>{if(typeof document===\"undefined\"||!src)return;const selector=`link[data-rive-preload=\"${CSS.escape(src)}\"]`;if(document.querySelector(selector))return;const link=document.createElement(\"link\");link.rel=\"preload\";link.as=\"fetch\";link.href=src;link.crossOrigin=\"anonymous\";link.fetchPriority=\"high\";link.setAttribute(\"data-rive-preload\",src);document.head.appendChild(link);fetchRivBuffer(src).catch(()=>{});},[src]);useEffect(()=>{if(typeof window===\"undefined\"||!src)return;let cancelled=false;LOG(\"init\",{src,artboard,stateMachine,viewModelName});Promise.all([loadRiveScript(),fetchRivBuffer(src)]).then(([riveModule,buffer])=>{if(cancelled||!canvasRef.current)return;riveModuleRef.current=riveModule;const fitEnum=riveModule.Fit[FIT_MAP[fit]]??riveModule.Fit.Contain;const alignEnum=riveModule.Alignment[ALIGNMENT_MAP[alignment]]??riveModule.Alignment.Center;const instance=new riveModule.Rive({buffer,canvas:canvasRef.current,artboard:artboard||undefined,stateMachines:stateMachine||undefined,autoplay:play,automaticallyHandleEvents:true,autoBind:true,layout:new riveModule.Layout({fit:fitEnum,alignment:alignEnum}),onLoad:()=>{if(cancelled||!canvasRef.current)return;instance.resizeDrawingSurfaceToCanvas();let vmi=instance.viewModelInstance??null;if(!vmi&&viewModelName){try{const vm=instance.viewModelByName?.(viewModelName);vmi=vm?.defaultInstance?.()??null;if(vmi)instance.bindViewModelInstance(vmi);}catch(e){LOG(\"onLoad: manual VM bind failed\",e);}}vmInstanceRef.current=vmi;LOG(\"onLoad: VM instance bound?\",!!vmi);if(emitWindowEvent){const evType=riveModule.EventType?.RiveEvent;if(evType){instance.on(evType,riveEvt=>{const name=riveEvt?.data?.name??riveEvt?.name;if(!riveEventName||name===riveEventName){LOG(`rive event \"${name}\" → window \"${emitWindowEvent}\"`);window.dispatchEvent(new CustomEvent(emitWindowEvent,{detail:riveEvt?.data??null}));}});}}setLoaded(true);}});instance.on?.(riveModule.EventType?.LoadError,e=>LOG(\"LoadError\",e));riveRef.current=instance;}).catch(e=>LOG(\"init: load rejected\",e));return()=>{cancelled=true;try{riveRef.current?.cleanup?.();}catch(e){LOG(\"cleanup error\",e);}riveRef.current=null;riveModuleRef.current=null;vmInstanceRef.current=null;setLoaded(false);};},[src,artboard,stateMachine,viewModelName,emitWindowEvent,riveEventName]);useEffect(()=>{const rive=riveRef.current;if(!rive||!loaded)return;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const shouldPlay=isCanvas?playOnCanvas&&play:play;if(shouldPlay)rive.play();else rive.pause();},[play,playOnCanvas,loaded]);useEffect(()=>{const rive=riveRef.current;const mod=riveModuleRef.current;if(!rive||!mod||!loaded)return;const fitEnum=mod.Fit[FIT_MAP[fit]]??mod.Fit.Contain;const alignEnum=mod.Alignment[ALIGNMENT_MAP[alignment]]??mod.Alignment.Center;rive.layout=new mod.Layout({fit:fitEnum,alignment:alignEnum});rive.resizeDrawingSurfaceToCanvas?.();},[fit,alignment,loaded]);useEffect(()=>{if(typeof window===\"undefined\")return;const canvas=canvasRef.current;if(!canvas)return;const observer=new ResizeObserver(()=>{riveRef.current?.resizeDrawingSurfaceToCanvas?.();});observer.observe(canvas);return()=>observer.disconnect();},[loaded]);const resolveTrigger=()=>{const rive=riveRef.current;let smInput=null;try{for(const name of rive?.stateMachineNames??[]){const inputs=rive.stateMachineInputs(name)??[];const match=inputs.find(i=>i.name===viewportPropName);if(match){smInput=match;break;}}}catch{}const vmi=vmInstanceRef.current;const vmProp=vmi?.boolean?.(viewportPropName)??null;return{smInput,vmProp};};const resolveScrollTarget=()=>{const rive=riveRef.current;let smInput=null;try{for(const name of rive?.stateMachineNames??[]){const inputs=rive.stateMachineInputs(name)??[];const match=inputs.find(i=>i.name===scrollPropName);if(match){smInput=match;break;}}}catch{}const vmi=vmInstanceRef.current;const vmProp=vmi?.number?.(scrollPropName)??null;return{smInput,vmProp};};useEffect(()=>{if(typeof window===\"undefined\")return;if(!loaded||!startOnWindowEvent)return;if(RenderTarget.current()===RenderTarget.canvas)return;const{smInput,vmProp}=resolveTrigger();if(!smInput&&!vmProp){LOG(`startOnWindowEvent: no \"${viewportPropName}\" input/VM bool found`);return;}const handler=()=>{LOG(`window \"${startOnWindowEvent}\" → set ${viewportPropName}=true`);if(smInput)smInput.value=true;if(vmProp)vmProp.value=true;};window.addEventListener(startOnWindowEvent,handler);return()=>window.removeEventListener(startOnWindowEvent,handler);},[loaded,startOnWindowEvent,viewportPropName]);useEffect(()=>{if(typeof window===\"undefined\")return;if(!loaded||!containerRef.current)return;if(RenderTarget.current()===RenderTarget.canvas)return;if(startOnWindowEvent)return;const{smInput,vmProp}=resolveTrigger();if(!smInput&&!vmProp){LOG(`viewport: no \"${viewportPropName}\" input/VM bool found`);return;}const setValue=v=>{if(smInput)smInput.value=v;if(vmProp)vmProp.value=v;};const observer=new IntersectionObserver(([entry])=>setValue(entry.isIntersecting),{threshold:0,rootMargin});observer.observe(containerRef.current);return()=>observer.disconnect();},[loaded,viewportPropName,rootMargin,startOnWindowEvent]);useEffect(()=>{if(typeof window===\"undefined\")return;if(!loaded||!containerRef.current)return;if(RenderTarget.current()===RenderTarget.canvas)return;const{smInput,vmProp}=resolveScrollTarget();if(!smInput&&!vmProp){LOG(`scroll: no \"${scrollPropName}\" number input/VM found`);return;}const el=containerRef.current;let raf=0;let lastValue=-1;const update=()=>{raf=0;const vh=window.innerHeight;const topMarginPx=parseTopMarginPx(rootMargin,vh);const startY=vh+topMarginPx;const endY=0;const range=startY-endY;if(range<=0)return;const rectTop=el.getBoundingClientRect().top;const raw=(startY-rectTop)/range;const progress=Math.max(0,Math.min(1,raw))*100;if(Math.abs(progress-lastValue)<.01)return;lastValue=progress;if(smInput)smInput.value=progress;if(vmProp)vmProp.value=progress;};const schedule=()=>{if(raf)return;raf=requestAnimationFrame(update);};update();window.addEventListener(\"scroll\",schedule,{passive:true});window.addEventListener(\"resize\",schedule);return()=>{if(raf)cancelAnimationFrame(raf);window.removeEventListener(\"scroll\",schedule);window.removeEventListener(\"resize\",schedule);};},[loaded,scrollPropName,rootMargin]);const showPlaceholder=keepPlaceholder||!loaded;return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",pointerEvents:\"none\"},children:[showPlaceholder&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundColor:placeholderColor,backgroundImage:placeholderSrc?`url(${placeholderSrc})`:undefined,backgroundSize:\"cover\",backgroundPosition:\"center\"}}),/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",display:\"block\",opacity:loaded?1:0,transition:\"opacity 0.3s ease\"}},src)]});}addPropertyControls(RiveWebGL2,{src:{title:\"Rive File URL\",type:ControlType.String,defaultValue:\"\",description:\"URL to the .riv file\"},artboard:{title:\"Artboard\",type:ControlType.String,defaultValue:\"\",description:\"Artboard name (leave empty for default)\"},stateMachine:{title:\"State Machine\",type:ControlType.String,defaultValue:\"State Machine 1\",description:\"State machine name\"},viewModelName:{title:\"View Model\",type:ControlType.String,defaultValue:\"ViewModel1\",description:\"Used as a fallback if autoBind doesn't pick one up\"},viewportPropName:{title:\"Start Prop\",type:ControlType.String,defaultValue:\"onViewportEnter\",description:\"SM input / VM boolean toggled when this Rive should start\"},scrollPropName:{title:\"Scroll Prop\",type:ControlType.String,defaultValue:\"scrollPosition\",description:\"SM number input / VM number driven 0–100 by scroll progress\"},play:{title:\"Playback\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Play\",disabledTitle:\"Pause\"},playOnCanvas:{type:ControlType.Boolean,title:\"Play on Canvas\",defaultValue:true,enabledTitle:\"Play\",disabledTitle:\"Pause\"},fit:{type:ControlType.Enum,defaultValue:\"contain\",options:[\"contain\",\"cover\",\"fill\",\"fitWidth\",\"fitHeight\",\"none\",\"scaleDown\"],optionTitles:[\"Contain\",\"Cover\",\"Fill\",\"Fit Width\",\"Fit Height\",\"None\",\"Scale Down\"]},alignment:{type:ControlType.Enum,defaultValue:\"center\",options:[\"center\",\"topLeft\",\"topCenter\",\"topRight\",\"centerLeft\",\"centerRight\",\"bottomLeft\",\"bottomCenter\",\"bottomRight\"],optionTitles:[\"Center\",\"Top Left\",\"Top Center\",\"Top Right\",\"Center Left\",\"Center Right\",\"Bottom Left\",\"Bottom Center\",\"Bottom Right\"]},rootMargin:{title:\"Viewport Margin\",type:ControlType.String,defaultValue:\"-40% 0px -40% 0px\",description:\"IntersectionObserver rootMargin; top value also marks scroll start (0)\"},riveEventName:{title:\"Rive Event Name\",type:ControlType.String,defaultValue:\"\",description:\"Only rebroadcast Rive events with this name (blank = any)\"},emitWindowEvent:{title:\"Emit Window Event\",type:ControlType.String,defaultValue:\"\",description:\"When Rive event fires, dispatch a window event with this name\"},startOnWindowEvent:{title:\"Start On Window Event\",type:ControlType.String,defaultValue:\"\",description:\"Listen for this window event instead of scroll to start the animation\"},placeholderImage:{title:\"Placeholder Image\",type:ControlType.ResponsiveImage,description:\"Shown while the Rive animation loads\"},placeholderColor:{title:\"Placeholder Color\",type:ControlType.Color,defaultValue:\"#00000000\",description:\"Background color shown while loading\"},keepPlaceholder:{title:\"Keep Placeholder\",type:ControlType.Boolean,defaultValue:false,enabledTitle:\"Always\",disabledTitle:\"Until Loaded\",description:\"Keep the placeholder visible behind the canvas after Rive loads\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RiveWebGL2\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RiveWebGL2.map"],"mappings":"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"}