{"version":3,"file":"SmoothScroll_Prod.BB6RMhPU.mjs","names":["useStore","useState","useState","useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/PN5c9Lm200xYeKxP2Gcy/hDBsItohjMEOACix8wDv/Utils.js","https:/framer.com/m/Utils-QTIc.js@hDBsItohjMEOACix8wDv","https:/framerusercontent.com/modules/OiCf4NNLLpuN6FqtIYsk/9i5jMkFo5EhoLXlXTr2l/Look3D.js","https:/framerusercontent.com/modules/Yppqt3Cs3Y8TZqvASnXl/CzcVr5U1VFk6uNcyYvJq/SmoothScroll_Prod.js"],"sourcesContent":["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{ControlType}from\"framer\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";export const updateChildren=(children,properties)=>{return[{...children,props:{...children.props,children:{...children.props.children,props:{...children.props.children.props,children:{...children.props.children.props.children,props:{...children.props.children.props.children.props,...properties}}}}}}];};export const SettingsMessage=({title,description,containerStyle})=>{return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",textAlign:\"center\",justifyContent:\"center\",backgroundColor:\"rgba(136, 85, 255, 0.1)\",overflow:\"hidden\",...containerStyle},children:[/*#__PURE__*/_jsx(\"span\",{role:\"img\",\"aria-label\":\"icon\",style:{fontSize:\"32px\"},children:\"✨\"}),/*#__PURE__*/_jsxs(\"div\",{style:{maxWidth:\"240px\"},children:[/*#__PURE__*/_jsx(\"h1\",{style:{fontSize:11,color:\"#96F\",fontWeight:600},children:title}),/*#__PURE__*/_jsx(\"p\",{style:{fontSize:11,color:\"rgba(153, 102, 255, 0.7)\",lineHeight:1.5},children:description})]})]});};export const getBorder=border=>{if(!border)return{border:\"none\"};const{width,color,style}=border;return{borderWidth:width,borderColor:color,borderStyle:style};};export const borderProperty=(title=\"Border\",width=\"0px\",color=\"#fff\")=>({title,type:ControlType.Object,controls:{width:{title:\"Width\",type:ControlType.Padding,defaultValue:width},color:{title:\"Color\",type:ControlType.Color,defaultValue:color},style:{type:ControlType.Enum,defaultValue:\"solid\",options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"Double\"]}}});export const getBoxShadow=property=>{const{x,y,blur,color}=property.shadow;return`${x}px ${y}px ${blur}px ${color}`;};export const shadowProperty={type:ControlType.Object,controls:{color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#bfbfbf\"},x:{title:\"X\",type:ControlType.Number,defaultValue:0,min:-100,max:100},y:{title:\"Y\",type:ControlType.Number,defaultValue:0,min:-100,max:100},blur:{title:\"Blur\",type:ControlType.Number,defaultValue:0,min:0,max:100}}};export const heightProperty={height:{type:ControlType.Enum,defaultValue:\"auto\",displaySegmentedControl:true,options:[\"auto\",\"fixed\"],optionTitles:[\"Auto\",\"Fixed\"]},heightNumber:{title:\" \",type:ControlType.Number,defaultValue:50,hidden(props){return props.height===\"auto\";}}};export const getHeight=property=>{if(property.height===\"auto\"){return property.height;}else{return`${property.heightNumber}px`;}};export const getPageQueryParam=()=>{const urlParams=new URLSearchParams(window.location.search);const pageParam=urlParams.get(\"page\");return pageParam?parseInt(pageParam,10):1;};export const updatePageQueryParam=newPage=>{const url=new URL(window.location.href);url.searchParams.set(\"page\",newPage);window.history.replaceState({},\"\",url.toString());};export const useStore=createStore({initialLimit:undefined,initialOffset:undefined,limit:undefined,offset:undefined,totalItems:undefined,page:1,searchQuery:\"\",totalPages:undefined});export const scrollToTop=(withScroll,scrollTop,scrollBehavior)=>{if(withScroll){window.scrollTo({top:scrollTop,behavior:scrollBehavior});}};\nexport const __FramerMetadata__ = {\"exports\":{\"heightProperty\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updatePageQueryParam\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getHeight\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getBoxShadow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updateChildren\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderProperty\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shadowProperty\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getBorder\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SettingsMessage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPageQueryParam\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"scrollToTop\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Utils.map","/*\n * Utils\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/PN5c9Lm200xYeKxP2Gcy/hDBsItohjMEOACix8wDv/Utils.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,cloneElement}from\"react\";import{motion,useMotionValue,useSpring}from\"framer-motion\";import{SettingsMessage}from\"https://framer.com/m/Utils-QTIc.js@hDBsItohjMEOACix8wDv\";/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any-prefer-auto\n * @framerIntrinsicWidth 600\n * @framerSupportedLayoutHeight any-prefer-auto\n * @framerIntrinsicHeight 300\n */export default function CursorRotation(props){const{style,draggingOptions:{withDragging,withSnapBack,transition},rotationOptions:{withRotationLimitX,withRotationLimitY,maxX,maxY,minX,minY},perspectiveOptions:{withPerspective,perspectiveValue},sensitivity}=props;const children=Array.isArray(props.children)?props.children[0]:props.children;if(!children||children.length===0){return /*#__PURE__*/_jsx(SettingsMessage,{title:\"Set Up the Component\",description:\"Connect a frame to the component.\",containerStyle:{...props.style,width:\"400px\",height:\"200px\",borderRadius:props.borderRadius}});}const[isDragging,setIsDragging]=useState(false);const rotateX=useMotionValue(0);const rotateY=useMotionValue(0);const springConfig=withDragging?transition:{duration:0};const rotateXSpring=useSpring(rotateX,springConfig);const rotateYSpring=useSpring(rotateY,springConfig);const[startingRotation,setStartingRotation]=useState({x:0,y:0});const[startingMousePosition,setStartingMousePosition]=useState({clientX:0,clientY:0});useEffect(()=>{const handleMove=event=>{if(isDragging){event.preventDefault();}const isTouchEvent=event.type.startsWith(\"touch\");const clientX=isTouchEvent?event.touches[0].clientX:event.clientX;const clientY=isTouchEvent?event.touches[0].clientY:event.clientY;const{innerWidth,innerHeight}=window;let rotationX,rotationY;if(withDragging){if(isDragging){const mouseX=clientX-startingMousePosition.clientX;const mouseY=clientY-startingMousePosition.clientY;const rotationFactorX=mouseY/(10/sensitivity);const rotationFactorY=-mouseX/(10/sensitivity);rotationX=startingRotation.x-rotationFactorX;rotationY=startingRotation.y-rotationFactorY;}else if(withSnapBack){rotationX=0;rotationY=0;}else{rotationX=rotateX.get();rotationY=rotateY.get();}}else{const adjustedSensitivity=sensitivity/10;const rotationFactorX=(clientY/innerHeight-.5)*adjustedSensitivity;const rotationFactorY=(clientX/innerWidth-.5)*adjustedSensitivity;rotationX=-rotationFactorX*180;rotationY=rotationFactorY*180;}if(withRotationLimitX){rotationX=Math.max(-minX,Math.min(maxX,rotationX));}if(withRotationLimitY){rotationY=Math.max(-minY,Math.min(maxY,rotationY));}rotateX.set(rotationX);rotateY.set(rotationY);};window.addEventListener(\"mousemove\",handleMove);window.addEventListener(\"touchmove\",handleMove);return()=>{window.removeEventListener(\"mousemove\",handleMove);window.removeEventListener(\"touchmove\",handleMove);};},[isDragging,withDragging,withSnapBack,withRotationLimitX,withRotationLimitY,maxX,maxY,sensitivity]);useEffect(()=>{if(!isDragging&&withDragging&&withSnapBack){rotateX.set(0);rotateY.set(0);}},[isDragging]);const handleOnStart=e=>{const isTouchEvent=e.type.startsWith(\"touch\");const clientX=isTouchEvent?e.touches[0].clientX:e.clientX;const clientY=isTouchEvent?e.touches[0].clientY:e.clientY;setIsDragging(true);setStartingRotation({x:rotateX.get(),y:rotateY.get()});setStartingMousePosition({clientX,clientY});};const handleOnEnd=()=>setIsDragging(false);// Clone the children and apply preserve-3d to them as well\nconst clonedChildren=/*#__PURE__*/cloneElement(children,{style:{...children.props.style,transformStyle:\"preserve-3d\"}});return /*#__PURE__*/_jsx(motion.div,{onPanStart:handleOnStart,onPanEnd:handleOnEnd,onTouchStart:handleOnStart,onTouchEnd:handleOnEnd,style:{...style,rotateX:rotateXSpring,rotateY:rotateYSpring,transformStyle:\"preserve-3d\",transformPerspective:withPerspective?perspectiveValue:undefined,userSelect:\"none\",touchAction:\"none\"},children:clonedChildren});}CursorRotation.displayName=\"3D Look\";addPropertyControls(CursorRotation,{children:{title:\"Element\",type:ControlType.ComponentInstance},sensitivity:{title:\"Sensitivity\",type:ControlType.Number,defaultValue:2,step:1,displayStepper:true,min:1,max:10},draggingOptions:{type:ControlType.Object,title:\"Dragging\",controls:{withDragging:{title:\"Enable\",type:ControlType.Boolean,defaultValue:false},transition:{title:\"Transition\",type:ControlType.Transition,defaultValue:{type:\"spring\",stiffness:600,damping:100},hidden(props){return!props.withDragging;}},withSnapBack:{title:\"Snap Back\",type:ControlType.Boolean,defaultValue:false,hidden(props){return!props.withDragging;}}}},rotationOptions:{type:ControlType.Object,title:\"Rota. Limit\",controls:{withRotationLimitX:{title:\"Limit X\",type:ControlType.Boolean,defaultValue:false},maxX:{title:\"Max X\",type:ControlType.Number,defaultValue:90,step:1,displayStepper:true,min:0,max:undefined,hidden(props){return!props.withRotationLimitX;}},minX:{title:\"Min X\",type:ControlType.Number,defaultValue:90,step:1,displayStepper:true,min:0,max:undefined,hidden(props){return!props.withRotationLimitX;}},withRotationLimitY:{title:\"Limit Y\",type:ControlType.Boolean,defaultValue:false},maxY:{title:\"Max Y\",type:ControlType.Number,defaultValue:90,step:1,displayStepper:true,min:0,max:undefined,hidden(props){return!props.withRotationLimitY;}},minY:{title:\"Min Y\",type:ControlType.Number,defaultValue:90,step:1,displayStepper:true,min:0,max:undefined,hidden(props){return!props.withRotationLimitY;}}}},perspectiveOptions:{type:ControlType.Object,title:\"Perspective\",description:\"Need help with the component? Watch [this video](https://youtu.be/WdMR737ptFs).\\nMore components at [Framer University](https://frameruni.link/cc).\",controls:{withPerspective:{title:\"Enable\",type:ControlType.Boolean,defaultValue:false},perspectiveValue:{title:\"Value\",type:ControlType.Number,defaultValue:1200,step:100,min:500,max:5e3,hidden(props){return!props.withPerspective;}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CursorRotation\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-auto\",\"framerIntrinsicWidth\":\"600\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-auto\",\"framerIntrinsicHeight\":\"300\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Look3D.map","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"],"mappings":"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"}