{"version":3,"file":"shared-lib.CjX46O2L.mjs","names":["useMemo","useRef","useState","useCallback","h","bw","sides","d","AnimatedDashedBorder","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","e","t","n","i","r","s","l","c","u","e.useRef","e.useCallback","e.useMemo","o","a","p","h","f","m","v","g","d","x","_","b","useRef","GodRays","_","g","b"],"sources":["https:/framerusercontent.com/modules/XBWSgdKr3syOFOYW80i8/4FKsp3EPd3QDaqVONEJD/DashedBorder.js","https:/framerusercontent.com/modules/uxhGgr6XHyXvgB272PU0/WgTZpLbx4uDw1dT0CsSf/ywmXeNfxF.js","https:/framerusercontent.com/modules/tinL9yUCRdYMMSkYrF00/5r5kMzvOdzXsRZCqA5qG/Bundle.js","https:/framerusercontent.com/modules/LZBhe3E2vEwdwNGrGIw7/3TUdBcS7IzAsyVTN4zJh/GodRays_Prod.js","https:/framerusercontent.com/modules/mnyzxTtCxOangFoTc8F0/MfIarlAXgYmuxTmQrxom/siteMetadata.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState,useMemo,useCallback}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * Animated Dashed Border Frame\n *\n * @framerDisableUnlink\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 250\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function DashedBorderFrame(props){// --- Default props moved outside for stability ---\nconst defaultProps=useMemo(()=>({borderColor:\"#0099FF\",borderWidth:3,borderRadius:16,dashLength:12,gapLength:8,animation:{animated:true,speed:2,direction:\"clockwise\"},top:true,right:true,bottom:true,left:true}),[]);const{borderColor=defaultProps.borderColor,borderWidth=defaultProps.borderWidth,borderRadius=defaultProps.borderRadius,dashLength=defaultProps.dashLength,gapLength=defaultProps.gapLength,animation=defaultProps.animation,style={}}=props;const{animated,speed,direction}=animation;// --- Unique animation name per instance ---\nconst uniqueIdRef=useRef(Math.random().toString(36).substr(2,9));const animName=`dash-anim-${direction}-${uniqueIdRef.current}`;// --- Animation duration ---\nconst minDuration=.1;const animationDuration=`${Math.max(minDuration,2/Math.max(.01,speed))}s`;// --- Responsive sizing ---\nconst containerRef=useRef(null);const resizeObserverRef=useRef(null);const[size,setSize]=useState({width:400,height:250});// Function to get size (memoized)\nconst getCurrentSize=useCallback(()=>{let w=200,h=100;if(!containerRef.current)return{width:w,height:h};if(RenderTarget.current()===RenderTarget.canvas||RenderTarget.current()===RenderTarget.thumbnail){if(props.style&&typeof props.style.width===\"number\")w=props.style.width;else w=containerRef.current.offsetWidth;if(props.style&&typeof props.style.height===\"number\")h=props.style.height;else h=containerRef.current.offsetHeight;}else{const rect=containerRef.current.getBoundingClientRect();w=rect.width;h=rect.height;}return{width:w,height:h};},[props.style?.width,props.style?.height]);// --- ResizeObserver with memory leak fix and redundant state update fix ---\nuseEffect(()=>{if(!containerRef.current)return;const updateSize=()=>{const{width:w,height:h}=getCurrentSize();setSize(prev=>prev.width!==w||prev.height!==h?{width:w,height:h}:prev);};updateSize();if(resizeObserverRef.current){resizeObserverRef.current.disconnect();}resizeObserverRef.current=new window.ResizeObserver(updateSize);resizeObserverRef.current.observe(containerRef.current);return()=>{if(resizeObserverRef.current){resizeObserverRef.current.disconnect();resizeObserverRef.current=null;}};},[getCurrentSize]);const width=size.width;const height=size.height;const bw=Math.max(1,Math.min(16,borderWidth));// --- Border radius calculation (robust, keeps correct roundness on resize) ---\nconst normalizedRadius=useMemo(()=>{if(typeof borderRadius===\"number\")return borderRadius;if(typeof borderRadius===\"string\"){if(borderRadius.endsWith(\"px\"))return parseFloat(borderRadius);if(borderRadius.endsWith(\"%\")){// % is based on the smaller of width/height, divided by 2 for proper rounding\nconst ratio=parseFloat(borderRadius)/100;return Math.max(0,ratio*Math.min(width,height)/2);}return parseFloat(borderRadius);}return 0;},[borderRadius,width,height]);const half=bw/2;// --- Sides control, memoized ---\nconst sides=useMemo(()=>({top:props.top??true,right:props.right??true,bottom:props.bottom??true,left:props.left??true}),[props.top,props.right,props.bottom,props.left]);// --- Perimeter calculation, memoized ---\nconst perimeter=useMemo(()=>{// Clamp r to max possible\nconst maxR=Math.min(width-bw,height-bw)/2;const cr=Math.max(0,Math.min(normalizedRadius,maxR));return 2*(width-bw+height-bw-4*cr)+2*Math.PI*cr;},[width,height,bw,normalizedRadius]);const patternLength=dashLength+gapLength;const animOffset=direction===\"clockwise\"?-patternLength:patternLength;// --- getBorderPath, memoized and simplified ---\nconst getBorderPath=useCallback((w,h,bw,r,sides)=>{const half=bw/2;const maxR=Math.min(r,(w-bw)/2,(h-bw)/2);if(!sides.top&&!sides.right&&!sides.bottom&&!sides.left)return\"\";if(sides.top&&sides.right&&sides.bottom&&sides.left){return[`M${half+maxR},${half}`,`H${w-half-maxR}`,`A${maxR},${maxR} 0 0 1 ${w-half},${half+maxR}`,`V${h-half-maxR}`,`A${maxR},${maxR} 0 0 1 ${w-half-maxR},${h-half}`,`H${half+maxR}`,`A${maxR},${maxR} 0 0 1 ${half},${h-half-maxR}`,`V${half+maxR}`,`A${maxR},${maxR} 0 0 1 ${half+maxR},${half}`,\"Z\"].join(\" \");}let d=\"\";// Top\nif(sides.top){d+=`M${half+maxR},${half} H${w-half-maxR} `;// Top-right corner\nif(sides.right&&maxR>0){d+=`A${maxR},${maxR} 0 0 1 ${w-half},${half+maxR} `;}}// Right\nif(sides.right){d+=`M${w-half},${half+maxR} V${h-half-maxR} `;// Bottom-right corner\nif(sides.bottom&&maxR>0){d+=`A${maxR},${maxR} 0 0 1 ${w-half-maxR},${h-half} `;}}// Bottom\nif(sides.bottom){d+=`M${w-half-maxR},${h-half} H${half+maxR} `;// Bottom-left corner\nif(sides.left&&maxR>0){d+=`A${maxR},${maxR} 0 0 1 ${half},${h-half-maxR} `;}}// Left\nif(sides.left){d+=`M${half},${h-half-maxR} V${half+maxR} `;// Top-left corner\nif(sides.top&&maxR>0){d+=`A${maxR},${maxR} 0 0 1 ${half+maxR},${half} `;}}return d.trim();},[]);const borderPath=useMemo(()=>getBorderPath(width,height,bw,normalizedRadius,sides),[width,height,bw,normalizedRadius,sides,getBorderPath]);// --- Animation ready state ---\nconst[animationReady,setAnimationReady]=useState(false);// --- Keyframes injection with cleanup ---\nuseEffect(()=>{setAnimationReady(false);const styleId=`dashed-border-keyframes-${direction}-${uniqueIdRef.current}`;let styleEl=null;if(typeof document!==\"undefined\"){styleEl=document.getElementById(styleId);if(!styleEl){styleEl=document.createElement(\"style\");styleEl.id=styleId;document.head.appendChild(styleEl);}styleEl.innerHTML=`\n                @keyframes ${animName} {\n                    100% {\n                        stroke-dashoffset: ${animOffset};\n                    }\n                }\n            `;setTimeout(()=>setAnimationReady(true),0);}// Cleanup: remove style tag on unmount or change\nreturn()=>{if(styleEl&&styleEl.parentNode){styleEl.parentNode.removeChild(styleEl);}};},[direction,animName,animOffset]);// --- Visibility logic (unchanged, but could be simplified further) ---\nconst[visible,setVisible]=useState(false);useEffect(()=>{const loaded=props.borderColor!==defaultProps.borderColor||props.borderWidth!==defaultProps.borderWidth||props.borderRadius!==defaultProps.borderRadius||props.dashLength!==defaultProps.dashLength||props.gapLength!==defaultProps.gapLength||props.animation&&(props.animation.animated!==defaultProps.animation.animated||props.animation.speed!==defaultProps.animation.speed||props.animation.direction!==defaultProps.animation.direction)||props.top!==defaultProps.top||props.right!==defaultProps.right||props.bottom!==defaultProps.bottom||props.left!==defaultProps.left;if(loaded&&!visible){setTimeout(()=>setVisible(true),10);}},[props.borderColor,props.borderWidth,props.borderRadius,props.dashLength,props.gapLength,props.animation,props.top,props.right,props.bottom,props.left,visible,defaultProps]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{...style,minWidth:20,minHeight:20,width:\"100%\",height:\"100%\",position:\"relative\",background:\"transparent\",borderRadius:borderRadius,overflow:\"visible\",pointerEvents:\"none\",opacity:visible?1:0,transition:visible?\"opacity 0.4s cubic-bezier(.4,0,.2,1)\":undefined},children:/*#__PURE__*/_jsx(\"svg\",{width:width,height:height,viewBox:`0 0 ${width} ${height}`,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\"},\"aria-hidden\":\"true\",preserveAspectRatio:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:borderPath,fill:\"none\",stroke:borderColor,strokeWidth:bw,strokeDasharray:`${dashLength},${gapLength}`,strokeDashoffset:0,style:{animation:!animated||RenderTarget.current()===RenderTarget.canvas||RenderTarget.current()===RenderTarget.thumbnail||!animationReady?\"none\":`${animName} ${animationDuration} linear infinite`}})})});}DashedBorderFrame.displayName=\"Animated Dashed Border\";addPropertyControls(DashedBorderFrame,{borderColor:{type:ControlType.Color,title:\"Dash Color\",defaultValue:\"#0099FF\"},borderWidth:{type:ControlType.Number,title:\"Thickness\",defaultValue:3,min:1,max:16,step:1,displayStepper:true},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:16,min:0,max:200,step:1,displayStepper:false},dashLength:{type:ControlType.Number,title:\"Dash\",defaultValue:12,min:2,max:40,step:1},gapLength:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,max:40,step:1},top:{type:ControlType.Boolean,title:\"Top\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},right:{type:ControlType.Boolean,title:\"Right\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},bottom:{type:ControlType.Boolean,title:\"Bottom\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},left:{type:ControlType.Boolean,title:\"Left\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},animation:{type:ControlType.Object,title:\"Animation\",controls:{animated:{type:ControlType.Boolean,title:\"Animated\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:2,min:.1,max:10,step:.1,hidden:obj=>!obj.animated},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"clockwise\",\"counterclockwise\"],optionTitles:[\"Clockwise\",\"Counterclockwise\"],defaultValue:\"clockwise\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",hidden:obj=>!obj.animated}},defaultValue:{animated:true,speed:2,direction:\"clockwise\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DashedBorderFrame\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"* @framerIntrinsicWidth 400\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"250\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DashedBorder.map","// Generated by Framer (20dc3ed)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import AnimatedDashedBorder from\"https://framerusercontent.com/modules/XBWSgdKr3syOFOYW80i8/4FKsp3EPd3QDaqVONEJD/DashedBorder.js\";const AnimatedDashedBorderFonts=getFonts(AnimatedDashedBorder);const cycleOrder=[\"dNbszlCS9\",\"yzIFdYlxZ\",\"tETbP_pro\",\"oSdwqWnmP\",\"NmV6whLcj\",\"PsAciZ2BM\",\"CLljGfTtP\",\"dmlAwRaBe\",\"HWEDASjkO\",\"yQxqYG67k\"];const serializationHash=\"framer-X1mxQ\";const variantClassNames={CLljGfTtP:\"framer-v-1mlrwuf\",dmlAwRaBe:\"framer-v-yl5zu4\",dNbszlCS9:\"framer-v-z8k7b0\",HWEDASjkO:\"framer-v-8evypz\",NmV6whLcj:\"framer-v-1nqlqan\",oSdwqWnmP:\"framer-v-1qeerv\",PsAciZ2BM:\"framer-v-guq2e5\",tETbP_pro:\"framer-v-p1jozm\",yQxqYG67k:\"framer-v-1ffme69\",yzIFdYlxZ:\"framer-v-1arqcmi\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:0,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Left Right\":\"yQxqYG67k\",\"Right Bottom\":\"yzIFdYlxZ\",\"Top Bottom\":\"HWEDASjkO\",\"Top Left\":\"dNbszlCS9\",All:\"CLljGfTtP\",Bottom:\"oSdwqWnmP\",Left:\"tETbP_pro\",Right:\"NmV6whLcj\",Top:\"PsAciZ2BM\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"dNbszlCS9\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"dNbszlCS9\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-z8k7b0\",className,classNames),\"data-framer-name\":\"Top Left\",layoutDependency:layoutDependency,layoutId:\"dNbszlCS9\",ref:refBinding,style:{...style},...addPropertyOverrides({CLljGfTtP:{\"data-framer-name\":\"All\"},dmlAwRaBe:{\"data-framer-name\":\"Left Right\"},HWEDASjkO:{\"data-framer-name\":\"Top Bottom\"},NmV6whLcj:{\"data-framer-name\":\"Right\"},oSdwqWnmP:{\"data-framer-name\":\"Bottom\"},PsAciZ2BM:{\"data-framer-name\":\"Top\"},tETbP_pro:{\"data-framer-name\":\"Left\"},yQxqYG67k:{\"data-framer-name\":\"Left Right\"},yzIFdYlxZ:{\"data-framer-name\":\"Right Bottom\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ugmoae-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"EHPmwsEKd-container\",nodeId:\"EHPmwsEKd\",rendersWithMotion:true,scopeId:\"ywmXeNfxF\",children:/*#__PURE__*/_jsx(AnimatedDashedBorder,{animation:{animated:true,direction:\"clockwise\",speed:2},borderColor:\"var(--token-ab91763a-bd8d-4b8f-92c1-f89e2462855c, rgb(28, 28, 28))\",borderRadius:0,borderWidth:1,bottom:false,dashLength:12,gapLength:6,height:\"100%\",id:\"EHPmwsEKd\",layoutId:\"EHPmwsEKd\",left:true,right:false,style:{height:\"100%\",width:\"100%\"},top:true,width:\"100%\",...addPropertyOverrides({CLljGfTtP:{bottom:true,right:true},dmlAwRaBe:{right:true,top:false},HWEDASjkO:{bottom:true,left:false},NmV6whLcj:{left:false,right:true,top:false},oSdwqWnmP:{bottom:true,left:false,top:false},PsAciZ2BM:{left:false},tETbP_pro:{top:false},yQxqYG67k:{right:true,top:false},yzIFdYlxZ:{bottom:true,left:false,right:true,top:false}},baseVariant,gestureVariant)})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-X1mxQ.framer-6eel1k, .framer-X1mxQ .framer-6eel1k { display: block; }\",\".framer-X1mxQ.framer-z8k7b0 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 360px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 499px; }\",\".framer-X1mxQ .framer-ugmoae-container { flex: 1 0 0px; height: 100%; pointer-events: none; position: relative; width: 1px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 360\n * @framerIntrinsicWidth 499\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"yzIFdYlxZ\":{\"layout\":[\"fixed\",\"fixed\"]},\"tETbP_pro\":{\"layout\":[\"fixed\",\"fixed\"]},\"oSdwqWnmP\":{\"layout\":[\"fixed\",\"fixed\"]},\"NmV6whLcj\":{\"layout\":[\"fixed\",\"fixed\"]},\"PsAciZ2BM\":{\"layout\":[\"fixed\",\"fixed\"]},\"CLljGfTtP\":{\"layout\":[\"fixed\",\"fixed\"]},\"dmlAwRaBe\":{\"layout\":[\"fixed\",\"fixed\"]},\"HWEDASjkO\":{\"layout\":[\"fixed\",\"fixed\"]},\"yQxqYG67k\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerywmXeNfxF=withCSS(Component,css,\"framer-X1mxQ\");export default FramerywmXeNfxF;FramerywmXeNfxF.displayName=\"Main Site Grid Border\";FramerywmXeNfxF.defaultProps={height:360,width:499};addPropertyControls(FramerywmXeNfxF,{variant:{options:[\"dNbszlCS9\",\"yzIFdYlxZ\",\"tETbP_pro\",\"oSdwqWnmP\",\"NmV6whLcj\",\"PsAciZ2BM\",\"CLljGfTtP\",\"dmlAwRaBe\",\"HWEDASjkO\",\"yQxqYG67k\"],optionTitles:[\"Top Left\",\"Right Bottom\",\"Left\",\"Bottom\",\"Right\",\"Top\",\"All\",\"Left Right\",\"Top Bottom\",\"Left Right\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerywmXeNfxF,[{explicitInter:true,fonts:[]},...AnimatedDashedBorderFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerywmXeNfxF\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"yzIFdYlxZ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"tETbP_pro\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"oSdwqWnmP\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"NmV6whLcj\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"PsAciZ2BM\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"CLljGfTtP\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"dmlAwRaBe\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"HWEDASjkO\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"yQxqYG67k\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"360\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"499\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ywmXeNfxF.map","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import*as e from\"react\";import{forwardRef as t,useState as n,useRef as i,useEffect as r,memo as o}from\"react\";import{jsx as a}from\"react/jsx-runtime\";class s{constructor(e,t,n,i,r=0,o=0,a=2,s=8294400){_define_property(this,\"parentElement\",void 0);_define_property(this,\"canvasElement\",void 0);_define_property(this,\"gl\",void 0);_define_property(this,\"program\",null);_define_property(this,\"uniformLocations\",{});_define_property(this,\"fragmentShader\",void 0);_define_property(this,\"rafId\",null);_define_property(this,\"lastRenderTime\",0);_define_property(this,\"totalFrameTime\",0);_define_property(this,\"speed\",0);_define_property(this,\"providedUniforms\",void 0);_define_property(this,\"hasBeenDisposed\",!1);_define_property(this,\"resolutionChanged\",!0);_define_property(this,\"textures\",new Map);_define_property(this,\"minPixelRatio\",void 0);_define_property(this,\"maxPixelCount\",void 0);_define_property(this,\"isSafari\",function(){const e=navigator.userAgent.toLowerCase();return e.includes(\"safari\")&&!e.includes(\"chrome\")&&!e.includes(\"android\");}());_define_property(this,\"initProgram\",()=>{const e=function(e,t,n){const i=c(e,e.VERTEX_SHADER,t),r=c(e,e.FRAGMENT_SHADER,n);if(!i||!r)return null;const o=e.createProgram();if(!o)return null;if(e.attachShader(o,i),e.attachShader(o,r),e.linkProgram(o),!e.getProgramParameter(o,e.LINK_STATUS))return e.deleteProgram(o),e.deleteShader(i),e.deleteShader(r),null;return e.detachShader(o,i),e.detachShader(o,r),e.deleteShader(i),e.deleteShader(r),o;}(this.gl,l,this.fragmentShader);e&&(this.program=e);});_define_property(this,\"setupPositionAttribute\",()=>{const e=this.gl.getAttribLocation(this.program,\"a_position\"),t=this.gl.createBuffer();this.gl.bindBuffer(this.gl.ARRAY_BUFFER,t);this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,-1,1,1,-1,1,1]),this.gl.STATIC_DRAW),this.gl.enableVertexAttribArray(e),this.gl.vertexAttribPointer(e,2,this.gl.FLOAT,!1,0,0);});_define_property(this,\"setupUniforms\",()=>{const e={u_time:this.gl.getUniformLocation(this.program,\"u_time\"),u_pixelRatio:this.gl.getUniformLocation(this.program,\"u_pixelRatio\"),u_resolution:this.gl.getUniformLocation(this.program,\"u_resolution\")};Object.entries(this.providedUniforms).forEach(([t,n])=>{if(e[t]=this.gl.getUniformLocation(this.program,t),n instanceof HTMLImageElement){const n=`${t}_aspect_ratio`;e[n]=this.gl.getUniformLocation(this.program,n);}}),this.uniformLocations=e;});_define_property(this,\"renderScale\",1);_define_property(this,\"parentWidth\",0);_define_property(this,\"parentHeight\",0);_define_property(this,\"resizeObserver\",null);_define_property(this,\"setupResizeObserver\",()=>{this.resizeObserver=new ResizeObserver(([e])=>{e?.borderBoxSize[0]&&(this.parentWidth=e.borderBoxSize[0].inlineSize,this.parentHeight=e.borderBoxSize[0].blockSize),this.handleResize();}),this.resizeObserver.observe(this.parentElement),visualViewport?.addEventListener(\"resize\",this.handleVisualViewportChange);const e=this.parentElement.getBoundingClientRect();this.parentWidth=e.width,this.parentHeight=e.height,this.handleResize();});_define_property(this,\"resizeRafId\",null);_define_property(this,\"handleVisualViewportChange\",()=>{null!==this.resizeRafId&&cancelAnimationFrame(this.resizeRafId),this.resizeRafId=requestAnimationFrame(()=>{this.resizeRafId=requestAnimationFrame(()=>{this.handleResize();});});});_define_property(this,\"handleResize\",()=>{null!==this.resizeRafId&&cancelAnimationFrame(this.resizeRafId);const e=visualViewport?.scale??1,t=visualViewport?visualViewport.width*visualViewport.scale:window.innerWidth,n=Math.round(1e4*window.outerWidth/t)/1e4,i=this.isSafari?devicePixelRatio:devicePixelRatio/n,r=Math.max(i,this.minPixelRatio)*n*e,o=this.parentWidth*r,a=this.parentHeight*r,s=Math.sqrt(this.maxPixelCount)/Math.sqrt(o*a),l=r*Math.min(1,s),c=Math.round(this.parentWidth*l),u=Math.round(this.parentHeight*l);this.canvasElement.width===c&&this.canvasElement.height===u&&this.renderScale===l||(this.renderScale=l,this.canvasElement.width=c,this.canvasElement.height=u,this.resolutionChanged=!0,this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height),this.render(performance.now()));});_define_property(this,\"render\",e=>{if(this.hasBeenDisposed)return;if(null===this.program)return;const t=e-this.lastRenderTime;this.lastRenderTime=e,0!==this.speed&&(this.totalFrameTime+=t*this.speed),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.useProgram(this.program),this.gl.uniform1f(this.uniformLocations.u_time,.001*this.totalFrameTime),this.resolutionChanged&&(this.gl.uniform2f(this.uniformLocations.u_resolution,this.gl.canvas.width,this.gl.canvas.height),this.gl.uniform1f(this.uniformLocations.u_pixelRatio,this.renderScale),this.resolutionChanged=!1),this.gl.drawArrays(this.gl.TRIANGLES,0,6),0!==this.speed?this.requestRender():this.rafId=null;});_define_property(this,\"requestRender\",()=>{null!==this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(this.render);});_define_property(this,\"setTextureUniform\",(e,t)=>{if(!t.complete||0===t.naturalWidth)throw new Error(`Paper Shaders: image for uniform ${e} must be fully loaded`);const n=this.textures.get(e);n&&this.gl.deleteTexture(n);const i=this.gl.createTexture();this.gl.bindTexture(this.gl.TEXTURE_2D,i),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.REPEAT),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.REPEAT),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t);if(this.gl.getError()!==this.gl.NO_ERROR||null===i)return;this.textures.set(e,i);const r=this.uniformLocations[e];if(r){const n=this.textures.size-1;this.gl.useProgram(this.program),this.gl.activeTexture(this.gl.TEXTURE0+n),this.gl.bindTexture(this.gl.TEXTURE_2D,i),this.gl.uniform1i(r,n);const o=`${e}_aspect_ratio`,a=this.uniformLocations[o];if(a){const e=t.naturalWidth/t.naturalHeight;this.gl.uniform1f(a,e);}}});_define_property(this,\"setUniformValues\",e=>{this.gl.useProgram(this.program),Object.entries(e).forEach(([e,t])=>{const n=this.uniformLocations[e];if(n)if(t instanceof HTMLImageElement)this.setTextureUniform(e,t);else if(Array.isArray(t)){let e=null,i=null;if(void 0!==t[0]&&Array.isArray(t[0])){const n=t[0].length;if(!t.every(e=>e.length===n))return;e=t.flat(),i=n;}else e=t,i=e.length;switch(i){case 2:this.gl.uniform2fv(n,e);break;case 3:this.gl.uniform3fv(n,e);break;case 4:this.gl.uniform4fv(n,e);break;case 9:this.gl.uniformMatrix3fv(n,!1,e);break;case 16:this.gl.uniformMatrix4fv(n,!1,e);}}else\"number\"==typeof t?this.gl.uniform1f(n,t):\"boolean\"==typeof t&&this.gl.uniform1i(n,t?1:0);});});_define_property(this,\"getCurrentFrameTime\",()=>this.totalFrameTime);_define_property(this,\"setFrame\",e=>{this.totalFrameTime=e,this.lastRenderTime=performance.now(),this.render(performance.now());});_define_property(this,\"setSpeed\",(e=1)=>{this.speed=e,null===this.rafId&&0!==e&&(this.lastRenderTime=performance.now(),this.rafId=requestAnimationFrame(this.render)),null!==this.rafId&&0===e&&(cancelAnimationFrame(this.rafId),this.rafId=null);});_define_property(this,\"setUniforms\",e=>{this.providedUniforms={...this.providedUniforms,...e},this.setUniformValues(e),this.render(performance.now());});_define_property(this,\"dispose\",()=>{this.hasBeenDisposed=!0,null!==this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.gl&&this.program&&(this.textures.forEach(e=>{this.gl.deleteTexture(e);}),this.textures.clear(),this.gl.deleteProgram(this.program),this.program=null,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,null),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,null),this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,null),this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,null),this.gl.getError()),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),visualViewport?.removeEventListener(\"resize\",this.handleVisualViewportChange),this.uniformLocations={},this.parentElement.paperShaderMount=void 0;});if(!(e instanceof HTMLElement))throw new Error(\"Paper Shaders: parent element must be an HTMLElement\");if(this.parentElement=e,!document.querySelector(\"style[data-paper-shaders]\")){const e=document.createElement(\"style\");e.innerHTML=u,e.setAttribute(\"data-paper-shaders\",\"\"),document.head.prepend(e);}const l1=document.createElement(\"canvas\");this.canvasElement=l1,this.parentElement.prepend(l1),this.fragmentShader=t,this.providedUniforms=n,this.totalFrameTime=o,this.minPixelRatio=a,this.maxPixelCount=s;const c1=l1.getContext(\"webgl2\",i);if(!c1)throw new Error(\"Paper Shaders: WebGL is not supported in this browser\");this.gl=c1,this.initProgram(),this.setupPositionAttribute(),this.setupUniforms(),this.setUniformValues(this.providedUniforms),this.setupResizeObserver(),this.setSpeed(r),this.parentElement.setAttribute(\"data-paper-shaders\",\"\"),this.parentElement.paperShaderMount=this;}}const l=\"#version 300 es\\nlayout(location = 0) in vec4 a_position;\\n\\nuniform vec2 u_resolution;\\nuniform float u_pixelRatio;\\n\\nuniform float u_originX;\\nuniform float u_originY;\\nuniform float u_worldWidth;\\nuniform float u_worldHeight;\\nuniform float u_fit;\\n\\nuniform float u_scale;\\nuniform float u_rotation;\\nuniform float u_offsetX;\\nuniform float u_offsetY;\\n\\nuniform float u_pxSize;\\n\\nout vec2 v_objectUV;\\nout vec2 v_objectBoxSize;\\nout vec2 v_objectHelperBox;\\n\\nout vec2 v_responsiveUV;\\nout vec2 v_responsiveBoxSize;\\nout vec2 v_responsiveHelperBox;\\nout vec2 v_responsiveBoxGivenSize;\\n\\nout vec2 v_patternUV;\\nout vec2 v_patternBoxSize;\\nout vec2 v_patternHelperBox;\\n\\n// #define ADD_HELPERS\\n\\nvec3 getBoxSize(float boxRatio, vec2 givenBoxSize, vec2 maxBoxSize) {\\n  vec2 box = vec2(0.);\\n  // fit = none\\n  box.x = boxRatio * min(givenBoxSize.x / boxRatio, givenBoxSize.y);\\n  float noFitBoxWidth = box.x;\\n  if (u_fit == 1.) { // fit = contain\\n    box.x = boxRatio * min(maxBoxSize[0] / boxRatio, maxBoxSize[1]);\\n  } else if (u_fit == 2.) { // fit = cover\\n    box.x = boxRatio * max(maxBoxSize[0] / boxRatio, maxBoxSize[1]);\\n  }\\n  box.y = box.x / boxRatio;\\n  return vec3(box, noFitBoxWidth);\\n}\\n\\nvoid main() {\\n  gl_Position = a_position;\\n\\n  vec2 uv = gl_Position.xy * .5;\\n  vec2 boxOrigin = vec2(.5 - u_originX, u_originY - .5);\\n  vec2 givenBoxSize = vec2(u_worldWidth, u_worldHeight);\\n  givenBoxSize = max(givenBoxSize, vec2(1.)) * u_pixelRatio;\\n  vec2 maxBoxSize = vec2(max(u_resolution.x, givenBoxSize.x), max(u_resolution.y, givenBoxSize.y));\\n  float r = u_rotation * 3.14159265358979323846 / 180.;\\n  mat2 graphicRotation = mat2(cos(r), sin(r), -sin(r), cos(r));\\n  vec2 graphicOffset = vec2(-u_offsetX, u_offsetY);\\n\\n\\n  // ===================================================\\n  // Sizing api for graphic objects with fixed ratio\\n  // (currently supports only ratio = 1)\\n\\n  float fixedRatio = 1.;\\n  vec2 fixedRatioBoxGivenSize = vec2(\\n    (u_worldWidth == 0.) ? u_resolution.x : givenBoxSize.x,\\n    (u_worldHeight == 0.) ? u_resolution.y : givenBoxSize.y\\n  );\\n\\n  v_objectBoxSize = getBoxSize(fixedRatio, fixedRatioBoxGivenSize, maxBoxSize).xy;\\n  vec2 objectWorldScale = u_resolution.xy / v_objectBoxSize;\\n\\n  #ifdef ADD_HELPERS\\n    v_objectHelperBox = uv;\\n    v_objectHelperBox *= objectWorldScale;\\n    v_objectHelperBox += boxOrigin * (objectWorldScale - 1.);\\n  #endif\\n\\n  v_objectUV = uv;\\n  v_objectUV *= objectWorldScale;\\n  v_objectUV += boxOrigin * (objectWorldScale - 1.);\\n  v_objectUV += graphicOffset;\\n  v_objectUV /= u_scale;\\n  v_objectUV = graphicRotation * v_objectUV;\\n\\n\\n  // ===================================================\\n\\n\\n  // ===================================================\\n  // Sizing api for graphic objects with either givenBoxSize ratio or canvas ratio.\\n  // Full-screen mode available with u_worldWidth = u_worldHeight = 0\\n\\n  v_responsiveBoxGivenSize = vec2(\\n    (u_worldWidth == 0.) ? u_resolution.x : givenBoxSize.x,\\n    (u_worldHeight == 0.) ? u_resolution.y : givenBoxSize.y\\n  );\\n  float responsiveRatio = v_responsiveBoxGivenSize.x / v_responsiveBoxGivenSize.y;\\n  v_responsiveBoxSize = getBoxSize(responsiveRatio, v_responsiveBoxGivenSize, maxBoxSize).xy;\\n  vec2 responsiveBoxScale = u_resolution.xy / v_responsiveBoxSize;\\n\\n  #ifdef ADD_HELPERS\\n    v_responsiveHelperBox = uv;\\n    v_responsiveHelperBox *= responsiveBoxScale;\\n    v_responsiveHelperBox += boxOrigin * (responsiveBoxScale - 1.);\\n  #endif\\n\\n  v_responsiveUV = uv;\\n  v_responsiveUV *= responsiveBoxScale;\\n  v_responsiveUV += boxOrigin * (responsiveBoxScale - 1.);\\n  v_responsiveUV += graphicOffset;\\n  v_responsiveUV /= u_scale;\\n  v_responsiveUV.x *= responsiveRatio;\\n  v_responsiveUV = graphicRotation * v_responsiveUV;\\n  v_responsiveUV.x /= responsiveRatio;\\n\\n  // ===================================================\\n\\n\\n  // ===================================================\\n  // Sizing api for patterns\\n  // (treating graphics as a image u_worldWidth x u_worldHeight size)\\n\\n  float patternBoxRatio = givenBoxSize.x / givenBoxSize.y;\\n  vec2 patternBoxGivenSize = vec2(\\n    (u_worldWidth == 0.) ? u_resolution.x : givenBoxSize.x,\\n    (u_worldHeight == 0.) ? u_resolution.y : givenBoxSize.y\\n  );\\n  patternBoxRatio = patternBoxGivenSize.x / patternBoxGivenSize.y;\\n\\n  vec3 boxSizeData = getBoxSize(patternBoxRatio, patternBoxGivenSize, maxBoxSize);\\n  v_patternBoxSize = boxSizeData.xy;\\n  float patternBoxNoFitBoxWidth = boxSizeData.z;\\n  vec2 patternBoxScale = u_resolution.xy / v_patternBoxSize;\\n\\n  #ifdef ADD_HELPERS\\n    v_patternHelperBox = uv;\\n    v_patternHelperBox *= patternBoxScale;\\n    v_patternHelperBox += boxOrigin * (patternBoxScale - 1.);\\n  #endif\\n\\n  v_patternUV = uv;\\n  v_patternUV += graphicOffset / patternBoxScale;\\n  v_patternUV += boxOrigin;\\n  v_patternUV -= boxOrigin / patternBoxScale;\\n  v_patternUV *= u_resolution.xy;\\n  v_patternUV /= u_pixelRatio;\\n  if (u_fit > 0.) {\\n    v_patternUV *= (patternBoxNoFitBoxWidth / v_patternBoxSize.x);\\n  }\\n  v_patternUV /= u_scale;\\n  v_patternUV = graphicRotation * v_patternUV;\\n  v_patternUV += boxOrigin / patternBoxScale;\\n  v_patternUV -= boxOrigin;\\n  v_patternUV += .5;\\n\\n  // ===================================================\\n\\n}\";function c(e,t,n){const i=e.createShader(t);return i?(e.shaderSource(i,n),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(e.deleteShader(i),null)):null;}const u=\"@layer paper-shaders {\\n  :where([data-paper-shaders]) {\\n    isolation: isolate;\\n    position: relative;\\n\\n    & canvas {\\n      contain: strict;\\n      display: block;\\n      position: absolute;\\n      inset: 0;\\n      z-index: -1;\\n      width: 100%;\\n      height: 100%;\\n      border-radius: inherit;\\n    }\\n  }\\n}\";const h={fit:\"contain\",scale:1,rotation:0,offsetX:0,offsetY:0,originX:.5,originY:.5,worldWidth:0,worldHeight:0},f={none:0,contain:1,cover:2},d=5,p=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colors[${d}];\nuniform float u_colorsCount;\n\nuniform float u_frequency;\nuniform float u_spotty;\nuniform float u_midSize;\nuniform float u_midIntensity;\nuniform float u_density;\nuniform float u_blending;\n\n\nin vec2 v_objectUV;\nin vec2 v_responsiveUV;\nin vec2 v_responsiveBoxGivenSize;\nin vec2 v_patternUV;\n\nout vec4 fragColor;\n\n\n#define TWO_PI 6.28318530718\n#define PI 3.14159265358979323846\n\n\nfloat random(vec2 st) {\n  return fract(sin(dot(st.xy, vec2(12.9898, 78.233))) * 43758.5453123);\n}\n\n\nvec2 rotate(vec2 uv, float th) {\n  return mat2(cos(th), sin(th), -sin(th), cos(th)) * uv;\n}\n\n\nfloat hash(float n) {\n  return fract(sin(n * 43758.5453123) * 43758.5453123);\n}\n\nfloat valueNoise(vec2 uv) {\n  vec2 i = floor(uv);\n  vec2 f = fract(uv);\n\n  float a = random(i);\n  float b = random(i + vec2(1.0, 0.0));\n  float c = random(i + vec2(0.0, 1.0));\n  float d = random(i + vec2(1.0, 1.0));\n\n  vec2 u = f * f * (3.0 - 2.0 * f);\n\n  float x1 = mix(a, b, u.x);\n  float x2 = mix(c, d, u.x);\n  return mix(x1, x2, u.y);\n}\n\nfloat raysShape(vec2 uv, float r, float freq, float density, float radius) {\n  float a = atan(uv.y, uv.x);\n  vec2 left = vec2(a * freq, r);\n  vec2 right = vec2(mod(a, TWO_PI) * freq, r);\n  float n_left = pow(valueNoise(left), density);\n  float n_right = pow(valueNoise(right), density);\n  float shape = mix(n_right, n_left, smoothstep(-.15, .15, uv.x));\n  return shape;\n}\n\nvoid main() {\n  vec2 shape_uv = v_objectUV;\n\n  float t = .2 * u_time;\n\n  float radius = length(shape_uv);\n  float spots = 5. * abs(u_spotty);\n\n  float density = 4. - 3. * clamp(u_density, 0., 1.);\n\n  float delta = 1. - smoothstep(0., 1., radius);\n\n  float middleShape = pow(u_midIntensity, .3) * smoothstep(abs(u_midSize), 0.02 * abs(u_midSize), 3.0 * radius);\n  middleShape = pow(middleShape, 5.0);\n\n  vec3 accumColor = vec3(0.0);\n  float accumAlpha = 0.0;\n\n  for (int i = 0; i < ${d}; i++) {\n    if (i >= int(u_colorsCount)) break;\n\n    vec2 rotatedUV = rotate(shape_uv, float(i) + 1.0);\n\n    float r1 = radius * (1.0 + 0.4 * float(i)) - 3.0 * t;\n    float r2 = 0.5 * radius * (1.0 + spots) - 2.0 * t;\n    float f = mix(1.0, 3.0 + 0.5 * float(i), hash(float(i) + 10.0)) * u_frequency;\n\n    float ray = raysShape(rotatedUV, r1, 5.0 * f, density, radius);\n    ray *= raysShape(rotatedUV, r2, 4.0 * f, density, radius);\n    ray += (1. + 4. * ray) * middleShape;\n    ray = clamp(ray, 0.0, 1.0);\n\n    float srcAlpha = u_colors[i].a * ray;\n    vec3 srcColor = u_colors[i].rgb * srcAlpha;\n\n    vec3 alphaBlendColor = accumColor + (1.0 - accumAlpha) * srcColor;\n    float alphaBlendAlpha = accumAlpha + (1.0 - accumAlpha) * srcAlpha;\n\n    vec3 addBlendColor = accumColor + srcColor;\n    float addBlendAlpha = accumAlpha + srcAlpha;\n\n    accumColor = mix(alphaBlendColor, addBlendColor, u_blending);\n    accumAlpha = mix(alphaBlendAlpha, addBlendAlpha, u_blending);\n  }\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n\n  vec3 alphaBlendColor = accumColor + (1.0 - accumAlpha) * bgColor;\n  float alphaBlendAlpha = accumAlpha + (1.0 - accumAlpha) * u_colorBack.a;\n\n  vec3 addBlendColor = accumColor + bgColor;\n  float addBlendAlpha = accumAlpha + u_colorBack.a;\n\n  accumColor = mix(alphaBlendColor, addBlendColor, u_blending);\n  accumAlpha = mix(alphaBlendAlpha, addBlendAlpha, u_blending);\n\n  vec3 color = clamp(accumColor, 0.0, 1.0);\n  float opacity = clamp(accumAlpha, 0.0, 1.0);\n\n\n  \n  color += 1. / 256. * (fract(sin(dot(.014 * gl_FragCoord.xy, vec2(12.9898, 78.233))) * 43758.5453123) - .5);\n\n\n  fragColor = vec4(color, opacity);\n}\n`;function m(e){if(Array.isArray(e))return 4===e.length?e:3===e.length?[...e,1]:g;if(\"string\"!=typeof e)return g;let t,n,i,r=1;if(e.startsWith(\"#\"))[t,n,i,r]=function(e){3===(e=e.replace(/^#/,\"\")).length&&(e=e.split(\"\").map(e=>e+e).join(\"\"));6===e.length&&(e+=\"ff\");const t=parseInt(e.slice(0,2),16)/255,n=parseInt(e.slice(2,4),16)/255,i=parseInt(e.slice(4,6),16)/255,r=parseInt(e.slice(6,8),16)/255;return[t,n,i,r];}(e);else if(e.startsWith(\"rgb\"))[t,n,i,r]=function(e){const t=e.match(/^rgba?\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*([0-9.]+))?\\s*\\)$/i);return t?[parseInt(t[1]??\"0\")/255,parseInt(t[2]??\"0\")/255,parseInt(t[3]??\"0\")/255,void 0===t[4]?1:parseFloat(t[4])]:[0,0,0,1];}(e);else{if(!e.startsWith(\"hsl\"))return g;[t,n,i,r]=function(e){const[t,n,i,r]=e,o=t/360,a=n/100,s=i/100;let l,c,u;if(0===n)l=c=u=s;else{const e=(e,t,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e),t=s<.5?s*(1+a):s+a-s*a,n=2*s-t;l=e(n,t,o+1/3),c=e(n,t,o),u=e(n,t,o-1/3);}return[l,c,u,r];}(function(e){const t=e.match(/^hsla?\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(?:,\\s*([0-9.]+))?\\s*\\)$/i);return t?[parseInt(t[1]??\"0\"),parseInt(t[2]??\"0\"),parseInt(t[3]??\"0\"),void 0===t[4]?1:parseFloat(t[4])]:[0,0,0,1];}(e));}return[v(t,0,1),v(n,0,1),v(i,0,1),v(r,0,1)];}const v=(e,t,n)=>Math.min(Math.max(e,t),n),g=[0,0,0,1];function x(t){const n=e.useRef(void 0),i=e.useCallback(e=>{const n=t.map(t=>{if(null!=t){if(\"function\"==typeof t){const n=t,i=n(e);return\"function\"==typeof i?i:()=>{n(null);};}return t.current=e,()=>{t.current=null;};}});return()=>{n.forEach(e=>e?.());};},t);return e.useMemo(()=>t.every(e=>null==e)?null:e=>{n.current&&(n.current(),n.current=void 0),null!=e&&(n.current=i(e));},t);}async function _(e){const t={},n=[];return Object.entries(e).forEach(([e,i])=>{if(\"string\"==typeof i){if(!(e=>{try{return e.startsWith(\"/\")||new URL(e),!0;}catch{return!1;}})(i))return;const r=new Promise((n,r)=>{const o=new Image;(e=>{try{return!e.startsWith(\"/\")&&new URL(e,window.location.origin).origin!==window.location.origin;}catch{return!1;}})(i)&&(o.crossOrigin=\"anonymous\"),o.onload=()=>{t[e]=o,n();},o.onerror=()=>{r();},o.src=i;});n.push(r);}else t[e]=i;}),await Promise.all(n),t;}const S=/*#__PURE__*/t(function({fragmentShader:e,uniforms:t,webGlContextAttributes:o,speed:l=0,frame:c=0,minPixelRatio:u,maxPixelCount:h,...f},d){const[p,m]=n(!1),v=i(null),g=i(null);return r(()=>((async()=>{const n=await _(t);v.current&&!g.current&&(g.current=new s(v.current,e,n,o,l,c,u,h),m(!0));})(),()=>{g.current?.dispose(),g.current=null;}),[e,o]),r(()=>{(async()=>{const e=await _(t);g.current?.setUniforms(e);})();},[t,p]),r(()=>{g.current?.setSpeed(l);},[l,p]),r(()=>{g.current?.setFrame(c);},[c,p]),a(\"div\",{ref:x([v,d]),...f});});S.displayName=\"ShaderMount\";const B={...h,offsetX:-.4,offsetY:-.4,colorBack:\"hsla(215, 100%, 11%, 1)\",colors:[\"hsla(45, 100%, 70%, 1)\",\"hsla(10, 100%, 80%, 1)\",\"hsla(178, 100%, 83%, 1)\"],frequency:6,spotty:.28,midIntensity:1,midSize:3,density:.3,blending:0,speed:1,frame:0},b=/*#__PURE__*/o(function({speed:e=B.speed,frame:t=B.frame,colorBack:n=B.colorBack,colors:i=B.colors,frequency:r=B.frequency,spotty:o=B.spotty,midIntensity:s=B.midIntensity,midSize:l=B.midSize,density:c=B.density,blending:u=B.blending,fit:h=B.fit,scale:d=B.scale,rotation:v=B.rotation,originX:g=B.originX,originY:x=B.originY,offsetX:_=B.offsetX,offsetY:b=B.offsetY,worldWidth:R=B.worldWidth,worldHeight:y=B.worldHeight,...z}){const E={u_colorBack:m(n),u_colors:i.map(m),u_colorsCount:i.length,u_frequency:r,u_spotty:o,u_midIntensity:s,u_midSize:l,u_density:c,u_blending:u,u_fit:f[h],u_scale:d,u_rotation:v,u_offsetX:_,u_offsetY:b,u_originX:g,u_originY:x,u_worldWidth:R,u_worldHeight:y};return a(S,{...z,speed:e,frame:t,fragmentShader:p,uniforms:E});},function(e,t){for(const n in e)if(\"colors\"!==n){if(!1===Object.is(e[n],t[n]))return!1;}else{const n=Array.isArray(e.colors),i=Array.isArray(t.colors);if(!n||!i){if(!1===Object.is(e.colors,t.colors))return!1;continue;}if(e.colors?.length!==t.colors?.length)return!1;if(!e.colors?.every((e,n)=>e===t.colors?.[n]))return!1;}return!0;});export{b as GodRays};\nexport const __FramerMetadata__ = {\"exports\":{\"GodRays\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Bundle.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{ControlType,addPropertyControls,RenderTarget}from\"framer\";import{useInView}from\"framer-motion\";import{GodRays}from\"https://framerusercontent.com/modules/tinL9yUCRdYMMSkYrF00/5r5kMzvOdzXsRZCqA5qG/Bundle.js\";import{useRef}from\"react\";// ------------------------------------------------------------ //\n// PROPERTY CONTROLS\n// ------------------------------------------------------------ //\naddPropertyControls(GodRaysComp,{preset:{type:ControlType.Enum,title:\"Preset\",options:[\"Time Travel\",\"Kinetic Field\",\"Highway\",\"Ocean\",\"Flowers\",\"Custom\"],defaultValue:\"Time Travel\"},colorsMode:{type:ControlType.Enum,title:\"Color\",options:[\"Preset\",\"Custom\"],defaultValue:\"Preset\",displaySegmentedControl:true},noise:{type:ControlType.Object,optional:true,icon:\"effect\",controls:{opacity:{type:ControlType.Number,defaultValue:.5,min:0,max:1,step:.01},scale:{type:ControlType.Number,defaultValue:1,min:.2,max:2,step:.1}}},colorBack:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgb(0,0,0)\",hidden:props=>props.colorsMode===\"Preset\"},colors:{type:ControlType.Array,title:\"Ray Colors\",control:{type:ControlType.Color},defaultValue:[\"rgb(177, 177, 177)\"],hidden:props=>props.colorsMode===\"Preset\"},frequency:{type:ControlType.Number,title:\"Frequency\",defaultValue:5,min:0,max:50,step:.5,hidden:props=>props.preset!==\"Custom\"},spotty:{type:ControlType.Number,title:\"Spotty\",defaultValue:.5,min:0,max:10,step:.1,hidden:props=>props.preset!==\"Custom\"},center:{type:ControlType.Object,title:\"Center\",controls:{size:{type:ControlType.Number,title:\"Size\",defaultValue:.5,min:0,max:1,step:.1},intensity:{type:ControlType.Number,title:\"Intensity\",defaultValue:.5,min:0,max:1,step:.01}},hidden:props=>props.preset!==\"Custom\"},density:{type:ControlType.Number,title:\"Density\",defaultValue:.5,min:0,max:1,step:.01,hidden:props=>props.preset!==\"Custom\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:1,min:0,max:10,step:.1,hidden:props=>props.preset!==\"Custom\"},offsetX:{type:ControlType.Number,title:\"Offset X\",defaultValue:0,min:-2,max:2,step:.01,hidden:props=>props.preset!==\"Custom\"},offsetY:{type:ControlType.Number,title:\"Offset Y\",defaultValue:0,min:-2,max:2,step:.01,hidden:props=>props.preset!==\"Custom\"},canvasPreview:{type:ControlType.Boolean,title:\"Preview\",defaultValue:true,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});// ------------------------------------------------------------ //\n// DEFAULT PROPS\n// ------------------------------------------------------------ //\nGodRaysComp.defaultProps={preset:\"Time Travel\",colorsMode:\"Preset\",colorBack:\"rgb(0,0,0)\",colors:[\"rgb(177, 177, 177)\"],frequency:5,spotty:.5,center:{size:.5,intensity:.5},density:.5,speed:1,offsetX:0,offsetY:0,canvasPreview:true};// ------------------------------------------------------------ //\n// MAIN COMPONENT\n// ------------------------------------------------------------ //\n/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n */export default function GodRaysComp(props){const isOnFramerCanvas=RenderTarget.hasRestrictions();const ref=useRef(null);const isInView=useInView(ref,{once:false});// Get the active preset values or use custom values\nconst activePreset=props.preset!==\"Custom\"?Presets[props.preset]:null;// Use either preset or custom values\nconst colorBack=props.colorsMode===\"Custom\"?parseFramerColor(props.colorBack):activePreset?parseFramerColor(activePreset.background):parseFramerColor(props.colorBack);const colors=props.colorsMode===\"Custom\"?props.colors.map(parseFramerColor):activePreset?activePreset.colors.map(parseFramerColor):props.colors.map(parseFramerColor);const finalSpeed=!props.canvasPreview&&isOnFramerCanvas?0:activePreset?activePreset.speed:props.speed;// Get other values from preset or props\nconst frequency=activePreset?activePreset.frequency:props.frequency;const spotty=activePreset?activePreset.spotty:props.spotty;const midSize=activePreset?activePreset.center.size:props.center.size;const midIntensity=activePreset?activePreset.center.intensity:props.center.intensity;const density=activePreset?activePreset.density:props.density;const speed=isInView?finalSpeed:0;const offsetX=activePreset?activePreset.offsetX:props.offsetX;const offsetY=activePreset?activePreset.offsetY:props.offsetY;return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{width:\"100%\",height:\"100%\",position:\"relative\"},children:[/*#__PURE__*/_jsx(GodRays,{style:{width:\"100%\",height:\"100%\"},colorBack:colorBack,colors:colors,frequency:frequency,spotty:spotty,midSize:midSize,midIntensity:midIntensity,density:density,blending:1,speed:speed,offsetX:offsetX,offsetY:offsetY}),props.noise&&props.noise.opacity>0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:`url(\"https://framerusercontent.com/images/g0QcWrxr87K0ufOxIUFBakwYA8.png\")`,backgroundSize:props.noise.scale*200,backgroundRepeat:\"repeat\",opacity:props.noise.opacity/2}})]});}const Presets={\"Kinetic Field\":{background:\"rgb(0,0,0)\",colors:[\"rgb(254, 128, 66)\",\"rgb(253, 251, 154)\",\"rgb(123, 76, 70)\",\"rgb(43, 21, 23)\",\"rgb(180, 43, 27)\"],frequency:0,spotty:5,center:{size:1,intensity:1},density:.28,speed:2,offsetX:0,offsetY:0},\"Time Travel\":{background:\"rgb(0,0,0)\",colors:[\"rgb(17, 44, 113)\",\"rgb(187, 99, 255)\",\"rgb(86, 225, 233)\",\"rgb(91, 88, 235)\",\"rgb(10, 35, 83)\"],frequency:.5,spotty:0,center:{size:.7,intensity:.33},density:.74,speed:2,offsetX:0,offsetY:0},Highway:{background:\"rgb(0,0,0)\",colors:[\"rgb(94, 94, 94)\",\"rgb(99, 250, 255)\",\"rgb(0, 229, 255)\"],frequency:2,spotty:.2,center:{size:0,intensity:.23},density:0,speed:1.2,offsetX:0,offsetY:-1.1},Ocean:{background:\"rgb(0,0,0)\",colors:[\"rgb(62, 204, 248)\",\"rgb(90, 118, 242)\",\"rgb(41, 84, 231)\"],frequency:1.5,spotty:0,center:{size:.7,intensity:.33},density:.7,speed:2,offsetX:0,offsetY:-2},Flowers:{background:\"rgb(0,0,0)\",colors:[\"rgb(255, 212, 100)\",\"rgb(238, 34, 51)\",\"rgb(95, 134, 250)\"],frequency:.5,spotty:1.9,center:{size:0,intensity:.23},density:1,speed:2,offsetX:-.55,offsetY:2}};// ------------------------------------------------------------ //\n// PARSE FRAMER COLOR\n// ------------------------------------------------------------ //\n/**\n * Extracts RGB/RGBA values from a Framer color string format\n * @param color - Framer color string (e.g. \"var(--token-xxx, rgb(12, 250, 163)) /* {\"name\":\"green\"}\n * @returns Valid RGBA color string\n */const parseFramerColor=color=>{// Try to match rgb/rgba pattern inside var() or directly\nconst rgbMatch=color.match(/rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/);const rgbaMatch=color.match(/rgba\\((\\d+),\\s*(\\d+),\\s*(\\d+),\\s*([\\d.]+)\\)/);if(rgbaMatch){// If RGBA format\nconst[_,r,g,b,a]=rgbaMatch;return`rgba(${r}, ${g}, ${b}, ${a})`;}else if(rgbMatch){// If RGB format\nconst[_,r,g,b]=rgbMatch;return`rgba(${r}, ${g}, ${b}, 1)`;}// Fallback to black if parsing fails\nconsole.warn(\"Could not parse color:\",color);return\"rgba(0, 0, 0, 1)\";};GodRaysComp.displayName=\"God Rays\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GodRaysComp\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GodRays_Prod.map","// Generated by Framer (ad1bd2b)\nexport default function metadata(params,activeLocale){return{description:\"Deploy AI agents that interact with smart contracts, launch tokens, build websites, and connect the crypto ecosystem.\",favicon:\"https://framerusercontent.com/assets/i03YFuXUhg0JSxMldvPutzJlQ.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/Aiw7K5v1TdIxs6ayeUXxU4YorJM.png\",title:\"AABC Labs\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}