{"version":3,"file":"CRT.KRFzP_VF.mjs","names":["useRef","useState","useMemo"],"sources":["https:/framerusercontent.com/modules/FU4R2H0KQcUuA5REMVXz/iKjx32EQV8oLX1i1yc2S/CRT.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useRef,useEffect,useLayoutEffect,useMemo,useState}from\"react\";// --- High-Quality Static Noise Generator ---\nconst getStaticNoiseTexture=(()=>{let _cachedTexture=null;return()=>{if(_cachedTexture)return _cachedTexture;if(typeof document===\"undefined\")return\"\";const size=128;const canvas=document.createElement(\"canvas\");canvas.width=size;canvas.height=size;const ctx=canvas.getContext(\"2d\");if(!ctx)return\"\";const imgData=ctx.createImageData(size,size);const d=imgData.data;for(let i=0;i<d.length;i+=4){const v=Math.random()*255;d[i]=v;d[i+1]=v;d[i+2]=v;d[i+3]=v*.15// Base opacity\n;}ctx.putImageData(imgData,0,0);_cachedTexture=canvas.toDataURL(\"image/png\");return _cachedTexture;};})();// --- Radial Displacement Map (Inner Warp) ---\nfunction buildDisplacementMap(size=256){if(typeof document===\"undefined\")return\"\";const canvas=document.createElement(\"canvas\");canvas.width=size;canvas.height=size;const ctx=canvas.getContext(\"2d\");const imgData=ctx.createImageData(size,size);const d=imgData.data;const half=size/2;for(let y=0;y<size;y++){for(let x=0;x<size;x++){const nx=(x-half)/half;const ny=(y-half)/half;const r=Math.sqrt(nx*nx+ny*ny);const warp=Math.min(r,1)**2;const dx=r>.001?nx/r:0;const dy=r>.001?ny/r:0;const idx=(y*size+x)*4;d[idx+0]=Math.round(128+dx*warp*127);d[idx+1]=Math.round(128+dy*warp*127);d[idx+2]=0;d[idx+3]=255;}}ctx.putImageData(imgData,0,0);return canvas.toDataURL(\"image/png\");}let _cachedMap=null;function getDisplacementMap(){if(!_cachedMap)_cachedMap=buildDisplacementMap(256);return _cachedMap;}export default function CRT({imageUrl,sensitivity=.4,smoothing=.07,fov=60,concavity=.6,borderThickness=40,frameColor=\"#000000\",scanlineIntensity=.08,noiseIntensity=.15,flickerIntensity=.03,vignetteEnabled=true,vignetteIntensity=.8,vignetteColor=\"#000000\",width=\"100%\",height=\"100%\",style}){const containerRef=useRef(null);const innerRef=useRef(null);const feDispRef=useRef(null);// THE FIX: Added 'ready' boolean to hide the component until it's measured\nconst[dims,setDims]=useState({w:0,h:0,ready:false});const mouse=useRef({x:.5,y:.5});const current=useRef({x:.5,y:.5});const rafRef=useRef(0);const filterId=useRef(`pano-${Math.random().toString(36).slice(2,8)}`).current;const imageScale=.5+fov/120*2;const dispMapUrl=useMemo(()=>getDisplacementMap(),[]);const noiseTexture=useMemo(()=>getStaticNoiseTexture(),[]);// 1. Resize Observer & Synchronous Initial Measurement\nuseLayoutEffect(()=>{if(!containerRef.current)return;// Eagerly grab the actual size BEFORE revealing the component\nconst initialRect=containerRef.current.getBoundingClientRect();setDims({w:initialRect.width,h:initialRect.height,ready:true});// Keep observing for window resizes\nconst observer=new ResizeObserver(entries=>{setDims({w:entries[0].contentRect.width,h:entries[0].contentRect.height,ready:true});});observer.observe(containerRef.current);return()=>observer.disconnect();},[]);// 2. Sync inner warp\nuseEffect(()=>{if(!feDispRef.current)return;feDispRef.current.setAttribute(\"scale\",String(concavity*150));},[concavity]);// 3. Mouse tracking + RAF\nuseEffect(()=>{const onMouseMove=e=>{mouse.current={x:e.clientX/window.innerWidth,y:e.clientY/window.innerHeight};};window.addEventListener(\"mousemove\",onMouseMove);const tick=()=>{const s=Math.min(Math.max(smoothing,.01),.5);current.current.x+=(mouse.current.x-current.current.x)*s;current.current.y+=(mouse.current.y-current.current.y)*s;const offsetX=(current.current.x-.5)*sensitivity*100;const offsetY=(current.current.y-.5)*sensitivity*100;if(innerRef.current){innerRef.current.style.transform=`scale(${imageScale}) translate(${-offsetX}%, ${-offsetY}%)`;}rafRef.current=requestAnimationFrame(tick);};rafRef.current=requestAnimationFrame(tick);return()=>{cancelAnimationFrame(rafRef.current);window.removeEventListener(\"mousemove\",onMouseMove);};},[sensitivity,smoothing,imageScale]);// --- MATHEMATICALLY PERFECT BEZIER FRAME ---\nconst b=borderThickness;const bend=Math.max(0,concavity*80)// Corner push-in amount\n;const c=b+bend// Thickness at the corners\n;const{w,h}=dims;// This path draws the outer rectangle, then punches a smooth, symmetric, curved hole in the center.\nconst bezelPath=`\n        M 0 0 L ${w} 0 L ${w} ${h} L 0 ${h} Z\n        M ${c} ${c}\n        Q ${w/2} ${b} ${w-c} ${c}\n        Q ${w-b} ${h/2} ${w-c} ${h-c}\n        Q ${w/2} ${h-b} ${c} ${h-c}\n        Q ${b} ${h/2} ${c} ${c}\n        Z\n    `;// Vignette\nconst hex=vignetteColor||\"#000000\";const toHex2=v=>Math.round(Math.max(0,Math.min(1,v))*255).toString(16).padStart(2,\"0\");const vigGradient=`radial-gradient(ellipse at 50% 50%, transparent 30%, ${hex}${toHex2(vignetteIntensity*.4)} 75%, ${hex}${toHex2(vignetteIntensity)} 100%)`;// Premium Noise Animations\nconst crtNoiseKeyframes=`\n        @keyframes crtFlicker {\n            0% { opacity: 1; } 5% { opacity: 0.95; } 10% { opacity: 1; }\n            15% { opacity: 0.98; } 50% { opacity: 1; } 55% { opacity: 0.96; }\n            100% { opacity: 1; }\n        }\n    `;return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",width,height,overflow:\"hidden\",background:\"transparent\",pointerEvents:\"none\",opacity:dims.ready?1:0,transition:\"opacity 0.1s ease-out\",...style},children:[/*#__PURE__*/_jsx(\"style\",{children:crtNoiseKeyframes}),/*#__PURE__*/_jsx(\"svg\",{style:{position:\"absolute\",width:0,height:0,pointerEvents:\"none\"},\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"filter\",{id:filterId,colorInterpolationFilters:\"sRGB\",children:[/*#__PURE__*/_jsx(\"feImage\",{href:dispMapUrl,result:\"dispMap\",preserveAspectRatio:\"xMidYMid slice\"}),/*#__PURE__*/_jsx(\"feDisplacementMap\",{ref:feDispRef,in:\"SourceGraphic\",in2:\"dispMap\",scale:concavity*150,xChannelSelector:\"R\",yChannelSelector:\"G\"})]})})}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:borderThickness/2,perspective:\"900px\",overflow:\"hidden\",filter:concavity!==0?`url(#${filterId})`:undefined},children:[/*#__PURE__*/_jsx(\"div\",{ref:innerRef,style:{position:\"absolute\",inset:\"-25%\",transformOrigin:\"50% 50%\",willChange:\"transform\",opacity:imageUrl?1:0,...imageUrl&&{backgroundImage:`url(\"${imageUrl}\")`,backgroundSize:\"cover\",backgroundPosition:\"center\"}}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:\"-10%\",pointerEvents:\"none\",animation:flickerIntensity>0?`crtFlicker ${1/flickerIntensity}s infinite step-end`:\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,opacity:noiseIntensity,backgroundImage:`url(${noiseTexture})`,backgroundSize:\"128px\",mixBlendMode:\"overlay\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,opacity:scanlineIntensity,background:`repeating-linear-gradient(to bottom, transparent 0px, transparent 2px, rgba(0,0,0,0.8) 2px, rgba(0,0,0,0.8) 4px)`}})]})]}),/*#__PURE__*/_jsx(\"svg\",{style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",zIndex:20,pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"path\",{d:bezelPath,fill:frameColor,fillRule:\"evenodd\"})}),vignetteEnabled&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:borderThickness/2,background:vigGradient,pointerEvents:\"none\",zIndex:10,filter:concavity!==0?`url(#${filterId})`:undefined}})]});}addPropertyControls(CRT,{imageUrl:{type:ControlType.Image,title:\"Pano Background\",description:\"Leave empty for clear glass over your journal.\"},borderThickness:{type:ControlType.Number,title:\"Frame Width\",min:0,max:200,step:1,defaultValue:40},frameColor:{type:ControlType.Color,title:\"Frame Color\",defaultValue:\"#050505\"},concavity:{type:ControlType.Number,title:\"Symmetric Bend\",description:\"Controls the perfect Bezier curve of the frame\",min:0,max:1.5,step:.1,defaultValue:.6},// Interaction\nsensitivity:{type:ControlType.Number,title:\"Mouse Sensitivity\",min:0,max:1,step:.01,defaultValue:.4},smoothing:{type:ControlType.Number,title:\"Movement Smoothing\",min:.01,max:.3,step:.01,defaultValue:.07},fov:{type:ControlType.Number,title:\"Field of View\",min:0,max:120,step:1,defaultValue:60},// Premium Noise\nscanlineIntensity:{type:ControlType.Number,title:\"Scanlines\",min:0,max:.3,step:.01,defaultValue:.08},noiseIntensity:{type:ControlType.Number,title:\"Static Grain\",min:0,max:.5,step:.01,defaultValue:.15},flickerIntensity:{type:ControlType.Number,title:\"Flicker\",min:0,max:.2,step:.01,defaultValue:.03},// Vignette\nvignetteEnabled:{type:ControlType.Boolean,title:\"Vignette\",defaultValue:true},vignetteIntensity:{type:ControlType.Number,title:\"Vignette Intensity\",min:0,max:1,step:.01,defaultValue:.8,hidden(props){return!props.vignetteEnabled;}},vignetteColor:{type:ControlType.Color,title:\"Vignette Color\",defaultValue:\"#000000\",hidden(props){return!props.vignetteEnabled;}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CRT\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CRT.map"],"mappings":"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"}