{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/szTwp0z4cfTjpb5uMl0y/s9LZfvkKT9q1UZ1kSlh4/Scroll_reveal_1_1.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs}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,initialScale,verticalOffset,perspective,rotateX,revealMode}=props;const containerRef=useRef(null);const textUnits=revealMode===\"word\"?text.match(/\\S+|\\s+/g)||[]:text.split(\"\",\" \");const textUnitsWithoutEmptySpaces=textUnits.filter(item=>item!==\" \");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__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"sticky\",top:0,color:color,fontFamily:font?.fontFamily,fontWeight:font?.fontWeight,fontSize:`${fontSize}px`,lineHeight:lineHeight,opacity:isVisible||isCanvas?1:0,perspective:`${perspective}px`,display:\"flex\",flexWrap:\"wrap\",gap:\"0px 10px\"},children:[textUnitsWithoutEmptySpaces.map((unit,index)=>{const unitProgress=isCanvas?1:(scrollProgress-index/textUnitsWithoutEmptySpaces.length)*textUnitsWithoutEmptySpaces.length;const progress=Math.max(0,Math.min(1,unitProgress));const blurAmount=initialBlur*(1-progress);const opacity=initialOpacity+(1-initialOpacity)*progress;const scale=initialScale+(1-initialScale)*progress;const yOffset=verticalOffset*(1-progress);const xRotation=rotateX*(1-progress);return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",whiteSpace:\"pre\",filter:`blur(${blurAmount}px)`,opacity:opacity,transform:`scale(${scale}) translateY(${yOffset}px) rotateX(${xRotation}deg)`,transition:\"filter 0.2s ease-out, opacity 0.2s ease-out, transform 0.2s ease-out\"},children:unit},index);}),/*#__PURE__*/_jsx(\"p\",{style:{height:0,opacity:0},children:\"DEFINUJEME BUDOUCNOST AUTOMOTIVE, STROJ\\xcdRENSTV\\xcd, HIGH-ENDOV\\xddCH PRODUKT\u016E A DESIGNU D\\xcdKY MULTIPLATFORMN\\xcdM \u0158E\u0160EN\\xcdM S INTERAKTIVN\\xcd 3D A XR TECHNOLOGI\\xcd\"})]});}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,initialScale:.8,verticalOffset:20,perspective:1e3,rotateX:45,revealMode:\"word\"};addPropertyControls(StickyBlurReveal,{text:{type:ControlType.String,title:\"Text\",displayTextArea:true},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},initialScale:{type:ControlType.Number,title:\"Initial Scale\",min:.5,max:1,step:.05},verticalOffset:{type:ControlType.Number,title:\"Vertical Offset\",min:-100,max:100,step:1},perspective:{type:ControlType.Number,title:\"Perspective\",min:100,max:2e3,step:50},rotateX:{type:ControlType.Number,title:\"Rotate X\",min:-90,max:90,step:1},revealMode:{type:ControlType.Enum,title:\"Reveal Mode\",options:[\"word\",\"letter\"],optionTitles:[\"Word\",\"Letter\"]}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StickyBlurReveal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Scroll_reveal_1_1.map"],
  "mappings": "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",
  "names": ["init_ssg_sandbox_shims", "StickyBlurReveal", "props", "text", "color", "font", "fontSize", "lineHeight", "fullRevealDistance", "initialBlur", "initialOpacity", "initialScale", "verticalOffset", "perspective", "rotateX", "revealMode", "containerRef", "pe", "textUnitsWithoutEmptySpaces", "item", "scrollProgress", "setScrollProgress", "ye", "isVisible", "setIsVisible", "isCanvas", "RenderTarget", "ue", "startPosition", "endPosition", "containerHeight", "observer", "entry", "rect", "window", "handleScroll", "currentScroll", "elementTop", "progress", "u", "unit", "index", "unitProgress", "blurAmount", "opacity", "scale", "yOffset", "xRotation", "p", "addPropertyControls", "ControlType"]
}
