{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/Yppqt3Cs3Y8TZqvASnXl/CzcVr5U1VFk6uNcyYvJq/SmoothScroll_Prod.js", "ssg:https://framerusercontent.com/modules/uyOAGoV4M6ZP9t8oV1Pq/yLigPDMZFPKRLl00fkms/lMSCUESFd.js"],
  "sourcesContent": ["import{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import Lenis from\"lenis\";// import Lenis from \"@studio-freight/lenis\"\nimport{useEffect,useRef}from\"react\";/**\n * @framerDisableUnlink\n */export default function SmoothScroll(props){const{intensity}=props;const lenis=useRef(null);useEffect(()=>{if(lenis.current)lenis.current.scrollTo(0,{immediate:true});},[lenis]);// Check Overlay overflow\nuseEffect(()=>{const overlayElement=document.getElementById(\"overlay\");if(overlayElement){const checkOverflow=()=>{const htmlStyle=window.getComputedStyle(document.documentElement);const isOverflowHidden=htmlStyle.overflow===\"hidden\";if(isOverflowHidden){overlayElement.setAttribute(\"data-lenis-prevent\",\"true\");}};// Set up MutationObserver for the html element\nconst htmlObserver=new MutationObserver(mutations=>{for(const mutation of mutations){if(mutation.type===\"attributes\"&&mutation.attributeName===\"style\"){checkOverflow();}}});// Observe the html element for style changes\nhtmlObserver.observe(document.documentElement,{attributes:true,attributeFilter:[\"style\"]});// Initial check\ncheckOverflow();return()=>{htmlObserver.disconnect();};}},[]);// useEffect(() => {\n//     const overlayElement = document.getElementById(\"overlay\")\n//     if (overlayElement) {\n//         const handleMutation = (mutationsList, observer) => {\n//             for (const mutation of mutationsList) {\n//                 if (\n//                     mutation.type === \"childList\" &&\n//                     overlayElement.children.length > 0\n//                 ) {\n//                     // Check if the html tag has the style \"overflow: hidden;\"\n//                     const htmlElement = document.documentElement\n//                     console.log(htmlElement, \"htmlElement\")\n//                     const computedStyle =\n//                         window.getComputedStyle(htmlElement)\n//                     console.log(\"computedStyle\", computedStyle)\n//                     const isOverflowHidden =\n//                         computedStyle.overflow === \"hidden\"\n//                     console.log(\"isOverflowHidden\", isOverflowHidden)\n//                     if (isOverflowHidden) {\n//                         overlayElement.setAttribute(\n//                             \"data-lenis-prevent\",\n//                             \"true\"\n//                         )\n//                     }\n//                 }\n//             }\n//         }\n//         const observer = new MutationObserver(handleMutation)\n//         observer.observe(overlayElement, {\n//             childList: true,\n//             attributes: true,\n//             subtree: true,\n//         })\n//         return () => observer.disconnect()\n//     }\n// }, [])\nuseEffect(()=>{const allElements=document.getElementsByTagName(\"*\");for(let i=0;i<allElements.length;i++){const element=allElements[i];const computedStyle=window.getComputedStyle(element);if(computedStyle.getPropertyValue(\"overflow\")===\"auto\"){element.setAttribute(\"data-lenis-prevent\",\"true\");}}},[]);useEffect(()=>{lenis.current=new Lenis({duration:intensity/10});const raf=time=>{if(lenis.current){lenis.current.raf(time);requestAnimationFrame(raf);}};requestAnimationFrame(raf);return()=>{if(lenis.current){lenis.current.destroy();lenis.current=null;}};},[]);useEffect(()=>{const styleElement=document.createElement(\"style\");styleElement.textContent=`\nhtml.lenis {\nheight: auto;\n}\n.lenis.lenis-smooth {\n\nscroll-behavior: auto !important;\n}\n.lenis.lenis-smooth [data-lenis-prevent] {\n\noverscroll-behavior: contain;\n}\n.lenis.lenis-stopped {\n\noverflow: hidden;\n}\n.lenis.lenis-scrolling iframe {\n\npointer-events: none;\n}\n`;document.head.appendChild(styleElement);return()=>{document.head.removeChild(styleElement);};},[]);//https://github.com/darkroomengineering/lenis?tab=readme-ov-file#anchor-links\nuseEffect(()=>{// Get all anchor links and store click handlers with their targets\nconst anchorLinksData=[...document.querySelectorAll(\"a[href]\")].filter(anchor=>anchor.href.includes(\"#\")).map(anchor=>{const href=`#${anchor.href.split(\"#\").pop()}`;const decodedHref=decodeURIComponent(href);let scrollMargin=0;const targetElement=document.querySelector(decodedHref);if(targetElement){scrollMargin=parseInt(window.getComputedStyle(targetElement).scrollMarginTop);}return{href,scrollMargin,anchorElement:anchor};});const handleClick=(e,href,scrollMargin)=>{e.preventDefault();lenis.current.scrollTo(href,{offset:-scrollMargin});};const handlers=anchorLinksData.map(({href,scrollMargin})=>e=>handleClick(e,href,scrollMargin));anchorLinksData.forEach(({anchorElement},index)=>{anchorElement.addEventListener(\"click\",handlers[index]);});return()=>{anchorLinksData.forEach(({anchorElement},index)=>{anchorElement.removeEventListener(\"click\",handlers[index]);});};},[lenis]);return /*#__PURE__*/_jsx(_Fragment,{});}SmoothScroll.displayName=\"Smooth Scroll\";addPropertyControls(SmoothScroll,{intensity:{title:\"Intensity\",type:ControlType.Number,defaultValue:10,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmoothScroll\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmoothScroll_Prod.map", "// Generated by Framer (56d1180)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,cx,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const serializationHash=\"framer-CupqB\";const variantClassNames={YjPQQv9MP:\"framer-v-nc91zg\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"YjPQQv9MP\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap4zbyd6=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});});const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(serializationHash,...sharedStyleClassNames,\"framer-nc91zg\",className,classNames),\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"YjPQQv9MP\",onTap:onTap4zbyd6,ref:ref!==null&&ref!==void 0?ref:ref1,style:{backgroundColor:\"var(--token-9f0badbf-8d74-41b8-a73a-e1a6bdec487b, rgb(149, 72, 226))\",borderBottomLeftRadius:50,borderBottomRightRadius:50,borderTopLeftRadius:50,borderTopRightRadius:50,...style}})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-CupqB.framer-vg8f79, .framer-CupqB .framer-vg8f79 { display: block; }\",\".framer-CupqB.framer-nc91zg { cursor: pointer; height: 10px; overflow: hidden; position: relative; width: 10px; will-change: var(--framer-will-change-override, transform); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 10\n * @framerIntrinsicWidth 10\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerlMSCUESFd=withCSS(Component,css,\"framer-CupqB\");export default FramerlMSCUESFd;FramerlMSCUESFd.displayName=\"cursor\";FramerlMSCUESFd.defaultProps={height:10,width:10};addFonts(FramerlMSCUESFd,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerlMSCUESFd\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"10\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"10\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./lMSCUESFd.map"],
  "mappings": "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",
  "names": ["SmoothScroll", "props", "intensity", "lenis", "pe", "ue", "overlayElement", "checkOverflow", "window", "htmlObserver", "mutations", "mutation", "allElements", "i", "element", "Lenis", "raf", "time", "styleElement", "anchorLinksData", "anchor", "href", "decodedHref", "scrollMargin", "targetElement", "handleClick", "e", "handlers", "anchorElement", "index", "p", "l", "addPropertyControls", "ControlType", "serializationHash", "variantClassNames", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "getProps", "height", "id", "width", "props", "createLayoutDependency", "variants", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "variant", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "variantClassNames", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTap4zbyd6", "args", "ref1", "pe", "defaultLayoutId", "ae", "sharedStyleClassNames", "componentViewport", "useComponentViewport", "LayoutGroup", "cx", "serializationHash", "css", "FramerlMSCUESFd", "withCSS", "lMSCUESFd_default", "addFonts"]
}
