{"version":3,"file":"shared-lib.Bp984MP8.mjs","names":["useMemo","_Fragment"],"sources":["https:/framerusercontent.com/modules/ufrvaeZh3MBRxYNSA6oz/IBSYcxklZkNmy15Xi6AX/GridBackground.js"],"sourcesContent":["// Dotted grid background with customizable options including grid type, size, opacity, rotation, masks, and blur effects\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useMemo}from\"react\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function GridBackground(props){const{backgroundColor=\"#FFFFFF\",gridColor=\"#000000\",gridType=\"dots\",customSvg=\"\",gridSize=20,gridOpacity=.3,gridRotation=0,itemWidth=2,blurAmount=0,topBottomMask=false,maskHeight=100,maskColor=\"#FFFFFF\",leftRightMask=false,maskWidth=100,leftRightMaskColor=\"#FFFFFF\",style}=props;const isStatic=useIsStaticRenderer();const backgroundPattern=useMemo(()=>{const halfSize=gridSize/2;const halfWidth=itemWidth/2;switch(gridType){case\"dots\":return{backgroundImage:`radial-gradient(circle, ${gridColor} ${halfWidth}px, transparent ${halfWidth}px)`,backgroundSize:`${gridSize}px ${gridSize}px`};case\"lines\":return{backgroundImage:`\n                        linear-gradient(${gridColor} ${itemWidth}px, transparent ${itemWidth}px),\n                        linear-gradient(90deg, ${gridColor} ${itemWidth}px, transparent ${itemWidth}px)\n                    `,backgroundSize:`${gridSize}px ${gridSize}px`};default:// For complex shapes, use SVG with proper encoding\nconst svg=createSvgPattern(gridType,gridSize,gridColor,itemWidth,customSvg,isStatic);return{backgroundImage:`url(\"${svg}\")`,backgroundSize:`${gridSize}px ${gridSize}px`};}},[gridType,gridSize,gridColor,itemWidth,customSvg,isStatic]);return /*#__PURE__*/_jsxs(\"div\",{style:{...style,position:\"relative\",width:\"100%\",height:\"100%\",backgroundColor,overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",...backgroundPattern,opacity:gridOpacity,transform:`rotate(${gridRotation}deg)`,transformOrigin:\"center\",filter:blurAmount>0?`blur(${blurAmount}px)`:\"none\"}}),topBottomMask&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:`${maskHeight}px`,background:`linear-gradient(to bottom, ${maskColor}, transparent)`,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:0,left:0,width:\"100%\",height:`${maskHeight}px`,background:`linear-gradient(to top, ${maskColor}, transparent)`,pointerEvents:\"none\"}})]}),leftRightMask&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:`${maskWidth}px`,height:\"100%\",background:`linear-gradient(to right, ${leftRightMaskColor}, transparent)`,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,right:0,width:`${maskWidth}px`,height:\"100%\",background:`linear-gradient(to left, ${leftRightMaskColor}, transparent)`,pointerEvents:\"none\"}})]})]});}function createSvgPattern(gridType,gridSize,gridColor,itemWidth,customSvg,isStatic){const halfSize=gridSize/2;const halfWidth=itemWidth/2;let svgContent=\"\";switch(gridType){case\"crosses\":const crossSize=gridSize*.3;const crossWidth=itemWidth;// Use rectangles instead of lines for better rendering\nsvgContent=`\n                <rect x='${halfSize-crossSize/2}' y='${halfSize-crossWidth/2}' width='${crossSize}' height='${crossWidth}' fill='${gridColor}' />\n                <rect x='${halfSize-crossWidth/2}' y='${halfSize-crossSize/2}' width='${crossWidth}' height='${crossSize}' fill='${gridColor}' />\n            `;break;case\"triangles\":const triSize=gridSize*.4;svgContent=`\n                <polygon points='${halfSize},${halfSize-triSize/2} ${halfSize+triSize/2},${halfSize+triSize/2} ${halfSize-triSize/2},${halfSize+triSize/2}' fill='${gridColor}' />\n            `;break;case\"diamonds\":const diamondSize=gridSize*.3;svgContent=`\n                <polygon points='${halfSize},${halfSize-diamondSize} ${halfSize+diamondSize},${halfSize} ${halfSize},${halfSize+diamondSize} ${halfSize-diamondSize},${halfSize}' fill='${gridColor}' />\n            `;break;case\"hexagons\":const hexRadius=gridSize*.25;const points=Array.from({length:6},(_,i)=>{const angle=Math.PI/3*i;const x=halfSize+hexRadius*Math.cos(angle);const y=halfSize+hexRadius*Math.sin(angle);return`${x},${y}`;}).join(\" \");svgContent=`<polygon points='${points}' fill='${gridColor}' />`;break;case\"custom\":svgContent=customSvg||`<circle cx='${halfSize}' cy='${halfSize}' r='${halfWidth}' fill='${gridColor}' />`;break;default:svgContent=`<circle cx='${halfSize}' cy='${halfSize}' r='${halfWidth}' fill='${gridColor}' />`;}const svg=`<svg width='${gridSize}' height='${gridSize}' xmlns='http://www.w3.org/2000/svg'>${svgContent}</svg>`;return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(svg)}`;}addPropertyControls(GridBackground,{backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},gridColor:{type:ControlType.Color,title:\"Grid Color\",defaultValue:\"#000000\"},gridType:{type:ControlType.Enum,title:\"Grid Type\",options:[\"dots\",\"lines\",\"crosses\",\"triangles\",\"diamonds\",\"hexagons\",\"custom\"],optionTitles:[\"Dots\",\"Lines\",\"Crosses\",\"Triangles\",\"Diamonds\",\"Hexagons\",\"Custom SVG\"],defaultValue:\"dots\"},customSvg:{type:ControlType.String,title:\"Custom SVG\",displayTextArea:true,defaultValue:\"\",hidden:({gridType})=>gridType!==\"custom\"},gridSize:{type:ControlType.Number,title:\"Grid Size\",defaultValue:20,min:5,max:200,step:1,unit:\"px\"},gridOpacity:{type:ControlType.Number,title:\"Grid Opacity\",defaultValue:.3,min:0,max:1,step:.01},gridRotation:{type:ControlType.Number,title:\"Grid Rotation\",defaultValue:0,min:0,max:360,step:1,unit:\"deg\"},itemWidth:{type:ControlType.Number,title:\"Item Width\",defaultValue:2,min:1,max:20,step:.5,unit:\"px\"},blurAmount:{type:ControlType.Number,title:\"Blur Effect\",defaultValue:0,min:0,max:20,step:.5,unit:\"px\"},topBottomMask:{type:ControlType.Boolean,title:\"Top/Bottom Mask\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},maskHeight:{type:ControlType.Number,title:\"Mask Height\",defaultValue:100,min:0,max:500,step:10,unit:\"px\",hidden:({topBottomMask})=>!topBottomMask},maskColor:{type:ControlType.Color,title:\"Mask Color\",defaultValue:\"#FFFFFF\",hidden:({topBottomMask})=>!topBottomMask},leftRightMask:{type:ControlType.Boolean,title:\"Left/Right Mask\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},maskWidth:{type:ControlType.Number,title:\"Mask Width\",defaultValue:100,min:0,max:500,step:10,unit:\"px\",hidden:({leftRightMask})=>!leftRightMask},leftRightMaskColor:{type:ControlType.Color,title:\"L/R Mask Color\",defaultValue:\"#FFFFFF\",hidden:({leftRightMask})=>!leftRightMask}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GridBackground\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GridBackground.map"],"mappings":"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"}