{"version":3,"file":"shared-lib.Bo4iKfCy.mjs","names":["clamp","t","t","n","useRef","p","t","i","e","s","p","o","n","r","l","h","a","c","u","useRef","fonts","css","className"],"sources":["https:/ga.jspm.io/npm:@motionone/utils@10.14.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/easing@10.14.0/dist/index.es.js","https:/framerusercontent.com/modules/cKGD16u2MGB7MfqfVXFp/wiztTCbXokZrMicHAmZc/Grain.js","https:/framerusercontent.com/modules/QAkzCyLGXze5WoqyvOtW/iLyzK205nNCuHNDP5Nsc/CursorDotTrail.js","https:/ga.jspm.io/npm:lenis@1.1.2/dist/lenis.mjs","https:/framerusercontent.com/modules/Yppqt3Cs3Y8TZqvASnXl/PGrowqBrgWCViHduGfsA/SmoothScroll_Prod.js","https:/framerusercontent.com/modules/dpEgbNyDYdZPJ9syKGPi/S1YNnhJ8CfjkUhNVHXVO/l3al6I9u3.js","https:/framerusercontent.com/modules/rAl8nwKUowjWYCgJHP7i/6Ru5rptil6EaIxardv1h/XmVY992pr.js","https:/framerusercontent.com/modules/eojRYEYpyNVIeURtdaU0/HjkpatqSdz4kvKqROQ4d/siteMetadata.js"],"sourcesContent":["function addUniqueItem(t,e){-1===t.indexOf(e)&&t.push(e)}function removeItem(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const clamp=(t,e,n)=>Math.min(Math.max(n,t),e);const t={duration:.3,delay:0,endDelay:0,repeat:0,easing:\"ease\"};const isNumber=t=>\"number\"===typeof t;const isEasingList=t=>Array.isArray(t)&&!isNumber(t[0]);const wrap=(t,e,n)=>{const o=e-t;return((n-t)%o+o)%o+t};function getEasingForSegment(t,e){return isEasingList(t)?t[wrap(0,t.length,e)]:t}const mix=(t,e,n)=>-n*t+n*e+t;const noop=()=>{};const noopReturn=t=>t;const progress=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function fillOffset(t,e){const n=t[t.length-1];for(let o=1;o<=e;o++){const s=progress(0,e,o);t.push(mix(n,1,s))}}function defaultOffset(t){const e=[0];fillOffset(e,t-1);return e}function interpolate(t,e=defaultOffset(t.length),n=noopReturn){const o=t.length;const s=o-e.length;s>0&&fillOffset(e,s);return s=>{let f=0;for(;f<o-2;f++)if(s<e[f+1])break;let r=clamp(0,1,progress(e[f],e[f+1],s));const c=getEasingForSegment(n,f);r=c(r);return mix(t[f],t[f+1],r)}}const isCubicBezier=t=>Array.isArray(t)&&isNumber(t[0]);const isEasingGenerator=t=>\"object\"===typeof t&&Boolean(t.createAnimation);const isFunction=t=>\"function\"===typeof t;const isString=t=>\"string\"===typeof t;const e={ms:t=>1e3*t,s:t=>t/1e3};\n/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/function velocityPerSecond(t,e){return e?t*(1e3/e):0}export{addUniqueItem,clamp,defaultOffset,t as defaults,fillOffset,getEasingForSegment,interpolate,isCubicBezier,isEasingGenerator,isEasingList,isFunction,isNumber,isString,mix,noop,noopReturn,progress,removeItem,e as time,velocityPerSecond,wrap};\n\n//# sourceMappingURL=index.es.js.map","import{noopReturn as t,clamp as n}from\"@motionone/utils\";const calcBezier=(t,n,e)=>(((1-3*e+3*n)*t+(3*e-6*n))*t+3*n)*t;const e=1e-7;const i=12;function binarySubdivide(t,n,o,r,c){let u;let a;let s=0;do{a=n+(o-n)/2;u=calcBezier(a,r,c)-t;u>0?o=a:n=a}while(Math.abs(u)>e&&++s<i);return a}function cubicBezier(n,e,i,o){if(n===e&&i===o)return t;const getTForX=t=>binarySubdivide(t,0,1,n,i);return t=>0===t||1===t?t:calcBezier(getTForX(t),e,o)}const steps=(t,e=\"end\")=>i=>{i=\"end\"===e?Math.min(i,.999):Math.max(i,.001);const o=i*t;const r=\"end\"===e?Math.floor(o):Math.ceil(o);return n(0,1,r/t)};export{cubicBezier,steps};\n\n//# sourceMappingURL=index.es.js.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";import{steps}from\"@motionone/easing\";/**\n * @framerIntrinsicWidth 100\n * @framerIntrinsicHeight 100\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export default function Grain(props){const{opacity,style}=props;const keyframesX=[\"0%\",\"-5%\",\"-15%\",\"7%\",\"-5%\",\"-15%\",\"15%\",\"0%\",\"3%\",\"-10%\",];const keyframesY=[\"0%\",\"-10%\",\"5%\",\"-25%\",\"25%\",\"10%\",\"0%\",\"15%\",\"35%\",\"10%\",];const isCanvas=RenderTarget.current()===RenderTarget.canvas;return /*#__PURE__*/ _jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\"},children:/*#__PURE__*/ _jsx(motion.div,{style:{...containerStyle,opacity:opacity,inset:isCanvas?0:\"-200%\",width:isCanvas?\"100%\":\"400%\",height:isCanvas?\"100%\":\"400%\",position:\"absolute\"},animate:!isCanvas&&{x:keyframesX,y:keyframesY},transition:{ease:steps(10,\"start\"),repeat:Infinity,duration:8}})});};Grain.defaultProps={opacity:.5};addPropertyControls(Grain,{opacity:{title:\"Opacity\",type:ControlType.Number,step:.1,displayStepper:true,max:1,min:0}});const containerStyle={backgroundSize:\"256px 256px\",backgroundRepeat:\"repeat\",background:\"url('https://framerusercontent.com/images/rR6HYXBrMmX4cRpXfXUOvpvpB0.png')\"};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Grain\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"100\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"100\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Grain.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function CursorDotTrail(props){const{color,colorInverted,size,hoverSize,borderWidth,spring,friction,trailDuration,transitionSpeed}=props;const isStatic=useIsStaticRenderer();const isBrowser=typeof window!==\"undefined\"&&typeof document!==\"undefined\";const canvasRef=useRef(null);const pointsRef=useRef([]);const ballRef=useRef({x:0,y:0});const targetRef=useRef({x:0,y:0});const velocityRef=useRef({x:0,y:0});const animRef=useRef();const lastTimeRef=useRef(0);const radiusRef=useRef(size/2);const fillOpacityRef=useRef(1);const strokeOpacityRef=useRef(0);const lineOpacityRef=useRef(0);const lineWidthRef=useRef(0);const lineTargetWidthRef=useRef(0);const lineProgressRef=useRef(0);const lineYRef=useRef(0);useEffect(()=>{if(!isBrowser||isStatic)return;const canvas=canvasRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\");if(!ctx)return;const resize=()=>{const dpr=Math.max(1,window.devicePixelRatio||1);const w=window.innerWidth;const h=window.innerHeight;canvas.style.width=`${w}px`;canvas.style.height=`${h}px`;canvas.width=Math.floor(w*dpr);canvas.height=Math.floor(h*dpr);ctx.setTransform(dpr,0,0,dpr,0,0);const centerX=w/2;const centerY=h/2;if(!ballRef.current.x&&!ballRef.current.y){ballRef.current={x:centerX,y:centerY};}if(!targetRef.current.x&&!targetRef.current.y){targetRef.current={x:centerX,y:centerY};}};resize();const onMouseMove=e=>{targetRef.current={x:e.clientX,y:e.clientY};};window.addEventListener(\"mousemove\",onMouseMove);window.addEventListener(\"resize\",resize);const lerp=(from,to,amt)=>from+(to-from)*amt;const animate=()=>{const now=performance.now();const dt=Math.min(now-lastTimeRef.current,33);lastTimeRef.current=now;ctx.clearRect(0,0,canvas.width,canvas.height);// physics\nconst dx=targetRef.current.x-ballRef.current.x;const dy=targetRef.current.y-ballRef.current.y;velocityRef.current.x+=dx*spring;velocityRef.current.y+=dy*spring;velocityRef.current.x*=friction;velocityRef.current.y*=friction;ballRef.current.x+=velocityRef.current.x;ballRef.current.y+=velocityRef.current.y;// trail\npointsRef.current.push({x:ballRef.current.x,y:ballRef.current.y,age:0});for(let i=0;i<pointsRef.current.length;i++)pointsRef.current[i].age+=dt;pointsRef.current=pointsRef.current.filter(p=>p.age<trailDuration);// element under cursor\nconst el=document.elementFromPoint(targetRef.current.x,targetRef.current.y);// hide-trail\nconst isHideTrail=!!el?.closest('[aria-label~=\"trail{hide}\"],[data-framer-name~=\"trail{hide}\"]');if(isHideTrail){ctx.clearRect(0,0,canvas.width,canvas.height);animRef.current=requestAnimationFrame(animate);return;}// invert color\nconst isInvertColor=!!el?.closest('[aria-label~=\"trail{invert-color}\"],[data-framer-name~=\"trail{invert-color}\"]');const currentColor=isInvertColor?colorInverted:color;if(pointsRef.current.length>1){ctx.beginPath();ctx.moveTo(pointsRef.current[0].x,pointsRef.current[0].y);for(let i=1;i<pointsRef.current.length;i++){const p=pointsRef.current[i];ctx.lineTo(p.x,p.y);}const oldest=pointsRef.current[0];const newest=pointsRef.current[pointsRef.current.length-1];const oldestOpacity=1-oldest.age/trailDuration;const gradient=ctx.createLinearGradient(oldest.x,oldest.y,newest.x,newest.y);gradient.addColorStop(0,hexToRgba(currentColor,Math.max(0,oldestOpacity*.3)));gradient.addColorStop(1,hexToRgba(currentColor,1));ctx.strokeStyle=gradient;ctx.lineWidth=Math.max(2,size/4);ctx.lineCap=\"round\";ctx.lineJoin=\"round\";ctx.stroke();}// interaction\nconst isRing=!!el?.closest(\"a,button,[role~='button']\");const hideDot=!!el?.closest('[aria-label~=\"button\"]');const linkEl=el?.closest('[aria-label~=\"trail{link}\"],[data-framer-name~=\"trail{link}\"]');const workCardEl=el?.closest('[aria-label~=\"work-card\"]');const isLink=!!linkEl;const isWorkCard=!!workCardEl;// link underline\nif(isLink&&linkEl){const rect=linkEl.getBoundingClientRect();ballRef.current.x=rect.left+rect.width/2;ballRef.current.y=rect.bottom;lineTargetWidthRef.current=rect.width;lineYRef.current=rect.bottom;}else{lineTargetWidthRef.current=0;}// radius / opacities\nconst targetRadius=isWorkCard||!isRing&&!isLink?size/2:hoverSize/2;radiusRef.current=lerp(radiusRef.current,targetRadius,transitionSpeed);fillOpacityRef.current=lerp(fillOpacityRef.current,isWorkCard?1:isRing||isLink?0:1,transitionSpeed);strokeOpacityRef.current=lerp(strokeOpacityRef.current,isWorkCard?0:isRing?1:0,transitionSpeed);lineOpacityRef.current=lerp(lineOpacityRef.current,isWorkCard?0:isLink?1:0,transitionSpeed);// underline animation\nconst targetProgress=isLink?1:0;lineProgressRef.current=lerp(lineProgressRef.current,targetProgress,.15);lineWidthRef.current=lerp(lineWidthRef.current,lineTargetWidthRef.current*lineProgressRef.current,transitionSpeed);if(!hideDot){if(isLink&&lineOpacityRef.current>.01&&linkEl){const linkRect=linkEl.getBoundingClientRect();const y=linkRect.bottom+1;const currentWidth=lineWidthRef.current;const startX=linkRect.left+(linkRect.width-currentWidth)/2;ctx.beginPath();ctx.moveTo(startX,y);ctx.lineTo(startX+currentWidth,y);ctx.strokeStyle=hexToRgba(currentColor,lineOpacityRef.current);ctx.lineWidth=Math.max(1,borderWidth-1);ctx.stroke();}else{ctx.beginPath();ctx.arc(ballRef.current.x,ballRef.current.y,radiusRef.current,0,Math.PI*2);if(strokeOpacityRef.current>.01){ctx.strokeStyle=hexToRgba(currentColor,strokeOpacityRef.current);ctx.lineWidth=borderWidth;ctx.stroke();}if(fillOpacityRef.current>.01){ctx.fillStyle=hexToRgba(currentColor,fillOpacityRef.current);ctx.fill();}}}animRef.current=requestAnimationFrame(animate);};lastTimeRef.current=performance.now();animRef.current=requestAnimationFrame(animate);return()=>{window.removeEventListener(\"mousemove\",onMouseMove);window.removeEventListener(\"resize\",resize);if(animRef.current)cancelAnimationFrame(animRef.current);};},[isStatic,color,colorInverted,size,hoverSize,borderWidth,spring,friction,trailDuration,transitionSpeed]);if(!isBrowser||isStatic){return null;}return /*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{position:\"fixed\",inset:0,width:\"100vw\",height:\"100vh\",display:\"block\",pointerEvents:\"none\",zIndex:9999}}),document.body);}function hexToRgba(color,alpha){if(!color)return`rgba(0,0,0,${alpha})`;if(color.startsWith(\"rgba\")){return color.replace(/rgba\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*[^)]+\\)/,(_,r,g,b)=>`rgba(${r},${g},${b},${alpha})`);}if(color.startsWith(\"rgb(\")){const body=color.slice(4,-1);return`rgba(${body},${alpha})`;}if(color.startsWith(\"#\")){let r=0,g=0,b=0;if(color.length===4){r=parseInt(color[1]+color[1],16);g=parseInt(color[2]+color[2],16);b=parseInt(color[3]+color[3],16);}else if(color.length===7){r=parseInt(color.slice(1,3),16);g=parseInt(color.slice(3,5),16);b=parseInt(color.slice(5,7),16);}return`rgba(${r},${g},${b},${alpha})`;}return`rgba(0,0,0,${alpha})`;}CursorDotTrail.displayName=\"Cursor Dot Trail\";addPropertyControls(CursorDotTrail,{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#080808\"},colorInverted:{type:ControlType.Color,title:\"Inverted Color\",defaultValue:\"#FFFFFF\"},size:{type:ControlType.Number,title:\"Dot Size\",defaultValue:12,min:6,max:80},hoverSize:{type:ControlType.Number,title:\"Hover Size\",defaultValue:40,min:6,max:200},borderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:2,min:1,max:10},spring:{type:ControlType.Number,title:\"Follow Spring\",defaultValue:.15,min:.01,max:.5,step:.01},friction:{type:ControlType.Number,title:\"Follow Friction\",defaultValue:.5,min:.1,max:.95,step:.05},trailDuration:{type:ControlType.Number,title:\"Trail Duration\",defaultValue:200,min:200,max:3e3,step:100},transitionSpeed:{type:ControlType.Number,title:\"Transition Speed\",defaultValue:.15,min:.01,max:1,step:.01,description:\"✦ Rename layers to enable extras: trail{hide} to disable, trail{invert-color} to swap colors, trail{link} for link interaction. eg: Button | trail{hide}\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CursorDotTrail\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CursorDotTrail.map","function clamp(t,e,i){return Math.max(t,Math.min(e,i))}class Animate{advance(t){if(!this.isRunning)return;let e=!1;if(this.lerp)this.value=function damp(t,e,i,s){return function lerp(t,e,i){return(1-i)*t+i*e}(t,e,1-Math.exp(-i*s))}(this.value,this.to,60*this.lerp,t),Math.round(this.value)===this.to&&(this.value=this.to,e=!0);else{this.currentTime+=t;const i=clamp(0,this.currentTime/this.duration,1);e=i>=1;const s=e?1:this.easing(i);this.value=this.from+(this.to-this.from)*s}e&&this.stop(),this.onUpdate?.(this.value,e)}stop(){this.isRunning=!1}fromTo(t,e,{lerp:i=.1,duration:s=1,easing:o=(t=>t),onStart:n,onUpdate:r}){this.from=this.value=t,this.to=e,this.lerp=i,this.duration=s,this.easing=o,this.currentTime=0,this.isRunning=!0,n?.(),this.onUpdate=r}}class Dimensions{constructor({wrapper:t,content:e,autoResize:i=!0,debounce:s=250}={}){this.wrapper=t,this.content=e,i&&(this.debouncedResize=function debounce(t,e){let i;return function(){let s=arguments,o=this;clearTimeout(i),i=setTimeout((function(){t.apply(o,s)}),e)}}(this.resize,s),this.wrapper===window?window.addEventListener(\"resize\",this.debouncedResize,!1):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}destroy(){this.wrapperResizeObserver?.disconnect(),this.contentResizeObserver?.disconnect(),window.removeEventListener(\"resize\",this.debouncedResize,!1)}resize=()=>{this.onWrapperResize(),this.onContentResize()};onWrapperResize=()=>{this.wrapper===window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)};onContentResize=()=>{this.wrapper===window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)};get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}}class Emitter{constructor(){this.events={}}emit(t,...e){let i=this.events[t]||[];for(let t=0,s=i.length;t<s;t++)i[t](...e)}on(t,e){return this.events[t]?.push(e)||(this.events[t]=[e]),()=>{this.events[t]=this.events[t]?.filter((t=>e!==t))}}off(t,e){this.events[t]=this.events[t]?.filter((t=>e!==t))}destroy(){this.events={}}}const t=100/6;class VirtualScroll{constructor(t,{wheelMultiplier:e=1,touchMultiplier:i=1}){this.element=t,this.wheelMultiplier=e,this.touchMultiplier=i,this.touchStart={x:null,y:null},this.emitter=new Emitter,window.addEventListener(\"resize\",this.onWindowResize,!1),this.onWindowResize(),this.element.addEventListener(\"wheel\",this.onWheel,{passive:!1}),this.element.addEventListener(\"touchstart\",this.onTouchStart,{passive:!1}),this.element.addEventListener(\"touchmove\",this.onTouchMove,{passive:!1}),this.element.addEventListener(\"touchend\",this.onTouchEnd,{passive:!1})}on(t,e){return this.emitter.on(t,e)}destroy(){this.emitter.destroy(),window.removeEventListener(\"resize\",this.onWindowResize,!1),this.element.removeEventListener(\"wheel\",this.onWheel,{passive:!1}),this.element.removeEventListener(\"touchstart\",this.onTouchStart,{passive:!1}),this.element.removeEventListener(\"touchmove\",this.onTouchMove,{passive:!1}),this.element.removeEventListener(\"touchend\",this.onTouchEnd,{passive:!1})}onTouchStart=t=>{const{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:0,y:0},this.emitter.emit(\"scroll\",{deltaX:0,deltaY:0,event:t})};onTouchMove=t=>{const{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t,s=-(e-this.touchStart.x)*this.touchMultiplier,o=-(i-this.touchStart.y)*this.touchMultiplier;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:s,y:o},this.emitter.emit(\"scroll\",{deltaX:s,deltaY:o,event:t})};onTouchEnd=t=>{this.emitter.emit(\"scroll\",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:t})};onWheel=e=>{let{deltaX:i,deltaY:s,deltaMode:o}=e;i*=1===o?t:2===o?this.windowWidth:1,s*=1===o?t:2===o?this.windowHeight:1,i*=this.wheelMultiplier,s*=this.wheelMultiplier,this.emitter.emit(\"scroll\",{deltaX:i,deltaY:s,event:e})};onWindowResize=()=>{this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight}}class Lenis{constructor({wrapper:t=window,content:e=document.documentElement,wheelEventsTarget:i=t,eventsTarget:s=i,smoothWheel:o=!0,syncTouch:n=!1,syncTouchLerp:r=.075,touchInertiaMultiplier:l=35,duration:h,easing:a=(t=>Math.min(1,1.001-Math.pow(2,-10*t))),lerp:c=!h&&.1,infinite:u=!1,orientation:d=\"vertical\",gestureOrientation:p=\"vertical\",touchMultiplier:m=1,wheelMultiplier:v=1,autoResize:g=!0,prevent:w=!1,__experimental__naiveDimensions:S=!1}={}){this.__isScrolling=!1,this.__isStopped=!1,this.__isLocked=!1,this.onVirtualScroll=({deltaX:t,deltaY:e,event:i})=>{if(i.ctrlKey)return;const s=i.type.includes(\"touch\"),o=i.type.includes(\"wheel\");this.isTouching=\"touchstart\"===i.type||\"touchmove\"===i.type;if(this.options.syncTouch&&s&&\"touchstart\"===i.type&&!this.isStopped&&!this.isLocked)return void this.reset();const n=0===t&&0===e,r=\"vertical\"===this.options.gestureOrientation&&0===e||\"horizontal\"===this.options.gestureOrientation&&0===t;if(n||r)return;let l=i.composedPath();l=l.slice(0,l.indexOf(this.rootElement));const h=this.options.prevent;if(l.find((t=>{var e,i,n,r,l;return(\"function\"==typeof h?null==h?void 0:h(t):h)||(null===(e=t.hasAttribute)||void 0===e?void 0:e.call(t,\"data-lenis-prevent\"))||s&&(null===(i=t.hasAttribute)||void 0===i?void 0:i.call(t,\"data-lenis-prevent-touch\"))||o&&(null===(n=t.hasAttribute)||void 0===n?void 0:n.call(t,\"data-lenis-prevent-wheel\"))||(null===(r=t.classList)||void 0===r?void 0:r.contains(\"lenis\"))&&!(null===(l=t.classList)||void 0===l?void 0:l.contains(\"lenis-stopped\"))})))return;if(this.isStopped||this.isLocked)return void i.preventDefault();if(!(this.options.syncTouch&&s||this.options.smoothWheel&&o))return this.isScrolling=\"native\",void this.animate.stop();i.preventDefault();let a=e;\"both\"===this.options.gestureOrientation?a=Math.abs(e)>Math.abs(t)?e:t:\"horizontal\"===this.options.gestureOrientation&&(a=t);const c=s&&this.options.syncTouch,u=s&&\"touchend\"===i.type&&Math.abs(a)>5;u&&(a=this.velocity*this.options.touchInertiaMultiplier),this.scrollTo(this.targetScroll+a,Object.assign({programmatic:!1},c?{lerp:u?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}))},this.onNativeScroll=()=>{if(clearTimeout(this.__resetVelocityTimeout),delete this.__resetVelocityTimeout,this.__preventNextNativeScrollEvent)delete this.__preventNextNativeScrollEvent;else if(!1===this.isScrolling||\"native\"===this.isScrolling){const t=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity,this.velocity=this.animatedScroll-t,this.direction=Math.sign(this.animatedScroll-t),this.isScrolling=\"native\",this.emit(),0!==this.velocity&&(this.__resetVelocityTimeout=setTimeout((()=>{this.lastVelocity=this.velocity,this.velocity=0,this.isScrolling=!1,this.emit()}),400))}},window.lenisVersion=\"1.1.2\",t!==document.documentElement&&t!==document.body||(t=window),this.options={wrapper:t,content:e,wheelEventsTarget:i,eventsTarget:s,smoothWheel:o,syncTouch:n,syncTouchLerp:r,touchInertiaMultiplier:l,duration:h,easing:a,lerp:c,infinite:u,gestureOrientation:p,orientation:d,touchMultiplier:m,wheelMultiplier:v,autoResize:g,prevent:w,__experimental__naiveDimensions:S},this.animate=new Animate,this.emitter=new Emitter,this.dimensions=new Dimensions({wrapper:t,content:e,autoResize:g}),this.updateClassName(),this.userData={},this.time=0,this.velocity=this.lastVelocity=0,this.isLocked=!1,this.isStopped=!1,this.isScrolling=!1,this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener(\"scroll\",this.onNativeScroll,!1),this.virtualScroll=new VirtualScroll(s,{touchMultiplier:m,wheelMultiplier:v}),this.virtualScroll.on(\"scroll\",this.onVirtualScroll)}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener(\"scroll\",this.onNativeScroll,!1),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName()}on(t,e){return this.emitter.on(t,e)}off(t,e){return this.emitter.off(t,e)}setScroll(t){this.isHorizontal?this.rootElement.scrollLeft=t:this.rootElement.scrollTop=t}resize(){this.dimensions.resize()}emit({userData:t={}}={}){this.userData=t,this.emitter.emit(\"scroll\",this),this.userData={}}reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity=0,this.animate.stop()}start(){this.isStopped&&(this.isStopped=!1,this.reset())}stop(){this.isStopped||(this.isStopped=!0,this.animate.stop(),this.reset())}raf(t){const e=t-(this.time||t);this.time=t,this.animate.advance(.001*e)}scrollTo(t,{offset:e=0,immediate:i=!1,lock:s=!1,duration:o=this.options.duration,easing:n=this.options.easing,lerp:r=!o&&this.options.lerp,onStart:l,onComplete:h,force:a=!1,programmatic:c=!0,userData:u={}}={}){if(!this.isStopped&&!this.isLocked||a){if([\"top\",\"left\",\"start\"].includes(t))t=0;else if([\"bottom\",\"right\",\"end\"].includes(t))t=this.limit;else{let i;if(\"string\"==typeof t?i=document.querySelector(t):(null==t?void 0:t.nodeType)&&(i=t),i){if(this.options.wrapper!==window){const t=this.options.wrapper.getBoundingClientRect();e-=this.isHorizontal?t.left:t.top}const s=i.getBoundingClientRect();t=(this.isHorizontal?s.left:s.top)+this.animatedScroll}}if(\"number\"==typeof t){if(t+=e,t=Math.round(t),this.options.infinite?c&&(this.targetScroll=this.animatedScroll=this.scroll):t=clamp(0,t,this.limit),i)return this.animatedScroll=this.targetScroll=t,this.setScroll(this.scroll),this.reset(),void(null==h||h(this));t!==this.targetScroll&&(c||(this.targetScroll=t),this.animate.fromTo(this.animatedScroll,t,{duration:o,easing:n,lerp:r,onStart:()=>{s&&(this.isLocked=!0),this.isScrolling=\"smooth\",null==l||l(this)},onUpdate:(t,e)=>{this.isScrolling=\"smooth\",this.lastVelocity=this.velocity,this.velocity=t-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=t,this.setScroll(this.scroll),c&&(this.targetScroll=t),e||this.emit({userData:u}),e&&(this.reset(),this.emit({userData:u}),null==h||h(this),this.__preventNextNativeScrollEvent=!0)}}))}}}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.__experimental__naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?\"x\":\"y\"]}get isHorizontal(){return\"horizontal\"===this.options.orientation}get actualScroll(){return this.isHorizontal?this.rootElement.scrollLeft:this.rootElement.scrollTop}get scroll(){return this.options.infinite?function modulo(t,e){return(t%e+e)%e}(this.animatedScroll,this.limit):this.animatedScroll}get progress(){return 0===this.limit?1:this.scroll/this.limit}get isScrolling(){return this.__isScrolling}set isScrolling(t){this.__isScrolling!==t&&(this.__isScrolling=t,this.updateClassName())}get isStopped(){return this.__isStopped}set isStopped(t){this.__isStopped!==t&&(this.__isStopped=t,this.updateClassName())}get isLocked(){return this.__isLocked}set isLocked(t){this.__isLocked!==t&&(this.__isLocked=t,this.updateClassName())}get isSmooth(){return\"smooth\"===this.isScrolling}get className(){let t=\"lenis\";return this.isStopped&&(t+=\" lenis-stopped\"),this.isLocked&&(t+=\" lenis-locked\"),this.isScrolling&&(t+=\" lenis-scrolling\"),\"smooth\"===this.isScrolling&&(t+=\" lenis-smooth\"),t}updateClassName(){this.cleanUpClassName(),this.rootElement.className=`${this.rootElement.className} ${this.className}`.trim()}cleanUpClassName(){this.rootElement.className=this.rootElement.className.replace(/lenis(-\\w+)?/g,\"\").trim()}}export{Lenis as default};\n//# sourceMappingURL=lenis.mjs.map\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,withCSS}from\"framer\";import Lenis from\"lenis\";import{useEffect,useRef}from\"react\";function SmoothScrollComponent(props){const{intensity}=props;const lenis=useRef(null);useEffect(()=>{if(lenis.current){try{lenis.current.scrollTo(0,{immediate:true});}catch(error){console.error(\"Error scrolling to top:\",error);}}},[lenis]);// Watch for stop scroll elements\nuseEffect(()=>{const checkForStopScroll=()=>{try{const stopScrollElement=document.querySelector(\"[data-frameruni-stop-scroll]\");const htmlElement=document.documentElement;const hasHiddenOverflow=htmlElement&&htmlElement.style&&htmlElement.style.overflow===\"hidden\";if(lenis.current){if(stopScrollElement||hasHiddenOverflow){lenis.current.stop();}else{lenis.current.start();}}}catch(error){console.error(\"Error in checkForStopScroll:\",error);}};// Initial check\ncheckForStopScroll();// Set up observers\nlet stopScrollObserver;let htmlStyleObserver;try{stopScrollObserver=new MutationObserver(checkForStopScroll);htmlStyleObserver=new MutationObserver(checkForStopScroll);// Observe document for data-frameruni-stop-scroll attribute\nif(document&&document.documentElement){stopScrollObserver.observe(document.documentElement,{childList:true,subtree:true,attributes:true,attributeFilter:[\"data-frameruni-stop-scroll\"]});// Observe only the HTML element for style changes\nhtmlStyleObserver.observe(document.documentElement,{attributes:true,attributeFilter:[\"style\"]});}}catch(error){console.error(\"Error setting up observers:\",error);}return()=>{try{if(stopScrollObserver)stopScrollObserver.disconnect();if(htmlStyleObserver)htmlStyleObserver.disconnect();}catch(error){console.error(\"Error disconnecting observers:\",error);}};},[]);useEffect(()=>{try{if(!document)return;const allElements=document.getElementsByTagName(\"*\");for(let i=0;i<allElements.length;i++){const element=allElements[i];if(!element)continue;try{const computedStyle=window.getComputedStyle(element);if(computedStyle&&computedStyle.getPropertyValue(\"overflow\")===\"auto\"){element.setAttribute(\"data-lenis-prevent\",\"true\");}}catch(styleError){console.error(\"Error getting computed style:\",styleError);}}}catch(error){console.error(\"Error in overflow detection:\",error);}},[]);useEffect(()=>{try{if(typeof Lenis!==\"function\"){console.error(\"Lenis is not available\");return;}lenis.current=new Lenis({duration:(intensity||10)/10});const raf=time=>{if(lenis.current){try{lenis.current.raf(time);requestAnimationFrame(raf);}catch(error){console.error(\"Error in animation frame:\",error);}}};const animationId=requestAnimationFrame(raf);return()=>{cancelAnimationFrame(animationId);if(lenis.current){try{lenis.current.destroy();lenis.current=null;}catch(error){console.error(\"Error destroying Lenis:\",error);}}};}catch(error){console.error(\"Error initializing Lenis:\",error);return()=>{};}},[intensity]);//https://github.com/darkroomengineering/lenis?tab=readme-ov-file#anchor-links\nuseEffect(()=>{try{if(!document||!lenis.current)return;// Get all anchor links and store click handlers with their targets\nconst anchorLinksData=Array.from(document.querySelectorAll(\"a[href]\")||[]).filter(element=>{if(!element)return false;const anchor=element;if(!anchor.href)return false;// Only handle internal anchor links\nconst isInternalLink=anchor.href.startsWith(window.location.origin)||anchor.href.startsWith(\"./\")||anchor.href.startsWith(\"/\");const hasHash=anchor.href.includes(\"#\");return isInternalLink&&hasHash;}).map(anchor=>{try{const anchorElement=anchor;const href=anchorElement.href.includes(\"#\")?`#${anchorElement.href.split(\"#\").pop()}`:\"\";const decodedHref=href?decodeURIComponent(href):\"\";let scrollMargin=0;try{if(decodedHref){const targetElement=document.querySelector(decodedHref);if(targetElement){const marginStyle=window.getComputedStyle(targetElement).scrollMarginTop;scrollMargin=marginStyle?parseInt(marginStyle)||0:0;}}}catch(targetError){console.error(\"Error finding target element:\",targetError);}return{href,scrollMargin,anchorElement:anchorElement};}catch(anchorError){console.error(\"Error processing anchor:\",anchorError);return null;}}).filter(Boolean);const handleClick=(e,href,scrollMargin)=>{try{if(e&&e.preventDefault)e.preventDefault();if(lenis.current&&href){lenis.current.scrollTo(href,{offset:-(scrollMargin||0)});}}catch(error){console.error(\"Error in anchor click handler:\",error);}};const handlers=anchorLinksData.map(({href,scrollMargin})=>e=>handleClick(e,href,scrollMargin));anchorLinksData.forEach(({anchorElement},index)=>{if(anchorElement&&handlers[index]){anchorElement.addEventListener(\"click\",handlers[index]);}});return()=>{anchorLinksData.forEach(({anchorElement},index)=>{if(anchorElement&&handlers[index]){anchorElement.removeEventListener(\"click\",handlers[index]);}});};}catch(error){console.error(\"Error setting up anchor links:\",error);return()=>{};}},[lenis]);return /*#__PURE__*/_jsx(\"div\",{style:props.style});}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */const SmoothScroll=withCSS(SmoothScrollComponent,[\"html.lenis { height: auto; }\",\".lenis.lenis-smooth { scroll-behavior: auto !important; }\",\".lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }\",\".lenis.lenis-stopped { overflow: hidden; }\",\".lenis.lenis-scrolling iframe { pointer-events: none; }\"],\"\");export default SmoothScroll;SmoothScroll.displayName=\"Smooth Scroll\";addPropertyControls(SmoothScroll,{intensity:{title:\"Intensity\",type:ControlType.Number,defaultValue:10,min:0,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmoothScroll\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmoothScroll_Prod.map","// Generated by Framer (bc931d3)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"BI;Lanze/variable/v0\"]);const variationAxes=[{defaultValue:0,maxValue:1e3,minValue:0,name:\"weight\",tag:\"wght\"},{defaultValue:0,maxValue:1e3,minValue:0,name:\"contrast\",tag:\"opsz\"}];export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Lanze Variable\",source:\"builtIn\",style:\"normal\",uiFamilyName:\"Lanze\",url:\"https://framerusercontent.com/assets/GWsDALHwQAjW6YNZZMPzHt8ZgOw.woff2\",variationAxes,weight:\"1000\"}]}];export const css=['.framer-rFLv4 .framer-styles-preset-jkuedy:not(.rich-text-wrapper), .framer-rFLv4 .framer-styles-preset-jkuedy.rich-text-wrapper h1 { --framer-font-family: \"Lanze Variable\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 120px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 1000; --framer-letter-spacing: -0.04em; --framer-line-height: 1.1em; --framer-paragraph-spacing: 0px; --framer-text-alignment: center; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; --framer-text-wrap: balance; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-rFLv4 .framer-styles-preset-jkuedy:not(.rich-text-wrapper), .framer-rFLv4 .framer-styles-preset-jkuedy.rich-text-wrapper h1 { --framer-font-family: \"Lanze Variable\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 90px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 1000; --framer-letter-spacing: -0.02em; --framer-line-height: 1.1em; --framer-paragraph-spacing: 0px; --framer-text-alignment: center; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; --framer-text-wrap: balance; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-rFLv4 .framer-styles-preset-jkuedy:not(.rich-text-wrapper), .framer-rFLv4 .framer-styles-preset-jkuedy.rich-text-wrapper h1 { --framer-font-family: \"Lanze Variable\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 60px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 1000; --framer-letter-spacing: -0.04em; --framer-line-height: 1.1em; --framer-paragraph-spacing: 0px; --framer-text-alignment: center; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; --framer-text-wrap: balance; } }'];export const className=\"framer-rFLv4\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (bbed9c4)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Google Sans Flex-regular\",\"GF;Google Sans Flex-700\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Google Sans Flex\",source:\"google\",style:\"normal\",uiFamilyName:\"Google Sans Flex\",url:\"https://fonts.gstatic.com/s/googlesansflex/v16/t5sJIQcYNIWbFgDgAAzZ34auoVyXkJCOvp3SFWJbN5hF8Ju1x6sKCyp0l9sI40swNJwInycYAJzz0m7kJ4qFQOJBOjLvDSndo0SKMpKSTzwliVdHAy4bxTDHg_ugnAakp8ubyc5qU4LBMUM.woff2\",weight:\"400\"},{cssFamilyName:\"Google Sans Flex\",source:\"google\",style:\"normal\",uiFamilyName:\"Google Sans Flex\",url:\"https://fonts.gstatic.com/s/googlesansflex/v16/t5sJIQcYNIWbFgDgAAzZ34auoVyXkJCOvp3SFWJbN5hF8Ju1x6sKCyp0l9sI40swNJwInycYAJzz0m7kJ4qFQOJBOjLvDSndo0SKMpKSTzwliVdHAy4bxTDHg_ugnAakpyycyc5qU4LBMUM.woff2\",weight:\"700\"}]}];export const css=['.framer-oaRMI .framer-styles-preset-th5o24:not(.rich-text-wrapper), .framer-oaRMI .framer-styles-preset-th5o24.rich-text-wrapper p { --framer-font-family: \"Google Sans Flex\", \"Google Sans Flex Placeholder\", sans-serif; --framer-font-family-bold: \"Google Sans Flex\", \"Google Sans Flex Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.01em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; --framer-text-wrap: balance; }'];export const className=\"framer-oaRMI\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b16259d)\nexport default function metadata(params,activeLocale){return{description:\"Jason Deslauriers | Design \",favicon:\"https://framerusercontent.com/assets/8EWAD7pj8u1RHNcFcs5Q58Y87k.jpg\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/VN9lBwjEJhcA5CdhDy3t4HhLOQo.png\",title:\"Jason Deslauriers Portfolio\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}