{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/k76epLFsVsF4jlsF5pgg/vhK3G0ntf62fqS2tFDno/useColors.js", "ssg:https://framerusercontent.com/modules/3IRcdSKMsgRyQ9gSaApX/M78UEPhT3wrz39QISNV2/TextWave_Prod.js", "ssg:https://framer.com/m/Utils-Component-Message-ZVoG.js@cRfVFRl0izzBulKFjOAe", "ssg:https://framerusercontent.com/modules/aej5zpwxBpkMdzOteBwy/DWeAZ5wauvGM5oFwVdgS/Utils.js", "ssg:https://framerusercontent.com/modules/WFMQfiowoJrd5LLDWzbw/J7PDwmIuDSKZi6lvb4o3/ScrollMedia_Prod.js", "ssg:https://framerusercontent.com/modules/Hj20QU19p80mpYsvesiZ/RfHh9MIwqlgi04HKZ3Qo/Clipboard.js", "ssg:https://framerusercontent.com/modules/7ma95ir3nxSo9DufoDka/sPH5rjw20D4NEXiGsmN6/Oh6pSo2jg.js", "ssg:https://framerusercontent.com/modules/I1DC9cTt2FcHsDUAaRxW/qv6ME5iAGhQXu7YEHOPJ/SVG.js", "ssg:https://framerusercontent.com/modules/dMIWpe0KSyQn1VKWg72x/KMDcReA9TADBCSRZMGml/Vz2zODPaq.js", "ssg:https://framerusercontent.com/modules/yaBSG98s1OqSd5A4aG7q/Pjjo5Yqn7a65ecU6pYgl/ErWKXLzDh.js", "ssg:https://framerusercontent.com/modules/gPDWjHsWLVLqhJxDT6hj/SmJaXvo2Vm2UaKaii5PD/zrfNNVpAI.js", "ssg:https://framerusercontent.com/modules/j5AZ2TP6qkyGSpe0diKy/7BVjrjmgr60v9YwlnmGl/Magic_brush_test.js"],
  "sourcesContent": ["import{RenderTarget}from\"framer\";import{useEffect,useState,useMemo}from\"react\";const cssVariableRegex=/var\\s*\\(\\s*(--[\\w-]+)(?:\\s*,\\s*((?:[^)(]+|\\((?:[^)(]+|\\([^)(]*\\))*\\))*))?\\s*\\)/;export function useColors(...colors){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isOptimizing=typeof window===\"undefined\";const darkMode=useDarkMode();const[styleValues,setStyleValues]=useState(()=>extractStyleValues(colors.map(extractCSSVariableName)));useEffect(()=>{if(!isCanvas)return;const div=document.body.querySelector(\"main > div\");if(!div)return;const observer=new MutationObserver(()=>{setStyleValues(extractStyleValues(colors.map(extractCSSVariableName)));});observer.observe(div,{attributes:true,attributeFilter:[\"style\"]});return()=>observer.disconnect();},colors);const variableNames=useMemo(()=>colors.map(extractCSSVariableName),[colors]);if(isOptimizing){return colors.map(color=>extractDefaultValue(color));}let values=[];for(let i=0;i<colors.length;i++){const color=colors[i];// Return original value if not a string\nif(typeof color!==\"string\"){values.push(color);continue;}const variableName=variableNames[i];const colorValues=styleValues[variableName];if(variableName&&colorValues){values.push(darkMode?colorValues.dark||colorValues.light||color:colorValues.light||color);}else{values.push(color);}}return values;}////////////////////\nfunction extractStyleValues(variableNames){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const result={};let lightVars={};let darkVars={};if(isCanvas&&typeof document!==\"undefined\"){const div=document.body.querySelector(\"main > div\");if(div){const style=div.getAttribute(\"style\");if(style){const vars=parseVariables(style);lightVars=vars;darkVars=vars;}}}else{const{light,dark}=extractColorStyles();lightVars=parseVariables(light);darkVars=parseVariables(dark);}// Include all variables\nconst allVarNames=new Set([...Object.keys(lightVars),...Object.keys(darkVars)]);allVarNames.forEach(varName=>{result[varName]={light:lightVars[varName]||\"\",dark:darkVars[varName]||\"\"};});return result;}function extractColorStyles(){let lightSection=\"\";let darkSection=\"\";if(typeof document!==\"undefined\"){const styles=document.head.querySelectorAll(\"style[data-framer-css], style[data-framer-css-ssr], style[data-framer-css-ssr-minified]\");for(const style of styles){const rules=style.sheet?.cssRules;if(!rules)continue;const styleRules=[];for(const rule of rules){if(rule instanceof CSSStyleRule){styleRules.push([rule,false]);}else if(rule instanceof CSSMediaRule){if(rule.conditionText===\"(prefers-color-scheme: dark)\"){for(const subrule of rule.cssRules){if(subrule instanceof CSSStyleRule){styleRules.push([subrule,true]);}}}}}for(const[rule,isDarkMedia]of styleRules){const css=rule.cssText;const hasVars=css.includes(\"--token-\");if(!hasVars)continue;const isDark=isDarkMedia?rule.selectorText===\"body\":rule.selectorText==='body[data-framer-theme=\"dark\"]';const isLight=!isDarkMedia&&rule.selectorText===\"body\";if(!isDark&&!isLight)continue;if(isDark){if(!darkSection){darkSection=css.substring(css.indexOf(\"{\")+1,css.lastIndexOf(\"}\")).trim();}}else{if(!lightSection){lightSection=css.substring(css.indexOf(\"{\")+1,css.lastIndexOf(\"}\")).trim();}}if(darkSection&&lightSection)break;}if(darkSection&&lightSection)break;}}return{light:lightSection,dark:darkSection};}export function useDarkMode(){const isPreview=typeof window!==\"undefined\"&&window.location.origin.endsWith(\"framercanvas.com\");const[isDarkMode,setIsDarkMode]=useState(()=>{if(typeof window===\"undefined\"){return false;}else if(isPreview&&typeof document!==\"undefined\"){return document.body.getAttribute(\"data-framer-theme\")===\"dark\";}else{return window.matchMedia(\"(prefers-color-scheme: dark)\").matches;}});useEffect(()=>{if(isPreview){const observer=new MutationObserver(mutations=>{mutations.forEach(mutation=>{if(mutation.attributeName===\"data-framer-theme\"){const theme=document.body.getAttribute(\"data-framer-theme\");setIsDarkMode(theme===\"dark\");}});});observer.observe(document.body,{attributes:true,attributeFilter:[\"data-framer-theme\"]});return()=>observer.disconnect();}else{const mediaQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");const handleChange=e=>{setIsDarkMode(e.matches);};// Update initial value\nif(mediaQuery.matches!==isDarkMode){setIsDarkMode(mediaQuery.matches);}mediaQuery.addListener(handleChange);return()=>mediaQuery.removeListener(handleChange);}},[isPreview]);return isDarkMode;}function extractCSSVariableName(cssString){if(!cssString||!cssString.startsWith(\"var(\")){return\"\";}const match=cssVariableRegex.exec(cssString);if(match){const variableName=match[1];return variableName||\"\";}return\"\";}function parseVariables(section){const vars={};if(!section)return vars;const declarations=section.split(\";\").filter(Boolean);declarations.forEach(declaration=>{const[name,value]=declaration.split(\":\").map(s=>s.trim());if(name&&value){vars[name]=value;}});return vars;}function extractDefaultValue(cssVar){// Check if the string starts with \"var(\"\nif(!cssVar||!cssVar.startsWith(\"var(\")){return cssVar// Return the original value if it doesn't start with \"var(\"\n;}// Remove \"var(\" from the beginning and \")\" from the end\nconst content=cssVar.slice(4,-1);// Split the content by comma\nconst parts=content.split(\",\");// If there's more than one part, the second part is the default value\nif(parts.length>1){// Trim any whitespace from the default value\nreturn parts.slice(1).join(\",\").trim();}// If there's no comma, return an empty string or null\nreturn\"\";}\nexport const __FramerMetadata__ = {\"exports\":{\"useDarkMode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useColors\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useColors.map", "import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,Color}from\"framer\";import{useEffect,useRef,useMemo}from\"react\";import{motion,animate,easeInOut,useInView}from\"framer-motion\";import{useColors}from\"https://framerusercontent.com/modules/k76epLFsVsF4jlsF5pgg/vhK3G0ntf62fqS2tFDno/useColors.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n */export default function TextWave(props){const{text,tag,per,origin,colors,font,userSelect,waveWidth,waveScale,speed,resize,animation,glow,direction}=props;const{loop,trigger,replay,delay}=animation;const id=useMemo(generateRandomString,[]);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=useRef(null);const elementsRef=useRef([]);const spanWidthsRef=useRef([]);const[defaultColor,waveInColor,waveOutColor]=useColors(colors.defaultColor,colors.waveInColor,colors.waveOutColor);const waveInColorObject=useMemo(()=>Color(waveInColor),[waveInColor]);const glowColorObject=useMemo(()=>glow?Color(glow.color):null,[glow?.color]);const textColorObjectRef=useRef(Color(delay===0?waveOutColor:defaultColor));const interpolateColorRef=useRef(Color.interpolate(waveInColorObject,Color(waveOutColor||defaultColor)));const isInView=useInView(ref,{once:loop||!replay,amount:\"some\"});const textAlign=font?.textAlign||\"center\";const MotionTag=motion[tag]||motion.span;const spanClassName=`${id}-span`;const waveRange=(waveWidth+1)/2;const progressRef=useRef(-waveRange-1);const[lines,wordCount]=useMemo(()=>{const textLines=text.split(\"\\n\");let wordCount=0;const lines=[];for(let i=0;i<textLines.length;i++){const line=textLines[i].split(/[ \\t]+/);lines.push(line);wordCount+=line.length;}return[lines,wordCount];},[text]);let index=0;const createLineChildren=(lineIndex,lineWords)=>{return lineWords.map((word,wordIndex)=>{if(per===\"character\"){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{className:`${id}-word-wrapper`,children:word.split(\"\").map((char,charIndex)=>{const savedIndex=index;index++;return /*#__PURE__*/_jsx(\"span\",{ref:el=>{if(el)elementsRef.current[savedIndex]=el;},className:spanClassName,children:char},`${lineIndex}-${wordIndex}-${charIndex}`);})},`${lineIndex}-${wordIndex}`),wordIndex<lineWords.length-1&&\" \"]});}const savedIndex=index;index++;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{ref:el=>{if(el)elementsRef.current[savedIndex]=el;},className:spanClassName,children:word},`${lineIndex}-${wordIndex}`),wordIndex<lineWords.length-1&&\" \"]});});};useEffect(()=>{let colorAnimation=null;let animation=null;let timeoutId=null;let animationFrame=null;const animateTextColor=animateIn=>{if(!waveOutColor||defaultColor===waveOutColor){return;}if(colorAnimation){colorAnimation.stop();}const interpolateTextColor=Color.interpolate(textColorObjectRef.current,Color(animateIn?waveOutColor:defaultColor));colorAnimation=animate(0,1,{type:\"spring\",bounce:0,duration:mapRange(speed,0,100,1.5,1),onUpdate:value=>{const colorObject=interpolateTextColor(value);textColorObjectRef.current=colorObject;interpolateColorRef.current=Color.interpolate(waveInColorObject,colorObject);if(ref.current){ref.current.style.color=colorObject.toValue();}}});};const runAnimation=()=>{animateTextColor(true);const segments=per===\"word\"?wordCount:text.length;const start=direction===\"right\"?-waveRange:segments+waveRange;const end=direction===\"right\"?segments+waveRange:-waveRange;animation=animate(start,end,{type:\"ease\",ease:\"linear\",duration:Math.exp(mapRange(speed,0,100,Math.log(.3),Math.log(.01)))*(segments+waveRange*2),onUpdate:value=>{progressRef.current=value;},onComplete:()=>{if(ref.current){ref.current.style.transform=\"\";}if(loop&&isInView){timeoutId=setTimeout(runAnimation,delay*1e3);}animateTextColor(false);}});};const updateText=()=>{let cumulativeOffset=0;let elementOffset=[];let prevYPosition=0;const elementLineMap=new Map;const elementScaleMap=new Map;const lineOffsets=[];let lineIndex=-1;for(let i=0;i<elementsRef.current.length;i++){const element=elementsRef.current[i];if(!element)continue;const offset=Math.abs(progressRef.current-i);const boundingClientRect=element.getBoundingClientRect();const yPosition=origin===\"center\"?boundingClientRect.y+boundingClientRect.height/2:boundingClientRect.y+boundingClientRect.height;if(Math.abs(yPosition-prevYPosition)>2){// New line has started\nlineIndex++;if(lineIndex>0){lineOffsets[lineIndex-1]=cumulativeOffset;}cumulativeOffset=0;}prevYPosition=yPosition;elementLineMap.set(element,lineIndex);if(offset>waveRange){element.style.color=\"\";element.style.margin=\"\";element.style.textShadow=\"\";elementOffset[i]=cumulativeOffset;}else{const offsetPercent=easeInOut(offset/waveRange);const scaleValue=mapRange(offsetPercent,0,1,waveScale,1);const halfOffset=resize?spanWidthsRef.current[i]*(scaleValue-1)/2:0;elementScaleMap.set(element,scaleValue);cumulativeOffset+=halfOffset;elementOffset[i]=cumulativeOffset;if(glow){element.style.textShadow=glow.blur>0?`0 0 ${glow.blur}px rgba(${glowColorObject.r}, ${glowColorObject.g}, ${glowColorObject.b}, ${glowColorObject.a*(1-offsetPercent)})`:\"\";}element.style.color=offsetPercent>=1?waveOutColor||defaultColor:offsetPercent<=0?waveInColor:interpolateColorRef.current?.(offsetPercent).toValue()||waveOutColor||defaultColor;cumulativeOffset+=halfOffset;}if(i===elementsRef.current.length-1){lineOffsets[lineIndex]=cumulativeOffset;}}for(let i=0;i<elementsRef.current.length;i++){const element=elementsRef.current[i];if(!element)continue;const scaleValue=elementScaleMap.get(element)||1;const scale=scaleValue!==1?`scale(${scaleValue})`:\"\";if(!resize){element.style.transform=scale;continue;}const offset=elementOffset[i];const lineIndex=elementLineMap.get(element)||0;const lineOffset=lineOffsets[lineIndex];let offsetValue=offset;switch(textAlign){case\"center\":offsetValue-=lineOffset/2;break;case\"right\":offsetValue-=lineOffset;break;}const translate=Math.abs(offsetValue)>.1?`translateX(${offsetValue}px)`:\"\";element.style.transform=translate&&scale?`${translate} ${scale}`:translate||scale;}animationFrame=requestAnimationFrame(updateText);};if(!isCanvas){animationFrame=requestAnimationFrame(updateText);const shouldAnimate=loop?isInView:trigger===\"appear\"||trigger===\"layerInView\"&&isInView;if(shouldAnimate){if(delay){timeoutId=setTimeout(runAnimation,delay*1e3);}else{runAnimation();}}}return()=>{animation?.cancel();colorAnimation?.stop();if(animationFrame){cancelAnimationFrame(animationFrame);}if(timeoutId){clearTimeout(timeoutId);}};},[isInView]);useEffect(()=>{if(!isCanvas){elementsRef.current.forEach((el,i)=>{if(el){spanWidthsRef.current[i]=el.getBoundingClientRect().width;}});}},[isCanvas,text,font]);return /*#__PURE__*/_jsxs(MotionTag,{ref:ref,style:{...props.style,transformStyle:\"preserve-3d\",whiteSpace:props.style?.width?undefined:\"nowrap\",userSelect:userSelect?\"auto\":\"none\",margin:0,textAlign,color:isCanvas?colors.defaultColor:textColorObjectRef.current?.toValue()||colors.defaultColor,...font},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n\t\t\t\t.${id}-line {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\ttransform-style: preserve-3d;\n\t\t\t\t}\n\t\t\t\t.${id}-word-wrapper {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\ttransform-style: preserve-3d;\n\t\t\t\t\twhite-space: pre;\n\t\t\t\t}\n\t\t\t\t.${id}-span {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\ttransform-style: preserve-3d;\n\t\t\t\t\twhite-space: pre;\n\t\t\t\t\twill-change: transform, color, text-shadow;\n\t\t\t\t\ttransform-origin: ${origin===\"center\"?\"50% 50%\":\"50% 100%\"};\n\t\t\t\t}\n\t\t\t\t`}),lines.length===1?createLineChildren(0,lines[0]):lines.map((lineWords,lineIndex)=>/*#__PURE__*/_jsx(\"span\",{className:`${id}-line`,children:createLineChildren(lineIndex,lineWords)},lineIndex))]});}TextWave.displayName=\"Text Wave\";addPropertyControls(TextWave,{text:{type:ControlType.String,defaultValue:\"Learn Framer With Framer University\",placeholder:\"Text\"},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:32,lineHeight:1}},colors:{type:ControlType.Object,buttonTitle:\"Colors\",controls:{defaultColor:{type:ControlType.Color,defaultValue:\"#FFF\",title:\"Default\"},waveInColor:{type:ControlType.Color,defaultValue:\"#FFF\",title:\"Wave In\"},waveOutColor:{type:ControlType.Color,defaultValue:\"rgba(255, 255, 255, 0.5)\",optional:true,title:\"Wave Out\"}}},glow:{type:ControlType.Object,optional:true,icon:\"effect\",controls:{color:{type:ControlType.Color,defaultValue:\"#FFF\"},blur:{type:ControlType.Number,defaultValue:10,min:0,max:100,step:1}}},per:{type:ControlType.Enum,options:[\"character\",\"word\"],optionTitles:[\"Letter\",\"Word\"],displaySegmentedControl:true},waveWidth:{type:ControlType.Number,defaultValue:10,min:1,max:100,step:1,title:\"Wave Width\"},waveScale:{type:ControlType.Number,defaultValue:1.2,min:0,max:2,step:.01,title:\"Scale\"},origin:{type:ControlType.Enum,defaultValue:\"center\",options:[\"center\",\"bottom\"],optionTitles:[\"Center\",\"Bottom\"],// optionIcons: [\"align-middle\", \"align-bottom\"],\ndisplaySegmentedControl:true,hidden:props=>props.waveScale===1},resize:{type:ControlType.Boolean,defaultValue:true},direction:{type:ControlType.Enum,defaultValue:\"right\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],optionIcons:[\"direction-left\",\"direction-right\"],displaySegmentedControl:true},speed:{type:ControlType.Number,defaultValue:50,min:0,max:100,step:1,unit:\"%\"},animation:{type:ControlType.Object,icon:\"effect\",controls:{loop:{type:ControlType.Boolean,defaultValue:false},trigger:{type:ControlType.Enum,defaultValue:\"layerInView\",options:[\"appear\",\"layerInView\"],optionTitles:[\"Appear\",\"Layer in View\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\",hidden:props=>props.loop},replay:{type:ControlType.Boolean,defaultValue:true,hidden:props=>props.loop||props.trigger!==\"layerInView\"},delay:{type:ControlType.Number,defaultValue:0,min:0,step:.1}}},userSelect:{type:ControlType.Boolean,defaultValue:false},tag:{type:ControlType.Enum,title:\"Tag\",defaultValue:\"p\",displaySegmentedControl:true,options:[\"h1\",\"h2\",\"h3\",\"p\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"P\"],description:\"More components at [Framer University](https://frameruni.link/cc).\"}});function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}const CHARACTERS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";function generateRandomString(){let result=\"\";for(let i=0;i<8;i++){const randomIndex=Math.floor(Math.random()*CHARACTERS.length);result+=CHARACTERS.charAt(randomIndex);}return result;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextWave\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicHeight\":\"200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (0b8b5e5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const serializationHash=\"framer-q8Ttd\";const variantClassNames={XvqTw0Be9:\"framer-v-jjcw9a\"};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(React.Fragment);const getProps=({height,id,subtitle,title,width,...props})=>{var _ref,_ref1;return{...props,WuF2iG84P:(_ref=subtitle!==null&&subtitle!==void 0?subtitle:props.WuF2iG84P)!==null&&_ref!==void 0?_ref:\"Set up the component by adding background and bouncer elements to the component properties.\",yeAnKbEUZ:(_ref1=title!==null&&title!==void 0?title:props.yeAnKbEUZ)!==null&&_ref1!==void 0?_ref1:\"Screen Saver\"};};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,yeAnKbEUZ,WuF2iG84P,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"XvqTw0Be9\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);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-jjcw9a\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"XvqTw0Be9\",ref:ref!==null&&ref!==void 0?ref:ref1,style:{backgroundColor:\"rgba(136, 85, 255, 0.1)\",...style},children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-uh2i08\",layoutDependency:layoutDependency,layoutId:\"aM7oiNoFL\",children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-flw0dh\",\"data-framer-name\":\"Logo\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"GthLmGmBt\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 28 28\"><g id=\"ss11036020200_1\"><path d=\"M 0 0 L 28 0 L 28 28 L 0 28 Z\" fill=\"transparent\"></path><path d=\"M 21 7.113 C 21 7.041 21.029 6.971 21.079 6.921 L 27.534 0.465 C 27.613 0.388 27.73 0.365 27.831 0.407 C 27.933 0.449 28 0.548 28 0.658 L 28 13.888 C 28 13.96 27.971 14.028 27.921 14.079 L 21 21 Z M 7 21 L 7 7.658 C 7 7.548 6.933 7.449 6.831 7.407 C 6.73 7.365 6.613 7.388 6.534 7.465 L 0.079 13.921 C 0.028 13.972 0 14.041 0 14.113 L 0 27.728 C 0 27.877 0.122 28 0.273 28 L 13.888 28 C 13.96 28 14.028 27.971 14.079 27.921 L 21 21 Z\" fill=\"rgb(153, 102, 255)\"></path></g></svg>',svgContentId:11036020200,withExternalLayout:true}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-k3ullq\",layoutDependency:layoutDependency,layoutId:\"E3DQBYSAf\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItQm9sZA==\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"11px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"1em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(153, 102, 255))\"},children:\"Screen Saver\"})}),className:\"framer-q0gs4u\",\"data-framer-name\":\"Title\",fonts:[\"Inter-Bold\"],layoutDependency:layoutDependency,layoutId:\"UqJwZqJjg\",style:{\"--extracted-r6o4lv\":\"rgb(153, 102, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:yeAnKbEUZ,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"11px\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"1.4em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgba(153, 102, 255, 0.7))\"},children:\"Set up the component by adding background and bouncer elements to the component properties.\"})}),className:\"framer-g5dqhc\",\"data-framer-name\":\"Subtitle\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"RJ7UF99m8\",style:{\"--extracted-r6o4lv\":\"rgba(153, 102, 255, 0.7)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:WuF2iG84P,verticalAlignment:\"top\",withExternalLayout:true})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-q8Ttd.framer-qanqo2, .framer-q8Ttd .framer-qanqo2 { display: block; }\",\".framer-q8Ttd.framer-jjcw9a { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 200px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 400px; }\",\".framer-q8Ttd .framer-uh2i08 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: hidden; padding: 0px 20px 0px 20px; position: relative; width: 1px; }\",\".framer-q8Ttd .framer-flw0dh { flex: none; height: 28px; position: relative; width: 28px; }\",\".framer-q8Ttd .framer-k3ullq { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: center; max-width: 200px; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-q8Ttd .framer-q0gs4u, .framer-q8Ttd .framer-g5dqhc { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-q8Ttd.framer-jjcw9a, .framer-q8Ttd .framer-uh2i08, .framer-q8Ttd .framer-k3ullq { gap: 0px; } .framer-q8Ttd.framer-jjcw9a > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-q8Ttd.framer-jjcw9a > :first-child { margin-left: 0px; } .framer-q8Ttd.framer-jjcw9a > :last-child { margin-right: 0px; } .framer-q8Ttd .framer-uh2i08 > * { margin: 0px; margin-bottom: calc(16px / 2); margin-top: calc(16px / 2); } .framer-q8Ttd .framer-uh2i08 > :first-child, .framer-q8Ttd .framer-k3ullq > :first-child { margin-top: 0px; } .framer-q8Ttd .framer-uh2i08 > :last-child, .framer-q8Ttd .framer-k3ullq > :last-child { margin-bottom: 0px; } .framer-q8Ttd .framer-k3ullq > * { margin: 0px; margin-bottom: calc(12px / 2); margin-top: calc(12px / 2); } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 400\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"yeAnKbEUZ\":\"title\",\"WuF2iG84P\":\"subtitle\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerW7oLCU4_B=withCSS(Component,css,\"framer-q8Ttd\");export default FramerW7oLCU4_B;FramerW7oLCU4_B.displayName=\"Utils/Component Message\";FramerW7oLCU4_B.defaultProps={height:200,width:400};addPropertyControls(FramerW7oLCU4_B,{yeAnKbEUZ:{defaultValue:\"Screen Saver\",displayTextArea:false,title:\"Title\",type:ControlType.String},WuF2iG84P:{defaultValue:\"Set up the component by adding background and bouncer elements to the component properties.\",displayTextArea:false,title:\"Subtitle\",type:ControlType.String}});addFonts(FramerW7oLCU4_B,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/DXD0Q7LSl7HEvDzucnyLnGBHM.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerW7oLCU4_B\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerVariables\":\"{\\\"yeAnKbEUZ\\\":\\\"title\\\",\\\"WuF2iG84P\\\":\\\"subtitle\\\"}\",\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./W7oLCU4_B.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{cloneElement}from\"react\";import UtilsComponentMessage from\"https://framer.com/m/Utils-Component-Message-ZVoG.js@cRfVFRl0izzBulKFjOAe\";export const ComponentMessage=({title,subtitle,style})=>{return /*#__PURE__*/_jsx(UtilsComponentMessage,{yeAnKbEUZ:title,WuF2iG84P:subtitle,style:{width:\"100%\",height:\"100%\",...style}});};/* \n    This function is also used many times to make sure components work even if we set a color style like \"Accent\" on their color properties. We can make this into a utility function.\n*/export const extractRGBColorFromString=str=>{const rgbRegex=/(rgba|rgb)\\(.*?\\)/g;const match=str.match(rgbRegex);return match?match[0]:str;};/*\n    This function makes a connected layer use the sizing of the component it is inside,\n    preventing it from being larger or smaller than the component's size.\n    Use this on layers connected with ControlType.ComponentInstance.\n*/export function styleLayer(layer,style={}){layer=Array.isArray(layer)?layer[0]:layer;let newLayer=layer;const{width,height,...otherStyle}=style;if(layer&&layer.props&&style&&(width||height)){if(typeof layer.type===\"function\"&&typeof layer.props.children===\"object\"){newLayer=/*#__PURE__*/cloneElement(layer,{children:{...layer.props.children,props:{...layer.props.children.props,style:{...layer.props.children.props.style,...width&&{width},...height&&{height},...otherStyle}}}});}else{newLayer=/*#__PURE__*/cloneElement(layer,{style:{...layer.props.style,...width&&{width},...height&&{height},...otherStyle}});}}return newLayer;}\nexport const __FramerMetadata__ = {\"exports\":{\"ComponentMessage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"extractRGBColorFromString\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"styleLayer\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Utils.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{useMotionValue}from\"framer-motion\";import{ComponentMessage}from\"https://framerusercontent.com/modules/aej5zpwxBpkMdzOteBwy/DWeAZ5wauvGM5oFwVdgS/Utils.js\";const MediaRenderer=/*#__PURE__*/React.memo(({mode,media,currentTime,imageFit,videoRef,display,poster,posterEnabled})=>{const commonStyle={width:\"100%\",height:\"100%\",objectFit:imageFit,position:\"absolute\",top:0,left:0,display};React.useEffect(()=>{if(mode===\"video\"&&videoRef?.current&&currentTime!==undefined){const video=videoRef.current;if(Math.abs(video.currentTime-currentTime)>.1){video.currentTime=currentTime;}}},[mode,videoRef,currentTime]);if(mode===\"image\"){return /*#__PURE__*/_jsx(\"img\",{src:media.src,style:commonStyle,alt:\"\"});}else{return /*#__PURE__*/_jsx(\"video\",{ref:videoRef,src:media,style:commonStyle,preload:\"auto\",muted:true,playsInline:true,poster:posterEnabled?poster:undefined});}});/**\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function ScrollMedia({mode,images,video,scrollAreaHeight,imageFit,frameRate=30,sequenceStartOffset=0,triggerPosition=\"text-align-top\",poster,posterEnabled}){const[mediaState,setMediaState]=React.useState({loadedMedia:[],currentTime:0,videoDuration:0,isVideoMetadataLoaded:false});const videoRef=React.useRef(null);const componentRef=React.useRef(null);const scrollY=useMotionValue(0);const lastUpdateTime=React.useRef(0);const frameInterval=React.useMemo(()=>1e3/frameRate,[frameRate]);const startPositionRef=React.useRef(null);React.useEffect(()=>{if(mode===\"image\"){const preloadedImages=images.map(src=>{const img=new Image;img.src=src;return img;});setMediaState(prev=>({...prev,loadedMedia:preloadedImages}));}else{setMediaState(prev=>({...prev,loadedMedia:[],isVideoMetadataLoaded:false}));}},[images,mode]);React.useEffect(()=>{if(mode===\"video\"&&videoRef.current){const handleLoadedMetadata=()=>{setMediaState(prev=>({...prev,videoDuration:videoRef.current.duration,isVideoMetadataLoaded:true}));};videoRef.current.addEventListener(\"loadedmetadata\",handleLoadedMetadata);videoRef.current.load();return()=>{videoRef.current?.removeEventListener(\"loadedmetadata\",handleLoadedMetadata);};}},[mode,video]);const getOriginalPosition=element=>{// Find sticky parent or use the element itself if no sticky parent\nconst findStickyParent=el=>{let currentElement=el;while(currentElement&&currentElement!==document.body){const position=window.getComputedStyle(currentElement).position;if(position===\"sticky\"){return currentElement;}currentElement=currentElement.parentElement;}return null;};const stickyElement=findStickyParent(element);const targetElement=stickyElement||element;// Store original position\nconst originalPosition=targetElement.style.position;// Temporarily remove positioning\ntargetElement.style.position=\"static\";// Get position\nconst rect=targetElement.getBoundingClientRect();const scrollTop=window.pageYOffset||document.documentElement.scrollTop;const top=rect.top+scrollTop;// Restore original position\ntargetElement.style.position=originalPosition;return top;};const updateMediaPosition=React.useCallback(scrollPosition=>{if(!componentRef.current)return;const now=performance.now();if(mode===\"video\"&&now-lastUpdateTime.current<frameInterval)return;const rect=componentRef.current.getBoundingClientRect();const viewportHeight=window.innerHeight;const documentHeight=document.documentElement.scrollHeight;let triggerPoint=0;switch(triggerPosition){case\"text-align-middle\":triggerPoint=viewportHeight/2;break;case\"text-align-bottom\":triggerPoint=viewportHeight;break;default:triggerPoint=0;}let element=componentRef.current;if(startPositionRef.current===null&&rect.top<=triggerPoint){startPositionRef.current=getOriginalPosition(componentRef.current);}if(startPositionRef.current!==null){const scrollDistance=scrollPosition-startPositionRef.current;const totalScrollDistance=documentHeight-startPositionRef.current;const effectiveScrollArea=Math.min(scrollAreaHeight,totalScrollDistance);const progress=Math.max(0,Math.min(scrollDistance/effectiveScrollArea,1));if(mode===\"image\"){const newIndex=Math.floor(progress*(mediaState.loadedMedia.length-1));setMediaState(prev=>({...prev,currentTime:Math.min(newIndex,prev.loadedMedia.length-1)}));}else if(mode===\"video\"&&mediaState.videoDuration>0){const newTime=progress*mediaState.videoDuration;setMediaState(prev=>({...prev,currentTime:Math.min(newTime,prev.videoDuration)}));}}lastUpdateTime.current=now;},[mode,triggerPosition,scrollAreaHeight,mediaState.loadedMedia.length,mediaState.videoDuration,frameInterval]);const handleScroll=React.useCallback(()=>{requestAnimationFrame(()=>{const scrollPosition=window.scrollY;scrollY.set(scrollPosition);updateMediaPosition(scrollPosition);});},[scrollY,updateMediaPosition]);React.useEffect(()=>{window.addEventListener(\"scroll\",handleScroll,{passive:true});return()=>{window.removeEventListener(\"scroll\",handleScroll);startPositionRef.current=null;};},[handleScroll,video]);React.useEffect(()=>{const initialScrollPosition=window.scrollY;if(mode===\"video\"&&mediaState.isVideoMetadataLoaded){const initialScrollPosition=window.scrollY;scrollY.set(initialScrollPosition);updateMediaPosition(initialScrollPosition);}if(mode===\"image\"){scrollY.set(initialScrollPosition);updateMediaPosition(initialScrollPosition);}},[mode,mediaState.isVideoMetadataLoaded,updateMediaPosition]);const isEmptyState=React.useMemo(()=>{return mode===\"image\"&&images.length===0||mode===\"video\"&&!video;},[mode,images,video]);if(isEmptyState){return /*#__PURE__*/_jsx(ComponentMessage,{title:\"Scroll Media Component\",subtitle:mode===\"video\"?\"Upload a video file on the right properties panel.\":\"Upload your images/video on the right properties panel.\"});}return /*#__PURE__*/_jsx(\"div\",{ref:componentRef,style:{width:\"100%\",height:\"100%\",position:\"relative\"},children:mode===\"image\"?mediaState.loadedMedia.map((img,index)=>/*#__PURE__*/_jsx(MediaRenderer,{mode:\"image\",media:img,imageFit:imageFit,display:index===Math.floor(mediaState.currentTime)?\"block\":\"none\"},index)):/*#__PURE__*/_jsx(MediaRenderer,{mode:\"video\",media:video,currentTime:mediaState.currentTime,imageFit:imageFit,videoRef:videoRef,display:\"block\",poster:poster,posterEnabled:posterEnabled})});}ScrollMedia.displayName=\"Scroll Media\";ScrollMedia.defaultProps={mode:\"image\",images:[],video:\"\",scrollAreaHeight:5e3,imageFit:\"cover\",frameRate:30,sequenceStartOffset:0,triggerPosition:\"text-align-top\",posterEnabled:false,poster:\"\"};addPropertyControls(ScrollMedia,{mode:{type:ControlType.Enum,title:\"Mode\",options:[\"image\",\"video\"],optionTitles:[\"Image\",\"Video\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},images:{type:ControlType.Array,title:\"Images\",propertyControl:{type:ControlType.Image},hidden:({mode})=>mode!==\"image\"},video:{type:ControlType.File,title:\"Video\",allowedFileTypes:[\"mp4\"],hidden:({mode})=>mode!==\"video\"},imageFit:{type:ControlType.Enum,title:\"Media Fit\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],displaySegmentedControl:true,segmentedControlDirection:\"horizontal\"},posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"I recommend adding a poster. [Learn more](https://framer.com/help/articles/how-are-videos-optimized-in-framer/).\",hidden:({mode})=>mode!==\"video\"},poster:{type:ControlType.Image,title:\" \",hidden:({mode,posterEnabled})=>mode!==\"video\"||!posterEnabled},triggerPosition:{type:ControlType.Enum,title:\"Start\",options:[\"text-align-top\",\"text-align-middle\",\"text-align-bottom\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],optionIcons:[\"text-align-top\",\"text-align-middle\",\"text-align-bottom\"],displaySegmentedControl:true,segmentedControlDirection:\"horizontal\"},scrollAreaHeight:{type:ControlType.Number,title:\"Length\",description:\"Rule of thumb: 500 for each second of the video. So for a 10s video, set length to 5000.\",min:10,max:1e5,step:100},frameRate:{type:ControlType.Number,title:\"FPS\",min:1,max:60,step:1,hidden:({mode})=>mode!==\"video\"},sequenceStartOffset:{type:ControlType.Number,title:\"Offset\",min:0,max:1e4,step:100,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScrollMedia\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScrollMedia_Prod.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{useCallback}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{defaultEvents,usePadding,useRadius,useFontControls}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";/**\n * CLIPBOARD\n *\n * @framerIntrinsicWidth 90\n * @framerIntrinsicHeight 50\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */ export default function Clipboard(props){const{label,content,fill,color,style,onClick,font,hoverOptions,...rest}=props;const deprecatedFont=useFontControls({fontWeight:500,...rest});const borderRadius=useRadius(props);const paddingValue=usePadding(props);const handleClick=useCallback(()=>{var ref;(ref=navigator.clipboard)===null||ref===void 0?void 0:ref.writeText(content);onClick===null||onClick===void 0?void 0:onClick();},[onClick,content]);return /*#__PURE__*/ _jsx(motion.button,{style:{border:\"none\",outline:\"none\",resize:\"none\",width:\"max-content\",wordBreak:\"break-word\",overflowWrap:\"break-word\",WebkitTapHighlightColor:\"rgba(0, 0, 0, 0)\",letterSpacing:\"-0.2px\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",background:fill,borderRadius,cursor:\"pointer\",padding:paddingValue,color,...deprecatedFont,...font,...style},onClick:handleClick,...rest,whileHover:hoverOptions,transition:hoverOptions===null||hoverOptions===void 0?void 0:hoverOptions.transition,children:label});};addPropertyControls(Clipboard,{content:{type:ControlType.String,title:\"Content\",displayTextArea:true,description:\"When clicked, this content will be copied to the clipboard.\"},label:{type:ControlType.String,title:\"Label\",defaultValue:\"Copy to Clipboard\"},fill:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#06F\"},color:{type:ControlType.Color,title:\"Text\",defaultValue:\"#fff\"},font:{// @ts-ignore - Internal\ntype:ControlType.Font,controls:\"extended\",defaultValue:{fontSize:16}},hoverOptions:{type:ControlType.Object,title:\"Hover\",buttonTitle:\"Effect\",optional:true,controls:{scale:{type:ControlType.Number,title:\"Scale\",min:0,max:10,displayStepper:true,step:.01,defaultValue:1.1},backgroundColor:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#0088FF\",optional:true},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#FFF\",optional:true},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{type:\"spring\",stiffness:400,damping:30}}}},padding:{type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\",],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0,title:\"Padding\",defaultValue:10},borderRadius:{title:\"Radius\",type:ControlType.FusedNumber,toggleKey:\"isMixedBorderRadius\",toggleTitles:[\"Radius\",\"Radius per corner\"],valueKeys:[\"topLeftRadius\",\"topRightRadius\",\"bottomRightRadius\",\"bottomLeftRadius\",],valueLabels:[\"TL\",\"TR\",\"BR\",\"BL\"],min:0,defaultValue:50},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Clipboard\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"50\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"90\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Clipboard.map", "// Generated by Framer (20dc3ed)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"ag3hWBlhp\",\"znNqG7GrF\"];const serializationHash=\"framer-emc9I\";const variantClassNames={ag3hWBlhp:\"framer-v-glr9fx\",znNqG7GrF:\"framer-v-15kadsy\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:45,delay:0,mass:1,stiffness:600,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=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 humanReadableVariantMap={Copy:\"ag3hWBlhp\",Paste:\"znNqG7GrF\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"ag3hWBlhp\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"ag3hWBlhp\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-glr9fx\",className,classNames),\"data-framer-name\":\"Copy\",layoutDependency:layoutDependency,layoutId:\"ag3hWBlhp\",ref:refBinding,style:{...style},...addPropertyOverrides({znNqG7GrF:{\"data-framer-name\":\"Paste\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"500\"},children:\"Copy Email\"})}),className:\"framer-1j56os7\",fonts:[\"Inter-Medium\"],layoutDependency:layoutDependency,layoutId:\"UngURcVFD\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",filter:\"none\",opacity:1,WebkitFilter:\"none\"},variants:{znNqG7GrF:{filter:\"blur(2px)\",opacity:0,WebkitFilter:\"blur(2px)\"}},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"500\"},children:\"Email Copied\"})}),className:\"framer-1mbo1p1\",fonts:[\"Inter-Medium\"],layoutDependency:layoutDependency,layoutId:\"AhJcWWO6v\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",filter:\"blur(2px)\",opacity:0,WebkitFilter:\"blur(2px)\"},variants:{znNqG7GrF:{filter:\"blur(0px)\",opacity:1,WebkitFilter:\"blur(0px)\"}},verticalAlignment:\"top\",withExternalLayout:true})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-emc9I.framer-118chbl, .framer-emc9I .framer-118chbl { display: block; }\",\".framer-emc9I.framer-glr9fx { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-emc9I .framer-1j56os7 { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\".framer-emc9I .framer-1mbo1p1 { -webkit-user-select: none; bottom: 0px; flex: none; height: auto; left: -12px; position: absolute; user-select: none; white-space: pre; width: auto; z-index: 1; }\",\".framer-emc9I.framer-v-15kadsy.framer-glr9fx { min-height: 17px; min-width: 105px; }\",\".framer-emc9I.framer-v-15kadsy .framer-1j56os7 { bottom: 0px; position: absolute; right: -12px; z-index: 1; }\",\".framer-emc9I.framer-v-15kadsy .framer-1mbo1p1 { left: 0px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 17\n * @framerIntrinsicWidth 75\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"znNqG7GrF\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerOh6pSo2jg=withCSS(Component,css,\"framer-emc9I\");export default FramerOh6pSo2jg;FramerOh6pSo2jg.displayName=\"Texts\";FramerOh6pSo2jg.defaultProps={height:17,width:75};addPropertyControls(FramerOh6pSo2jg,{variant:{options:[\"ag3hWBlhp\",\"znNqG7GrF\"],optionTitles:[\"Copy\",\"Paste\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerOh6pSo2jg,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/d3tHnaQIAeqiE5hGcRw4mmgWYU.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerOh6pSo2jg\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"75\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"znNqG7GrF\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"17\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Oh6pSo2jg.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */function SVG(props){const[customSvgElement,setCustomSvgElement]=useState(null);useEffect(()=>{const svgContent=props.customSvgCode;processCustomSVGContent(svgContent);});const processCustomSVGContent=svgContent=>{const replacements=[[/width=\"[^\"]*\"/,'width=\"100%\"'],[/height=\"[^\"]*\"/,'height=\"100%\"']];const hasCustomStroke=svgContent.includes('stroke=\"');const hasCustomStrokeWidth=svgContent.includes('stroke-width=\"');const hasLineCap=svgContent.includes('stroke-linecap=\"');const hasLineJoin=svgContent.includes('stroke-linejoin=\"');if(svgContent.includes(\"<circle\")){// Find the circle element and update its fill attribute\nconst circleFillRegex=/<circle[^>]*fill=\"([^\"]*)\"/;const match=svgContent.match(circleFillRegex);if(match){// Update the fill attribute with the custom color\nconst updatedCircle=match[0].replace(match[1],props.customColor);svgContent=svgContent.replace(circleFillRegex,updatedCircle);}else{// If there is no fill attribute, add it with the custom color\nreplacements.push([/<circle/g,`<circle fill=\"${props.customColor}\"`]);}}if(hasCustomStroke){if(!hasLineCap){replacements.push([/<path/g,`<path stroke=\"${props.customColor}\"`]);}else{replacements.push([/<path/g,`<path stroke=\"${props.customColor}\" stroke-linecap=\"${props.lineCap}\"`]);}if(hasCustomStrokeWidth){replacements.push([/stroke-width=\"(?!0\\b)\\d+(\\.\\d+)?\"/g,`stroke-width=\"${props.customStrokeWidth}\"`]);}}else{replacements.push([/<path/g,`<path fill=\"${props.customColor}\"`]);}if(svgContent.includes('overflow=\"')){replacements.push([/overflow=\"[^\"]*\"/,`overflow=\"visible\"`]);}else{replacements.push([/<svg/,`<svg overflow=\"visible\"`]);}if(!hasLineJoin){replacements.push([/<path/g,`<path stroke-linejoin=\"${props.lineJoin}\"`]);}else{replacements.push([/stroke-linejoin=\"[^\"]*\"/,`stroke-linejoin=\"${props.lineJoin}\"`]);}replacements.forEach(([regex,replacement])=>{svgContent=svgContent.replace(regex,replacement);});setCustomSvgElement(svgContent);};const customContainerStyle={padding:`${props.customPadding}px`,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",overflow:\"visible\"};return /*#__PURE__*/_jsx(\"div\",{dangerouslySetInnerHTML:{__html:customSvgElement},style:customContainerStyle});}SVG.defaultProps={customSvgCode:`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <g clip-path=\"url(#clip0_967_124)\"> <path d=\"M18 6.09674C18 6.0348 18.0246 5.97539 18.0684 5.93159L23.6013 0.398708C23.7484 0.251575 24 0.35578 24 0.563858V11.9033C24 11.9652 23.9754 12.0246 23.9316 12.0684L18 18V6.09674Z\" fill=\"white\"/> <path d=\"M6 18V6.56386C6 6.35578 5.74843 6.25158 5.60129 6.39871L0.0684074 11.9316C0.0246069 11.9754 0 12.0348 0 12.0967V23.7664C0 23.8954 0.104567 24 0.233557 24H11.9033C11.9652 24 12.0246 23.9754 12.0684 23.9316L18 18H6Z\" fill=\"white\"/> </g> <defs> <clipPath id=\"clip0_967_124\"> <rect width=\"24\" height=\"24\" fill=\"white\"/> </clipPath> </defs> </svg>`,customColor:\"#ffffff\",customPadding:0,customStrokeWidth:2,lineCap:\"butt\",lineJoin:\"miter\"};addPropertyControls(SVG,{customSvgCode:{type:ControlType.String,title:\"SVG Code\",displayTextArea:false},customColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#ffffff\"},customPadding:{type:ControlType.Number,title:\"Padding\",defaultValue:0,min:0,step:1,displayStepper:true,description:\"More components at [Framer University](https://framer.university?utm_source=component).\"},customStrokeWidth:{type:ControlType.Number,title:\"Stroke\",defaultValue:2,min:0,step:.1,displayStepper:true,hidden:props=>!props.customSvgCode.includes('stroke=\"')},lineCap:{type:ControlType.Enum,title:\"Line Cap\",options:[\"butt\",\"round\",\"square\"],optionTitles:[\"Butt\",\"Round\",\"Square\"],defaultValue:\"butt\",hidden:props=>!props.customSvgCode.includes('stroke=\"')},lineJoin:{type:ControlType.Enum,title:\"Line Join\",options:[\"round\",\"miter\",\"bevel\"],optionTitles:[\"Round\",\"Miter\",\"Bevel\"],defaultValue:\"miter\",hidden:props=>!props.customSvgCode.includes('stroke=\"')}});export default SVG;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SVG\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SVG.map", "// Generated by Framer (20dc3ed)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import SVG from\"https://framerusercontent.com/modules/I1DC9cTt2FcHsDUAaRxW/qv6ME5iAGhQXu7YEHOPJ/SVG.js\";const SVGFonts=getFonts(SVG);const cycleOrder=[\"omQ7hA_8G\",\"vegQnAD9X\"];const serializationHash=\"framer-dRuYR\";const variantClassNames={omQ7hA_8G:\"framer-v-m1czfx\",vegQnAD9X:\"framer-v-b5t5ue\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:45,delay:0,mass:1,stiffness:600,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=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 humanReadableVariantMap={Checkmark:\"vegQnAD9X\",Copy:\"omQ7hA_8G\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"omQ7hA_8G\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"omQ7hA_8G\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-m1czfx\",className,classNames),\"data-framer-name\":\"Copy\",layoutDependency:layoutDependency,layoutId:\"omQ7hA_8G\",ref:refBinding,style:{...style},...addPropertyOverrides({vegQnAD9X:{\"data-framer-name\":\"Checkmark\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-vndhrl\",\"data-framer-name\":\"Copy Wrap\",layoutDependency:layoutDependency,layoutId:\"b1wrgXX5v\",style:{filter:\"none\",opacity:1,scale:1,WebkitFilter:\"none\"},variants:{vegQnAD9X:{filter:\"blur(2px)\",opacity:0,scale:.6,WebkitFilter:\"blur(2px)\"}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-565oko-container\",\"data-framer-name\":\"Copy\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"auZDnvu4z-container\",name:\"Copy\",nodeId:\"auZDnvu4z\",rendersWithMotion:true,scopeId:\"Vz2zODPaq\",children:/*#__PURE__*/_jsx(SVG,{customColor:\"rgb(0, 0, 0)\",customPadding:0,customStrokeWidth:2,customSvgCode:'<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H4.66667V4.66667H2V14H11.3333V11.3333H14V2ZM11.3333 10H12.6667V3.33333H6V4.66667H11.3333V10Z\" fill=\"white\"/> </svg>',height:\"100%\",id:\"auZDnvu4z\",layoutId:\"auZDnvu4z\",lineCap:\"butt\",lineJoin:\"miter\",name:\"Copy\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1r4ehb5\",\"data-framer-name\":\"Check Wrap\",layoutDependency:layoutDependency,layoutId:\"Ag2_dNJqu\",style:{filter:\"blur(2px)\",opacity:0,scale:.6,WebkitFilter:\"blur(2px)\"},variants:{vegQnAD9X:{filter:\"blur(0px)\",opacity:1,scale:1,WebkitFilter:\"blur(0px)\"}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-n6vz0y-container\",\"data-framer-name\":\"Check\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"S5oJSQr5c-container\",name:\"Check\",nodeId:\"S5oJSQr5c\",rendersWithMotion:true,scopeId:\"Vz2zODPaq\",children:/*#__PURE__*/_jsx(SVG,{customColor:\"rgb(0, 0, 0)\",customPadding:0,customStrokeWidth:2,customSvgCode:'<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M3 15L9.29412 20L21 4\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"square\"/> </svg>',height:\"100%\",id:\"S5oJSQr5c\",layoutId:\"S5oJSQr5c\",lineCap:\"butt\",lineJoin:\"miter\",name:\"Check\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-dRuYR.framer-12fhdrm, .framer-dRuYR .framer-12fhdrm { display: block; }\",\".framer-dRuYR.framer-m1czfx { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-dRuYR .framer-vndhrl { flex: none; height: 16px; overflow: visible; position: relative; width: 16px; }\",\".framer-dRuYR .framer-565oko-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; }\",\".framer-dRuYR .framer-1r4ehb5 { bottom: 0px; flex: none; left: 0px; overflow: visible; position: absolute; right: 0px; top: 0px; }\",\".framer-dRuYR .framer-n6vz0y-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; z-index: 1; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 16\n * @framerIntrinsicWidth 16\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"vegQnAD9X\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerVz2zODPaq=withCSS(Component,css,\"framer-dRuYR\");export default FramerVz2zODPaq;FramerVz2zODPaq.displayName=\"Icons\";FramerVz2zODPaq.defaultProps={height:16,width:16};addPropertyControls(FramerVz2zODPaq,{variant:{options:[\"omQ7hA_8G\",\"vegQnAD9X\"],optionTitles:[\"Copy\",\"Checkmark\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerVz2zODPaq,[{explicitInter:true,fonts:[]},...SVGFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerVz2zODPaq\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"vegQnAD9X\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicHeight\":\"16\",\"framerIntrinsicWidth\":\"16\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Vz2zODPaq.map", "// Generated by Framer (20dc3ed)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useOnVariantChange,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Clipboard from\"https://framerusercontent.com/modules/Hj20QU19p80mpYsvesiZ/RfHh9MIwqlgi04HKZ3Qo/Clipboard.js\";import Texts from\"https://framerusercontent.com/modules/7ma95ir3nxSo9DufoDka/sPH5rjw20D4NEXiGsmN6/Oh6pSo2jg.js\";import Icons from\"https://framerusercontent.com/modules/dMIWpe0KSyQn1VKWg72x/KMDcReA9TADBCSRZMGml/Vz2zODPaq.js\";const IconsFonts=getFonts(Icons);const TextsFonts=getFonts(Texts);const ClipboardFonts=getFonts(Clipboard);const enabledGestures={LNF9P2zyg:{hover:true},XOQQkZcJM:{hover:true}};const cycleOrder=[\"XOQQkZcJM\",\"LNF9P2zyg\"];const serializationHash=\"framer-UPshH\";const variantClassNames={LNF9P2zyg:\"framer-v-yy1sb5\",XOQQkZcJM:\"framer-v-1yblfud\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={duration:0,type:\"tween\"};const transition2={damping:45,delay:0,mass:1,stiffness:600,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=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 humanReadableVariantMap={Copied:\"LNF9P2zyg\",Default:\"XOQQkZcJM\"};const getProps=({height,id,link,width,...props})=>{return{...props,l0RNA5SgB:link??props.l0RNA5SgB,variant:humanReadableVariantMap[props.variant]??props.variant??\"XOQQkZcJM\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,l0RNA5SgB,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"XOQQkZcJM\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1tam24f=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});setVariant(\"LNF9P2zyg\");});const onAppear1km5gun=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"XOQQkZcJM\"),1500);});useOnVariantChange(baseVariant,{LNF9P2zyg:onAppear1km5gun});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1yblfud\",className,classNames),\"data-framer-name\":\"Default\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"XOQQkZcJM\",onTap:onTap1tam24f,ref:refBinding,style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:1e3,borderBottomRightRadius:1e3,borderTopLeftRadius:1e3,borderTopRightRadius:1e3,...style},variants:{\"LNF9P2zyg-hover\":{backgroundColor:\"rgb(179, 179, 179)\"},\"XOQQkZcJM-hover\":{backgroundColor:\"rgb(179, 179, 179)\"}},...addPropertyOverrides({\"LNF9P2zyg-hover\":{\"data-framer-name\":undefined,onTap:undefined},\"XOQQkZcJM-hover\":{\"data-framer-name\":undefined},LNF9P2zyg:{\"data-framer-name\":\"Copied\",onTap:undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(Transition,{value:transition2,children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1fjum0t\",\"data-framer-name\":\"Content - Copy\",layoutDependency:layoutDependency,layoutId:\"Wjx14wZat\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:16,y:(componentViewport?.y||0)+(0+((componentViewport?.height||36)-0-17)/2)+.5,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1oy2f3a-container\",layoutDependency:layoutDependency,layoutId:\"Ylx9W0wAb-container\",nodeId:\"Ylx9W0wAb\",rendersWithMotion:true,scopeId:\"ErWKXLzDh\",children:/*#__PURE__*/_jsx(Icons,{height:\"100%\",id:\"Ylx9W0wAb\",layoutId:\"Ylx9W0wAb\",variant:\"omQ7hA_8G\",width:\"100%\",...addPropertyOverrides({LNF9P2zyg:{variant:\"vegQnAD9X\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:17,y:(componentViewport?.y||0)+(0+((componentViewport?.height||36)-0-17)/2)+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1ai5u3-container\",layoutDependency:layoutDependency,layoutId:\"ahRwHkseL-container\",nodeId:\"ahRwHkseL\",rendersWithMotion:true,scopeId:\"ErWKXLzDh\",children:/*#__PURE__*/_jsx(Texts,{height:\"100%\",id:\"ahRwHkseL\",layoutId:\"ahRwHkseL\",variant:\"ag3hWBlhp\",width:\"100%\",...addPropertyOverrides({LNF9P2zyg:{variant:\"znNqG7GrF\"}},baseVariant,gestureVariant)})})})]})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-qgp233-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"UwlFbX7Wz-container\",nodeId:\"UwlFbX7Wz\",rendersWithMotion:true,scopeId:\"ErWKXLzDh\",children:/*#__PURE__*/_jsx(Clipboard,{borderRadius:0,bottomLeftRadius:0,bottomRightRadius:0,color:\"rgba(255, 255, 255, 0)\",content:l0RNA5SgB,fill:\"rgba(5, 5, 5, 0)\",font:{},height:\"100%\",id:\"UwlFbX7Wz\",isMixedBorderRadius:false,label:\"\",layoutId:\"UwlFbX7Wz\",padding:0,paddingBottom:0,paddingLeft:0,paddingPerSide:false,paddingRight:0,paddingTop:0,style:{height:\"100%\",width:\"100%\"},topLeftRadius:0,topRightRadius:0,width:\"100%\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-UPshH.framer-1bqny3f, .framer-UPshH .framer-1bqny3f { display: block; }\",\".framer-UPshH.framer-1yblfud { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: 36px; justify-content: center; overflow: hidden; padding: 0px 16px 0px 16px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-UPshH .framer-1fjum0t { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 139px; }\",\".framer-UPshH .framer-1oy2f3a-container, .framer-UPshH .framer-1ai5u3-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-UPshH .framer-qgp233-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; z-index: 3; }\",\".framer-UPshH.framer-v-1yblfud.hover.framer-1yblfud { width: 171px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 36\n * @framerIntrinsicWidth 171\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"LNF9P2zyg\":{\"layout\":[\"auto\",\"fixed\"]},\"btGMW8dev\":{\"layout\":[\"fixed\",\"fixed\"]},\"dyUL_j13e\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerVariables {\"l0RNA5SgB\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerErWKXLzDh=withCSS(Component,css,\"framer-UPshH\");export default FramerErWKXLzDh;FramerErWKXLzDh.displayName=\"Copy Button\";FramerErWKXLzDh.defaultProps={height:36,width:171};addPropertyControls(FramerErWKXLzDh,{variant:{options:[\"XOQQkZcJM\",\"LNF9P2zyg\"],optionTitles:[\"Default\",\"Copied\"],title:\"Variant\",type:ControlType.Enum},l0RNA5SgB:{defaultValue:\"\",displayTextArea:true,title:\"Link\",type:ControlType.String}});addFonts(FramerErWKXLzDh,[{explicitInter:true,fonts:[]},...IconsFonts,...TextsFonts,...ClipboardFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerErWKXLzDh\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"171\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"36\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"LNF9P2zyg\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"btGMW8dev\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"dyUL_j13e\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"l0RNA5SgB\\\":\\\"link\\\"}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ErWKXLzDh.map", "// Generated by Framer (f1945a5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const MotionDivWithFX=withFX(motion.div);const cycleOrder=[\"Ya8MjGJD6\",\"xXIK3l_PU\",\"bSv4rmVyw\",\"rKEdKktXR\",\"TG9cupDtC\",\"egJhlbVwy\",\"AEFLEU4xN\"];const serializationHash=\"framer-j2ObG\";const variantClassNames={AEFLEU4xN:\"framer-v-14eton\",bSv4rmVyw:\"framer-v-1p8nkxe\",egJhlbVwy:\"framer-v-1wb8itg\",rKEdKktXR:\"framer-v-h275c9\",TG9cupDtC:\"framer-v-btkzs6\",xXIK3l_PU:\"framer-v-mvuzoi\",Ya8MjGJD6:\"framer-v-1ehwfpc\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transition2={delay:0,duration:4,ease:[.44,0,.56,1],type:\"tween\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:-1348,y:0};const animation1={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:1348,y:0};const transition3={delay:0,duration:30,ease:[0,0,1,1],type:\"tween\"};const animation2={opacity:1,rotate:360,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=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 humanReadableVariantMap={\"Variant 4\":\"rKEdKktXR\",\"Variant 5\":\"TG9cupDtC\",\"Variant 6\":\"egJhlbVwy\",\"Variant 7\":\"AEFLEU4xN\",Blue:\"Ya8MjGJD6\",Red:\"xXIK3l_PU\",White:\"bSv4rmVyw\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"Ya8MjGJD6\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"Ya8MjGJD6\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"egJhlbVwy\")return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"AEFLEU4xN\")return true;return false;};const isDisplayed2=()=>{if([\"bSv4rmVyw\",\"egJhlbVwy\"].includes(baseVariant))return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id: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(scopingClassNames,\"framer-1ehwfpc\",className,classNames),\"data-framer-name\":\"Blue\",layoutDependency:layoutDependency,layoutId:\"Ya8MjGJD6\",ref:refBinding,style:{...style},...addPropertyOverrides({AEFLEU4xN:{\"data-framer-name\":\"Variant 7\"},bSv4rmVyw:{\"data-framer-name\":\"White\"},egJhlbVwy:{\"data-framer-name\":\"Variant 6\"},rKEdKktXR:{\"data-framer-name\":\"Variant 4\"},TG9cupDtC:{\"data-framer-name\":\"Variant 5\"},xXIK3l_PU:{\"data-framer-name\":\"Red\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-hpr49o\",layoutDependency:layoutDependency,layoutId:\"mNcdOqdm5\",style:{backgroundColor:\"rgba(0, 0, 0, 0)\"},variants:{AEFLEU4xN:{backgroundColor:\"rgba(0, 0, 0, 0)\"},egJhlbVwy:{backgroundColor:\"rgba(0, 0, 0, 0)\"},rKEdKktXR:{backgroundColor:\"rgb(140, 126, 126)\"},TG9cupDtC:{backgroundColor:\"rgba(0, 0, 0, 0)\"}},children:[isDisplayed()&&/*#__PURE__*/_jsx(MotionDivWithFX,{className:\"framer-197uvez\",layoutDependency:layoutDependency,layoutId:\"n45bk7Sto\",...addPropertyOverrides({AEFLEU4xN:{__framer__loop:animation,__framer__loopEffectEnabled:true,__framer__loopPauseOffscreen:true,__framer__loopRepeatDelay:0,__framer__loopRepeatType:\"mirror\",__framer__loopTransition:transition2,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-e0y5mn\",layoutDependency:layoutDependency,layoutId:\"gG1LK3GKZ\",style:{background:\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(0, 157, 255) 100%)\",borderBottomLeftRadius:\"50%\",borderBottomRightRadius:\"50%\",borderTopLeftRadius:\"50%\",borderTopRightRadius:\"50%\",filter:\"blur(100px)\",opacity:1,WebkitFilter:\"blur(100px)\"},variants:{AEFLEU4xN:{opacity:1},bSv4rmVyw:{background:\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(255, 255, 255) 100%)\",opacity:.14},rKEdKktXR:{background:\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(255, 255, 255) 100%)\",opacity:1},TG9cupDtC:{background:\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%)\",opacity:1},xXIK3l_PU:{background:\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(255, 31, 31) 100%)\"}}})}),isDisplayed1()&&/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__loop:animation1,__framer__loopEffectEnabled:true,__framer__loopPauseOffscreen:true,__framer__loopRepeatDelay:0,__framer__loopRepeatType:\"mirror\",__framer__loopTransition:transition2,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-1vnxk4g\",layoutDependency:layoutDependency,layoutId:\"kI3fexHnF\",children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1vv4rvk\",layoutDependency:layoutDependency,layoutId:\"tVbjJyMea\",style:{background:\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(255, 0, 106) 100%)\",borderBottomLeftRadius:\"50%\",borderBottomRightRadius:\"50%\",borderTopLeftRadius:\"50%\",borderTopRightRadius:\"50%\",filter:\"blur(100px)\",WebkitFilter:\"blur(100px)\"}})}),isDisplayed2()&&/*#__PURE__*/_jsx(Image,{background:{alt:\"\",backgroundSize:1,fit:\"tile\",pixelHeight:100,pixelWidth:100,positionX:\"left\",positionY:\"top\",src:\"https://framerusercontent.com/images/JURDFryDzelAGoQEdQlgWj8J8.svg\"},className:\"framer-1db8nat\",\"data-framer-name\":\"BG\",layoutDependency:layoutDependency,layoutId:\"spJnrW9RB\",style:{opacity:.1},...addPropertyOverrides({bSv4rmVyw:{background:{alt:\"\",backgroundSize:1,fit:\"tile\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+-200),pixelHeight:100,pixelWidth:100,positionX:\"left\",positionY:\"top\",src:\"https://framerusercontent.com/images/JURDFryDzelAGoQEdQlgWj8J8.svg\"}},egJhlbVwy:{background:{alt:\"\",backgroundSize:1,fit:\"tile\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+-200),pixelHeight:100,pixelWidth:100,positionX:\"left\",positionY:\"top\",src:\"https://framerusercontent.com/images/JURDFryDzelAGoQEdQlgWj8J8.svg\"}}},baseVariant,gestureVariant)}),isDisplayed1()&&/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__loop:animation2,__framer__loopEffectEnabled:true,__framer__loopRepeatDelay:0,__framer__loopRepeatType:\"loop\",__framer__loopTransition:transition3,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-1w34tu9\",\"data-framer-name\":\"Wave\",layoutDependency:layoutDependency,layoutId:\"bGL4TUWQe\",style:{background:\"linear-gradient(135deg, rgb(0, 221, 255) 0%, rgb(0, 153, 255) 100%)\",borderBottomLeftRadius:\"40%\",borderBottomRightRadius:\"40%\",borderTopLeftRadius:\"40%\",borderTopRightRadius:\"40%\",rotate:30},transformTemplate:transformTemplate1}),isDisplayed1()&&/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__loop:animation2,__framer__loopEffectEnabled:true,__framer__loopRepeatDelay:0,__framer__loopRepeatType:\"loop\",__framer__loopTransition:transition3,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-66hboa\",\"data-framer-name\":\"Wave\",layoutDependency:layoutDependency,layoutId:\"VFWxaVfZn\",style:{background:\"linear-gradient(135deg, rgb(0, 221, 255) 0%, rgb(0, 153, 255) 100%)\",borderBottomLeftRadius:\"40%\",borderBottomRightRadius:\"40%\",borderTopLeftRadius:\"40%\",borderTopRightRadius:\"40%\",rotate:20},transformTemplate:transformTemplate1}),isDisplayed1()&&/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__loop:animation2,__framer__loopEffectEnabled:true,__framer__loopRepeatDelay:0,__framer__loopRepeatType:\"loop\",__framer__loopTransition:transition3,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-u44ljz\",\"data-framer-name\":\"Wave\",layoutDependency:layoutDependency,layoutId:\"nuRWS0X34\",style:{background:\"linear-gradient(135deg, rgb(0, 221, 255) 0%, rgb(0, 153, 255) 100%)\",borderBottomLeftRadius:\"40%\",borderBottomRightRadius:\"40%\",borderTopLeftRadius:\"40%\",borderTopRightRadius:\"40%\",rotate:10},transformTemplate:transformTemplate1})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-j2ObG.framer-117lxs9, .framer-j2ObG .framer-117lxs9 { display: block; }\",\".framer-j2ObG.framer-1ehwfpc { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1200px; }\",\".framer-j2ObG .framer-hpr49o { flex: none; height: calc(var(--framer-viewport-height, 100vh) * 1); overflow: hidden; position: sticky; top: 0px; width: 100%; }\",\".framer-j2ObG .framer-197uvez { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 200%; justify-content: center; left: calc(50.00000000000002% - 100% / 2); overflow: visible; padding: 0px; position: absolute; top: 0px; width: 100%; }\",\".framer-j2ObG .framer-e0y5mn { flex: none; height: calc(var(--framer-viewport-height, 100vh) * 1); overflow: hidden; position: relative; width: 120%; will-change: var(--framer-will-change-override, transform); z-index: 1; }\",\".framer-j2ObG .framer-1vnxk4g { bottom: -800px; flex: none; gap: 10px; height: 200%; left: -760px; overflow: visible; position: absolute; width: 100%; }\",\".framer-j2ObG .framer-1vv4rvk { flex: none; height: calc(var(--framer-viewport-height, 100vh) * 1); left: calc(75.6666666666667% - 66.58333333333334% / 2); overflow: hidden; position: absolute; top: calc(50.62500000000002% - 100vh / 2); width: 67%; will-change: var(--framer-will-change-override, transform); z-index: 1; }\",\".framer-j2ObG .framer-1db8nat { -webkit-user-select: none; aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 1200px); left: 0px; overflow: hidden; pointer-events: none; position: absolute; right: 0px; top: -200px; user-select: none; }\",\".framer-j2ObG .framer-1w34tu9, .framer-j2ObG .framer-66hboa, .framer-j2ObG .framer-u44ljz { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 4000px); left: 50%; mix-blend-mode: multiply; overflow: hidden; position: absolute; top: -337%; width: 4000px; will-change: var(--framer-will-change-override, transform); z-index: 1; }\",\".framer-j2ObG.framer-v-14eton .framer-197uvez { bottom: -800px; display: block; left: unset; padding: unset; right: -610px; top: unset; }\",\".framer-j2ObG.framer-v-14eton .framer-e0y5mn { left: calc(75.6666666666667% - 66.58333333333334% / 2); position: absolute; top: calc(50.62500000000002% - 100vh / 2); width: 67%; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 2400\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"xXIK3l_PU\":{\"layout\":[\"fixed\",\"auto\"]},\"bSv4rmVyw\":{\"layout\":[\"fixed\",\"auto\"]},\"rKEdKktXR\":{\"layout\":[\"fixed\",\"auto\"]},\"TG9cupDtC\":{\"layout\":[\"fixed\",\"auto\"]},\"egJhlbVwy\":{\"layout\":[\"fixed\",\"auto\"]},\"AEFLEU4xN\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerzrfNNVpAI=withCSS(Component,css,\"framer-j2ObG\");export default FramerzrfNNVpAI;FramerzrfNNVpAI.displayName=\"Background\";FramerzrfNNVpAI.defaultProps={height:2400,width:1200};addPropertyControls(FramerzrfNNVpAI,{variant:{options:[\"Ya8MjGJD6\",\"xXIK3l_PU\",\"bSv4rmVyw\",\"rKEdKktXR\",\"TG9cupDtC\",\"egJhlbVwy\",\"AEFLEU4xN\"],optionTitles:[\"Blue\",\"Red\",\"White\",\"Variant 4\",\"Variant 5\",\"Variant 6\",\"Variant 7\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerzrfNNVpAI,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerzrfNNVpAI\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"xXIK3l_PU\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"bSv4rmVyw\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"rKEdKktXR\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"TG9cupDtC\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"egJhlbVwy\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"AEFLEU4xN\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"2400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./zrfNNVpAI.map", "\"use client\";import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";function SplashCursor({// You can customize these props if you want\nSIM_RESOLUTION=128,DYE_RESOLUTION=1440,CAPTURE_RESOLUTION=512,DENSITY_DISSIPATION=3.5,VELOCITY_DISSIPATION=2,PRESSURE=.1,PRESSURE_ITERATIONS=20,CURL=3,SPLAT_RADIUS=.2,SPLAT_FORCE=6e3,SHADING=true,COLOR_UPDATE_SPEED=10,BACK_COLOR={r:.5,g:0,b:0},TRANSPARENT=true}){const canvasRef=useRef(null);useEffect(()=>{const canvas=canvasRef.current;if(!canvas)return;function pointerPrototype(){this.id=-1;this.texcoordX=0;this.texcoordY=0;this.prevTexcoordX=0;this.prevTexcoordY=0;this.deltaX=0;this.deltaY=0;this.down=false;this.moved=false;this.color=[0,0,0];}let config={SIM_RESOLUTION,DYE_RESOLUTION,CAPTURE_RESOLUTION,DENSITY_DISSIPATION,VELOCITY_DISSIPATION,PRESSURE,PRESSURE_ITERATIONS,CURL,SPLAT_RADIUS,SPLAT_FORCE,SHADING,COLOR_UPDATE_SPEED,PAUSED:false,BACK_COLOR,TRANSPARENT};let pointers=[new pointerPrototype];const{gl,ext}=getWebGLContext(canvas);if(!ext.supportLinearFiltering){config.DYE_RESOLUTION=256;config.SHADING=false;}function getWebGLContext(canvas){const params={alpha:true,depth:false,stencil:false,antialias:false,preserveDrawingBuffer:false};let gl=canvas.getContext(\"webgl2\",params);const isWebGL2=!!gl;if(!isWebGL2)gl=canvas.getContext(\"webgl\",params)||canvas.getContext(\"experimental-webgl\",params);let halfFloat;let supportLinearFiltering;if(isWebGL2){gl.getExtension(\"EXT_color_buffer_float\");supportLinearFiltering=gl.getExtension(\"OES_texture_float_linear\");}else{halfFloat=gl.getExtension(\"OES_texture_half_float\");supportLinearFiltering=gl.getExtension(\"OES_texture_half_float_linear\");}gl.clearColor(0,0,0,1);const halfFloatTexType=isWebGL2?gl.HALF_FLOAT:halfFloat&&halfFloat.HALF_FLOAT_OES;let formatRGBA;let formatRG;let formatR;if(isWebGL2){formatRGBA=getSupportedFormat(gl,gl.RGBA16F,gl.RGBA,halfFloatTexType);formatRG=getSupportedFormat(gl,gl.RG16F,gl.RG,halfFloatTexType);formatR=getSupportedFormat(gl,gl.R16F,gl.RED,halfFloatTexType);}else{formatRGBA=getSupportedFormat(gl,gl.RGBA,gl.RGBA,halfFloatTexType);formatRG=getSupportedFormat(gl,gl.RGBA,gl.RGBA,halfFloatTexType);formatR=getSupportedFormat(gl,gl.RGBA,gl.RGBA,halfFloatTexType);}return{gl,ext:{formatRGBA,formatRG,formatR,halfFloatTexType,supportLinearFiltering}};}function getSupportedFormat(gl,internalFormat,format,type){if(!supportRenderTextureFormat(gl,internalFormat,format,type)){switch(internalFormat){case gl.R16F:return getSupportedFormat(gl,gl.RG16F,gl.RG,type);case gl.RG16F:return getSupportedFormat(gl,gl.RGBA16F,gl.RGBA,type);default:return null;}}return{internalFormat,format};}function supportRenderTextureFormat(gl,internalFormat,format,type){const texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,texture);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.texImage2D(gl.TEXTURE_2D,0,internalFormat,4,4,0,format,type,null);const fbo=gl.createFramebuffer();gl.bindFramebuffer(gl.FRAMEBUFFER,fbo);gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_2D,texture,0);const status=gl.checkFramebufferStatus(gl.FRAMEBUFFER);return status===gl.FRAMEBUFFER_COMPLETE;}class Material{setKeywords(keywords){let hash=0;for(let i=0;i<keywords.length;i++)hash+=hashCode(keywords[i]);let program=this.programs[hash];if(program==null){let fragmentShader=compileShader(gl.FRAGMENT_SHADER,this.fragmentShaderSource,keywords);program=createProgram(this.vertexShader,fragmentShader);this.programs[hash]=program;}if(program===this.activeProgram)return;this.uniforms=getUniforms(program);this.activeProgram=program;}bind(){gl.useProgram(this.activeProgram);}constructor(vertexShader,fragmentShaderSource){this.vertexShader=vertexShader;this.fragmentShaderSource=fragmentShaderSource;this.programs=[];this.activeProgram=null;this.uniforms=[];}}class Program{bind(){gl.useProgram(this.program);}constructor(vertexShader,fragmentShader){this.uniforms={};this.program=createProgram(vertexShader,fragmentShader);this.uniforms=getUniforms(this.program);}}function createProgram(vertexShader,fragmentShader){let program=gl.createProgram();gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS))console.trace(gl.getProgramInfoLog(program));return program;}function getUniforms(program){let uniforms=[];let uniformCount=gl.getProgramParameter(program,gl.ACTIVE_UNIFORMS);for(let i=0;i<uniformCount;i++){let uniformName=gl.getActiveUniform(program,i).name;uniforms[uniformName]=gl.getUniformLocation(program,uniformName);}return uniforms;}function compileShader(type,source,keywords){source=addKeywords(source,keywords);const shader=gl.createShader(type);gl.shaderSource(shader,source);gl.compileShader(shader);if(!gl.getShaderParameter(shader,gl.COMPILE_STATUS))console.trace(gl.getShaderInfoLog(shader));return shader;}function addKeywords(source,keywords){if(!keywords)return source;let keywordsString=\"\";keywords.forEach(keyword=>{keywordsString+=\"#define \"+keyword+\"\\n\";});return keywordsString+source;}const baseVertexShader=compileShader(gl.VERTEX_SHADER,`\n        precision highp float;\n        attribute vec2 aPosition;\n        varying vec2 vUv;\n        varying vec2 vL;\n        varying vec2 vR;\n        varying vec2 vT;\n        varying vec2 vB;\n        uniform vec2 texelSize;\n\n        void main () {\n            vUv = aPosition * 0.5 + 0.5;\n            vL = vUv - vec2(texelSize.x, 0.0);\n            vR = vUv + vec2(texelSize.x, 0.0);\n            vT = vUv + vec2(0.0, texelSize.y);\n            vB = vUv - vec2(0.0, texelSize.y);\n            gl_Position = vec4(aPosition, 0.0, 1.0);\n        }\n      `);const copyShader=compileShader(gl.FRAGMENT_SHADER,`\n        precision mediump float;\n        precision mediump sampler2D;\n        varying highp vec2 vUv;\n        uniform sampler2D uTexture;\n\n        void main () {\n            gl_FragColor = texture2D(uTexture, vUv);\n        }\n      `);const clearShader=compileShader(gl.FRAGMENT_SHADER,`\n        precision mediump float;\n        precision mediump sampler2D;\n        varying highp vec2 vUv;\n        uniform sampler2D uTexture;\n        uniform float value;\n\n        void main () {\n            gl_FragColor = value * texture2D(uTexture, vUv);\n        }\n      `);const displayShaderSource=`\n      precision highp float;\n      precision highp sampler2D;\n      varying vec2 vUv;\n      varying vec2 vL;\n      varying vec2 vR;\n      varying vec2 vT;\n      varying vec2 vB;\n      uniform sampler2D uTexture;\n      uniform sampler2D uDithering;\n      uniform vec2 ditherScale;\n      uniform vec2 texelSize;\n\n      vec3 linearToGamma (vec3 color) {\n          color = max(color, vec3(0));\n          return max(1.055 * pow(color, vec3(0.416666667)) - 0.055, vec3(0));\n      }\n\n      void main () {\n          vec3 c = texture2D(uTexture, vUv).rgb;\n          #ifdef SHADING\n              vec3 lc = texture2D(uTexture, vL).rgb;\n              vec3 rc = texture2D(uTexture, vR).rgb;\n              vec3 tc = texture2D(uTexture, vT).rgb;\n              vec3 bc = texture2D(uTexture, vB).rgb;\n\n              float dx = length(rc) - length(lc);\n              float dy = length(tc) - length(bc);\n\n              vec3 n = normalize(vec3(dx, dy, length(texelSize)));\n              vec3 l = vec3(0.0, 0.0, 1.0);\n\n              float diffuse = clamp(dot(n, l) + 0.7, 0.7, 1.0);\n              c *= diffuse;\n          #endif\n\n          float a = max(c.r, max(c.g, c.b));\n          gl_FragColor = vec4(c, a);\n      }\n    `;const splatShader=compileShader(gl.FRAGMENT_SHADER,`\n        precision highp float;\n        precision highp sampler2D;\n        varying vec2 vUv;\n        uniform sampler2D uTarget;\n        uniform float aspectRatio;\n        uniform vec3 color;\n        uniform vec2 point;\n        uniform float radius;\n\n        void main () {\n            vec2 p = vUv - point.xy;\n            p.x *= aspectRatio;\n            vec3 splat = exp(-dot(p, p) / radius) * color;\n            vec3 base = texture2D(uTarget, vUv).xyz;\n            gl_FragColor = vec4(base + splat, 1.0);\n        }\n      `);const advectionShader=compileShader(gl.FRAGMENT_SHADER,`\n        precision highp float;\n        precision highp sampler2D;\n        varying vec2 vUv;\n        uniform sampler2D uVelocity;\n        uniform sampler2D uSource;\n        uniform vec2 texelSize;\n        uniform vec2 dyeTexelSize;\n        uniform float dt;\n        uniform float dissipation;\n\n        vec4 bilerp (sampler2D sam, vec2 uv, vec2 tsize) {\n            vec2 st = uv / tsize - 0.5;\n            vec2 iuv = floor(st);\n            vec2 fuv = fract(st);\n\n            vec4 a = texture2D(sam, (iuv + vec2(0.5, 0.5)) * tsize);\n            vec4 b = texture2D(sam, (iuv + vec2(1.5, 0.5)) * tsize);\n            vec4 c = texture2D(sam, (iuv + vec2(0.5, 1.5)) * tsize);\n            vec4 d = texture2D(sam, (iuv + vec2(1.5, 1.5)) * tsize);\n\n            return mix(mix(a, b, fuv.x), mix(c, d, fuv.x), fuv.y);\n        }\n\n        void main () {\n            #ifdef MANUAL_FILTERING\n                vec2 coord = vUv - dt * bilerp(uVelocity, vUv, texelSize).xy * texelSize;\n                vec4 result = bilerp(uSource, coord, dyeTexelSize);\n            #else\n                vec2 coord = vUv - dt * texture2D(uVelocity, vUv).xy * texelSize;\n                vec4 result = texture2D(uSource, coord);\n            #endif\n            float decay = 1.0 + dissipation * dt;\n            gl_FragColor = result / decay;\n        }\n      `,ext.supportLinearFiltering?null:[\"MANUAL_FILTERING\"]);const divergenceShader=compileShader(gl.FRAGMENT_SHADER,`\n        precision mediump float;\n        precision mediump sampler2D;\n        varying highp vec2 vUv;\n        varying highp vec2 vL;\n        varying highp vec2 vR;\n        varying highp vec2 vT;\n        varying highp vec2 vB;\n        uniform sampler2D uVelocity;\n\n        void main () {\n            float L = texture2D(uVelocity, vL).x;\n            float R = texture2D(uVelocity, vR).x;\n            float T = texture2D(uVelocity, vT).y;\n            float B = texture2D(uVelocity, vB).y;\n\n            vec2 C = texture2D(uVelocity, vUv).xy;\n            if (vL.x < 0.0) { L = -C.x; }\n            if (vR.x > 1.0) { R = -C.x; }\n            if (vT.y > 1.0) { T = -C.y; }\n            if (vB.y < 0.0) { B = -C.y; }\n\n            float div = 0.5 * (R - L + T - B);\n            gl_FragColor = vec4(div, 0.0, 0.0, 1.0);\n        }\n      `);const curlShader=compileShader(gl.FRAGMENT_SHADER,`\n        precision mediump float;\n        precision mediump sampler2D;\n        varying highp vec2 vUv;\n        varying highp vec2 vL;\n        varying highp vec2 vR;\n        varying highp vec2 vT;\n        varying highp vec2 vB;\n        uniform sampler2D uVelocity;\n\n        void main () {\n            float L = texture2D(uVelocity, vL).y;\n            float R = texture2D(uVelocity, vR).y;\n            float T = texture2D(uVelocity, vT).x;\n            float B = texture2D(uVelocity, vB).x;\n            float vorticity = R - L - T + B;\n            gl_FragColor = vec4(0.5 * vorticity, 0.0, 0.0, 1.0);\n        }\n      `);const vorticityShader=compileShader(gl.FRAGMENT_SHADER,`\n        precision highp float;\n        precision highp sampler2D;\n        varying vec2 vUv;\n        varying vec2 vL;\n        varying vec2 vR;\n        varying vec2 vT;\n        varying vec2 vB;\n        uniform sampler2D uVelocity;\n        uniform sampler2D uCurl;\n        uniform float curl;\n        uniform float dt;\n\n        void main () {\n            float L = texture2D(uCurl, vL).x;\n            float R = texture2D(uCurl, vR).x;\n            float T = texture2D(uCurl, vT).x;\n            float B = texture2D(uCurl, vB).x;\n            float C = texture2D(uCurl, vUv).x;\n\n            vec2 force = 0.5 * vec2(abs(T) - abs(B), abs(R) - abs(L));\n            force /= length(force) + 0.0001;\n            force *= curl * C;\n            force.y *= -1.0;\n\n            vec2 velocity = texture2D(uVelocity, vUv).xy;\n            velocity += force * dt;\n            velocity = min(max(velocity, -1000.0), 1000.0);\n            gl_FragColor = vec4(velocity, 0.0, 1.0);\n        }\n      `);const pressureShader=compileShader(gl.FRAGMENT_SHADER,`\n        precision mediump float;\n        precision mediump sampler2D;\n        varying highp vec2 vUv;\n        varying highp vec2 vL;\n        varying highp vec2 vR;\n        varying highp vec2 vT;\n        varying highp vec2 vB;\n        uniform sampler2D uPressure;\n        uniform sampler2D uDivergence;\n\n        void main () {\n            float L = texture2D(uPressure, vL).x;\n            float R = texture2D(uPressure, vR).x;\n            float T = texture2D(uPressure, vT).x;\n            float B = texture2D(uPressure, vB).x;\n            float C = texture2D(uPressure, vUv).x;\n            float divergence = texture2D(uDivergence, vUv).x;\n            float pressure = (L + R + B + T - divergence) * 0.25;\n            gl_FragColor = vec4(pressure, 0.0, 0.0, 1.0);\n        }\n      `);const gradientSubtractShader=compileShader(gl.FRAGMENT_SHADER,`\n        precision mediump float;\n        precision mediump sampler2D;\n        varying highp vec2 vUv;\n        varying highp vec2 vL;\n        varying highp vec2 vR;\n        varying highp vec2 vT;\n        varying highp vec2 vB;\n        uniform sampler2D uPressure;\n        uniform sampler2D uVelocity;\n\n        void main () {\n            float L = texture2D(uPressure, vL).x;\n            float R = texture2D(uPressure, vR).x;\n            float T = texture2D(uPressure, vT).x;\n            float B = texture2D(uPressure, vB).x;\n            vec2 velocity = texture2D(uVelocity, vUv).xy;\n            velocity.xy -= vec2(R - L, T - B);\n            gl_FragColor = vec4(velocity, 0.0, 1.0);\n        }\n      `);const blit=(()=>{gl.bindBuffer(gl.ARRAY_BUFFER,gl.createBuffer());gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),gl.STATIC_DRAW);gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,gl.createBuffer());gl.bufferData(gl.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),gl.STATIC_DRAW);gl.vertexAttribPointer(0,2,gl.FLOAT,false,0,0);gl.enableVertexAttribArray(0);return(target,clear=false)=>{if(target==null){gl.viewport(0,0,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.bindFramebuffer(gl.FRAMEBUFFER,null);}else{gl.viewport(0,0,target.width,target.height);gl.bindFramebuffer(gl.FRAMEBUFFER,target.fbo);}if(clear){gl.clearColor(0,0,0,1);gl.clear(gl.COLOR_BUFFER_BIT);}gl.drawElements(gl.TRIANGLES,6,gl.UNSIGNED_SHORT,0);};})();let dye,velocity,divergence,curl,pressure;const copyProgram=new Program(baseVertexShader,copyShader);const clearProgram=new Program(baseVertexShader,clearShader);const splatProgram=new Program(baseVertexShader,splatShader);const advectionProgram=new Program(baseVertexShader,advectionShader);const divergenceProgram=new Program(baseVertexShader,divergenceShader);const curlProgram=new Program(baseVertexShader,curlShader);const vorticityProgram=new Program(baseVertexShader,vorticityShader);const pressureProgram=new Program(baseVertexShader,pressureShader);const gradienSubtractProgram=new Program(baseVertexShader,gradientSubtractShader);const displayMaterial=new Material(baseVertexShader,displayShaderSource);function initFramebuffers(){let simRes=getResolution(config.SIM_RESOLUTION);let dyeRes=getResolution(config.DYE_RESOLUTION);const texType=ext.halfFloatTexType;const rgba=ext.formatRGBA;const rg=ext.formatRG;const r=ext.formatR;const filtering=ext.supportLinearFiltering?gl.LINEAR:gl.NEAREST;gl.disable(gl.BLEND);if(!dye)dye=createDoubleFBO(dyeRes.width,dyeRes.height,rgba.internalFormat,rgba.format,texType,filtering);else dye=resizeDoubleFBO(dye,dyeRes.width,dyeRes.height,rgba.internalFormat,rgba.format,texType,filtering);if(!velocity)velocity=createDoubleFBO(simRes.width,simRes.height,rg.internalFormat,rg.format,texType,filtering);else velocity=resizeDoubleFBO(velocity,simRes.width,simRes.height,rg.internalFormat,rg.format,texType,filtering);divergence=createFBO(simRes.width,simRes.height,r.internalFormat,r.format,texType,gl.NEAREST);curl=createFBO(simRes.width,simRes.height,r.internalFormat,r.format,texType,gl.NEAREST);pressure=createDoubleFBO(simRes.width,simRes.height,r.internalFormat,r.format,texType,gl.NEAREST);}function createFBO(w,h,internalFormat,format,type,param){gl.activeTexture(gl.TEXTURE0);let texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,texture);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,param);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,param);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.texImage2D(gl.TEXTURE_2D,0,internalFormat,w,h,0,format,type,null);let fbo=gl.createFramebuffer();gl.bindFramebuffer(gl.FRAMEBUFFER,fbo);gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_2D,texture,0);gl.viewport(0,0,w,h);gl.clear(gl.COLOR_BUFFER_BIT);let texelSizeX=1/w;let texelSizeY=1/h;return{texture,fbo,width:w,height:h,texelSizeX,texelSizeY,attach(id){gl.activeTexture(gl.TEXTURE0+id);gl.bindTexture(gl.TEXTURE_2D,texture);return id;}};}function createDoubleFBO(w,h,internalFormat,format,type,param){let fbo1=createFBO(w,h,internalFormat,format,type,param);let fbo2=createFBO(w,h,internalFormat,format,type,param);return{width:w,height:h,texelSizeX:fbo1.texelSizeX,texelSizeY:fbo1.texelSizeY,get read(){return fbo1;},set read(value){fbo1=value;},get write(){return fbo2;},set write(value){fbo2=value;},swap(){let temp=fbo1;fbo1=fbo2;fbo2=temp;}};}function resizeFBO(target,w,h,internalFormat,format,type,param){let newFBO=createFBO(w,h,internalFormat,format,type,param);copyProgram.bind();gl.uniform1i(copyProgram.uniforms.uTexture,target.attach(0));blit(newFBO);return newFBO;}function resizeDoubleFBO(target,w,h,internalFormat,format,type,param){if(target.width===w&&target.height===h)return target;target.read=resizeFBO(target.read,w,h,internalFormat,format,type,param);target.write=createFBO(w,h,internalFormat,format,type,param);target.width=w;target.height=h;target.texelSizeX=1/w;target.texelSizeY=1/h;return target;}function updateKeywords(){let displayKeywords=[];if(config.SHADING)displayKeywords.push(\"SHADING\");displayMaterial.setKeywords(displayKeywords);}updateKeywords();initFramebuffers();let lastUpdateTime=Date.now();let colorUpdateTimer=0;function updateFrame(){const dt=calcDeltaTime();if(resizeCanvas())initFramebuffers();updateColors(dt);applyInputs();step(dt);render(null);requestAnimationFrame(updateFrame);}function calcDeltaTime(){let now=Date.now();let dt=(now-lastUpdateTime)/1e3;dt=Math.min(dt,.016666);lastUpdateTime=now;return dt;}function resizeCanvas(){let width=scaleByPixelRatio(canvas.clientWidth);let height=scaleByPixelRatio(canvas.clientHeight);if(canvas.width!==width||canvas.height!==height){canvas.width=width;canvas.height=height;return true;}return false;}function updateColors(dt){colorUpdateTimer+=dt*config.COLOR_UPDATE_SPEED;if(colorUpdateTimer>=1){colorUpdateTimer=wrap(colorUpdateTimer,0,1);pointers.forEach(p=>{p.color=generateColor();});}}function applyInputs(){pointers.forEach(p=>{if(p.moved){p.moved=false;splatPointer(p);}});}function step(dt){gl.disable(gl.BLEND);// Curl\ncurlProgram.bind();gl.uniform2f(curlProgram.uniforms.texelSize,velocity.texelSizeX,velocity.texelSizeY);gl.uniform1i(curlProgram.uniforms.uVelocity,velocity.read.attach(0));blit(curl);// Vorticity\nvorticityProgram.bind();gl.uniform2f(vorticityProgram.uniforms.texelSize,velocity.texelSizeX,velocity.texelSizeY);gl.uniform1i(vorticityProgram.uniforms.uVelocity,velocity.read.attach(0));gl.uniform1i(vorticityProgram.uniforms.uCurl,curl.attach(1));gl.uniform1f(vorticityProgram.uniforms.curl,config.CURL);gl.uniform1f(vorticityProgram.uniforms.dt,dt);blit(velocity.write);velocity.swap();// Divergence\ndivergenceProgram.bind();gl.uniform2f(divergenceProgram.uniforms.texelSize,velocity.texelSizeX,velocity.texelSizeY);gl.uniform1i(divergenceProgram.uniforms.uVelocity,velocity.read.attach(0));blit(divergence);// Clear pressure\nclearProgram.bind();gl.uniform1i(clearProgram.uniforms.uTexture,pressure.read.attach(0));gl.uniform1f(clearProgram.uniforms.value,config.PRESSURE);blit(pressure.write);pressure.swap();// Pressure\npressureProgram.bind();gl.uniform2f(pressureProgram.uniforms.texelSize,velocity.texelSizeX,velocity.texelSizeY);gl.uniform1i(pressureProgram.uniforms.uDivergence,divergence.attach(0));for(let i=0;i<config.PRESSURE_ITERATIONS;i++){gl.uniform1i(pressureProgram.uniforms.uPressure,pressure.read.attach(1));blit(pressure.write);pressure.swap();}// Gradient Subtract\ngradienSubtractProgram.bind();gl.uniform2f(gradienSubtractProgram.uniforms.texelSize,velocity.texelSizeX,velocity.texelSizeY);gl.uniform1i(gradienSubtractProgram.uniforms.uPressure,pressure.read.attach(0));gl.uniform1i(gradienSubtractProgram.uniforms.uVelocity,velocity.read.attach(1));blit(velocity.write);velocity.swap();// Advection\nadvectionProgram.bind();gl.uniform2f(advectionProgram.uniforms.texelSize,velocity.texelSizeX,velocity.texelSizeY);if(!ext.supportLinearFiltering)gl.uniform2f(advectionProgram.uniforms.dyeTexelSize,velocity.texelSizeX,velocity.texelSizeY);let velocityId=velocity.read.attach(0);gl.uniform1i(advectionProgram.uniforms.uVelocity,velocityId);gl.uniform1i(advectionProgram.uniforms.uSource,velocityId);gl.uniform1f(advectionProgram.uniforms.dt,dt);gl.uniform1f(advectionProgram.uniforms.dissipation,config.VELOCITY_DISSIPATION);blit(velocity.write);velocity.swap();if(!ext.supportLinearFiltering)gl.uniform2f(advectionProgram.uniforms.dyeTexelSize,dye.texelSizeX,dye.texelSizeY);gl.uniform1i(advectionProgram.uniforms.uVelocity,velocity.read.attach(0));gl.uniform1i(advectionProgram.uniforms.uSource,dye.read.attach(1));gl.uniform1f(advectionProgram.uniforms.dissipation,config.DENSITY_DISSIPATION);blit(dye.write);dye.swap();}function render(target){gl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_ALPHA);gl.enable(gl.BLEND);drawDisplay(target);}function drawDisplay(target){let width=target==null?gl.drawingBufferWidth:target.width;let height=target==null?gl.drawingBufferHeight:target.height;displayMaterial.bind();if(config.SHADING)gl.uniform2f(displayMaterial.uniforms.texelSize,1/width,1/height);gl.uniform1i(displayMaterial.uniforms.uTexture,dye.read.attach(0));blit(target);}function splatPointer(pointer){let dx=pointer.deltaX*config.SPLAT_FORCE;let dy=pointer.deltaY*config.SPLAT_FORCE;splat(pointer.texcoordX,pointer.texcoordY,dx,dy,pointer.color);}function clickSplat(pointer){const color=generateColor();color.r*=10;color.g*=10;color.b*=10;let dx=10*(Math.random()-.5);let dy=30*(Math.random()-.5);splat(pointer.texcoordX,pointer.texcoordY,dx,dy,color);}function splat(x,y,dx,dy,color){splatProgram.bind();gl.uniform1i(splatProgram.uniforms.uTarget,velocity.read.attach(0));gl.uniform1f(splatProgram.uniforms.aspectRatio,canvas.width/canvas.height);gl.uniform2f(splatProgram.uniforms.point,x,y);gl.uniform3f(splatProgram.uniforms.color,dx,dy,0);gl.uniform1f(splatProgram.uniforms.radius,correctRadius(config.SPLAT_RADIUS/100));blit(velocity.write);velocity.swap();gl.uniform1i(splatProgram.uniforms.uTarget,dye.read.attach(0));gl.uniform3f(splatProgram.uniforms.color,color.r,color.g,color.b);blit(dye.write);dye.swap();}function correctRadius(radius){let aspectRatio=canvas.width/canvas.height;if(aspectRatio>1)radius*=aspectRatio;return radius;}function updatePointerDownData(pointer,id,posX,posY){pointer.id=id;pointer.down=true;pointer.moved=false;pointer.texcoordX=posX/canvas.width;pointer.texcoordY=1-posY/canvas.height;pointer.prevTexcoordX=pointer.texcoordX;pointer.prevTexcoordY=pointer.texcoordY;pointer.deltaX=0;pointer.deltaY=0;pointer.color=generateColor();}function updatePointerMoveData(pointer,posX,posY,color){pointer.prevTexcoordX=pointer.texcoordX;pointer.prevTexcoordY=pointer.texcoordY;pointer.texcoordX=posX/canvas.width;pointer.texcoordY=1-posY/canvas.height;pointer.deltaX=correctDeltaX(pointer.texcoordX-pointer.prevTexcoordX);pointer.deltaY=correctDeltaY(pointer.texcoordY-pointer.prevTexcoordY);pointer.moved=Math.abs(pointer.deltaX)>0||Math.abs(pointer.deltaY)>0;pointer.color=color;}function updatePointerUpData(pointer){pointer.down=false;}function correctDeltaX(delta){let aspectRatio=canvas.width/canvas.height;if(aspectRatio<1)delta*=aspectRatio;return delta;}function correctDeltaY(delta){let aspectRatio=canvas.width/canvas.height;if(aspectRatio>1)delta/=aspectRatio;return delta;}function generateColor(){let c=HSVtoRGB(Math.random(),1,1);c.r*=.15;c.g*=.15;c.b*=.15;return c;}function HSVtoRGB(h,s,v){let r,g,b,i,f,p,q,t;i=Math.floor(h*6);f=h*6-i;p=v*(1-s);q=v*(1-f*s);t=v*(1-(1-f)*s);switch(i%6){case 0:r=v;g=t;b=p;break;case 1:r=q;g=v;b=p;break;case 2:r=p;g=v;b=t;break;case 3:r=p;g=q;b=v;break;case 4:r=t;g=p;b=v;break;case 5:r=v;g=p;b=q;break;default:break;}return{r,g,b};}function wrap(value1,min,max){const range=max-min;if(range===0)return min;return(value1-min)%range+min;}function getResolution(resolution){let aspectRatio=gl.drawingBufferWidth/gl.drawingBufferHeight;if(aspectRatio<1)aspectRatio=1/aspectRatio;const min=Math.round(resolution);const max=Math.round(resolution*aspectRatio);if(gl.drawingBufferWidth>gl.drawingBufferHeight)return{width:max,height:min};else return{width:min,height:max};}function scaleByPixelRatio(input){const pixelRatio=window.devicePixelRatio||1;return Math.floor(input*pixelRatio);}function hashCode(s){if(s.length===0)return 0;let hash=0;for(let i=0;i<s.length;i++){hash=(hash<<5)-hash+s.charCodeAt(i);hash|=0;}return hash;}window.addEventListener(\"mousedown\",e=>{let pointer=pointers[0];let posX=scaleByPixelRatio(e.clientX);let posY=scaleByPixelRatio(e.clientY);updatePointerDownData(pointer,-1,posX,posY);clickSplat(pointer);});document.body.addEventListener(\"mousemove\",function handleFirstMouseMove(e){let pointer=pointers[0];let posX=scaleByPixelRatio(e.clientX);let posY=scaleByPixelRatio(e.clientY);let color=generateColor();updateFrame()// start animation loop\n;updatePointerMoveData(pointer,posX,posY,color);document.body.removeEventListener(\"mousemove\",handleFirstMouseMove);});window.addEventListener(\"mousemove\",e=>{let pointer=pointers[0];let posX=scaleByPixelRatio(e.clientX);let posY=scaleByPixelRatio(e.clientY);let color=pointer.color;updatePointerMoveData(pointer,posX,posY,color);});document.body.addEventListener(\"touchstart\",function handleFirstTouchStart(e){const touches=e.targetTouches;let pointer=pointers[0];for(let i=0;i<touches.length;i++){let posX=scaleByPixelRatio(touches[i].clientX);let posY=scaleByPixelRatio(touches[i].clientY);updateFrame()// start animation loop\n;updatePointerDownData(pointer,touches[i].identifier,posX,posY);}document.body.removeEventListener(\"touchstart\",handleFirstTouchStart);});window.addEventListener(\"touchstart\",e=>{const touches=e.targetTouches;let pointer=pointers[0];for(let i=0;i<touches.length;i++){let posX=scaleByPixelRatio(touches[i].clientX);let posY=scaleByPixelRatio(touches[i].clientY);updatePointerDownData(pointer,touches[i].identifier,posX,posY);}});window.addEventListener(\"touchmove\",e=>{const touches=e.targetTouches;let pointer=pointers[0];for(let i=0;i<touches.length;i++){let posX=scaleByPixelRatio(touches[i].clientX);let posY=scaleByPixelRatio(touches[i].clientY);updatePointerMoveData(pointer,posX,posY,pointer.color);}},false);window.addEventListener(\"touchend\",e=>{const touches=e.changedTouches;let pointer=pointers[0];for(let i=0;i<touches.length;i++){updatePointerUpData(pointer);}});updateFrame();// eslint-disable-next-line react-hooks/exhaustive-deps\n},[SIM_RESOLUTION,DYE_RESOLUTION,CAPTURE_RESOLUTION,DENSITY_DISSIPATION,VELOCITY_DISSIPATION,PRESSURE,PRESSURE_ITERATIONS,CURL,SPLAT_RADIUS,SPLAT_FORCE,SHADING,COLOR_UPDATE_SPEED,BACK_COLOR,TRANSPARENT]);return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",top:0,left:0,zIndex:0,pointerEvents:\"none\",width:\"100%\",height:\"100%\",border:\"0px solid #ffffff\"},children:/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,id:\"fluid\",style:{width:\"100vw\",height:\"100vh\",display:\"block\"}})});}export default SplashCursor;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SplashCursor\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Magic_brush_test.map"],
  "mappings": "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",
  "names": ["cssVariableRegex", "useColors", "colors", "isCanvas", "RenderTarget", "isOptimizing", "window", "darkMode", "useDarkMode", "styleValues", "setStyleValues", "ye", "extractStyleValues", "extractCSSVariableName", "ue", "div", "observer", "variableNames", "se", "color", "extractDefaultValue", "values", "i", "variableName", "colorValues", "result", "lightVars", "darkVars", "style", "vars", "parseVariables", "light", "dark", "extractColorStyles", "varName", "lightSection", "darkSection", "styles", "rules", "styleRules", "rule", "subrule", "isDarkMedia", "css", "isDark", "isLight", "isPreview", "isDarkMode", "setIsDarkMode", "mutations", "mutation", "theme", "mediaQuery", "handleChange", "e", "cssString", "match", "section", "declaration", "name", "value", "s", "cssVar", "parts", "TextWave", "props", "text", "tag", "per", "origin", "colors", "font", "userSelect", "waveWidth", "waveScale", "speed", "resize", "animation", "glow", "direction", "loop", "trigger", "replay", "delay", "id", "se", "generateRandomString", "isCanvas", "RenderTarget", "ref", "pe", "elementsRef", "spanWidthsRef", "defaultColor", "waveInColor", "waveOutColor", "useColors", "waveInColorObject", "Color", "glowColorObject", "textColorObjectRef", "interpolateColorRef", "isInView", "useInView", "textAlign", "MotionTag", "motion", "spanClassName", "waveRange", "progressRef", "lines", "wordCount", "textLines", "i", "line", "index", "createLineChildren", "lineIndex", "lineWords", "word", "wordIndex", "u", "l", "p", "char", "charIndex", "savedIndex", "el", "ue", "colorAnimation", "timeoutId", "animationFrame", "animateTextColor", "animateIn", "interpolateTextColor", "animate", "mapRange", "value", "colorObject", "runAnimation", "segments", "start", "end", "updateText", "cumulativeOffset", "elementOffset", "prevYPosition", "elementLineMap", "elementScaleMap", "lineOffsets", "element", "offset", "boundingClientRect", "yPosition", "offsetPercent", "easeInOut", "scaleValue", "halfOffset", "scale", "lineOffset", "offsetValue", "translate", "addPropertyControls", "ControlType", "fromLow", "fromHigh", "toLow", "toHigh", "percentage", "CHARACTERS", "result", "randomIndex", "serializationHash", "variantClassNames", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "getProps", "height", "id", "subtitle", "title", "width", "props", "_ref", "_ref1", "createLayoutDependency", "variants", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "variant", "yeAnKbEUZ", "WuF2iG84P", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "variantClassNames", "layoutDependency", "ref1", "pe", "defaultLayoutId", "ae", "sharedStyleClassNames", "componentViewport", "useComponentViewport", "LayoutGroup", "cx", "serializationHash", "u", "SVG", "RichText", "css", "FramerW7oLCU4_B", "withCSS", "Utils_Component_Message_ZVoG_default", "addPropertyControls", "ControlType", "addFonts", "ComponentMessage", "title", "subtitle", "style", "p", "Utils_Component_Message_ZVoG_default", "MediaRenderer", "X", "mode", "media", "currentTime", "imageFit", "videoRef", "display", "poster", "posterEnabled", "commonStyle", "ue", "video", "p", "ScrollMedia", "images", "scrollAreaHeight", "frameRate", "sequenceStartOffset", "triggerPosition", "mediaState", "setMediaState", "ye", "pe", "componentRef", "scrollY", "useMotionValue", "lastUpdateTime", "frameInterval", "se", "startPositionRef", "preloadedImages", "src", "img", "prev", "handleLoadedMetadata", "getOriginalPosition", "element", "targetElement", "el", "currentElement", "window", "originalPosition", "rect", "scrollTop", "top", "updateMediaPosition", "te", "scrollPosition", "now", "viewportHeight", "documentHeight", "triggerPoint", "scrollDistance", "totalScrollDistance", "effectiveScrollArea", "progress", "newIndex", "newTime", "handleScroll", "initialScrollPosition", "ComponentMessage", "index", "addPropertyControls", "ControlType", "Clipboard", "props", "label", "content", "fill", "color", "style", "onClick", "font", "hoverOptions", "rest", "deprecatedFont", "useFontControls", "borderRadius", "useRadius", "paddingValue", "usePadding", "handleClick", "te", "ref", "navigator", "p", "motion", "addPropertyControls", "ControlType", "defaultEvents", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "LayoutGroup", "u", "RichText", "css", "FramerOh6pSo2jg", "withCSS", "Oh6pSo2jg_default", "addPropertyControls", "ControlType", "addFonts", "SVG", "props", "customSvgElement", "setCustomSvgElement", "ye", "ue", "svgContent", "processCustomSVGContent", "replacements", "hasCustomStroke", "hasCustomStrokeWidth", "hasLineCap", "hasLineJoin", "circleFillRegex", "match", "updatedCircle", "regex", "replacement", "customContainerStyle", "p", "addPropertyControls", "ControlType", "SVG_default", "SVGFonts", "getFonts", "SVG_default", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "LayoutGroup", "u", "ComponentViewportProvider", "SmartComponentScopedContainer", "css", "FramerVz2zODPaq", "withCSS", "Vz2zODPaq_default", "addPropertyControls", "ControlType", "addFonts", "IconsFonts", "getFonts", "Vz2zODPaq_default", "TextsFonts", "Oh6pSo2jg_default", "ClipboardFonts", "Clipboard", "enabledGestures", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transition2", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "link", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "l0RNA5SgB", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTap1tam24f", "args", "onAppear1km5gun", "useOnVariantChange", "scopingClassNames", "cx", "LayoutGroup", "u", "ComponentViewportProvider", "SmartComponentScopedContainer", "css", "FramerErWKXLzDh", "withCSS", "ErWKXLzDh_default", "addPropertyControls", "ControlType", "addFonts", "MotionDivWithFX", "withFX", "motion", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transition2", "animation", "animation1", "transition3", "animation2", "transformTemplate1", "_", "t", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "x", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "isDisplayed", "isDisplayed1", "isDisplayed2", "LayoutGroup", "u", "Image2", "getLoadingLazyAtYPosition", "css", "FramerzrfNNVpAI", "withCSS", "zrfNNVpAI_default", "addPropertyControls", "ControlType", "addFonts", "SplashCursor", "SIM_RESOLUTION", "DYE_RESOLUTION", "CAPTURE_RESOLUTION", "DENSITY_DISSIPATION", "VELOCITY_DISSIPATION", "PRESSURE", "PRESSURE_ITERATIONS", "CURL", "SPLAT_RADIUS", "SPLAT_FORCE", "SHADING", "COLOR_UPDATE_SPEED", "BACK_COLOR", "TRANSPARENT", "canvasRef", "pe", "ue", "canvas", "pointerPrototype", "config", "pointers", "gl", "ext", "getWebGLContext", "params", "isWebGL2", "halfFloat", "supportLinearFiltering", "halfFloatTexType", "formatRGBA", "formatRG", "formatR", "getSupportedFormat", "internalFormat", "format", "type", "supportRenderTextureFormat", "texture", "fbo", "Material", "keywords", "hash", "i", "hashCode", "program", "fragmentShader", "compileShader", "createProgram", "getUniforms", "vertexShader", "fragmentShaderSource", "Program", "uniforms", "uniformCount", "uniformName", "source", "addKeywords", "shader", "keywordsString", "keyword", "baseVertexShader", "copyShader", "clearShader", "displayShaderSource", "splatShader", "advectionShader", "divergenceShader", "curlShader", "vorticityShader", "pressureShader", "gradientSubtractShader", "blit", "target", "clear", "dye", "velocity", "divergence", "curl", "pressure", "copyProgram", "clearProgram", "splatProgram", "advectionProgram", "divergenceProgram", "curlProgram", "vorticityProgram", "pressureProgram", "gradienSubtractProgram", "displayMaterial", "initFramebuffers", "simRes", "getResolution", "dyeRes", "texType", "rgba", "rg", "r", "filtering", "resizeDoubleFBO", "createDoubleFBO", "createFBO", "w", "h", "param", "texelSizeX", "texelSizeY", "id", "fbo1", "fbo2", "value", "temp", "resizeFBO", "newFBO", "updateKeywords", "displayKeywords", "lastUpdateTime", "colorUpdateTimer", "updateFrame", "dt", "calcDeltaTime", "resizeCanvas", "updateColors", "applyInputs", "step", "render", "now", "width", "scaleByPixelRatio", "height", "wrap", "p", "generateColor", "splatPointer", "velocityId", "drawDisplay", "pointer", "dx", "dy", "splat", "clickSplat", "color", "x", "y", "correctRadius", "radius", "aspectRatio", "updatePointerDownData", "posX", "posY", "updatePointerMoveData", "correctDeltaX", "correctDeltaY", "updatePointerUpData", "delta", "c", "HSVtoRGB", "s", "v", "g", "b", "f", "q", "t", "value1", "min", "max", "range", "resolution", "input", "pixelRatio", "window", "handleFirstMouseMove", "e", "handleFirstTouchStart", "touches", "Magic_brush_test_default"]
}
