{"version":3,"file":"GradientWaveButton.5r-uZgiW.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,EAAK,EAAQ,EAAe,mBAAmB,EAAc,OAAO,EAAe,KAAK,IAAI,EAAE,GAA8F,OAAoB,EAAK,EAAO,EAAE,CAAC,KAAK,GAAM,IAAA,GAAU,QAAQ,MAArI,CAAW,IAAS,QAAa,GAAM,EAAO,KAAK,EAAK,QAAQ,CAAG,EAAmF,IAAA,GAAU,iBAAiB,EAAa,EAAI,EAAE,iBAAiB,EAAa,EAAK,EAAE,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,aAAa,EAAE,QAAQ,CAAC,mBAAmB,EAAU,CAAC,SAAS,UAAU,UAAU,UAAU,WAAW,UAAU,UAAU,UAAU,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAU,OAAO,EAAU,IAAyB,EAAE,KAAK,WAAW,EAAE,SAAsB,EAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAU,WAAS,GAAG,EAAK,WAAW,QAAQ,EAAE,SAAS,CAAK,CAAC,CAAC,CAAC,CAAE,qBAHt3C,IAAkC,IAAoD,IAA4B,EAGqwC,EAAoB,EAAmB,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,aAAa,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,MAAM,EAAE,eAAe,CAAC,KAAK,EAAY,MAAM,MAAM,kBAAkB,QAAQ,CAAC,KAAK,EAAY,KAAK,EAAE,aAAa,CAAC,UAAU,UAAU,SAAS,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,QAAQ,WAAW,cAAc,UAAU,WAAW,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,UAAU,CAAC,KAAK,EAAY,QAAQ,MAAM,aAAa,aAAa,GAAK,aAAa,KAAK,cAAc,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC"}