{"version":3,"file":"Button.1DM_fOY0.mjs","names":["_Fragment"],"sources":["https:/framerusercontent.com/modules/JQhZOvc8j1BruK7Ghv0b/LxoXXC03vMKRGzWNs9Js/Button.js"],"sourcesContent":["// Button with hover gradient effect, customizable color, and optional icon\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,Link}from\"framer\";import{motion}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function Button(props){const{text,showIcon,icon,iconPosition,backgroundColor,textColor,gradientType,hoverGradientStart,hoverGradientMiddle,hoverGradientEnd,conicGradientStart,conicGradientMiddle,conicGradientEnd,borderRadius,paddingX,paddingY,font,linkType,page,externalUrl,style,onClick}=props;const getHoverGradient=()=>{if(gradientType===\"conic\"){return`conic-gradient(from 0deg at 50% 50%, ${conicGradientStart}, ${conicGradientMiddle}, ${conicGradientEnd}, ${conicGradientStart})`;}return`linear-gradient(135deg, ${hoverGradientStart}, ${hoverGradientMiddle}, ${hoverGradientEnd})`;};const buttonStyle={...style,position:\"relative\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,paddingLeft:paddingX,paddingRight:paddingX,paddingTop:paddingY,paddingBottom:paddingY,backgroundColor,color:textColor,border:\"none\",borderRadius,cursor:\"pointer\",overflow:\"hidden\",...font,width:\"max-content\",textDecoration:\"none\"};const gradientOverlayStyle={position:\"absolute\",top:0,left:0,right:0,bottom:0,backgroundImage:getHoverGradient(),pointerEvents:\"none\"};// If we have a link, we wrap the content in a Link component\n// But we need to make sure the button styles are applied correctly\n// The Link component should be the outer wrapper if it exists\nconst content=/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.div,{style:gradientOverlayStyle,variants:{default:{opacity:0},hover:{opacity:1}},transition:{duration:.5,ease:\"easeInOut\"}}),showIcon&&iconPosition===\"before\"&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"1.2em\",lineHeight:1,zIndex:1},children:icon}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",zIndex:1},children:text}),showIcon&&iconPosition===\"after\"&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"1.2em\",lineHeight:1,zIndex:1},children:icon})]});const linkHref=linkType===\"internal\"?page:externalUrl;if(linkHref){return /*#__PURE__*/_jsx(Link,{href:linkHref,children:/*#__PURE__*/_jsx(motion.a,{style:buttonStyle,initial:\"default\",whileHover:\"hover\",onClick:onClick,children:content})});}return /*#__PURE__*/_jsx(motion.button,{style:buttonStyle,onClick:onClick,initial:\"default\",whileHover:\"hover\",children:content});}addPropertyControls(Button,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Click Me\"},showIcon:{type:ControlType.Boolean,title:\"Show Icon\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"},icon:{type:ControlType.String,title:\"Icon\",defaultValue:\"→\",hidden:({showIcon})=>!showIcon},iconPosition:{type:ControlType.Enum,title:\"Icon Position\",options:[\"before\",\"after\"],optionTitles:[\"Before\",\"After\"],defaultValue:\"before\",displaySegmentedControl:true,hidden:({showIcon})=>!showIcon},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},gradientType:{type:ControlType.Enum,title:\"Gradient Type\",options:[\"linear\",\"conic\"],optionTitles:[\"Linear\",\"Conic\"],defaultValue:\"linear\",displaySegmentedControl:true},hoverGradientStart:{type:ControlType.Color,title:\"Hover Start\",defaultValue:\"#8855FF\",hidden:({gradientType})=>gradientType===\"conic\"},hoverGradientMiddle:{type:ControlType.Color,title:\"Hover Middle\",defaultValue:\"#0099FF\",hidden:({gradientType})=>gradientType===\"conic\"},hoverGradientEnd:{type:ControlType.Color,title:\"Hover End\",defaultValue:\"#0099FF\",hidden:({gradientType})=>gradientType===\"conic\"},conicGradientStart:{type:ControlType.Color,title:\"Conic Start\",defaultValue:\"#8855FF\",hidden:({gradientType})=>gradientType===\"linear\"},conicGradientMiddle:{type:ControlType.Color,title:\"Conic Middle\",defaultValue:\"#0099FF\",hidden:({gradientType})=>gradientType===\"linear\"},conicGradientEnd:{type:ControlType.Color,title:\"Conic End\",defaultValue:\"#22CC66\",hidden:({gradientType})=>gradientType===\"linear\"},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:8,min:0,max:50,step:1,unit:\"px\"},paddingX:{type:ControlType.Number,title:\"Padding X\",defaultValue:24,min:0,max:100,step:1,unit:\"px\"},paddingY:{type:ControlType.Number,title:\"Padding Y\",defaultValue:12,min:0,max:100,step:1,unit:\"px\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},linkType:{type:ControlType.Enum,title:\"Link Type\",options:[\"internal\",\"external\"],optionTitles:[\"Internal Page\",\"External URL\"],defaultValue:\"external\",displaySegmentedControl:true},page:{type:ControlType.Link,title:\"Page\",hidden:({linkType})=>linkType===\"external\"},externalUrl:{type:ControlType.String,title:\"URL\",defaultValue:\"https://\",placeholder:\"https://example.com\",hidden:({linkType})=>linkType===\"internal\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Button\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Button.map"],"mappings":"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"}