{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/7UvrFCglDS83nxcbsYqO/J6yneqNKhA5L2owqIULN/Text_Opacity_Letters.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";import React,{useRef,useEffect,useState,useMemo}from\"react\";const easingFunctions={linear:t=>t,easeInOutQuint:t=>t<.5?16*t*t*t*t*t:1-Math.pow(-2*t+2,5)/2,easeInQuad:t=>t*t,easeOutQuad:t=>1-(1-t)*(1-t),easeInOutQuad:t=>t<.5?2*t*t:1-Math.pow(-2*t+2,2)/2,easeInCubic:t=>t*t*t,easeOutCubic:t=>1-Math.pow(1-t,3),easeInOutCubic:t=>t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2,easeInExpo:t=>t===0?0:Math.pow(2,10*t-10),easeOutExpo:t=>t===1?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>t===0?0:t===1?1:t<.5?Math.pow(2,20*t-10)/2:(2-Math.pow(2,-20*t+10))/2,easeInElastic:t=>t===0?0:t===1?1:-Math.pow(2,10*t-10)*Math.sin((t*10-10.75)*(2*Math.PI/3)),easeOutBounce:t=>{const n1=7.5625;const d1=2.75;if(t<1/d1){return n1*t*t;}else if(t<2/d1){return n1*(t-=1.5/d1)*t+.75;}else if(t<2.5/d1){return n1*(t-=2.25/d1)*t+.9375;}else{return n1*(t-=2.625/d1)*t+.984375;}},stepReveal:t=>Math.floor(t*10)/10};const Letter=({char,opacity})=>/*#__PURE__*/_jsx(motion.span,{style:{opacity,display:\"inline-block\"},children:char});const Word=({word,startIndex,progress,totalLetters,revealRange,easingFunction,isEmphasized,emphasisColor,emphasisStyle})=>{const style={display:\"inline-block\",whiteSpace:\"normal\",marginLeft:0,paddingLeft:0,...isEmphasized?{color:emphasisColor,...emphasisStyle}:{}};return /*#__PURE__*/_jsx(\"span\",{style:style,children:word.split(\"\").map((char,charIndex)=>{const index=startIndex+charIndex;const adjustedRevealRange=revealRange*9;const start=Math.max(0,(index-adjustedRevealRange)/totalLetters);const end=Math.min(1,(index+adjustedRevealRange)/totalLetters);let opacity;if(progress>=start&&progress<=end){const transitionProgress=(progress-start)/(end-start);opacity=easingFunctions[easingFunction](transitionProgress);}else if(progress>end){opacity=1;}else{opacity=0;}return /*#__PURE__*/_jsx(Letter,{char:char,opacity:opacity},charIndex);})});};export default function TextOpacityLetters(props){const{content,font,weight,color,size,letter,line,align,balance,easingFunction,designMode,emphasisColor,emphasisWeight,emphasisStyle}=props;const containerRef=useRef(null);const[progress,setProgress]=useState(1);const{words,totalLetters}=useMemo(()=>{const lines=content.split(\"\\n\");let wordIndex=0;let letterIndex=0;const processedWords=lines.flatMap((line,lineIndex)=>{const lineWords=line.split(/(\\s+)/).filter(s=>s.length>0);return lineWords.map((word,index)=>{const isEmphasized=word.startsWith(\"*\")&&word.endsWith(\"*\");const cleanWord=isEmphasized?word.slice(1,-1):word;const result={text:cleanWord,isEmphasized,startIndex:letterIndex,wordIndex:wordIndex++,isSpace:/^\\s+$/.test(word),isLastInLine:index===lineWords.length-1};letterIndex+=cleanWord.length;return result;});});return{words:processedWords,totalLetters:letterIndex};},[content]);const revealRange=useMemo(()=>{const percentageToReveal=.03;return Math.max(1,Math.floor(totalLetters*percentageToReveal));},[totalLetters]);useEffect(()=>{setProgress(1);const handleScroll=()=>{if(containerRef.current){const rect=containerRef.current.getBoundingClientRect();const windowHeight=window.innerHeight;const containerHeight=rect.height;const offsetTopPercentage=.9999;const offsetBottomPercentage=.3407;const offsetTop=windowHeight*offsetTopPercentage;const offsetBottom=windowHeight*offsetBottomPercentage;const start=windowHeight-offsetTop;const end=offsetBottom;const current=windowHeight-rect.top;const newProgress=Math.min(Math.max((current-start)/(end-start+containerHeight),0),1);setProgress(newProgress);}};if(RenderTarget.current()!==RenderTarget.canvas){window.addEventListener(\"scroll\",handleScroll);return()=>window.removeEventListener(\"scroll\",handleScroll);}},[]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{fontFamily:font,fontWeight:weight,color:color,fontSize:`${size}em`,letterSpacing:`${letter}em`,lineHeight:line,justifyContent:align===\"left\"?\"flex-start\":align===\"right\"?\"flex-end\":align===\"center\"?\"center\":\"space-between\",textJustify:balance?\"inter-word\":\"auto\",whiteSpace:\"pre-wrap\",width:\"100%\",minHeight:\"auto\",padding:\"0px\",wordBreak:\"break-word\",overflowWrap:\"break-word\",display:\"flex\",flexWrap:\"wrap\",alignItems:\"flex-start\"},children:words.map((word,index)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[word.isSpace?/*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"pre\"},children:word.text}):/*#__PURE__*/_jsx(Word,{word:word.text,startIndex:word.startIndex,progress:progress,totalLetters:totalLetters,revealRange:revealRange,easingFunction:easingFunction,designMode:designMode,isEmphasized:word.isEmphasized,emphasisColor:emphasisColor,emphasisStyle:{fontWeight:emphasisWeight,fontStyle:emphasisStyle}}),word.isLastInLine&&/*#__PURE__*/_jsx(\"br\",{})]},word.wordIndex))});}addPropertyControls(TextOpacityLetters,{content:{title:\"Content\",type:ControlType.String,defaultValue:\"We remove the struggle, while you drive the impact.\\nGlobal talent transcends borders, we minimize the burden of settling-in.\"},font:{title:\"Font\",type:ControlType.Enum,options:[\"General Sans\",\"Frank Ruhl Libre\",\"Noto Serif Display\",\"Times New Roman\",\"Courier\"],defaultValue:\"General Sans\"},weight:{title:\"Weight\",type:ControlType.Enum,options:[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],optionTitles:[\"Normal\",\"Bold\",\"Thin\",\"Extra Light\",\"Light\",\"Regular\",\"Medium\",\"Semibold\",\"Bold\",\"Extra Bold\",\"Black\"],defaultValue:\"600\"},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#FFFFFF\"},size:{title:\"Size\",type:ControlType.Number,defaultValue:3.75,min:1,max:16,step:.01,unit:\"em\"},letter:{title:\"Letter\",type:ControlType.Number,defaultValue:-.022,min:-.2,max:.2,step:.001,unit:\"em\"},line:{title:\"Line\",type:ControlType.Number,defaultValue:1.2,min:.5,max:3,step:.1,unit:\"em\"},align:{title:\"Align\",type:ControlType.Enum,options:[\"left\",\"center\",\"right\",\"justify\"],defaultValue:\"left\",displaySegmentedControl:true},balance:{title:\"Balance\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},easingFunction:{title:\"Easing Function\",type:ControlType.Enum,options:Object.keys(easingFunctions),optionTitles:[\"Linear\",\"Ease In-Out Quint\",\"Ease In Quad\",\"Ease Out Quad\",\"Ease In-Out Quad\",\"Ease In Cubic\",\"Ease Out Cubic\",\"Ease In-Out Cubic\",\"Ease In Expo\",\"Ease Out Expo\",\"Ease In-Out Expo\",\"Ease In Elastic\",\"Ease Out Bounce\",\"Step Reveal\"],defaultValue:\"easeInOutQuint\"},emphasisColor:{title:\"Emphasis Color\",type:ControlType.Color,defaultValue:\"#FF0000\"},emphasisWeight:{title:\"Emphasis Weight\",type:ControlType.Enum,options:[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],optionTitles:[\"Normal\",\"Bold\",\"Thin\",\"Extra Light\",\"Light\",\"Regular\",\"Medium\",\"Semibold\",\"Bold\",\"Extra Bold\",\"Black\"],defaultValue:\"bold\"},emphasisStyle:{title:\"Emphasis Style\",type:ControlType.Enum,options:[\"normal\",\"italic\"],defaultValue:\"normal\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextOpacityLetters\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Text_Opacity_Letters.map"],
  "mappings": "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",
  "names": ["easingFunctions", "t", "Letter", "char", "opacity", "p", "motion", "Word", "word", "startIndex", "progress", "totalLetters", "revealRange", "easingFunction", "isEmphasized", "emphasisColor", "emphasisStyle", "style", "charIndex", "index", "adjustedRevealRange", "start", "end", "transitionProgress", "TextOpacityLetters", "props", "content", "font", "weight", "color", "size", "letter", "line", "align", "balance", "designMode", "emphasisWeight", "containerRef", "pe", "setProgress", "ye", "words", "se", "lines", "wordIndex", "letterIndex", "lineIndex", "lineWords", "s", "cleanWord", "result", "ue", "handleScroll", "rect", "windowHeight", "window", "containerHeight", "offsetTopPercentage", "offsetBottomPercentage", "offsetTop", "offsetBottom", "current", "newProgress", "RenderTarget", "u", "e", "addPropertyControls", "ControlType"]
}
