{"version":3,"file":"Examples.BoSlIoN3.mjs","names":["useState","useRef"],"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/F1EO34gA19fjECfwYTQo/CFbBZfuDToZXRWHCktGD/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,useEffect,useRef}from\"react\";import{useAnimation,useInView,useReducedMotion}from\"framer-motion\";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\";// Learn more: https://www.framer.com/developers/overrides/\nconst 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()});}});});}// User request: Create a generic Framer code override named withDatePulse that animates only opacity from 1 to 0.85 to 1 over ~2.5s, runs exactly two iterations on mount, then stays at 1, and respects reduced motion by disabling animation.\nexport function withDatePulse(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const prefersReducedMotion=useReducedMotion();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,style:{...props.style,opacity:1},initial:{opacity:1},animate:prefersReducedMotion?{opacity:1}:{opacity:[1,.85,1]},transition:prefersReducedMotion?undefined:{duration:2.5,ease:\"easeInOut\",repeat:1}});});}export function HeaderTermPulse(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const prefersReducedMotion=useReducedMotion();const localRef=useRef(null);const hasPlayedRef=useRef(false);useEffect(()=>{if(prefersReducedMotion)return;if(typeof window===\"undefined\")return;if(!localRef.current)return;const ringKey=\"__seminarHeaderDateRingPlayed__\";const hasPlayedGlobal=window[ringKey]===true;if(hasPlayedRef.current||hasPlayedGlobal)return;const signalDotSelector=\"#signal-dot, [data-signal-dot], [data-header-signal-dot], .signal-dot, .header-signal-dot\";const rootEl=localRef.current;const signalDot=rootEl.matches(signalDotSelector)?rootEl:rootEl.querySelector(signalDotSelector);if(!signalDot)return;window[ringKey]=true;hasPlayedRef.current=true;signalDot.style.willChange=\"transform, opacity\";signalDot.style.transformOrigin=\"center center\";let animation=null;const timeoutId=window.setTimeout(()=>{animation=signalDot.animate([{transform:\"scale(1)\",opacity:\"1\"},{transform:\"scale(1.2)\",opacity:\"0.35\"},{transform:\"scale(1)\",opacity:\"1\"}],{duration:600,easing:\"ease-in-out\",iterations:2});animation.onfinish=()=>{signalDot.style.willChange=\"\";signalDot.style.transform=\"\";signalDot.style.opacity=\"\";signalDot.style.boxShadow=\"\";animation=null;};},500);return()=>{window.clearTimeout(timeoutId);if(animation)animation.cancel();signalDot.style.willChange=\"\";signalDot.style.transform=\"\";signalDot.style.opacity=\"\";signalDot.style.boxShadow=\"\";};},[prefersReducedMotion]);return /*#__PURE__*/_jsx(Component,{ref:node=>{localRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref&&\"current\"in ref){ref.current=node;}},...props});});}export function HeaderHideOnScroll(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const prefersReducedMotion=useReducedMotion();const controls=useAnimation();const localRef=useRef(null);const headerHeightRef=useRef(0);const lastScrollYRef=useRef(0);const accumulatedDeltaRef=useRef(0);const hiddenRef=useRef(false);useEffect(()=>{if(typeof window===\"undefined\")return;const target=localRef.current;if(!target)return;const updateHeight=()=>{const rect=target.getBoundingClientRect();const nextHeight=Math.max(0,Math.round(rect.height));headerHeightRef.current=nextHeight;document.documentElement.style.setProperty(\"--header-offset\",`${nextHeight}px`);document.documentElement.style.scrollPaddingTop=`${nextHeight}px`;};updateHeight();let ro=null;if(typeof ResizeObserver!==\"undefined\"){ro=new ResizeObserver(()=>updateHeight());ro.observe(target);}const threshold=8;const minTop=8;lastScrollYRef.current=window.scrollY||0;controls.set({y:0});const onScroll=()=>{const y=window.scrollY||0;const delta=y-lastScrollYRef.current;lastScrollYRef.current=y;if(Math.abs(delta)<1)return;if(y<=minTop){accumulatedDeltaRef.current=0;hiddenRef.current=false;controls.start({y:0,transition:prefersReducedMotion?{duration:0}:{duration:.28,ease:\"easeOut\"}});return;}if(delta>0&&accumulatedDeltaRef.current<0||delta<0&&accumulatedDeltaRef.current>0){accumulatedDeltaRef.current=0;}accumulatedDeltaRef.current+=delta;if(accumulatedDeltaRef.current>threshold&&hiddenRef.current===false){hiddenRef.current=true;accumulatedDeltaRef.current=0;controls.start({y:-headerHeightRef.current,transition:prefersReducedMotion?{duration:0}:{duration:.32,ease:\"easeInOut\"}});}else if(accumulatedDeltaRef.current<-threshold&&hiddenRef.current===true){hiddenRef.current=false;accumulatedDeltaRef.current=0;controls.start({y:0,transition:prefersReducedMotion?{duration:0}:{duration:.24,ease:\"easeOut\"}});}};window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>{window.removeEventListener(\"scroll\",onScroll);if(ro)ro.disconnect();};},[controls,prefersReducedMotion]);return /*#__PURE__*/_jsx(Component,{ref:node=>{localRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref&&\"current\"in ref){ref.current=node;}},...props,initial:false,animate:controls,style:{...props.style,position:\"sticky\",top:0,left:0,right:0,zIndex:Math.max(Number(props?.style?.zIndex??1e3),1e3),willChange:\"transform\"}});});}export function WackeltShake(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const prefersReducedMotion=useReducedMotion();const controls=useAnimation();const localRef=useRef(null);const hasEnteredView=useInView(localRef,{once:true,amount:.35});useEffect(()=>{const run=async()=>{if(prefersReducedMotion){await controls.set({x:0});return;}if(!hasEnteredView)return;await controls.start({x:[0,-3,3,-3,3,0],transition:{duration:.6,ease:\"easeInOut\"}});};run();},[controls,hasEnteredView,prefersReducedMotion]);return /*#__PURE__*/_jsx(Component,{ref:node=>{localRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref&&\"current\"in ref){ref.current=node;}},...props,initial:false,animate:controls,style:{...props.style,transform:\"translateX(0px)\"}});});}export function HeroWiggleOnce(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const prefersReducedMotion=useReducedMotion();const controls=useAnimation();const hasPlayedRef=useRef(false);useEffect(()=>{if(prefersReducedMotion){controls.set({x:0});return;}if(hasPlayedRef.current)return;hasPlayedRef.current=true;const timeoutId=window.setTimeout(()=>{controls.start({x:[0,-3,3,-2,2,0],transition:{duration:.6,ease:\"easeInOut\"}});},400);return()=>{window.clearTimeout(timeoutId);};},[controls,prefersReducedMotion]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,initial:false,animate:controls,style:{...props.style,transform:\"translateX(0px)\"}});});}export function FadeHeaderOnFirstScroll(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const prefersReducedMotion=useReducedMotion();const controls=useAnimation();const hasHiddenRef=useRef(false);const lastYRef=useRef(0);const downAccumRef=useRef(0);useEffect(()=>{if(typeof window===\"undefined\")return;const storageKey=\"__edelhelferHeaderMarkerHidden_v1__\";let isHiddenForSession=false;try{isHiddenForSession=window.sessionStorage.getItem(storageKey)===\"1\";}catch(error){isHiddenForSession=window[storageKey]===true;}if(isHiddenForSession){hasHiddenRef.current=true;controls.set({opacity:0});return;}controls.set({opacity:1});lastYRef.current=window.scrollY||0;const threshold=10;const hideForSession=()=>{hasHiddenRef.current=true;try{window.sessionStorage.setItem(storageKey,\"1\");}catch(error){window[storageKey]=true;}if(prefersReducedMotion){controls.set({opacity:0});}else{controls.start({opacity:0,transition:{duration:.3,ease:\"easeOut\"}});}};const onScroll=()=>{if(hasHiddenRef.current)return;const y=window.scrollY||0;const delta=y-lastYRef.current;lastYRef.current=y;if(delta<=0){downAccumRef.current=0;return;}downAccumRef.current+=delta;if(downAccumRef.current>=threshold){hideForSession();}};window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>{window.removeEventListener(\"scroll\",onScroll);};},[controls,prefersReducedMotion]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,initial:false,animate:controls,style:{...props.style,opacity:1}});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withRandomColor\":{\"type\":\"reactHoc\",\"name\":\"withRandomColor\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHover\":{\"type\":\"reactHoc\",\"name\":\"withHover\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HeaderTermPulse\":{\"type\":\"reactHoc\",\"name\":\"HeaderTermPulse\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withDatePulse\":{\"type\":\"reactHoc\",\"name\":\"withDatePulse\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HeaderHideOnScroll\":{\"type\":\"reactHoc\",\"name\":\"HeaderHideOnScroll\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WackeltShake\":{\"type\":\"reactHoc\",\"name\":\"WackeltShake\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FadeHeaderOnFirstScroll\":{\"type\":\"reactHoc\",\"name\":\"FadeHeaderOnFirstScroll\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HeroWiggleOnce\":{\"type\":\"reactHoc\",\"name\":\"HeroWiggleOnce\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRotate\":{\"type\":\"reactHoc\",\"name\":\"withRotate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Examples.map"],"mappings":"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"}