{"version":3,"file":"MixedFontAnimation.DsxfY_CM.mjs","names":["useState","useMemo"],"sources":["https:/framerusercontent.com/modules/R1Ul4YclYWS32n1HRCB6/oNvFNNoeZdiEUMDqA84x/MixedFontAnimation.js"],"sourcesContent":["// Text animation with two randomly mixed fonts per character, looping\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useState,useMemo,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * Dual Font Animation\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 100\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function DualFontAnimation(props){const{text,font1,font2,color,animationSpeed,useSameSize,unifiedSize}=props;const isStatic=useIsStaticRenderer();const[fontStates,setFontStates]=useState([]);const chars=useMemo(()=>text.split(\"\"),[text]);useEffect(()=>{if(isStatic){setFontStates(chars.map(()=>Math.random()>.5));return;}const initialStates=chars.map(()=>Math.random()>.5);startTransition(()=>setFontStates(initialStates));const interval=setInterval(()=>{startTransition(()=>{setFontStates(chars.map(()=>Math.random()>.5));});},animationSpeed);return()=>clearInterval(interval);},[chars,animationSpeed,isStatic]);return /*#__PURE__*/_jsx(\"div\",{style:{display:\"inline-flex\",flexWrap:\"wrap\",color,width:\"max-content\"},children:chars.map((char,index)=>{const useFont1=fontStates[index];const currentFont=useFont1?font1:font2;return /*#__PURE__*/_jsx(\"span\",{style:{...currentFont,...useSameSize&&{fontSize:unifiedSize},whiteSpace:char===\" \"?\"pre\":\"normal\"},children:char},index);})});}addPropertyControls(DualFontAnimation,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Dual Fonts\"},useSameSize:{type:ControlType.Boolean,title:\"Same Size\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},unifiedSize:{type:ControlType.Number,title:\"Size\",defaultValue:320,min:8,max:1e3,step:1,unit:\"px\",hidden:({useSameSize})=>!useSameSize},font1:{type:ControlType.Font,title:\"Font 1\",defaultValue:{fontSize:\"40px\",variant:\"Bold\",letterSpacing:\"0em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},font2:{type:ControlType.Font,title:\"Font 2\",defaultValue:{fontSize:\"40px\",variant:\"Regular\",letterSpacing:\"0em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\"},animationSpeed:{type:ControlType.Number,title:\"Speed\",defaultValue:300,min:100,max:2e3,step:100,unit:\"ms\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DualFontAnimation\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"100\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MixedFontAnimation.map"],"mappings":"sMASG,SAAwB,EAAkB,EAAM,CAAC,GAAK,CAAC,OAAK,QAAM,QAAM,QAAM,iBAAe,cAAY,eAAa,EAAY,EAAS,GAAqB,CAAM,CAAC,EAAW,GAAeA,EAAS,EAAE,CAAC,CAAO,EAAMC,MAAY,EAAK,MAAM,GAAG,CAAC,CAAC,EAAK,CAAC,CAAwX,OAAvX,MAAc,CAAC,GAAG,EAAS,CAAC,EAAc,EAAM,QAAQ,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAQ,IAAM,EAAc,EAAM,QAAQ,KAAK,QAAQ,CAAC,GAAG,CAAC,MAAoB,EAAc,EAAc,CAAC,CAAC,IAAM,EAAS,gBAAgB,CAAC,MAAoB,CAAC,EAAc,EAAM,QAAQ,KAAK,QAAQ,CAAC,GAAG,CAAC,EAAG,EAAG,EAAe,CAAC,UAAU,cAAc,EAAS,EAAG,CAAC,EAAM,EAAe,EAAS,CAAC,CAAqB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,cAAc,SAAS,OAAO,QAAM,MAAM,cAAc,CAAC,SAAS,EAAM,KAAK,EAAK,IAAqG,EAAK,OAAO,CAAC,MAAM,CAAC,GAAjG,EAAW,GAAkC,EAAM,EAA6D,GAAG,GAAa,CAAC,SAAS,EAAY,CAAC,WAAW,IAAO,IAAI,MAAM,SAAS,CAAC,SAAS,EAAK,CAAC,EAAM,CAAG,CAAC,CAAC,kBAR57B,IAA8D,IAAwE,CAQwzB,EAAoB,EAAkB,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,aAAa,CAAC,YAAY,CAAC,KAAK,EAAY,QAAQ,MAAM,YAAY,aAAa,GAAK,aAAa,MAAM,cAAc,KAAK,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,iBAAe,CAAC,EAAY,CAAC,MAAM,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,aAAa,CAAC,SAAS,OAAO,QAAQ,OAAO,cAAc,MAAM,WAAW,MAAM,CAAC,SAAS,WAAW,gBAAgB,aAAa,CAAC,MAAM,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,aAAa,CAAC,SAAS,OAAO,QAAQ,UAAU,cAAc,MAAM,WAAW,MAAM,CAAC,SAAS,WAAW,gBAAgB,aAAa,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,UAAU,CAAC,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC"}