{
  "version": 3,
  "sources": ["ssg:https://ga.jspm.io/npm:lenis@1.1.9/dist/lenis.mjs", "ssg:https://framerusercontent.com/modules/Yppqt3Cs3Y8TZqvASnXl/PGrowqBrgWCViHduGfsA/SmoothScroll_Prod.js", "ssg:https://framerusercontent.com/modules/QbIURI1CrWibjjH7k1PR/2vNdLnvQNPcA8uP12d7k/FollowCursor_Prod.js", "ssg:https://framerusercontent.com/modules/Z7W0nR93oDA0ww3oOjR8/Ek6hdyC7N0hvEfTgS47e/ShimmerGrid_Prod.js"],
  "sourcesContent": ["function clamp(t,i,e){return Math.max(t,Math.min(i,e))}class Animate{constructor(){this.isRunning=!1,this.value=0,this.from=0,this.to=0,this.duration=0,this.currentTime=0}advance(t){var i;if(!this.isRunning)return;let e=!1;if(this.duration&&this.easing){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}else this.lerp?(this.value=function damp(t,i,e,s){return function lerp(t,i,e){return(1-e)*t+e*i}(t,i,1-Math.exp(-e*s))}(this.value,this.to,60*this.lerp,t),Math.round(this.value)===this.to&&(this.value=this.to,e=!0)):(this.value=this.to,e=!0);e&&this.stop(),null===(i=this.onUpdate)||void 0===i||i.call(this,this.value,e)}stop(){this.isRunning=!1}fromTo(t,i,{lerp:e,duration:s,easing:o,onStart:n,onUpdate:l}){this.from=this.value=t,this.to=i,this.lerp=e,this.duration=s,this.easing=o,this.currentTime=0,this.isRunning=!0,null==n||n(),this.onUpdate=l}}class Dimensions{constructor({wrapper:t,content:i,autoResize:e=!0,debounce:s=250}={}){this.width=0,this.height=0,this.scrollWidth=0,this.scrollHeight=0,this.resize=()=>{this.onWrapperResize(),this.onContentResize()},this.onWrapperResize=()=>{this.wrapper===window?(this.width=window.innerWidth,this.height=window.innerHeight):this.wrapper instanceof HTMLElement&&(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)},this.onContentResize=()=>{this.wrapper===window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):this.wrapper instanceof HTMLElement&&(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)},this.wrapper=t,this.content=i,e&&(this.debouncedResize=function debounce(t,i){let e;return function(){let s=arguments,o=this;clearTimeout(e),e=setTimeout((function(){t.apply(o,s)}),i)}}(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(){var t,i;null===(t=this.wrapperResizeObserver)||void 0===t||t.disconnect(),null===(i=this.contentResizeObserver)||void 0===i||i.disconnect(),window.removeEventListener(\"resize\",this.debouncedResize,!1)}get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}}class Emitter{constructor(){this.events={}}emit(t,...i){let e=this.events[t]||[];for(let t=0,s=e.length;t<s;t++)e[t](...i)}on(t,i){var e;return(null===(e=this.events[t])||void 0===e?void 0:e.push(i))||(this.events[t]=[i]),()=>{var e;this.events[t]=null===(e=this.events[t])||void 0===e?void 0:e.filter((t=>i!==t))}}off(t,i){var e;this.events[t]=null===(e=this.events[t])||void 0===e?void 0:e.filter((t=>i!==t))}destroy(){this.events={}}}const t=100/6;class VirtualScroll{constructor(i,{wheelMultiplier:e=1,touchMultiplier:s=1}){this.lastDelta={x:0,y:0},this.windowWidth=0,this.windowHeight=0,this.onTouchStart=t=>{const{clientX:i,clientY:e}=t.targetTouches?t.targetTouches[0]:t;this.touchStart.x=i,this.touchStart.y=e,this.lastDelta={x:0,y:0},this.emitter.emit(\"scroll\",{deltaX:0,deltaY:0,event:t})},this.onTouchMove=t=>{var i,e,s,o;const{clientX:n,clientY:l}=t.targetTouches?t.targetTouches[0]:t,r=-(n-(null!==(e=null===(i=this.touchStart)||void 0===i?void 0:i.x)&&void 0!==e?e:0))*this.touchMultiplier,h=-(l-(null!==(o=null===(s=this.touchStart)||void 0===s?void 0:s.y)&&void 0!==o?o:0))*this.touchMultiplier;this.touchStart.x=n,this.touchStart.y=l,this.lastDelta={x:r,y:h},this.emitter.emit(\"scroll\",{deltaX:r,deltaY:h,event:t})},this.onTouchEnd=t=>{this.emitter.emit(\"scroll\",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:t})},this.onWheel=i=>{let{deltaX:e,deltaY:s,deltaMode:o}=i;e*=1===o?t:2===o?this.windowWidth:1,s*=1===o?t:2===o?this.windowHeight:1,e*=this.wheelMultiplier,s*=this.wheelMultiplier,this.emitter.emit(\"scroll\",{deltaX:e,deltaY:s,event:i})},this.onWindowResize=()=>{this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight},this.element=i,this.wheelMultiplier=e,this.touchMultiplier=s,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,i){return this.emitter.on(t,i)}destroy(){this.emitter.destroy(),window.removeEventListener(\"resize\",this.onWindowResize,!1),this.element.removeEventListener(\"wheel\",this.onWheel),this.element.removeEventListener(\"touchstart\",this.onTouchStart),this.element.removeEventListener(\"touchmove\",this.onTouchMove),this.element.removeEventListener(\"touchend\",this.onTouchEnd)}}class Lenis{constructor({wrapper:t=window,content:i=document.documentElement,wheelEventsTarget:e=t,eventsTarget:s=e,smoothWheel:o=!0,syncTouch:n=!1,syncTouchLerp:l=.075,touchInertiaMultiplier:r=35,duration:h,easing:a=(t=>Math.min(1,1.001-Math.pow(2,-10*t))),lerp:c=.1,infinite:d=!1,orientation:u=\"vertical\",gestureOrientation:p=\"vertical\",touchMultiplier:m=1,wheelMultiplier:v=1,autoResize:g=!0,prevent:w,virtualScroll:S,__experimental__naiveDimensions:f=!1}={}){this.__isScrolling=!1,this.__isStopped=!1,this.__isLocked=!1,this.userData={},this.lastVelocity=0,this.velocity=0,this.direction=0,this.onPointerDown=t=>{1===t.button&&this.reset()},this.onVirtualScroll=t=>{if(\"function\"==typeof this.options.virtualScroll&&!1===this.options.virtualScroll(t))return;const{deltaX:i,deltaY:e,event:s}=t;if(this.emitter.emit(\"virtual-scroll\",{deltaX:i,deltaY:e,event:s}),s.ctrlKey)return;const o=s.type.includes(\"touch\"),n=s.type.includes(\"wheel\");this.isTouching=\"touchstart\"===s.type||\"touchmove\"===s.type;if(this.options.syncTouch&&o&&\"touchstart\"===s.type&&!this.isStopped&&!this.isLocked)return void this.reset();const l=0===i&&0===e,r=\"vertical\"===this.options.gestureOrientation&&0===e||\"horizontal\"===this.options.gestureOrientation&&0===i;if(l||r)return;let h=s.composedPath();h=h.slice(0,h.indexOf(this.rootElement));const a=this.options.prevent;if(h.find((t=>{var i,e,s,l,r;return t instanceof Element&&(\"function\"==typeof a&&(null==a?void 0:a(t))||(null===(i=t.hasAttribute)||void 0===i?void 0:i.call(t,\"data-lenis-prevent\"))||o&&(null===(e=t.hasAttribute)||void 0===e?void 0:e.call(t,\"data-lenis-prevent-touch\"))||n&&(null===(s=t.hasAttribute)||void 0===s?void 0:s.call(t,\"data-lenis-prevent-wheel\"))||(null===(l=t.classList)||void 0===l?void 0:l.contains(\"lenis\"))&&!(null===(r=t.classList)||void 0===r?void 0:r.contains(\"lenis-stopped\")))})))return;if(this.isStopped||this.isLocked)return void s.preventDefault();if(!(this.options.syncTouch&&o||this.options.smoothWheel&&n))return this.isScrolling=\"native\",void this.animate.stop();s.preventDefault();let c=e;\"both\"===this.options.gestureOrientation?c=Math.abs(e)>Math.abs(i)?e:i:\"horizontal\"===this.options.gestureOrientation&&(c=i);const d=o&&this.options.syncTouch,u=o&&\"touchend\"===s.type&&Math.abs(c)>5;u&&(c=this.velocity*this.options.touchInertiaMultiplier),this.scrollTo(this.targetScroll+c,Object.assign({programmatic:!1},d?{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.9\",t&&t!==document.documentElement&&t!==document.body||(t=window),this.options={wrapper:t,content:i,wheelEventsTarget:e,eventsTarget:s,smoothWheel:o,syncTouch:n,syncTouchLerp:l,touchInertiaMultiplier:r,duration:h,easing:a,lerp:c,infinite:d,gestureOrientation:p,orientation:u,touchMultiplier:m,wheelMultiplier:v,autoResize:g,prevent:w,virtualScroll:S,__experimental__naiveDimensions:f},this.animate=new Animate,this.emitter=new Emitter,this.dimensions=new Dimensions({wrapper:t,content:i,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.options.wrapper.addEventListener(\"pointerdown\",this.onPointerDown,!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.options.wrapper.removeEventListener(\"pointerdown\",this.onPointerDown,!1),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName()}on(t,i){return this.emitter.on(t,i)}off(t,i){return this.emitter.off(t,i)}setScroll(t){this.isHorizontal?this.rootElement.scrollLeft=t:this.rootElement.scrollTop=t}resize(){this.dimensions.resize()}emit(){this.emitter.emit(\"scroll\",this)}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 i=t-(this.time||t);this.time=t,this.animate.advance(.001*i)}scrollTo(t,{offset:i=0,immediate:e=!1,lock:s=!1,duration:o=this.options.duration,easing:n=this.options.easing,lerp:l=this.options.lerp,onStart:r,onComplete:h,force:a=!1,programmatic:c=!0,userData:d={}}={}){if(!this.isStopped&&!this.isLocked||a){if(\"string\"==typeof t&&[\"top\",\"left\",\"start\"].includes(t))t=0;else if(\"string\"==typeof t&&[\"bottom\",\"right\",\"end\"].includes(t))t=this.limit;else{let e;if(\"string\"==typeof t?e=document.querySelector(t):t instanceof HTMLElement&&(null==t?void 0:t.nodeType)&&(e=t),e){if(this.options.wrapper!==window){const t=this.rootElement.getBoundingClientRect();i-=this.isHorizontal?t.left:t.top}const s=e.getBoundingClientRect();t=(this.isHorizontal?s.left:s.top)+this.animatedScroll}}if(\"number\"==typeof t&&(t+=i,t=Math.round(t),this.options.infinite?c&&(this.targetScroll=this.animatedScroll=this.scroll):t=clamp(0,t,this.limit),t!==this.targetScroll)){if(this.userData=d,e)return this.animatedScroll=this.targetScroll=t,this.setScroll(this.scroll),this.reset(),this.preventNextNativeScrollEvent(),this.emit(),null==h||h(this),void(this.userData={});c||(this.targetScroll=t),this.animate.fromTo(this.animatedScroll,t,{duration:o,easing:n,lerp:l,onStart:()=>{s&&(this.isLocked=!0),this.isScrolling=\"smooth\",null==r||r(this)},onUpdate:(t,i)=>{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),i||this.emit(),i&&(this.reset(),this.emit(),null==h||h(this),this.userData={},this.preventNextNativeScrollEvent())}})}}}preventNextNativeScrollEvent(){this.__preventNextNativeScrollEvent=!0,requestAnimationFrame((()=>{delete this.__preventNextNativeScrollEvent}))}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,i){return(t%i+i)%i}(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", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useMemo}from\"react\";import{useMotionValue,useSpring,animate}from\"framer-motion\";const ALIGNMENT={left:0,top:0,center:.5,right:1,bottom:1};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n */export default function FollowCursor(props){const{smoothing,enabled,horizontalAlignment,verticalAlignment,transition}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const id=generateInstanceId();const movementTransition={damping:100,stiffness:mapRange(smoothing,0,100,2e3,50)};const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const springX=useSpring(mouseX,movementTransition);const springY=useSpring(mouseY,movementTransition);const ref=useRef(null);const parentRef=useRef(null);const transformRef=useRef(null);const styleRef=useRef(null);const hasSpringRef=useRef(smoothing!==0);const previousXRef=useRef(null);const previousYRef=useRef(null);const previousStyleTransformRef=useRef(null);const isInitializedRef=useRef(false);const previousScrollXRef=useRef(0);const previousScrollYRef=useRef(0);const opacityRef=useRef(1);const currentOpacityRef=useRef(0);useEffect(()=>{hasSpringRef.current=smoothing!==0;},[smoothing]);useEffect(()=>{let animationFrameId;const updateTransform=()=>{if(isCanvas)return;animationFrameId=requestAnimationFrame(updateTransform);if(!parentRef.current||!styleRef.current){return;}const xValue=(hasSpringRef.current?springX.get():mouseX.get()).toFixed(3);const yValue=(hasSpringRef.current?springY.get():mouseY.get()).toFixed(3);// Get computed styles to capture all existing transforms\nconst computedStyle=window.getComputedStyle(parentRef.current);const transform=calculateTransform(parentRef.current,computedStyle,xValue,yValue,previousXRef.current,previousYRef.current,previousStyleTransformRef.current);const opacity=currentOpacityRef.current*opacityRef.current;transformRef.current=transform;styleRef.current.textContent=`\n\t\t\t\t[data-followcursor=\"${id}\"] { \n\t\t\t\t\ttransform: ${transform} !important;\n\t\t\t\t\t${opacity<.995?`opacity: ${opacity} !important;`:\"\"}\n\t\t\t\t}\n\t\t\t`;previousXRef.current=xValue;previousYRef.current=yValue;previousStyleTransformRef.current=parentRef.current.style.transform;};if(ref.current){const container=ref.current.parentElement;if(container){const parent=container.parentElement;if(parent){parentRef.current=parent;parent.setAttribute(\"data-followcursor\",id);}}}// Start the animation loop\nupdateTransform();// Cleanup function\nreturn()=>{if(animationFrameId){cancelAnimationFrame(animationFrameId);}};},[]);useEffect(()=>{const handleMouseMove=event=>{if(!parentRef.current)return;let setSpringsInstantly=false;// When initialized for the first time, animate opacity\nif(!isInitializedRef.current){isInitializedRef.current=true;animate(currentOpacityRef.current,enabled?1:0,{...transition,onUpdate:latest=>{currentOpacityRef.current=latest;}});setSpringsInstantly=true;}// Get the element's position without transforms\nconst computedStyle=window.getComputedStyle(parentRef.current);const matrix=new DOMMatrix(computedStyle.transform);const rect=parentRef.current.getBoundingClientRect();// Subtract the transform translation to get the original position\nconst originalLeft=rect.left-matrix.m41;const originalTop=rect.top-matrix.m42;// Add scroll offsets to mouse position\nconst scrollX=window.pageXOffset||document.documentElement.scrollLeft;const scrollY=window.pageYOffset||document.documentElement.scrollTop;// Update previous scroll positions\npreviousScrollXRef.current=scrollX;previousScrollYRef.current=scrollY;const mouseXPos=event.clientX+scrollX-(originalLeft+scrollX)-ALIGNMENT[horizontalAlignment]*rect.width;const mouseYPos=event.clientY+scrollY-(originalTop+scrollY)-ALIGNMENT[verticalAlignment]*rect.height;mouseX.set(mouseXPos);mouseY.set(mouseYPos);if(setSpringsInstantly){springX.jump(mouseXPos);springY.jump(mouseYPos);}};// Add scroll event handler to update position\nconst handleScroll=()=>{if(!parentRef.current||!isInitializedRef.current)return;const scrollX=window.scrollX||window.pageXOffset||document.documentElement.scrollLeft;const scrollY=window.scrollY||window.pageYOffset||document.documentElement.scrollTop;// Calculate scroll delta\nconst deltaX=scrollX-previousScrollXRef.current;const deltaY=scrollY-previousScrollYRef.current;// Update previous scroll positions\npreviousScrollXRef.current=scrollX;previousScrollYRef.current=scrollY;// Update position using scroll delta\nmouseX.set(mouseX.get()+deltaX);mouseY.set(mouseY.get()+deltaY);};window.addEventListener(\"mousemove\",handleMouseMove);window.addEventListener(\"scroll\",handleScroll);return()=>{window.removeEventListener(\"mousemove\",handleMouseMove);window.removeEventListener(\"scroll\",handleScroll);};},[enabled]);useEffect(()=>{if(!styleRef.current||!parentRef.current)return;const computedStyle=window.getComputedStyle(parentRef.current);opacityRef.current=parseFloat(computedStyle.opacity)||1;animate(currentOpacityRef.current,enabled&&isInitializedRef.current?1:0,{...transition,onUpdate:latest=>{currentOpacityRef.current=latest;}});},[enabled,transition]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style},children:/*#__PURE__*/_jsx(\"style\",{ref:styleRef})});}FollowCursor.displayName=\"Follow Cursor\";addPropertyControls(FollowCursor,{enabled:{type:ControlType.Boolean,defaultValue:true},smoothing:{type:ControlType.Number,defaultValue:0,min:0,max:100,step:1},horizontalAlignment:{type:ControlType.Enum,defaultValue:\"center\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true,title:\"Alignment\"},verticalAlignment:{type:ControlType.Enum,defaultValue:\"center\",options:[\"top\",\"center\",\"bottom\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],displaySegmentedControl:true,title:\" \"},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",duration:.2,bounce:0},description:\"More components at [Framer University](https://frameruni.link/cc).\"}});const CHARACTERS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";const generateInstanceId=()=>{const id=useMemo(()=>{let result=\"\";for(let i=0;i<13;i++){result+=CHARACTERS.charAt(Math.floor(Math.random()*CHARACTERS.length));}return result;},[]);return id;};function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}function calculateTransform(element,computedStyle,xValue,yValue,previousX,previousY,previousStyleTransform){xValue=xValue||0;yValue=yValue||0;previousX=previousX||0;previousY=previousY||0;// Get transform\nconst computedTransform=computedStyle.transform;const styleTransform=element.style.transform;// Subtract previous values from current values for a single transform\nconst finalX=xValue-previousX;const finalY=yValue-previousY;const translateTransform=`translate(${finalX}px, ${finalY}px)`;let transform=translateTransform;if(styleTransform&&styleTransform!==\"none\"){if(previousStyleTransform&&previousStyleTransform!==\"none\"){transform=`${translateTransform} ${invertTransform(previousStyleTransform)} ${styleTransform}`;}else{transform=`${translateTransform} ${styleTransform}`;}}return computedTransform&&computedTransform!==\"none\"?`${transform} ${computedTransform}`:transform;}function invertTransform(transformString){const transforms=transformString.match(/\\w+\\([^)]+\\)/g)||[];const invertedTransforms=transforms.reverse().map(transform=>{const[func,valuesString]=transform.match(/(\\w+)\\(([^)]+)\\)/).slice(1);const values=valuesString.split(\",\").map(v=>v.trim());const invertNumber=v=>{const[_,sign,num,unit]=v.match(/^(-?)(\\d*\\.?\\d+)(\\D*)$/);return`${sign?\"\":\"-\"}${num}${unit}`;};switch(func.toLowerCase()){case\"translate\":case\"translate3d\":case\"translatex\":case\"translatey\":case\"translatez\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"scale\":case\"scale3d\":return`${func}(${values.map(v=>1/parseFloat(v)).join(\", \")})`;case\"scalex\":case\"scaley\":case\"scalez\":return`${func}(${1/parseFloat(values[0])})`;case\"rotate\":case\"rotatex\":case\"rotatey\":case\"rotatez\":return`${func}(${invertNumber(values[0])})`;case\"rotate3d\":const rotateValues=values.map(parseFloat);return`${func}(${rotateValues[0]}, ${rotateValues[1]}, ${rotateValues[2]}, ${invertNumber(values[3])})`;case\"skew\":case\"skewx\":case\"skewy\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"matrix\":case\"matrix3d\":console.warn(`Inverting ${func} is not supported. Returning original.`);return transform;default:console.warn(`Unknown transform function: ${func}. Returning original.`);return transform;}});return invertedTransforms.join(\" \");}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FollowCursor\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FollowCursor_Prod.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import FollowCursor from\"https://framerusercontent.com/modules/QbIURI1CrWibjjH7k1PR/2vNdLnvQNPcA8uP12d7k/FollowCursor_Prod.js\";import{cubicBezier}from\"framer-motion\";const ease=cubicBezier(.7,0,.7,1);var Pattern;(function(Pattern){Pattern[\"Grid\"]=\"grid\";Pattern[\"Checkerboard\"]=\"checkerboard\";Pattern[\"HorizontalLines\"]=\"horizontalLines\";Pattern[\"VerticalLines\"]=\"verticalLines\";Pattern[\"DiagonalLines\"]=\"diagonalLines\";Pattern[\"Dots\"]=\"dots\";Pattern[\"Triangles\"]=\"triangles\";Pattern[\"Custom\"]=\"custom\";})(Pattern||(Pattern={}));const IMAGE_SIZING_MAP={fill:\"cover\",fit:\"contain\",stretch:\"100% 100%\"};const POSITION_MAP={topLeft:\"0 0\",topCenter:\"50% 0\",topRight:\"100% 0\",left:\"0 50%\",center:\"50% 50%\",right:\"100% 50%\",bottomLeft:\"0 100%\",bottomCenter:\"50% 100%\",bottomRight:\"100% 100%\"};/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n */export default function ShimmerGrid({color,hoverColor,hoverSize,hoverShape,patternPreset,flip,lineWidth,customPatternImage,customPatternSizing,tileSize,customPatternMode,customPatternPosition,dotSize,radius,smoothing,style}){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isCustom=patternPreset===\"custom\";const bgPosition=isCustom&&customPatternSizing!==\"stretch\"?POSITION_MAP[customPatternPosition]:POSITION_MAP.center;let bgImage=\"\";let bgSize=`${tileSize}px ${tileSize}px`;let bgRepeat=\"repeat\";switch(patternPreset){case\"grid\":bgImage=`repeating-conic-gradient(at ${lineWidth}px ${lineWidth}px, [color] 0deg 90deg, transparent 90deg 180deg, [color] 180deg 360deg)`;break;case\"checkerboard\":bgImage=flip?`repeating-conic-gradient([color] 0% 25%, transparent 0% 50%)`:`repeating-conic-gradient(transparent 0% 25%, [color] 0% 50%)`;break;case\"horizontalLines\":bgImage=`linear-gradient(to top, [color] ${lineWidth}px, transparent ${lineWidth}px)`;break;case\"verticalLines\":bgImage=`linear-gradient(to left, [color] ${lineWidth}px, transparent ${lineWidth}px)`;break;case\"diagonalLines\":const w=lineWidth/2;const sideLength=getSideLength(tileSize*2);bgImage=`linear-gradient(to top ${flip?\"left\":\"right\"}, [color] ${w}px, transparent ${w}px, transparent calc(50% - ${w}px), [color] calc(50% - ${w}px), [color] calc(50% + ${w}px), transparent calc(50% + ${w}px), transparent calc(100% - ${w}px), [color] calc(100% - ${w}px), [color] 100%)`;bgSize=`${sideLength}px ${sideLength}px`;break;case\"dots\":bgImage=`radial-gradient([color] ${dotSize/2-.4}px, transparent ${dotSize/2+.4}px)`;break;case\"triangles\":bgImage=`linear-gradient(${flip?-45:45}deg, transparent calc(50% - 0.1px), [color] calc(50% + 0.1px))`;break;case\"custom\":bgImage=`url(\"${customPatternImage?.src}\")`;if(customPatternSizing!==\"tile\"){bgRepeat=\"no-repeat\";bgSize=IMAGE_SIZING_MAP[customPatternSizing];}break;}let hoverStyle={};let hoverSizeValue=hoverSize;if(hoverShape===\"glow\"){const gradientPoints=[];for(let i=0;i<15;i++){const normalized=mapRange(i,0,14,0,1);gradientPoints.push(`rgba(255, 255, 255, ${ease(1-normalized)}) ${mapRange(i,0,14,0,100)}%`);}hoverStyle={maskImage:`radial-gradient(closest-side, ${gradientPoints.join(\", \")})`};hoverSizeValue=hoverSize*2;}else if(hoverShape===\"circle\"){hoverStyle={borderRadius:\"50%\"};}return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",borderRadius:radius,overflow:\"hidden\",backgroundImage:isCustom?\"\":bgImage.replace(/\\[color\\]/g,color),backgroundSize:bgSize,backgroundPosition:bgPosition,backgroundRepeat:bgRepeat,...style},children:[isCustom&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundColor:color,maskImage:bgImage,maskSize:bgSize,maskPosition:bgPosition,maskRepeat:bgRepeat,maskMode:customPatternMode}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,maskImage:isCustom?bgImage:bgImage.replace(/\\[color\\]/g,\"white\"),maskSize:bgSize,maskPosition:bgPosition,maskRepeat:bgRepeat,maskMode:isCustom?customPatternMode:undefined,WebkitMaskImage:isCustom?bgImage:bgImage.replace(/\\[color\\]/g,\"white\"),WebkitMaskSize:bgSize,WebkitMaskPosition:bgPosition,WebkitMaskRepeat:bgRepeat,WebkitMaskMode:isCustom?customPatternMode:undefined},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:isCanvas?\"50%\":0,left:isCanvas?\"50%\":0,transform:isCanvas?\"translate(-50%, -50%)\":undefined,width:hoverSizeValue,height:hoverSizeValue,backgroundColor:hoverColor,...hoverStyle},children:/*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},children:/*#__PURE__*/_jsx(FollowCursor,{enabled:true,smoothing:smoothing,horizontalAlignment:\"center\",verticalAlignment:\"center\"})})})})]});}ShimmerGrid.displayName=\"Shimmer Grid\";addPropertyControls(ShimmerGrid,{color:{type:ControlType.Color,defaultValue:\"rgba(153, 153, 153, 0.5)\"},hoverColor:{type:ControlType.Color,defaultValue:\"#FFF\"},hoverSize:{type:ControlType.Number,defaultValue:400,min:1,max:2e3,step:1},hoverShape:{type:ControlType.Enum,defaultValue:\"glow\",options:[\"glow\",\"circle\"],optionTitles:[\"Glow\",\"Circle\"],displaySegmentedControl:true,title:\"Shape\"},patternPreset:{type:ControlType.Enum,defaultValue:\"grid\",options:Object.values(Pattern),optionTitles:[\"Grid\",\"Checkerboard\",\"Horizontal Lines\",\"Vertical Lines\",\"Diagonal Lines\",\"Dots\",\"Triangles\",\"Custom\"],title:\"Pattern\"},customPatternImage:{type:ControlType.ResponsiveImage,title:\"Image\",hidden:props=>props.patternPreset!==\"custom\"},customPatternSizing:{type:ControlType.Enum,defaultValue:\"tile\",options:[\"fill\",\"fit\",\"stretch\",\"tile\"],optionTitles:[\"Fill\",\"Fit\",\"Stretch\",\"Tile\"],title:\"Sizing\",hidden:props=>props.patternPreset!==\"custom\"},flip:{type:ControlType.Boolean,defaultValue:false,hidden:props=>props.patternPreset!==\"checkerboard\"&&props.patternPreset!==\"triangles\"&&props.patternPreset!==\"diagonalLines\"},lineWidth:{type:ControlType.Number,defaultValue:2,min:1,step:1,displayStepper:true,hidden:props=>props.patternPreset!==\"horizontalLines\"&&props.patternPreset!==\"verticalLines\"&&props.patternPreset!==\"diagonalLines\"&&props.patternPreset!==\"grid\"},tileSize:{type:ControlType.Number,defaultValue:50,min:1,step:1,hidden:props=>props.patternPreset===\"custom\"&&props.customPatternSizing!==\"tile\"},dotSize:{type:ControlType.Number,defaultValue:10,min:1,step:1,displayStepper:true,hidden:props=>props.patternPreset!==\"dots\"},customPatternPosition:{type:ControlType.Enum,defaultValue:\"center\",options:[\"topLeft\",\"topCenter\",\"topRight\",\"left\",\"center\",\"right\",\"bottomLeft\",\"bottomCenter\",\"bottomRight\"],optionTitles:[\"Top Left\",\"Top Center\",\"Top Right\",\"Left\",\"Center\",\"Right\",\"Bottom Left\",\"Bottom Center\",\"Bottom Right\"],title:\"Position\",hidden:props=>props.patternPreset!==\"custom\"||props.customPatternSizing===\"stretch\"},customPatternMode:{type:ControlType.Enum,defaultValue:\"alpha\",options:[\"alpha\",\"luminance\"],optionTitles:[\"Alpha\",\"Luminance\"],title:\"Mode\",hidden:props=>props.patternPreset!==\"custom\"},smoothing:{type:ControlType.Number,defaultValue:0,min:0,max:100,step:1},radius:{type:ControlType.BorderRadius,defaultValue:\"0px\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});function getSideLength(hypotenuseLength){// Check if input is a valid number\nif(typeof hypotenuseLength!==\"number\"||isNaN(hypotenuseLength)||hypotenuseLength<=0){return hypotenuseLength;}// Calculate the side length using the Pythagorean theorem\n// In a right isosceles triangle: side\u00B2 + side\u00B2 = hypotenuse\u00B2\n// So, side\u00B2 = hypotenuse\u00B2 / 2\nconst sideLength=Math.sqrt(Math.pow(hypotenuseLength,2)/2);// Round the result to 2 decimal places\nreturn Number(sideLength.toFixed(2));}function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ShimmerGrid\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ShimmerGrid_Prod.map"],
  "mappings": "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",
  "names": ["clamp", "t", "i", "Animate", "e", "s", "o", "n", "Dimensions", "window", "Emitter", "VirtualScroll", "l", "r", "h", "Lenis", "a", "c", "d", "u", "p", "m", "v", "g", "w", "S", "f", "SmoothScrollComponent", "props", "intensity", "lenis", "pe", "ue", "error", "checkForStopScroll", "stopScrollElement", "htmlElement", "hasHiddenOverflow", "stopScrollObserver", "htmlStyleObserver", "allElements", "i", "element", "computedStyle", "window", "styleError", "Lenis", "raf", "time", "animationId", "anchorLinksData", "anchor", "isInternalLink", "hasHash", "anchorElement", "href", "decodedHref", "scrollMargin", "targetElement", "marginStyle", "targetError", "anchorError", "handleClick", "e", "handlers", "index", "p", "SmoothScroll", "withCSS", "SmoothScroll_Prod_default", "addPropertyControls", "ControlType", "ALIGNMENT", "FollowCursor", "props", "smoothing", "enabled", "horizontalAlignment", "verticalAlignment", "transition", "isCanvas", "RenderTarget", "id", "generateInstanceId", "movementTransition", "mapRange", "mouseX", "useMotionValue", "mouseY", "springX", "useSpring", "springY", "ref", "pe", "parentRef", "transformRef", "styleRef", "hasSpringRef", "previousXRef", "previousYRef", "previousStyleTransformRef", "isInitializedRef", "previousScrollXRef", "previousScrollYRef", "opacityRef", "currentOpacityRef", "ue", "animationFrameId", "updateTransform", "xValue", "yValue", "computedStyle", "window", "transform", "calculateTransform", "opacity", "container", "parent", "handleMouseMove", "event", "setSpringsInstantly", "animate", "latest", "matrix", "rect", "originalLeft", "originalTop", "scrollX", "scrollY", "mouseXPos", "mouseYPos", "handleScroll", "deltaX", "deltaY", "p", "addPropertyControls", "ControlType", "CHARACTERS", "se", "result", "i", "value", "fromLow", "fromHigh", "toLow", "toHigh", "percentage", "element", "previousX", "previousY", "previousStyleTransform", "computedTransform", "styleTransform", "finalX", "finalY", "translateTransform", "invertTransform", "transformString", "func", "valuesString", "values", "v", "invertNumber", "_", "sign", "num", "unit", "rotateValues", "ease", "cubicBezier", "Pattern", "IMAGE_SIZING_MAP", "POSITION_MAP", "ShimmerGrid", "color", "hoverColor", "hoverSize", "hoverShape", "patternPreset", "flip", "lineWidth", "customPatternImage", "customPatternSizing", "tileSize", "customPatternMode", "customPatternPosition", "dotSize", "radius", "smoothing", "style", "isCanvas", "RenderTarget", "isCustom", "bgPosition", "bgImage", "bgSize", "bgRepeat", "w", "sideLength", "getSideLength", "hoverStyle", "hoverSizeValue", "gradientPoints", "i", "normalized", "mapRange", "u", "p", "FollowCursor", "addPropertyControls", "ControlType", "props", "hypotenuseLength", "value", "fromLow", "fromHigh", "toLow", "toHigh", "percentage"]
}
