{"version":3,"file":"PatternBackdrop.CVJa4FKl.mjs","names":[],"sources":["https:/framerusercontent.com/modules/z2blJxLPV73ABWfqrcri/hBuLkGMjEJhj0dEwQaXY/PatternBackdrop.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";// Dark theme. The canvas stores palette colours as plain rgb values, so a colour that equals one of\n// Ledgerly's colour styles is drawn through that style's token: the same value in light, the style's\n// dark value once the visitor picks dark (ThemeToggle). Any other colour is used exactly as set.\nconst LEDGERLY_TOKENS={\"247,247,247,1\":\"5fe6b3ee-d4ed-499c-8be9-252d2d5c3c2d\",\"255,255,255,1\":\"fe689812-9af2-4f3d-b49c-6893717d6f42\",\"36,38,41,1\":\"f1b03c24-a485-40d0-b842-496d7871c10b\",\"102,104,107,1\":\"7389d909-8bba-4f51-b82d-741c139aba21\",\"154,156,163,1\":\"b4f584ce-201e-4538-b7cc-8b8ccc9f0b57\",\"220,223,230,1\":\"434a40c8-69c8-427d-8c16-8307936a7584\",\"232,234,239,1\":\"1b34f662-e002-45bc-8ebc-da22a4bc6827\",\"167,191,195,1\":\"a808057d-a4d5-44e9-937c-8d8c25c935cd\",\"208,230,228,1\":\"e56e72ef-b631-45e1-8343-4f266207da6f\",\"81,112,255,1\":\"9d4ac43c-219b-4f47-9230-773a0d7b5871\"};function ledgerlyKey(c){const s=c.trim().toLowerCase();let m=/^#([0-9a-f]{3}|[0-9a-f]{6})$/.exec(s);if(m){const h=m[1].length===3?m[1].split(\"\").map(x=>x+x).join(\"\"):m[1];return[0,2,4].map(i=>parseInt(h.slice(i,i+2),16)).join(\",\")+\",1\";}m=/^rgba?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*(?:,\\s*([\\d.]+)\\s*)?\\)$/.exec(s);return m?`${+m[1]},${+m[2]},${+m[3]},${m[4]===undefined?1:+m[4]}`:null;}function ledgerlyThemed(c){if(typeof c!==\"string\"||c.indexOf(\"var(\")>=0)return c;const k=ledgerlyKey(c);const id=k?LEDGERLY_TOKENS[k]:undefined;return id?`var(--token-${id}, ${c})`:c;}const GRAIN=\"url(\\\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>\\\")\";function patternStyle(pattern,pitch,color,weight,angle){const p=Math.max(4,pitch);const w=Math.max(.5,weight);if(pattern===\"connections\"){return{backgroundImage:\"radial-gradient(circle at 1px 1px,\"+color+\" 2px,transparent 2.7px),linear-gradient(to right,\"+color+\" \"+w+\"px,transparent \"+w+\"px),linear-gradient(to bottom,\"+color+\" \"+w+\"px,transparent \"+w+\"px)\",backgroundSize:p*2+\"px \"+p*2+\"px,\"+p+\"px \"+p+\"px,\"+p+\"px \"+p+\"px\",backgroundPosition:\"0 0\"};}if(pattern===\"lines\"){return{backgroundImage:`linear-gradient(to right, ${color} ${w}px, transparent ${w}px), linear-gradient(to bottom, ${color} ${w}px, transparent ${w}px)`,backgroundSize:`${p}px ${p}px`,backgroundPosition:\"center center\"};}if(pattern===\"hatch\"){return{backgroundImage:`repeating-linear-gradient(${angle}deg, ${color} 0px, ${color} ${w}px, transparent ${w}px, transparent ${p}px)`};}const r=w;return{backgroundImage:`radial-gradient(circle at center, ${color} ${r}px, transparent ${r+.6}px)`,backgroundSize:`${p}px ${p}px`,backgroundPosition:\"center center\"};}function maskStyle(fade,strength){const s=Math.min(100,Math.max(0,strength));const solid=100-s;let mask=\"\";let composite={};switch(fade){case\"radial\":mask=`radial-gradient(ellipse 50% 50% at 50% 50%, #000 ${solid}%, transparent 100%)`;break;case\"top\":mask=`linear-gradient(to top, #000 ${solid}%, transparent 100%)`;break;case\"bottom\":mask=`linear-gradient(to bottom, #000 ${solid}%, transparent 100%)`;break;case\"left\":mask=`linear-gradient(to left, #000 ${solid}%, transparent 100%)`;break;case\"right\":mask=`linear-gradient(to right, #000 ${solid}%, transparent 100%)`;break;case\"edges\":{const e=s/2;mask=`linear-gradient(to right, transparent 0%, #000 ${e}%, #000 ${100-e}%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 ${e}%, #000 ${100-e}%, transparent 100%)`;composite={maskComposite:\"intersect\",WebkitMaskComposite:\"source-in\"};break;}default:return{};}return{maskImage:mask,WebkitMaskImage:mask,...composite};}export default function PatternBackdrop(props){const{pattern=\"dots\",pitch=24,color:colorIn=\"#DCDFE6\",weight=1,angle=45,fade=\"radial\",fadeStrength=60,grain=false,grainOpacity=.02,background:backgroundIn=\"rgba(0,0,0,0)\",style}=props;const color=ledgerlyThemed(colorIn);const background=ledgerlyThemed(backgroundIn);return /*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":\"true\",style:{...style,position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",pointerEvents:\"none\",background},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,...patternStyle(pattern,pitch,color,weight,angle),...maskStyle(fade,fadeStrength)}}),grain?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:GRAIN,backgroundSize:\"160px 160px\",opacity:grainOpacity,mixBlendMode:\"multiply\",...maskStyle(fade,fadeStrength)}}):null]});}PatternBackdrop.displayName=\"Pattern Backdrop\";addPropertyControls(PatternBackdrop,{pattern:{type:ControlType.Enum,title:\"Pattern\",options:[\"dots\",\"lines\",\"hatch\",\"connections\"],optionTitles:[\"Dot grid\",\"Line grid\",\"Diagonal hatch\",\"Connected grid\"],defaultValue:\"dots\"},pitch:{type:ControlType.Number,title:\"Pitch\",min:4,max:128,step:1,unit:\"px\",defaultValue:24},weight:{type:ControlType.Number,title:\"Weight\",min:.5,max:4,step:.5,unit:\"px\",defaultValue:1},angle:{type:ControlType.Number,title:\"Angle\",min:0,max:180,step:5,unit:\"\\xb0\",defaultValue:45,hidden:p=>p.pattern!==\"hatch\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#DCDFE6\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},fade:{type:ControlType.Enum,title:\"Fade\",options:[\"radial\",\"edges\",\"top\",\"bottom\",\"left\",\"right\",\"none\"],optionTitles:[\"Radial\",\"All edges\",\"Towards top\",\"Towards bottom\",\"Towards left\",\"Towards right\",\"None\"],defaultValue:\"radial\"},fadeStrength:{type:ControlType.Number,title:\"Fade Strength\",min:0,max:100,step:5,unit:\"%\",defaultValue:60,hidden:p=>p.fade===\"none\"},grain:{type:ControlType.Boolean,title:\"Grain\",defaultValue:false},grainOpacity:{type:ControlType.Number,title:\"Grain Opacity\",min:0,max:.1,step:.005,defaultValue:.02,hidden:p=>!p.grain}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PatternBackdrop\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PatternBackdrop.map"],"mappings":"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"}