{"version":3,"file":"Reveal_Text.D4DZWyyP.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/Wc0lBNgttGa3fH6xuXHs/CjML5xOKnxJhbcHn4E1F/Reveal_Text.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useScroll,useTransform}from\"framer-motion\";import{useRef,useEffect}from\"react\";const EachCharacter=({char,start,end,progress,duration,easing,index,transitionStartIndex})=>{const colorProgress=useTransform(progress,[start,end],[\"#808080\",\"#eeeeee\"]);const initialColor=index<transitionStartIndex?\"#eeeeee\":\"#808080\";return /*#__PURE__*/_jsx(motion.span,{style:{color:index<transitionStartIndex?initialColor:colorProgress},transition:{duration:duration,ease:easing},children:char});};const EachWord=({word,progress,starting,ending,duration,easing,transitionStartIndex,currentCharacterIndex})=>{const characters=word.split(\"\");const wordLength=word.length;const amount=ending-starting;const step=amount/wordLength;return /*#__PURE__*/_jsxs(motion.span,{children:[characters.map((char,idx)=>{const charStart=starting+step*idx;const charEnd=starting+step*(idx+1);return /*#__PURE__*/_jsx(EachCharacter,{char:char,start:charStart,end:charEnd,progress:progress,duration:duration,easing:easing,index:currentCharacterIndex+idx,transitionStartIndex:transitionStartIndex},idx);}),\"\\xa0\"]});};export default function Text_Color_Letters(props){const{text,duration,easing,fontSize,lineHeight,letterSpacing,textAlign,transitionStartIndex,fontFamily}=props;const words=text.split(\" \");const totalWords=words.length;const ref=useRef(null);const{scrollYProgress}=useScroll({target:ref,offset:[\"start 0.75\",\"start 0.15\"]});useEffect(()=>{const style=document.createElement(\"style\");style.appendChild(document.createTextNode(`\n                @import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@400&display=swap');\n            `));document.head.appendChild(style);return()=>{document.head.removeChild(style);};},[]);let currentCharacterIndex=0;return /*#__PURE__*/_jsx(\"p\",{ref:ref,style:{fontFamily:fontFamily?.fontFamily||\"Urbanist\",fontSize:`${fontSize}px`,fontWeight:fontFamily?.fontWeight||400,color:\"#FFFFFF\",display:\"flex\",flexWrap:\"wrap\",lineHeight:`${lineHeight}px`,letterSpacing:`${letterSpacing}px`,justifyContent:textAlign,margin:0},children:words.map((word,idx)=>{const starting=idx/totalWords;const ending=(idx+1)/totalWords;const wordLength=word.length;const startIdx=currentCharacterIndex;currentCharacterIndex+=wordLength+1// Including space\n;return /*#__PURE__*/_jsx(EachWord,{word:word,progress:scrollYProgress,starting:starting,ending:ending,duration:duration,easing:easing,transitionStartIndex:transitionStartIndex,currentCharacterIndex:startIdx},idx);})});}addPropertyControls(Text_Color_Letters,{text:{title:\"Text\",type:ControlType.String,defaultValue:\"Hello Text\",displayTextArea:true},fontFamily:{title:\"Font Family\",type:ControlType.Font},fontSize:{title:\"Font Size\",type:ControlType.Number,defaultValue:48,min:10,max:100},lineHeight:{title:\"Line Height\",type:ControlType.Number,defaultValue:60,min:10,max:100},letterSpacing:{title:\"Letter Spacing\",type:ControlType.Number,defaultValue:-3,min:-10,max:10},textAlign:{title:\"Text Align\",type:ControlType.Enum,options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\"},duration:{title:\"Duration\",type:ControlType.Number,defaultValue:.3,min:.1,max:3,step:.1},easing:{title:\"Easing\",type:ControlType.Enum,options:[\"easeInOut\",\"easeIn\",\"easeOut\",\"linear\"],optionTitles:[\"Ease In Out\",\"Ease In\",\"Ease Out\",\"Linear\"],defaultValue:\"easeInOut\"},transitionStartIndex:{title:\"Transition Start Index\",type:ControlType.Number,defaultValue:22,min:0,max:1e3}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Text_Color_Letters\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Reveal_Text.map"],"mappings":"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"}