{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/d1dpbpF7eWnaDMhbXZFR/hsIceIG7b82ewTahN4HO/Smooth_Scroll.js", "ssg:https://framerusercontent.com/modules/vDXBUV69qMqncUSqubq2/kWFK1UOZeePFuIoJwjBR/SXxpl9onw.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState}from\"react\";/**\n * @framerDisableUnlink\n */export default function OptimizedSmoothScroll(props){// Destructure props at the top level\nconst{intensity=10,enabled=true,disableOnTouch=true}=props;// Component state\nconst lenisRef=useRef(null);const[isLenisLoaded,setIsLenisLoaded]=useState(false);const rafRef=useRef(null);const[isTouchDevice,setIsTouchDevice]=useState(false);const[isOverlayOpen,setIsOverlayOpen]=useState(false);const isInitialLoadRef=useRef(true);const lastScrollPosition=useRef(0);// Check if the device is a touch device - function defined outside hooks\nconst checkTouchDevice=()=>{if(typeof window!==\"undefined\"){return\"ontouchstart\"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;}return false;};// Set touch device state on first render\nuseEffect(()=>{setIsTouchDevice(checkTouchDevice());},[]);// Determine if smooth scroll should be active\n// Now it also considers if an overlay is open\nconst shouldActivate=enabled&&!(disableOnTouch&&isTouchDevice)&&!isOverlayOpen;// Priority load styles to ensure smooth scroll is active from the start\nuseEffect(()=>{const addInitialStyles=()=>{// Add initial styles to ensure smooth scrolling is active from the start\nconst styleEl=document.createElement(\"style\");styleEl.id=\"lenis-initial-styles\";styleEl.innerHTML=`\n                html.lenis {\n                    height: auto;\n                }\n                \n                .lenis.lenis-smooth {\n                    scroll-behavior: auto !important;\n                }\n                \n                .lenis.lenis-smooth [data-lenis-prevent] {\n                    overscroll-behavior: contain;\n                }\n                \n                .lenis.lenis-stopped {\n                    overflow: hidden;\n                }\n                \n                .lenis.lenis-scrolling iframe {\n                    pointer-events: none;\n                }\n            `;document.head.appendChild(styleEl);return()=>{const existingStyle=document.getElementById(\"lenis-initial-styles\");if(existingStyle){existingStyle.remove();}};};// If we should activate, add styles right away\nif(shouldActivate){return addInitialStyles();}},[shouldActivate]);// Dynamically load Lenis to avoid issues during initial rendering\nuseEffect(()=>{if(!shouldActivate)return;let isMounted=true;// Load Lenis dynamically\nconst loadLenis=async()=>{try{// Use dynamic import to load Lenis only when needed\nconst Lenis=(await import(\"@studio-freight/lenis\")).default;if(isMounted){// Initialize Lenis with smoother settings\nlenisRef.current=new Lenis({duration:intensity/10,smoothWheel:true,syncTouch:!disableOnTouch,touchMultiplier:2,wheelMultiplier:1.5,orientation:\"vertical\",gestureOrientation:\"vertical\",smoothTouch:!disableOnTouch,easing:t=>Math.min(1,1.001-Math.pow(2,-10*t)),immediate:false});// Start the lenis instance immediately\nlenisRef.current.start();// Make sure to set up RAF loop immediately\nconst raf=time=>{if(lenisRef.current){lenisRef.current.raf(time);}rafRef.current=requestAnimationFrame(raf);};rafRef.current=requestAnimationFrame(raf);setIsLenisLoaded(true);}}catch(error){console.warn(\"Failed to load Lenis:\",error);}};// Load Lenis with higher priority\nsetTimeout(loadLenis,0);return()=>{isMounted=false;// Proper cleanup\nif(lenisRef.current){lenisRef.current.destroy();lenisRef.current=null;}if(rafRef.current){cancelAnimationFrame(rafRef.current);rafRef.current=null;}setIsLenisLoaded(false);};},[shouldActivate,intensity,disableOnTouch]);// Set up animation loop only when Lenis is loaded - Now this is handled in the initialization\nuseEffect(()=>{// Only handle stopping the RAF loop here, starting is done in the init\nif(!isLenisLoaded||!shouldActivate)return;return()=>{if(rafRef.current){cancelAnimationFrame(rafRef.current);rafRef.current=null;}};},[isLenisLoaded,shouldActivate]);// Only reset scroll position on initial load, not when closing overlay\nuseEffect(()=>{if(lenisRef.current&&isLenisLoaded){if(isInitialLoadRef.current){lenisRef.current.scrollTo(0,{immediate:true});isInitialLoadRef.current=false;}}},[isLenisLoaded]);// Save scroll position periodically\nuseEffect(()=>{if(!shouldActivate)return;const saveScrollPosition=()=>{lastScrollPosition.current=window.scrollY;};// Save position every 300ms\nconst interval=setInterval(saveScrollPosition,300);// Also save on scroll\nwindow.addEventListener(\"scroll\",saveScrollPosition,{passive:true});return()=>{clearInterval(interval);window.removeEventListener(\"scroll\",saveScrollPosition);};},[shouldActivate]);// Handle overlays and modals - Enhanced version\nuseEffect(()=>{// Function to check if overlay is open\nconst checkOverlayState=()=>{const overlayElement=document.getElementById(\"overlay\");if(overlayElement){// Check if the overlay has children (which means it's active)\nconst hasChildren=overlayElement.children.length>0;// Only update if the state actually changed to prevent unnecessary effects\nif(hasChildren!==isOverlayOpen){setIsOverlayOpen(hasChildren);if(hasChildren){// If overlay is opened, save current position first\nlastScrollPosition.current=window.scrollY;// Then stop Lenis\nif(lenisRef.current){lenisRef.current.stop();}}else if(enabled&&!(disableOnTouch&&isTouchDevice)){// If overlay is closed and should be active, restart Lenis\nif(lenisRef.current){// Get saved position before restart\nconst savedPosition=lastScrollPosition.current;lenisRef.current.start();// After a small delay, restore position\nsetTimeout(()=>{window.scrollTo({top:savedPosition,behavior:\"auto\"});},10);}}}}};// Run the check immediately\ncheckOverlayState();// Observe changes to the overlay element\nconst overlayElement=document.getElementById(\"overlay\");if(overlayElement){const observer=new MutationObserver(()=>{checkOverlayState();});observer.observe(overlayElement,{childList:true});return()=>{observer.disconnect();};}// Also observe the HTML element for overflow changes\n// This catches modals that might not use the overlay element\nconst htmlElement=document.documentElement;const bodyObserver=new MutationObserver(()=>{const isOverflowHidden=window.getComputedStyle(htmlElement).overflow===\"hidden\";if(isOverflowHidden){// Save position before stopping\nlastScrollPosition.current=window.scrollY;if(lenisRef.current){lenisRef.current.stop();}}else if(enabled&&!(disableOnTouch&&isTouchDevice)&&!isOverlayOpen){if(lenisRef.current){// Get saved position\nconst savedPosition=lastScrollPosition.current;lenisRef.current.start();// Restore position\nsetTimeout(()=>{window.scrollTo({top:savedPosition,behavior:\"auto\"});},10);}}});bodyObserver.observe(htmlElement,{attributes:true,attributeFilter:[\"style\"]});return()=>{bodyObserver.disconnect();};},[isOverlayOpen,enabled,disableOnTouch,isTouchDevice]);// Debug info for development purposes\nconst debugInfo=process.env.NODE_ENV===\"development\"?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"none\"},children:[`Touch device: ${isTouchDevice?\"Yes\":\"No\"}`,`Smooth scroll active: ${shouldActivate?\"Yes\":\"No\"}`,`Overlay open: ${isOverlayOpen?\"Yes\":\"No\"}`,`Last scroll position: ${lastScrollPosition.current}`]}):null;return /*#__PURE__*/_jsxs(_Fragment,{children:[debugInfo,isLenisLoaded&&shouldActivate&&/*#__PURE__*/_jsx(\"style\",{children:`\n                    html.lenis {\n                        height: auto;\n                    }\n                    \n                    .lenis.lenis-smooth {\n                        scroll-behavior: auto !important;\n                    }\n                    \n                    .lenis.lenis-smooth [data-lenis-prevent] {\n                        overscroll-behavior: contain;\n                    }\n                    \n                    .lenis.lenis-stopped {\n                        overflow: hidden;\n                    }\n                    \n                    .lenis.lenis-scrolling iframe {\n                        pointer-events: none;\n                    }\n                    `})]});}OptimizedSmoothScroll.displayName=\"Smooth Scroll\";addPropertyControls(OptimizedSmoothScroll,{intensity:{title:\"Intensity\",type:ControlType.Number,defaultValue:10,min:1,max:20,step:1},enabled:{title:\"Enabled\",type:ControlType.Boolean,defaultValue:true},disableOnTouch:{title:\"Disable on touch devices\",type:ControlType.Boolean,defaultValue:true,description:\"Smooth Scroll v4 automatically disables smooth scrolling on phones and tablets and is now enhanced to disable automatically when overlays are open.\\n\\nBy [Andr\\xe9s Marciales](https://www.x.com/aamarciales)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OptimizedSmoothScroll\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Smooth_Scroll.map", "// Generated by Framer (47ebf4a)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Onest-500\",\"GF;Onest-700\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Onest\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/onest/v8/gNMZW3F-SZuj7zOT0IfSjTS16cPhxx-ZtxFMQWXgSQ.woff2\",weight:\"500\"},{family:\"Onest\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/onest/v8/gNMZW3F-SZuj7zOT0IfSjTS16cPhEhiZtxFMQWXgSQ.woff2\",weight:\"700\"}]}];export const css=['.framer-U7yeC .framer-styles-preset-dzur94:not(.rich-text-wrapper), .framer-U7yeC .framer-styles-preset-dzur94.rich-text-wrapper h2 { --framer-font-family: \"Onest\", \"Onest Placeholder\", sans-serif; --framer-font-family-bold: \"Onest\", \"Onest Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 72px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.07em; --framer-line-height: 1.1em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #00c3ff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1799px) and (min-width: 1440px) { .framer-U7yeC .framer-styles-preset-dzur94:not(.rich-text-wrapper), .framer-U7yeC .framer-styles-preset-dzur94.rich-text-wrapper h2 { --framer-font-family: \"Onest\", \"Onest Placeholder\", sans-serif; --framer-font-family-bold: \"Onest\", \"Onest Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 60px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.07em; --framer-line-height: 1.1em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #00c3ff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 1439px) and (min-width: 700px) { .framer-U7yeC .framer-styles-preset-dzur94:not(.rich-text-wrapper), .framer-U7yeC .framer-styles-preset-dzur94.rich-text-wrapper h2 { --framer-font-family: \"Onest\", \"Onest Placeholder\", sans-serif; --framer-font-family-bold: \"Onest\", \"Onest Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 52px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.07em; --framer-line-height: 1.1em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #00c3ff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 699px) and (min-width: 0px) { .framer-U7yeC .framer-styles-preset-dzur94:not(.rich-text-wrapper), .framer-U7yeC .framer-styles-preset-dzur94.rich-text-wrapper h2 { --framer-font-family: \"Onest\", \"Onest Placeholder\", sans-serif; --framer-font-family-bold: \"Onest\", \"Onest Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 44px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.07em; --framer-line-height: 1.1em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #00c3ff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-U7yeC\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["OptimizedSmoothScroll", "props", "intensity", "enabled", "disableOnTouch", "lenisRef", "pe", "isLenisLoaded", "setIsLenisLoaded", "ye", "rafRef", "isTouchDevice", "setIsTouchDevice", "isOverlayOpen", "setIsOverlayOpen", "isInitialLoadRef", "lastScrollPosition", "checkTouchDevice", "window", "navigator", "ue", "shouldActivate", "addInitialStyles", "styleEl", "existingStyle", "isMounted", "Lenis", "t", "raf", "time", "error", "saveScrollPosition", "interval", "checkOverlayState", "overlayElement", "hasChildren", "savedPosition", "observer", "htmlElement", "bodyObserver", "u", "l", "p", "addPropertyControls", "ControlType", "fontStore", "fonts", "css", "className"]
}
