{"version":3,"file":"OrbitingButton_2.HPLbpiMt.mjs","names":["useState","useRef","t","u"],"sources":["https:/framerusercontent.com/modules/FgCMLpzJKLwcgsSRn8uw/0IkV7YJrq2IF2xLP9les/OrbitingButton_2.js"],"sourcesContent":["// Orbiting Dots Button as shown in the provided image\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * Orbiting Dots Button\n *\n * @framerIntrinsicWidth 220\n * @framerIntrinsicHeight 56\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function OrbitingButton(props){const{label,backgroundColor,textColor,borderRadius,dotCount,dotSize,orbitDuration,orbitSpeed,font,style,dotsContainerWidth,dotsContainerHeight,link,// Add new props\niconSvgFile,iconPosition,easing,iconVisible}=props;// Remove redeclaration, use iconVisible from props only\nconst isStatic=useIsStaticRenderer();const[angle,setAngle]=useState(0);const requestRef=useRef(null);const[isHovered,setIsHovered]=useState(false);// Framer built-in transition effects\nconst framerEasings={linear:undefined,easeIn:[.42,0,1,1],easeOut:[0,0,.58,1],easeInOut:[.42,0,.58,1],circIn:[.6,.04,.98,.335],circOut:[.075,.82,.165,1],circInOut:[.785,.135,.15,.86],backIn:[.6,-.28,.735,.045],backOut:[.175,.885,.32,1.275],backInOut:[.68,-.55,.265,1.55]};useEffect(()=>{if(isStatic)return;if(!isHovered)return;let start=null;function animate(ts){if(!start)start=ts;const elapsed=ts-start;// 360deg per orbitDuration seconds\nconst speed=orbitSpeed||1;// Framer built-in transition effect\nlet easeFn=t=>t;const framerEase=framerEasings[easing];if(framerEase){// Cubic bezier\nconst[p0,p1,p2,p3]=framerEase;// Use cubic-bezier approximation\neaseFn=t=>{// Polyfill for cubic-bezier\n// https://github.com/gre/bezier-easing/blob/master/src/index.js\nfunction cubicBezier(t,a,b,c,d){const u=1-t;return 3*u*u*t*b+3*u*t*t*c+t*t*t;}return cubicBezier(t,p0,p1,p2,p3);};}else if(easing===\"easeIn\"){easeFn=t=>t*t;}else if(easing===\"easeOut\"){easeFn=t=>1-Math.pow(1-t,2);}else if(easing===\"easeInOut\"){easeFn=t=>t<.5?2*t*t:-1+(4-2*t)*t;}const t=elapsed/(orbitDuration*1e3)%1;const easedT=easeFn(t);const newAngle=easedT*360*speed%360;startTransition(()=>setAngle(newAngle));requestRef.current=requestAnimationFrame(animate);}requestRef.current=requestAnimationFrame(animate);return()=>{if(requestRef.current!==null)cancelAnimationFrame(requestRef.current);};},[orbitDuration,orbitSpeed,isStatic,isHovered,easing]);// Button dimensions\nconst width=style?.width?parseInt(style.width):220;const height=style?.height?parseInt(style.height):56;// Dots follow border radius\nconst dotsWidth=dotsContainerWidth||width;const dotsHeight=dotsContainerHeight||height;const rX=(dotsWidth-dotSize)/2;const rY=(dotsHeight-dotSize)/2;const centerX=dotsWidth/2;const centerY=dotsHeight/2;// Dots positions\nconst borderR=props.dotsContainerRadius||borderRadius||0;// Calculate the path for a rounded rectangle (button border)\nfunction getDotPosition(t){// t: 0..1\n// Get the perimeter lengths\nconst w=dotsWidth;const h=dotsHeight;const r=Math.min(borderR,w/2,h/2);const straightW=w-2*r;const straightH=h-2*r;const arcLen=Math.PI*r/2;const perim=2*(straightW+straightH)+4*arcLen;let d=t*perim;// Top edge\nif(d<straightW){return{x:r+d,y:0};}d-=straightW;// Top-right corner\nif(d<arcLen){const theta=d/arcLen*(Math.PI/2);return{x:w-r+r*Math.sin(theta),y:r-r*Math.cos(theta)};}d-=arcLen;// Right edge\nif(d<straightH){return{x:w,y:r+d};}d-=straightH;// Bottom-right corner\nif(d<arcLen){const theta=d/arcLen*(Math.PI/2);return{x:w-r+r*Math.cos(theta),y:h-r+r*Math.sin(theta)};}d-=arcLen;// Bottom edge\nif(d<straightW){return{x:w-r-d,y:h};}d-=straightW;// Bottom-left corner\nif(d<arcLen){const theta=d/arcLen*(Math.PI/2);return{x:r-r*Math.sin(theta),y:h-r+r*Math.cos(theta)};}d-=arcLen;// Left edge\nif(d<straightH){return{x:0,y:h-r-d};}d-=straightH;// Top-left corner\nif(d<arcLen){const theta=d/arcLen*(Math.PI/2);return{x:r-r*Math.cos(theta),y:r-r*Math.sin(theta)};}// fallback\nreturn{x:r,y:0};}// Only show color wave on hover\nconst showColorWave=isHovered;const dots=Array.from({length:dotCount}).map((_,i)=>{const t=(i/dotCount+angle/360)%1;const pos=getDotPosition(t);// Color shift effect: all dots white, but a color wave moves along the orbit\nconst colorWaveColors=[\"#F7C44A\",\"#9A5EFC\",\"#35D0BA\",\"#EE56A5\"];// The length of the color wave (number of colored dots at a time)\n// The wave should take up half of the button's dots\nconst waveLength=Math.max(1,Math.round(dotCount*.5));// The position of the color wave head (moves with angle)\nconst waveHead=angle/360*dotCount;// For each dot, if it's within the wave, color it, else white\nlet color=\"#fff\";if(showColorWave){// The color wave should take up half of the button at a time, centered\n// So, the wave is centered at waveHead, and extends waveLength/2 before and after\nconst start=(waveHead-waveLength/2+dotCount)%dotCount;const end=(waveHead+waveLength/2)%dotCount;// Handle wrap-around\nlet inWave=false;if(start<end){inWave=i>=Math.floor(start)&&i<Math.ceil(end);}else{inWave=i>=Math.floor(start)||i<Math.ceil(end);}if(inWave){// Assign color based on position in the wave\n// Map i's position in the wave to colorWaveColors\nlet relIndex=(i-Math.floor(start)+dotCount)%dotCount;let colorIdx=Math.floor(relIndex/(waveLength/colorWaveColors.length));colorIdx=Math.min(colorIdx,colorWaveColors.length-1);color=colorWaveColors[colorIdx];}}return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:pos.x-dotSize/2,top:pos.y-dotSize/2,width:dotSize,height:dotSize,borderRadius:\"50%\",background:color,aspectRatio:\"1/1\",pointerEvents:\"none\",minWidth:dotSize,minHeight:dotSize,maxWidth:dotSize,maxHeight:dotSize}},i);});return /*#__PURE__*/_jsx(\"a\",{href:link,style:{...style,textDecoration:\"none\"},children:/*#__PURE__*/_jsxs(\"button\",{style:{...style,position:\"relative\",width:\"100%\",height:\"100%\",background:backgroundColor,color:textColor,border:\"none\",borderRadius:borderRadius,outline:\"none\",cursor:\"pointer\",overflow:\"visible\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:font.fontSize,fontWeight:font.variant===\"Bold\"?700:500,fontFamily:font.fontFamily,lineHeight:font.lineHeight,letterSpacing:font.letterSpacing,transition:\"background 0.2s, color 0.2s\",boxShadow:\"0 2px 8px rgba(0,0,0,0.04)\",zIndex:1},\"aria-label\":label,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,top:0,width:dotsWidth,height:dotsHeight,pointerEvents:\"none\",zIndex:2,borderRadius:props.dotsContainerRadius},\"aria-hidden\":\"true\",children:dots}),iconSvgFile&&iconPosition===\"left\"&&iconVisible&&/*#__PURE__*/_jsx(\"img\",{src:iconSvgFile,alt:\"icon\",style:{width:props.iconSize,height:props.iconSize,marginRight:8,display:\"inline-block\"},\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{style:{...font,color:textColor,fontSize:font.fontSize,fontWeight:font.variant===\"Bold\"?700:500,fontFamily:font.fontFamily,lineHeight:font.lineHeight,letterSpacing:font.letterSpacing,minWidth:\"max-content\"},children:label}),iconSvgFile&&iconPosition===\"right\"&&iconVisible&&/*#__PURE__*/_jsx(\"img\",{src:iconSvgFile,alt:\"icon\",style:{width:props.iconSize,height:props.iconSize,marginLeft:8,display:\"inline-block\"},\"aria-hidden\":\"true\"})]})});}addPropertyControls(OrbitingButton,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Book a demo\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#5B6C74\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#fff\"},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:28,min:0,max:360},dotCount:{type:ControlType.Number,title:\"Dot Count\",defaultValue:32,min:8,max:64,step:1},dotSize:{type:ControlType.Number,title:\"Dot Size\",defaultValue:4,min:2,max:12,step:1},orbitDuration:{type:ControlType.Number,title:\"Orbit Duration\",defaultValue:2.5,min:.01,max:10,step:.1,unit:\"s\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"16px\",variant:\"Semibold\",letterSpacing:\"0.01em\",lineHeight:\"1.2em\"}},orbitSpeed:{type:ControlType.Number,title:\"Orbit Speed\",defaultValue:1,min:.1,max:5,step:.01},dotsContainerWidth:{type:ControlType.Number,title:\"Dots Width\",defaultValue:220,min:10,max:1e3,step:1},dotsContainerHeight:{type:ControlType.Number,title:\"Dots Height\",defaultValue:56,min:10,max:1e3,step:1},dotsContainerRadius:{type:ControlType.Number,title:\"Dots Radius\",defaultValue:28,min:0,max:360},iconSvgFile:{type:ControlType.File,allowedFileTypes:[\"svg\"],title:\"SVG Icon\"},iconPosition:{type:ControlType.Enum,title:\"Icon Position\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],defaultValue:\"left\"},iconSize:{type:ControlType.Number,title:\"Icon Size\",defaultValue:20,min:8,max:64,step:1},iconVisible:{type:ControlType.Boolean,title:\"Show Icon\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},link:{type:ControlType.Link,title:\"Link\",defaultValue:\"\"},easing:{type:ControlType.Transition,title:\"Easing\",defaultValue:{ease:\"linear\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OrbitingButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"220\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"56\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./OrbitingButton_2.map"],"mappings":"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"}