{"version":3,"file":"SmoothScroll_Prod.CeSXN7Tk.mjs","names":["__esmMin","init_ssg_sandbox_shims","navigator","window","c","init_jsx_runtime","init_npm_react_18_3_1","ce","RenderTarget","init_framer_BWFVvmND","ControlType","addPropertyControls","isPhoneDevice","canScrollBy","limit","node","delta","findNestedScroller","path","style","measureHeader","width","height","band","rows","y","seen","bottom","x","hit","rect","centred","top","stick","parent","range","SmoothScroll","props","isCanvas","enabled","motionQuery","rootStyle","previousPadding","authoredPadding","current","target","reported","bias","pending","native","nativeTime","frame","previousTime","stopped","gesture","normalized","clamp","intensity","response","writeScroll","direction","learned","actual","attempt","syncToPage","pendingFrames","requestOwnedFrame","id","callback","time","scrollEndHeld","onScrollEnd","event","flushScrollEnd","stop","hasStopScroll","htmlOverflow","bodyOverflow","syncStoppedState","nextStopped","scheduleFrame","advanceFrame","elapsed","deltaTime","step","mix","cachedScale","wheelScale","root","viewport","ratio","cachedLimit","scrollLimit","jumpTo","nextTarget","animateTo","applyHeaderOffset","value","alignHashTarget","element","padding","margin","resolveScrollTarget","onWheel","continuing","multiplier","owner","owed","onScroll","moved","onClick","clickable","url","currentUrl","hash","onHashChange","onClickCapture","resizeTimer","onResize","alignFrame","attributeObserver","records","record","markerObserver","release","init_SmoothScroll_Prod","min","max"],"sources":["https:/framerusercontent.com/modules/Yppqt3Cs3Y8TZqvASnXl/dgbKeuvAKRCK85yXb7gp/SmoothScroll_Prod.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const clamp=(value,min,max)=>Math.max(min,Math.min(max,value));function isPhoneDevice(){return window.matchMedia(\"(max-width: 767px)\").matches||/iPhone|iPod|Android.+Mobile|Windows Phone|webOS|BlackBerry/i.test(navigator.userAgent);}function canScrollBy(node,delta){const limit=node.scrollHeight-node.clientHeight;return delta>0&&node.scrollTop<limit-1||delta<0&&node.scrollTop>1;}function findNestedScroller(path,delta){for(const node of path){if(!(node instanceof HTMLElement))continue;if(node===document.documentElement||node===document.body)break;if(node.scrollHeight-node.clientHeight<1)continue;const style=getComputedStyle(node);if(!/^(auto|scroll|overlay)$/.test(style.overflowY))continue;if(canScrollBy(node,delta))return node;if(/^(contain|none)$/.test(style.overscrollBehaviorY))return node;}return null;}function measureHeader(){const width=window.innerWidth;const height=window.innerHeight;const band=height*.1;const rows=[height*.12,height*.2,height*.3];for(let y=1;y<=band+12;y+=12)rows.push(y);const seen=new Set;let bottom=0;for(const y of rows){for(const x of[.25,.5,.75]){for(const hit of document.elementsFromPoint(width*x,y)){for(let node=hit;node;node=node.parentElement){if(node===document.body||seen.has(node))break;seen.add(node);const style=getComputedStyle(node);if(style.position!==\"fixed\"&&style.position!==\"sticky\")continue;if(style.visibility===\"hidden\"||style.opacity===\"0\")continue;const rect=node.getBoundingClientRect();if(rect.height<=0||rect.height>=height*.4)continue;const centred=rect.left<=width/2&&rect.right>=width/2&&rect.width>=120;if(rect.width<width*.4&&!centred)continue;let top=rect.top;if(style.position===\"sticky\"){const stick=Number.parseFloat(style.top);let parent=node.parentElement;while(parent&&getComputedStyle(parent).display===\"contents\"){parent=parent.parentElement;}if(Number.isNaN(stick)||!parent)continue;const range=parent.getBoundingClientRect();if(range.top+window.scrollY>height)continue;if(range.height-rect.height<height)continue;top=stick;}if(top>band||top+rect.height<=0)continue;bottom=Math.max(bottom,top+rect.height);}}}}return Math.round(bottom);}/**\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n */export default function SmoothScroll(props){const{enabled=true,intensity=50}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;React.useEffect(()=>{if(!enabled||isCanvas||typeof window===\"undefined\")return;window.__framerUniversitySmoothScroll?.release();if(isPhoneDevice())return;const motionQuery=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const rootStyle=document.documentElement.style;const previousPadding=rootStyle.scrollPaddingTop;const authoredPadding=!previousPadding&&(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)>0;let current=window.scrollY;let target=current;let reported=current;let bias=0;let pending=0;let native=false;let nativeTime=-Infinity;let frame=0;let previousTime=0;let stopped=false;let gesture=null;const normalized=clamp(intensity,0,100)/100;const response=normalized<=.5?.22-.12*(normalized/.5):.1-.07*((normalized-.5)/.5);const writeScroll=top=>{const direction=Math.sign(top-reported);if(!direction)return;const learned=bias;window.scrollTo({top:top+bias,behavior:\"instant\"});let actual=window.scrollY;for(let attempt=0;attempt<3&&(actual-reported)*direction<0;attempt++){bias=clamp(bias+direction,-3,3);window.scrollTo({top:top+bias,behavior:\"instant\"});actual=window.scrollY;}if((actual-reported)*direction<0)bias=learned;reported=actual;};const syncToPage=()=>{current=target=reported=window.scrollY;};const pendingFrames=new Set;const requestOwnedFrame=callback=>{const id=requestAnimationFrame(time=>{pendingFrames.delete(id);callback(time);});pendingFrames.add(id);return id;};let scrollEndHeld=false;const onScrollEnd=event=>{if(event.target!==document)return;if(frame&&event.isTrusted){event.stopImmediatePropagation();scrollEndHeld=true;return;}scrollEndHeld=false;};const flushScrollEnd=()=>{if(!scrollEndHeld)return;requestOwnedFrame(()=>{if(!scrollEndHeld||frame)return;scrollEndHeld=false;document.dispatchEvent(new Event(\"scrollend\",{bubbles:true}));});};const stop=()=>{if(frame)cancelAnimationFrame(frame);frame=0;previousTime=0;pending=0;native=false;syncToPage();flushScrollEnd();};const hasStopScroll=()=>{if(document.querySelector(\"style[data-frameruni-stop-scroll]\")){return true;}const htmlOverflow=getComputedStyle(document.documentElement).overflowY;const bodyOverflow=getComputedStyle(document.body).overflowY;return htmlOverflow===\"hidden\"||htmlOverflow===\"clip\"||bodyOverflow===\"hidden\"||bodyOverflow===\"clip\";};const syncStoppedState=()=>{const nextStopped=hasStopScroll();if(nextStopped&&!stopped)stop();if(!nextStopped&&stopped)syncToPage();stopped=nextStopped;};const scheduleFrame=()=>{frame=requestAnimationFrame(advanceFrame);};const advanceFrame=time=>{if(stopped||motionQuery.matches){stop();return;}const elapsed=previousTime?(time-previousTime)/1e3:1/60;const deltaTime=Number.isFinite(elapsed)?Math.max(0,elapsed):0;previousTime=Math.max(previousTime,time);if(step(deltaTime))scheduleFrame();else{frame=0;previousTime=0;flushScrollEnd();}};const step=deltaTime=>{const mix=1-Math.exp(-response*60*deltaTime);current+=(target-current)*mix;if(Math.abs(target-current)<.35)current=target;writeScroll(current);if(current!==target)return true;pending=target-reported;current=target=reported;return false;};let cachedScale=0;const wheelScale=()=>{if(!cachedScale){const root=document.documentElement;const viewport=window.visualViewport;const ratio=viewport?Math.min(viewport.width*viewport.scale/root.clientWidth,viewport.height*viewport.scale/root.clientHeight):1;cachedScale=Number.isFinite(ratio)&&ratio>0&&Math.abs(ratio-1)>.02?ratio:1;}return cachedScale;};let cachedLimit=-1;const scrollLimit=()=>{if(cachedLimit<0){cachedLimit=Math.max(0,document.documentElement.scrollHeight-window.innerHeight);}return cachedLimit;};const jumpTo=nextTarget=>{if(frame)cancelAnimationFrame(frame);frame=0;previousTime=0;pending=0;reported=window.scrollY;writeScroll(nextTarget);current=target=reported;flushScrollEnd();};const animateTo=nextTarget=>{if(motionQuery.matches){jumpTo(nextTarget);return;}pending=0;native=false;current=reported=window.scrollY;target=nextTarget;previousTime=0;if(current===target)return;if(!frame)scheduleFrame();};const applyHeaderOffset=()=>{if(previousPadding||authoredPadding)return;const value=measureHeader();rootStyle.scrollPaddingTop=value?`${value}px`:previousPadding;};const alignHashTarget=()=>{if(stopped||!window.location.hash)return;let id=window.location.hash.slice(1);try{id=decodeURIComponent(id);}catch{return;}const element=document.getElementById(id);if(!element)return;applyHeaderOffset();const padding=Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0;const margin=Number.parseFloat(getComputedStyle(element).scrollMarginTop)||0;if(padding<1)return;if(Math.abs(element.getBoundingClientRect().top-margin)>2)return;jumpTo(resolveScrollTarget(element));};const resolveScrollTarget=value=>{const limit=Math.max(0,document.documentElement.scrollHeight-window.innerHeight);if(typeof value===\"number\")return clamp(value,0,limit);const element=value instanceof HTMLElement?value:value===\"#\"||value===\"#top\"?null:document.getElementById(value.replace(/^#/,\"\"));if(!element)return 0;const style=getComputedStyle(element);const rootStyle=getComputedStyle(document.documentElement);const margin=Number.parseFloat(style.scrollMarginTop)||0;const padding=Number.parseFloat(rootStyle.scrollPaddingTop)||0;return clamp(element.getBoundingClientRect().top+window.scrollY-margin-padding,0,limit);};const onWheel=event=>{if(stopped||motionQuery.matches||event.ctrlKey)return;const path=event.composedPath();const continuing=gesture&&event.timeStamp-gesture.time<150&&(!gesture.node||path.includes(gesture.node));if(!continuing)cachedScale=0;const multiplier=event.deltaMode===WheelEvent.DOM_DELTA_LINE?16*wheelScale():event.deltaMode===WheelEvent.DOM_DELTA_PAGE?window.innerHeight:wheelScale();const delta=event.deltaY*multiplier;if(!delta)return;const owner=continuing?gesture.node:findNestedScroller(path,delta);gesture={node:owner,time:event.timeStamp};if(owner){if(event.cancelable&&!canScrollBy(owner,delta))event.preventDefault();return;}if(!event.cancelable){if(frame){cancelAnimationFrame(frame);frame=0;previousTime=0;pending+=target-current;}native=true;nativeTime=event.timeStamp;flushScrollEnd();return;}event.preventDefault();if(native){native=false;syncToPage();}const owed=continuing&&Math.sign(pending)===Math.sign(delta)?pending:0;pending=0;if(!continuing||target+owed+delta>scrollLimit())cachedLimit=-1;const nextTarget=clamp(target+owed+delta,0,scrollLimit());if(nextTarget===target)return;target=nextTarget;if(frame)return;current=reported=window.scrollY;scheduleFrame();previousTime=performance.now();if(!step(1/60)){cancelAnimationFrame(frame);frame=0;previousTime=0;flushScrollEnd();}};const onScroll=()=>{const actual=window.scrollY;const moved=actual-reported;if(frame&&Math.abs(moved)<1)return;if(frame&&performance.now()-nativeTime<250&&Math.sign(moved)===Math.sign(target-current)){current+=moved;target+=moved;reported=actual;return;}if(frame)cancelAnimationFrame(frame);frame=0;previousTime=0;if(!native&&Math.abs(moved)>=1)pending=0;current=target=reported=actual;flushScrollEnd();};const onClick=event=>{const clickable=event.composedPath().find(node=>node instanceof HTMLElement&&node.matches(\"a[href], button\"));if(!clickable)return;stop();if(!(clickable instanceof HTMLAnchorElement))return;if(event.defaultPrevented)return;if(event.button!==0)return;if(event.metaKey||event.ctrlKey||event.shiftKey||event.altKey)return;if(clickable.hasAttribute(\"download\"))return;if(clickable.target&&clickable.target!==\"\"&&clickable.target!==\"_self\"){return;}const url=new URL(clickable.href,window.location.href);const currentUrl=new URL(window.location.href);const isSamePage=url.origin===currentUrl.origin&&url.pathname===currentUrl.pathname&&url.search===currentUrl.search;if(!isSamePage||!url.hash)return;let hash=url.hash;try{hash=decodeURIComponent(url.hash);}catch{return;}const element=document.getElementById(hash.slice(1));if(!element&&hash!==\"#top\"&&hash!==\"#\")return;event.preventDefault();if(window.location.hash===url.hash){history.replaceState(history.state,\"\",url.hash);}else{history.pushState(history.state,\"\",url.hash);}animateTo(resolveScrollTarget(element??hash));};const onHashChange=()=>requestOwnedFrame(alignHashTarget);const onClickCapture=event=>{const link=event.composedPath().find(node=>node instanceof HTMLAnchorElement&&node.hash);if(link)applyHeaderOffset();};let resizeTimer=0;const onResize=()=>{cachedLimit=-1;clearTimeout(resizeTimer);resizeTimer=window.setTimeout(applyHeaderOffset,100);};let alignFrame=requestAnimationFrame(()=>{alignFrame=requestAnimationFrame(alignHashTarget);});const attributeObserver=new MutationObserver(records=>{const relevant=records.some(record=>record.type===\"attributes\"&&(record.target===document.documentElement||record.target===document.body));if(relevant)syncStoppedState();});const markerObserver=new MutationObserver(records=>{const relevant=records.some(record=>[...record.addedNodes,...record.removedNodes].some(node=>node instanceof Element&&(node.matches(\"style[data-frameruni-stop-scroll]\")||Boolean(node.querySelector(\"style[data-frameruni-stop-scroll]\")))));if(relevant)syncStoppedState();});attributeObserver.observe(document.documentElement,{attributes:true,attributeFilter:[\"style\",\"class\"]});attributeObserver.observe(document.body,{attributes:true,attributeFilter:[\"style\",\"class\"]});markerObserver.observe(document.head,{subtree:true,childList:true});markerObserver.observe(document.body,{subtree:true,childList:true});const release=()=>{stop();cancelAnimationFrame(alignFrame);pendingFrames.forEach(cancelAnimationFrame);pendingFrames.clear();clearTimeout(resizeTimer);rootStyle.scrollPaddingTop=previousPadding;window.removeEventListener(\"hashchange\",onHashChange);window.removeEventListener(\"popstate\",onHashChange);window.removeEventListener(\"resize\",onResize);window.removeEventListener(\"load\",onResize);window.removeEventListener(\"click\",onClickCapture,true);attributeObserver.disconnect();markerObserver.disconnect();window.removeEventListener(\"wheel\",onWheel);window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"scrollend\",onScrollEnd,true);window.removeEventListener(\"touchstart\",stop);window.removeEventListener(\"click\",onClick);motionQuery.removeEventListener(\"change\",stop);if(window.__framerUniversitySmoothScroll?.release===release){delete window.__framerUniversitySmoothScroll;}};window.__framerUniversitySmoothScroll={release};window.addEventListener(\"wheel\",onWheel,{passive:false});window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"scrollend\",onScrollEnd,true);window.addEventListener(\"touchstart\",stop,{passive:true});window.addEventListener(\"click\",onClick);window.addEventListener(\"hashchange\",onHashChange);window.addEventListener(\"popstate\",onHashChange);window.addEventListener(\"resize\",onResize);window.addEventListener(\"load\",onResize);window.addEventListener(\"click\",onClickCapture,true);motionQuery.addEventListener(\"change\",stop);syncStoppedState();applyHeaderOffset();return release;},[enabled,intensity,isCanvas]);return /*#__PURE__*/_jsx(\"div\",{\"data-build\":\"smooth-scroll-prod-20261031-01\",\"aria-hidden\":\"true\",\"data-smooth-scroll-host\":\"\",style:{position:\"relative\",width:\"100%\",height:\"100%\",minWidth:isCanvas?24:0,minHeight:isCanvas?24:0,boxSizing:\"border-box\",border:\"none\",borderRadius:0,pointerEvents:\"none\"}});}addPropertyControls(SmoothScroll,{enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},intensity:{type:ControlType.Number,title:\"Intensity\",min:0,max:100,step:1,defaultValue:50,unit:\"%\",displayStepper:true,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});SmoothScroll.displayName=\"Smooth Scroll\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmoothScroll\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmoothScroll_Prod.map"],"mappings":"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"}