{"version":3,"file":"HowItWorksSteps.T6xACdOK.mjs","names":["useRef","useState","__esmMin","le","init_npm_react_18_3_1","_e","de","p","ce","addPropertyControls","init_framer_BWFVvmND","ControlType","HowItWorksSteps","lay","props","card","typography","line","entranceOn","enterDist","enterDur","enterStagger","entranceReplay","entrance","containerRef","badgeRefs","cardRefs","measured","setMeasured","inView","setInView","autoVertical","breakpoint","isMobile","direction","measure","container","nodes","cardEl","i","el","ro","steps","stepOffset","cardPadding","badgeGap","textGap","cardGap","borderWidth","io","entry","replayOnExit","enterInView","setEnterInView","containerStyle","style","cardStyle","borderColor","badgeSize","numberFont","badgePadding","badgeStyle","accentColor","accentTextColor","titleStyle","titleFont","titleTransform","titleColor","messageStyle","messageFont","textColor","buildPath","lineStyle","start","end","dx","dy","sx","sy","r","showConnector","n2","n1","d","lineColor","lineWidth","drawDuration","step","init_HowItWorksSteps","init_jsx_runtime"],"sources":["https:/framerusercontent.com/modules/6Kz6n7EhDlCjPIF2x80Y/rhmCNhlfz0PduebSIoA4/HowItWorksSteps.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useLayoutEffect,useRef,useState}from\"react\";/**\n * HOW IT WORKS — Steps (staircase + scroll-drawn connectors)\n *\n * Cards sit in a horizontal row, each offset progressively lower than the\n * last (a staircase). Curved lines connect each step's badge to the next and\n * draw in sequentially the first time the section scrolls into view.\n *\n * Controls are grouped: Layout, Card Style, Typography, Connector Line.\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any\n */export default function HowItWorksSteps(props){const{steps,layout:lay,card,typography,line,entrance,style}=props;const{direction,stepOffset,cardGap,cardPadding,badgeGap,textGap,breakpoint}=lay;const{backgroundColor,borderColor,borderWidth,borderRadius,accentColor,accentTextColor,badgePadding}=card;const{numberFont,titleFont,titleTransform,messageFont,titleColor,textColor}=typography;const{showConnector,lineStyle,lineColor,lineWidth,drawDuration,replayOnExit}=line;const{enabled:entranceOn,distance:enterDist,duration:enterDur,stagger:enterStagger,replay:entranceReplay}=entrance;const containerRef=useRef(null);const badgeRefs=useRef([]);const cardRefs=useRef([]);const[measured,setMeasured]=useState({w:0,h:0,nodes:[]});const[inView,setInView]=useState(false);// Orientation: \"horizontal\" / \"vertical\" force it; \"auto\" switches to\n// vertical once the measured container width drops below the breakpoint.\nconst autoVertical=measured.w>0&&measured.w<breakpoint;const isMobile=direction===\"vertical\"?true:direction===\"horizontal\"?false:autoVertical;// Measure badge geometry + card-top edges relative to the container.\n// Uses layout offsets (not getBoundingClientRect) so the entrance\n// transforms on the cards don't skew the connector endpoints.\nconst measure=()=>{const container=containerRef.current;if(!container)return;const nodes=badgeRefs.current.map((el,i)=>{const cardEl=cardRefs.current[i];if(!el||!cardEl)return{bx:0,by:0,br:0,cardTop:0};return{bx:cardEl.offsetLeft+el.offsetLeft+el.offsetWidth/2,by:cardEl.offsetTop+el.offsetTop+el.offsetHeight/2,br:el.offsetWidth/2,cardTop:cardEl.offsetTop};});setMeasured({w:container.offsetWidth,h:container.offsetHeight,nodes});};useLayoutEffect(()=>{measure();const container=containerRef.current;if(!container||typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(()=>measure());ro.observe(container);return()=>ro.disconnect();// eslint-disable-next-line react-hooks/exhaustive-deps\n},[steps,stepOffset,cardPadding,badgeGap,textGap,cardGap,borderWidth,isMobile]);// Trigger draw when the section enters the viewport\nuseEffect(()=>{const container=containerRef.current;if(!container||typeof IntersectionObserver===\"undefined\"){setInView(true);return;}const io=new IntersectionObserver(([entry])=>{if(entry.isIntersecting)setInView(true);else if(replayOnExit)setInView(false);},{threshold:.25});io.observe(container);return()=>io.disconnect();},[replayOnExit]);// Entrance: fire the per-card fade/slide once ~half the section is visible\nconst[enterInView,setEnterInView]=useState(false);useEffect(()=>{const container=containerRef.current;if(!container||typeof IntersectionObserver===\"undefined\"){setEnterInView(true);return;}const io=new IntersectionObserver(([entry])=>{if(entry.isIntersecting)setEnterInView(true);else if(entranceReplay)setEnterInView(false);},{threshold:.5});io.observe(container);return()=>io.disconnect();},[entranceReplay]);const containerStyle={position:\"relative\",display:\"flex\",flexDirection:isMobile?\"column\":\"row\",// Always top/left-align so cards keep their natural (auto) height and\n// never stretch to equal heights.\nalignItems:\"flex-start\",gap:cardGap,width:\"100%\",...style};const cardStyle={display:\"flex\",flexDirection:\"column\",alignSelf:\"flex-start\",height:\"auto\",gap:badgeGap,backgroundColor,border:`${borderWidth}px solid ${borderColor}`,borderRadius,padding:cardPadding,boxSizing:\"border-box\",position:\"relative\"};// Explicit square (font size + padding on each side) so the badge is\n// always a perfect circle — aspect-ratio on a flex item can go oval when\n// the digit is narrower than its line height.\nconst numFontSize=parseFloat(String((numberFont&&numberFont.fontSize)??16))||16;const badgeSize=numFontSize+badgePadding*2;const badgeStyle={alignSelf:\"flex-start\",flexShrink:0,width:badgeSize,height:badgeSize,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",borderRadius:\"50%\",backgroundColor:accentColor,lineHeight:1,boxSizing:\"border-box\",position:\"relative\",zIndex:2,fontWeight:700,fontSize:16,...numberFont,color:accentTextColor};const titleStyle={fontWeight:700,fontSize:20,lineHeight:1.2,margin:0,...titleFont,textTransform:titleTransform,color:titleColor};const messageStyle={fontSize:15,lineHeight:1.45,margin:0,...messageFont,color:textColor};const nodes=measured.nodes;// Each segment starts at the RIGHT edge of a badge, runs through the empty\n// top band, then drops straight down onto the TOP side of the next badge\n// (passing through the next card's top edge on the way).\nconst buildPath=(start,end)=>{if(lineStyle===\"straight\"){return`M ${start.x} ${start.y} L ${end.x} ${end.y}`;}if(lineStyle===\"curved\"){// smooth quarter-turn: leaves horizontally, arrives vertically\nreturn`M ${start.x} ${start.y} Q ${end.x} ${start.y} ${end.x} ${end.y}`;}// elbow (default): horizontal out of the badge, rounded corner, then\n// straight down onto the top of the next card.\nconst dx=end.x-start.x;const dy=end.y-start.y;const sx=Math.sign(dx)||1;const sy=Math.sign(dy)||1;const r=Math.min(14,Math.abs(dx)/2,Math.abs(dy)/2);return[`M ${start.x} ${start.y}`,`H ${end.x-sx*r}`,`Q ${end.x} ${start.y} ${end.x} ${start.y+sy*r}`,`V ${end.y}`].join(\" \");};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:containerStyle,children:[showConnector&&measured.w>0&&nodes.length>1&&/*#__PURE__*/_jsx(\"svg\",{width:measured.w,height:measured.h,viewBox:`0 0 ${measured.w} ${measured.h}`,style:{position:\"absolute\",top:0,left:0,pointerEvents:\"none\",zIndex:3,// they never cover the numbers, and this avoids\n// fighting the cards' entrance transforms.\noverflow:\"visible\"},children:nodes.slice(0,-1).map((n1,i)=>{const n2=nodes[i+1];if(!n2)return null;const start={x:n1.bx+n1.br,y:n1.by};const end={x:n2.bx,y:n2.by-n2.br};const d=buildPath(start,end);return /*#__PURE__*/_jsx(\"path\",{d:d,fill:\"none\",stroke:lineColor,strokeWidth:lineWidth,strokeLinecap:\"round\",pathLength:1,strokeDasharray:1,strokeDashoffset:inView?0:1,style:{transition:`stroke-dashoffset ${drawDuration}s ease ${i*drawDuration}s`}},i);})}),steps.map((step,i)=>/*#__PURE__*/_jsxs(\"div\",{ref:el=>cardRefs.current[i]=el,style:{...cardStyle,...isMobile?{// Left-aligned, auto height. Width staircases\n    // so the RIGHT edge is jagged: step 1 narrowest,\n    // last step full width (largest).\n    flex:\"0 0 auto\",width:`calc(100% - ${(steps.length-1-i)*stepOffset}px)`,minWidth:0}:{flex:\"1 1 0\",minWidth:0,marginTop:i*stepOffset},...entranceOn?{opacity:enterInView?1:0,transform:enterInView?\"translate(0px, 0px)\":isMobile?`translateX(-${enterDist}px)`:`translateY(${enterDist}px)`,transition:`opacity ${enterDur}s ease, transform ${enterDur}s ease`,transitionDelay:`${i*enterStagger}s`,willChange:\"opacity, transform\"}:{}},children:[/*#__PURE__*/_jsx(\"div\",{ref:el=>badgeRefs.current[i]=el,style:badgeStyle,children:step.number||i+1}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:textGap},children:[/*#__PURE__*/_jsx(\"div\",{style:titleStyle,children:step.title}),/*#__PURE__*/_jsx(\"div\",{style:messageStyle,children:step.message})]})]},i))]});}HowItWorksSteps.defaultProps={steps:[{number:\"1\",title:\"Apply\",message:\"Join the founder-led partner program.\"},{number:\"2\",title:\"Get matched\",message:\"Work with a dedicated founder-led team.\"},{number:\"3\",title:\"Plug in\",message:\"Add Justuno to client accounts and pitches.\"},{number:\"4\",title:\"Grow\",message:\"Win RFPs, grow lists, and report value.\"}],layout:{direction:\"auto\",stepOffset:50,cardGap:12,cardPadding:28,badgeGap:14,textGap:8,breakpoint:480},card:{backgroundColor:\"#0e3019\",borderColor:\"#1d4a2c\",borderWidth:1,borderRadius:16,accentColor:\"#a3e635\",accentTextColor:\"#0a2912\",badgePadding:10},typography:{titleColor:\"#ffffff\",textColor:\"#9fb6a4\",numberFont:{fontWeight:700,fontSize:16},titleFont:{fontWeight:700,fontSize:20,lineHeight:\"1.2em\"},titleTransform:\"none\",messageFont:{fontWeight:400,fontSize:15,lineHeight:\"1.45em\"}},line:{showConnector:true,lineStyle:\"elbow\",lineColor:\"#a3e635\",lineWidth:3,drawDuration:.6,replayOnExit:false},entrance:{enabled:true,distance:24,duration:.6,stagger:.12,replay:false}};addPropertyControls(HowItWorksSteps,{steps:{type:ControlType.Array,title:\"Steps\",control:{type:ControlType.Object,controls:{number:{type:ControlType.String,title:\"Number\",defaultValue:\"1\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"Step\"},message:{type:ControlType.String,title:\"Message\",displayTextArea:true,defaultValue:\"Describe this step.\"}}},defaultValue:[{number:\"1\",title:\"Apply\",message:\"Join the founder-led partner program.\"},{number:\"2\",title:\"Get matched\",message:\"Work with a dedicated founder-led team.\"},{number:\"3\",title:\"Plug in\",message:\"Add Justuno to client accounts and pitches.\"},{number:\"4\",title:\"Grow\",message:\"Win RFPs, grow lists, and report value.\"}]},layout:{type:ControlType.Object,title:\"Layout\",controls:{direction:{type:ControlType.Enum,title:\"Direction\",options:[\"auto\",\"horizontal\",\"vertical\"],optionTitles:[\"Auto\",\"Horizontal\",\"Vertical\"],defaultValue:\"auto\",displaySegmentedControl:true},stepOffset:{type:ControlType.Number,title:\"Step Offset\",min:0,max:160,step:2,defaultValue:50,description:\"Downward stagger added per step\"},cardGap:{type:ControlType.Number,title:\"Card Gap\",min:0,max:120,step:1,defaultValue:12},cardPadding:{type:ControlType.Number,title:\"Padding\",min:0,max:80,step:1,defaultValue:28},badgeGap:{type:ControlType.Number,title:\"Badge Gap\",min:0,max:80,step:1,defaultValue:14,description:\"Badge → title/message group\"},textGap:{type:ControlType.Number,title:\"Text Gap\",min:0,max:48,step:1,defaultValue:8,description:\"Title → message\"},breakpoint:{type:ControlType.Number,title:\"Breakpoint\",min:0,max:1200,step:10,defaultValue:480,description:\"Auto mode only — below this width goes vertical\"}}},card:{type:ControlType.Object,title:\"Card Style\",controls:{backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#0e3019\"},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#1d4a2c\"},borderWidth:{type:ControlType.Number,title:\"Border W\",min:0,max:8,step:1,defaultValue:1},borderRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:60,step:1,defaultValue:16},accentColor:{type:ControlType.Color,title:\"Badge BG\",defaultValue:\"#a3e635\"},accentTextColor:{type:ControlType.Color,title:\"Badge Text\",defaultValue:\"#0a2912\"},badgePadding:{type:ControlType.Number,title:\"Badge Padding\",min:0,max:40,step:1,defaultValue:10,description:\"Circle size = number + padding\"}}},typography:{type:ControlType.Object,title:\"Typography\",controls:{numberFont:{type:ControlType.Font,title:\"Number Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontWeight:700,fontSize:16}},titleFont:{type:ControlType.Font,title:\"Title Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontWeight:700,fontSize:20,lineHeight:\"1.2em\"}},titleColor:{type:ControlType.Color,title:\"Title Color\",defaultValue:\"#ffffff\"},titleTransform:{type:ControlType.Enum,title:\"Title Case\",options:[\"none\",\"uppercase\",\"lowercase\",\"capitalize\"],optionTitles:[\"None\",\"UPPER\",\"lower\",\"Capitalize\"],defaultValue:\"none\"},messageFont:{type:ControlType.Font,title:\"Message Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontWeight:400,fontSize:15,lineHeight:\"1.45em\"}},textColor:{type:ControlType.Color,title:\"Message Color\",defaultValue:\"#9fb6a4\"}}},line:{type:ControlType.Object,title:\"Connector Line\",controls:{showConnector:{type:ControlType.Boolean,title:\"Connector\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},lineStyle:{type:ControlType.Enum,title:\"Style\",options:[\"elbow\",\"curved\",\"straight\"],optionTitles:[\"Elbow\",\"Curved\",\"Straight\"],defaultValue:\"elbow\",displaySegmentedControl:true},lineColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#a3e635\"},lineWidth:{type:ControlType.Number,title:\"Width\",min:1,max:12,step:1,defaultValue:3},drawDuration:{type:ControlType.Number,title:\"Draw Speed\",min:.1,max:3,step:.1,defaultValue:.6,description:\"Seconds per segment (also the stagger between segments)\"},replayOnExit:{type:ControlType.Boolean,title:\"Replay\",defaultValue:false,enabledTitle:\"On re-scroll\",disabledTitle:\"Once\"}}},entrance:{type:ControlType.Object,title:\"Entrance\",controls:{enabled:{type:ControlType.Boolean,title:\"Animate\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},distance:{type:ControlType.Number,title:\"Distance\",min:0,max:120,step:2,defaultValue:24,description:\"Slide distance (up when horizontal, from left when vertical)\"},duration:{type:ControlType.Number,title:\"Duration\",min:.1,max:3,step:.1,defaultValue:.6},stagger:{type:ControlType.Number,title:\"Stagger\",min:0,max:1,step:.02,defaultValue:.12,description:\"Delay between each step\"},replay:{type:ControlType.Boolean,title:\"Replay\",defaultValue:false,enabledTitle:\"On re-scroll\",disabledTitle:\"Once\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HowItWorksSteps\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HowItWorksSteps.map"],"mappings":"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"}