{"version":3,"file":"Pattern_configure.BreASQxe.mjs","names":["useMemo"],"sources":["https:/framerusercontent.com/modules/Tp1ZTeJQWZQi8gXPAawR/6NBe7CuAbP739OXoAIFU/Pattern_configure.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useMemo}from\"react\";/**\n * DiamondGlow - Performance-optimized edition.\n *\n * The original used <feGaussianBlur> to produce the halo around the moving\n * light. On mobile, SVG Gaussian blur is CPU-rasterized every frame over an\n * enormous filter region (these paths extend from y=-2003 to y=2275). That\n * single filter dominates the frame budget.\n *\n * This version replaces it with stacked-stroke glow: three copies of the path\n * at progressively wider widths and lower opacities. The visual is nearly\n * identical to a Gaussian blur but each layer is a simple GPU-composited\n * stroke paint, not a CPU filter graph. ~5–6x faster on mobile.\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 1440\n * @framerIntrinsicHeight 693\n */export default function DiamondGlow(props){const{lightColor,glowColor,baseStrokeColor,lightLength,duration,glowIntensity,strokeWidth,fillOpacity,style,...rest}=props;const id=useMemo(()=>`dg-${Math.random().toString(36).slice(2,7)}`,[]);// Map glowIntensity (0..20, default 4) onto our stacked-stroke params.\n// At default (4) → scale=1, producing a glow visually equivalent to the\n// original feGaussianBlur stdDeviation=4. At 0 → no glow. At 20 → very\n// bright. Clamped so even maxed-out values don't push opacity past\n// sensible bounds.\nconst glowScale=Math.max(0,Math.min(2.5,(glowIntensity??4)/4));// Three layers: outer/mid/inner. Wider = fainter (the tail of what would\n// be a Gaussian profile). Drawn outer-first so each successive layer\n// composites brighter on top of the previous.\nconst glowLayers=[{mul:6,op:Math.min(.3,.09*glowScale)},{mul:4,op:Math.min(.55,.18*glowScale)},{mul:2.4,op:Math.min(.8,.42*glowScale)}];const paths=[\"M2102 -2003V-1047.79L919.786 134.418H-35.418V-820.789L1146.79 -2003H2102Z\",\"M1878.42 134.387V1092.42L1878.12 1092.71L695.325 2275.51L695.032 2275.81H-263V1317.77L-262.707 1317.48L920.093 134.68L920.386 134.387H1878.42Z\"];// Scoped CSS — class names include the generated id so multiple instances\n// on the same page don't collide. will-change hints opacity (cheap GPU\n// promotion) and stroke-dashoffset (signals to the browser this property\n// changes every frame so it can plan accordingly). prefers-reduced-motion\n// freezes the animation at a static \"light at midpoint\" pose.\nconst css=`\n        @keyframes ${id}-travel {\n            0%   { stroke-dashoffset: 100%; opacity: 0; }\n            5%   { opacity: 1; }\n            95%  { opacity: 1; }\n            100% { stroke-dashoffset: 0%; opacity: 0; }\n        }\n\n        .${id}-path {\n            stroke-dasharray: ${lightLength}px 1500px;\n            animation: ${id}-travel ${duration}s linear infinite;\n            will-change: stroke-dashoffset, opacity;\n        }\n\n        .${id}-mirror {\n            animation-direction: reverse;\n        }\n\n        @media (prefers-reduced-motion: reduce) {\n            .${id}-path {\n                animation: none;\n                stroke-dashoffset: 50%;\n                opacity: 0.6;\n                will-change: auto;\n            }\n        }\n    `;return /*#__PURE__*/_jsxs(\"div\",{style:{...containerStyle,...style},...rest,children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:\"0 0 1440 693\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{overflow:\"visible\"},\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"linearGradient\",{id:`${id}-f1`,x1:\"0%\",y1:\"0%\",x2:\"100%\",y2:\"0%\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0%\",stopColor:glowColor,stopOpacity:\"0\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"100%\",stopColor:glowColor,stopOpacity:fillOpacity})]})}),paths.map((d,index)=>{const mirror=index===1?` ${id}-mirror`:\"\";return /*#__PURE__*/_jsxs(\"g\",{children:[/*#__PURE__*/_jsx(\"path\",{d:d,stroke:baseStrokeColor,strokeWidth:strokeWidth*.5,fill:index===0?`url(#${id}-f1)`:\"none\",fillOpacity:fillOpacity}),glowLayers.map((layer,li)=>/*#__PURE__*/_jsx(\"path\",{d:d,className:`${id}-path${mirror}`,stroke:glowColor,strokeWidth:strokeWidth*layer.mul,strokeOpacity:layer.op,strokeLinecap:\"round\",fill:\"none\"},`g${li}`)),/*#__PURE__*/_jsx(\"path\",{d:d,className:`${id}-path${mirror}`,stroke:lightColor,strokeWidth:strokeWidth,strokeLinecap:\"round\",fill:\"none\"})]},index);})]})]});}const containerStyle={width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:\"transparent\"};DiamondGlow.defaultProps={lightColor:\"#FFFFFF\",glowColor:\"#00A3FF\",baseStrokeColor:\"rgba(0,163,255,0.05)\",lightLength:300,duration:4,glowIntensity:4,strokeWidth:1.5,fillOpacity:.2};addPropertyControls(DiamondGlow,{lightColor:{type:ControlType.Color,title:\"Light Core\"},glowColor:{type:ControlType.Color,title:\"Glow Color\"},baseStrokeColor:{type:ControlType.Color,title:\"Base Stroke\"},lightLength:{type:ControlType.Number,min:50,max:1e3,title:\"Length\"},duration:{type:ControlType.Number,min:.5,max:10,step:.1,title:\"Duration\"},glowIntensity:{type:ControlType.Number,min:0,max:20,title:\"Glow\",description:\"Glow intensity. Default 4 ≈ what feGaussianBlur stdDeviation=4 produced in the original. Implemented as stacked stroke layers for mobile performance.\"},strokeWidth:{type:ControlType.Number,min:.5,max:5,step:.5,title:\"Thickness\"},fillOpacity:{type:ControlType.Number,min:0,max:1,step:.05,title:\"Fill Opacity\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DiamondGlow\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1440\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"693\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Pattern_configure.map"],"mappings":"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"}