{"version":3,"file":"GradientWaveButton.ClvZqPhP.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/t4fmyqLMM5jznLqVzWBH/vbdMIyvAYSEZdrwPrelx/GradientWaveButton.js"],"sourcesContent":["// Gradient Wave Button component for Framer\n// On hover, a moving gradient wave sweeps across the button background\n// The motion should be smooth and loop for as long as the button is hovered\n// Large rounded rectangle shape with modern gradient background\n// Label text centered\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";import{useState}from\"react\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function GradientWaveButton(props){const{label,link,gradientColors,gradientAngle,waveSpeed,textColor,fontSize,borderRadius,hoverGlow,paddingHorizontal,paddingVertical,font,style}=props;const[isHovered,setIsHovered]=useState(false);const gradientString=`linear-gradient(${gradientAngle}deg, ${gradientColors.join(\", \")})`;const handleClick=()=>{if(typeof window!==\"undefined\"&&link){window.open(link,\"_blank\");}};return /*#__PURE__*/_jsx(motion.a,{href:link||undefined,onClick:link?handleClick:undefined,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),style:{...style,position:\"relative\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:12,paddingLeft:paddingHorizontal,paddingRight:paddingHorizontal,paddingTop:paddingVertical,paddingBottom:paddingVertical,borderRadius,background:gradientString,backgroundSize:\"300% 300%\",cursor:\"pointer\",textDecoration:\"none\",overflow:\"hidden\",boxShadow:hoverGlow&&isHovered?\"0 8px 32px rgba(0, 0, 0, 0.2)\":\"0 2px 8px rgba(0, 0, 0, 0.1)\",transition:\"box-shadow 0.3s ease\",width:\"max-content\"},animate:{backgroundPosition:isHovered?[\"0% 50%\",\"25% 50%\",\"50% 50%\",\"75% 50%\",\"100% 50%\",\"75% 50%\",\"50% 50%\",\"25% 50%\",\"0% 50%\"]:\"0% 50%\"},transition:{duration:waveSpeed,repeat:isHovered?Number.POSITIVE_INFINITY:0,ease:\"easeInOut\"},children:/*#__PURE__*/_jsx(\"span\",{style:{color:textColor,fontSize,...font,whiteSpace:\"nowrap\"},children:label})});}addPropertyControls(GradientWaveButton,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Get Started\"},link:{type:ControlType.Link,title:\"Link\"},gradientColors:{type:ControlType.Array,title:\"Gradient Colors\",control:{type:ControlType.Color},defaultValue:[\"#667eea\",\"#764ba2\",\"#f093fb\"],maxCount:5},gradientAngle:{type:ControlType.Number,title:\"Gradient Angle\",defaultValue:45,min:0,max:360,step:1,unit:\"deg\"},waveSpeed:{type:ControlType.Number,title:\"Wave Speed\",defaultValue:4,min:.5,max:10,step:.5,unit:\"s\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:16,min:10,max:48,step:1,unit:\"px\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:12,min:0,max:50,step:1,unit:\"px\"},hoverGlow:{type:ControlType.Boolean,title:\"Hover Glow\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},paddingHorizontal:{type:ControlType.Number,title:\"Padding X\",defaultValue:32,min:0,max:100,step:1,unit:\"px\"},paddingVertical:{type:ControlType.Number,title:\"Padding Y\",defaultValue:16,min:0,max:100,step:1,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GradientWaveButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GradientWaveButton.map"],"mappings":"yOAQG,SAAwB,EAAmB,EAAM,CAAC,GAAK,CAAC,QAAM,OAAK,iBAAe,gBAAc,YAAU,YAAU,WAAS,eAAa,YAAU,oBAAkB,kBAAgB,OAAK,SAAO,EAAW,CAAC,EAAU,GAAcA,EAAS,GAAM,CAAO,EAAe,mBAAmB,EAAc,OAAO,EAAe,KAAK,KAAK,CAAC,GAA8F,OAAoB,EAAK,EAAO,EAAE,CAAC,KAAK,GAAM,IAAA,GAAU,QAAQ,MAArI,CAAW,IAAS,QAAa,GAAM,EAAO,KAAK,EAAK,SAAS,EAAqF,IAAA,GAAU,iBAAiB,EAAa,GAAK,CAAC,iBAAiB,EAAa,GAAM,CAAC,MAAM,CAAC,GAAG,EAAM,SAAS,WAAW,QAAQ,cAAc,WAAW,SAAS,eAAe,SAAS,IAAI,GAAG,YAAY,EAAkB,aAAa,EAAkB,WAAW,EAAgB,cAAc,EAAgB,eAAa,WAAW,EAAe,eAAe,YAAY,OAAO,UAAU,eAAe,OAAO,SAAS,SAAS,UAAU,GAAW,EAAU,gCAAgC,+BAA+B,WAAW,uBAAuB,MAAM,cAAc,CAAC,QAAQ,CAAC,mBAAmB,EAAU,CAAC,SAAS,UAAU,UAAU,UAAU,WAAW,UAAU,UAAU,UAAU,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAU,OAAO,EAAU,IAAyB,EAAE,KAAK,YAAY,CAAC,SAAsB,EAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAU,WAAS,GAAG,EAAK,WAAW,SAAS,CAAC,SAAS,EAAM,CAAC,CAAC,CAAC,sBAHp3C,IAAkC,IAAoD,IAA4B,CAGowC,EAAoB,EAAmB,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,cAAc,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,CAAC,eAAe,CAAC,KAAK,EAAY,MAAM,MAAM,kBAAkB,QAAQ,CAAC,KAAK,EAAY,MAAM,CAAC,aAAa,CAAC,UAAU,UAAU,UAAU,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,QAAQ,WAAW,cAAc,UAAU,WAAW,MAAM,CAAC,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,UAAU,CAAC,KAAK,EAAY,QAAQ,MAAM,aAAa,aAAa,GAAK,aAAa,KAAK,cAAc,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC"}