{"version":3,"file":"JzcfFOJX1.IYO2IE3q.mjs","names":["x","Y","u","p","useRef","useState","useMemo","React.useContext","React.useMemo","React.Fragment","useRef","React.useId"],"sources":["https:/framerusercontent.com/modules/DUVzJQodDTCwiiMKuNbI/2yhbwm9XFCHvLs24O3wG/ShimmerDot_Prod.js","https:/framerusercontent.com/modules/zZOh3a70ToE1FkcxCRiQ/aiX1U3A2jgjTy3g9JVGD/JzcfFOJX1.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useMemo,useState}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";const extractRGBColorFromString=str=>{const rgbRegex=/(rgba|rgb)\\(.*?\\)/g;const match=str.match(rgbRegex);return match?match[0]:\"rgb(255,255,255)\";};// Perlin noise implementation\nfunction noise(x,y){const X=Math.floor(x)&255;const Y=Math.floor(y)&255;x-=Math.floor(x);y-=Math.floor(y);const u=fade(x);const v=fade(y);const A=p[X]+Y,B=p[X+1]+Y;return lerp(v,lerp(u,grad(p[A],x,y),grad(p[B],x-1,y)),lerp(u,grad(p[A+1],x,y-1),grad(p[B+1],x-1,y-1)));}function fade(t){return t*t*t*(t*(t*6-15)+10);}function lerp(t,a,b){return a+t*(b-a);}function grad(hash,x,y){const h=hash&15;const u=h<8?x:y;const v=h<4?y:h===12||h===14?x:0;return((h&1)===0?u:-u)+((h&2)===0?v:-v);}const p=new Array(512);for(let i=0;i<256;i++)p[i]=p[i+256]=Math.floor(Math.random()*256);function generatePerlinNoise(width,height,cellSize){const canvas=document.createElement(\"canvas\");canvas.width=width;canvas.height=height;const ctx=canvas.getContext(\"2d\");const imageData=ctx.createImageData(width,height);const data=imageData.data;for(let y=0;y<height;y++){for(let x=0;x<width;x++){const value=(noise(x/cellSize,y/cellSize)+1)/2*255;const cell=(x+y*width)*4;data[cell]=data[cell+1]=data[cell+2]=value;data[cell+3]=255;}}ctx.putImageData(imageData,0,0);return canvas;}function createSeamlessPerlinNoise(width,height,cellSize){const singleNoise=generatePerlinNoise(width,height,cellSize);const canvas=document.createElement(\"canvas\");canvas.width=width*4;canvas.height=height;const ctx=canvas.getContext(\"2d\");// Draw the first noise pattern\nctx.drawImage(singleNoise,0,0);// Draw the flipped middle pattern\nctx.save();ctx.translate(width*2,0);ctx.scale(-1,1);ctx.drawImage(singleNoise,0,0);ctx.restore();// Draw the third noise pattern\nctx.drawImage(singleNoise,width*2,0);// Draw the flipped fourth image\nctx.save();ctx.translate(width*4,0);ctx.scale(-1,1);ctx.drawImage(singleNoise,0,0);ctx.restore();return canvas.toDataURL();}/*\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 500\n * @framerIntrinsicHeight 500\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function PerlinWall(props){const{shapeType,size,gap,colors,contrast,animation:{animate,speed},radius}=props;const containerRef=useRef(null);const canvasRef=useRef(null);const[isClient,setIsClient]=useState(false);const[dimensions,setDimensions]=useState({width:0,height:0});useEffect(()=>{setIsClient(true);},[]);const perlinNoiseDataUrl=useMemo(()=>{const{height,width}=dimensions;if(!isClient||height===0||width===0)return\"\";const cellSize=Math.max(25,size*2);return createSeamlessPerlinNoise(width,height,cellSize);},[size,isClient,dimensions]);// Calculate animation duration\nconst animationDuration=useMemo(()=>{const{height,width}=dimensions;if(height!==0&&width!==0){const maxSpeed=100;const minSpeed=1;const baseValue=width*2250;const powerFactor=Math.log(baseValue/(baseValue/100))/Math.log(maxSpeed);return Math.round(baseValue/Math.pow(speed,powerFactor));}},[speed,size,dimensions]);useEffect(()=>{if(!isClient)return;const container=containerRef.current;const canvas=canvasRef.current;if(!container||!canvas)return;const ctx=canvas.getContext(\"2d\");const resizeCanvas=()=>{canvas.width=container.offsetWidth;canvas.height=container.offsetHeight;drawShapes();};const drawShapes=()=>{ctx.clearRect(0,0,canvas.width,canvas.height);const colorBatch=colors.length>0?colors.map(extractRGBColorFromString):// black and white backgrounds.\n[\"rgb(128,128,128)\"];for(let y=0;y<canvas.height;y+=size+gap){for(let x=0;x<canvas.width;x+=size+gap){const color=colorBatch[Math.floor(Math.random()*colorBatch.length)];const opacity=getRandomOpacity();ctx.fillStyle=color.replace(\")\",`,${opacity})`);if(shapeType===\"Square\"){ctx.fillRect(x,y,size,size);}else{ctx.beginPath();ctx.arc(x+size/2,y+size/2,size/2,0,2*Math.PI);ctx.fill();}}}};const getRandomOpacity=()=>{let opacity=Math.random();if(contrast>0){opacity=Math.pow(opacity,1+contrast/5);}else if(contrast<0){opacity=1-Math.pow(1-opacity,1-contrast/5);}return opacity;};resizeCanvas();// const resizeObserver = new ResizeObserver(resizeCanvas)\nconst resizeObserver=new ResizeObserver(entries=>{for(let entry of entries){const{width,height}=entry.contentRect;setDimensions({width,height});}resizeCanvas();});resizeObserver.observe(container);return()=>{resizeObserver.disconnect();};},[shapeType,size,gap,colors,contrast,isClient]);if(!isClient){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\"}});}const animationStyles=animate?{mask:`url(${perlinNoiseDataUrl}) luminance`,WebkitMask:`url(${perlinNoiseDataUrl}) luminance`,maskImage:animate?`url(${perlinNoiseDataUrl})`:\"\",maskMode:\"luminance\",WebkitMaskImage:`url(${perlinNoiseDataUrl})`,WebkitMaskMode:\"luminance\",maskSize:\"300% 100%\",WebkitMaskSize:\"300% 100%\",maskRepeat:\"repeat-x\",WebkitMaskRepeat:\"repeat-x\",animation:`moveMask ${animationDuration}ms linear infinite`,willChange:\"mask-position\"}:{};return /*#__PURE__*/_jsxs(motion.div,{ref:containerRef,style:{width:\"100%\",height:\"100%\",borderRadius:radius,overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{...animationStyles,width:\"100%\",height:\"100%\"}}),/*#__PURE__*/_jsx(\"style\",{children:`\n    @keyframes moveMask {\n        0% { \n            mask-position: 0% 0%;\n            -webkit-mask-position: 0% 0%;\n        }\n        100% { \n            mask-position: -${300*(size/10)}% 0%;\n            -webkit-mask-position: -${300*(size/10)}% 0%;\n        }\n    }\n    `})]});}PerlinWall.displayName=\"Shimmer Dot\";PerlinWall.defaultProps={shapeType:\"Square\",size:3,gap:8,colors:[],contrast:0,speed:15,radius:0};addPropertyControls(PerlinWall,{shapeType:{type:ControlType.Enum,options:[\"Square\",\"Circle\"],defaultValue:PerlinWall.defaultProps.shapeType,displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},size:{type:ControlType.Number,defaultValue:PerlinWall.defaultProps.size,min:1,max:20,step:1},gap:{type:ControlType.Number,defaultValue:PerlinWall.defaultProps.gap,min:0,max:20,step:1},colors:{type:ControlType.Array,control:{type:ControlType.Color},defaultValue:PerlinWall.defaultProps.colors},contrast:{type:ControlType.Number,defaultValue:PerlinWall.defaultProps.contrast,min:-10,max:10,step:1,displayStepper:true},animation:{type:ControlType.Object,title:\"Animation\",controls:{animate:{type:ControlType.Boolean,defaultValue:true,title:\"Animate\"},speed:{type:ControlType.Number,defaultValue:PerlinWall.defaultProps.speed,min:1,max:100,step:1,title:\"Speed\",hidden:({animate})=>!animate}}},radius:{type:ControlType.Number,defaultValue:PerlinWall.defaultProps.radius,min:0,max:1e3,step:1,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PerlinWall\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"500\",\"framerIntrinsicWidth\":\"500\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ShimmerDot_Prod.map","// Generated by Framer (0956b9b)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={DaW1AbUux:{hover:true}};const cycleOrder=[\"DaW1AbUux\",\"rLyfsQB2a\"];const serializationHash=\"framer-OKQyR\";const variantClassNames={DaW1AbUux:\"framer-v-xnhpre\",rLyfsQB2a:\"framer-v-p6h5mr\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,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={\" Link\":\"DaW1AbUux\",Active:\"rLyfsQB2a\"};const getProps=({height,id,label,link,width,...props})=>{return{...props,pMwOVGhOn:link??props.pMwOVGhOn,rDkpNgz1_:label??props.rDkpNgz1_??\"Who we are\",variant:humanReadableVariantMap[props.variant]??props.variant??\"DaW1AbUux\"};};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,rDkpNgz1_,pMwOVGhOn,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"DaW1AbUux\",enabledGestures,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(Link,{href:pMwOVGhOn,motionChild:true,nodeId:\"DaW1AbUux\",openInNewTab:false,scopeId:\"JzcfFOJX1\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-xnhpre\",className,classNames)} framer-1qxyd29`,\"data-border\":true,\"data-framer-name\":\" Link\",layoutDependency:layoutDependency,layoutId:\"DaW1AbUux\",ref:refBinding,style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"var(--token-1686c243-ab90-4a5a-a623-f80124f2c0d5, rgb(230, 233, 233))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",...style},variants:{\"DaW1AbUux-hover\":{\"--border-color\":\"rgb(62, 57, 255)\",\"--border-left-width\":\"3px\"},rLyfsQB2a:{\"--border-color\":\"rgb(62, 57, 255)\",\"--border-left-width\":\"3px\"}},...addPropertyOverrides({\"DaW1AbUux-hover\":{\"data-framer-name\":undefined},rLyfsQB2a:{\"data-framer-name\":\"Active\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7TW9uYSBTYW5zLTUwMA==\",\"--framer-font-family\":'\"Mona Sans\", \"Mona Sans Placeholder\", sans-serif',\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(142, 148, 164))\"},children:\"Who we are\"})}),className:\"framer-q09t7z\",fonts:[\"GF;Mona Sans-500\"],layoutDependency:layoutDependency,layoutId:\"ky5v_P3ZL\",style:{\"--extracted-r6o4lv\":\"rgb(142, 148, 164)\"},text:rDkpNgz1_,variants:{\"DaW1AbUux-hover\":{\"--extracted-r6o4lv\":\"rgb(62, 57, 255)\"},rLyfsQB2a:{\"--extracted-r6o4lv\":\"rgb(62, 57, 255)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"DaW1AbUux-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7TW9uYSBTYW5zLTUwMA==\",\"--framer-font-family\":'\"Mona Sans\", \"Mona Sans Placeholder\", sans-serif',\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(62, 57, 255))\"},children:\"Who we are\"})})},rLyfsQB2a:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7TW9uYSBTYW5zLTUwMA==\",\"--framer-font-family\":'\"Mona Sans\", \"Mona Sans Placeholder\", sans-serif',\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(62, 57, 255))\"},children:\"Who we are\"})})}},baseVariant,gestureVariant)})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-OKQyR.framer-1qxyd29, .framer-OKQyR .framer-1qxyd29 { display: block; }\",\".framer-OKQyR.framer-xnhpre { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 6px 0px 6px 12px; position: relative; text-decoration: none; width: min-content; }\",\".framer-OKQyR .framer-q09t7z { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-OKQyR.framer-v-p6h5mr.framer-xnhpre { cursor: unset; }\",\".framer-OKQyR.framer-v-xnhpre.hover.framer-xnhpre { padding: 6px 0px 6px 20px; }\",'.framer-OKQyR[data-border=\"true\"]::after, .framer-OKQyR [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 31\n * @framerIntrinsicWidth 99.5\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"rLyfsQB2a\":{\"layout\":[\"auto\",\"auto\"]},\"FeYqJBRS_\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"rDkpNgz1_\":\"label\",\"pMwOVGhOn\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerJzcfFOJX1=withCSS(Component,css,\"framer-OKQyR\");export default FramerJzcfFOJX1;FramerJzcfFOJX1.displayName=\"TOC Link\";FramerJzcfFOJX1.defaultProps={height:31,width:99.5};addPropertyControls(FramerJzcfFOJX1,{variant:{options:[\"DaW1AbUux\",\"rLyfsQB2a\"],optionTitles:[\" Link\",\"Active\"],title:\"Variant\",type:ControlType.Enum},rDkpNgz1_:{defaultValue:\"Who we are\",displayTextArea:false,title:\"Label\",type:ControlType.String},pMwOVGhOn:{title:\"Link\",type:ControlType.Link}});addFonts(FramerJzcfFOJX1,[{explicitInter:true,fonts:[{cssFamilyName:\"Mona Sans\",source:\"google\",style:\"normal\",uiFamilyName:\"Mona Sans\",url:\"https://fonts.gstatic.com/s/monasans/v4/o-0mIpQmx24alC5A4PNB6Ryti20_6n1iPHjcz6L1SoM-jCpoiyDPA99Y41P6zHtY.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerJzcfFOJX1\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"99.5\",\"framerIntrinsicHeight\":\"31\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"rLyfsQB2a\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"FeYqJBRS_\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"rDkpNgz1_\\\":\\\"label\\\",\\\"pMwOVGhOn\\\":\\\"link\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./JzcfFOJX1.map"],"mappings":"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"}