{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/5HrlAhyRJhKyaPKoUZuu/iLjK5XLBirm3hATMIHsG/ScrambleText.js"],
  "sourcesContent": ["// \u00A9 Framer University. All rights reserved.\n// Bugfix added by @hyggemethat \u2013 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": "8DAGA,IAAMA,EAAU,IAAUC,EAAU,IAC9BC,EAAQ,yCAAgD,SAASC,EAASC,EAAU,CAAC,OAAOC,GAAO,CAAC,IAAMC,EAAMD,EAAM,SAAS,MAAM,SAAS,MAAM,SAAc,CAACE,EAAUC,CAAY,EAAEC,EAAS,EAAK,EAAO,CAACC,EAAUC,CAAY,EAAEF,EAAS,CAAC,EAAQG,EAAYC,EAAO,IAAI,EAAQC,EAAWD,EAAO,IAAI,EAAQE,EAAgBF,EAAO,IAAI,EAAQG,EAAQN,GAAmBJ,EAAM,MAAM,EAAE,EAAE,IAAI,CAACW,EAAOC,IAAYA,EAAMR,EAAkBJ,EAAMY,CAAK,EAAUhB,EAAQ,KAAK,MAAM,KAAK,OAAO,EAAEA,EAAQ,MAAM,CAAC,CAAG,EAAE,KAAK,EAAE,EAAI,OAAAiB,EAAU,IAAI,CAAC,IAAMC,EAAS,IAAI,qBAAqBC,GAAS,CAACA,EAAQ,QAAQC,GAAO,CAAIA,EAAM,eAAgBd,EAAa,EAAI,GAAQA,EAAa,EAAK,EAAEG,EAAa,CAAC,EAAKC,EAAY,SAAQ,cAAcA,EAAY,OAAO,EAAKE,EAAW,SAAQ,aAAaA,EAAW,OAAO,EAAG,CAAC,CAAE,CAAC,EAAE,OAAAM,EAAS,QAAQL,EAAgB,OAAO,EAAQ,IAAIK,EAAS,WAAW,CAAE,EAAE,CAAC,CAAC,EAAED,EAAU,KAAQZ,IACv5BK,EAAY,SAAQ,cAAcA,EAAY,OAAO,EAAKE,EAAW,SAAQ,aAAaA,EAAW,OAAO,EAC/GA,EAAW,QAAQ,WAAW,IAAI,CAACF,EAAY,QAAQ,YAAY,IAAI,CAACD,EAAaY,GAAM,CAAC,IAAMC,EAAKD,EAAK,kBAAI,OAAGC,GAAMlB,EAAM,QAAQ,cAAcM,EAAY,OAAO,EACxKE,EAAW,QAAQ,WAAW,IAAI,CAACH,EAAa,CAAC,CAAE,EAAEX,CAAS,EAASM,EAAM,QACpEkB,CAAK,CAAC,CAAE,EAAE,EAAE,CAAE,EAAEvB,CAAS,GAAS,IAAI,CAAIW,EAAY,SAAQ,cAAcA,EAAY,OAAO,EAAKE,EAAW,SAAQ,aAAaA,EAAW,OAAO,CAAE,GAAI,CAACP,EAAUG,IAAY,EAAEJ,EAAM,MAAM,CAAC,EAAsBmB,EAAKrB,EAAU,CAAC,IAAIW,EAAgB,GAAGV,EAAM,KAAKE,EAAUS,EAAQN,CAAS,EAAEJ,CAAK,CAAC,CAAE,CAAE",
  "names": ["loopDelay", "initDelay", "letters", "onAppear", "Component", "props", "value", "isVisible", "setIsVisible", "ye", "iteration", "setIteration", "intervalRef", "pe", "timeoutRef", "intersectionRef", "encrypt", "letter", "index", "ue", "observer", "entries", "entry", "prev", "next", "p"]
}
