{"version":3,"file":"Rotating_Text.BdJ4taag.mjs","names":["React.useRef","React.useState","React.useMemo","React.useCallback"],"sources":["https:/framerusercontent.com/modules/4ZFwoD5Qr2AAf6UKVOZk/gmoO6OXt7R4pzHOjTjJm/Rotating_Text.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{motion,useMotionValue,animate}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";function clamp(n,a,b){return Math.max(a,Math.min(b,n));}function cssFill(type,a,b,angle){if(type===\"Solid\")return a;if(type===\"Linear\")return`linear-gradient(${angle}deg, ${a}, ${b})`;return`radial-gradient(circle at 50% 50%, ${a}, ${b})`;}function estimateCharsNeeded(circumferencePx,fontSizePx){// Conservative average glyph width estimate.\nconst avg=Math.max(3,fontSizePx*.58);return Math.ceil(circumferencePx/avg);}function buildFilledText(base,separator,targetChars){const raw=(base||\"\").trim();const sep=(separator||\"•\").trim()||\"•\";const unit=raw.length?`${raw} ${sep} `:`TEXT ${sep} `;let out=\"\";while(out.length<targetChars+8)out+=unit;return out.trim();}/**\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 220\n * @framerIntrinsicHeight 220\n */export default function CircularTextBadge(props){const{text,separator,fitToFrame,size,radiusPx,rotateOffset,repeatMode,orientation,textSide,spin,spinSpeed,reverseSpin,onHover,hoverSpeedUpMultiplier,hoverSlowDownMultiplier,font,textColor,textOpacity,center,ring,style,...rest}=props;const isInside=textSide===\"Inside\";// Measure frame size if fitToFrame is enabled\nconst ref=React.useRef(null);const[measured,setMeasured]=React.useState({w:220,h:220});React.useEffect(()=>{if(!fitToFrame)return;const el=ref.current;if(!el)return;const ro=new ResizeObserver(entries=>{const cr=entries[0]?.contentRect;if(!cr)return;setMeasured({w:cr.width,h:cr.height});});ro.observe(el);return()=>ro.disconnect();},[fitToFrame]);const effectiveSize=clamp(fitToFrame?Math.min(measured.w,measured.h):size,40,1600);// Font object from Framer is CSS-shaped\nconst f=font||{};const fontSize=typeof f.fontSize===\"number\"?f.fontSize:14;// Layout direction is fixed (spin direction is separate)\nconst spinDir=reverseSpin?-1:1;const ringPad=ring.enabled?clamp(ring.thickness,0,80):0;const safeRadius=clamp(radiusPx,10,effectiveSize/2-ringPad-2);// Build display text (optionally auto-fill)\nconst displayText=React.useMemo(()=>{const base=String(text||\"\");if(repeatMode===\"As Is\")return base;const circumference=2*Math.PI*safeRadius;const needed=estimateCharsNeeded(circumference,fontSize);return buildFilledText(base,separator,needed);},[text,separator,repeatMode,safeRadius,fontSize]);// Convert into letters, hard-cap for performance\nconst letters=React.useMemo(()=>{const arr=Array.from(displayText);return arr.slice(0,700);},[displayText]);// Motion (continuous + resumable)\nconst mvRotate=useMotionValue(0);const mvScale=useMotionValue(1);const spinAnim=React.useRef(null);const scaleAnim=React.useRef(null);const stopAnims=React.useCallback(()=>{spinAnim.current?.stop();scaleAnim.current?.stop();spinAnim.current=null;scaleAnim.current=null;},[]);const rpmToDuration=React.useCallback(rpm=>{const safeRpm=clamp(rpm,.1,600);return 60/safeRpm;},[]);const startSpin=React.useCallback((rpm,scaleTarget=1)=>{if(!spin)return;spinAnim.current?.stop();const start=mvRotate.get()||0;const duration=rpmToDuration(rpm);spinAnim.current=animate(mvRotate,start+360*spinDir,{duration:Math.max(1e-4,duration),ease:\"linear\",repeat:Infinity,repeatType:\"loop\"});scaleAnim.current?.stop();scaleAnim.current=animate(mvScale,scaleTarget,{type:\"spring\",damping:20,stiffness:300});},[spin,mvRotate,mvScale,rpmToDuration,spinDir]);React.useEffect(()=>{if(!spin){stopAnims();mvRotate.set(0);mvScale.set(1);return;}startSpin(spinSpeed,1);return()=>stopAnims();},[spin,spinSpeed,reverseSpin,displayText,startSpin,stopAnims,mvRotate,mvScale]);const handleHoverStart=React.useCallback(()=>{if(!spin)return;if(!onHover||onHover===\"none\")return;switch(onHover){case\"slowDown\":{const mult=clamp(hoverSlowDownMultiplier,.1,.99);startSpin(spinSpeed*mult,1);break;}case\"speedUp\":{const mult=clamp(hoverSpeedUpMultiplier,1,10);startSpin(spinSpeed*mult,1.05);break;}case\"pause\":spinAnim.current?.stop();spinAnim.current=null;scaleAnim.current?.stop();scaleAnim.current=animate(mvScale,1,{type:\"spring\",damping:20,stiffness:300});break;case\"goBonkers\":startSpin(spinSpeed*10,.92);break;default:startSpin(spinSpeed,1);}},[spin,onHover,startSpin,spinSpeed,hoverSpeedUpMultiplier,hoverSlowDownMultiplier,mvScale]);const handleHoverEnd=React.useCallback(()=>{if(!spin)return;startSpin(spinSpeed,1);},[spin,startSpin,spinSpeed]);const onPointerEnter=e=>{if(e.pointerType===\"mouse\")handleHoverStart();};const onPointerLeave=e=>{if(e.pointerType===\"mouse\")handleHoverEnd();};const onPointerDown=e=>{if(e.pointerType!==\"mouse\")handleHoverStart();};const onPointerUp=e=>{if(e.pointerType!==\"mouse\")handleHoverEnd();};const onPointerCancel=e=>{if(e.pointerType!==\"mouse\")handleHoverEnd();};// Orientation handling\nconst orientRotate=orientation===\"Tangent\"?90:0;// \"Inside\" = invert baseline direction (rotate 180) AND reverse text order for readability\nconst sideRotate=isInside?180:0;// Styles\nconst containerStyle={width:fitToFrame?\"100%\":effectiveSize,height:fitToFrame?\"100%\":effectiveSize,position:\"relative\",borderRadius:\"50%\",overflow:\"visible\",transformOrigin:\"50% 50%\",display:\"grid\",placeItems:\"center\",...style};const centerInset=clamp(center.inset,0,effectiveSize/2-1);const centerBg=cssFill(center.fillType,center.colorA,center.colorB,center.angle);const centerStyle={position:\"absolute\",inset:centerInset,borderRadius:\"999px\",background:centerBg,opacity:clamp(center.opacity,0,1),filter:`blur(${clamp(center.blur,0,120)}px)`,pointerEvents:\"none\"};const ringStyleCss={position:\"absolute\",inset:0,borderRadius:\"999px\",border:`${clamp(ring.thickness,0,80)}px solid ${ring.color}`,opacity:clamp(ring.opacity,0,1),pointerEvents:\"none\",boxSizing:\"border-box\"};const baseLetterStyle={position:\"absolute\",left:\"50%\",top:\"50%\",transformOrigin:\"0 0\",display:\"inline-block\",userSelect:\"none\",pointerEvents:\"none\",...f,color:textColor,opacity:clamp(textOpacity,0,1),lineHeight:f.lineHeight??\"1em\",whiteSpace:\"pre\"};const getLetterAt=i=>isInside?letters[letters.length-1-i]:letters[i];return /*#__PURE__*/_jsxs(motion.div,{ref:ref,...rest,style:{...containerStyle,rotate:mvRotate,scale:mvScale},onPointerEnter:onPointerEnter,onPointerLeave:onPointerLeave,onPointerDown:onPointerDown,onPointerUp:onPointerUp,onPointerCancel:onPointerCancel,children:[center.enabled&&/*#__PURE__*/_jsx(\"div\",{style:centerStyle}),ring.enabled&&ring.thickness>0&&/*#__PURE__*/_jsx(\"div\",{style:ringStyleCss}),letters.map((_,i)=>{const step=360/Math.max(1,letters.length);const angle=(rotateOffset+step*i)%360;const letter=getLetterAt(i);const transform=`rotate(${angle}deg) translate(${safeRadius}px) rotate(${orientRotate+sideRotate}deg)`;return /*#__PURE__*/_jsx(\"span\",{style:{...baseLetterStyle,transform,WebkitTransform:transform},children:letter},`${i}-${letter}`);})]});}CircularTextBadge.defaultProps={text:\"HELLO WORLD • HELLO WORLD •\",separator:\"•\",fitToFrame:false,size:220,radiusPx:84,rotateOffset:0,repeatMode:\"As Is\",orientation:\"Tangent\",textSide:\"Outside\",spin:true,spinSpeed:3.33,reverseSpin:false,onHover:\"speedUp\",hoverSpeedUpMultiplier:4,hoverSlowDownMultiplier:.5,font:{fontFamily:\"Inter\",fontSize:12,fontWeight:600,lineHeight:\"1em\",letterSpacing:\"0em\"},textColor:\"#FFFFFF\",textOpacity:1,center:{enabled:true,inset:34,fillType:\"Radial\",colorA:\"#FF5A1F\",colorB:\"rgba(0,0,0,0)\",angle:0,opacity:.75,blur:18},ring:{enabled:false,thickness:2,color:\"#FFFFFF\",opacity:.25}};addPropertyControls(CircularTextBadge,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"HELLO WORLD • HELLO WORLD •\"},separator:{type:ControlType.String,title:\"Separator\",defaultValue:\"•\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultValue:{fontFamily:\"Inter\",fontSize:12,fontWeight:600,lineHeight:\"1em\",letterSpacing:\"0em\"}},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},textOpacity:{type:ControlType.Number,title:\"Text Op\",min:0,max:1,step:.01,defaultValue:1},fitToFrame:{type:ControlType.Boolean,title:\"Fit Frame\",defaultValue:false},size:{type:ControlType.Number,title:\"Size\",min:40,max:1e3,step:1,defaultValue:220,hidden:p=>p.fitToFrame},radiusPx:{type:ControlType.Number,title:\"Radius\",min:10,max:800,step:1,defaultValue:84},rotateOffset:{type:ControlType.Number,title:\"Offset\",min:-360,max:360,step:1,defaultValue:0},repeatMode:{type:ControlType.Enum,title:\"Repeat\",options:[\"As Is\",\"Auto Fill\"],defaultValue:\"As Is\"},orientation:{type:ControlType.Enum,title:\"Orient\",options:[\"Tangent\",\"Radial\"],defaultValue:\"Tangent\"},textSide:{type:ControlType.Enum,title:\"Text Side\",options:[\"Outside\",\"Inside\"],defaultValue:\"Outside\"},spin:{type:ControlType.Boolean,title:\"Spin\",defaultValue:true},spinSpeed:{type:ControlType.Number,title:\"Speed (RPM)\",min:.1,max:120,step:.1,defaultValue:3.33,hidden:p=>!p.spin},reverseSpin:{type:ControlType.Boolean,title:\"Reverse Spin\",defaultValue:false,hidden:p=>!p.spin},onHover:{type:ControlType.Enum,title:\"On Hover\",options:[\"none\",\"speedUp\",\"slowDown\",\"pause\",\"goBonkers\"],defaultValue:\"speedUp\",hidden:p=>!p.spin},hoverSpeedUpMultiplier:{type:ControlType.Number,title:\"SpeedUp (x)\",min:1,max:10,step:.1,defaultValue:4,hidden:p=>!p.spin||p.onHover!==\"speedUp\"},hoverSlowDownMultiplier:{type:ControlType.Number,title:\"SlowDown (x)\",min:.1,max:.99,step:.01,defaultValue:.5,hidden:p=>!p.spin||p.onHover!==\"slowDown\"},center:{type:ControlType.Object,title:\"Center\",controls:{enabled:{type:ControlType.Boolean,title:\"On\",defaultValue:true},inset:{type:ControlType.Number,title:\"Inset\",min:0,max:500,step:1,defaultValue:34},fillType:{type:ControlType.Enum,title:\"Fill\",options:[\"Solid\",\"Linear\",\"Radial\"],defaultValue:\"Radial\"},colorA:{type:ControlType.Color,title:\"A\",defaultValue:\"#FF5A1F\"},colorB:{type:ControlType.Color,title:\"B\",defaultValue:\"rgba(0,0,0,0)\"},angle:{type:ControlType.Number,title:\"Angle\",min:-360,max:360,step:1,defaultValue:0},opacity:{type:ControlType.Number,title:\"Opacity\",min:0,max:1,step:.01,defaultValue:.75},blur:{type:ControlType.Number,title:\"Blur\",min:0,max:120,step:1,defaultValue:18}}},ring:{type:ControlType.Object,title:\"Ring\",controls:{enabled:{type:ControlType.Boolean,title:\"On\",defaultValue:false},thickness:{type:ControlType.Number,title:\"Thickness\",min:0,max:80,step:1,defaultValue:2},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#FFFFFF\"},opacity:{type:ControlType.Number,title:\"Opacity\",min:0,max:1,step:.01,defaultValue:.25}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CircularTextBadge\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"220\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"220\",\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Rotating_Text.map"],"mappings":"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"}