{"version":3,"file":"Smooth_Scroll.DSMb5Ata.mjs","names":["useRef","useMemo"],"sources":["https:/framerusercontent.com/modules/FKfroOhinDDVdBjBwbOP/kSSByXwjdvWMDKuYvuEl/Smooth_Scroll.js"],"sourcesContent":["// User request: Rewrite this component to use Lenis-style smooth scrolling via dynamic ESM CDN import, keep SSR/static safety, remain inert in canvas with a selectable placeholder, keep published output zero-footprint, preserve anchor/hash behavior, clean up fully, and expose tuned property controls.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import{useEffect,useMemo,useRef}from\"react\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function SmoothScroll(props){const{enabled,duration,glide,wheelMultiplier,touch}=props;const rafIdRef=useRef(null);const isCanvas=useMemo(()=>RenderTarget.current()===RenderTarget.canvas,[]);const isStaticRenderer=useIsStaticRenderer();useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;if(isCanvas)return;if(isStaticRenderer)return;if(!enabled)return;const mediaQuery=window.matchMedia(\"(prefers-reduced-motion: reduce)\");let isDestroyed=false;let cleanupLenis=null;const stopRaf=()=>{if(rafIdRef.current!==null){window.cancelAnimationFrame(rafIdRef.current);rafIdRef.current=null;}};const startLenis=async()=>{if(mediaQuery.matches||isDestroyed)return;try{const importFromUrl=new Function(\"url\",\"return import(url)\");const lenisModule=await importFromUrl(\"https://esm.sh/lenis@1.1.14\");if(isDestroyed)return;const LenisCtor=lenisModule.default;if(!LenisCtor)return;const strength=Math.min(1,Math.max(0,glide/100));const lenis=new LenisCtor({autoRaf:false,duration,wheelMultiplier,smoothWheel:true,syncTouch:touch,easing:t=>{const expo=Math.min(1,1.001-Math.pow(2,-10*t));return t+(expo-t)*strength;}});const onAnchorClick=event=>{const target=event.target;if(!target)return;const anchor=target.closest(\"a[href]\");if(!anchor)return;const rawHref=anchor.getAttribute(\"href\");if(!rawHref||rawHref===\"#\"||!rawHref.includes(\"#\"))return;let url;try{url=new URL(rawHref,window.location.href);}catch(_error){return;}if(url.origin!==window.location.origin||url.pathname!==window.location.pathname||!url.hash){return;}event.preventDefault();lenis.scrollTo(url.hash,{duration});};const raf=time=>{lenis.raf(time);rafIdRef.current=window.requestAnimationFrame(raf);};document.addEventListener(\"click\",onAnchorClick,true);rafIdRef.current=window.requestAnimationFrame(raf);if(window.location.hash){window.requestAnimationFrame(()=>{lenis.scrollTo(window.location.hash,{duration});});}cleanupLenis=()=>{stopRaf();document.removeEventListener(\"click\",onAnchorClick,true);lenis.destroy();};}catch(_error){cleanupLenis=null;}};const stopLenis=()=>{if(cleanupLenis)cleanupLenis();cleanupLenis=null;};const onMotionPreferenceChange=()=>{if(mediaQuery.matches){stopLenis();return;}if(!cleanupLenis){void startLenis();}};void startLenis();if(typeof mediaQuery.addEventListener===\"function\"){mediaQuery.addEventListener(\"change\",onMotionPreferenceChange);}else if(typeof mediaQuery.addListener===\"function\"){mediaQuery.addListener(onMotionPreferenceChange);}return()=>{isDestroyed=true;stopLenis();if(typeof mediaQuery.removeEventListener===\"function\"){mediaQuery.removeEventListener(\"change\",onMotionPreferenceChange);}else if(typeof mediaQuery.removeListener===\"function\"){mediaQuery.removeListener(onMotionPreferenceChange);}};},[duration,enabled,glide,isCanvas,isStaticRenderer,touch,wheelMultiplier]);if(isCanvas){return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",width:120,height:28,borderRadius:999,background:\"rgba(0,0,0,0.06)\",color:\"#000000\",fontSize:11,lineHeight:1,letterSpacing:\"-0.01em\",userSelect:\"none\"},children:\"Smooth Scroll\"});}return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"relative\",width:0,height:0,overflow:\"hidden\",pointerEvents:\"none\"}});}addPropertyControls(SmoothScroll,{enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:1.2,min:.4,max:2.2,step:.1,unit:\"s\"},glide:{type:ControlType.Number,title:\"Glide\",defaultValue:100,min:0,max:100,step:1},wheelMultiplier:{type:ControlType.Number,title:\"Wheel Multiplier\",defaultValue:1,min:.2,max:3,step:.1},touch:{type:ControlType.Boolean,title:\"Touch\",defaultValue:false,enabledTitle:\"Sync\",disabledTitle:\"Native\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmoothScroll\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Smooth_Scroll.map"],"mappings":"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"}