{"version":3,"file":"BackgroundImage.D7m8a4RN.mjs","names":["useRef","useState","useCallback"],"sources":["https:/framerusercontent.com/modules/UnwjjJD58kJROI44QeCx/QcUEY42nSPVkO1nWZtcG/BackgroundImage.js"],"sourcesContent":["// Apple-style liquid glass WebGL component with real-time background distortion\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useState,useRef,useEffect,useCallback,startTransition}from\"react\";/**\n * Liquid Glass Component - Apple WWDC Style\n * \n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function LiquidGlass(props){const{image={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Liquid Glass Background\"},interactionMode=\"hover\",magnification=1.2,refraction=.3,chromaticAberration=0,tintColor=\"#00ff88\",tintIntensity=.1,cornerRadius=16,animationSpeed=.8,easingFunction=\"easeOut\"}=props;const canvasRef=useRef(null);const glRef=useRef(null);const programRef=useRef(null);const textureRef=useRef(null);const animationRef=useRef();const mouseRef=useRef({x:.5,y:.5});const targetMouseRef=useRef({x:.5,y:.5});const effectsRef=useRef({magnification:0,refraction:0,chromatic:0});const targetEffectsRef=useRef({magnification:0,refraction:0,chromatic:0});const[isActive,setIsActive]=useState(interactionMode===\"static\");const[isPressed,setIsPressed]=useState(false);const[isWebGLReady,setIsWebGLReady]=useState(false);const isStatic=useIsStaticRenderer();// Vertex shader\nconst vertexShaderSource=`\n        attribute vec2 a_position;\n        attribute vec2 a_texCoord;\n        varying vec2 v_texCoord;\n        \n        void main() {\n            gl_Position = vec4(a_position, 0.0, 1.0);\n            v_texCoord = a_texCoord;\n        }\n    `;// Fragment shader with liquid glass effects\nconst fragmentShaderSource=`\n        precision mediump float;\n        \n        uniform sampler2D u_texture;\n        uniform vec2 u_mouse;\n        uniform float u_time;\n        uniform float u_magnification;\n        uniform float u_refraction;\n        uniform float u_chromatic;\n        uniform vec3 u_tint;\n        uniform float u_tintIntensity;\n        uniform float u_active;\n        uniform vec2 u_resolution;\n        \n        varying vec2 v_texCoord;\n        \n        void main() {\n            vec2 uv = v_texCoord;\n            vec2 mouse = u_mouse;\n            \n            // Distance from mouse\n            float dist = distance(uv, mouse);\n            float influence = smoothstep(0.4, 0.0, dist) * u_active;\n            \n            // Liquid distortion\n            float wave = sin(dist * 20.0 - u_time * 3.0) * 0.01;\n            float ripple = sin(dist * 40.0 - u_time * 5.0) * 0.005;\n            \n            // Magnification effect\n            vec2 direction = normalize(uv - mouse);\n            float magnify = influence * u_magnification * 0.1;\n            vec2 distortedUV = uv + direction * magnify;\n            \n            // Refraction distortion\n            vec2 refractOffset = vec2(\n                sin(uv.y * 10.0 + u_time) * u_refraction * influence * 0.02,\n                cos(uv.x * 10.0 + u_time) * u_refraction * influence * 0.02\n            );\n            \n            distortedUV += refractOffset + vec2(wave, ripple);\n            \n            // Sample texture without chromatic aberration\n            vec3 color = texture2D(u_texture, distortedUV).rgb;\n            \n            // Apply tint\n            color = mix(color, u_tint, u_tintIntensity * influence);\n            \n            // Brightness boost in active area\n            color += influence * 0.1;\n            \n            gl_FragColor = vec4(color, 1.0);\n        }\n    `;const createShader=useCallback((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(\"Shader compilation error:\",gl.getShaderInfoLog(shader));gl.deleteShader(shader);return null;}return shader;},[]);const initWebGL=useCallback(()=>{const canvas=canvasRef.current;if(!canvas)return;const gl=canvas.getContext(\"webgl\")||canvas.getContext(\"experimental-webgl\");if(!gl||!(gl instanceof WebGLRenderingContext)){console.error(\"WebGL not supported\");return;}glRef.current=gl;// Set clear color to transparent\ngl.clearColor(0,0,0,0);gl.clear(gl.COLOR_BUFFER_BIT);// Create shaders\nconst vertexShader=createShader(gl,gl.VERTEX_SHADER,vertexShaderSource);const fragmentShader=createShader(gl,gl.FRAGMENT_SHADER,fragmentShaderSource);if(!vertexShader||!fragmentShader)return;// Create program\nconst program=gl.createProgram();if(!program)return;gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.error(\"Program linking error:\",gl.getProgramInfoLog(program));return;}programRef.current=program;// Set up geometry\nconst positions=new Float32Array([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]);const buffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,buffer);gl.bufferData(gl.ARRAY_BUFFER,positions,gl.STATIC_DRAW);const positionLocation=gl.getAttribLocation(program,\"a_position\");const texCoordLocation=gl.getAttribLocation(program,\"a_texCoord\");gl.enableVertexAttribArray(positionLocation);gl.vertexAttribPointer(positionLocation,2,gl.FLOAT,false,16,0);gl.enableVertexAttribArray(texCoordLocation);gl.vertexAttribPointer(texCoordLocation,2,gl.FLOAT,false,16,8);// Load texture\nloadTexture(gl,image.src);},[createShader,image.src]);const loadTexture=useCallback((gl,url)=>{const texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,texture);// Temporary 1x1 transparent pixel instead of blue\ngl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,1,1,0,gl.RGBA,gl.UNSIGNED_BYTE,new Uint8Array([0,0,0,0]));const img=new Image;img.crossOrigin=\"anonymous\";img.onload=()=>{gl.bindTexture(gl.TEXTURE_2D,texture);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,img);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.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);// Mark WebGL as ready after texture loads\nstartTransition(()=>setIsWebGLReady(true));};img.src=url;textureRef.current=texture;},[]);const render=useCallback(time=>{const gl=glRef.current;const program=programRef.current;const canvas=canvasRef.current;if(!gl||!program||!canvas)return;// Easing functions\nconst easing={linear:t=>t,easeInOut:t=>t<.5?2*t*t:-1+(4-2*t)*t,easeOut:t=>t*(2-t),easeIn:t=>t*t,spring:t=>{const c4=2*Math.PI/3;return t===0?0:t===1?1:Math.pow(2,-10*t)*Math.sin((t*10-.75)*c4)+1;}};const applyEasing=(current,target,speed)=>{const diff=target-current;const easedSpeed=easing[easingFunction](speed);return current+diff*easedSpeed;};// Smooth mouse interpolation with different speeds for enter/leave\nconst lerpSpeed=isActive?.1:.05// Slower when leaving\n;mouseRef.current.x=applyEasing(mouseRef.current.x,targetMouseRef.current.x,lerpSpeed);mouseRef.current.y=applyEasing(mouseRef.current.y,targetMouseRef.current.y,lerpSpeed);// Smooth interpolation for effects\nconst effectLerpSpeed=isActive?.15:.08// Slower return to zero\n;// Set target effects based on active state\nif(isActive){targetEffectsRef.current.magnification=magnification;targetEffectsRef.current.refraction=refraction;targetEffectsRef.current.chromatic=chromaticAberration;}else{targetEffectsRef.current.magnification=0;targetEffectsRef.current.refraction=0;targetEffectsRef.current.chromatic=0;}// Interpolate current effects towards target with easing\neffectsRef.current.magnification=applyEasing(effectsRef.current.magnification,targetEffectsRef.current.magnification,effectLerpSpeed);effectsRef.current.refraction=applyEasing(effectsRef.current.refraction,targetEffectsRef.current.refraction,effectLerpSpeed);effectsRef.current.chromatic=applyEasing(effectsRef.current.chromatic,targetEffectsRef.current.chromatic,effectLerpSpeed);gl.viewport(0,0,canvas.width,canvas.height);gl.useProgram(program);// Set uniforms\nconst mouseLocation=gl.getUniformLocation(program,\"u_mouse\");const timeLocation=gl.getUniformLocation(program,\"u_time\");const magnificationLocation=gl.getUniformLocation(program,\"u_magnification\");const refractionLocation=gl.getUniformLocation(program,\"u_refraction\");const chromaticLocation=gl.getUniformLocation(program,\"u_chromatic\");const tintLocation=gl.getUniformLocation(program,\"u_tint\");const tintIntensityLocation=gl.getUniformLocation(program,\"u_tintIntensity\");const activeLocation=gl.getUniformLocation(program,\"u_active\");const resolutionLocation=gl.getUniformLocation(program,\"u_resolution\");gl.uniform2f(mouseLocation,mouseRef.current.x,1-mouseRef.current.y);gl.uniform1f(timeLocation,time*.001);gl.uniform1f(magnificationLocation,effectsRef.current.magnification);gl.uniform1f(refractionLocation,effectsRef.current.refraction);gl.uniform1f(chromaticLocation,effectsRef.current.chromatic);// Parse tint color\nconst tint=tintColor.replace(\"#\",\"\");const r=parseInt(tint.substr(0,2),16)/255;const g=parseInt(tint.substr(2,2),16)/255;const b=parseInt(tint.substr(4,2),16)/255;gl.uniform3f(tintLocation,r,g,b);gl.uniform1f(tintIntensityLocation,tintIntensity);// Smooth active state transition\nconst activeValue=isActive?1:0;gl.uniform1f(activeLocation,activeValue);gl.uniform2f(resolutionLocation,canvas.width,canvas.height);gl.drawArrays(gl.TRIANGLE_STRIP,0,4);if(!isStatic){animationRef.current=requestAnimationFrame(render);}},[isActive,magnification,refraction,chromaticAberration,tintColor,tintIntensity,isStatic,easingFunction]);const handleMouseMove=useCallback(e=>{if(isStatic)return;const rect=canvasRef.current?.getBoundingClientRect();if(!rect)return;const x=(e.clientX-rect.left)/rect.width;const y=(e.clientY-rect.top)/rect.height;targetMouseRef.current={x,y};},[isStatic]);const handleMouseEnter=useCallback(()=>{if(interactionMode===\"hover\"&&!isStatic){startTransition(()=>setIsActive(true));}},[interactionMode,isStatic]);const handleMouseLeave=useCallback(()=>{if(interactionMode===\"hover\"&&!isStatic){startTransition(()=>setIsActive(false));}},[interactionMode,isStatic]);const handleMouseDown=useCallback(()=>{if(interactionMode===\"press\"&&!isStatic){startTransition(()=>{setIsPressed(true);setIsActive(true);});}},[interactionMode,isStatic]);const handleMouseUp=useCallback(()=>{if(interactionMode===\"press\"&&!isStatic){startTransition(()=>{setIsPressed(false);setIsActive(false);});}},[interactionMode,isStatic]);useEffect(()=>{if(isStatic)return;initWebGL();animationRef.current=requestAnimationFrame(render);return()=>{if(animationRef.current){cancelAnimationFrame(animationRef.current);}};},[initWebGL,render,isStatic]);useEffect(()=>{const canvas=canvasRef.current;if(!canvas)return;const resizeCanvas=()=>{const rect=canvas.getBoundingClientRect();canvas.width=rect.width*window.devicePixelRatio;canvas.height=rect.height*window.devicePixelRatio;};resizeCanvas();window.addEventListener(\"resize\",resizeCanvas);return()=>window.removeEventListener(\"resize\",resizeCanvas);},[]);if(isStatic){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",borderRadius:`${cornerRadius}px`,overflow:\"hidden\",backgroundImage:`url(${image.src})`,backgroundSize:\"cover\",backgroundPosition:\"center\"}});}return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",borderRadius:`${cornerRadius}px`,overflow:\"hidden\",cursor:interactionMode===\"press\"?\"pointer\":\"default\",position:\"relative\"},onMouseMove:handleMouseMove,onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,onMouseDown:handleMouseDown,onMouseUp:handleMouseUp,children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundImage:`url(${image.src})`,backgroundSize:\"cover\",backgroundPosition:\"center\",opacity:isWebGLReady?0:1,transition:\"opacity 0.3s ease-in-out\",zIndex:1}}),/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{width:\"100%\",height:\"100%\",display:\"block\",transition:`transform ${animationSpeed}s cubic-bezier(0.23, 1, 0.32, 1)`,transform:isPressed?\"scale(0.98)\":\"scale(1)\",opacity:isWebGLReady?1:0,zIndex:2,position:\"relative\"}})]});}addPropertyControls(LiquidGlass,{image:{type:ControlType.ResponsiveImage,title:\"Background Image\"},interactionMode:{type:ControlType.Enum,title:\"Interaction Mode\",options:[\"hover\",\"press\",\"static\"],optionTitles:[\"Hover\",\"Press\",\"Static\"],defaultValue:\"hover\",displaySegmentedControl:true},magnification:{type:ControlType.Number,title:\"Magnification\",defaultValue:.4,min:1,max:2,step:.1},refraction:{type:ControlType.Number,title:\"Refraction\",defaultValue:.3,min:0,max:1,step:.1},chromaticAberration:{type:ControlType.Number,title:\"Chromatic Aberration\",defaultValue:0,min:0,max:.1,step:.01},tintColor:{type:ControlType.Color,title:\"Tint Color\",defaultValue:\"#00ff88\"},tintIntensity:{type:ControlType.Number,title:\"Tint Intensity\",defaultValue:.1,min:0,max:1,step:.1},cornerRadius:{type:ControlType.Number,title:\"Corner Radius\",defaultValue:16,min:0,max:50,step:1,unit:\"px\"},animationSpeed:{type:ControlType.Number,title:\"Animation Speed\",defaultValue:.8,min:.1,max:2,step:.1,unit:\"s\"},easingFunction:{type:ControlType.Enum,title:\"Easing Function\",options:[\"linear\",\"easeInOut\",\"easeOut\",\"easeIn\",\"spring\"],optionTitles:[\"Linear\",\"Ease In Out\",\"Ease Out\",\"Ease In\",\"Spring\"],defaultValue:\"easeOut\",displaySegmentedControl:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LiquidGlass\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BackgroundImage.map"],"mappings":"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"}