{"version":3,"file":"Project_carddd.SFmc9aJ2.mjs","names":["React.useRef","React.useState","React.useId"],"sources":["https:/framerusercontent.com/modules/XghNENlYQn7B809pBb1C/81TNF76St6fKhAy2Yarp/Project_carddd.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 clamp=(v,lo=0,hi=1)=>Math.min(hi,Math.max(lo,v));/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 570\n */export default function NaamProjectCard(props){const{theme=\"dark\",comingSoon=false,comingSoonText=\"Coming soon\",softenPreview=true,image,alt=\"\",category=\"PRODUCT DESIGN\",title=\"Velocity\",description=\"Bringing complex real estate workflows into one clear platform.\",link=\"\",newTab=false,side=\"right\",firstSide=\"right\",listGroup=\"projects\",background:customBackground=\"#0d0d0d\",textColor:customTextColor=\"#ffffff\",categoryColor:customCategoryColor=\"#999999\",radius=6,imageWidth=64.6,cardWidth=43.1,overlap=7.7,imageRatio=1.47,cardPadding=40,cardOffset=20,mobileAt=480,imageTravel=100,scaleStart=1.1,scaleEnd=1.2,textTravel=80,smoothing=85,hoverScale=.95,reveal=true,categoryFont,titleFont,descriptionFont,buttonFont,buttonText=\"View project\",style}=props;const background=theme===\"light\"?\"#F5F5F3\":theme===\"dark\"?\"#0D0D0D\":customBackground;const textColor=theme===\"light\"?\"#171717\":theme===\"dark\"?\"#FFFFFF\":customTextColor;const categoryColor=theme===\"light\"?\"#62625E\":theme===\"dark\"?\"#999999\":customCategoryColor;const clickable=!comingSoon&&Boolean(link);const staticRenderer=useIsStaticRenderer();const root=React.useRef(null);const entrance=React.useRef(null);const imageInner=React.useRef(null);const card=React.useRef(null);const label=React.useRef(null);const[width,setWidth]=React.useState(1200);const[viewport,setViewport]=React.useState(1200);const[reduced,setReduced]=React.useState(false);const[active,setActive]=React.useState(false);const[autoIndex,setAutoIndex]=React.useState(0);const[labelWidth,setLabelWidth]=React.useState(0);const mobile=width<mobileAt;// Keep the chosen width proportions through tablet sizes; stack on mobile.\nconst tablet=width<850&&!mobile;const photoWidth=mobile?100:imageWidth;const panelWidth=mobile?100:cardWidth;const padding=mobile?25:tablet?Math.min(cardPadding,30):cardPadding;const imageSrc=typeof image===\"string\"?image:image?.src;const id=\"naam-\"+React.useId().replace(/:/g,\"\");React.useEffect(()=>{const node=root.current;if(!node)return;const measure=()=>{setWidth(node.getBoundingClientRect().width||1200);setViewport(window.innerWidth);};measure();const observer=new ResizeObserver(measure);observer.observe(node);window.addEventListener(\"resize\",measure);const preference=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const update=()=>setReduced(preference.matches);update();preference.addEventListener(\"change\",update);return()=>{observer.disconnect();window.removeEventListener(\"resize\",measure);preference.removeEventListener(\"change\",update);};},[]);// CMS collections clone one template, so every item receives the same props.\n// Find this card's position in its nearest repeated container instead of\n// using a global counter. Recompute when filtering or sorting changes rows.\nReact.useEffect(()=>{if(side!==\"auto\"||!root.current)return;const node=root.current;let frame=0;const update=()=>{frame=0;let scope=node.parentElement;let items=[];while(scope){items=Array.from(scope.querySelectorAll(\"[data-naam-auto]\")).filter(item=>item.dataset.naamGroup===listGroup);if(items.length>1)break;scope=scope.parentElement;}setAutoIndex(Math.max(0,items.indexOf(node)));};const schedule=()=>{if(!frame)frame=requestAnimationFrame(update);};update();const observer=new MutationObserver(schedule);observer.observe(document.body,{childList:true,subtree:true,attributes:true,attributeFilter:[\"data-naam-auto\",\"data-naam-group\"]});return()=>{observer.disconnect();cancelAnimationFrame(frame);};},[side,listGroup]);React.useEffect(()=>{const node=label.current;if(!node)return;const measure=()=>setLabelWidth(node.scrollWidth+10);measure();const observer=new ResizeObserver(measure);observer.observe(node);return()=>observer.disconnect();},[buttonText,buttonFont,comingSoon,clickable]);React.useEffect(()=>{const node=root.current;const wrap=entrance.current;if(!node||!wrap)return;let frame=0;let target=0;let current=0;let previous=0;let alive=true;// Source disables continuous parallax below viewport width 480px.\nconst parallax=!staticRenderer&&!reduced&&!mobile&&viewport>=480;const paint=()=>{const progress=parallax?current:0;const scale=scaleStart+(scaleEnd-scaleStart)*progress;// On smaller frames, limit the shift to available overscan so that\n// the frame never exposes an empty strip beneath the photograph.\nconst available=node.clientWidth*photoWidth/100/imageRatio*(scale-1);const travel=Math.min(imageTravel*progress,Math.max(0,available));if(imageInner.current)imageInner.current.style.transform=`translate3d(0,${-travel}px,0) scale(${scale})`;const textProgress=clamp((progress-.1)/.9);if(card.current)card.current.style.transform=`translate3d(0,${-textTravel*textProgress}%,0)`;};const tick=time=>{const delta=previous?Math.min(64,time-previous):16.667;previous=time;const alpha=1-Math.pow(Math.max(.01,smoothing/100),delta/16.667);current+=(target-current)*alpha;if(Math.abs(target-current)<1e-4)current=target;paint();if(current!==target&&alive)frame=requestAnimationFrame(tick);else{frame=0;previous=0;}};const measure=()=>{const rect=node.getBoundingClientRect();// Webflow: startsEntering=true, startsExiting=false.\n// Progress starts when the top enters the viewport and ends when\n// the bottom leaves the top of the viewport.\ntarget=clamp((window.innerHeight-rect.top)/Math.min(window.innerHeight+rect.height,document.documentElement.scrollHeight));if(!frame&&parallax)frame=requestAnimationFrame(tick);};let observer;wrap.style.opacity=\"1\";wrap.style.transform=\"none\";if(!staticRenderer&&!reduced&&reveal){wrap.style.opacity=\"0\";wrap.style.transform=\"translate3d(0,100px,0)\";observer=new IntersectionObserver(entries=>{if(entries.some(entry=>entry.isIntersecting)){wrap.style.transition=\"opacity 1000ms cubic-bezier(.165,.84,.44,1), transform 1000ms cubic-bezier(.165,.84,.44,1)\";wrap.style.opacity=\"1\";wrap.style.transform=\"translate3d(0,0,0)\";observer?.disconnect();}});observer.observe(node);}paint();if(parallax){measure();// Capture handles page scrolling and scrolling ancestors in Preview.\nwindow.addEventListener(\"scroll\",measure,{passive:true,capture:true});window.addEventListener(\"resize\",measure);}return()=>{alive=false;cancelAnimationFrame(frame);observer?.disconnect();window.removeEventListener(\"scroll\",measure,true);window.removeEventListener(\"resize\",measure);wrap.style.transition=\"\";};},[staticRenderer,reduced,mobile,viewport,width,reveal,imageTravel,scaleStart,scaleEnd,textTravel,smoothing,photoWidth,imageRatio,clickable]);const resolvedSide=side===\"auto\"?autoIndex%2===0?firstSide:firstSide===\"right\"?\"left\":\"right\":side;const left=resolvedSide===\"left\"&&!mobile;const Wrapper=clickable?\"a\":\"div\";return /*#__PURE__*/_jsxs(\"div\",{ref:root,id:id,\"data-naam-auto\":side===\"auto\"?\"true\":undefined,\"data-naam-group\":listGroup,style:{...style,width:\"100%\",position:\"relative\",overflow:\"visible\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                #${id} [data-clickable=\"true\"], #${id} [data-clickable=\"true\"] * { cursor: pointer !important; }\n                #${id} a:focus-visible { outline: 2px solid ${categoryColor}; outline-offset: 5px; }\n                #${id} .naam-photo { transition: transform 600ms cubic-bezier(.215,.61,.355,1); }\n                #${id} .naam-label { transition: width 400ms cubic-bezier(.215,.61,.355,1); }\n                @media (prefers-reduced-motion: reduce) {\n                    #${id} .naam-photo, #${id} .naam-label { transition: none !important; }\n                }\n            `}),/*#__PURE__*/_jsxs(Wrapper,{ref:node=>{entrance.current=node;},href:clickable?link:undefined,\"data-clickable\":clickable,target:clickable&&newTab?\"_blank\":undefined,rel:clickable&&newTab?\"noopener noreferrer\":undefined,onMouseEnter:()=>setActive(clickable),onMouseLeave:()=>setActive(false),onFocus:()=>setActive(clickable),onBlur:()=>setActive(false),onClick:comingSoon?event=>{event.preventDefault();event.stopPropagation();}:undefined,style:{display:\"flex\",flexDirection:mobile?\"column\":left?\"row-reverse\":\"row\",alignItems:\"center\",position:\"relative\",width:\"100%\",color:textColor,textDecoration:\"none\",cursor:clickable?\"pointer\":\"default\"},children:[/*#__PURE__*/_jsx(\"div\",{className:\"naam-photo\",style:{width:`${photoWidth}%`,flexShrink:0,aspectRatio:`${imageRatio}`,position:\"relative\",overflow:\"hidden\",background:\"#e5e5e5\",borderRadius:mobile?`${radius}px ${radius}px 0 0`:radius,transform:`scale(${active&&clickable&&!reduced&&!staticRenderer?hoverScale:1})`},children:/*#__PURE__*/_jsx(\"div\",{ref:imageInner,style:{position:\"absolute\",inset:0,transform:`scale(${scaleStart})`,transformOrigin:\"50% 0%\",willChange:\"transform\"},children:imageSrc?/*#__PURE__*/_jsx(\"img\",{src:imageSrc,srcSet:typeof image===\"object\"?image.srcSet:undefined,sizes:mobile?\"100vw\":\"65vw\",alt:alt||(typeof image===\"object\"?image.alt:\"\")||\"\",decoding:\"async\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",filter:comingSoon&&softenPreview?\"saturate(.65)\":\"none\"}}):/*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",display:\"grid\",placeItems:\"center\",color:\"#555\",fontFamily:\"sans-serif\"},children:\"Choose a project image\"})})}),/*#__PURE__*/_jsxs(\"div\",{ref:card,style:{position:\"relative\",zIndex:1,flexShrink:0,boxSizing:\"border-box\",width:`${panelWidth}%`,marginLeft:!mobile&&!left?`${-overlap}%`:0,marginRight:left?`${-overlap}%`:0,// Positive offset places the panel lower before its upward scroll.\nmarginBottom:mobile?0:`${-cardOffset}%`,borderRadius:mobile?`0 0 ${radius}px ${radius}px`:radius,padding:`${padding}px`,background,textAlign:mobile?\"center\":\"left\",willChange:\"transform\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"Inter, sans-serif\",fontSize:14,fontWeight:500,letterSpacing:\"2px\",lineHeight:1.4,textTransform:\"uppercase\",...categoryFont,color:categoryColor,marginBottom:16},children:category}),/*#__PURE__*/_jsx(\"h3\",{style:{fontFamily:\"Inter, sans-serif\",fontSize:32,fontWeight:300,lineHeight:1.5,letterSpacing:\"-.1px\",...titleFont,margin:\"0 0 20px\",color:textColor},children:title}),/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:\"Inter, sans-serif\",fontSize:22,fontWeight:300,lineHeight:1.6,letterSpacing:\"-.1px\",...descriptionFont,margin:\"0 0 24px\",color:textColor},children:description}),comingSoon?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:mobile?\"center\":\"flex-start\"},children:/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:8,border:`1px solid ${categoryColor}`,borderRadius:999,padding:\"7px 12px\",fontFamily:\"Inter, sans-serif\",fontSize:13,fontWeight:500,lineHeight:1.4,...buttonFont,color:categoryColor},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 16 16\",fill:\"none\",\"aria-hidden\":\"true\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"8\",cy:\"8\",r:\"6\",stroke:\"currentColor\",strokeWidth:\"1.2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M8 4.5V8L10.5 9.5\",stroke:\"currentColor\",strokeWidth:\"1.2\",strokeLinecap:\"round\"})]}),comingSoonText]})}):clickable?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:mobile?\"center\":\"flex-start\",fontFamily:\"Inter, sans-serif\",fontSize:16,...buttonFont,minHeight:24,color:categoryColor},children:[/*#__PURE__*/_jsx(\"span\",{className:\"naam-label\",style:{display:\"inline-block\",overflow:\"hidden\",width:active||mobile?labelWidth:0},children:/*#__PURE__*/_jsx(\"span\",{ref:label,style:{display:\"inline-block\",whiteSpace:\"nowrap\"},children:buttonText})}),/*#__PURE__*/_jsx(\"svg\",{width:\"8\",height:\"10\",viewBox:\"0 0 8 10\",\"aria-hidden\":\"true\",style:{flexShrink:0},children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 1 L6 5 L1 9 Z\",fill:\"currentColor\"})})]}):/*#__PURE__*/_jsx(\"div\",{style:{minHeight:24}})]})]})]});}addPropertyControls(NaamProjectCard,{theme:{type:ControlType.Enum,title:\"Theme\",options:[\"dark\",\"light\",\"custom\"],optionTitles:[\"Dark\",\"Light\",\"Custom\"],defaultValue:\"dark\",displaySegmentedControl:true,description:\"Dark and Light set matching card and text colours. Choose Custom to use your own colours.\"},comingSoon:{type:ControlType.Boolean,title:\"Coming soon\",defaultValue:false,description:\"Shows a status badge and disables navigation, the hand cursor and clickable hover effects, even when a link is bound. Bind to a CMS toggle for each project.\"},comingSoonText:{type:ControlType.String,title:\"Status label\",defaultValue:\"Coming soon\",hidden:props=>!props.comingSoon},softenPreview:{type:ControlType.Boolean,title:\"Mute image\",defaultValue:true,hidden:props=>!props.comingSoon,description:\"Slightly reduces the image saturation for unfinished projects. Turn off to keep the original image colours.\"},image:{type:ControlType.ResponsiveImage,title:\"Image\"},alt:{type:ControlType.String,title:\"Image alt\",defaultValue:\"\"},category:{type:ControlType.String,title:\"Category\",defaultValue:\"PRODUCT DESIGN\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"Velocity\"},description:{type:ControlType.String,title:\"Description\",displayTextArea:true,defaultValue:\"Bringing complex real estate workflows into one clear platform.\"},link:{type:ControlType.Link,title:\"Project link\",description:\"Set a destination to make the whole image and text card clickable, with a hand cursor in Preview and on the published site.\"},newTab:{type:ControlType.Boolean,title:\"New tab\",defaultValue:false},side:{type:ControlType.Enum,title:\"Text side\",options:[\"right\",\"left\",\"auto\"],optionTitles:[\"Right\",\"Left\",\"Auto\"],defaultValue:\"right\",displaySegmentedControl:true},firstSide:{type:ControlType.Enum,title:\"First card\",options:[\"right\",\"left\"],optionTitles:[\"Right\",\"Left\"],defaultValue:\"right\",displaySegmentedControl:true,hidden:props=>props.side!==\"auto\",description:\"Auto alternates text sides in the rendered CMS list: Right / Left / Right / Left. This sets the first item's side.\"},listGroup:{type:ControlType.String,title:\"List group\",defaultValue:\"projects\",hidden:props=>props.side!==\"auto\",description:\"Keep the same value for every item in one collection. Use a different value for a separate collection on the same page.\"},background:{type:ControlType.Color,title:\"Card fill\",hidden:props=>props.theme!==\"custom\",defaultValue:\"#0d0d0d\"},textColor:{type:ControlType.Color,title:\"Text\",hidden:props=>props.theme!==\"custom\",defaultValue:\"#ffffff\"},categoryColor:{type:ControlType.Color,title:\"Muted text\",hidden:props=>props.theme!==\"custom\",defaultValue:\"#999999\"},categoryFont:{type:ControlType.Font,title:\"Category font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultFontSize:\"14px\",displayFontSize:true,displayTextAlignment:true,defaultValue:{fontSize:\"14px\",variant:\"Medium\",lineHeight:\"1.4em\",letterSpacing:\"2px\"}},titleFont:{type:ControlType.Font,title:\"Title font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultFontSize:\"32px\",displayFontSize:true,displayTextAlignment:true,defaultValue:{fontSize:\"32px\",variant:\"Light\",lineHeight:\"1.5em\",letterSpacing:\"-0.1px\"}},descriptionFont:{type:ControlType.Font,title:\"Body font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultFontSize:\"22px\",displayFontSize:true,displayTextAlignment:true,defaultValue:{fontSize:\"22px\",variant:\"Light\",lineHeight:\"1.6em\",letterSpacing:\"-0.1px\"}},buttonFont:{type:ControlType.Font,title:\"Label font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultFontSize:\"16px\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:\"16px\",variant:\"Regular\",lineHeight:\"1.5em\",letterSpacing:\"0px\"}},buttonText:{type:ControlType.String,title:\"Link label\",hidden:props=>Boolean(props.comingSoon),defaultValue:\"View project\"},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:6,min:0,max:60},imageWidth:{type:ControlType.Number,title:\"Image width\",defaultValue:64.6,min:50,max:80,step:.1,unit:\"%\"},cardWidth:{type:ControlType.Number,title:\"Card width\",defaultValue:43.1,min:30,max:60,step:.1,unit:\"%\"},overlap:{type:ControlType.Number,title:\"Overlap\",defaultValue:7.7,min:0,max:40,step:.1,unit:\"%\",description:\"Percentage of the component width. Increase to move the text card further over the image. Decrease to move it away. Set to 0 for no horizontal overlap. Disabled in the stacked mobile layout.\"},imageRatio:{type:ControlType.Number,title:\"Image ratio\",defaultValue:1.47,min:.7,max:2.5,step:.01},cardPadding:{type:ControlType.Number,title:\"Padding\",defaultValue:40,min:16,max:80,unit:\"px\"},cardOffset:{type:ControlType.Number,title:\"Card offset\",defaultValue:20,min:0,max:30,unit:\"%\"},mobileAt:{type:ControlType.Number,title:\"Stack below\",defaultValue:480,min:320,max:900,unit:\"px\"},reveal:{type:ControlType.Boolean,title:\"Entrance\",defaultValue:true},imageTravel:{type:ControlType.Number,title:\"Image travel\",defaultValue:100,min:0,max:200,unit:\"px\"},scaleStart:{type:ControlType.Number,title:\"Start zoom\",defaultValue:1.1,min:1,max:1.5,step:.01},scaleEnd:{type:ControlType.Number,title:\"End zoom\",defaultValue:1.2,min:1,max:1.5,step:.01},textTravel:{type:ControlType.Number,title:\"Text travel\",defaultValue:80,min:0,max:100,unit:\"%\"},smoothing:{type:ControlType.Number,title:\"Smoothing\",defaultValue:85,min:0,max:95,step:1},hoverScale:{type:ControlType.Number,title:\"Hover scale\",defaultValue:.95,min:.85,max:1,step:.01}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"NaamProjectCard\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"570\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Project_carddd.map"],"mappings":"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"}