{"version":3,"file":"Text_reveal.Ulg3SYCS.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/uwuTLUpuOHfpqhwkoXby/ZIwUw3LAVAEBKKIte8RQ/Text_reveal.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useEffect,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";export default function StickyBlurReveal(props){const{text=\"\",color,font,fontSize,lineHeight,fullRevealDistance,initialBlur,initialOpacity,letterSpacing,textAlign,as}=props;const Tag=as||\"div\";const containerRef=useRef(null);const words=(text||\"\").split(\" \");const[scrollProgress,setScrollProgress]=useState(0);const[isVisible,setIsVisible]=useState(false);const isCanvas=RenderTarget.current()===RenderTarget.canvas;useEffect(()=>{if(isCanvas)return;let startPosition=0;let endPosition=0;let containerHeight=0;const observer=new IntersectionObserver(([entry])=>{if(entry.isIntersecting){setIsVisible(true);const rect=entry.boundingClientRect;startPosition=window.scrollY+rect.top;containerHeight=rect.height;endPosition=startPosition+fullRevealDistance;handleScroll();}else{setIsVisible(false);}},{threshold:[0]});if(containerRef.current){observer.observe(containerRef.current);}const handleScroll=()=>{if(!isVisible)return;const currentScroll=window.scrollY;const elementTop=startPosition-currentScroll;const visibleHeight=window.innerHeight-elementTop;const progress=(visibleHeight-containerHeight)/(fullRevealDistance-containerHeight);setScrollProgress(Math.max(0,Math.min(1,progress)));};window.addEventListener(\"scroll\",handleScroll,{passive:true});return()=>{window.removeEventListener(\"scroll\",handleScroll);if(containerRef.current){observer.unobserve(containerRef.current);}};},[fullRevealDistance,isCanvas,isVisible]);return /*#__PURE__*/_jsx(Tag,{ref:containerRef,style:{position:\"sticky\",top:0,width:\"100%\",color:color,fontFamily:font?.fontFamily,fontWeight:font?.fontWeight,fontSize:`${fontSize}px`,lineHeight:lineHeight,opacity:isVisible||isCanvas?1:0,letterSpacing:`${letterSpacing}px`,textAlign:textAlign,boxSizing:\"border-box\",padding:0,margin:0},children:words.map((word,index)=>{const wordProgress=isCanvas?1:(scrollProgress-index/words.length)*words.length;const progress=Math.max(0,Math.min(1,wordProgress));const blurAmount=initialBlur*(1-progress);const opacity=initialOpacity+(1-initialOpacity)*progress;return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",marginRight:\"0.25em\",filter:`blur(${blurAmount}px)`,opacity:opacity,transition:\"filter 0.2s ease-out, opacity 0.2s ease-out\"},children:word},index);})});}StickyBlurReveal.defaultProps={text:\"This text unblurs and fades in word by word as you scroll\",color:\"#000000\",font:{fontFamily:\"Inter\",fontWeight:400},fontSize:24,lineHeight:1.5,fullRevealDistance:1e3,initialBlur:3,initialOpacity:.1,letterSpacing:0,textAlign:\"center\",as:\"h1\"};addPropertyControls(StickyBlurReveal,{text:{type:ControlType.String,title:\"Text\"},color:{type:ControlType.Color,title:\"Color\"},font:{type:ControlType.Font,title:\"Font\"},fontSize:{type:ControlType.Number,title:\"Font Size\",min:1,max:100},lineHeight:{type:ControlType.Number,title:\"Line Height\",min:.5,max:3,step:.1},fullRevealDistance:{type:ControlType.Number,title:\"Full Reveal Distance\",min:100,max:5e3,step:10},initialBlur:{type:ControlType.Number,title:\"Initial Blur\",min:0,max:10,step:.5},initialOpacity:{type:ControlType.Number,title:\"Initial Opacity\",min:0,max:1,step:.05},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",min:-5,max:20,step:.1,defaultValue:0},textAlign:{type:ControlType.Enum,title:\"Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"]},as:{type:ControlType.Enum,title:\"Tag\",options:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"p\",\"div\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"H4\",\"H5\",\"H6\",\"Paragraph\",\"Div\"]}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StickyBlurReveal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Text_reveal.map"],"mappings":"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"}