{"version":3,"file":"ScrambleText.DCA_HL6I.mjs","names":["useState","useRef","iteration"],"sources":["https:/framerusercontent.com/modules/5HrlAhyRJhKyaPKoUZuu/iLjK5XLBirm3hATMIHsG/ScrambleText.js"],"sourcesContent":["// © Framer University. All rights reserved.\n// Bugfix added by @hyggemethat – 2025-04-03\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useState,useRef}from\"react\";// Configuration\nconst loopDelay=5e3;const initDelay=100;// Do not configure\nconst letters=\"abcdefghijklmnopqrstuvwxyz-.,+*!?@&%/=\";export function onAppear(Component){return props=>{const value=props.children.props.children.props.children;const[isVisible,setIsVisible]=useState(false);const[iteration,setIteration]=useState(0);const intervalRef=useRef(null);const timeoutRef=useRef(null);const intersectionRef=useRef(null);const encrypt=iteration=>{return value.split(\"\").map((letter,index)=>{if(index<iteration){return value[index];}return letters[Math.floor(Math.random()*letters.length)];}).join(\"\");};useEffect(()=>{const observer=new IntersectionObserver(entries=>{entries.forEach(entry=>{if(entry.isIntersecting){setIsVisible(true);}else{setIsVisible(false);setIteration(0);if(intervalRef.current)clearInterval(intervalRef.current);if(timeoutRef.current)clearTimeout(timeoutRef.current);}});});observer.observe(intersectionRef.current);return()=>observer.disconnect();},[]);useEffect(()=>{if(isVisible){// Clear any existing intervals\nif(intervalRef.current)clearInterval(intervalRef.current);if(timeoutRef.current)clearTimeout(timeoutRef.current);// Initial delay before starting animation\ntimeoutRef.current=setTimeout(()=>{intervalRef.current=setInterval(()=>{setIteration(prev=>{const next=prev+5/6;if(next>=value.length){clearInterval(intervalRef.current);// Set timeout for the next loop\ntimeoutRef.current=setTimeout(()=>{setIteration(0);},loopDelay);return value.length// Cap at full text length\n;}return next;});},50);},initDelay);}return()=>{if(intervalRef.current)clearInterval(intervalRef.current);if(timeoutRef.current)clearTimeout(timeoutRef.current);};},[isVisible,iteration===0,value.length]);return /*#__PURE__*/_jsx(Component,{ref:intersectionRef,...props,text:isVisible?encrypt(iteration):value});};}\nexport const __FramerMetadata__ = {\"exports\":{\"onAppear\":{\"type\":\"reactHoc\",\"name\":\"onAppear\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScrambleText.map"],"mappings":"2HAIuD,SAAgB,EAAS,EAAU,CAAC,MAAO,IAAO,CAAC,IAAM,EAAM,EAAM,SAAS,MAAM,SAAS,MAAM,SAAc,CAAC,EAAU,GAAcA,EAAS,GAAM,CAAM,CAAC,EAAU,GAAcA,EAAS,EAAE,CAAO,EAAYC,EAAO,KAAK,CAAO,EAAWA,EAAO,KAAK,CAAO,EAAgBA,EAAO,KAAK,CAAO,EAAQ,GAAmB,EAAM,MAAM,GAAG,CAAC,KAAK,EAAO,IAAY,EAAMC,EAAkB,EAAM,GAAe,EAAQ,KAAK,MAAM,KAAK,QAAQ,CAAC,GAAe,EAAI,CAAC,KAAK,GAAG,CAIjU,OAJoU,MAAc,CAAC,IAAM,EAAS,IAAI,qBAAqB,GAAS,CAAC,EAAQ,QAAQ,GAAO,CAAI,EAAM,eAAgB,EAAa,GAAK,EAAO,EAAa,GAAM,CAAC,EAAa,EAAE,CAAI,EAAY,SAAQ,cAAc,EAAY,QAAQ,CAAI,EAAW,SAAQ,aAAa,EAAW,QAAQ,GAAI,EAAG,CAA2C,OAA1C,EAAS,QAAQ,EAAgB,QAAQ,KAAW,EAAS,YAAY,EAAG,EAAE,CAAC,CAAC,OAAkB,IACv5B,EAAY,SAAQ,cAAc,EAAY,QAAQ,CAAI,EAAW,SAAQ,aAAa,EAAW,QAAQ,CAChH,EAAW,QAAQ,eAAe,CAAC,EAAY,QAAQ,gBAAgB,CAAC,EAAa,GAAM,CAAC,IAAM,EAAK,EAAK,EAAE,EAE5G,OAFiH,GAAM,EAAM,QAAQ,cAAc,EAAY,QAAQ,CACzK,EAAW,QAAQ,eAAe,CAAC,EAAa,EAAE,EAAG,EAAU,CAAQ,EAAM,QACpE,GAAO,EAAG,GAAG,EAAG,EAAU,MAAY,CAAI,EAAY,SAAQ,cAAc,EAAY,QAAQ,CAAI,EAAW,SAAQ,aAAa,EAAW,QAAQ,GAAK,CAAC,EAAU,IAAY,EAAE,EAAM,OAAO,CAAC,CAAqB,EAAK,EAAU,CAAC,IAAI,EAAgB,GAAG,EAAM,KAAK,EAAU,EAAQ,EAAU,CAAC,EAAM,CAAC,yBAN5Q,IAA6C,CAClF,EAAU,IAAU,EAAU,IAC9B,EAAQ"}