{"version":3,"file":"shared-lib.CMTGmhrz.mjs","names":["React.useRef","React.useState","React.useCallback","React.useMemo","React.startTransition"],"sources":["https:/framerusercontent.com/modules/2IIwMk3aYG5MH4u3kHGb/Du4JxwDrBV34QyC8tYYJ/ProjectPinUpField.js","https:/framerusercontent.com/modules/9xHjgeUdxKqxFOwFXBsv/2Rbxb1WD8j7uUdz4DHV7/Xa6ymDDGV.js","https:/framerusercontent.com/modules/wmqPQgQq0pEbKweMjRhd/mQjengJ18i3Iv404NFH9/siteMetadata.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const FIELD_WIDTH=8e3;const FIELD_HEIGHT=5e3;const DEFAULT_IMAGE={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Gradient 1 - Blue\"};const gradients=[[\"#334A62\",\"#1F2A38\"],[\"#6A4A42\",\"#3F2A26\"],[\"#4B5A43\",\"#2F3A2C\"],[\"#455A5C\",\"#2A3637\"],[\"#5F5B56\",\"#383532\"],[\"#5E4B5C\",\"#352A36\"],[\"#3D4F68\",\"#222C3F\"],[\"#6A5F4E\",\"#3E382F\"]];const PLACEHOLDER_IMAGES=[{src:\"https://images.unsplash.com/photo-1557226217-bf0da2478e6c?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"empty concrete hallway\"},{src:\"https://images.unsplash.com/photo-1774021803974-ba9c7fa1b89a?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"textured concrete wall\"},{src:\"https://images.unsplash.com/photo-1774021795897-d3a08808dbe6?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"concrete panels fluorescent lights\"},{src:\"https://images.unsplash.com/photo-1774021801053-43f96ceadc96?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"concrete staircase hallway\"},{src:\"https://images.unsplash.com/photo-1774021803483-7b1aed1c93e5?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"modern concrete staircase\"},{src:\"https://images.unsplash.com/photo-1774021802431-19731d27be3f?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"concrete staircase white wall\"},{src:\"https://images.unsplash.com/photo-1774021802805-ea8a1b26942b?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"concrete stairs modern building\"},{src:\"https://images.unsplash.com/photo-1774021796906-920279c1687e?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"empty white wall concrete glass\"},{src:\"https://images.unsplash.com/photo-1774021794093-66bbccff0fd7?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"empty concrete room white wall\"},{src:\"https://images.unsplash.com/photo-1774021794902-1c40fc8f5ded?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"empty gallery concrete floor skylights\"},{src:\"https://images.unsplash.com/photo-1774021803683-def3ed70d869?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"concrete wood interior\"},{src:\"https://images.unsplash.com/photo-1774021796374-77bd41663939?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"modern concrete staircase railings\"},{src:\"https://images.unsplash.com/photo-1615406020658-6c4b805f1f30?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"brown concrete building exterior\"},{src:\"https://images.unsplash.com/photo-1488972685288-c3fd157d7c7a?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"low angle gray concrete building\"},{src:\"https://images.unsplash.com/photo-1483366774565-c783b9f70e2c?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"worms eye view concrete tower\"},{src:\"https://images.unsplash.com/photo-1518005076933-9ef6bec005cb?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"building low angle blue sky\"},{src:\"https://images.unsplash.com/photo-1640121555020-ca363651f306?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"curved building facade sky\"},{src:\"https://images.unsplash.com/photo-1542559204-832ecc9bbb88?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"white concrete building low angle\"},{src:\"https://images.unsplash.com/photo-1649690912363-58e651ddab6c?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"building facade many windows\"},{src:\"https://images.unsplash.com/photo-1598138967311-98e4bdc1fea1?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=900\",alt:\"concrete pillars dark interior\"}];function seededRandom(seed){const x=Math.sin(seed*999.177)*1e4;return x-Math.floor(x);}function computeDepth(index){return .15+seededRandom(index*37+5)*.85;}function clamp(value,min,max){return Math.max(min,Math.min(max,value));}function lerp(a,b,t){return a+(b-a)*t;}function normalizePositiveDimension(value){if(typeof value!==\"number\"||!Number.isFinite(value))return null;return value>0?value:null;}function normalizeAspectRatio(value){if(typeof value!==\"number\"||!Number.isFinite(value))return null;return value>0?value:null;}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function ProjectPinUpField(props){const{items,placeholderCount,overlapStrength,backgroundColor,showGrid,gridOpacity,cardRadius,shadowStrength,initialZoom,minZoom,maxZoom,enableHoverEffect,cardSurface,cardPadding,labelColor,hazeStrength,parallaxStrength,dragSpring,cardBorderColor,linkNewTab=true}=props;const isStatic=useIsStaticRenderer();const containerRef=React.useRef(null);const canvasRef=React.useRef(null);const transformRafRef=React.useRef(null);const inertiaRafRef=React.useRef(null);const focusRafRef=React.useRef(null);const txRef=React.useRef(0);const tyRef=React.useRef(0);const zoomRef=React.useRef(clamp(initialZoom,minZoom,maxZoom));const isDraggingRef=React.useRef(false);const pointerIdRef=React.useRef(null);const lastPointerRef=React.useRef({x:0,y:0,time:0});const velocityRef=React.useRef({x:0,y:0});const touchPinchRef=React.useRef({active:false,startDistance:0,startZoom:zoomRef.current,midpointX:0,midpointY:0});const lastTapRef=React.useRef(0);const cardDragRef=React.useRef(null);const parallaxTargetRef=React.useRef({x:0,y:0});const parallaxCurrentRef=React.useRef({x:0,y:0});const mouseParallaxRafRef=React.useRef(null);const dragSpringRef=React.useRef(dragSpring);const parallaxStrengthRef=React.useRef(parallaxStrength);const[mounted,setMounted]=React.useState(false);const[dragging,setDragging]=React.useState(false);const[activeCard,setActiveCard]=React.useState(null);const[cardOverrides,setCardOverrides]=React.useState({});const[cardSizes,setCardSizes]=React.useState({});const[imageAspectRatios,setImageAspectRatios]=React.useState({});const cardSizesRef=React.useRef({});const cardResizeRef=React.useRef(null);const isParallaxRunningRef=React.useRef(false);// Opens a project's link, respecting the \"Open in New Tab\" control\nconst openLink=React.useCallback(url=>{if(!url||typeof window===\"undefined\")return;if(linkNewTab){window.open(url,\"_blank\",\"noopener,noreferrer\");}else{window.location.href=url;}},[linkNewTab]);const dataItems=React.useMemo(()=>{const sourceItems=items&&items.length>0?items:null;// Generate layout for all items (user items OR placeholders)\nconst cols=Math.ceil(Math.sqrt((sourceItems?.length??placeholderCount)*1.6));const cellW=Math.round(600-overlapStrength*480);const cellH=Math.round(500-overlapStrength*400);const count=sourceItems?.length??placeholderCount;return Array.from({length:count},(_,i)=>{const item=sourceItems?.[i];const col=i%cols;const row=Math.floor(i/cols);const jitterX=(seededRandom(i*7+1)-.5)*280;const jitterY=(seededRandom(i*7+2)-.5)*200;const w=180+Math.floor(seededRandom(i*7+3)*260);const rot=(seededRandom(i*7+5)-.5)*10;const depth=computeDepth(i);const gIdx=i%gradients.length;const imgIdx=i%PLACEHOLDER_IMAGES.length;return{title:item?.title??`ITEM-${String(i+1).padStart(3,\"0\")}`,image:item?.image??PLACEHOLDER_IMAGES[imgIdx],link:item?.link??\"\",cardWidth:w,x:80+col*cellW+jitterX,y:80+row*cellH+jitterY,rotation:rot,depth,gradientA:gradients[gIdx][0],gradientB:gradients[gIdx][1],width:normalizePositiveDimension(item?.width)??undefined,height:normalizePositiveDimension(item?.height)??undefined};});},[items,placeholderCount,overlapStrength]);const getResolvedCardSize=React.useCallback((item,index,runtimeSizes)=>{const runtimeWidth=normalizePositiveDimension(runtimeSizes[index]?.width);const seededWidth=item.cardWidth??Math.round(180+(item.depth??.5)*220+seededRandom(index*7+3)*80);const configuredWidth=normalizePositiveDimension(item.width);const configuredHeight=normalizePositiveDimension(item.height);const naturalRatio=normalizeAspectRatio(imageAspectRatios[index])??1/.7;if(runtimeWidth){return{width:runtimeWidth,height:runtimeWidth/naturalRatio,forceImageRegionHeight:false,cropImage:false};}if(configuredWidth&&configuredHeight){return{width:configuredWidth,height:configuredHeight,forceImageRegionHeight:true,cropImage:true};}if(configuredWidth){return{width:configuredWidth,height:configuredWidth/naturalRatio,forceImageRegionHeight:false,cropImage:false};}if(configuredHeight){return{width:configuredHeight*naturalRatio,height:configuredHeight,forceImageRegionHeight:true,cropImage:false};}return{width:seededWidth,height:seededWidth*.7,forceImageRegionHeight:false,cropImage:false};},[imageAspectRatios]);React.useEffect(()=>{dragSpringRef.current=dragSpring;parallaxStrengthRef.current=parallaxStrength;},[dragSpring,parallaxStrength]);React.useEffect(()=>{cardSizesRef.current=cardSizes;},[cardSizes]);const applyTransform=React.useCallback(()=>{if(!canvasRef.current)return;canvasRef.current.style.transform=`translate(${txRef.current}px, ${tyRef.current}px) scale(${zoomRef.current})`;},[]);const cancelFocusAnimation=React.useCallback(()=>{if(focusRafRef.current!==null&&typeof window!==\"undefined\"){window.cancelAnimationFrame(focusRafRef.current);focusRafRef.current=null;}},[]);const cancelInertia=React.useCallback(()=>{if(inertiaRafRef.current!==null&&typeof window!==\"undefined\"){window.cancelAnimationFrame(inertiaRafRef.current);inertiaRafRef.current=null;}},[]);const scheduleTransform=React.useCallback(()=>{if(transformRafRef.current!==null||typeof window===\"undefined\")return;transformRafRef.current=window.requestAnimationFrame(()=>{transformRafRef.current=null;applyTransform();});},[applyTransform]);const focusCard=React.useCallback((cardIndex,targetZoom=1.2)=>{if(!containerRef.current||typeof window===\"undefined\")return;const card=dataItems[cardIndex];if(!card)return;cancelFocusAnimation();cancelInertia();const rect=containerRef.current.getBoundingClientRect();const z0=zoomRef.current;const tx0=txRef.current;const ty0=tyRef.current;const z1=clamp(targetZoom,minZoom,maxZoom);const size=getResolvedCardSize(card,cardIndex,cardSizesRef.current);const width=size.width;const height=size.height;const targetTx=rect.width/2-(card.x+width/2)*z1;const targetTy=rect.height/2-(card.y+height/2)*z1;const start=performance.now();const duration=500;const tick=()=>{const t=clamp((performance.now()-start)/duration,0,1);const ease=1-Math.pow(1-t,3);zoomRef.current=lerp(z0,z1,ease);txRef.current=lerp(tx0,targetTx,ease);tyRef.current=lerp(ty0,targetTy,ease);applyTransform();if(t<1){focusRafRef.current=window.requestAnimationFrame(tick);}else{focusRafRef.current=null;}};focusRafRef.current=window.requestAnimationFrame(tick);},[applyTransform,cancelFocusAnimation,cancelInertia,dataItems,getResolvedCardSize,maxZoom,minZoom]);const zoomAtPoint=React.useCallback((clientX,clientY,nextZoom)=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();const z=clamp(nextZoom,minZoom,maxZoom);const localX=clientX-rect.left;const localY=clientY-rect.top;const worldX=(localX-txRef.current)/zoomRef.current;const worldY=(localY-tyRef.current)/zoomRef.current;zoomRef.current=z;txRef.current=localX-worldX*z;tyRef.current=localY-worldY*z;scheduleTransform();},[maxZoom,minZoom,scheduleTransform]);React.useEffect(()=>{const t=setTimeout(()=>setMounted(true),60);return()=>clearTimeout(t);},[]);React.useEffect(()=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();zoomRef.current=clamp(initialZoom,minZoom,maxZoom);// Center on the bounding center of all items\nif(dataItems.length===0){txRef.current=rect.width/2;tyRef.current=rect.height/2;applyTransform();return;}let minX=Infinity,minY=Infinity,maxX=-Infinity,maxY=-Infinity;for(let index=0;index<dataItems.length;index++){const item=dataItems[index];const size=getResolvedCardSize(item,index,{});const width=size.width;const height=size.height;minX=Math.min(minX,item.x);minY=Math.min(minY,item.y);maxX=Math.max(maxX,item.x+width);maxY=Math.max(maxY,item.y+height);}const centerX=(minX+maxX)/2;const centerY=(minY+maxY)/2;txRef.current=rect.width/2-centerX*zoomRef.current;tyRef.current=rect.height/2-centerY*zoomRef.current;applyTransform();},[applyTransform,dataItems,getResolvedCardSize,initialZoom,maxZoom,minZoom]);React.useEffect(()=>{if(isStatic||!containerRef.current||typeof window===\"undefined\")return;const node=containerRef.current;const startParallaxLoop=()=>{if(mouseParallaxRafRef.current!==null||typeof window===\"undefined\")return;isParallaxRunningRef.current=true;const tick=()=>{if(!isParallaxRunningRef.current){mouseParallaxRafRef.current=null;return;}const target=parallaxTargetRef.current;const curr=parallaxCurrentRef.current;const lx=curr.x+(target.x-curr.x)*.06;const ly=curr.y+(target.y-curr.y)*.06;parallaxCurrentRef.current={x:lx,y:ly};const wrappers=canvasRef.current?.querySelectorAll(\"[data-pinup-depth]\");wrappers?.forEach(el=>{const depth=parseFloat(el.dataset.pinupDepth??\"0.5\");const strength=parallaxStrengthRef.current;const ox=lx*strength*depth;const oy=ly*strength*depth;el.style.transform=`translate(${ox}px, ${oy}px)`;});mouseParallaxRafRef.current=window.requestAnimationFrame(tick);};mouseParallaxRafRef.current=window.requestAnimationFrame(tick);};const stopParallaxLoop=()=>{isParallaxRunningRef.current=false;if(mouseParallaxRafRef.current!==null&&typeof window!==\"undefined\"){window.cancelAnimationFrame(mouseParallaxRafRef.current);mouseParallaxRafRef.current=null;}};const onPointerDown=event=>{const target=event.target;if(target?.closest(\"[data-pinup-card='true']\"))return;cancelFocusAnimation();cancelInertia();isDraggingRef.current=true;pointerIdRef.current=event.pointerId;node.setPointerCapture(event.pointerId);const now=performance.now();lastPointerRef.current={x:event.clientX,y:event.clientY,time:now};velocityRef.current={x:0,y:0};React.startTransition(()=>setDragging(true));};const onPointerMove=event=>{if(!isDraggingRef.current||pointerIdRef.current!==event.pointerId)return;const now=performance.now();const last=lastPointerRef.current;const dx=event.clientX-last.x;const dy=event.clientY-last.y;const dt=Math.max(1,now-last.time);txRef.current+=dx;tyRef.current+=dy;velocityRef.current={x:dx/dt,y:dy/dt};lastPointerRef.current={x:event.clientX,y:event.clientY,time:now};scheduleTransform();};const startInertia=()=>{cancelInertia();const friction=.92;const minSpeed=.015;let prev=performance.now();const tick=()=>{const now=performance.now();const dt=Math.max(1,now-prev);prev=now;velocityRef.current.x*=friction;velocityRef.current.y*=friction;txRef.current+=velocityRef.current.x*dt;tyRef.current+=velocityRef.current.y*dt;applyTransform();const speed=Math.hypot(velocityRef.current.x,velocityRef.current.y);if(speed>minSpeed){inertiaRafRef.current=window.requestAnimationFrame(tick);}else{inertiaRafRef.current=null;}};inertiaRafRef.current=window.requestAnimationFrame(tick);};const onPointerUpOrCancel=event=>{if(pointerIdRef.current!==event.pointerId)return;isDraggingRef.current=false;pointerIdRef.current=null;try{node.releasePointerCapture(event.pointerId);}catch(_e){}React.startTransition(()=>setDragging(false));startInertia();};const onWheel=event=>{event.preventDefault();cancelFocusAnimation();const factor=Math.exp(-event.deltaY*.0015);zoomAtPoint(event.clientX,event.clientY,zoomRef.current*factor);};const onTouchStart=event=>{if(event.touches.length===2){cancelFocusAnimation();cancelInertia();const t1=event.touches[0];const t2=event.touches[1];const dx=t2.clientX-t1.clientX;const dy=t2.clientY-t1.clientY;touchPinchRef.current={active:true,startDistance:Math.hypot(dx,dy),startZoom:zoomRef.current,midpointX:(t1.clientX+t2.clientX)/2,midpointY:(t1.clientY+t2.clientY)/2};}};const onTouchMove=event=>{if(event.touches.length!==2||!touchPinchRef.current.active)return;event.preventDefault();const t1=event.touches[0];const t2=event.touches[1];const dx=t2.clientX-t1.clientX;const dy=t2.clientY-t1.clientY;const distance=Math.hypot(dx,dy);const pinch=touchPinchRef.current;const scale=distance/Math.max(1,pinch.startDistance);zoomAtPoint(pinch.midpointX,pinch.midpointY,pinch.startZoom*scale);};const onTouchEnd=()=>{touchPinchRef.current.active=false;};const onMouseMove=event=>{if(isDraggingRef.current||!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();parallaxTargetRef.current={x:(event.clientX-rect.left)/rect.width-.5,y:(event.clientY-rect.top)/rect.height-.5};};node.addEventListener(\"pointerdown\",onPointerDown);node.addEventListener(\"pointermove\",onPointerMove);node.addEventListener(\"pointerup\",onPointerUpOrCancel);node.addEventListener(\"pointercancel\",onPointerUpOrCancel);node.addEventListener(\"wheel\",onWheel,{passive:false});node.addEventListener(\"touchstart\",onTouchStart,{passive:true});node.addEventListener(\"touchmove\",onTouchMove,{passive:false});node.addEventListener(\"touchend\",onTouchEnd);node.addEventListener(\"touchcancel\",onTouchEnd);node.addEventListener(\"mousemove\",onMouseMove);// Set up IntersectionObserver to pause/resume parallax when off-screen\nconst observer=new IntersectionObserver(entries=>{entries.forEach(entry=>{if(entry.isIntersecting){startParallaxLoop();}else{stopParallaxLoop();}});},{threshold:0});observer.observe(node);return()=>{node.removeEventListener(\"pointerdown\",onPointerDown);node.removeEventListener(\"pointermove\",onPointerMove);node.removeEventListener(\"pointerup\",onPointerUpOrCancel);node.removeEventListener(\"pointercancel\",onPointerUpOrCancel);node.removeEventListener(\"wheel\",onWheel);node.removeEventListener(\"touchstart\",onTouchStart);node.removeEventListener(\"touchmove\",onTouchMove);node.removeEventListener(\"touchend\",onTouchEnd);node.removeEventListener(\"touchcancel\",onTouchEnd);node.removeEventListener(\"mousemove\",onMouseMove);observer.disconnect();stopParallaxLoop();};},[cancelFocusAnimation,cancelInertia,isStatic,zoomAtPoint,scheduleTransform,applyTransform]);React.useEffect(()=>{return()=>{if(typeof window===\"undefined\")return;if(transformRafRef.current!==null)window.cancelAnimationFrame(transformRafRef.current);if(inertiaRafRef.current!==null)window.cancelAnimationFrame(inertiaRafRef.current);if(focusRafRef.current!==null)window.cancelAnimationFrame(focusRafRef.current);if(mouseParallaxRafRef.current!==null)window.cancelAnimationFrame(mouseParallaxRafRef.current);};},[]);const onCardTouchEnd=React.useCallback(item=>{const now=Date.now();if(now-lastTapRef.current<280){openLink(item.link);}lastTapRef.current=now;},[openLink]);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"100vh\",overflow:\"hidden\",background:backgroundColor,cursor:dragging?\"grabbing\":\"grab\",touchAction:\"none\",userSelect:\"none\"},children:[showGrid&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,pointerEvents:\"none\",opacity:gridOpacity,backgroundImage:\"radial-gradient(circle, rgba(255,255,255,0.38) 1px, rgba(255,255,255,0) 1.2px)\",backgroundSize:\"22px 22px\",backgroundPosition:\"0 0\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0},children:[/*#__PURE__*/_jsx(\"div\",{ref:canvasRef,style:{position:\"absolute\",left:0,top:0,width:FIELD_WIDTH,height:FIELD_HEIGHT,transformOrigin:\"0 0\",willChange:\"transform\"},children:dataItems.map((item,index)=>{const override=cardOverrides[index];const cardX=override?override.x:item.x;const cardY=override?override.y:item.y;const resolvedSize=getResolvedCardSize(item,index,cardSizes);const effectiveWidth=resolvedSize.width;const hasImage=Boolean(item.image?.src);const gradientA=item.gradientA??gradients[index%gradients.length][0];const gradientB=item.gradientB??gradients[index%gradients.length][1];return /*#__PURE__*/_jsxs(\"div\",{\"data-pinup-card\":\"true\",\"data-pinup-depth\":String(item.depth??.5),style:{position:\"absolute\",left:cardX,top:cardY,width:effectiveWidth,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsxs(\"button\",{role:\"button\",\"aria-label\":`Open ${item.title}`,onDoubleClick:()=>focusCard(index,1.2),onTouchEnd:()=>onCardTouchEnd(item),onMouseEnter:()=>React.startTransition(()=>setActiveCard(index)),onMouseLeave:()=>React.startTransition(()=>setActiveCard(null)),onPointerDown:e=>{e.stopPropagation();const currentX=cardOverrides[index]?.x??item.x;const currentY=cardOverrides[index]?.y??item.y;const wrapperEl=e.currentTarget.parentElement;cardDragRef.current={active:true,cardIndex:index,startPointerX:e.clientX,startPointerY:e.clientY,startCardX:currentX,startCardY:currentY,hasMoved:false,dragLiveX:currentX,dragLiveY:currentY,dragDisplayX:currentX,dragDisplayY:currentY,dragRafId:null};const startDragSpring=(cardIndex,el)=>{const springTick=()=>{const drag=cardDragRef.current;if(!drag||drag.cardIndex!==cardIndex)return;drag.dragDisplayX+=(drag.dragLiveX-drag.dragDisplayX)*dragSpringRef.current;drag.dragDisplayY+=(drag.dragLiveY-drag.dragDisplayY)*dragSpringRef.current;el.style.left=`${drag.dragDisplayX}px`;el.style.top=`${drag.dragDisplayY}px`;drag.dragRafId=window.requestAnimationFrame(springTick);};if(cardDragRef.current&&typeof window!==\"undefined\"){cardDragRef.current.dragRafId=window.requestAnimationFrame(springTick);}};if(wrapperEl)startDragSpring(index,wrapperEl);e.currentTarget.setPointerCapture(e.pointerId);e.currentTarget.style.transition=\"none\";e.currentTarget.style.zIndex=\"50\";e.currentTarget.style.cursor=\"grabbing\";},onPointerMove:e=>{if(!cardDragRef.current||cardDragRef.current.cardIndex!==index)return;const dx=(e.clientX-cardDragRef.current.startPointerX)/zoomRef.current;const dy=(e.clientY-cardDragRef.current.startPointerY)/zoomRef.current;if(!cardDragRef.current.hasMoved&&Math.hypot(dx,dy)>5){cardDragRef.current.hasMoved=true;}if(cardDragRef.current.hasMoved){cardDragRef.current.dragLiveX=cardDragRef.current.startCardX+dx;cardDragRef.current.dragLiveY=cardDragRef.current.startCardY+dy;}},onPointerUp:e=>{if(!cardDragRef.current||cardDragRef.current.cardIndex!==index)return;const drag=cardDragRef.current;if(drag.dragRafId!==null&&typeof window!==\"undefined\"){window.cancelAnimationFrame(drag.dragRafId);}cardDragRef.current=null;e.currentTarget.releasePointerCapture(e.pointerId);e.currentTarget.style.transition=\"\";e.currentTarget.style.zIndex=\"\";e.currentTarget.style.cursor=\"grab\";if(drag.hasMoved){React.startTransition(()=>setCardOverrides(prev=>({...prev,[index]:{x:drag.dragDisplayX,y:drag.dragDisplayY}})));}else{openLink(item.link);}},onPointerCancel:e=>{if(!cardDragRef.current||cardDragRef.current.cardIndex!==index)return;if(cardDragRef.current.dragRafId!==null&&typeof window!==\"undefined\"){window.cancelAnimationFrame(cardDragRef.current.dragRafId);}cardDragRef.current=null;e.currentTarget.style.transition=\"\";e.currentTarget.style.zIndex=\"\";e.currentTarget.style.cursor=\"grab\";},style:{position:\"relative\",width:\"100%\",height:\"auto\",padding:0,borderRadius:cardRadius,overflow:\"hidden\",border:`1px solid ${cardBorderColor}`,background:cardSurface,textAlign:\"left\",transform:`scale(${enableHoverEffect&&activeCard===index?1.03:1})`,transformOrigin:\"center center\",opacity:mounted?1:0,transitionDelay:`${index*30}ms`,transition:\"opacity 500ms ease, transform 220ms ease, box-shadow 220ms ease, filter 220ms ease, z-index 120ms ease\",filter:enableHoverEffect&&activeCard===index?\"brightness(1.08)\":\"brightness(1)\",boxShadow:enableHoverEffect&&activeCard===index?`0 ${20*shadowStrength}px ${60*shadowStrength}px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.12)`:`0 ${8*shadowStrength}px ${24*shadowStrength}px rgba(0,0,0,0.45)`,zIndex:activeCard===index?20:1,cursor:item.link?\"pointer\":\"grab\",pointerEvents:\"all\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{margin:`${cardPadding}px ${cardPadding}px 0 ${cardPadding}px`,borderRadius:Math.max(0,cardRadius-cardPadding),overflow:\"hidden\",lineHeight:0,background:`linear-gradient(145deg, ${gradientA}, ${gradientB})`,height:resolvedSize.forceImageRegionHeight?Math.max(0,resolvedSize.height):undefined},children:hasImage&&/*#__PURE__*/_jsx(\"img\",{src:item.image?.src||DEFAULT_IMAGE.src,alt:item.image?.alt||item.title,srcSet:item.image?.srcSet,onLoad:event=>{const ratio=normalizeAspectRatio(event.currentTarget.naturalWidth/Math.max(1,event.currentTarget.naturalHeight));if(!ratio)return;if(imageAspectRatios[index]===ratio)return;React.startTransition(()=>{setImageAspectRatios(prev=>({...prev,[index]:ratio}));});},style:{width:\"100%\",height:resolvedSize.forceImageRegionHeight?\"100%\":\"auto\",objectFit:resolvedSize.cropImage?\"cover\":undefined,display:\"block\",pointerEvents:\"none\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:`6px ${cardPadding}px 8px ${cardPadding}px`,color:labelColor,fontFamily:\"'Courier New', 'Courier', monospace\",fontSize:\"11px\",fontWeight:400,lineHeight:\"1.3em\",letterSpacing:\"0em\",pointerEvents:\"none\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:[item.title.replace(/\\s+/g,\"-\").toLowerCase(),\".png\"]})]}),[\"tl\",\"tr\",\"bl\",\"br\"].map(corner=>{const isTop=corner===\"tl\"||corner===\"tr\";const isLeft=corner===\"tl\"||corner===\"bl\";const cursorMap={tl:\"nw-resize\",tr:\"ne-resize\",bl:\"sw-resize\",br:\"se-resize\"};const charMap={tl:\"↖\",tr:\"↗\",bl:\"↙\",br:\"↘\"};return /*#__PURE__*/_jsx(\"div\",{onPointerDown:e=>{e.stopPropagation();const currentOverride=cardOverrides[index];const currentX=currentOverride?currentOverride.x:item.x;const currentY=currentOverride?currentOverride.y:item.y;cardResizeRef.current={active:true,cardIndex:index,corner,startPointerX:e.clientX,startWidth:effectiveWidth,startX:currentX,wrapperEl:e.currentTarget.parentElement};e.currentTarget.setPointerCapture(e.pointerId);},onPointerMove:e=>{const r=cardResizeRef.current;if(!r||r.cardIndex!==index)return;const dx=(e.clientX-r.startPointerX)/zoomRef.current;let newW=r.startWidth;let newX=r.startX;if(r.corner===\"br\"||r.corner===\"tr\"){newW=r.startWidth+dx;}else{newW=r.startWidth-dx;newX=r.startX+dx;}newW=Math.max(80,Math.min(800,newW));if(r.wrapperEl){r.wrapperEl.style.width=`${newW}px`;if(r.corner===\"tl\"||r.corner===\"bl\"){r.wrapperEl.style.left=`${newX}px`;}}},onPointerUp:e=>{const r=cardResizeRef.current;if(!r||r.cardIndex!==index)return;const dx=(e.clientX-r.startPointerX)/zoomRef.current;let newW=r.startWidth;let newX=r.startX;if(r.corner===\"br\"||r.corner===\"tr\"){newW=r.startWidth+dx;}else{newW=r.startWidth-dx;newX=r.startX+dx;}newW=Math.max(80,Math.min(800,newW));e.currentTarget.releasePointerCapture(e.pointerId);cardResizeRef.current=null;React.startTransition(()=>{setCardSizes(prev=>({...prev,[index]:{width:newW}}));if(r.corner===\"tl\"||r.corner===\"bl\"){setCardOverrides(prev=>({...prev,[index]:{x:newX,y:prev[index]?.y??item.y}}));}});},style:{position:\"absolute\",top:isTop?-9:undefined,bottom:!isTop?-9:undefined,left:isLeft?-9:undefined,right:!isLeft?-9:undefined,width:18,height:18,cursor:cursorMap[corner],zIndex:30,pointerEvents:\"all\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",opacity:0,transition:\"opacity 150ms\"},onMouseEnter:e=>{e.currentTarget.style.opacity=\"1\";},onMouseLeave:e=>{e.currentTarget.style.opacity=\"0\";},children:/*#__PURE__*/_jsx(\"div\",{style:{width:14,height:14,borderRadius:\"50%\",background:\"rgba(255,255,255,0.18)\",border:\"1px solid rgba(255,255,255,0.5)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:7,color:\"#fff\",lineHeight:1},children:charMap[corner]})},corner);})]},`wrapper-${item.title}-${index}`);})}),hazeStrength>0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,pointerEvents:\"none\",zIndex:50,background:`radial-gradient(ellipse at center, transparent 15%, rgba(0,0,0,${hazeStrength*.75}) 100%)`}})]})]});}addPropertyControls(ProjectPinUpField,{items:{type:ControlType.Array,title:\"Projects\",defaultValue:[],control:{type:ControlType.Object,controls:{title:{type:ControlType.String,defaultValue:\"Project\"},image:{type:ControlType.ResponsiveImage},link:{type:ControlType.Link,defaultValue:\"\"},width:{type:ControlType.Number,title:\"Width (0 = Auto)\",defaultValue:0,min:0,max:1200,step:1,unit:\"px\"},height:{type:ControlType.Number,title:\"Height (0 = Auto)\",defaultValue:0,min:0,max:1200,step:1,unit:\"px\"}}}},linkNewTab:{type:ControlType.Boolean,title:\"Open in New Tab\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},placeholderCount:{type:ControlType.Number,title:\"Placeholders\",defaultValue:70,min:10,max:150,step:1},overlapStrength:{type:ControlType.Number,title:\"Overlap\",defaultValue:.45,min:0,max:1,step:.01},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#0a0a0a\"},showGrid:{type:ControlType.Boolean,title:\"Show Grid\",defaultValue:false},gridOpacity:{type:ControlType.Number,title:\"Grid Opacity\",defaultValue:.18,min:0,max:1,step:.01},cardRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:6,min:0,max:32,step:1,unit:\"px\"},shadowStrength:{type:ControlType.Number,title:\"Shadow\",defaultValue:1,min:0,max:3,step:.05},initialZoom:{type:ControlType.Number,title:\"Initial Zoom\",defaultValue:.5,min:.1,max:2,step:.01},minZoom:{type:ControlType.Number,title:\"Min Zoom\",defaultValue:.12,min:.05,max:1,step:.01},maxZoom:{type:ControlType.Number,title:\"Max Zoom\",defaultValue:3.5,min:1,max:5,step:.01},enableHoverEffect:{type:ControlType.Boolean,title:\"Hover FX\",defaultValue:true},cardSurface:{type:ControlType.Color,title:\"Card Surface\",defaultValue:\"#ffffff\"},cardPadding:{type:ControlType.Number,title:\"Card Padding\",defaultValue:8,min:0,max:32,step:1,unit:\"px\"},labelColor:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#111111\"},hazeStrength:{type:ControlType.Number,title:\"Haze\",defaultValue:.4,min:0,max:1,step:.01},parallaxStrength:{type:ControlType.Number,title:\"Parallax\",defaultValue:28,min:0,max:80,step:1},dragSpring:{type:ControlType.Number,title:\"Drag Spring\",defaultValue:.18,min:.04,max:1,step:.01},cardBorderColor:{type:ControlType.Color,title:\"Card Border\",defaultValue:\"rgba(0,0,0,0.08)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ProjectPinUpField\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProjectPinUpField.map","// Generated by Framer (e503c47)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-nW3vU .framer-styles-preset-191m6y8:not(.rich-text-wrapper), .framer-nW3vU .framer-styles-preset-191m6y8.rich-text-wrapper a { --framer-link-text-color: #0099ff; }\"];export const className=\"framer-nW3vU\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (8bbc62e)\nexport default function metadata(params,activeLocale){return{description:\"Orbitfield\",robots:\"max-image-preview:large\",title:\"Orbitfield\"};}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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"}