{"version":3,"file":"Examples.DNiLct6F.mjs","names":["useState","useRef","useState","useCallback","useMemo"],"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/5d9G82AvolzS5Y6uPOVQ/dVAAu5fkvmQAj0tEHvVZ/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,useMemo,useRef,useState}from\"react\";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()});}});});}export function withHeaderScrollInset(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const frameRef=useRef(null);const[translateY,setTranslateY]=useState(0);const resolveInset=useCallback(viewportWidth=>{if(viewportWidth<=767)return 12;if(viewportWidth<=1024)return 18;return 24;},[]);const updateTranslate=useCallback(()=>{if(typeof window===\"undefined\")return;const scrolled=window.scrollY>0;const inset=resolveInset(window.innerWidth);const nextTranslate=scrolled?-inset:0;startTransition(()=>{setTranslateY(current=>current===nextTranslate?current:nextTranslate);});},[resolveInset]);useEffect(()=>{if(typeof window===\"undefined\")return;const scheduleUpdate=()=>{if(frameRef.current!==null)return;frameRef.current=window.requestAnimationFrame(()=>{frameRef.current=null;updateTranslate();});};scheduleUpdate();window.addEventListener(\"scroll\",scheduleUpdate,{passive:true});window.addEventListener(\"resize\",scheduleUpdate,{passive:true});return()=>{if(frameRef.current!==null){window.cancelAnimationFrame(frameRef.current);frameRef.current=null;}window.removeEventListener(\"scroll\",scheduleUpdate);window.removeEventListener(\"resize\",scheduleUpdate);};},[updateTranslate]);const mergedStyle=useMemo(()=>{const existingTransform=props.style?.transform;const translateTransform=`translate3d(0, ${translateY}px, 0)`;const transition=props.style?.transition?`${props.style.transition}, transform 0.28s ease`:\"transform 0.28s ease\";return{...props.style,transform:existingTransform?`${existingTransform} ${translateTransform}`:translateTransform,transition,willChange:\"transform\"};},[props.style,translateY]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,style:mergedStyle});});}export function withGsapSmoothScroll(Component){return /*#__PURE__*/forwardRef((props,ref)=>{useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\"){return;}let teardownWheelListener=null;let activeTween=null;let isMounted=true;let targetY=window.scrollY||window.pageYOffset||0;const mediaQuery=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const getMaxScrollY=()=>Math.max(0,(document.documentElement.scrollHeight||document.body.scrollHeight)-window.innerHeight);const clamp=(value,min,max)=>Math.min(max,Math.max(min,value));const normalizeWheelDelta=event=>{if(event.deltaMode===WheelEvent.DOM_DELTA_LINE)return event.deltaY*16;if(event.deltaMode===WheelEvent.DOM_DELTA_PAGE)return event.deltaY*window.innerHeight;return event.deltaY;};const isEditableTarget=eventTarget=>{if(!(eventTarget instanceof Element))return false;if(eventTarget.closest(\"[contenteditable=''], [contenteditable='true']\")){return true;}return Boolean(eventTarget.closest(\"input, textarea, select, option, button, [role='textbox']\"));};const hasScrollableAncestorInDirection=(eventTarget,deltaY)=>{if(!(eventTarget instanceof Element))return false;let current=eventTarget;while(current&&current!==document.body&&current!==document.documentElement){if(current instanceof HTMLElement){const style=window.getComputedStyle(current);const overflowY=style.overflowY;const canScrollY=(overflowY===\"auto\"||overflowY===\"scroll\"||overflowY===\"overlay\")&&current.scrollHeight>current.clientHeight+1;if(canScrollY){const movingDown=deltaY>0;const movingUp=deltaY<0;const atTop=current.scrollTop<=0;const atBottom=current.scrollTop+current.clientHeight>=current.scrollHeight-1;const canConsume=movingDown&&!atBottom||movingUp&&!atTop;if(canConsume)return true;}}current=current.parentElement;}return false;};const updateEligibility=()=>{const eligible=window.innerWidth>809&&!mediaQuery.matches&&typeof window.requestAnimationFrame===\"function\";if(!eligible){if(teardownWheelListener){teardownWheelListener();teardownWheelListener=null;}if(activeTween){activeTween.kill();activeTween=null;}targetY=clamp(window.scrollY||window.pageYOffset||0,0,getMaxScrollY());return;}if(teardownWheelListener)return;const onWheel=event=>{if(!event.cancelable)return;if(event.ctrlKey||event.metaKey||event.shiftKey||event.altKey)return;if(isEditableTarget(event.target))return;const deltaY=normalizeWheelDelta(event);if(!Number.isFinite(deltaY)||deltaY===0)return;if(hasScrollableAncestorInDirection(event.target,deltaY))return;event.preventDefault();const maxScrollY=getMaxScrollY();targetY=clamp(targetY+deltaY,0,maxScrollY);if(activeTween){activeTween.kill();activeTween=null;}if((window.scrollY||window.pageYOffset||0)===targetY)return;if(typeof window.__framerGsap?.to===\"function\"){const gsapApi=window.__framerGsap;activeTween=gsapApi.to(window,{duration:.16,ease:\"power1.out\",overwrite:true,scrollTo:{y:targetY,autoKill:false}});}};window.addEventListener(\"wheel\",onWheel,{passive:false});teardownWheelListener=()=>{window.removeEventListener(\"wheel\",onWheel);};};(async()=>{try{const importESM=new Function(\"path\",\"return import(path)\");const[{gsap},{ScrollToPlugin}]=await Promise.all([importESM(\"https://cdn.jsdelivr.net/npm/gsap@3.12.5/+esm\"),importESM(\"https://cdn.jsdelivr.net/npm/gsap@3.12.5/ScrollToPlugin/+esm\")]);if(!isMounted)return;gsap.registerPlugin(ScrollToPlugin);window.__framerGsap=gsap;updateEligibility();}catch(_error){// Fail gracefully and preserve native scrolling.\n}})();const onResize=()=>updateEligibility();const onReducedMotionChange=()=>updateEligibility();const syncTargetOnNativeScroll=()=>{if(activeTween?.isActive?.())return;targetY=clamp(window.scrollY||window.pageYOffset||0,0,getMaxScrollY());};window.addEventListener(\"resize\",onResize,{passive:true});window.addEventListener(\"scroll\",syncTargetOnNativeScroll,{passive:true});mediaQuery.addEventListener(\"change\",onReducedMotionChange);return()=>{isMounted=false;if(teardownWheelListener)teardownWheelListener();if(activeTween)activeTween.kill();window.removeEventListener(\"resize\",onResize);window.removeEventListener(\"scroll\",syncTargetOnNativeScroll);mediaQuery.removeEventListener(\"change\",onReducedMotionChange);};},[]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props});});}export function withTimelineProgressFill(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const elementRef=useRef(null);const[progress,setProgress]=useState(0);const frameRef=useRef(null);const setMergedRef=useCallback(node=>{elementRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref&&\"current\"in ref){ref.current=node;}},[ref]);const resolveTimelineContainer=useCallback(element=>{const semanticAncestor=element.closest(\"section, article, main, [role='region'], [data-timeline-section]\");return semanticAncestor??element.parentElement??element;},[]);const updateProgress=useCallback(()=>{if(typeof window===\"undefined\")return;const element=elementRef.current;if(!element)return;const container=resolveTimelineContainer(element);const rect=container.getBoundingClientRect();const viewportHeight=window.innerHeight||1;const start=viewportHeight*.9;const end=-rect.height*.1;const raw=(start-rect.top)/(start-end||1);const clamped=Math.min(1,Math.max(0,raw));startTransition(()=>setProgress(clamped));},[resolveTimelineContainer]);useEffect(()=>{if(typeof window===\"undefined\")return;const scheduleUpdate=()=>{if(frameRef.current!==null)return;frameRef.current=window.requestAnimationFrame(()=>{frameRef.current=null;updateProgress();});};scheduleUpdate();window.addEventListener(\"scroll\",scheduleUpdate,{passive:true});window.addEventListener(\"resize\",scheduleUpdate,{passive:true});return()=>{if(frameRef.current!==null){window.cancelAnimationFrame(frameRef.current);frameRef.current=null;}window.removeEventListener(\"scroll\",scheduleUpdate);window.removeEventListener(\"resize\",scheduleUpdate);};},[updateProgress]);return /*#__PURE__*/_jsx(Component,{ref:setMergedRef,...props,style:{...props.style,transformOrigin:\"top center\",transform:`${props.style?.transform?`${props.style.transform} `:\"\"}scaleY(${progress})`,willChange:\"transform\"}});});}export function withTimelineMarkerFill(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const elementRef=useRef(null);const frameRef=useRef(null);const[activeProgress,setActiveProgress]=useState(0);const[baseColors,setBaseColors]=useState({background:null,border:null});const descendantColorRef=useRef(new Map);const setMergedRef=useCallback(node=>{elementRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref&&\"current\"in ref){ref.current=node;}},[ref]);const resolveTimelineRow=useCallback(element=>{const rowAncestor=element.closest(\"[data-timeline-row], [role='row'], li, article, section\");return rowAncestor??element.parentElement??element;},[]);const updateProgress=useCallback(()=>{if(typeof window===\"undefined\")return;const element=elementRef.current;if(!element)return;const row=resolveTimelineRow(element);const rowRect=row.getBoundingClientRect();const viewportHeight=window.innerHeight||1;const anchorY=rowRect.top+rowRect.height*.5;const startY=viewportHeight*.88;const targetY=viewportHeight*.62;const raw=(startY-anchorY)/(startY-targetY||1);const clamped=Math.min(1,Math.max(0,raw));startTransition(()=>setActiveProgress(clamped));},[resolveTimelineRow]);useEffect(()=>{const element=elementRef.current;if(!element)return;const computed=window.getComputedStyle(element);const nextBackground=parseToRGB(computed.backgroundColor||props.style?.backgroundColor);const nextBorder=parseToRGB(computed.borderColor||props.style?.borderColor);startTransition(()=>{setBaseColors({background:nextBackground,border:nextBorder});});const descendants=Array.from(element.querySelectorAll(\"*\"));descendantColorRef.current.clear();descendants.forEach(node=>{if(!(node instanceof HTMLElement))return;const styles=window.getComputedStyle(node);descendantColorRef.current.set(node,{inlineColor:node.style.color,inlineFill:node.style.fill,inlineStroke:node.style.stroke,color:parseToRGB(styles.color),fill:parseToRGB(styles.fill),stroke:parseToRGB(styles.stroke)});});},[props.style?.backgroundColor,props.style?.borderColor]);useEffect(()=>{descendantColorRef.current.forEach((value,node)=>{if(!node.isConnected)return;node.style.color=value.color?mixToRGB(value.color,WHITE_RGB,activeProgress):value.inlineColor;node.style.fill=value.fill?mixToRGB(value.fill,WHITE_RGB,activeProgress):value.inlineFill;node.style.stroke=value.stroke?mixToRGB(value.stroke,WHITE_RGB,activeProgress):value.inlineStroke;});},[activeProgress]);useEffect(()=>{if(typeof window===\"undefined\")return;const scheduleUpdate=()=>{if(frameRef.current!==null)return;frameRef.current=window.requestAnimationFrame(()=>{frameRef.current=null;updateProgress();});};scheduleUpdate();window.addEventListener(\"scroll\",scheduleUpdate,{passive:true});window.addEventListener(\"resize\",scheduleUpdate,{passive:true});return()=>{if(frameRef.current!==null){window.cancelAnimationFrame(frameRef.current);frameRef.current=null;}window.removeEventListener(\"scroll\",scheduleUpdate);window.removeEventListener(\"resize\",scheduleUpdate);descendantColorRef.current.forEach((value,node)=>{if(!node.isConnected)return;node.style.color=value.inlineColor;node.style.fill=value.inlineFill;node.style.stroke=value.inlineStroke;});};},[updateProgress]);const markerStyle=useMemo(()=>{const backgroundColor=baseColors.background?mixToRGB(baseColors.background,ORANGE_RGB,activeProgress):props.style?.backgroundColor;const borderColor=baseColors.border?mixToRGB(baseColors.border,ORANGE_RGB,activeProgress):props.style?.borderColor;return{...props.style,backgroundColor,borderColor,willChange:\"background-color, border-color\"};},[activeProgress,baseColors.background,baseColors.border,props.style]);return /*#__PURE__*/_jsx(Component,{ref:setMergedRef,...props,style:markerStyle});});}const ORANGE_RGB={r:22,g:169,b:174};const WHITE_RGB={r:255,g:255,b:255};function parseToRGB(colorValue){if(!colorValue)return null;const rgbMatch=colorValue.match(/rgba?\\(\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)/i);if(rgbMatch){return{r:Number(rgbMatch[1]),g:Number(rgbMatch[2]),b:Number(rgbMatch[3])};}const normalizedHex=colorValue.trim().replace(\"#\",\"\");if(/^[0-9a-f]{3}$/i.test(normalizedHex)){return{r:parseInt(normalizedHex[0]+normalizedHex[0],16),g:parseInt(normalizedHex[1]+normalizedHex[1],16),b:parseInt(normalizedHex[2]+normalizedHex[2],16)};}if(/^[0-9a-f]{6}$/i.test(normalizedHex)){return{r:parseInt(normalizedHex.slice(0,2),16),g:parseInt(normalizedHex.slice(2,4),16),b:parseInt(normalizedHex.slice(4,6),16)};}return null;}function mixToRGB(from,to,progress){const t=Math.min(1,Math.max(0,progress));const r=Math.round(from.r+(to.r-from.r)*t);const g=Math.round(from.g+(to.g-from.g)*t);const b=Math.round(from.b+(to.b-from.b)*t);return`rgb(${r}, ${g}, ${b})`;}\nexport const __FramerMetadata__ = {\"exports\":{\"withHover\":{\"type\":\"reactHoc\",\"name\":\"withHover\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withTimelineMarkerFill\":{\"type\":\"reactHoc\",\"name\":\"withTimelineMarkerFill\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withTimelineProgressFill\":{\"type\":\"reactHoc\",\"name\":\"withTimelineProgressFill\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHeaderScrollInset\":{\"type\":\"reactHoc\",\"name\":\"withHeaderScrollInset\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRandomColor\":{\"type\":\"reactHoc\",\"name\":\"withRandomColor\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withGsapSmoothScroll\":{\"type\":\"reactHoc\",\"name\":\"withGsapSmoothScroll\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRotate\":{\"type\":\"reactHoc\",\"name\":\"withRotate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Examples.map"],"mappings":"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"}