{
  "version": 3,
  "sources": ["ssg:https://framer.com/m/framer/store.js@^1.0.0", "ssg:https://framerusercontent.com/modules/P3S2M04Yg53AO5F51mO2/pzJl44uxe09OYFf1Kkst/MagneticHover_Prod.js", "ssg:https://framerusercontent.com/modules/3HKUZcIGK84HZuBMYIhI/aLB6hEej1MIBrdEdDp36/IPadOSPointerEffect_Prod.js", "ssg:https://framerusercontent.com/modules/k76epLFsVsF4jlsF5pgg/ge79eoA2CuYo94sUAjT9/useColors.js", "ssg:https://framerusercontent.com/modules/NLpw4UPElXpirDfZ8gK3/pnnblFdmCm84r7TGjG3U/shader_mount.js", "ssg:https://framerusercontent.com/modules/zIDOp1iaNFIXSAIx7ljo/VX06XYWdAlD95B9usTKm/warp.js", "ssg:https://framerusercontent.com/modules/r591zLdRh7n2CKaaHRG7/PCYxubr6wk68eTxKLhEH/get_shader_color_from_string.js", "ssg:https://framerusercontent.com/modules/xx99X8dO7V1Egbc8GwnH/UFRazcQO8HL1EtQ8wvSQ/AnimatedLiquidBackground_Prod.js"],
  "sourcesContent": ["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useMemo}from\"react\";import{useMotionValue,useSpring,motion}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */export default function MagneticHover(props){const{distance,smoothing,hoverArea,enabled}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const id=generateInstanceId();const transition={damping:100,stiffness:mapRange(smoothing,0,100,2e3,50)};const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const x=useMotionValue(0);const y=useMotionValue(0);const springX=useSpring(x,transition);const springY=useSpring(y,transition);const scale=useMotionValue(1);const springScale=useSpring(scale,transition);const ref=useRef(null);const containerRef=useRef(null);const parentRef=useRef(null);const isHoveringRef=useRef(false);const transformRef=useRef(null);const motionTransformRef=useRef(null);const styleRef=useRef(null);const hasSpringRef=useRef(smoothing!==0);const previousXRef=useRef(null);const previousYRef=useRef(null);const previousChildrenXRef=useRef(null);const previousChildrenYRef=useRef(null);const previousChildrenScaleRef=useRef(null);const previousStyleTransformRef=useRef(null);const previousChildrenStyleTransformsRef=useRef({});useEffect(()=>{const unsubscribeX=mouseX.onChange(v=>x.set(enabled?v:0));const unsubscribeY=mouseY.onChange(v=>y.set(enabled?v:0));return()=>{unsubscribeX();unsubscribeY();};},[enabled,mouseX,mouseY,x,y]);useEffect(()=>{x.set(enabled?mouseX.get():0);y.set(enabled?mouseY.get():0);if(!enabled){scale.set(1);}else if(isHoveringRef.current&&props.children){scale.set(props.children.scale);}},[enabled]);useEffect(()=>{hasSpringRef.current=smoothing!==0;},[smoothing]);useEffect(()=>{let animationFrameId;const updateTransform=()=>{if(isCanvas){return;}animationFrameId=requestAnimationFrame(updateTransform);if(!parentRef.current||!styleRef.current){return;}const xValue=hasSpringRef.current?springX.get():x.get();const yValue=hasSpringRef.current?springY.get():y.get();const computedStyle=window.getComputedStyle(parentRef.current);const parentTransform=calculateTransform(parentRef.current,computedStyle,xValue*distance,yValue*distance,1,previousXRef.current*distance,previousYRef.current*distance,1,previousStyleTransformRef.current);// Store parent's style transform\npreviousStyleTransformRef.current=parentRef.current.style.transform;// Handle children transforms\nlet childrenStyles=\"\";if(props.children){const children=parentRef.current.children;const scaleValue=hasSpringRef.current?springScale.get():scale.get();const childrenXValue=xValue*props.children.distance;const childrenYValue=yValue*props.children.distance;for(let i=0;i<children.length;i++){const child=children[i];if(child===containerRef.current){continue;}const childComputedStyle=window.getComputedStyle(child);const childTransform=calculateTransform(child,childComputedStyle,childrenXValue,childrenYValue,scaleValue,previousChildrenXRef.current,previousChildrenYRef.current,previousChildrenScaleRef.current,previousChildrenStyleTransformsRef.current[i]);// Store child's style transform\npreviousChildrenStyleTransformsRef.current[i]=child.style.transform;childrenStyles+=`\n\t\t\t\t\t\t[data-magnetichover=\"${id}\"] > :nth-child(${i+1}) { \n\t\t\t\t\t\t\ttransform: ${childTransform} !important \n\t\t\t\t\t\t}\n\t\t\t\t\t`;}previousChildrenXRef.current=childrenXValue;previousChildrenYRef.current=childrenYValue;previousChildrenScaleRef.current=scaleValue;}transformRef.current=parentTransform;styleRef.current.textContent=`\n\t\t\t\t[data-magnetichover=\"${id}\"] { transform: ${parentTransform} !important }\n\t\t\t\t${childrenStyles}\n\t\t\t`;previousXRef.current=xValue;previousYRef.current=yValue;};if(ref.current){const container=ref.current.parentElement;if(container){containerRef.current=container;const parent=container.parentElement;if(parent){parentRef.current=parent;parent.setAttribute(\"data-magnetichover\",id);motionTransformRef.current=motion(parent,\"transform\");}}}// Start the animation loop\nupdateTransform();// Cleanup function\nreturn()=>{if(animationFrameId){cancelAnimationFrame(animationFrameId);}};},[props.children]);useEffect(()=>{const handleMouseMove=event=>{if(!parentRef.current){return;}const element=parentRef.current;const rect=element.getBoundingClientRect();const mouseXPos=event.clientX;const mouseYPos=event.clientY;const isHovering=mouseXPos>=rect.left-hoverArea&&mouseXPos<=rect.right+hoverArea&&mouseYPos>=rect.top-hoverArea&&mouseYPos<=rect.bottom+hoverArea;isHoveringRef.current=isHovering;if(isHovering){const displacementX=mouseXPos-(rect.left+rect.width/2);const displacementY=mouseYPos-(rect.top+rect.height/2);const normalizedX=displacementX/(rect.width/2);const normalizedY=displacementY/(rect.height/2);mouseX.set(normalizedX);mouseY.set(normalizedY);scale.set(enabled&&props.children?props.children.scale:1);}else{mouseX.set(0);mouseY.set(0);scale.set(1);}};window.addEventListener(\"mousemove\",handleMouseMove);return()=>window.removeEventListener(\"mousemove\",handleMouseMove);},[distance,x,y,transition,enabled,props.children]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style},children:/*#__PURE__*/_jsx(\"style\",{ref:styleRef})});}MagneticHover.displayName=\"Magnetic Hover\";addPropertyControls(MagneticHover,{enabled:{type:ControlType.Boolean,defaultValue:true},distance:{type:ControlType.Number,defaultValue:10,min:0,step:1,hidden:props=>!props.enabled},hoverArea:{type:ControlType.Number,defaultValue:10,min:0,step:1,hidden:props=>!props.enabled},children:{type:ControlType.Object,optional:true,controls:{distance:{type:ControlType.Number,defaultValue:10,min:0,step:1},scale:{type:ControlType.Number,defaultValue:1,min:0,step:.01}},hidden:props=>!props.enabled},smoothing:{type:ControlType.Number,defaultValue:50,min:0,max:100,step:1,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});const CHARACTERS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";function generateInstanceId(){const id=useMemo(()=>{let result=\"\";for(let i=0;i<13;i++){result+=CHARACTERS.charAt(Math.floor(Math.random()*CHARACTERS.length));}return result;},[]);return id;}function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}function calculateTransform(element,computedStyle,xValue,yValue,scale=1,previousX,previousY,previousScale,previousStyleTransform){xValue=xValue||0;yValue=yValue||0;previousX=previousX||0;previousY=previousY||0;scale=scale||1;previousScale=previousScale||1;// Get transform\nconst computedTransform=computedStyle.transform;const styleTransform=element.style.transform;// Subtract previous values from current values for a single transform\nconst finalX=xValue-previousX;const finalY=yValue-previousY;const finalScale=scale/(previousScale||1)// Prevent division by zero\n;const translateTransform=`translate(${finalX.toFixed(3)}px, ${finalY.toFixed(3)}px)`;const transformWithScale=scale!==1?`${translateTransform} scale(${finalScale})`:translateTransform;let transform=transformWithScale;if(styleTransform&&styleTransform!==\"none\"){if(previousStyleTransform&&previousStyleTransform!==\"none\"){transform=`${transformWithScale} ${invertTransform(previousStyleTransform)} ${styleTransform}`;}else{transform=`${transformWithScale} ${styleTransform}`;}}return computedTransform&&computedTransform!==\"none\"?`${transform} ${computedTransform}`:transform;}function invertTransform(transformString){const transforms=transformString.match(/\\w+\\([^)]+\\)/g)||[];const invertedTransforms=transforms.reverse().map(transform=>{const[func,valuesString]=transform.match(/(\\w+)\\(([^)]+)\\)/).slice(1);const values=valuesString.split(\",\").map(v=>v.trim());const invertNumber=v=>{const[_,sign,num,unit]=v.match(/^(-?)(\\d*\\.?\\d+)(\\D*)$/);return`${sign?\"\":\"-\"}${num}${unit}`;};switch(func.toLowerCase()){case\"translate\":case\"translate3d\":case\"translatex\":case\"translatey\":case\"translatez\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"scale\":case\"scale3d\":return`${func}(${values.map(v=>1/parseFloat(v)).join(\", \")})`;case\"scalex\":case\"scaley\":case\"scalez\":return`${func}(${1/parseFloat(values[0])})`;case\"rotate\":case\"rotatex\":case\"rotatey\":case\"rotatez\":return`${func}(${invertNumber(values[0])})`;case\"rotate3d\":const rotateValues=values.map(parseFloat);return`${func}(${rotateValues[0]}, ${rotateValues[1]}, ${rotateValues[2]}, ${invertNumber(values[3])})`;case\"skew\":case\"skewx\":case\"skewy\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"matrix\":case\"matrix3d\":console.warn(`Inverting ${func} is not supported. Returning original.`);return transform;default:console.warn(`Unknown transform function: ${func}. Returning original.`);return transform;}});return invertedTransforms.join(\" \");}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MagneticHover\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MagneticHover_Prod.map", "import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useId,useState}from\"react\";import{createPortal}from\"react-dom\";import{useMotionValue,animate,motion}from\"framer-motion\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import MagneticHover from\"https://framerusercontent.com/modules/P3S2M04Yg53AO5F51mO2/pzJl44uxe09OYFf1Kkst/MagneticHover_Prod.js\";const ATTRIBUTE=\"data-frameruni-ipad-cursor\";const AREA_ATTRIBUTE=\"data-frameruni-ipad-cursor-area\";const RADIUS_ATTRIBUTE=\"data-frameruni-ipad-cursor-radius\";const MAGNETISM_ATTRIBUTE=\"data-frameruni-ipad-cursor-magnetism\";const COLOR_ATTRIBUTE=\"data-frameruni-ipad-cursor-color\";const HOVER_COLOR_ATTRIBUTE=\"data-frameruni-ipad-cursor-hover-color\";const PRESSED_COLOR_ATTRIBUTE=\"data-frameruni-ipad-cursor-pressed-color\";const useInstanceStore=createStore({instances:[]});/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n *\n * @framerDisableUnlink\n */export default function IPadOSCursor({color,hoverColor,pressedColor,size,magnetism,childrenMagnetism,radius,transition,hideCursor,style}){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const[isTouchDevice,setIsTouchDevice]=useState(false);const[instanceStore,setInstanceStore]=useInstanceStore();const id=useInstanceId();const containerRef=useRef(null);const[isInitialized,setIsInitialized]=useState(false);const isInitializedRef=useRef(false);const mousePositionRef=useRef(null);const scrollOffsetRef=useRef(null);const cursorRef=useRef(null);const instancesRef=useRef(instanceStore.instances);const hoveringElementRef=useRef(null);const[pressed,setPressed]=useState(false);const[hovering,setHovering]=useState(false);const[currentColor,setCurrentColor]=useState(color);const[currentHoverColor,setCurrentHoverColor]=useState(hoverColor);const[currentPressedColor,setCurrentPressedColor]=useState(pressedColor);const rectCenterXMotionValue=useMotionValue(Infinity);const rectCenterXAnimationRef=useRef(null);const rectCenterYMotionValue=useMotionValue(Infinity);const rectCenterYAnimationRef=useRef(null);const rectCenterXScrollOffset=useRef(0);const rectCenterYScrollOffset=useRef(0);const widthMotionValue=useMotionValue(size);const widthAnimationRef=useRef(null);const heightMotionValue=useMotionValue(size);const heightAnimationRef=useRef(null);const pullMotionValue=useMotionValue(0);const pullAnimationRef=useRef(null);const radiusMotionValue=useMotionValue(convertRadius(radius));const radiusAnimationRef=useRef(null);const magnetismValue=useRef(magnetism);// Add touch detection on mount\nuseEffect(()=>{const checkTouch=()=>{setIsTouchDevice(\"ontouchstart\"in window||navigator.maxTouchPoints>0);};checkTouch();window.addEventListener(\"touchstart\",checkTouch);return()=>window.removeEventListener(\"touchstart\",checkTouch);},[]);useEffect(()=>{let animationFrameId;const handleScroll=()=>{if(mousePositionRef.current&&scrollOffsetRef.current){const scrollDeltaX=window.scrollX-scrollOffsetRef.current.x;const scrollDeltaY=window.scrollY-scrollOffsetRef.current.y;rectCenterXScrollOffset.current-=scrollDeltaX;rectCenterYScrollOffset.current-=scrollDeltaY;scrollOffsetRef.current={x:window.scrollX,y:window.scrollY};}};const updateCursor=()=>{if(isCanvas)return;if(cursorRef.current){if(instancesRef.current[0]!==id){cursorRef.current.style.display=\"none\";}else if(mousePositionRef.current){let left=mousePositionRef.current.x;let top=mousePositionRef.current.y;let width=widthMotionValue.get();let height=heightMotionValue.get();const pull=pullMotionValue.get();if(pull>0){const centerX=rectCenterXMotionValue.get()+rectCenterXScrollOffset.current;const centerY=rectCenterYMotionValue.get()+rectCenterYScrollOffset.current;const displacementX=left-centerX;const displacementY=top-centerY;const normalizedX=displacementX/(width/2);const normalizedY=displacementY/(height/2);const offset=pull*magnetismValue.current;// Move cursor position towards the center based on normalized values\nleft=mapRange(pull,0,1,left,centerX+normalizedX*offset);top=mapRange(pull,0,1,top,centerY+normalizedY*offset);}cursorRef.current.style.display=\"block\";cursorRef.current.style.left=`${left}px`;cursorRef.current.style.top=`${top}px`;cursorRef.current.style.width=`${width}px`;cursorRef.current.style.height=`${height}px`;cursorRef.current.style.borderRadius=radiusMotionValue.get();}}animationFrameId=requestAnimationFrame(updateCursor);};const handleMouseDown=()=>{setPressed(true);};const handleMouseUp=()=>{setPressed(false);};const handleMouseMove=e=>{if(!isInitializedRef.current){mousePositionRef.current={x:e.clientX,y:e.clientY};scrollOffsetRef.current={x:window.scrollX,y:window.scrollY};setIsInitialized(true);isInitializedRef.current=true;// Start the animation loop only after first mouse move\nanimationFrameId=requestAnimationFrame(updateCursor);}mousePositionRef.current={x:e.clientX,y:e.clientY};// Add hover detection\nconst elementUnderCursor=document.elementFromPoint(e.clientX,e.clientY);const hoveringElement=elementUnderCursor?.closest(`[${ATTRIBUTE}]`);// Update hovering state based on whether we're over an element\nsetHovering(hoveringElement?true:false);let animateTo=null;let animatePullTo=null;let animateRadiusTo=null;let animateRectCenterTo=null;if(hoveringElement){const area=hoveringElement.querySelector(`[${AREA_ATTRIBUTE}]`);let rect=area?.getBoundingClientRect();if(!rect||rect.width===0&&rect.height===0){rect=hoveringElement.getBoundingClientRect();}if(hoveringElement!==hoveringElementRef.current){animateTo={x:rect.width,y:rect.height};animatePullTo=1;animateRadiusTo=hoveringElement.getAttribute(RADIUS_ATTRIBUTE)??radius;setCurrentColor(hoveringElement.getAttribute(COLOR_ATTRIBUTE)??color);setCurrentPressedColor(hoveringElement.getAttribute(PRESSED_COLOR_ATTRIBUTE)??pressedColor);setCurrentHoverColor(hoveringElement.getAttribute(HOVER_COLOR_ATTRIBUTE)??hoverColor);magnetismValue.current=hoveringElement.getAttribute(MAGNETISM_ATTRIBUTE)??magnetism;animateRectCenterTo={x:rect.left+rect.width/2,y:rect.top+rect.height/2};}scrollOffsetRef.current={x:window.scrollX,y:window.scrollY};}else{if(hoveringElementRef.current){animateTo={x:size,y:size};animatePullTo=0;animateRadiusTo=radius;setCurrentColor(color);setCurrentPressedColor(pressedColor);setCurrentHoverColor(hoverColor);}}if(animateTo){if(widthAnimationRef.current){widthAnimationRef.current.stop();}if(heightAnimationRef.current){heightAnimationRef.current.stop();}widthAnimationRef.current=animate(widthMotionValue,animateTo.x,transition);heightAnimationRef.current=animate(heightMotionValue,animateTo.y,transition);}if(animatePullTo!==null){if(pullAnimationRef.current){pullAnimationRef.current.stop();}pullAnimationRef.current=animate(pullMotionValue,animatePullTo,transition);if(animatePullTo===0){pullAnimationRef.current.then(()=>{if(!hoveringElementRef.current){rectCenterXMotionValue.set(Infinity);rectCenterYMotionValue.set(Infinity);rectCenterXScrollOffset.current=0;rectCenterYScrollOffset.current=0;}});}}if(animateRadiusTo!==null){if(radiusAnimationRef.current){radiusAnimationRef.current.stop();}radiusAnimationRef.current=animate(radiusMotionValue,convertRadius(animateRadiusTo),transition);}if(animateRectCenterTo!==null){if(rectCenterXAnimationRef.current){rectCenterXAnimationRef.current.stop();}if(rectCenterYAnimationRef.current){rectCenterYAnimationRef.current.stop();}if(rectCenterXMotionValue.get()===Infinity){rectCenterXMotionValue.set(animateRectCenterTo.x);}else{rectCenterXAnimationRef.current=animate(rectCenterXMotionValue,animateRectCenterTo.x,transition);}if(rectCenterYMotionValue.get()===Infinity){rectCenterYMotionValue.set(animateRectCenterTo.y);}else{rectCenterYAnimationRef.current=animate(rectCenterYMotionValue,animateRectCenterTo.y,transition);}rectCenterXScrollOffset.current=0;rectCenterYScrollOffset.current=0;}hoveringElementRef.current=hoveringElement;};window.addEventListener(\"mousedown\",handleMouseDown);window.addEventListener(\"mouseup\",handleMouseUp);window.addEventListener(\"mousemove\",handleMouseMove);window.addEventListener(\"scroll\",handleScroll);setInstanceStore(prev=>({...prev,instances:[...prev.instances,id]}));return()=>{window.removeEventListener(\"mousedown\",handleMouseDown);window.removeEventListener(\"mouseup\",handleMouseUp);window.removeEventListener(\"mousemove\",handleMouseMove);window.removeEventListener(\"scroll\",handleScroll);if(animationFrameId){cancelAnimationFrame(animationFrameId);}setInstanceStore(prev=>({...prev,instances:prev.instances.filter(instance=>instance!==id)}));};},[]);useEffect(()=>{const parentElement=containerRef.current?.parentElement?.parentElement;if(parentElement){parentElement.setAttribute(ATTRIBUTE,\"true\");parentElement.setAttribute(RADIUS_ATTRIBUTE,radius);parentElement.setAttribute(MAGNETISM_ATTRIBUTE,magnetism);parentElement.setAttribute(COLOR_ATTRIBUTE,color);if(pressedColor){parentElement.setAttribute(PRESSED_COLOR_ATTRIBUTE,pressedColor);}if(hoverColor){parentElement.setAttribute(HOVER_COLOR_ATTRIBUTE,hoverColor);}}return()=>{const parentElement=containerRef.current?.parentElement?.parentElement;if(parentElement){parentElement.removeAttribute(ATTRIBUTE);parentElement.removeAttribute(RADIUS_ATTRIBUTE);parentElement.removeAttribute(MAGNETISM_ATTRIBUTE);parentElement.removeAttribute(COLOR_ATTRIBUTE);parentElement.removeAttribute(PRESSED_COLOR_ATTRIBUTE);parentElement.removeAttribute(HOVER_COLOR_ATTRIBUTE);}};},[radius,magnetism]);useEffect(()=>{instancesRef.current=instanceStore.instances;},[instanceStore.instances]);const cursorElement=/*#__PURE__*/_jsx(motion.div,{ref:cursorRef,style:{position:\"absolute\",width:size,height:size,borderRadius:size/2,transform:\"translate(-50%, -50%)\"},animate:{backgroundColor:pressed?currentPressedColor||hovering&&currentHoverColor||currentColor:hovering&&currentHoverColor||currentColor},intiial:false,transition:transition});return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{ref:containerRef,id:id,\"data-frameruni-ipad-cursor-area\":true,style:{...style,pointerEvents:\"none\",display:isTouchDevice?\"none\":\"block\"},children:[!isCanvas&&isInitialized&&!isTouchDevice?/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100vh\",pointerEvents:\"none\",zIndex:9999,userSelect:\"none\",overflow:\"hidden\"},children:cursorElement}),document.body):null,!isCanvas&&hideCursor&&!isTouchDevice&&/*#__PURE__*/_jsx(\"style\",{children:`* { cursor: none !important; }`})]}),!isCanvas&&!isTouchDevice&&magnetism>0&&childrenMagnetism>0&&/*#__PURE__*/_jsx(MagneticHover,{enabled:true,distance:0,children:{distance:magnetism*(childrenMagnetism/100),scale:1},hoverArea:0,smoothing:20,style:{}})]});}IPadOSCursor.displayName=\"iPadOS Cursor\";addPropertyControls(IPadOSCursor,{color:{type:ControlType.Color,defaultValue:\"rgba(153, 153, 153, 0.3)\"},hoverColor:{type:ControlType.Color,optional:true,title:\"Hover\"},pressedColor:{type:ControlType.Color,optional:true,title:\"Pressed\"},size:{type:ControlType.Number,defaultValue:19,min:1,step:1},magnetism:{type:ControlType.Number,defaultValue:4,min:0,max:100,step:1},childrenMagnetism:{title:\"Children\",type:ControlType.Number,defaultValue:50,min:0,max:200,step:1,unit:\"%\",hidden:props=>props.magnetism===0},radius:{type:ControlType.BorderRadius,defaultValue:\"12px\"},hideCursor:{type:ControlType.Boolean,defaultValue:true},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",time:.15,bounce:0}}});function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}const useInstanceId=()=>{const id=useId();const cleanId=id.replace(/:/g,\"\");const instanceId=`frameruni-${cleanId}`;return instanceId;};const convertRadius=radius=>{if(typeof radius===\"string\"){if(radius.includes(\" \")){return radius;}return`${radius} ${radius} ${radius} ${radius}`;}return`${radius}px ${radius}px ${radius}px ${radius}px`;};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"IPadOSCursor\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./IPadOSPointerEffect_Prod.map", "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};}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\":{\"useColors\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useColors.map", "function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}export class ShaderMount{constructor(canvas,fragmentShader,uniforms={},webGlContextAttributes,/** The speed of the animation, or 0 to stop it. Supports negative values to play in reverse. */speed=1,/** Pass a seed to offset the starting u_time value and give deterministic results*/seed=0){_define_property(this,\"canvas\",void 0);_define_property(this,\"gl\",void 0);_define_property(this,\"program\",null);_define_property(this,\"uniformLocations\",{});/** The fragment shader that we are using */_define_property(this,\"fragmentShader\",void 0);/** Stores the RAF for the render loop */_define_property(this,\"rafId\",null);/** Time of the last rendered frame */_define_property(this,\"lastFrameTime\",0);/** Total time that we have played any animation, passed as a uniform to the shader for time-based VFX */_define_property(this,\"totalAnimationTime\",0);/** The current speed that we progress through animation time (multiplies by delta time every update). Allows negatives to play in reverse. If set to 0, rAF will stop entirely so static shaders have no recurring performance costs */_define_property(this,\"speed\",1);/** Uniforms that are provided by the user for the specific shader being mounted (not including uniforms that this Mount adds, like time and resolution) */_define_property(this,\"providedUniforms\",void 0);/** Just a sanity check to make sure frames don't run after we're disposed */_define_property(this,\"hasBeenDisposed\",false);/** If the resolution of the canvas has changed since the last render */_define_property(this,\"resolutionChanged\",true);_define_property(this,\"initWebGL\",()=>{const program=createProgram(this.gl,vertexShaderSource,this.fragmentShader);if(!program)return;this.program=program;this.setupPositionAttribute();this.setupUniforms();});_define_property(this,\"setupPositionAttribute\",()=>{const positionAttributeLocation=this.gl.getAttribLocation(this.program,\"a_position\");const positionBuffer=this.gl.createBuffer();this.gl.bindBuffer(this.gl.ARRAY_BUFFER,positionBuffer);const positions=[-1,-1,1,-1,-1,1,-1,1,1,-1,1,1];this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(positions),this.gl.STATIC_DRAW);this.gl.enableVertexAttribArray(positionAttributeLocation);this.gl.vertexAttribPointer(positionAttributeLocation,2,this.gl.FLOAT,false,0,0);});_define_property(this,\"setupUniforms\",()=>{this.uniformLocations={u_time:this.gl.getUniformLocation(this.program,\"u_time\"),u_pixelRatio:this.gl.getUniformLocation(this.program,\"u_pixelRatio\"),u_resolution:this.gl.getUniformLocation(this.program,\"u_resolution\"),...Object.fromEntries(Object.keys(this.providedUniforms).map(key=>[key,this.gl.getUniformLocation(this.program,key)]))};});_define_property(this,\"resizeObserver\",null);_define_property(this,\"setupResizeObserver\",()=>{this.resizeObserver=new ResizeObserver(()=>this.handleResize());this.resizeObserver.observe(this.canvas);this.handleResize();});_define_property(this,\"handleResize\",()=>{const pixelRatio=window.devicePixelRatio;const newWidth=this.canvas.clientWidth*pixelRatio;const newHeight=this.canvas.clientHeight*pixelRatio;if(this.canvas.width!==newWidth||this.canvas.height!==newHeight){this.canvas.width=newWidth;this.canvas.height=newHeight;this.resolutionChanged=true;this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height);this.render(performance.now())// this is necessary to avoid flashes while resizing (the next scheduled render will set uniforms)\n;}});_define_property(this,\"render\",currentTime=>{if(this.hasBeenDisposed)return;// Calculate the delta time\nconst dt=currentTime-this.lastFrameTime;this.lastFrameTime=currentTime;// Increase the total animation time by dt * animationSpeed\nif(this.speed!==0){this.totalAnimationTime+=dt*this.speed;}// Clear the canvas\nthis.gl.clear(this.gl.COLOR_BUFFER_BIT);// Update uniforms\nthis.gl.useProgram(this.program);// Update the time uniform\nthis.gl.uniform1f(this.uniformLocations.u_time,this.totalAnimationTime*.001);// If the resolution has changed, we need to update the uniform\nif(this.resolutionChanged){this.gl.uniform2f(this.uniformLocations.u_resolution,this.gl.canvas.width,this.gl.canvas.height);this.gl.uniform1f(this.uniformLocations.u_pixelRatio,window.devicePixelRatio);this.resolutionChanged=false;}this.gl.drawArrays(this.gl.TRIANGLES,0,6);// Loop if we're animating\nif(this.speed!==0){this.requestRender();}else{this.rafId=null;}});_define_property(this,\"requestRender\",()=>{if(this.rafId!==null){cancelAnimationFrame(this.rafId);}this.rafId=requestAnimationFrame(this.render);});_define_property(this,\"updateProvidedUniforms\",()=>{this.gl.useProgram(this.program);Object.entries(this.providedUniforms).forEach(([key,value])=>{const location=this.uniformLocations[key];if(location){if(Array.isArray(value)){switch(value.length){case 2:this.gl.uniform2fv(location,value);break;case 3:this.gl.uniform3fv(location,value);break;case 4:this.gl.uniform4fv(location,value);break;default:if(value.length===9){this.gl.uniformMatrix3fv(location,false,value);}else if(value.length===16){this.gl.uniformMatrix4fv(location,false,value);}else{console.warn(`Unsupported uniform array length: ${value.length}`);}}}else if(typeof value===\"number\"){this.gl.uniform1f(location,value);}else if(typeof value===\"boolean\"){this.gl.uniform1i(location,value?1:0);}else{console.warn(`Unsupported uniform type for ${key}: ${typeof value}`);}}});});/** Set a seed to get a deterministic result */_define_property(this,\"setSeed\",newSeed=>{const oneFrameAt120Fps=1e3/120;this.totalAnimationTime=newSeed*oneFrameAt120Fps;this.lastFrameTime=performance.now();this.render(performance.now());});/** Set an animation speed (or 0 to stop animation) */_define_property(this,\"setSpeed\",(newSpeed=1)=>{// Set the new animation speed\nthis.speed=newSpeed;if(this.rafId===null&&newSpeed!==0){// Moving from 0 to animating, kick off a new rAF loop\nthis.lastFrameTime=performance.now();this.rafId=requestAnimationFrame(this.render);}if(this.rafId!==null&&newSpeed===0){// Moving from animating to not animating, cancel the rAF loop\ncancelAnimationFrame(this.rafId);this.rafId=null;}});/** Update the uniforms that are provided by the outside shader */_define_property(this,\"setUniforms\",newUniforms=>{this.providedUniforms={...this.providedUniforms,...newUniforms};// If we need to allow users to add uniforms after the shader has been created, we can do that here\n// But right now we're expecting the uniform list to be predictable and static\n// this.setupUniforms();\nthis.updateProvidedUniforms();this.render(performance.now());});/** Dispose of the shader mount, cleaning up all of the WebGL resources */_define_property(this,\"dispose\",()=>{// Immediately mark as disposed to prevent future renders from leaking in\nthis.hasBeenDisposed=true;// Cancel the rAF loop\nif(this.rafId!==null){cancelAnimationFrame(this.rafId);this.rafId=null;}if(this.gl&&this.program){this.gl.deleteProgram(this.program);this.program=null;// Reset the WebGL context\nthis.gl.bindBuffer(this.gl.ARRAY_BUFFER,null);this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,null);this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,null);this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,null);// Clear any errors\nthis.gl.getError();}if(this.resizeObserver){this.resizeObserver.disconnect();this.resizeObserver=null;}this.uniformLocations={};});this.canvas=canvas;this.fragmentShader=fragmentShader;this.providedUniforms=uniforms;// Base our starting animation time on the provided seed value\nthis.totalAnimationTime=seed;const gl=canvas.getContext(\"webgl2\",webGlContextAttributes);if(!gl){throw new Error(\"WebGL not supported\");}this.gl=gl;this.initWebGL();this.setupResizeObserver();// Set the animation speed after everything is ready to go\nthis.setSpeed(speed);// Mark canvas as paper shader mount\nthis.canvas.setAttribute(\"data-paper-shaders\",\"true\");}}/** Vertex shader for the shader mount */const vertexShaderSource=`#version 300 es\nlayout(location = 0) in vec4 a_position;\n\nvoid main() {\n  gl_Position = a_position;\n}\n`;function createShader(gl,type,source){const shader=gl.createShader(type);if(!shader)return null;gl.shaderSource(shader,source);gl.compileShader(shader);if(!gl.getShaderParameter(shader,gl.COMPILE_STATUS)){console.error(\"An error occurred compiling the shaders: \"+gl.getShaderInfoLog(shader));gl.deleteShader(shader);return null;}return shader;}function createProgram(gl,vertexShaderSource,fragmentShaderSource){const vertexShader=createShader(gl,gl.VERTEX_SHADER,vertexShaderSource);const fragmentShader=createShader(gl,gl.FRAGMENT_SHADER,fragmentShaderSource);if(!vertexShader||!fragmentShader)return null;const program=gl.createProgram();if(!program)return null;gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.error(\"Unable to initialize the shader program: \"+gl.getProgramInfoLog(program));gl.deleteProgram(program);gl.deleteShader(vertexShader);gl.deleteShader(fragmentShader);return null;}// Clean up shaders after successful linking\ngl.detachShader(program,vertexShader);gl.detachShader(program,fragmentShader);gl.deleteShader(vertexShader);gl.deleteShader(fragmentShader);return program;}\nexport const __FramerMetadata__ = {\"exports\":{\"ShaderMount\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./shader_mount.map", "export const PatternShapes={Checks:0,Stripes:1,Edge:2};/**\n * 3d Perlin noise with exposed parameters\n *\n * Uniforms include:\n * u_scale - the scale applied to user space\n * u_rotation - the rotation applied to user space\n * u_color1 - the first pattern color\n * u_color2 - the second pattern color\n * u_color3 - the third pattern color\n * u_proportion (0 .. 1) - the proportion between colors (on 0.5 colors are equally distributed)\n * u_softness (0 .. 1) - the color blur (0 for pronounced edges, 1 for gradient)\n * u_shape (0 ... 2) - the color pattern to be distorted with noise & swirl\n *    - u_shape = 0 is checks\n *    - u_shape = 1 is stripes\n *    - u_shape = 2 is 2 halves of canvas (mapping the canvas height regardless of resolution)\n * u_shapeScale - the scale of color pattern (appies over the global scaling)\n * u_distortion - the noisy distortion over the UV coordinate (applied before the overlapping swirl)\n * u_swirl - the power of swirly distortion\n * u_swirlIterations - the number of swirl iterations (layering curves effect)\n *\n */export const warpFragmentShader=`#version 300 es\nprecision highp float;\n\nuniform float u_time;\nuniform float u_pixelRatio;\nuniform vec2 u_resolution;\n\nuniform float u_scale;\nuniform float u_rotation;\nuniform vec4 u_color1;\nuniform vec4 u_color2;\nuniform vec4 u_color3;\nuniform float u_proportion;\nuniform float u_softness;\nuniform float u_shape;\nuniform float u_shapeScale;\nuniform float u_distortion;\nuniform float u_swirl;\nuniform float u_swirlIterations;\n\n\nout vec4 fragColor;\n\n#define TWO_PI 6.28318530718\n#define PI 3.14159265358979323846\n\nvec2 rotate(vec2 uv, float th) {\n  return mat2(cos(th), sin(th), -sin(th), cos(th)) * uv;\n}\n\nfloat random(vec2 st) {\n  return fract(sin(dot(st.xy, vec2(12.9898, 78.233))) * 43758.5453123);\n}\nfloat noise(vec2 st) {\n  vec2 i = floor(st);\n  vec2 f = fract(st);\n  float a = random(i);\n  float b = random(i + vec2(1.0, 0.0));\n  float c = random(i + vec2(0.0, 1.0));\n  float d = random(i + vec2(1.0, 1.0));\n\n  // Smoothstep for interpolation\n  vec2 u = f * f * (3.0 - 2.0 * f);\n\n  // Do the interpolation as two nested mix operations\n  // If you try to do this in one big operation, there's enough precision loss to be off by 1px at cell boundaries\n  float x1 = mix(a, b, u.x);\n  float x2 = mix(c, d, u.x);\n  return mix(x1, x2, u.y);\n\n}\n\nvec4 blend_colors(vec4 c1, vec4 c2, vec4 c3, float mixer, float edgesWidth, float edge_blur) {\n    vec3 color1 = c1.rgb * c1.a;\n    vec3 color2 = c2.rgb * c2.a;\n    vec3 color3 = c3.rgb * c3.a;\n\n    float r1 = smoothstep(.0 + .35 * edgesWidth, .7 - .35 * edgesWidth + .5 * edge_blur, mixer);\n    float r2 = smoothstep(.3 + .35 * edgesWidth, 1. - .35 * edgesWidth + edge_blur, mixer);\n\n    vec3 blended_color_2 = mix(color1, color2, r1);\n    float blended_opacity_2 = mix(c1.a, c2.a, r1);\n\n    vec3 c = mix(blended_color_2, color3, r2);\n    float o = mix(blended_opacity_2, c3.a, r2);\n    return vec4(c, o);\n}\n\nvoid main() {\n    vec2 uv = gl_FragCoord.xy / u_resolution.xy;\n    vec2 uv_original = uv;\n\n    float t = .5 * u_time;\n\n    float noise_scale = .0005 + .006 * u_scale;\n\n    uv -= .5;\n    uv *= (noise_scale * u_resolution);\n    uv = rotate(uv, u_rotation * .5 * PI);\n    uv /= u_pixelRatio;\n    uv += .5;\n\n    float n1 = noise(uv * 1. + t);\n    float n2 = noise(uv * 2. - t);\n    float angle = n1 * TWO_PI;\n    uv.x += 4. * u_distortion * n2 * cos(angle);\n    uv.y += 4. * u_distortion * n2 * sin(angle);\n\n    float iterations_number = ceil(clamp(u_swirlIterations, 1., 30.));\n    for (float i = 1.; i <= iterations_number; i++) {\n        uv.x += clamp(u_swirl, 0., 2.) / i * cos(t + i * 1.5 * uv.y);\n        uv.y += clamp(u_swirl, 0., 2.) / i * cos(t + i * 1. * uv.x);\n    }\n\n    float proportion = clamp(u_proportion, 0., 1.);\n\n    float shape = 0.;\n    float mixer = 0.;\n    if (u_shape < .5) {\n      vec2 checks_shape_uv = uv * (.5 + 3.5 * u_shapeScale);\n      shape = .5 + .5 * sin(checks_shape_uv.x) * cos(checks_shape_uv.y);\n      mixer = shape + .48 * sign(proportion - .5) * pow(abs(proportion - .5), .5);\n    } else if (u_shape < 1.5) {\n      vec2 stripes_shape_uv = uv * (.25 + 3. * u_shapeScale);\n      float f = fract(stripes_shape_uv.y);\n      shape = smoothstep(.0, .55, f) * smoothstep(1., .45, f);\n      mixer = shape + .48 * sign(proportion - .5) * pow(abs(proportion - .5), .5);\n    } else {\n      float sh = 1. - uv.y;\n      sh -= .5;\n      sh /= (noise_scale * u_resolution.y);\n      sh += .5;\n      float shape_scaling = .2 * (1. - u_shapeScale);\n      shape = smoothstep(.45 - shape_scaling, .55 + shape_scaling, sh + .3 * (proportion - .5));\n      mixer = shape;\n    }\n\n    vec4 color_mix = blend_colors(u_color1, u_color2, u_color3, mixer, 1. - clamp(u_softness, 0., 1.), .01 + .01 * u_scale);\n\n    fragColor = vec4(color_mix.rgb, color_mix.a);\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"WarpUniforms\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"warpFragmentShader\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PatternShapes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PatternShape\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./warp.map", "/**  Convert color string from HSL, RGB, or hex to 0-to-1-range-RGBA array */export function getShaderColorFromString(colorString,fallback=[0,0,0,1]){// If the color string is already an array of 3 or 4 numbers, return it (with alpha=1 if needed)\nif(Array.isArray(colorString)){if(colorString.length===4)return colorString;if(colorString.length===3)return[...colorString,1];return getShaderColorFromString(fallback);}// If the color string is not a string, return the fallback\nif(typeof colorString!==\"string\"){return getShaderColorFromString(fallback);}let r,g,b,a=1;if(colorString.startsWith(\"#\")){[r,g,b,a]=hexToRgba(colorString);}else if(colorString.startsWith(\"rgb\")){[r,g,b,a]=parseRgba(colorString);}else if(colorString.startsWith(\"hsl\")){[r,g,b,a]=hslaToRgba(parseHsla(colorString));}else{console.error(\"Unsupported color format\",colorString);return getShaderColorFromString(fallback);}return[clamp(r,0,1),clamp(g,0,1),clamp(b,0,1),clamp(a,0,1)];}/** Convert hex to RGBA (0 to 1 range) */function hexToRgba(hex){// Remove # if present\nhex=hex.replace(/^#/,\"\");// Expand three-letter hex to six-letter\nif(hex.length===3){hex=hex.split(\"\").map(char=>char+char).join(\"\");}// Expand six-letter hex to eight-letter (add full opacity if no alpha)\nif(hex.length===6){hex=hex+\"ff\";}// Parse the components\nconst r=parseInt(hex.slice(0,2),16)/255;const g=parseInt(hex.slice(2,4),16)/255;const b=parseInt(hex.slice(4,6),16)/255;const a=parseInt(hex.slice(6,8),16)/255;return[r,g,b,a];}/** Parse RGBA string to RGBA (0 to 1 range) */function parseRgba(rgba){// Match both rgb and rgba patterns\nconst match=rgba.match(/^rgba?\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*([0-9.]+))?\\s*\\)$/i);if(!match)return[0,0,0,1];return[parseInt(match[1]??\"0\")/255,parseInt(match[2]??\"0\")/255,parseInt(match[3]??\"0\")/255,match[4]===undefined?1:parseFloat(match[4])];}/** Parse HSLA string */function parseHsla(hsla){const match=hsla.match(/^hsla?\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(?:,\\s*([0-9.]+))?\\s*\\)$/i);if(!match)return[0,0,0,1];return[parseInt(match[1]??\"0\"),parseInt(match[2]??\"0\"),parseInt(match[3]??\"0\"),match[4]===undefined?1:parseFloat(match[4])];}/** Convert HSLA to RGBA (0 to 1 range) */function hslaToRgba(hsla){const[h,s,l,a]=hsla;const hDecimal=h/360;const sDecimal=s/100;const lDecimal=l/100;let r,g,b;if(s===0){r=g=b=lDecimal// achromatic\n;}else{const hue2rgb=(p,q,t)=>{if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return p+(q-p)*6*t;if(t<1/2)return q;if(t<2/3)return p+(q-p)*(2/3-t)*6;return p;};const q=lDecimal<.5?lDecimal*(1+sDecimal):lDecimal+sDecimal-lDecimal*sDecimal;const p=2*lDecimal-q;r=hue2rgb(p,q,hDecimal+1/3);g=hue2rgb(p,q,hDecimal);b=hue2rgb(p,q,hDecimal-1/3);}return[r,g,b,a];}export const clamp=(n,min,max)=>Math.min(Math.max(n,min),max);\nexport const __FramerMetadata__ = {\"exports\":{\"clamp\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getShaderColorFromString\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./get_shader_color_from_string.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import{useEffect,useRef,useMemo}from\"react\";import{useColors}from\"https://framerusercontent.com/modules/k76epLFsVsF4jlsF5pgg/ge79eoA2CuYo94sUAjT9/useColors.js\";import{getShaderColorFromString,warpFragmentShader,PatternShapes,ShaderMount as ShaderMountVanilla}from\"https://framer.com/m/index-uMsj.js@PVl4bshKvCOZO36e3vK1\";import{cubicBezier}from\"framer-motion\";const speedEase=cubicBezier(.65,0,.88,.77);const templates={Prism:{color1:\"#050505\",color2:\"#66B3FF\",color3:\"#FFFFFF\",rotation:-50,proportion:1,scale:.01,speed:30,distortion:0,swirl:50,swirlIterations:16,softness:47,offset:-299,shape:\"Checks\",shapeSize:45},Lava:{color1:\"#FF9F21\",color2:\"#FF0303\",color3:\"#000000\",rotation:114,proportion:100,scale:.52,speed:30,distortion:7,swirl:18,swirlIterations:20,softness:100,offset:717,shape:\"Edge\",shapeSize:12},Plasma:{color1:\"#B566FF\",color2:\"#000000\",color3:\"#000000\",rotation:0,proportion:63,scale:.75,speed:30,distortion:5,swirl:61,swirlIterations:5,softness:100,offset:-168,shape:\"Checks\",shapeSize:28},Pulse:{color1:\"#66FF85\",color2:\"#000000\",color3:\"#000000\",rotation:-167,proportion:92,scale:0,speed:20,distortion:54,swirl:75,swirlIterations:3,softness:28,offset:-813,shape:\"Checks\",shapeSize:79},Vortex:{color1:\"#000000\",color2:\"#FFFFFF\",color3:\"#000000\",rotation:50,proportion:41,scale:.4,speed:20,distortion:0,swirl:100,swirlIterations:3,softness:5,offset:-744,shape:\"Stripes\",shapeSize:80},Mist:{color1:\"#050505\",color2:\"#FF66B8\",color3:\"#050505\",rotation:0,proportion:33,scale:.48,speed:39,distortion:4,swirl:65,swirlIterations:5,softness:100,offset:-235,shape:\"Edge\",shapeSize:48}};/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n */export default function AnimatedGradientBackground(props){const isStaticRenderer=useIsStaticRenderer();const isCanvas=RenderTarget.current()===RenderTarget.canvas;const useCustomColors=props.preset===\"custom\"||props.colorMode===\"custom\";const values=props.preset===\"custom\"?props:templates[props.preset]||Object.values(templates)[0];const[color1,color2,color3]=useColors(props.color1,props.color2,props.color3);return /*#__PURE__*/_jsxs(\"div\",{style:{borderRadius:props.radius,overflow:\"hidden\",position:\"relative\",...props.style},children:[/*#__PURE__*/_jsx(Warp,{color1:useCustomColors?color1:values.color1,color2:useCustomColors?color2:values.color2,color3:useCustomColors?color3:values.color3,scale:values.scale,proportion:values.proportion/100,distortion:values.distortion/50,swirl:values.swirl/100,swirlIterations:values.swirl===0?0:values.swirlIterations,rotation:values.rotation*Math.PI/180,speed:!isStaticRenderer||isCanvas&&props.preview?speedEase(props.speed/100)*5:0,seed:values.offset*10,shape:PatternShapes[values.shape],shapeScale:values.shapeSize/100,softness:values.softness/100,style:props.style}),props.noise&&props.noise.opacity>0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:`url(\"https://framerusercontent.com/images/g0QcWrxr87K0ufOxIUFBakwYA8.png\")`,backgroundSize:props.noise.scale*200,backgroundRepeat:\"repeat\",opacity:props.noise.opacity/2}})]});}AnimatedGradientBackground.displayName=\"Animated Gradient Background\";addPropertyControls(AnimatedGradientBackground,{preset:{type:ControlType.Enum,defaultValue:Object.keys(templates)[0],options:[...Object.keys(templates),\"custom\"],optionTitles:[...Object.keys(templates),\"Custom\"]},preview:{type:ControlType.Boolean,defaultValue:false},colorMode:{type:ControlType.Enum,defaultValue:\"preset\",options:[\"preset\",\"custom\"],optionTitles:[\"Preset\",\"Custom\"],displaySegmentedControl:true,title:\"Colors\",hidden:props=>props.preset===\"custom\"},color1:{type:ControlType.Color,defaultValue:\"#262626\",hidden:props=>props.preset!==\"custom\"&&props.colorMode===\"preset\"},color2:{type:ControlType.Color,defaultValue:\"#75c1f0\",hidden:props=>props.preset!==\"custom\"&&props.colorMode===\"preset\"},color3:{type:ControlType.Color,defaultValue:\"#ffffff\",hidden:props=>props.preset!==\"custom\"&&props.colorMode===\"preset\"},noise:{type:ControlType.Object,optional:true,icon:\"effect\",controls:{opacity:{type:ControlType.Number,defaultValue:.5,min:0,max:1,step:.01},scale:{type:ControlType.Number,defaultValue:1,min:.2,max:2,step:.1}}},rotation:{type:ControlType.Number,defaultValue:0,min:-360,max:360,step:1,unit:\"\\xb0\",hidden:props=>props.preset!==\"custom\"},proportion:{type:ControlType.Number,defaultValue:35,min:0,max:100,step:1,hidden:props=>props.preset!==\"custom\"},scale:{type:ControlType.Number,defaultValue:1,min:0,max:10,step:.01,hidden:props=>props.preset!==\"custom\"},speed:{type:ControlType.Number,defaultValue:25,step:1,min:0,max:100},distortion:{type:ControlType.Number,defaultValue:12,min:0,max:100,step:1,hidden:props=>props.preset!==\"custom\"},swirl:{type:ControlType.Number,defaultValue:80,min:0,max:100,step:1,hidden:props=>props.preset!==\"custom\"},swirlIterations:{type:ControlType.Number,defaultValue:10,min:0,max:20,step:1,title:\"Iterations\",hidden:props=>props.swirl===0||props.preset!==\"custom\"},softness:{type:ControlType.Number,defaultValue:100,min:0,max:100,step:1,hidden:props=>props.preset!==\"custom\"},offset:{type:ControlType.Number,defaultValue:0,min:-1e3,max:1e3,step:1,hidden:props=>props.preset!==\"custom\"},shape:{type:ControlType.Enum,defaultValue:\"Checks\",options:Object.keys(PatternShapes),hidden:props=>props.preset!==\"custom\"},shapeSize:{type:ControlType.Number,defaultValue:10,min:0,max:100,step:1,hidden:props=>props.preset!==\"custom\"},radius:{type:ControlType.BorderRadius,defaultValue:\"0px\"}});//////////////////////////////\nconst defaultPreset={name:\"Default\",params:{scale:1,rotation:0,speed:20,seed:0,color1:\"hsla(0, 0%, 15%, 1)\",color2:\"hsla(203, 80%, 70%, 1)\",color3:\"hsla(0, 0%, 100%, 1)\",proportion:.35,softness:1,distortion:.25,swirl:.8,swirlIterations:10,shapeScale:.1,shape:PatternShapes.Checks}};// Due to Leva controls limitation:\n// 1) keep default colors in HSLA format to keep alpha channel\n// 2) don't use decimal values on HSL values (to avoid button highlight bug)\nconst Warp=props=>{const uniforms=useMemo(()=>{return{u_scale:props.scale??defaultPreset.params.scale,u_rotation:props.rotation??defaultPreset.params.rotation,u_color1:getShaderColorFromString(props.color1,defaultPreset.params.color1),u_color2:getShaderColorFromString(props.color2,defaultPreset.params.color2),u_color3:getShaderColorFromString(props.color3,defaultPreset.params.color2),u_proportion:props.proportion??defaultPreset.params.proportion,u_softness:props.softness??defaultPreset.params.softness,u_distortion:props.distortion??defaultPreset.params.distortion,u_swirl:props.swirl??defaultPreset.params.swirl,u_swirlIterations:props.swirlIterations??defaultPreset.params.swirlIterations,u_shapeScale:props.shapeScale??defaultPreset.params.shapeScale,u_shape:props.shape??defaultPreset.params.shape};},[props.scale,props.rotation,props.color1,props.color2,props.color3,props.proportion,props.softness,props.distortion,props.swirl,props.swirlIterations,props.shapeScale,props.shape]);return /*#__PURE__*/_jsx(ShaderMount,{...props,fragmentShader:warpFragmentShader,uniforms:uniforms});};const ShaderMount=({ref,fragmentShader,style,uniforms={},webGlContextAttributes,speed=1,seed=0})=>{const canvasRef=ref??useRef(null);const shaderMountRef=useRef(null);useEffect(()=>{if(canvasRef.current){shaderMountRef.current=new ShaderMountVanilla(canvasRef.current,fragmentShader,uniforms,webGlContextAttributes,speed,seed);}return()=>{shaderMountRef.current?.dispose();};},[fragmentShader,webGlContextAttributes]);useEffect(()=>{shaderMountRef.current?.setUniforms(uniforms);},[uniforms]);useEffect(()=>{shaderMountRef.current?.setSpeed(speed);},[speed]);useEffect(()=>{shaderMountRef.current?.setSeed(seed);},[seed]);return /*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:style});};function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatedGradientBackground\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatedLiquidBackground_Prod.map"],
  "mappings": "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",
  "names": ["createStore", "state1", "dataStore", "Data", "setDataStore", "newState", "storeState", "storeSetters", "setStoreState", "setter", "useStore", "state", "setState", "ye", "ue", "useObserveData", "MagneticHover", "props", "distance", "smoothing", "hoverArea", "enabled", "isCanvas", "RenderTarget", "id", "generateInstanceId", "transition", "mapRange", "mouseX", "useMotionValue", "mouseY", "x", "y", "springX", "useSpring", "springY", "scale", "springScale", "ref", "pe", "containerRef", "parentRef", "isHoveringRef", "transformRef", "motionTransformRef", "styleRef", "hasSpringRef", "previousXRef", "previousYRef", "previousChildrenXRef", "previousChildrenYRef", "previousChildrenScaleRef", "previousStyleTransformRef", "previousChildrenStyleTransformsRef", "ue", "unsubscribeX", "v", "unsubscribeY", "animationFrameId", "updateTransform", "xValue", "yValue", "computedStyle", "window", "parentTransform", "calculateTransform", "childrenStyles", "children", "scaleValue", "childrenXValue", "childrenYValue", "i", "child", "childComputedStyle", "childTransform", "container", "parent", "motion", "handleMouseMove", "event", "rect", "mouseXPos", "mouseYPos", "isHovering", "displacementX", "displacementY", "normalizedX", "normalizedY", "p", "addPropertyControls", "ControlType", "CHARACTERS", "se", "result", "value", "fromLow", "fromHigh", "toLow", "toHigh", "percentage", "element", "previousX", "previousY", "previousScale", "previousStyleTransform", "computedTransform", "styleTransform", "finalX", "finalY", "finalScale", "translateTransform", "transformWithScale", "transform", "invertTransform", "transformString", "func", "valuesString", "values", "invertNumber", "_", "sign", "num", "unit", "rotateValues", "ATTRIBUTE", "AREA_ATTRIBUTE", "RADIUS_ATTRIBUTE", "MAGNETISM_ATTRIBUTE", "COLOR_ATTRIBUTE", "HOVER_COLOR_ATTRIBUTE", "PRESSED_COLOR_ATTRIBUTE", "useInstanceStore", "createStore", "IPadOSCursor", "color", "hoverColor", "pressedColor", "size", "magnetism", "childrenMagnetism", "radius", "transition", "hideCursor", "style", "isCanvas", "RenderTarget", "isTouchDevice", "setIsTouchDevice", "ye", "instanceStore", "setInstanceStore", "id", "useInstanceId", "containerRef", "pe", "isInitialized", "setIsInitialized", "isInitializedRef", "mousePositionRef", "scrollOffsetRef", "cursorRef", "instancesRef", "hoveringElementRef", "pressed", "setPressed", "hovering", "setHovering", "currentColor", "setCurrentColor", "currentHoverColor", "setCurrentHoverColor", "currentPressedColor", "setCurrentPressedColor", "rectCenterXMotionValue", "useMotionValue", "rectCenterXAnimationRef", "rectCenterYMotionValue", "rectCenterYAnimationRef", "rectCenterXScrollOffset", "rectCenterYScrollOffset", "widthMotionValue", "widthAnimationRef", "heightMotionValue", "heightAnimationRef", "pullMotionValue", "pullAnimationRef", "radiusMotionValue", "convertRadius", "radiusAnimationRef", "magnetismValue", "ue", "checkTouch", "window", "navigator", "animationFrameId", "handleScroll", "scrollDeltaX", "scrollDeltaY", "updateCursor", "left", "top", "width", "height", "pull", "centerX", "centerY", "displacementX", "displacementY", "normalizedX", "normalizedY", "offset", "mapRange", "handleMouseDown", "handleMouseUp", "handleMouseMove", "e", "hoveringElement", "animateTo", "animatePullTo", "animateRadiusTo", "animateRectCenterTo", "rect", "animate", "prev", "instance", "parentElement", "cursorElement", "p", "motion", "u", "l", "Ga", "MagneticHover", "addPropertyControls", "ControlType", "props", "value", "fromLow", "fromHigh", "toLow", "toHigh", "percentage", "ae", "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", "_define_property", "obj", "key", "value", "ShaderMount", "canvas", "fragmentShader", "uniforms", "webGlContextAttributes", "speed", "seed", "program", "createProgram", "vertexShaderSource", "positionAttributeLocation", "positionBuffer", "positions", "pixelRatio", "window", "newWidth", "newHeight", "currentTime", "dt", "location", "newSeed", "oneFrameAt120Fps", "newSpeed", "newUniforms", "gl", "createShader", "type", "source", "shader", "fragmentShaderSource", "vertexShader", "PatternShapes", "warpFragmentShader", "getShaderColorFromString", "colorString", "fallback", "r", "g", "b", "a", "hexToRgba", "parseRgba", "hslaToRgba", "parseHsla", "clamp", "hex", "char", "rgba", "match", "hsla", "h", "l", "hDecimal", "sDecimal", "lDecimal", "hue2rgb", "p", "q", "t", "n", "min", "max", "speedEase", "cubicBezier", "templates", "AnimatedGradientBackground", "props", "isStaticRenderer", "useIsStaticRenderer", "isCanvas", "RenderTarget", "useCustomColors", "values", "color1", "color2", "color3", "useColors", "u", "p", "Warp", "PatternShapes", "addPropertyControls", "ControlType", "defaultPreset", "uniforms", "se", "getShaderColorFromString", "ShaderMount", "warpFragmentShader", "ref", "fragmentShader", "style", "webGlContextAttributes", "speed", "seed", "canvasRef", "pe", "shaderMountRef", "ue"]
}
