{"version":3,"file":"shared-lib.C4OwZmFG.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/YaqDs55LVEjMSn4WkD2Z/01dCQZT9qWg8kjM1fRBr/Dotgrid2.js","https:/framerusercontent.com/modules/dZzUGMSyhVehAHP24b6G/wHLTxc0y9Gx6ZIo7OSmc/siteMetadata.js"],"sourcesContent":["// Get Started: https://www.framer.com/developers\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{motion,useAnimationFrame}from\"framer-motion\";const COLS=50;const ROWS=25;const GAP=40;const DOT_SIZE=5;const MAX_SCALE=4;const RADIUS=120;const PARALLAX_STRENGTH=0// how many px the grid shifts\n;export default function DotGrid(){const containerRef=useRef(null);const[mouse,setMouse]=useState({x:-9999,y:-9999});const[pan,setPan]=useState({x:0,y:0});const[tick,setTick]=useState(0);useAnimationFrame(t=>setTick(t/1e3));useEffect(()=>{const el=containerRef.current;if(!el)return;const onMove=e=>{const rect=el.getBoundingClientRect();const localX=e.clientX-rect.left;const localY=e.clientY-rect.top;// Cursor position relative to center (-1 to 1)\nconst cx=(localX/rect.width-.5)*2;const cy=(localY/rect.height-.5)*2;setPan({x:cx*PARALLAX_STRENGTH,y:cy*PARALLAX_STRENGTH});setMouse({x:localX,y:localY});};const onLeave=()=>{setMouse({x:-9999,y:-9999});setPan({x:0,y:0});};el.addEventListener(\"pointermove\",onMove);el.addEventListener(\"pointerleave\",onLeave);return()=>{el.removeEventListener(\"pointermove\",onMove);el.removeEventListener(\"pointerleave\",onLeave);};},[]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{position:\"absolute\",inset:0,overflow:\"hidden\",background:\"#fff\"},children:/*#__PURE__*/_jsx(motion.div,{animate:{x:pan.x,y:pan.y},transition:{type:\"spring\",stiffness:80,damping:20},style:{display:\"grid\",gridTemplateColumns:`repeat(${COLS}, ${GAP}px)`,gridTemplateRows:`repeat(${ROWS}, ${GAP}px)`,placeItems:\"center\",padding:20,width:\"fit-content\"},children:Array.from({length:ROWS*COLS}).map((_,i)=>{const col=i%COLS;const row=Math.floor(i/COLS);const dotX=col*GAP+GAP/2+20;const dotY=row*GAP+GAP/2+20;const dx=dotX-mouse.x;const dy=dotY-mouse.y;const dist=Math.sqrt(dx*dx+dy*dy);const cursorScale=dist<RADIUS?1+(MAX_SCALE-1)*(1-dist/RADIUS):1;const wave=Math.sin(tick*1.5+col*.4+row*.4)*.6;const scale=cursorScale+(cursorScale===1?wave:0);return /*#__PURE__*/_jsx(motion.div,{animate:{scale},transition:{type:\"spring\",stiffness:300,damping:20},style:{width:DOT_SIZE,height:DOT_SIZE,borderRadius:\"50%\",background:\"#9e9e9e\"}},i);})})});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DotGrid\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Dotgrid2.map","// Generated by Framer (7affe85)\nexport default function metadata(params,activeLocale){return{description:\"Austrian Students Future Forum\",favicon:\"https://framerusercontent.com/assets/IZpadsrhCpPHS3dDd2YJDCdBds.png\",robots:\"max-image-preview:large\",title:\"ASFF\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"mLAEC,SAAwB,GAAS,CAAC,IAAM,EAAaA,EAAO,KAAK,CAAM,CAAC,EAAM,GAAUC,EAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAM,CAAC,EAAI,GAAQA,EAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAM,CAAC,EAAK,GAASA,EAAS,EAAE,CAC2O,OAD1O,EAAkB,GAAG,EAAQ,EAAE,IAAI,CAAC,CAAC,MAAc,CAAC,IAAM,EAAG,EAAa,QAAQ,GAAG,CAAC,EAAG,OAAO,IAAM,EAAO,GAAG,CAAC,IAAM,EAAK,EAAG,uBAAuB,CAAO,EAAO,EAAE,QAAQ,EAAK,KAAW,EAAO,EAAE,QAAQ,EAAK,IACzY,GAAI,EAAO,EAAK,MAAM,IAAI,EAAQ,GAAI,EAAO,EAAK,OAAO,IAAI,EAAE,EAAO,CAAC,EAAE,EAAG,EAAkB,EAAE,EAAG,EAAkB,CAAC,CAAC,EAAS,CAAC,EAAE,EAAO,EAAE,EAAO,CAAC,EAAS,MAAY,CAAC,EAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAO,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAyF,OAAtF,EAAG,iBAAiB,cAAc,EAAO,CAAC,EAAG,iBAAiB,eAAe,EAAQ,KAAW,CAAC,EAAG,oBAAoB,cAAc,EAAO,CAAC,EAAG,oBAAoB,eAAe,EAAQ,GAAK,EAAE,CAAC,CAAqB,EAAK,MAAM,CAAC,IAAI,EAAa,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,SAAS,SAAS,WAAW,OAAO,CAAC,SAAsB,EAAK,EAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAI,EAAE,EAAE,EAAI,EAAE,CAAC,WAAW,CAAC,KAAK,SAAS,UAAU,GAAG,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,OAAO,oBAAoB,UAAU,EAAK,IAAI,EAAI,KAAK,iBAAiB,UAAU,EAAK,IAAI,EAAI,KAAK,WAAW,SAAS,QAAQ,GAAG,MAAM,cAAc,CAAC,SAAS,MAAM,KAAK,CAAC,OAAO,EAAK,EAAK,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAM,EAAI,EAAE,EAAW,EAAI,KAAK,MAAM,EAAE,EAAK,CAAO,EAAK,EAAI,EAAI,EAAI,EAAE,GAAS,EAAK,EAAI,EAAI,EAAI,EAAE,GAAS,EAAG,EAAK,EAAM,EAAQ,EAAG,EAAK,EAAM,EAAQ,EAAK,KAAK,KAAK,EAAG,EAAG,EAAG,EAAG,CAAO,EAAY,EAAK,EAAO,GAAG,EAAU,IAAI,EAAE,EAAK,GAAQ,EAAQ,EAAK,KAAK,IAAI,EAAK,IAAI,EAAI,GAAG,EAAI,GAAG,CAAC,GAAS,EAAM,GAAa,IAAc,EAAE,EAAK,GAAG,OAAoB,EAAK,EAAO,IAAI,CAAC,QAAQ,CAAC,QAAM,CAAC,WAAW,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,EAAS,OAAO,EAAS,aAAa,MAAM,WAAW,UAAU,CAAC,CAAC,EAAE,EAAG,CAAC,CAAC,CAAC,CAAC,gCAFx1C,IAA6C,IAAoD,CAAM,EAAK,GAAS,EAAK,GAAS,EAAI,GAAS,EAAS,EAAQ,EAAU,EAAQ,EAAO,IAAU,EAAkB,KCAjQ,SAAwB,EAAS,EAAO,EAAa,CAAC,MAAM,CAAC,YAAY,iCAAiC,QAAQ,sEAAsE,OAAO,0BAA0B,MAAM,OAAO"}