{"version":3,"file":"Examples.BVLPBo9m.mjs","names":["useStore","useState","useState","useRef","useCallback"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/28rXvpPsrum7FH6cMELS/1jCAazZw1EGHjrG5Nu5D/Utils.js","https:/framer.com/m/framer/utils.js@^0.9.0","https:/framerusercontent.com/modules/vFlWvc1c8EGrn6cIWU3p/YJeQrvYfazXYkIt88oU7/Examples.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","export const centerContent = {\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const autoSizingText = {\n    width: \"max-content\",\n    wordBreak: \"break-word\",\n    overflowWrap: \"break-word\",\n    overflow: \"hidden\",\n    whiteSpace: \"pre-wrap\",\n    flexShrink: 0\n};\nexport const defaultContainerStyles = {\n    ...centerContent,\n    overflow: \"hidden\"\n};\nexport const containerStyles = defaultContainerStyles;\nexport const randomColor = ()=>\"#\" + Math.floor(Math.random() * 16777215).toString(16)\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"centerContent\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"autoSizingText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultContainerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomColor\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./Utils.map","/*\n * Utils (framer/utils@0.9.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/28rXvpPsrum7FH6cMELS/1jCAazZw1EGHjrG5Nu5D/Utils.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,startTransition,useCallback,useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{randomColor}from\"https://framer.com/m/framer/utils.js@^0.9.0\";const useStore=createStore({background:\"#0099FF\"});export function withRotate(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{rotate:90},transition:{duration:2}});});}export function withHover(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,whileHover:{scale:1.05}});});}export function withRandomColor(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useStore();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{background:store.background},onClick:()=>{setStore({background:randomColor()});}});});}export function withDesktopSticky(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[isDesktop,setIsDesktop]=useState(()=>{if(typeof window===\"undefined\"||typeof window.matchMedia!==\"function\"){return false;}return window.matchMedia(\"(min-width: 1000px)\").matches;});useEffect(()=>{if(typeof window===\"undefined\"||typeof window.matchMedia!==\"function\")return;const mediaQuery=window.matchMedia(\"(min-width: 1000px)\");const updateIsDesktop=matches=>{startTransition(()=>setIsDesktop(matches));};updateIsDesktop(mediaQuery.matches);const handleChange=event=>{updateIsDesktop(event.matches);};if(typeof mediaQuery.addEventListener===\"function\"){mediaQuery.addEventListener(\"change\",handleChange);return()=>mediaQuery.removeEventListener(\"change\",handleChange);}mediaQuery.addListener(handleChange);return()=>mediaQuery.removeListener(handleChange);},[]);const overrideStyle=isDesktop?{position:\"sticky\",top:120,alignSelf:\"flex-start\"}:{position:\"relative\"};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,style:{...props.style,...overrideStyle}});});}export function withScrollSnap(Component){const Wrapped=/*#__PURE__*/forwardRef((props,ref)=>{const{enabled=true,duration=120,stableFrames=3,...rest}=props;const localRef=useRef(null);const animationFrameRef=useRef(null);const isAnimatingRef=useRef(false);const setRefs=useCallback(node=>{localRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref&&typeof ref===\"object\"){ref.current=node;}},[ref]);useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;if(!enabled)return;if(typeof window!==\"undefined\"&&typeof window.matchMedia===\"function\"&&window.matchMedia(\"(pointer: coarse)\").matches){return;}const container=localRef.current;if(!container)return;const easeInOutCubic=t=>t;const margin=24;const deadzone=2;let monitorFrame=null;let lastMonitorY=0;let lastMonitorH=0;let stableCount=0;const clamp=(value,min,max)=>Math.max(min,Math.min(max,value));const getViewportH=()=>{const vv=window.visualViewport;return(vv?vv.height:window.innerHeight)||document.documentElement.clientHeight||1;};const getMaxScroll=()=>Math.max(0,document.documentElement.scrollHeight-getViewportH());const getSnapChildren=()=>{const nextContainer=localRef.current;if(!nextContainer)return[];return Array.from(nextContainer.children).filter(child=>{const position=window.getComputedStyle(child).position;return position!==\"absolute\"&&position!==\"fixed\";});};const computeTargets=()=>{const nextContainer=localRef.current;if(!nextContainer)return[];const children=getSnapChildren();if(children.length===0)return[];const containerTop=nextContainer.getBoundingClientRect().top+window.scrollY;const maxScroll=getMaxScroll();const targets=[];let cumulative=0;for(let i=0;i<children.length;i++){targets.push(clamp(containerTop+cumulative,0,maxScroll));cumulative+=children[i].offsetHeight;}return targets;};const getNearestIndex=targets=>{let nearest=0;let minDistance=Number.POSITIVE_INFINITY;for(let i=0;i<targets.length;i++){const distance=Math.abs(targets[i]-window.scrollY);if(distance<minDistance){minDistance=distance;nearest=i;}}return nearest;};const setScrollPosition=top=>{window.scrollTo({top,behavior:\"auto\"});};const cancelActiveAnimation=()=>{if(animationFrameRef.current!==null){window.cancelAnimationFrame(animationFrameRef.current);animationFrameRef.current=null;}isAnimatingRef.current=false;};const animateTo=destination=>{const startY=window.scrollY;const distance=destination-startY;if(Math.abs(distance)<1){setScrollPosition(destination);return;}const startTime=performance.now();isAnimatingRef.current=true;const step=now=>{const elapsed=now-startTime;const progress=Math.min(elapsed/Math.max(duration,1),1);const eased=easeInOutCubic(progress);setScrollPosition(startY+distance*eased);if(progress<1){animationFrameRef.current=window.requestAnimationFrame(step);}else{animationFrameRef.current=null;isAnimatingRef.current=false;}};if(animationFrameRef.current!==null){window.cancelAnimationFrame(animationFrameRef.current);}animationFrameRef.current=window.requestAnimationFrame(step);};const inRange=targets=>{if(targets.length===0)return false;const y=window.scrollY;return y>=targets[0]-margin&&y<=targets[targets.length-1]+margin;};const snapToNearest=()=>{if(isAnimatingRef.current)return;const targets=computeTargets();if(!inRange(targets))return;const target=targets[getNearestIndex(targets)];if(Math.abs(target-window.scrollY)<=deadzone)return;animateTo(target);};const stopMonitor=()=>{if(monitorFrame!==null){window.cancelAnimationFrame(monitorFrame);monitorFrame=null;}stableCount=0;};const startMonitor=()=>{if(monitorFrame!==null)return;lastMonitorY=window.scrollY;lastMonitorH=getViewportH();stableCount=0;const tick=()=>{if(isAnimatingRef.current){stopMonitor();return;}const y=window.scrollY;const h=getViewportH();if(Math.abs(y-lastMonitorY)<1&&Math.abs(h-lastMonitorH)<1){stableCount++;}else{stableCount=0;}lastMonitorY=y;lastMonitorH=h;if(stableCount>=Math.max(stableFrames,1)){monitorFrame=null;stableCount=0;snapToNearest();return;}monitorFrame=window.requestAnimationFrame(tick);};monitorFrame=window.requestAnimationFrame(tick);};const onScroll=()=>{if(isAnimatingRef.current)return;startMonitor();};const onViewportChange=()=>{if(isAnimatingRef.current)return;startMonitor();};const onKeyDown=event=>{let dir=null;if(event.key===\"ArrowDown\"||event.key===\"PageDown\")dir=1;if(event.key===\"ArrowUp\"||event.key===\"PageUp\")dir=-1;if(event.key===\" \")dir=event.shiftKey?-1:1;if(dir===null)return;if(isAnimatingRef.current){event.preventDefault();return;}const targets=computeTargets();if(!inRange(targets))return;const nearest=getNearestIndex(targets);const targetIndex=Math.max(0,Math.min(targets.length-1,nearest+dir));if(targetIndex===nearest)return;event.preventDefault();animateTo(targets[targetIndex]);};const timeoutIds=[];const scheduleReMeasure=delay=>{const id=window.setTimeout(()=>{if(isAnimatingRef.current)return;startMonitor();},delay);timeoutIds.push(id);};scheduleReMeasure(400);scheduleReMeasure(1e3);const visualViewport=window.visualViewport;window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onViewportChange);if(visualViewport){visualViewport.addEventListener(\"resize\",onViewportChange);}window.addEventListener(\"keydown\",onKeyDown);return()=>{timeoutIds.forEach(id=>window.clearTimeout(id));window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onViewportChange);if(visualViewport){visualViewport.removeEventListener(\"resize\",onViewportChange);}window.removeEventListener(\"keydown\",onKeyDown);stopMonitor();cancelActiveAnimation();};},[duration,enabled,stableFrames]);return /*#__PURE__*/_jsx(Component,{ref:setRefs,...rest});});addPropertyControls(Wrapped,{enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},duration:{type:ControlType.Number,title:\"Snap Duration\",defaultValue:120,min:100,max:2e3,unit:\"ms\",step:50},stableFrames:{type:ControlType.Number,title:\"Rest Frames\",defaultValue:3,min:1,max:30,step:1}});return Wrapped;}\nexport const __FramerMetadata__ = {\"exports\":{\"withHover\":{\"type\":\"reactHoc\",\"name\":\"withHover\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withScrollSnap\":{\"type\":\"reactHoc\",\"name\":\"withScrollSnap\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRandomColor\":{\"type\":\"reactHoc\",\"name\":\"withRandomColor\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withDesktopSticky\":{\"type\":\"reactHoc\",\"name\":\"withDesktopSticky\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRotate\":{\"type\":\"reactHoc\",\"name\":\"withRotate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Examples.map"],"mappings":"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"}