{"version":3,"file":"TextFollowPathTickerComp.B3Glk86S.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/AITYkfe5AuIWvyeyibhc/Q3e4ffvCiTCrV69UGYYb/TextFollowPathTickerComp.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";export default function TextFollowPath(props){const{text,repeatCount,gap,pathData,fontSize,fontFamily,fontWeight,letterSpacing,textColor,bgColor,bgWidth,showPath,animate,speed,direction}=props;const pathId=\"curve-path\";const isStatic=useIsStaticRenderer();const[offset,setOffset]=useState(0);const frameRef=useRef(null);useEffect(()=>{if(!animate||isStatic)return;const step=()=>{setOffset(prev=>{let next=direction===\"forward\"?prev+speed:prev-speed;if(next>100)next-=100;if(next<0)next+=100;return next;});frameRef.current=requestAnimationFrame(step);};frameRef.current=requestAnimationFrame(step);return()=>cancelAnimationFrame(frameRef.current);},[animate,speed,direction,isStatic]);const secondOffset=offset-100;const renderTspans=()=>Array.from({length:repeatCount}).map((_,i)=>/*#__PURE__*/_jsxs(\"tspan\",{children:[/*#__PURE__*/_jsx(\"tspan\",{dx:i===0?0:gap,children:text}),/*#__PURE__*/_jsx(\"tspan\",{dx:gap,children:\"✦\"})]},i));return /*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:\"0 -160 1246 570\",preserveAspectRatio:\"xMidYMid meet\",style:{overflow:\"visible\"},children:[/*#__PURE__*/_jsx(\"path\",{d:pathData,fill:\"none\",stroke:bgColor,strokeWidth:bgWidth,strokeLinecap:\"round\"}),/*#__PURE__*/_jsx(\"path\",{id:pathId,d:pathData,fill:\"none\",stroke:showPath?\"#cccccc\":\"transparent\",strokeWidth:showPath?1:0}),/*#__PURE__*/_jsx(\"text\",{fontSize:fontSize,fontFamily:fontFamily,fontWeight:fontWeight,letterSpacing:letterSpacing,fill:textColor,children:/*#__PURE__*/_jsx(\"textPath\",{href:`#${pathId}`,startOffset:`${offset}%`,children:renderTspans()})}),/*#__PURE__*/_jsx(\"text\",{fontSize:fontSize,fontFamily:fontFamily,fontWeight:fontWeight,letterSpacing:letterSpacing,fill:textColor,children:/*#__PURE__*/_jsx(\"textPath\",{href:`#${pathId}`,startOffset:`${secondOffset}%`,children:renderTspans()})})]});}addPropertyControls(TextFollowPath,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"HELLO WORLD\"},repeatCount:{type:ControlType.Number,title:\"Repeats\",defaultValue:3,min:1,max:20,step:1},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:10,min:0,max:150,unit:\"px\"},pathData:{type:ControlType.String,title:\"Path\",defaultValue:\"M 0 125.235 C 0 125.235 280.91 -156.491 624 125.156 C 967.09 406.804 1246 99.453 1246 99.453\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:60,min:8,max:200},fontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Inter, sans-serif\"},fontWeight:{type:ControlType.Enum,title:\"Font Weight\",options:[\"300\",\"400\",\"500\",\"600\",\"700\",\"800\"],optionTitles:[\"Light\",\"Regular\",\"Medium\",\"Semibold\",\"Bold\",\"Extrabold\"],defaultValue:\"700\"},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:0,min:-5,max:20},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#3d2b1f\"},bgColor:{type:ControlType.Color,title:\"BG Color\",defaultValue:\"#FBD38D\"},bgWidth:{type:ControlType.Number,title:\"BG Width\",defaultValue:30,min:0,max:200},animate:{type:ControlType.Boolean,title:\"Animate\",defaultValue:true},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:.15,min:.02,max:2,step:.01},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"forward\",\"backward\"],optionTitles:[\"Forward\",\"Backward\"],defaultValue:\"forward\"},showPath:{type:ControlType.Boolean,title:\"Show Path\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextFollowPath\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextFollowPathTickerComp.map"],"mappings":"uMAA8K,SAAwB,EAAe,EAAM,CAAC,GAAK,CAAC,OAAK,cAAY,MAAI,WAAS,WAAS,aAAW,aAAW,gBAAc,YAAU,UAAQ,UAAQ,WAAS,UAAQ,QAAM,aAAW,EAAY,EAAO,aAAmB,EAAS,EAAoB,EAAO,CAAC,EAAO,GAAWA,EAAS,CAAC,EAAQ,EAASC,EAAO,IAAI,EAAE,MAAc,CAAC,GAAG,CAAC,GAAS,EAAS,OAAO,IAAM,MAAS,CAAC,EAAU,GAAM,CAAC,IAAI,EAAK,IAAY,UAAU,EAAK,EAAM,EAAK,EAAgD,OAAvC,EAAK,MAAI,GAAM,KAAO,EAAK,IAAE,GAAM,KAAW,CAAK,CAAC,EAAE,EAAS,QAAQ,sBAAsB,CAAI,CAAE,EAA+C,MAA7C,GAAS,QAAQ,sBAAsB,CAAI,MAAY,qBAAqB,EAAS,OAAO,CAAE,EAAE,CAAC,EAAQ,EAAM,EAAU,CAAQ,CAAC,EAAE,IAAM,EAAa,EAAO,IAAU,MAAiB,MAAM,KAAK,CAAC,OAAO,CAAW,CAAC,CAAC,CAAC,KAAK,EAAE,IAAiB,EAAM,QAAQ,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE,EAAI,SAAS,CAAI,CAAC,EAAe,EAAK,QAAQ,CAAC,GAAG,EAAI,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAoB,EAAM,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,kBAAkB,oBAAoB,gBAAgB,MAAM,CAAC,SAAS,SAAS,EAAE,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,EAAS,KAAK,OAAO,OAAO,EAAQ,YAAY,EAAQ,cAAc,OAAO,CAAC,EAAe,EAAK,OAAO,CAAC,GAAG,EAAO,EAAE,EAAS,KAAK,OAAO,OAAO,EAAS,UAAU,cAAc,YAAY,IAAY,CAAC,EAAe,EAAK,OAAO,CAAU,WAAoB,aAAsB,aAAyB,gBAAc,KAAK,EAAU,SAAsB,EAAK,WAAW,CAAC,KAAK,IAAI,IAAS,YAAY,GAAG,EAAO,GAAG,SAAS,EAAa,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,CAAU,WAAoB,aAAsB,aAAyB,gBAAc,KAAK,EAAU,SAAsB,EAAK,WAAW,CAAC,KAAK,IAAI,IAAS,YAAY,GAAG,EAAa,GAAG,SAAS,EAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,iBAAh5D,IAA6C,IAAwE,EAA4xD,EAAoB,EAAe,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,aAAa,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,8FAA8F,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,mBAAmB,EAAE,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,cAAc,QAAQ,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,aAAa,CAAC,QAAQ,UAAU,SAAS,WAAW,OAAO,WAAW,EAAE,aAAa,KAAK,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAY,MAAM,MAAM,WAAW,aAAa,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAY,QAAQ,MAAM,UAAU,aAAa,EAAI,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,IAAI,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,UAAU,UAAU,EAAE,aAAa,CAAC,UAAU,UAAU,EAAE,aAAa,SAAS,EAAE,SAAS,CAAC,KAAK,EAAY,QAAQ,MAAM,YAAY,aAAa,EAAK,CAAC,CAAC"}