{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/rgUQNdxCazjVujHClR9w/n8qEzrofpBvNy8Br2ZmM/GPerlinWave.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useRef,useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const vertexShader=`#version 300 es\n    in vec2 position;\n    out vec2 vPixelCoord;\n    uniform vec2 uResolution;\n    void main() {\n        gl_Position = vec4(position, 0.0, 1.0);\n        vPixelCoord = (vec2(position.x, -position.y) * 0.5 + 0.5) * uResolution;\n    }`;const fragmentShader=`#version 300 es\n    precision highp float;\n    in vec2 vPixelCoord;\n    out vec4 fragColor;\n    \n    uniform float uTime;\n    uniform vec2 uResolution;\n\n    uniform vec4 uColors[16];\n    uniform float uPositions[16];\n    uniform int uColorCount;\n\n    uniform float uGrainScale;\n    uniform float uGrainSpeed;\n    uniform float uGrainStr;\n\n    uniform float uNoiseScale;\n    uniform float uNoiseSpeed;\n\n    uniform float uWaveScale;\n    uniform float uWaveSpeed;\n    uniform float uWaveType;\n\n    uniform bool uPixelate;\n    uniform float uPixelScale;\n\n    vec4 colorRamp(float t) {\n        if (uColorCount == 0) return vec4(0.0);\n        if (t <= uPositions[0]) return uColors[0];\n        for (int i = 1; i < uColorCount; i++) {\n            if (t <= uPositions[i]) {\n                return mix(uColors[i-1], uColors[i], \n                    (t - uPositions[i-1]) / (uPositions[i] - uPositions[i-1]));\n            }\n        }\n        return uColors[uColorCount - 1];\n    }\n\n    vec3 linearLight(vec3 base, vec3 blend, float factor) {\n        vec3 result = base + 2.0 * (blend - 0.5);\n        return mix(base, clamp(result, 0.0, 1.0), factor);\n    }\n\n    float wave(float x, float scale, float offset, float waveType) {\n        float t = (x - offset) * scale * 6.28318;\n        if (waveType < 0.5) {\n            return cos(t) * 0.5 + 0.5; \n        } else if (waveType < 1.5) {\n            return abs(fract(t / 6.28318) * 2.0 - 1.0); \n        } else {\n            return fract(t / 6.28318); \n        }\n    }\n\n    float white(vec2 coord, float scale, float seed) {\n        float baseScale = 1.7 / scale;\n        vec2 blockCoord = floor(coord * baseScale);\n        vec2 wrappedCoord = vec2(mod(blockCoord.x, 16384.0), mod(blockCoord.y, 16384.0));\n        \n        vec3 p3 = fract(vec3(wrappedCoord.xyx) * vec3(0.1031, 0.1030, 0.0973));\n        p3 += dot(p3, p3.yzx + 33.33);\n        return fract((p3.x + p3.y) * p3.z + seed);\n    }\n    \n    vec4 permute(vec4 x) {\n        return mod((x * 34.0 + 1.0) * x, 289.0);\n    }\n\n    vec4 taylorInvSqrt(vec4 r) {\n        return 1.79284291400159 - 0.85373472095314 * r;\n    }\n\n    float perlin(vec3 P) {\n        vec3 Pi0 = floor(P);\n        vec3 Pi1 = Pi0 + vec3(1.0);\n        Pi0 = mod(Pi0, 289.0);\n        Pi1 = mod(Pi1, 289.0);\n        vec3 Pf0 = fract(P);\n        vec3 Pf1 = Pf0 - vec3(1.0);\n        vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\n        vec4 iy = vec4(Pi0.yy, Pi1.yy);\n        vec4 iz0 = Pi0.zzzz;\n        vec4 iz1 = Pi1.zzzz;\n\n        vec4 ixy = permute(permute(ix) + iy);\n        vec4 ixy0 = permute(ixy + iz0);\n        vec4 ixy1 = permute(ixy + iz1);\n\n        vec4 gx0 = ixy0 / 7.0;\n        vec4 gy0 = fract(floor(gx0) / 7.0) - 0.5;\n        gx0 = fract(gx0);\n        vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\n        vec4 sz0 = step(gz0, vec4(0.0));\n        gx0 -= sz0 * (step(0.0, gx0) - 0.5);\n        gy0 -= sz0 * (step(0.0, gy0) - 0.5);\n\n        vec4 gx1 = ixy1 / 7.0;\n        vec4 gy1 = fract(floor(gx1) / 7.0) - 0.5;\n        gx1 = fract(gx1);\n        vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\n        vec4 sz1 = step(gz1, vec4(0.0));\n        gx1 -= sz1 * (step(0.0, gx1) - 0.5);\n        gy1 -= sz1 * (step(0.0, gy1) - 0.5);\n\n        vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);\n        vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);\n        vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);\n        vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);\n        vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);\n        vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);\n        vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);\n        vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);\n\n        vec4 norm = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\n        g000 *= norm.x; g010 *= norm.y; g100 *= norm.z; g110 *= norm.w;\n        norm = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\n        g001 *= norm.x; g011 *= norm.y; g101 *= norm.z; g111 *= norm.w;\n\n        float n000 = dot(g000, Pf0);\n        float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\n        float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\n        float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\n        float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\n        float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\n        float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\n        float n111 = dot(g111, Pf1);\n\n        vec3 fade_xyz = Pf0 * Pf0 * Pf0 * (Pf0 * (Pf0 * 6.0 - 15.0) + 10.0);\n        vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\n        vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\n        float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); \n        return 2.2 * n_xyz;\n    }\n\n    void main() {\n    vec2 coord = vPixelCoord;\n        \n    if (uPixelate) {\n        vec2 pixelSize = vec2(max(1.0, floor(uPixelScale)));\n        coord = floor(vPixelCoord / pixelSize) * pixelSize + pixelSize * 0.5;\n    }\n\n    float grainScale = uGrainScale * 0.5;\n    float grainSpeed = uGrainSpeed * 0.02;\n\n    float noiseScale = 0.002 / uNoiseScale;\n    float noiseSpeed = uTime * uNoiseSpeed * 0.01;\n\n    float waveScale = 100.0 / uWaveScale;\n    float waveSpeed = uTime * uWaveSpeed * 0.1;\n    \n    float baseNoise = perlin(vec3(coord * noiseScale, noiseSpeed));\n    vec3 grain = vec3(white(coord, grainScale, uTime * grainSpeed));\n\n    vec3 waveNoise = vec3(wave(0.5 * waveScale * baseNoise, 1.0, mod(waveSpeed, 1.0), uWaveType));\n    \n    fragColor = colorRamp(linearLight(waveNoise, grain, uGrainStr).r);\n}`;function parseColor(color){const div=document.createElement(\"div\");div.style.color=color;document.body.appendChild(div);const[r,g,b,a]=getComputedStyle(div).color.match(/\\d+(\\.\\d+)?/g).map(Number);document.body.removeChild(div);return[r/255,g/255,b/255,a!==null&&a!==void 0?a:1];}const SYNC_GL=\"gl-sync\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 240\n * @framerIntrinsicHeight 240\n */export default function GPerlinWave(props){const canvasRef=useRef(null);const glRef=useRef(null);const propsRef=useRef(props);const[isContextLost,setIsContextLost]=useState(false);const[renderEnabled,setRenderEnabled]=useState(RenderTarget.current()!==RenderTarget.canvas);const fps=60;useEffect(()=>{propsRef.current=props;render();},[props]);const getTimestamp=()=>renderEnabled?performance.now()/1e3:0;const initWebGL=()=>{var _canvasRef_current;const gl=(_canvasRef_current=canvasRef.current)===null||_canvasRef_current===void 0?void 0:_canvasRef_current.getContext(\"webgl2\",{alpha:true});if(!gl)return null;glRef.current=gl;gl.loseContextHandler=gl.getExtension(\"WEBGL_lose_context\");const program=gl.createProgram();[gl.VERTEX_SHADER,gl.FRAGMENT_SHADER].forEach((type,i)=>{const shader=gl.createShader(type);gl.shaderSource(shader,i===0?vertexShader:fragmentShader);gl.compileShader(shader);gl.attachShader(program,shader);});gl.linkProgram(program);gl.useProgram(program);const vertices=new Float32Array([-1,-1,1,-1,1,1,-1,1]);gl.bindBuffer(gl.ARRAY_BUFFER,gl.createBuffer());gl.bufferData(gl.ARRAY_BUFFER,vertices,gl.STATIC_DRAW);const position=gl.getAttribLocation(program,\"position\");gl.enableVertexAttribArray(position);gl.vertexAttribPointer(position,2,gl.FLOAT,false,0,0);gl.enable(gl.BLEND);gl.blendFunc(gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA);gl.uniformLocations={uColors:gl.getUniformLocation(program,\"uColors\"),uPositions:gl.getUniformLocation(program,\"uPositions\"),uColorCount:gl.getUniformLocation(program,\"uColorCount\"),uTime:gl.getUniformLocation(program,\"uTime\"),uResolution:gl.getUniformLocation(program,\"uResolution\"),uGrainScale:gl.getUniformLocation(program,\"uGrainScale\"),uGrainSpeed:gl.getUniformLocation(program,\"uGrainSpeed\"),uGrainStr:gl.getUniformLocation(program,\"uGrainStr\"),uNoiseScale:gl.getUniformLocation(program,\"uNoiseScale\"),uNoiseSpeed:gl.getUniformLocation(program,\"uNoiseSpeed\"),uWaveScale:gl.getUniformLocation(program,\"uWaveScale\"),uWaveSpeed:gl.getUniformLocation(program,\"uWaveSpeed\"),uWaveType:gl.getUniformLocation(program,\"uWaveType\"),uPixelate:gl.getUniformLocation(program,\"uPixelate\"),uPixelScale:gl.getUniformLocation(program,\"uPixelScale\")};return true;};const setUniforms=props=>{if(!canvasRef.current||!glRef.current)return;const gl=glRef.current;const loc=gl.uniformLocations;const{width,height}=canvasRef.current;const sortedColors=[...props.colors].sort((a,b)=>a.position-b.position);const colors=sortedColors.map(c=>parseColor(c.color)).flat();const positions=sortedColors.map(c=>c.position);gl.uniform4fv(loc.uColors,new Float32Array(colors));gl.uniform1fv(loc.uPositions,new Float32Array(positions));gl.uniform1i(loc.uColorCount,sortedColors.length);gl.uniform1f(loc.uTime,getTimestamp());gl.uniform2f(loc.uResolution,width,height);gl.uniform1f(loc.uGrainScale,props.grainScale);gl.uniform1f(loc.uGrainSpeed,props.grainSpeed);gl.uniform1f(loc.uGrainStr,props.grainStr);gl.uniform1f(loc.uNoiseScale,props.noiseScale);gl.uniform1f(loc.uNoiseSpeed,props.noiseSpeed);gl.uniform1f(loc.uWaveScale,props.waveScale);gl.uniform1f(loc.uWaveSpeed,props.waveSpeed);gl.uniform1f(loc.uWaveType,props.waveType);gl.uniform1i(loc.uPixelate,props.pixelate);gl.uniform1f(loc.uPixelScale,props.pixelScale);};const render=()=>{if(!glRef.current||isContextLost)return;setUniforms(propsRef.current);glRef.current.drawArrays(glRef.current.TRIANGLE_FAN,0,4);};useEffect(()=>{if(!initWebGL())return;const canvas=canvasRef.current;const gl=glRef.current;const loseContextHandler=gl.loseContextHandler;const resizeObserver=new ResizeObserver(()=>{if(!canvas||!gl)return;canvas.width=canvas.clientWidth;canvas.height=canvas.clientHeight;gl.viewport(0,0,canvas.width,canvas.height);render();});const handleContextLost=e=>{e.preventDefault();setIsContextLost(true);setRenderEnabled(false);};const handleContextRestored=()=>{setIsContextLost(false);initWebGL();setRenderEnabled(RenderTarget.current()!==RenderTarget.canvas);};const handleSync=e=>{var _e_data;if(((_e_data=e.data)===null||_e_data===void 0?void 0:_e_data.type)===SYNC_GL){loseContextHandler===null||loseContextHandler===void 0?void 0:loseContextHandler[e.data.action===\"restore\"?\"restoreContext\":\"loseContext\"]();}};resizeObserver.observe(canvas);canvas.addEventListener(\"webglcontextlost\",handleContextLost);canvas.addEventListener(\"webglcontextrestored\",handleContextRestored);window.addEventListener(\"message\",handleSync);const timeoutId=setInterval(()=>{if(renderEnabled)render();},1e3/fps);return()=>{var _gl_loseContextHandler;resizeObserver.disconnect();canvas.removeEventListener(\"webglcontextlost\",handleContextLost);canvas.removeEventListener(\"webglcontextrestored\",handleContextRestored);window.removeEventListener(\"message\",handleSync);clearInterval(timeoutId);(_gl_loseContextHandler=gl.loseContextHandler)===null||_gl_loseContextHandler===void 0?void 0:_gl_loseContextHandler.loseContext();window.postMessage({type:SYNC_GL,action:\"restore\"},\"*\");};},[]);return /*#__PURE__*/_jsxs(_Fragment,{children:[isContextLost&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",textAlign:\"center\",background:\"#9595951A\",border:\"1px solid #95959526\",borderRadius:6,height:\"100%\",padding:15,fontSize:11,color:\"#a5a5a5\"},children:[\"Too many WebGL components. \",/*#__PURE__*/_jsx(\"br\",{}),\"Please delete some of them\"]}),/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{width:\"100%\",height:\"100%\",display:!isContextLost?\"block\":\"none\"}})]});}GPerlinWave.displayName=\"Sol: Wave Gradient\";addPropertyControls(GPerlinWave,{colors:{type:ControlType.Array,title:\"Colors\",control:{type:ControlType.Object,title:\"Color\",controls:{color:{type:ControlType.Color,title:\"Color\"},position:{type:ControlType.Number,title:\"Position\",defaultValue:0,min:0,max:1,step:.01}}},defaultValue:[{color:\"#fae6e6\",position:0},{color:\"#e03100\",position:.35},{color:\"#6e008a\",position:.87},{color:\"#0e0014\",position:1}],description:\" \"},grainScale:{type:ControlType.Number,title:\"Grain\",defaultValue:1,min:.1,max:100,step:.1},grainSpeed:{type:ControlType.Number,title:\"Speed\",defaultValue:50,min:0,max:100},grainStr:{type:ControlType.Number,title:\"Strength\",defaultValue:.1,min:0,max:1,step:.01,description:\" \"},noiseScale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:.1,max:10,step:.01},noiseSpeed:{type:ControlType.Number,title:\"Speed\",defaultValue:10,min:-25,max:25,step:.1,description:\" \"},waveType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Wave type\",options:[0,1],optionTitles:[\"Sine\",\"Triangle\"],defaultValue:0},waveScale:{type:ControlType.Number,title:\"Scale\",defaultValue:40,min:.1,max:100,step:.01},waveSpeed:{type:ControlType.Number,title:\"Speed\",defaultValue:0,min:-25,max:25,step:.1,description:\" \"},pixelate:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Pixelate\",options:[0,1],optionTitles:[\"Off\",\"On\"],defaultValue:0},pixelScale:{type:ControlType.Number,title:\"Scale\",defaultValue:20,max:100,min:1,step:1,hidden:props=>props.pixelate===0}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GPerlinWave\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"240\",\"framerIntrinsicHeight\":\"240\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GPerlinWave.map"],
  "mappings": "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",
  "names": ["vertexShader", "fragmentShader", "parseColor", "color", "div", "r", "g", "b", "a", "SYNC_GL", "GPerlinWave", "props", "canvasRef", "pe", "glRef", "propsRef", "isContextLost", "setIsContextLost", "ye", "renderEnabled", "setRenderEnabled", "RenderTarget", "fps", "ue", "render", "getTimestamp", "initWebGL", "_canvasRef_current", "gl", "program", "type", "i", "shader", "vertices", "position", "setUniforms", "loc", "width", "height", "sortedColors", "colors", "c", "positions", "canvas", "loseContextHandler", "resizeObserver", "handleContextLost", "e", "handleContextRestored", "handleSync", "_e_data", "window", "timeoutId", "_gl_loseContextHandler", "u", "l", "p", "addPropertyControls", "ControlType"]
}
