{"version":3,"file":"CustomCursorImage.C1FDipEe.mjs","names":["useState","useState","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/lfuhlDZyOfQT185UAPij/UayN8ixbHuTzUJI1XIcu/testimonial_slider_a.js","https:/framerusercontent.com/modules/Wfiiwk1vxsksGRrIaIoT/bVu2RJQrUlHPCQUpO1cV/CustomCursorImage.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useState,useEffect}from\"react\";const defaultTestimonials=[{quote:\"Finally a design partner that ships fast and actually understands SaaS products.\",name:\"Kate Gentle\",role:\"Usability at Volvo\"},{quote:\"The redesign increased our trial-to-paid conversion by 23% in the first month.\",name:\"Poorva Antapurkar\",role:\"Engineer at SharkNinja\"},{quote:\"Sharp eye for detail, fast turnaround, and zero hand-holding needed.\",name:\"Michael lawrence\",role:\"Design at Volvo\"}];export default function TestimonialSlider(props){const{testimonials:rawTestimonials,autoRotate=true,autoRotateDelay=5e3,accentColor=\"#18181b\",quoteColor=\"#111111\",buttonTextColor=\"#555555\",buttonBorderColor=\"rgba(0,0,0,0.12)\",activeButtonTextColor=\"#ffffff\",quoteFont={fontSize:18,fontWeight:500},quoteBottomSpacing=24,metaBottomSpacing=20,showBlob=true,blobColor=\"#e879f9\",blobOpacity=.18,blobSize=420}=props;// Fix 1: hook de Framer para detectar canvas/exportación\nconst isStatic=useIsStaticRenderer();// Fix 2: protección array vacío\nconst testimonials=Array.isArray(rawTestimonials)&&rawTestimonials.length>0?rawTestimonials:defaultTestimonials;const[active,setActive]=useState(0);const[paused,setPaused]=useState(false);useEffect(()=>{// Fix 1: no ejecutar timer en contexto estático\nif(isStatic||!autoRotate||paused)return;const id=setInterval(()=>{setActive(prev=>(prev+1)%testimonials.length);},autoRotateDelay);return()=>clearInterval(id);},[isStatic,autoRotate,paused,testimonials.length,autoRotateDelay]);// Fix 2: asegurar que active nunca supera el array actual\nconst safeActive=Math.min(active,testimonials.length-1);const handleClick=i=>{setActive(i);setPaused(true);};return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",overflow:\"hidden\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{fontFamily:\"Inter, sans-serif\",width:\"100%\",textAlign:\"center\",padding:\"2rem 1rem\",position:\"relative\",boxSizing:\"border-box\"},children:[showBlob&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:\"50%\",transform:\"translateX(-50%)\",width:blobSize,height:blobSize,borderRadius:\"50%\",background:`radial-gradient(ellipse at 50% 0%, ${blobColor} 0%, transparent 70%)`,opacity:blobOpacity,pointerEvents:\"none\",zIndex:0}}),/*#__PURE__*/_jsx(\"div\",{style:{minHeight:96,position:\"relative\",marginBottom:quoteBottomSpacing,zIndex:1},children:testimonials.map((t,i)=>/*#__PURE__*/_jsxs(\"p\",{style:{fontSize:quoteFont.fontSize,fontWeight:quoteFont.fontWeight,fontFamily:quoteFont.fontFamily,fontStyle:quoteFont.fontStyle,letterSpacing:quoteFont.letterSpacing,lineHeight:quoteFont.lineHeight,color:quoteColor,position:\"absolute\",width:\"100%\",margin:0,opacity:safeActive===i?1:0,transform:`translateX(${safeActive===i?\"0px\":safeActive>i?\"16px\":\"-16px\"})`,transition:\"opacity 0.4s ease, transform 0.4s ease\",pointerEvents:safeActive===i?\"auto\":\"none\"},children:[\"“\",t.quote,\"”\"]},i))}),/*#__PURE__*/_jsxs(\"p\",{style:{fontSize:13,color:\"#888\",margin:`0 0 ${metaBottomSpacing}px`,position:\"relative\",zIndex:1},children:[testimonials[safeActive].name,\" \\xb7\",\" \",testimonials[safeActive].role]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",justifyContent:\"center\",gap:8,position:\"relative\",zIndex:1},children:testimonials.map((t,i)=>/*#__PURE__*/_jsx(\"button\",{onClick:()=>handleClick(i),style:{borderRadius:999,padding:\"6px 14px\",fontSize:12,cursor:\"pointer\",border:`1px solid ${safeActive===i?accentColor:buttonBorderColor}`,background:safeActive===i?accentColor:\"transparent\",color:safeActive===i?activeButtonTextColor:buttonTextColor,transition:\"all 0.15s ease\",fontFamily:\"inherit\"},children:t.name},i))})]})});}addPropertyControls(TestimonialSlider,{autoRotate:{type:ControlType.Boolean,title:\"Auto-rotate\",defaultValue:true},autoRotateDelay:{type:ControlType.Number,title:\"Delay (ms)\",defaultValue:5e3,min:1e3,max:1e4,step:500,displayStepper:true},accentColor:{type:ControlType.Color,title:\"Active color\",defaultValue:\"#18181b\"},buttonTextColor:{type:ControlType.Color,title:\"Button Text\",defaultValue:\"#555555\"},buttonBorderColor:{type:ControlType.Color,title:\"Button Border\",defaultValue:\"rgba(0,0,0,0.12)\"},activeButtonTextColor:{type:ControlType.Color,title:\"Active Text\",defaultValue:\"#ffffff\"},quoteColor:{type:ControlType.Color,title:\"Quote Color\",defaultValue:\"#111111\"},quoteFont:{type:ControlType.Font,title:\"Quote Font\",defaultValue:{fontSize:18,fontWeight:500,lineHeight:1.6},controls:\"extended\"},quoteBottomSpacing:{type:ControlType.Number,title:\"Quote Gap\",defaultValue:24,min:0,max:100,step:1,displayStepper:true},metaBottomSpacing:{type:ControlType.Number,title:\"Meta Gap\",defaultValue:20,min:0,max:100,step:1,displayStepper:true},showBlob:{type:ControlType.Boolean,title:\"Show blob\",defaultValue:true},blobColor:{type:ControlType.Color,title:\"Blob color\",defaultValue:\"#e879f9\"},blobOpacity:{type:ControlType.Number,title:\"Blob opacity\",defaultValue:.18,min:0,max:1,step:.01,displayStepper:true},blobSize:{type:ControlType.Number,title:\"Blob size\",defaultValue:420,min:200,max:800,step:10,displayStepper:true},testimonials:{type:ControlType.Array,title:\"Testimonials\",control:{type:ControlType.Object,controls:{quote:{type:ControlType.String,title:\"Quote\"},name:{type:ControlType.String,title:\"Name\"},role:{type:ControlType.String,title:\"Role\"}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TestimonialSlider\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./testimonial_slider_a.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useCallback}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Image with Custom Cursor\n *\n * An image that replaces the cursor with a blue box containing an arrow on hover.\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 300\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function CustomCursorImage(props){const{image={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Image\"},boxSize=60,boxColor=\"#0099FF\",arrowColor=\"#FFFFFF\",borderRadius=8,arrowSize=24}=props;const[cursorPos,setCursorPos]=useState({x:0,y:0});const[showCursor,setShowCursor]=useState(false);const handleMouseMove=useCallback(e=>{const rect=e.currentTarget.getBoundingClientRect();setCursorPos({x:e.clientX-rect.left,y:e.clientY-rect.top});},[]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n\t\t\t\t\t.custom-cursor-container,\n\t\t\t\t\t.custom-cursor-container * {\n\t\t\t\t\t\tcursor: none !important;\n\t\t\t\t\t}\n\t\t\t\t`}),/*#__PURE__*/_jsxs(\"div\",{className:\"custom-cursor-container\",style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",cursor:\"none\",...props.style},onMouseMove:handleMouseMove,onMouseEnter:()=>setShowCursor(true),onMouseLeave:()=>setShowCursor(false),children:[/*#__PURE__*/_jsx(\"img\",{src:image.src,srcSet:image.srcSet,alt:image.alt||\"\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",userSelect:\"none\"},draggable:false}),showCursor&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:cursorPos.x,top:cursorPos.y,width:boxSize,height:boxSize,backgroundColor:boxColor,borderRadius:borderRadius,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",pointerEvents:\"none\",transform:\"translate(-50%, -50%)\",zIndex:1e3},children:/*#__PURE__*/_jsxs(\"svg\",{width:arrowSize,height:arrowSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:arrowColor,strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"5\",y1:\"12\",x2:\"19\",y2:\"12\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"12 5 19 12 12 19\"})]})})]})]});}addPropertyControls(CustomCursorImage,{image:{type:ControlType.ResponsiveImage,title:\"Image\"},boxSize:{type:ControlType.Number,title:\"Box Size\",defaultValue:60,min:20,max:150,unit:\"px\"},boxColor:{type:ControlType.Color,title:\"Box Color\",defaultValue:\"#0099FF\"},arrowColor:{type:ControlType.Color,title:\"Arrow Color\",defaultValue:\"#FFFFFF\"},arrowSize:{type:ControlType.Number,title:\"Arrow Size\",defaultValue:24,min:8,max:80,unit:\"px\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:8,min:0,max:50,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CustomCursorImage\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"300\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CustomCursorImage.map"],"mappings":"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"}