{"version":3,"file":"SmoothScroll_Prod.UgPxBVMY.mjs","names":["useState","_Fragment","useRef"],"sources":["https:/framerusercontent.com/modules/K9XZikamzRg8diOTO0v6/Lg2YQXIGwz2nU25pKVBI/BlurCycle_Prod.js","https:/framerusercontent.com/modules/nL0TnBcPdyFf6EnVcNIS/ZwMQaKU1o8BxL2CoIOTG/SmoothScroll_Prod.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";const MAX_SPEED=20;const defaultTransition={stiffness:100,damping:20,mass:1};/**\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function BlurCycle({text,speed,delay,font,userSelect,color,tag,loop,alignment}){const Tag=tag;const content=text.split(\", \").map(phrase=>phrase.replace(/\\s+/g,\" \").trim());const[iteration,setIteration]=useState(0);const[isFirstRender,setIsFirstRender]=useState(true);const speedFormatted=(MAX_SPEED-speed+1)/20*5;const delayFormattedMs=delay*1e3;const speedFormattedMs=speedFormatted*1e3;const MAX_BLUR=parseInt(font.fontSize)*.2||4.8;useEffect(()=>{const timeout=isFirstRender?delayFormattedMs+speedFormattedMs/4:speedFormattedMs+delayFormattedMs;const interval=setInterval(()=>{setIsFirstRender(false);if(iteration<content.length-1){setIteration(prev=>prev+1);}else if(loop){setIteration(0);}},timeout);return()=>clearInterval(interval);},[iteration,loop,isFirstRender]);return /*#__PURE__*/_jsxs(\"div\",{style:{userSelect:userSelect?\"auto\":\"none\",position:\"relative\",display:\"flex\",flexDirection:\"row\",overflow:\"visible\",width:\"calc(100% + 10px)\",justifyContent:alignment===\"center\"?\"center\":alignment===\"right\"?\"flex-end\":\"flex-start\"},children:[/*#__PURE__*/_jsx(Tag,{\"aria-hidden\":true,style:{fontSize:\"24px\",...font,marginBlockStart:\"0px\",marginBlockEnd:\"0px\",pointerEvents:\"none\",opacity:0,whiteSpace:\"pre-wrap\",width:\"100%\",textAlign:alignment},children:content.reduce((longest,current)=>current.length>longest.length?current:longest)}),RenderTarget.current()===RenderTarget.canvas&&/*#__PURE__*/_jsx(Tag,{style:{fontSize:\"24px\",...font,color,marginBlockStart:\"0px\",marginBlockEnd:\"0px\",whiteSpace:\"pre-wrap\",position:\"absolute\",top:0,left:0,width:\"100%\",textAlign:alignment},children:content[0]}),RenderTarget.current()!==RenderTarget.canvas&&/*#__PURE__*/_jsx(_Fragment,{children:content.map((phrase,phraseIndex)=>{// Calculate the absolute index for each character up front\nlet charIndex=0;const segments=phrase.split(/(\\s+|\\b)/).map(segment=>({text:segment,chars:segment.split(\"\").map(char=>({char,originalIndex:charIndex++}))}));return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,overflow:\"visible\",width:\"100%\",textAlign:alignment},children:/*#__PURE__*/_jsx(AnimatePresence,{mode:\"sync\",children:iteration===phraseIndex&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",width:\"100%\",justifyContent:alignment===\"center\"?\"center\":alignment===\"right\"?\"flex-end\":\"flex-start\",gap:0},children:segments.map((segment,segmentIndex)=>/*#__PURE__*/_jsx(\"div\",{style:{display:\"inline-flex\",flexWrap:\"nowrap\",whiteSpace:\"pre\"},children:segment.chars.map(({char,originalIndex})=>{const itemTransition={hidden:{opacity:0,filter:`blur(${MAX_BLUR}px)`,zIndex:1,transition:{...defaultTransition,duration:speedFormatted/2,delay:speedFormatted/2*.5}},show:{opacity:1,filter:\"blur(0px)\",zIndex:1,transition:{...defaultTransition,duration:speedFormatted/2,delay:speedFormatted/2*.5+originalIndex/(phrase.length-1)*(speedFormatted/3)}},exit:{opacity:0,filter:`blur(${MAX_BLUR/60}px)`,zIndex:0,transition:{...defaultTransition,duration:speedFormatted/2}}};return /*#__PURE__*/_jsx(motion.div,{variants:itemTransition,initial:isFirstRender?\"show\":\"hidden\",animate:\"show\",exit:\"exit\",style:{display:\"inline-block\"},children:/*#__PURE__*/_jsx(Tag,{style:{fontSize:\"24px\",...font,color,marginBlockStart:\"0px\",marginBlockEnd:\"0px\",opacity:1},children:char})},phrase+originalIndex);})},segmentIndex))})})},phraseIndex);})})]});}BlurCycle.displayName=\"Blur Cycle\";addPropertyControls(BlurCycle,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"to learn Framer, to build websites\",description:\"Divide phrases with a comma (,) if you want to display them separately.\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:MAX_SPEED/2,min:1,max:MAX_SPEED},delay:{type:ControlType.Number,title:\"Delay\",defaultValue:1,min:0,max:10},font:{title:\"Font\",type:ControlType.Font,controls:\"extended\"},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#999\"},alignment:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Alignment\",defaultValue:\"left\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"]},userSelect:{title:\"User Select\",type:ControlType.Boolean,defaultValue:false},tag:{type:ControlType.Enum,title:\"Tag\",defaultValue:\"p\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"h1\",\"h2\",\"h3\",\"p\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"P\"]},loop:{title:\"Loop\",type:ControlType.Boolean,defaultValue:true,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BlurCycle\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutWidth\":\"any\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BlurCycle_Prod.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,withCSS}from\"framer\";import Lenis from\"lenis\";import{useEffect,useRef}from\"react\";function SmoothScrollComponent(props){const{intensity}=props;const lenis=useRef(null);useEffect(()=>{if(lenis.current){try{lenis.current.scrollTo(0,{immediate:true});}catch(error){console.error(\"Error scrolling to top:\",error);}}},[lenis]);// Watch for stop scroll elements\nuseEffect(()=>{const checkForStopScroll=()=>{try{const stopScrollElement=document.querySelector(\"[data-frameruni-stop-scroll]\");const htmlElement=document.documentElement;const hasHiddenOverflow=htmlElement&&htmlElement.style&&htmlElement.style.overflow===\"hidden\";if(lenis.current){if(stopScrollElement||hasHiddenOverflow){lenis.current.stop();}else{lenis.current.start();}}}catch(error){console.error(\"Error in checkForStopScroll:\",error);}};// Initial check\ncheckForStopScroll();// Set up observers\nlet stopScrollObserver;let htmlStyleObserver;try{stopScrollObserver=new MutationObserver(checkForStopScroll);htmlStyleObserver=new MutationObserver(checkForStopScroll);// Observe document for data-frameruni-stop-scroll attribute\nif(document&&document.documentElement){stopScrollObserver.observe(document.documentElement,{childList:true,subtree:true,attributes:true,attributeFilter:[\"data-frameruni-stop-scroll\"]});// Observe only the HTML element for style changes\nhtmlStyleObserver.observe(document.documentElement,{attributes:true,attributeFilter:[\"style\"]});}}catch(error){console.error(\"Error setting up observers:\",error);}return()=>{try{if(stopScrollObserver)stopScrollObserver.disconnect();if(htmlStyleObserver)htmlStyleObserver.disconnect();}catch(error){console.error(\"Error disconnecting observers:\",error);}};},[]);useEffect(()=>{try{if(!document)return;const allElements=document.getElementsByTagName(\"*\");for(let i=0;i<allElements.length;i++){const element=allElements[i];if(!element)continue;try{const computedStyle=window.getComputedStyle(element);if(computedStyle&&computedStyle.getPropertyValue(\"overflow\")===\"auto\"){element.setAttribute(\"data-lenis-prevent\",\"true\");}}catch(styleError){console.error(\"Error getting computed style:\",styleError);}}}catch(error){console.error(\"Error in overflow detection:\",error);}},[]);useEffect(()=>{try{if(typeof Lenis!==\"function\"){console.error(\"Lenis is not available\");return;}lenis.current=new Lenis({duration:(intensity||10)/10});const raf=time=>{if(lenis.current){try{lenis.current.raf(time);requestAnimationFrame(raf);}catch(error){console.error(\"Error in animation frame:\",error);}}};const animationId=requestAnimationFrame(raf);return()=>{cancelAnimationFrame(animationId);if(lenis.current){try{lenis.current.destroy();lenis.current=null;}catch(error){console.error(\"Error destroying Lenis:\",error);}}};}catch(error){console.error(\"Error initializing Lenis:\",error);return()=>{};}},[intensity]);//https://github.com/darkroomengineering/lenis?tab=readme-ov-file#anchor-links\nuseEffect(()=>{try{if(!document||!lenis.current)return;// Get all anchor links and store click handlers with their targets\nconst anchorLinksData=Array.from(document.querySelectorAll(\"a[href]\")||[]).filter(element=>{if(!element)return false;const anchor=element;if(!anchor.href)return false;// Only handle internal anchor links\nconst isInternalLink=anchor.href.startsWith(window.location.origin)||anchor.href.startsWith(\"./\")||anchor.href.startsWith(\"/\");const hasHash=anchor.href.includes(\"#\");return isInternalLink&&hasHash;}).map(anchor=>{try{const anchorElement=anchor;const href=anchorElement.href.includes(\"#\")?`#${anchorElement.href.split(\"#\").pop()}`:\"\";const decodedHref=href?decodeURIComponent(href):\"\";let scrollMargin=0;try{if(decodedHref){const targetElement=document.querySelector(decodedHref);if(targetElement){const marginStyle=window.getComputedStyle(targetElement).scrollMarginTop;scrollMargin=marginStyle?parseInt(marginStyle)||0:0;}}}catch(targetError){console.error(\"Error finding target element:\",targetError);}return{href,scrollMargin,anchorElement:anchorElement};}catch(anchorError){console.error(\"Error processing anchor:\",anchorError);return null;}}).filter(Boolean);const handleClick=(e,href,scrollMargin)=>{try{if(e&&e.preventDefault)e.preventDefault();if(lenis.current&&href){lenis.current.scrollTo(href,{offset:-(scrollMargin||0)});}}catch(error){console.error(\"Error in anchor click handler:\",error);}};const handlers=anchorLinksData.map(({href,scrollMargin})=>e=>handleClick(e,href,scrollMargin));anchorLinksData.forEach(({anchorElement},index)=>{if(anchorElement&&handlers[index]){anchorElement.addEventListener(\"click\",handlers[index]);}});return()=>{anchorLinksData.forEach(({anchorElement},index)=>{if(anchorElement&&handlers[index]){anchorElement.removeEventListener(\"click\",handlers[index]);}});};}catch(error){console.error(\"Error setting up anchor links:\",error);return()=>{};}},[lenis]);return /*#__PURE__*/_jsx(\"div\",{style:props.style});}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */const SmoothScroll=withCSS(SmoothScrollComponent,[\"html.lenis { height: auto; }\",\".lenis.lenis-smooth { scroll-behavior: auto !important; }\",\".lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }\",\".lenis.lenis-stopped { overflow: hidden; }\",\".lenis.lenis-scrolling iframe { pointer-events: none; }\"],\"\");export default SmoothScroll;SmoothScroll.displayName=\"Smooth Scroll\";addPropertyControls(SmoothScroll,{intensity:{title:\"Intensity\",type:ControlType.Number,defaultValue:10,min:0,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmoothScroll\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmoothScroll_Prod.map"],"mappings":"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"}