{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/SxrZhyHmflScduklhPJC/Gl95KRO4YyNA49JGSB2t/AnimatedGradientBorder.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,useMotionValue,useTransform,animate}from\"framer-motion\";import{useEffect}from\"react\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function AnimatedGradientBorder(props){const{shineColor,borderColor,shineRange}=props;const startAngle=props.randomize?0:props.startAngle;const inset=props.borderWidth;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const angle=useMotionValue(!isCanvas&&props.randomize?Math.random()*360:0);useEffect(()=>{if(!isCanvas){animate(angle,angle.get()+(props.direction==\"ccw\"?-360:360),{duration:props.duration,repeat:Infinity,ease:\"linear\"});}},[]);const gradientStops=props.shineStyle==\"sharp\"?props.direction==\"ccw\"?`${shineColor} 0, ${borderColor} ${shineRange}deg`:`${borderColor} ${360-shineRange}deg, ${shineColor} 360deg`:`${shineColor} 0, ${borderColor} ${shineRange/2}deg, ${borderColor} ${360-shineRange/2}deg,${shineColor} 360deg`;return /*#__PURE__*/_jsx(motion.div,{style:{backgroundImage:isCanvas?`conic-gradient(from ${startAngle}deg, ${gradientStops})`:useTransform([angle],([value])=>`conic-gradient(from ${startAngle+value}deg, ${gradientStops})`),borderRadius:props.radiusIsMixed?`${props.radiusTopLeft}px ${props.radiusTopRight}px ${props.radiusBottomRight}px ${props.radiusBottomLeft}px`:`${props.radius}px`,boxShadow:props.shadows,...props.style},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:inset,backgroundColor:props.fill,borderRadius:props.radiusIsMixed?`${props.radiusTopLeft-inset}px ${props.radiusTopRight-inset}px ${props.radiusBottomRight-inset}px ${props.radiusBottomLeft-inset}px`:`${props.radius-inset}px`}})});}AnimatedGradientBorder.displayName=\"Animated Gradient Border\";addPropertyControls(AnimatedGradientBorder,{shineStyle:{type:ControlType.Enum,defaultValue:\"sharp\",options:[\"smooth\",\"sharp\"],optionTitles:[\"Smooth\",\"Sharp\"],displaySegmentedControl:true,title:\"Style\"},borderWidth:{type:ControlType.Number,defaultValue:4,min:1,step:1,title:\"Width\"},shineRange:{type:ControlType.Number,defaultValue:45,min:1,max:180,step:1,unit:\"\\xb0\"},shineColor:{type:ControlType.Color,defaultValue:\"#6019FA\",title:\"Shine\"},borderColor:{type:ControlType.Color,defaultValue:\"#EDEDED\",optional:true,title:\"Border\"},fill:{type:ControlType.Color,defaultValue:\"#FFF\"},duration:{type:ControlType.Number,defaultValue:5,min:.1,description:\"Seconds to rotate 360\\xb0\"},direction:{type:ControlType.Enum,defaultValue:\"cw\",options:[\"cw\",\"ccw\"],optionTitles:[\"Clockwise\",\"Counterclockwise\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},randomize:{type:ControlType.Boolean,defaultValue:true,title:\"Random Start Angle\"},startAngle:{type:ControlType.Number,defaultValue:0,min:-360,max:360,unit:\"\\xb0\",hidden:props=>props.randomize},radius:{type:ControlType.FusedNumber,defaultValue:20,toggleKey:\"radiusIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"radiusTopLeft\",\"radiusTopRight\",\"radiusBottomRight\",\"radiusBottomLeft\"],valueLabels:[\"TL\",\"TR\",\"BR\",\"BL\"],min:0},shadows:{type:ControlType.BoxShadow}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatedGradientBorder\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatedGradientBorder.map"],
  "mappings": "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",
  "names": ["init_ssg_sandbox_shims", "AnimatedGradientBorder", "props", "shineColor", "borderColor", "shineRange", "startAngle", "inset", "isCanvas", "RenderTarget", "angle", "useMotionValue", "ue", "animate", "gradientStops", "p", "motion", "useTransform", "value", "addPropertyControls", "ControlType"]
}
