{"version":3,"file":"GradientBackground.HmTqthtT.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/cjFYfIHij2dXGAtLuiPS/wajMrbCxC6ehGiOAwUmS/GradientBackground.js"],"sourcesContent":["// ═══════════════════════════════════════════════════════════════════\n//  Clinico Animated Gradient — Framer Code Component\n//  Multiple pattern variations, same WebGL pipeline.\n//  Zero external dependencies — raw WebGL API only.\n// ═══════════════════════════════════════════════════════════════════\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useRef,useEffect,useState}from\"react\";// ── Vertex shader (shared) ──────────────────────────────────────\nconst VERT=`\n  attribute vec2 position;\n  varying vec2 vUv;\n  void main() {\n    vUv = position * 0.5 + 0.5;\n    gl_Position = vec4(position, 0.0, 1.0);\n  }\n`;// ── Fragment shader builder ─────────────────────────────────────\nconst FRAG_HEADER=`\n  #ifdef GL_FRAGMENT_PRECISION_HIGH\n    precision highp float;\n  #else\n    precision mediump float;\n  #endif\n\n  uniform float u_time;\n  uniform vec3  u_color1;\n  uniform vec3  u_color2;\n  uniform vec3  u_color3;\n  uniform float u_speed;\n  uniform float u_scale;\n  uniform float u_noise;\n  uniform vec2  u_resolution;\n\n  varying vec2 vUv;\n\n  float noise(vec2 st) {\n    return fract(sin(dot(st, vec2(12.9898, 78.233))) * 43758.5453);\n  }\n`;const FRAG_FOOTER=`\n  void main() {\n    vec2 uv = vUv;\n    float time = u_time * u_speed;\n    vec3 color = gradient(uv, time);\n\n    if (u_noise > 0.001) {\n      float grain = noise(uv * 200.0 + time * 0.1);\n      color *= (1.0 - u_noise * 0.4 + u_noise * grain * 0.4);\n    }\n\n    gl_FragColor = vec4(color, 1.0);\n  }\n`;// ── Pattern: Stripe (original) ──────────────────────────────────\nconst PATTERN_STRIPE=`\n  vec3 gradient(vec2 uv, float time) {\n    vec2 p = ((uv * u_resolution * 2.0 - u_resolution.xy)\n              / (u_resolution.x + u_resolution.y) * 2.0) * u_scale;\n    float t = time * 0.7;\n    float a = 4.0 * p.y - sin(-p.x * 3.0 + p.y - t);\n    a = smoothstep(cos(a) * 0.7, sin(a) * 0.7 + 1.0,\n                   cos(a - 4.0 * p.y) - sin(a + 3.0 * p.x));\n\n    vec2 warped = (cos(a) * p + sin(a) * vec2(-p.y, p.x)) * 0.5 + 0.5;\n    vec3 color = mix(u_color1, u_color2, warped.x);\n    color = mix(color, u_color3, warped.y);\n    color *= color + 0.6 * sqrt(color);\n    return clamp(color, 0.0, 1.0);\n  }\n`;// ── Pattern: Aurora ─────────────────────────────────────────────\nconst PATTERN_AURORA=`\n  vec3 gradient(vec2 uv, float time) {\n    vec2 p = uv * u_scale;\n\n    float w1 = sin(p.x * 4.0 + time * 0.6) * 0.18;\n    float w2 = sin(p.x * 7.0 - time * 0.45 + 1.8) * 0.10;\n    float w3 = cos(p.x * 2.5 + time * 0.35) * 0.22;\n    float w4 = sin(p.x * 5.5 + p.y * 1.5 + time * 0.5) * 0.08;\n\n    float y = p.y + w1 + w2 + w3 + w4;\n\n    vec3 color = mix(u_color1, u_color2, smoothstep(0.15, 0.50, y));\n    color = mix(color, u_color3, smoothstep(0.45, 0.80, y));\n    color = mix(color, u_color1 * 1.2, smoothstep(0.78, 1.10, y));\n\n    float shimmer = 0.95 + 0.1 * sin(p.x * 6.0 + time * 0.7)\n                         * cos(p.y * 3.0 - time * 0.3);\n    color *= shimmer;\n\n    float d1 = p.x * 0.7 + p.y * 0.7;\n    float d2 = p.x * 0.5 - p.y * 0.85;\n    float d3 = p.x * 0.9 + p.y * 0.45;\n\n    float b1 = pow(max(0.0, sin(d1 * 6.0 + time * 0.2)), 20.0);\n    float b2 = pow(max(0.0, sin(d2 * 8.0 - time * 0.25 + 2.0)), 24.0);\n    float b3 = pow(max(0.0, sin(d3 * 5.0 + time * 0.15 + 4.2)), 18.0);\n\n    float beams = b1 * 0.2 + b2 * 0.15 + b3 * 0.18;\n    beams *= 0.8 + 0.2 * sin(p.y * 1.5 + time * 0.15);\n\n    color = mix(color, vec3(1.0), beams);\n\n    return clamp(color, 0.0, 1.0);\n  }\n`;// ── Pattern: Liquid ─────────────────────────────────────────────\nconst PATTERN_LIQUID=`\n  vec3 gradient(vec2 uv, float time) {\n    vec2 p = (uv - 0.5) * u_scale * 1.5;\n\n    float d1 = length(p - vec2(sin(time * 0.40) * 0.35,\n                               cos(time * 0.30) * 0.30));\n    float d2 = length(p - vec2(cos(time * 0.35) * 0.40,\n                               sin(time * 0.55) * 0.25));\n    float d3 = length(p - vec2(sin(time * 0.60 + 2.0) * 0.25,\n                               cos(time * 0.45 + 1.0) * 0.35));\n    float d4 = length(p - vec2(cos(time * 0.25 + 3.5) * 0.30,\n                               sin(time * 0.50 + 2.5) * 0.20));\n    float d5 = length(p - vec2(sin(time * 0.32 + 4.2) * 0.45,\n                               cos(time * 0.38 + 0.7) * 0.40));\n    float d6 = length(p - vec2(cos(time * 0.48 + 1.3) * 0.35,\n                               sin(time * 0.28 + 3.1) * 0.45));\n    float d7 = length(p - vec2(sin(time * 0.22 + 5.0) * 0.20,\n                               cos(time * 0.52 + 4.0) * 0.30));\n\n    float field = 0.45 / (d1 + 0.05)\n               + 0.45 / (d2 + 0.05)\n               + 0.40 / (d3 + 0.05)\n               + 0.35 / (d4 + 0.05)\n               + 0.42 / (d5 + 0.05)\n               + 0.38 / (d6 + 0.05)\n               + 0.35 / (d7 + 0.05);\n\n    float blend1 = smoothstep(2.0, 6.0, field);\n    float blend2 = smoothstep(4.0, 10.0, field);\n\n    vec3 color = mix(u_color1, u_color2, blend1);\n    color = mix(color, u_color3,\n                smoothstep(0.2, 0.8,\n                           sin(blend2 * 3.14159 + time * 0.15)));\n\n    color *= color + 0.55 * sqrt(color);\n    return clamp(color, 0.0, 1.0);\n  }\n`;// ── Pattern: Silk ───────────────────────────────────────────────\nconst PATTERN_SILK=`\n  vec3 gradient(vec2 uv, float time) {\n    vec2 p = uv * u_scale;\n\n    float f1 = sin(p.x * 5.0 + p.y * 2.5 + time * 0.45) * 0.5 + 0.5;\n    float f2 = sin(p.y * 4.5 - p.x * 3.5 + time * 0.60) * 0.5 + 0.5;\n    float f3 = cos(p.x * 2.5 + p.y * 6.0 - time * 0.35) * 0.5 + 0.5;\n    float f4 = sin((p.x + p.y) * 3.0 + time * 0.25) * 0.5 + 0.5;\n\n    float blend = f1 * 0.35 + f2 * 0.30 + f3 * 0.20 + f4 * 0.15;\n\n    vec3 color = mix(u_color1, u_color2, smoothstep(0.20, 0.55, blend));\n    color = mix(color, u_color3, smoothstep(0.45, 0.85, f2));\n\n    float sheen = pow(f1 * f2, 2.5) * 0.25;\n    color += sheen;\n\n    color *= color + 0.5 * sqrt(color);\n    return clamp(color, 0.0, 1.0);\n  }\n`;// ── Pattern: Helix ──────────────────────────────────────────────\n// Layered translucent ribbons sweeping down the right side,\n// soft feathered edges, internal highlights, Stripe-inspired.\nconst PATTERN_HELIX=`\n  vec3 gradient(vec2 uv, float time) {\n    vec3 color = vec3(1.0);\n    float t = time * 0.15;\n    float s = u_scale;\n    float y = uv.y;\n    float x = uv.x;\n\n    vec3 warm   = u_color3;\n    vec3 mid    = u_color1;\n    vec3 cool   = u_color2;\n    vec3 accent = mix(cool, vec3(0.55, 0.45, 0.95), 0.3);\n\n    // ── Ribbon A: wide warm sweep (orange at top → pink → purple) ──\n    float cA = 0.65 + 0.22 * sin(y * 2.2 * s + t)\n                     + 0.06 * sin(y * 5.2 * s - t * 0.6 + 1.0);\n    float wA = 0.16 + 0.05 * sin(y * 2.5 * s + t * 0.3);\n    float rA = exp(-(x - cA) * (x - cA) / (2.0 * wA * wA));\n    vec3 colA = mix(cool, warm, smoothstep(-0.05, 0.85, y));\n    colA = mix(colA, mid, smoothstep(0.25, 0.5, y)\n                        * smoothstep(0.75, 0.5, y) * 0.55);\n    colA *= 0.80 + 0.40 * rA;\n\n    // ── Ribbon B: pink/magenta interweave ──\n    float cB = 0.55 + 0.26 * sin(y * 2.4 * s + t * 1.05 + 2.1)\n                     + 0.06 * cos(y * 4.5 * s + t * 0.3);\n    float wB = 0.13 + 0.04 * sin(y * 2.8 * s - t * 0.35);\n    float rB = exp(-(x - cB) * (x - cB) / (2.0 * wB * wB));\n    vec3 colB = mix(cool * 1.05, mid, smoothstep(0.0, 0.55, y));\n    colB = mix(colB, warm * 0.85, smoothstep(0.6, 1.0, y) * 0.4);\n    colB *= 0.80 + 0.40 * rB;\n\n    // ── Ribbon C: purple/lavender accent (right edge) ──\n    float cC = 0.82 + 0.10 * sin(y * 1.8 * s + t * 0.55 + 4.0)\n                     + 0.04 * cos(y * 3.8 * s - t * 0.4);\n    float wC = 0.10 + 0.025 * sin(y * 3.2 * s + t * 0.5);\n    float rC = exp(-(x - cC) * (x - cC) / (2.0 * wC * wC));\n    vec3 colC = mix(cool, accent, smoothstep(0.15, 0.6, y) * 0.5);\n    colC *= 0.85 + 0.30 * rC;\n\n    // ── Ribbon D: faint wide background glow ──\n    float cD = 0.50 + 0.16 * sin(y * 1.6 * s + t * 0.3 + 5.5)\n                     + 0.07 * cos(y * 2.5 * s + t * 0.15);\n    float wD = 0.24;\n    float rD = exp(-(x - cD) * (x - cD) / (2.0 * wD * wD));\n    vec3 colD = mix(cool * 0.50, warm * 0.45, smoothstep(0.15, 0.85, y));\n    colD = mix(colD, mid * 0.50, 0.25);\n\n    // Highlight streaks where the twist catches light\n    float hA = pow(rA, 5.0) * 0.22\n             * (0.55 + 0.45 * sin(y * 8.0 * s + t));\n    float hB = pow(rB, 5.0) * 0.16\n             * (0.50 + 0.50 * cos(y * 6.5 * s - t * 0.7));\n    float hC = pow(rC, 6.0) * 0.10\n             * (0.60 + 0.40 * sin(y * 7.5 * s + t * 0.5));\n\n    // Composite back → front (translucent layering)\n    color = mix(color, colD, rD * 0.22);\n    color = mix(color, colC, rC * 0.52);\n    color = mix(color, colA, rA * 0.75);\n    color = mix(color, colB, rB * 0.65);\n\n    // Apply highlights\n    color += vec3(hA + hB + hC);\n\n    // Fade left side to clean white\n    float leftFade = smoothstep(0.03, 0.45, x);\n    color = mix(vec3(1.0), color, leftFade);\n\n    return clamp(color, 0.0, 1.0);\n  }\n`;const PATTERNS={stripe:PATTERN_STRIPE,aurora:PATTERN_AURORA,liquid:PATTERN_LIQUID,silk:PATTERN_SILK,helix:PATTERN_HELIX};function buildFrag(pattern){return FRAG_HEADER+(PATTERNS[pattern]||PATTERN_STRIPE)+FRAG_FOOTER;}// ── Color parsing ───────────────────────────────────────────────\nfunction parseColor(c){if(!c||typeof c!==\"string\")return[0,0,0];const rgbMatch=c.match(/rgba?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)/);if(rgbMatch){return[parseFloat(rgbMatch[1])/255,parseFloat(rgbMatch[2])/255,parseFloat(rgbMatch[3])/255];}const hex=c.replace(\"#\",\"\");const full=hex.length===3?hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2]:hex.substring(0,6);return[parseInt(full.substring(0,2),16)/255,parseInt(full.substring(2,4),16)/255,parseInt(full.substring(4,6),16)/255];}// ── WebGL helpers ───────────────────────────────────────────────\nfunction compileShader(gl,type,src){const shader=gl.createShader(type);gl.shaderSource(shader,src);gl.compileShader(shader);if(!gl.getShaderParameter(shader,gl.COMPILE_STATUS)){const log=gl.getShaderInfoLog(shader);gl.deleteShader(shader);throw new Error(\"Shader compile error: \"+log);}return shader;}function createProgram(gl,vsSrc,fsSrc){const vs=compileShader(gl,gl.VERTEX_SHADER,vsSrc);const fs=compileShader(gl,gl.FRAGMENT_SHADER,fsSrc);const prog=gl.createProgram();gl.attachShader(prog,vs);gl.attachShader(prog,fs);gl.linkProgram(prog);if(!gl.getProgramParameter(prog,gl.LINK_STATUS)){const log=gl.getProgramInfoLog(prog);gl.deleteProgram(prog);gl.deleteShader(vs);gl.deleteShader(fs);throw new Error(\"Program link error: \"+log);}return{program:prog,vs,fs};}// ════════════════════════════════════════════════════════════════\n//  Component\n// ════════════════════════════════════════════════════════════════\n/**\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function GradientBackground(props){const{pattern=\"stripe\",color1=\"#FAE7F2\",color2=\"#9906F5\",color3=\"#EE5B3E\",speed=.4,scale=1,noiseAmount=.08,flip=true,fadeOverlay=true,fadeColor=\"#ffffff\",style}=props;const containerRef=useRef(null);const canvasRef=useRef(null);const glRef=useRef(null);const rafRef=useRef(0);const t0Ref=useRef(0);const[webglFailed,setWebglFailed]=useState(false);useEffect(()=>{const canvas=canvasRef.current;const container=containerRef.current;if(!canvas||!container)return;let gl;try{gl=canvas.getContext(\"webgl\",{alpha:false,antialias:false,powerPreference:\"high-performance\"});}catch(_e){/* ignore */}if(!gl){setWebglFailed(true);return;}let programData;try{programData=createProgram(gl,VERT,buildFrag(pattern));}catch(err){console.error(\"[GradientBackground]\",err);setWebglFailed(true);return;}const{program,vs,fs}=programData;gl.useProgram(program);const positions=new Float32Array([-1,-1,1,-1,-1,1,1,1]);const buf=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,buf);gl.bufferData(gl.ARRAY_BUFFER,positions,gl.STATIC_DRAW);const posLoc=gl.getAttribLocation(program,\"position\");gl.enableVertexAttribArray(posLoc);gl.vertexAttribPointer(posLoc,2,gl.FLOAT,false,0,0);const uniforms={u_time:gl.getUniformLocation(program,\"u_time\"),u_color1:gl.getUniformLocation(program,\"u_color1\"),u_color2:gl.getUniformLocation(program,\"u_color2\"),u_color3:gl.getUniformLocation(program,\"u_color3\"),u_speed:gl.getUniformLocation(program,\"u_speed\"),u_scale:gl.getUniformLocation(program,\"u_scale\"),u_noise:gl.getUniformLocation(program,\"u_noise\"),u_resolution:gl.getUniformLocation(program,\"u_resolution\")};glRef.current={gl,program,vs,fs,buf,uniforms};t0Ref.current=performance.now();const c1=parseColor(color1);const c2=parseColor(color2);const c3=parseColor(color3);gl.uniform3f(uniforms.u_color1,c1[0],c1[1],c1[2]);gl.uniform3f(uniforms.u_color2,c2[0],c2[1],c2[2]);gl.uniform3f(uniforms.u_color3,c3[0],c3[1],c3[2]);gl.uniform1f(uniforms.u_speed,speed);gl.uniform1f(uniforms.u_scale,scale);gl.uniform1f(uniforms.u_noise,noiseAmount);let curW=0;let curH=0;const handleResize=()=>{const w=container.clientWidth;const h=container.clientHeight;if(w===0||h===0)return;if(w===curW&&h===curH)return;curW=w;curH=h;const dpr=Math.min(window.devicePixelRatio||1,2);canvas.width=Math.round(w*dpr);canvas.height=Math.round(h*dpr);canvas.style.width=w+\"px\";canvas.style.height=h+\"px\";gl.viewport(0,0,canvas.width,canvas.height);gl.uniform2f(uniforms.u_resolution,w,h);};const observer=new ResizeObserver(handleResize);observer.observe(container);handleResize();const animate=now=>{if(!glRef.current)return;const elapsed=(now-t0Ref.current)/1e3;gl.uniform1f(uniforms.u_time,elapsed);gl.drawArrays(gl.TRIANGLE_STRIP,0,4);rafRef.current=requestAnimationFrame(animate);};rafRef.current=requestAnimationFrame(animate);return()=>{cancelAnimationFrame(rafRef.current);observer.disconnect();gl.deleteBuffer(buf);gl.deleteProgram(program);gl.deleteShader(vs);gl.deleteShader(fs);glRef.current=null;};},[pattern])// eslint-disable-line react-hooks/exhaustive-deps\n;useEffect(()=>{const data=glRef.current;if(!data)return;const{gl,program,uniforms}=data;gl.useProgram(program);const c1=parseColor(color1);const c2=parseColor(color2);const c3=parseColor(color3);gl.uniform3f(uniforms.u_color1,c1[0],c1[1],c1[2]);gl.uniform3f(uniforms.u_color2,c2[0],c2[1],c2[2]);gl.uniform3f(uniforms.u_color3,c3[0],c3[1],c3[2]);gl.uniform1f(uniforms.u_speed,speed);gl.uniform1f(uniforms.u_scale,scale);gl.uniform1f(uniforms.u_noise,noiseAmount);},[color1,color2,color3,speed,scale,noiseAmount]);if(webglFailed){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",background:`linear-gradient(135deg, ${color1}, ${color2}, ${color3})`,...style}});}return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",...style},\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{display:\"block\",position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",transform:flip?\"rotate(180deg)\":\"none\"}}),fadeOverlay&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,right:0,bottom:0,pointerEvents:\"none\",background:`radial-gradient(ellipse 150% 70% at 50% 0%, transparent 0%, transparent 50%, ${fadeColor} 80%)`}})]});}// ── Property controls ──────────────────────────────────────────\naddPropertyControls(GradientBackground,{pattern:{type:ControlType.Enum,title:\"Pattern\",defaultValue:\"stripe\",options:[\"stripe\",\"aurora\",\"liquid\",\"silk\",\"helix\"],optionTitles:[\"Stripe\",\"Aurora\",\"Liquid\",\"Silk\",\"Helix\"]},color1:{type:ControlType.Color,title:\"Color 1 (pink)\",defaultValue:\"#FAE7F2\"},color2:{type:ControlType.Color,title:\"Color 2 (purple)\",defaultValue:\"#9906F5\"},color3:{type:ControlType.Color,title:\"Color 3 (orange)\",defaultValue:\"#EE5B3E\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:.4,min:.05,max:2,step:.05},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:.1,max:3,step:.1},noiseAmount:{type:ControlType.Number,title:\"Noise / grain\",defaultValue:.08,min:0,max:.5,step:.01},flip:{type:ControlType.Boolean,title:\"Flip 180\\xb0\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},fadeOverlay:{type:ControlType.Boolean,title:\"Fade overlay\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},fadeColor:{type:ControlType.Color,title:\"Fade color\",defaultValue:\"#ffffff\",hidden:p=>!p.fadeOverlay}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GradientBackground\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"600\",\"framerIntrinsicHeight\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GradientBackground.map"],"mappings":"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"}