{"version":3,"file":"h4a7dWxv8.ooQHiM8Y.mjs","names":["useRef","useState","useCallback","useMemo","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId"],"sources":["https:/framerusercontent.com/modules/cMUa9eI9Enss9aw0iM6V/jkGZzxEmUcvtVrEbJ3n9/LiquidText.js","https:/framerusercontent.com/modules/mUHv7FsDSdaCEHvzlfjg/xHOVC9P36lnBhDxUUnsl/h4a7dWxv8.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useCallback,useEffect,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const VERT=`\nattribute vec2 aPos;\nvarying vec2 vUv;\nvoid main() {\n    vUv = (aPos + 1.0) / 2.0;\n    gl_Position = vec4(aPos, 0.0, 1.0);\n}`;// Glass-lens refraction around the cursor. The base text is gently bent and can\n// blur (frosted glass) near the pointer; a small radial offset lifts a RED\n// fringe on the leading edge and a CYAN fringe on the trailing edge — the\n// correct complementary chromatic split, visible on any background/text colour.\n// uRevealBlur drives the blur-in reveal. No time term, so it never glitches.\nconst FRAG=`\nprecision highp float;\nuniform sampler2D uTex;\nuniform vec2 uRes;\nuniform vec2 uMouse;\nuniform float uRadius;\nuniform float uShape;\nuniform float uBlobPoints;\nuniform float uBlobWobble;\nuniform float uBlobSeed;\nuniform float uRGB;\nuniform float uBend;\nuniform float uBlur;\nuniform float uRevealBlur;\nuniform float uReveal;\nuniform float uStrength;\nuniform vec3 uColorA;\nuniform vec3 uColorB;\nuniform float uBlast;\nuniform float uPiece;\nvarying vec2 vUv;\n\nfloat hash(vec2 p) {\n    return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453);\n}\n\nvec4 sampleField(vec2 p, float blurPx) {\n    if (blurPx < 0.5) return texture2D(uTex, p / uRes);\n    float d = blurPx * 0.70710678;\n    vec4 s = texture2D(uTex, p / uRes) * 0.28;\n    s += texture2D(uTex, (p + vec2(blurPx, 0.0)) / uRes) * 0.09;\n    s += texture2D(uTex, (p - vec2(blurPx, 0.0)) / uRes) * 0.09;\n    s += texture2D(uTex, (p + vec2(0.0, blurPx)) / uRes) * 0.09;\n    s += texture2D(uTex, (p - vec2(0.0, blurPx)) / uRes) * 0.09;\n    s += texture2D(uTex, (p + vec2(d, d)) / uRes) * 0.09;\n    s += texture2D(uTex, (p + vec2(d, -d)) / uRes) * 0.09;\n    s += texture2D(uTex, (p + vec2(-d, d)) / uRes) * 0.09;\n    s += texture2D(uTex, (p + vec2(-d, -d)) / uRes) * 0.09;\n    return s;\n}\n\nvoid main() {\n    vec2 px = vUv * uRes;\n    vec2 toM = px - uMouse;\n    float dist = length(toM);\n    vec2 dir = dist > 0.001 ? toM / dist : vec2(0.0);\n    float fall;\n    if (uShape < 0.5) {\n        fall = 1.0;                                   // global\n    } else {\n        float rr = uRadius;\n        if (uShape > 1.5) {                           // blob\n            float ang = atan(toM.y, toM.x);\n            rr = uRadius * (1.0 + uBlobWobble * (\n                0.5 * sin(uBlobPoints * ang + uBlobSeed) +\n                0.3 * sin(uBlobPoints * 2.0 * ang - uBlobSeed * 1.3)));\n        }\n        rr = max(rr, 1.0);\n        float t = clamp(1.0 - dist / rr, 0.0, 1.0);\n        fall = t * t * (3.0 - 2.0 * t);               // lens / blob\n    }\n    float infl = fall * uStrength;\n\n    vec2 base = px - dir * (uBend * infl);\n    vec2 o = dir * (uRGB * infl);\n    float blurPx = uBlur * infl + uRevealBlur;\n\n    // Blast: shatter the text into cells that scatter and dissolve on hover.\n    float vis = 1.0;\n    if (uBlast > 0.5) {\n        vec2 cell = floor(px / max(1.0, uPiece));\n        vec2 rdir = normalize(vec2(hash(cell), hash(cell + 31.7)) - 0.5 + 0.001);\n        float rmag = 0.5 + 0.5 * hash(cell + 11.3);\n        base -= rdir * (uBlast * infl * rmag);\n        float thr = 0.35 + 0.55 * hash(cell + 5.1);\n        vis = 1.0 - smoothstep(thr - 0.12, thr + 0.12, infl);\n    }\n\n    vec4 center = sampleField(base, blurPx);\n    float a0 = center.a;\n    float aR = sampleField(base + o, blurPx).a;\n    float aB = sampleField(base - o, blurPx).a;\n\n    float rF = max(aR - a0, 0.0);\n    float cF = max(aB - a0, 0.0);\n    float aOut = max(a0, max(aR, aB));\n\n    vec3 col = center.rgb * a0;    // original text\n    col += rF * uColorA;           // leading fringe colour\n    col += cF * uColorB;           // trailing fringe colour\n    col = clamp(col, 0.0, 1.0);\n\n    // Reveal wipe (used by the sweep intro): text appears from left to right.\n    float mask = 1.0 - smoothstep(uReveal, uReveal + 0.04, vUv.x);\n    gl_FragColor = vec4(col * mask * vis, aOut * mask * vis);\n}`;function compile(gl,type,src){const shader=gl.createShader(type);gl.shaderSource(shader,src);gl.compileShader(shader);return shader;}function easeOutCubic(x){return 1-Math.pow(1-x,3);}let parseCanvas=null;function parseColor(str){if(typeof document===\"undefined\")return[1,0,0];if(!parseCanvas){parseCanvas=document.createElement(\"canvas\");parseCanvas.width=1;parseCanvas.height=1;}const ctx=parseCanvas.getContext(\"2d\");ctx.clearRect(0,0,1,1);ctx.fillStyle=\"#000000\";ctx.fillStyle=str;ctx.fillRect(0,0,1,1);const d=ctx.getImageData(0,0,1,1).data;return[d[0]/255,d[1]/255,d[2]/255];}function applyCase(value,mode){switch(mode){case\"uppercase\":return value.toUpperCase();case\"lowercase\":return value.toLowerCase();case\"capitalize\":return value.replace(/\\b\\w/g,ch=>ch.toUpperCase());default:return value;}}/**\n * Chromatic Hero\n *\n * A large hero heading that refracts like glass under the cursor: a localized\n * red/cyan chromatic split and optional frosted blur follow the pointer with\n * soft easing, fading to clean text at the edges and on leave. Includes reveal\n * presets on load (fade / rise / blur / sweep) that hand off if the visitor\n * grabs the cursor. GPU WebGL, uniform-only updates, reduced-motion + touch aware.\n *\n * @framerIntrinsicWidth 520\n * @framerIntrinsicHeight 160\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function ChromaticHero(props){const{text=\"Refraction\",font,textCase=\"none\",fitWidth=false,color=\"#111111\",rgbStrength=6,fringeA=\"#FF0000\",fringeB=\"#00FFFF\",distortionStrength=10,shape=\"lens\",blobPoints=6,blobWobble=.4,blobSeed=0,distortionRadius=180,blur=4,blast=false,blastAmount=90,pieceSize=18,animationSpeed=.1,scaleEffects=true,referenceWidth=1200,introPreset=\"fade\",introDuration=1.2,style}=props;const isStatic=useIsStaticRenderer();const wrapRef=useRef(null);const canvasRef=useRef(null);const[size,setSize]=useState({w:0,h:0});// Effect distances (fringe split, bend, blur, blast, lens radius) are\n// authored in pixels against a reference width. On narrower viewports the\n// text shrinks, so the same absolute pixels would read as a much heavier\n// effect — scale them with the container so the look stays proportional.\nconst effectScale=useCallback(available=>{if(!scaleEffects)return 1;const reference=Math.max(1,referenceWidth);if(!(available>4))return 1;return Math.max(.25,Math.min(1,available/reference));},[scaleEffects,referenceWidth]);const scaleRef=useRef(1);const bleedFor=useCallback(scale=>Math.ceil((rgbStrength+distortionStrength+blur+(blast?blastAmount:0))*scale+8),[rgbStrength,distortionStrength,blur,blast,blastAmount]);const colA=useMemo(()=>parseColor(fringeA),[fringeA]);const colB=useMemo(()=>parseColor(fringeB),[fringeB]);const uni=useRef({rgbStrength,distortionStrength,shape,blobPoints,blobWobble,blobSeed,distortionRadius,blur,blast,blastAmount,pieceSize,animationSpeed,colA,colB});uni.current={rgbStrength,distortionStrength,shape,blobPoints,blobWobble,blobSeed,distortionRadius,blur,blast,blastAmount,pieceSize,animationSpeed,colA,colB};const intro=useRef({preset:introPreset,duration:introDuration});intro.current={preset:introPreset,duration:introDuration};const gl=useRef(null);const mouseTarget=useRef({x:0,y:0});const mouse=useRef({x:0,y:0});const hovering=useRef(false);const strength=useRef(0);const revealBlur=useRef(0);const revealProgress=useRef(1);const introRunning=useRef(false);const introStart=useRef(0);const running=useRef(false);const rafId=useRef(0);const last=useRef(0);const disabled=useRef(false);const startHidden=!isStatic&&(introPreset===\"fade\"||introPreset===\"rise\"||introPreset===\"blur\");const drawTexture=useCallback(()=>{const context=gl.current;const canvas=canvasRef.current;if(!context||!canvas||typeof document===\"undefined\")return;const dpr=Math.min(2,window.devicePixelRatio||1);const baseFontSize=typeof font?.fontSize===\"string\"?parseFloat(font.fontSize)||120:font?.fontSize||120;const weight=font?.fontWeight||700;const fstyle=font?.fontStyle||\"normal\";const family=font?.fontFamily||\"sans-serif\";const spacing=typeof font?.letterSpacing===\"string\"?font.letterSpacing:\"\";const display=applyCase(text||\"\",textCase);const off=document.createElement(\"canvas\");const ctx=off.getContext(\"2d\");const setFont=fs=>{ctx.font=`${fstyle} ${weight} ${fs}px ${family}`;if(\"letterSpacing\"in ctx&&spacing){try{ctx.letterSpacing=spacing;}catch{}}};const avail=wrapRef.current?.clientWidth||0;const scale=effectScale(avail);scaleRef.current=scale;const bleed=bleedFor(scale);// Fit-to-width: scale the font so the text spans the container width.\nlet fontSize=baseFontSize;if(fitWidth&&avail>4){setFont(baseFontSize);const tw0=Math.max(1,ctx.measureText(display||\" \").width);const target=Math.max(1,avail-bleed*2);fontSize=Math.max(4,baseFontSize*(target/tw0));}setFont(fontSize);const metrics=ctx.measureText(display||\" \");const asc=metrics.actualBoundingBoxAscent||fontSize*.8;const desc=metrics.actualBoundingBoxDescent||fontSize*.28;const tw=Math.max(1,metrics.width);const w=Math.ceil(tw+bleed*2);const h=Math.ceil(asc+desc+bleed*2);off.width=Math.ceil(w*dpr);off.height=Math.ceil(h*dpr);ctx.scale(dpr,dpr);setFont(fontSize);ctx.textBaseline=\"alphabetic\";ctx.fillStyle=color;ctx.fillText(display,bleed,bleed+asc);const c=context.ctx;c.bindTexture(c.TEXTURE_2D,context.tex);c.pixelStorei(c.UNPACK_FLIP_Y_WEBGL,true);c.pixelStorei(c.UNPACK_PREMULTIPLY_ALPHA_WEBGL,false);c.texImage2D(c.TEXTURE_2D,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,off);canvas.width=off.width;canvas.height=off.height;c.viewport(0,0,canvas.width,canvas.height);setSize({w,h});},[text,font,textCase,color,bleedFor,effectScale,fitWidth]);useEffect(()=>{const canvas=canvasRef.current;if(!canvas||typeof window===\"undefined\")return;const reduced=window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const noHover=window.matchMedia&&window.matchMedia(\"(hover: none)\").matches;const touch=\"ontouchstart\"in window||navigator.maxTouchPoints>0;disabled.current=Boolean(reduced||noHover||touch);const c=canvas.getContext(\"webgl\",{alpha:true,premultipliedAlpha:true,antialias:true});if(!c)return;const program=c.createProgram();c.attachShader(program,compile(c,c.VERTEX_SHADER,VERT));c.attachShader(program,compile(c,c.FRAGMENT_SHADER,FRAG));c.linkProgram(program);c.useProgram(program);const buffer=c.createBuffer();c.bindBuffer(c.ARRAY_BUFFER,buffer);c.bufferData(c.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,-1,1,1,-1,1,1]),c.STATIC_DRAW);const aPos=c.getAttribLocation(program,\"aPos\");c.enableVertexAttribArray(aPos);c.vertexAttribPointer(aPos,2,c.FLOAT,false,0,0);const tex=c.createTexture();c.bindTexture(c.TEXTURE_2D,tex);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_S,c.CLAMP_TO_EDGE);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_T,c.CLAMP_TO_EDGE);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MIN_FILTER,c.LINEAR);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MAG_FILTER,c.LINEAR);c.enable(c.BLEND);c.blendFunc(c.ONE,c.ONE_MINUS_SRC_ALPHA);const loc={uTex:c.getUniformLocation(program,\"uTex\"),uRes:c.getUniformLocation(program,\"uRes\"),uMouse:c.getUniformLocation(program,\"uMouse\"),uRadius:c.getUniformLocation(program,\"uRadius\"),uShape:c.getUniformLocation(program,\"uShape\"),uBlobPoints:c.getUniformLocation(program,\"uBlobPoints\"),uBlobWobble:c.getUniformLocation(program,\"uBlobWobble\"),uBlobSeed:c.getUniformLocation(program,\"uBlobSeed\"),uRGB:c.getUniformLocation(program,\"uRGB\"),uBend:c.getUniformLocation(program,\"uBend\"),uBlur:c.getUniformLocation(program,\"uBlur\"),uRevealBlur:c.getUniformLocation(program,\"uRevealBlur\"),uReveal:c.getUniformLocation(program,\"uReveal\"),uStrength:c.getUniformLocation(program,\"uStrength\"),uColorA:c.getUniformLocation(program,\"uColorA\"),uColorB:c.getUniformLocation(program,\"uColorB\"),uBlast:c.getUniformLocation(program,\"uBlast\"),uPiece:c.getUniformLocation(program,\"uPiece\")};const context={ctx:c,tex,loc};gl.current=context;drawTexture();const dprOf=()=>Math.min(2,window.devicePixelRatio||1);const draw=(s,mx,my)=>{const dpr=dprOf();const p=uni.current;const sc=scaleRef.current;c.clear(c.COLOR_BUFFER_BIT);c.uniform1i(loc.uTex,0);c.uniform2f(loc.uRes,canvas.width/dpr,canvas.height/dpr);c.uniform2f(loc.uMouse,mx,my);c.uniform1f(loc.uRadius,p.distortionRadius*sc);c.uniform1f(loc.uShape,p.shape===\"global\"?0:p.shape===\"blob\"?2:1);c.uniform1f(loc.uBlobPoints,p.blobPoints);c.uniform1f(loc.uBlobWobble,p.blobWobble);c.uniform1f(loc.uBlobSeed,p.blobSeed);c.uniform1f(loc.uRGB,p.rgbStrength*sc);c.uniform1f(loc.uBend,p.distortionStrength*sc);c.uniform1f(loc.uBlur,p.blur*sc);c.uniform1f(loc.uRevealBlur,revealBlur.current);c.uniform1f(loc.uReveal,revealProgress.current);c.uniform1f(loc.uStrength,s);c.uniform3f(loc.uColorA,p.colA[0],p.colA[1],p.colA[2]);c.uniform3f(loc.uColorB,p.colB[0],p.colB[1],p.colB[2]);c.uniform1f(loc.uBlast,p.blast?p.blastAmount*sc:0);c.uniform1f(loc.uPiece,Math.max(1,p.pieceSize*sc));c.drawArrays(c.TRIANGLES,0,6);};context.draw=draw;const willSweep=!reduced&&!isStatic&&intro.current.preset===\"sweep\";if(willSweep)revealProgress.current=0;draw(0,-9999,-9999);if(isStatic){// On the canvas: always show the finished, fully-visible text.\nrevealProgress.current=1;revealBlur.current=0;if(wrapRef.current){wrapRef.current.style.opacity=\"1\";wrapRef.current.style.transform=\"none\";}draw(0,-9999,-9999);return()=>{cancelAnimationFrame(rafId.current);gl.current=null;};}// Kick off the reveal preset (unless reduced motion).\nif(!reduced&&intro.current.preset!==\"none\"){introRunning.current=true;introStart.current=performance.now();if(intro.current.preset===\"blur\")revealBlur.current=26*scaleRef.current;startLoop();}else if(wrapRef.current){wrapRef.current.style.opacity=\"1\";wrapRef.current.style.transform=\"none\";}return()=>{cancelAnimationFrame(rafId.current);running.current=false;gl.current=null;};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[isStatic]);// Recompute the fitted size and the effect scale when the container\n// resizes — both depend on the available width, so this runs even when\n// fit-to-width is off.\nuseEffect(()=>{if(typeof window===\"undefined\")return;const el=wrapRef.current;if(!el||typeof ResizeObserver===\"undefined\")return;let raf=0;const ro=new ResizeObserver(()=>{cancelAnimationFrame(raf);raf=requestAnimationFrame(()=>{drawTexture();gl.current?.draw?.(strength.current,mouse.current.x,mouse.current.y);});});ro.observe(el);return()=>{cancelAnimationFrame(raf);ro.disconnect();};},[drawTexture]);useEffect(()=>{drawTexture();gl.current?.draw?.(strength.current,mouse.current.x,mouse.current.y);if(typeof document!==\"undefined\"&&document.fonts?.ready){document.fonts.ready.then(()=>{drawTexture();gl.current?.draw?.(strength.current,mouse.current.x,mouse.current.y);});}},[drawTexture]);const finishIntro=useCallback(()=>{introRunning.current=false;revealBlur.current=0;revealProgress.current=1;if(wrapRef.current){wrapRef.current.style.opacity=\"1\";wrapRef.current.style.transform=\"none\";}},[]);const stepIntro=useCallback(now=>{const{preset,duration}=intro.current;const dur=Math.max(.2,duration)*1e3;const e=Math.min(1,(now-introStart.current)/dur);const ease=easeOutCubic(e);const wrap=wrapRef.current;const{w,h}={w:canvasRef.current.width,h:canvasRef.current.height};const dpr=Math.min(2,window.devicePixelRatio||1);if(preset===\"fade\"&&wrap){wrap.style.opacity=String(ease);}else if(preset===\"rise\"&&wrap){wrap.style.opacity=String(ease);wrap.style.transform=`translateY(${(1-ease)*26}px)`;}else if(preset===\"blur\"){if(wrap)wrap.style.opacity=String(Math.min(1,ease*1.6));revealBlur.current=(1-ease)*26*scaleRef.current;}else if(preset===\"sweep\"){mouse.current.x=ease*(w/dpr);mouse.current.y=h/dpr/2;revealProgress.current=ease;const env=e<.2?e/.2:e>.85?(1-e)/.15:1;strength.current=Math.max(0,Math.min(1,env));}if(e>=1)finishIntro();},[finishIntro]);const loop=useCallback(t=>{const context=gl.current;if(!context?.draw){running.current=false;return;}const dt=last.current?Math.min(.05,(t-last.current)/1e3):.016;last.current=t;const p=uni.current;const k=1-Math.pow(1-Math.max(.02,Math.min(1,p.animationSpeed)),dt*60);const sweeping=introRunning.current&&intro.current.preset===\"sweep\";if(introRunning.current)stepIntro(t);if(!sweeping){mouse.current.x+=(mouseTarget.current.x-mouse.current.x)*k;mouse.current.y+=(mouseTarget.current.y-mouse.current.y)*k;const target=hovering.current?1:0;strength.current+=(target-strength.current)*k;}context.draw(strength.current,mouse.current.x,mouse.current.y);const idle=!introRunning.current&&!hovering.current&&strength.current<.002&&revealBlur.current<.002;if(idle){strength.current=0;context.draw(0,-9999,-9999);running.current=false;return;}rafId.current=requestAnimationFrame(loop);},[stepIntro]);const startLoop=useCallback(()=>{if(running.current)return;running.current=true;last.current=0;rafId.current=requestAnimationFrame(loop);},[loop]);const grabCursor=useCallback(()=>{if(introRunning.current)finishIntro();},[finishIntro]);const onEnter=useCallback(()=>{if(disabled.current)return;grabCursor();hovering.current=true;startLoop();},[grabCursor,startLoop]);const onMove=useCallback(event=>{if(disabled.current)return;grabCursor();const rect=canvasRef.current?.getBoundingClientRect();if(!rect)return;mouseTarget.current={x:event.clientX-rect.left,y:rect.height-(event.clientY-rect.top)};hovering.current=true;startLoop();},[grabCursor,startLoop]);const onLeave=useCallback(()=>{hovering.current=false;startLoop();},[startLoop]);return /*#__PURE__*/_jsx(\"div\",{ref:wrapRef,role:\"heading\",\"aria-level\":1,\"aria-label\":text,onMouseEnter:onEnter,onMouseMove:onMove,onMouseLeave:onLeave,style:{position:\"relative\",display:fitWidth?\"block\":\"inline-block\",width:fitWidth?\"100%\":size.w||\"max-content\",height:size.h||undefined,maxWidth:\"100%\",opacity:startHidden?0:1,willChange:\"opacity, transform\",...style},children:/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,\"aria-hidden\":\"true\",style:{display:\"block\",width:fitWidth?\"100%\":size.w?`${size.w}px`:\"100%\",height:size.h?`${size.h}px`:\"100%\"}})});}addPropertyControls(ChromaticHero,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Refraction\",placeholder:\"Hero heading…\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",displayFontSize:true,defaultValue:{fontSize:120,variant:\"Bold\",letterSpacing:\"-0.02em\",lineHeight:\"1em\"}},textCase:{type:ControlType.Enum,title:\"Case\",options:[\"none\",\"uppercase\",\"lowercase\",\"capitalize\"],optionTitles:[\"None\",\"AG\",\"ag\",\"Ag\"],defaultValue:\"none\",displaySegmentedControl:true},fitWidth:{type:ControlType.Boolean,title:\"Fit Width\",enabledTitle:\"Fit\",disabledTitle:\"Fixed\",defaultValue:false},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#111111\"},rgbStrength:{type:ControlType.Number,title:\"RGB Strength\",defaultValue:6,min:0,max:16,step:.5,unit:\"px\"},fringeA:{type:ControlType.Color,title:\"RGB Color 1\",defaultValue:\"#FF0000\"},fringeB:{type:ControlType.Color,title:\"RGB Color 2\",defaultValue:\"#00FFFF\"},distortionStrength:{type:ControlType.Number,title:\"Distortion\",defaultValue:10,min:0,max:60,step:1,unit:\"px\"},shape:{type:ControlType.Enum,title:\"Shape\",options:[\"global\",\"lens\",\"blob\"],optionTitles:[\"Global\",\"Lens\",\"Blob\"],defaultValue:\"lens\",displaySegmentedControl:true},distortionRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:180,min:40,max:500,step:5,unit:\"px\",hidden:({shape})=>shape===\"global\"},blobPoints:{type:ControlType.Number,title:\"Blob Points\",defaultValue:6,min:3,max:10,step:1,hidden:({shape})=>shape!==\"blob\"},blobWobble:{type:ControlType.Number,title:\"Blob Wobble\",defaultValue:.4,min:0,max:1,step:.05,hidden:({shape})=>shape!==\"blob\"},blobSeed:{type:ControlType.Number,title:\"Blob Shape\",defaultValue:0,min:0,max:6.3,step:.1,hidden:({shape})=>shape!==\"blob\"},blur:{type:ControlType.Number,title:\"Hover Blur\",defaultValue:4,min:0,max:30,step:.5,unit:\"px\"},blast:{type:ControlType.Boolean,title:\"Blast\",enabledTitle:\"On\",disabledTitle:\"Off\",defaultValue:false},blastAmount:{type:ControlType.Number,title:\"Blast Force\",defaultValue:90,min:0,max:300,step:5,unit:\"px\",hidden:({blast})=>!blast},pieceSize:{type:ControlType.Number,title:\"Piece Size\",defaultValue:12,min:1,max:80,step:.5,unit:\"px\",hidden:({blast})=>!blast},animationSpeed:{type:ControlType.Number,title:\"Ease\",defaultValue:.1,min:.02,max:.4,step:.01},scaleEffects:{type:ControlType.Boolean,title:\"Responsive\",enabledTitle:\"Scale\",disabledTitle:\"Fixed\",defaultValue:true,description:\"Scale the effect distances with the container so the look stays proportional on smaller screens.\"},referenceWidth:{type:ControlType.Number,title:\"Full Size At\",defaultValue:1200,min:320,max:2560,step:10,unit:\"px\",hidden:({scaleEffects})=>!scaleEffects},introPreset:{type:ControlType.Enum,title:\"Reveal\",options:[\"none\",\"fade\",\"rise\",\"blur\",\"sweep\"],optionTitles:[\"None\",\"Fade\",\"Rise\",\"Blur In\",\"Chroma Sweep\"],defaultValue:\"fade\"},introDuration:{type:ControlType.Number,title:\"Reveal Time\",defaultValue:1.2,min:.2,max:5,step:.1,unit:\"s\",hidden:({introPreset})=>introPreset===\"none\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ChromaticHero\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"160\",\"framerIntrinsicWidth\":\"520\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LiquidText.map","// Generated by Framer (9805f18)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"MAsJj1Ki9\",\"ZTUvY15qg\"];const serializationHash=\"framer-9q408\";const variantClassNames={MAsJj1Ki9:\"framer-v-wjxkjt\",ZTUvY15qg:\"framer-v-y4bll1\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Desktop:\"MAsJj1Ki9\",Tablet:\"ZTUvY15qg\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"MAsJj1Ki9\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"MAsJj1Ki9\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-wjxkjt\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"MAsJj1Ki9\",ref:refBinding,style:{...style},...addPropertyOverrides({ZTUvY15qg:{\"data-framer-name\":\"Tablet\"}},baseVariant,gestureVariant)})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-9q408.framer-1nehnzv, .framer-9q408 .framer-1nehnzv { display: block; }\",\".framer-9q408.framer-wjxkjt { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 10px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 48px; }\",\".framer-9q408.framer-v-y4bll1.framer-wjxkjt { width: 20px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 10\n * @framerIntrinsicWidth 48\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"ZTUvY15qg\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerh4a7dWxv8=withCSS(Component,css,\"framer-9q408\");export default Framerh4a7dWxv8;Framerh4a7dWxv8.displayName=\"Page wrapper padding\";Framerh4a7dWxv8.defaultProps={height:10,width:48};addPropertyControls(Framerh4a7dWxv8,{variant:{options:[\"MAsJj1Ki9\",\"ZTUvY15qg\"],optionTitles:[\"Desktop\",\"Tablet\"],title:\"Variant\",type:ControlType.Enum}});addFonts(Framerh4a7dWxv8,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerh4a7dWxv8\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"48\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"10\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"ZTUvY15qg\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./h4a7dWxv8.map"],"mappings":"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"}