{"version":3,"file":"SmoothScroll_Prod.BmeaAVaf.mjs","names":["useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/Yppqt3Cs3Y8TZqvASnXl/CdOdky5gzve8F7s2ESkN/SmoothScroll_Prod.js"],"sourcesContent":["import{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import Lenis from\"lenis\";// import Lenis from \"@studio-freight/lenis\"\nimport{useEffect,useRef}from\"react\";/**\n * @framerDisableUnlink\n */export default function SmoothScroll(props){const{intensity}=props;const lenis=useRef(null);useEffect(()=>{if(lenis.current)lenis.current.scrollTo(0,{immediate:true});},[lenis]);// Check Overlay overflow\nuseEffect(()=>{const overlayElement=document.getElementById(\"overlay\");if(overlayElement){const checkOverflow=()=>{const htmlStyle=window.getComputedStyle(document.documentElement);const isOverflowHidden=htmlStyle.overflow===\"hidden\";if(isOverflowHidden){overlayElement.setAttribute(\"data-lenis-prevent\",\"true\");}};// Set up MutationObserver for the html element\nconst htmlObserver=new MutationObserver(mutations=>{for(const mutation of mutations){if(mutation.type===\"attributes\"&&mutation.attributeName===\"style\"){checkOverflow();}}});// Observe the html element for style changes\nhtmlObserver.observe(document.documentElement,{attributes:true,attributeFilter:[\"style\"]});// Initial check\ncheckOverflow();return()=>{htmlObserver.disconnect();};}},[]);// useEffect(() => {\n//     const overlayElement = document.getElementById(\"overlay\")\n//     if (overlayElement) {\n//         const handleMutation = (mutationsList, observer) => {\n//             for (const mutation of mutationsList) {\n//                 if (\n//                     mutation.type === \"childList\" &&\n//                     overlayElement.children.length > 0\n//                 ) {\n//                     // Check if the html tag has the style \"overflow: hidden;\"\n//                     const htmlElement = document.documentElement\n//                     console.log(htmlElement, \"htmlElement\")\n//                     const computedStyle =\n//                         window.getComputedStyle(htmlElement)\n//                     console.log(\"computedStyle\", computedStyle)\n//                     const isOverflowHidden =\n//                         computedStyle.overflow === \"hidden\"\n//                     console.log(\"isOverflowHidden\", isOverflowHidden)\n//                     if (isOverflowHidden) {\n//                         overlayElement.setAttribute(\n//                             \"data-lenis-prevent\",\n//                             \"true\"\n//                         )\n//                     }\n//                 }\n//             }\n//         }\n//         const observer = new MutationObserver(handleMutation)\n//         observer.observe(overlayElement, {\n//             childList: true,\n//             attributes: true,\n//             subtree: true,\n//         })\n//         return () => observer.disconnect()\n//     }\n// }, [])\nuseEffect(()=>{const allElements=document.getElementsByTagName(\"*\");for(let i=0;i<allElements.length;i++){const element=allElements[i];const computedStyle=window.getComputedStyle(element);if(computedStyle.getPropertyValue(\"overflow\")===\"auto\"){element.setAttribute(\"data-lenis-prevent\",\"true\");}}},[]);useEffect(()=>{lenis.current=new Lenis({duration:intensity/10});const raf=time=>{if(lenis.current){lenis.current.raf(time);requestAnimationFrame(raf);}};requestAnimationFrame(raf);return()=>{if(lenis.current){lenis.current.destroy();lenis.current=null;}};},[]);useEffect(()=>{const styleElement=document.createElement(\"style\");styleElement.textContent=`\nhtml.lenis {\nheight: auto;\n}\n.lenis.lenis-smooth {\n\nscroll-behavior: auto !important;\n}\n.lenis.lenis-smooth [data-lenis-prevent] {\n\noverscroll-behavior: contain;\n}\n.lenis.lenis-stopped {\n\noverflow: hidden;\n}\n.lenis.lenis-scrolling iframe {\n\npointer-events: none;\n}\n`;document.head.appendChild(styleElement);return()=>{document.head.removeChild(styleElement);};},[]);useEffect(()=>{const anchorLinks=[...document.querySelectorAll(\"a[href]\")];const handleClick=(e,href)=>{e.preventDefault();const decodedHref=decodeURIComponent(href);lenis.current.scrollTo(decodedHref);};anchorLinks.filter(a=>a.href.includes(\"#\")).forEach(a=>{const href=`#${a.href.split(\"#\").pop()}`;a.addEventListener(\"click\",e=>handleClick(e,href));});return()=>{anchorLinks.filter(a=>a.href.includes(\"#\")).forEach(a=>{const href=`#${a.href.split(\"#\").pop()}`;a.removeEventListener(\"click\",e=>handleClick(e,href));});};},[lenis]);return /*#__PURE__*/_jsx(_Fragment,{});}SmoothScroll.displayName=\"Smooth Scroll\";addPropertyControls(SmoothScroll,{intensity:{title:\"Intensity\",type:ControlType.Number,defaultValue:10,description:\"More components at [Framer University](https://framer.university?utm_source=component).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmoothScroll\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmoothScroll_Prod.map"],"mappings":"sPAGG,SAAwB,EAAa,EAAM,CAAC,GAAK,CAAC,aAAW,EAAY,EAAMA,EAAO,KAAK,CA4D4hB,OA5D3hB,MAAc,CAAI,EAAM,SAAQ,EAAM,QAAQ,SAAS,EAAE,CAAC,UAAU,GAAK,CAAC,EAAG,CAAC,EAAM,CAAC,CACpL,MAAc,CAAC,IAAM,EAAe,SAAS,eAAe,UAAU,CAAC,GAAG,EAAe,CAAC,IAAM,MAAkB,CAAiB,EAAO,iBAAiB,SAAS,gBAAgB,CAAkC,WAAW,UAA8B,EAAe,aAAa,qBAAqB,OAAO,EACjT,EAAa,IAAI,iBAAiB,GAAW,CAAC,IAAI,IAAM,KAAY,EAAc,EAAS,OAAO,cAAc,EAAS,gBAAgB,SAAS,GAAe,EAAK,CAE5J,OADhB,EAAa,QAAQ,SAAS,gBAAgB,CAAC,WAAW,GAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAC1F,GAAe,KAAW,CAAC,EAAa,YAAY,IAAM,EAAE,CAAC,CAoC7D,MAAc,CAAC,IAAM,EAAY,SAAS,qBAAqB,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAY,OAAO,IAAI,CAAC,IAAM,EAAQ,EAAY,GAAuB,EAAO,iBAAiB,EAAQ,CAAkB,iBAAiB,WAAW,GAAG,QAAQ,EAAQ,aAAa,qBAAqB,OAAO,GAAK,EAAE,CAAC,CAAC,MAAc,CAAC,EAAM,QAAQ,IAAI,EAAM,CAAC,SAAS,EAAU,GAAG,CAAC,CAAC,IAAM,EAAI,GAAM,CAAI,EAAM,UAAS,EAAM,QAAQ,IAAI,EAAK,CAAC,sBAAsB,EAAI,GAA+B,OAA3B,sBAAsB,EAAI,KAAW,CAAC,AAA0C,EAAM,WAA9B,EAAM,QAAQ,SAAS,CAAe,QAAU,EAAE,CAAC,CAAC,MAAc,CAAC,IAAM,EAAa,SAAS,cAAc,QAAQ,CAoB1kB,MApB2kB,GAAa,YAAY;;;;;;;;;;;;;;;;;;;;EAoB5oB,SAAS,KAAK,YAAY,EAAa,KAAW,CAAC,SAAS,KAAK,YAAY,EAAa,GAAK,EAAE,CAAC,CAAC,MAAc,CAAC,IAAM,EAAY,CAAC,GAAG,SAAS,iBAAiB,UAAU,CAAC,CAAO,GAAa,EAAE,IAAO,CAAC,EAAE,gBAAgB,CAAC,IAAM,EAAY,mBAAmB,EAAK,CAAC,EAAM,QAAQ,SAAS,EAAY,EAA0J,OAAvJ,EAAY,OAAO,GAAG,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAM,EAAK,IAAI,EAAE,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,EAAE,iBAAiB,QAAQ,GAAG,EAAY,EAAE,EAAK,CAAC,EAAG,KAAW,CAAC,EAAY,OAAO,GAAG,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAM,EAAK,IAAI,EAAE,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,EAAE,oBAAoB,QAAQ,GAAG,EAAY,EAAE,EAAK,CAAC,EAAG,GAAK,CAAC,EAAM,CAAC,CAAqB,EAAKC,EAAU,EAAE,CAAC,sBA/D/lB,IAAoD,IAAyB,IAC1G,CA8D8nB,EAAa,YAAY,gBAAgB,EAAoB,EAAa,CAAC,UAAU,CAAC,MAAM,YAAY,KAAK,EAAY,OAAO,aAAa,GAAG,YAAY,0FAA0F,CAAC,CAAC"}