{"version":3,"file":"TestimonialVideoButton.BDFiPat0.mjs","names":["useState","_Fragment"],"sources":["https:/framerusercontent.com/modules/1AjftFYNox5VNSBtSXkw/1h5jExeeMLDvEmw3dEh9/TestimonialVideoButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState}from\"react\";import{motion,AnimatePresence}from\"framer-motion\";/**\n * Testimonial Video Button\n * A button that opens a YouTube video in a modal overlay.\n * Supports two style variants: \"button\" (pill) and \"textLink\" (subtle).\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function TestimonialVideoButton(props){const{buttonText,youtubeUrl,styleVariant,accentColor,fillColor,textColor,iconColor,linkIconColor,iconSize,fontFamily,fontSize,fontWeight,paddingX,paddingY,borderRadius,borderWidth,showPulse,videoMaxWidth}=props;const[isOpen,setIsOpen]=useState(false);const[isHovered,setIsHovered]=useState(false);// Parse any color format and return rgba with specified alpha\nconst colorWithAlpha=(color,alpha)=>{// Handle rgba/rgb format\nconst rgbaMatch=color.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/);if(rgbaMatch){return`rgba(${rgbaMatch[1]}, ${rgbaMatch[2]}, ${rgbaMatch[3]}, ${alpha})`;}// Handle hex format (3, 6, or 8 digit)\nlet hex=color.replace(\"#\",\"\");if(hex.length===3){hex=hex.split(\"\").map(c=>c+c).join(\"\");}if(hex.length===8){hex=hex.slice(0,6)// strip existing alpha\n;}const r=parseInt(hex.slice(0,2),16);const g=parseInt(hex.slice(2,4),16);const b=parseInt(hex.slice(4,6),16);return`rgba(${r}, ${g}, ${b}, ${alpha})`;};// Extract YouTube video ID from various URL formats\nconst getYouTubeId=url=>{const regExp=/^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/;const match=url.match(regExp);return match&&match[2].length===11?match[2]:null;};const videoId=getYouTubeId(youtubeUrl);const isTextLink=styleVariant===\"textLink\";const isButtonFilled=styleVariant===\"buttonFilled\";return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(motion.button,{onClick:()=>setIsOpen(true),onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),style:{display:\"inline-flex\",alignItems:\"center\",gap:8,background:isTextLink?\"transparent\":isButtonFilled?isHovered?accentColor:fillColor:isHovered?accentColor:\"transparent\",border:isTextLink?\"none\":`${borderWidth}px solid ${accentColor}`,color:isTextLink?textColor:isButtonFilled?isHovered?\"#ffffff\":textColor:isHovered?\"#ffffff\":textColor,padding:isTextLink?\"0\":`${paddingY}px ${paddingX}px`,borderRadius:isTextLink?0:borderRadius,fontFamily:fontFamily,fontSize:fontSize,fontWeight:fontWeight,cursor:\"pointer\",position:\"relative\",outline:\"none\",transition:\"background 0.2s ease, color 0.2s ease, opacity 0.2s ease\",opacity:isTextLink&&isHovered?.7:1},whileTap:{scale:.98},children:[showPulse&&!isTextLink&&/*#__PURE__*/_jsx(motion.span,{style:{position:\"absolute\",inset:0,borderRadius:borderRadius,pointerEvents:\"none\"},animate:{boxShadow:[`0 0 0 0px ${colorWithAlpha(accentColor,.4)}`,`0 0 0 8px ${colorWithAlpha(accentColor,0)}`]},transition:{duration:1.8,repeat:Infinity,ease:\"easeOut\"}}),isTextLink?// Text link style: outlined circle\n/*#__PURE__*/_jsx(\"span\",{style:{width:iconSize,height:iconSize,borderRadius:\"50%\",border:`1.5px solid ${linkIconColor}`,backgroundColor:\"transparent\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0},children:/*#__PURE__*/_jsx(\"svg\",{width:iconSize*.35,height:iconSize*.4,viewBox:\"0 0 8 10\",style:{marginLeft:iconSize*.08,display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M0 0L8 5L0 10V0Z\",fill:linkIconColor})})}):// Button style: filled circle\n/*#__PURE__*/_jsx(\"span\",{style:{width:iconSize,height:iconSize,borderRadius:\"50%\",backgroundColor:isHovered?\"#ffffff\":accentColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0,transition:\"background 0.2s ease\"},children:/*#__PURE__*/_jsx(\"svg\",{width:iconSize*.35,height:iconSize*.4,viewBox:\"0 0 8 10\",style:{marginLeft:iconSize*.08,display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M0 0L8 5L0 10V0Z\",fill:isHovered?accentColor:iconColor})})}),/*#__PURE__*/_jsx(\"span\",{children:buttonText})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:isOpen&&/*#__PURE__*/_jsxs(motion.div,{style:{position:\"fixed\",inset:0,zIndex:9999,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:20},initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},children:[/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",inset:0,backgroundColor:\"rgba(0, 0, 0, 0.85)\",cursor:\"pointer\"},onClick:()=>setIsOpen(false),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0}}),/*#__PURE__*/_jsx(motion.button,{onClick:()=>setIsOpen(false),style:{position:\"absolute\",top:20,right:20,background:\"transparent\",border:\"none\",color:\"white\",fontSize:32,cursor:\"pointer\",opacity:.7,zIndex:10,width:44,height:44,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},whileHover:{opacity:1},children:\"\\xd7\"}),/*#__PURE__*/_jsx(motion.div,{style:{position:\"relative\",width:\"100%\",maxWidth:videoMaxWidth,aspectRatio:\"16 / 9\",borderRadius:12,overflow:\"hidden\",backgroundColor:\"#000\"},initial:{scale:.9,opacity:0},animate:{scale:1,opacity:1},exit:{scale:.9,opacity:0},transition:{duration:.2,delay:.1},children:videoId?/*#__PURE__*/_jsx(\"iframe\",{src:`https://www.youtube.com/embed/${videoId}?autoplay=1&rel=0`,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",border:\"none\"},allow:\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\",allowFullScreen:true}):/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#666\",fontSize:14},children:\"Invalid YouTube URL\"})})]})})]});}// Default props\nTestimonialVideoButton.defaultProps={buttonText:\"Why designers can't go back\",youtubeUrl:\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",styleVariant:\"button\",accentColor:\"#E86B4A\",fillColor:\"#F5E6E0\",textColor:\"#E86B4A\",iconColor:\"#FFFFFF\",linkIconColor:\"#888888\",iconSize:20,fontFamily:\"Inter, sans-serif\",fontSize:13,fontWeight:500,paddingX:16,paddingY:8,borderRadius:24,borderWidth:1.5,showPulse:true,videoMaxWidth:900};// Framer property controls\naddPropertyControls(TestimonialVideoButton,{styleVariant:{type:ControlType.Enum,title:\"Style\",defaultValue:\"button\",options:[\"button\",\"buttonFilled\",\"textLink\"],optionTitles:[\"Button\",\"Button Filled\",\"Text Link\"]},buttonText:{type:ControlType.String,title:\"Button Text\",defaultValue:\"Why designers switched\"},youtubeUrl:{type:ControlType.String,title:\"YouTube URL\",defaultValue:\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\"},accentColor:{type:ControlType.Color,title:\"Accent Color\",defaultValue:\"#E86B4A\",hidden:props=>props.styleVariant===\"textLink\"},fillColor:{type:ControlType.Color,title:\"Fill Color\",defaultValue:\"#F5E6E0\",hidden:props=>props.styleVariant!==\"buttonFilled\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#E86B4A\"},iconColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#FFFFFF\",hidden:props=>props.styleVariant===\"textLink\"},linkIconColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#888888\",hidden:props=>props.styleVariant!==\"textLink\"},iconSize:{type:ControlType.Number,title:\"Icon Size\",defaultValue:20,min:14,max:32,step:1},fontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Inter, sans-serif\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:13,min:10,max:20,step:1},fontWeight:{type:ControlType.Enum,title:\"Font Weight\",defaultValue:500,options:[300,400,500,600,700],optionTitles:[\"Light\",\"Regular\",\"Medium\",\"Semibold\",\"Bold\"]},paddingX:{type:ControlType.Number,title:\"Padding X\",defaultValue:16,min:8,max:32,step:2,hidden:props=>props.styleVariant===\"textLink\"},paddingY:{type:ControlType.Number,title:\"Padding Y\",defaultValue:8,min:4,max:20,step:2,hidden:props=>props.styleVariant===\"textLink\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:24,min:0,max:50,step:1,hidden:props=>props.styleVariant===\"textLink\"},borderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:1.5,min:0,max:3,step:.25,hidden:props=>props.styleVariant===\"textLink\"},showPulse:{type:ControlType.Boolean,title:\"Show Pulse\",defaultValue:true,hidden:props=>props.styleVariant===\"textLink\"},videoMaxWidth:{type:ControlType.Number,title:\"Video Max Width\",defaultValue:900,min:400,max:1400,step:50}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TestimonialVideoButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TestimonialVideoButton.map"],"mappings":"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"}