{"version":3,"file":"GridCard.Cb1PD_MZ.mjs","names":["React","_Fragment"],"sources":["https:/framerusercontent.com/modules/vXGYK6aJPoeNjyTKi8zL/AuGCPKUUjgg3kEX9yWFp/GridCard.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import React from\"react\";import{addPropertyControls,ControlType,Link}from\"framer\";/**\n * GridCard\n * ────────────────────────────────────────────────────────────\n * A single slot (image OR code component) on top, title + body below.\n * Designed to be composed in a grid. Square corners; optional per-side borders.\n * Slot area uses a configurable aspect ratio (default 5:3).\n *\n * Text uses the same preset styles as SectionWithSlot, and the same\n * widow-prevention + `~` non-breaking-space markup.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 500\n * @framerIntrinsicHeight 520\n */// ── Tokens ───────────────────────────────────────────────────────────────\nconst T={fg:\"rgb(31, 31, 33)\",fgSecondary:\"rgb(80, 81, 82)\",fgMuted:\"rgb(147, 149, 153)\",bg:\"rgb(255, 255, 255)\",bgMuted:\"rgb(247, 247, 247)\",borderLight:\"rgb(232, 235, 237)\",borderMedium:\"rgb(210, 215, 217)\",borderDark:\"rgb(138, 141, 145)\"};const CLASH=\"'Clash Display', 'Inter', system-ui, sans-serif\";const SATOSHI=\"'Satoshi', 'Inter', system-ui, sans-serif\";const STYLES={H1:{tag:\"h1\",family:CLASH,weight:500,fontSize:\"clamp(36px, 3.6vw + 12px, 60px)\",lineHeight:\"1.1em\",letterSpacing:\"-0.5px\",marginBottom:16},H2:{tag:\"h2\",family:CLASH,weight:500,fontSize:\"clamp(30px, 2.4vw + 14px, 48px)\",lineHeight:\"1.15em\",letterSpacing:\"-0.3px\",color:\"rgb(0, 0, 0)\",marginBottom:16},H3:{tag:\"h3\",family:CLASH,weight:500,fontSize:\"clamp(24px, 1.6vw + 12px, 38px)\",lineHeight:\"1.2em\",letterSpacing:\"-0.3px\",marginBottom:14},H4:{tag:\"h4\",family:CLASH,weight:500,fontSize:\"clamp(20px, 1.2vw + 10px, 30px)\",lineHeight:\"1.2em\",letterSpacing:\"0px\",marginBottom:12},H5:{tag:\"h5\",family:CLASH,weight:500,fontSize:\"clamp(18px, 0.6vw + 12px, 24px)\",lineHeight:\"1.25em\",letterSpacing:\"0px\",marginBottom:12},\"Body Large\":{tag:\"p\",family:SATOSHI,weight:500,fontSize:\"16px\",lineHeight:\"1.6em\",letterSpacing:\"-0.4px\",marginBottom:12,bps:[{mw:1024,fs:\"17px\"},{mw:1440,fs:\"18px\"}]},\"Body Base\":{tag:\"p\",family:SATOSHI,weight:500,fontSize:\"14px\",lineHeight:\"1.6em\",letterSpacing:\"-0.4px\",marginBottom:10,bps:[{mw:1024,fs:\"15px\"},{mw:1440,fs:\"16px\"}]},\"Body Base - Gray\":{tag:\"p\",family:SATOSHI,weight:500,fontSize:\"14px\",lineHeight:\"1.6em\",letterSpacing:\"-0.4px\",color:\"rgb(80, 81, 82)\",marginBottom:10,bps:[{mw:1024,fs:\"15px\"},{mw:1440,fs:\"16px\"}]},\"Body Small\":{tag:\"p\",family:SATOSHI,weight:500,fontSize:\"12px\",lineHeight:\"1.5em\",letterSpacing:\"-0.2px\",marginBottom:8,bps:[{mw:1440,fs:\"14px\"}]},\"Body XS\":{tag:\"p\",family:SATOSHI,weight:500,fontSize:\"12px\",lineHeight:\"1.4em\",letterSpacing:\"-0.2px\",marginBottom:6},Eyebrow:{tag:\"p\",family:SATOSHI,weight:700,fontSize:\"clamp(11px, 0.1vw + 10px, 12px)\",lineHeight:\"1.2em\",letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:\"rgb(147, 149, 153)\",marginBottom:12}};const STYLE_NAMES=Object.keys(STYLES);// ── Text formatting (widow prevention + ~ nbsp) ──────────────────────────\nfunction formatText(raw,preventWidows){if(!raw)return raw;let out=raw.replace(/~/g,\"\\xa0\");if(preventWidows){const m=out.match(/^([\\s\\S]*)(\\s+)(\\S+)\\s*$/);if(m)out=m[1]+\"\\xa0\"+m[3];}return out;}function Styled({preset,scale,align,text,hasNext,colorOverride,preventWidows,className}){const Tag=preset.tag;const useBp=!!(preset.bps&&preset.bps.length);const bpClass=React.useMemo(()=>\"gcfs\"+Math.random().toString(36).slice(2,9),[]);const sc=scale&&scale!==1?` * ${scale}`:\"\";const style={margin:0,marginBottom:hasNext&&preset.marginBottom?preset.marginBottom:0,fontFamily:preset.family,fontWeight:preset.weight,// When breakpoints are present, size/leading come from the injected\n// media queries (so they match the design system exactly).\nfontSize:useBp?undefined:scale===1?preset.fontSize:`calc(${preset.fontSize} * ${scale})`,lineHeight:useBp?undefined:preset.lineHeight,letterSpacing:useBp?undefined:preset.letterSpacing,textTransform:preset.textTransform||\"none\",color:colorOverride||preset.color||T.fg,textAlign:align,textWrap:\"pretty\",whiteSpace:\"pre-wrap\"};let bpCss=\"\";if(useBp){bpCss=`.${bpClass}{font-size:calc(${preset.fontSize}${sc});line-height:${preset.lineHeight};letter-spacing:${preset.letterSpacing};}`;const sorted=[...preset.bps].sort((a,b)=>a.mw-b.mw);for(const bp of sorted){bpCss+=`@media (min-width:${bp.mw}px){.${bpClass}{font-size:calc(${bp.fs}${sc});`+(bp.lh?`line-height:${bp.lh};`:\"\")+(bp.ls?`letter-spacing:${bp.ls};`:\"\")+`}}`;}}const cls=[className,useBp?bpClass:null].filter(Boolean).join(\" \")||undefined;return /*#__PURE__*/_jsxs(_Fragment,{children:[useBp?/*#__PURE__*/_jsx(\"style\",{children:bpCss}):null,/*#__PURE__*/_jsx(Tag,{className:cls,style:style,children:formatText(text,preventWidows)})]});}// ── Hover link icon ───────────────────────────────────────────────\nfunction HoverIcon({type,image,color,size}){if(type===\"custom\"){return image?/*#__PURE__*/_jsx(\"img\",{src:image,alt:\"\",style:{width:size,height:size,objectFit:\"contain\",display:\"block\"}}):null;}const common={width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\"};switch(type){case\"arrowRight\":return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"line\",{x1:\"5\",y1:\"12\",x2:\"19\",y2:\"12\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"12 5 19 12 12 19\"})]});case\"externalLink\":return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"15 3 21 3 21 9\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"10\",y1:\"14\",x2:\"21\",y2:\"3\"})]});case\"chevronRight\":return /*#__PURE__*/_jsx(\"svg\",{...common,children:/*#__PURE__*/_jsx(\"polyline\",{points:\"9 18 15 12 9 6\"})});case\"plus\":return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"5\",x2:\"12\",y2:\"19\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"5\",y1:\"12\",x2:\"19\",y2:\"12\"})]});default:return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"line\",{x1:\"7\",y1:\"17\",x2:\"17\",y2:\"7\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"7 7 17 7 17 17\"})]});}}// ── Pattern background ───────────────────────────────────────────────────\nfunction PatternBg({type,fillColor,patternColor,patternOpacity,bgColor,fade,dotSize,dotGap,lineAngle,lineThickness,lineGap,gridSize,gridStroke}){if(type===\"none\")return null;if(type===\"fill\"){return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundColor:fillColor,zIndex:0}});}let backgroundImage=\"\";let backgroundSize=\"\";if(type===\"dots\"){const tile=Math.max(4,dotGap);const r=Math.max(.25,dotSize/2);backgroundImage=`radial-gradient(circle, ${patternColor} ${r}px, transparent ${r+.5}px)`;backgroundSize=`${tile}px ${tile}px`;}else if(type===\"grid\"){const size=Math.max(4,gridSize);const th=Math.max(.5,gridStroke);backgroundImage=`\n            linear-gradient(to right, ${patternColor} 0, ${patternColor} ${th}px, transparent ${th}px),\n            linear-gradient(to bottom, ${patternColor} 0, ${patternColor} ${th}px, transparent ${th}px)\n        `;backgroundSize=`${size}px ${size}px`;}else{const gap=Math.max(2,lineGap);const th=Math.max(.5,lineThickness);backgroundImage=`repeating-linear-gradient(${lineAngle}deg, ${patternColor} 0, ${patternColor} ${th}px, transparent ${th}px, transparent ${gap}px)`;backgroundSize=\"auto\";}const fadeMask=fade?\"radial-gradient(ellipse at center, black 40%, transparent 95%)\":undefined;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundColor:bgColor,zIndex:0}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage,backgroundSize,opacity:patternOpacity,WebkitMaskImage:fadeMask,maskImage:fadeMask,zIndex:0}})]});}// ── Scale-to-fit wrapper ─────────────────────────────────────────────────\n// designWidth > 0 → lay the component out at that FIXED px width (the width it\n// was designed for) and scale the whole unit uniformly to fit the slot. This is\n// the right behavior for a FLUID component (CSS grid with 1fr tracks, width:100%,\n// etc.): if you instead hand it the available width, it just reflows to fill —\n// columns squeeze and rows spring apart on a narrow phone — and there is nothing\n// for \"scale to fit\" to scale. Pinning the layout width keeps the proportions\n// the component was designed at and shrinks it as a single block.\n// designWidth = 0 → legacy fluid mode (lay out at available width, scale only if\n// the content still overflows).\nfunction ScaleToFit({children,designWidth=0}){const outerRef=React.useRef(null);const innerRef=React.useRef(null);const fixed=designWidth>0;const[w,setW]=React.useState(0);const[scale,setScale]=React.useState(1);React.useLayoutEffect(()=>{const out=outerRef.current,inn=innerRef.current;if(!out||!inn)return;const measure=()=>{const ow=out.clientWidth,oh=out.clientHeight;if(!ow)return;if(fixed){// Inner is pinned to designWidth px (see render below). Measure\n// its natural height AT that width, then scale the whole block\n// down to fit the slot on both axes. Capped at 1 so we never\n// upscale (which would blur and oversize text); on wide screens\n// the component just sits at its design size, centered.\nconst natH=inn.offsetHeight;if(!natH)return;const s=Math.min(ow/designWidth,oh?oh/natH:1,1);setScale(prev=>Math.abs(s-prev)>.002?s:prev);return;}// ── Legacy fluid mode ──────────────────────────────────────────\n// Lay the slotted component out at the AVAILABLE width (a definite\n// px width), so a fluid (width:100%) component reflows correctly\n// instead of collapsing inside a max-content box. offsetHeight is\n// then its true natural height — unaffected by the scale transform.\nsetW(prev=>prev!==ow?ow:prev);// Measure the slotted component's true natural box. A Framer\n// ComponentInstance often renders its root absolutely positioned or\n// at a fixed pixel size, which does NOT contribute to the wrapper's\n// scrollWidth/offsetHeight — so read the child element's own\n// offsetWidth/offsetHeight (layout boxes, unaffected by the scale\n// transform), falling back to the wrapper's scroll size.\nconst child=inn.firstElementChild;const iw=Math.max(inn.scrollWidth,child?child.offsetWidth:0);const ih=Math.max(inn.offsetHeight,child?child.offsetHeight:0);if(!ih||!iw)return;// Scale DOWN by whichever axis is more constrained (width OR height),\n// so a component with a minimum intrinsic width is never clipped and\n// never bleeds past the padding on narrow screens. A late reflow\n// (web-font load) re-fits via the ResizeObserver on the inner wrapper.\nconst sH=oh&&ih>oh?oh/ih:1;const sW=ow&&iw>ow?ow/iw:1;const s=Math.min(sH,sW);setScale(prev=>Math.abs(s-prev)>.002?s:prev);};measure();const ro=new ResizeObserver(measure);ro.observe(out);ro.observe(inn);const raf=requestAnimationFrame(measure);const fonts=typeof document!==\"undefined\"&&document.fonts||null;if(fonts&&fonts.ready&&fonts.ready.then)fonts.ready.then(()=>requestAnimationFrame(measure));// Mobile Safari settles its layout viewport, loads web fonts, and mounts\n// below-the-fold content LATE — after the initial useLayoutEffect has\n// already measured. None of that reliably fires the ResizeObserver, so\n// the scale gets stuck at its first (wrong) value on a real phone while\n// desktop/devtools is fast enough to look fine. Re-measure on every\n// event that signals the viewport may have finally settled, plus a few\n// delayed passes to cover deferred mounts.\nconst timers=[120,350,800,1500].map(ms=>window.setTimeout(measure,ms));const remeasure=()=>requestAnimationFrame(measure);window.addEventListener(\"resize\",remeasure);window.addEventListener(\"orientationchange\",remeasure);window.addEventListener(\"load\",remeasure);window.addEventListener(\"pageshow\",remeasure);const vv=window.visualViewport;if(vv&&vv.addEventListener)vv.addEventListener(\"resize\",remeasure);return()=>{ro.disconnect();cancelAnimationFrame(raf);timers.forEach(clearTimeout);window.removeEventListener(\"resize\",remeasure);window.removeEventListener(\"orientationchange\",remeasure);window.removeEventListener(\"load\",remeasure);window.removeEventListener(\"pageshow\",remeasure);if(vv&&vv.removeEventListener)vv.removeEventListener(\"resize\",remeasure);};},[children]);return /*#__PURE__*/_jsx(\"div\",{ref:outerRef,style:{position:\"relative\",zIndex:1,width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"div\",{ref:innerRef,style:{width:fixed?designWidth:w?w:\"100%\",transform:`scale(${scale})`,transformOrigin:\"center center\"},children:children})});}// ── Main ─────────────────────────────────────────────────────────────────\nexport default function GridCard(props){const{title,titleStyle,titleColor,showSubtitle,subtitle,subtitleStyle,subtitleColor,showBody,body,bodyStyle,bodyColor,textAlign,textScale,preventWidows,textAnchor,slotMode,slotImage,slotComponent,slotFit,scaleWidth,slotSizing,slotAspect,slotHeight,slotBg,slotFillColor,slotPatternColor,slotPatternOpacity,slotBgColor,slotFade,slotDotSize,slotDotGap,slotLineAngle,slotLineThickness,slotLineGap,slotGridSize,slotGridStroke,borderTop,borderRight,borderBottom,borderLeft,borderDivider,borderColor,slotPadding,slotPaddingPerSide,slotPadT,slotPadR,slotPadB,slotPadL,textPadding,textPaddingPerSide,textPadT,textPadR,textPadB,textPadL,gap,link,linkNewTab,hoverTextColor,showHoverIcon,hoverIconType,hoverIconImage,hoverIconColor,hoverIconSize,hoverIconVisibility}=props;// Link + hover affordance ------------------------------------------------\nconst isLink=!!(link&&String(link).length);const uid=React.useMemo(()=>\"gc\"+Math.random().toString(36).slice(2,9),[]);const tpTop=textPaddingPerSide?textPadT??textPadding:textPadding;const tpRight=textPaddingPerSide?textPadR??textPadding:textPadding;const linkStyle=isLink?{textDecoration:\"none\",color:\"inherit\",cursor:\"pointer\"}:{};const textItems=[{show:true,key:\"t\",text:title,styleName:titleStyle,color:titleColor},{show:showSubtitle,key:\"s\",text:subtitle,styleName:subtitleStyle,color:subtitleColor},{show:showBody,key:\"b\",text:body,styleName:bodyStyle,color:bodyColor}].filter(it=>it.show&&it.text);const slotPadCss=slotPaddingPerSide?`${slotPadT??slotPadding}px ${slotPadR??slotPadding}px ${slotPadB??slotPadding}px ${slotPadL??slotPadding}px`:`${slotPadding}px`;const textPadCss=textPaddingPerSide?`${textPadT??textPadding}px ${textPadR??textPadding}px ${textPadB??textPadding}px ${textPadL??textPadding}px`:`${textPadding}px`;const containerStyle={width:\"100%\",height:\"100%\",minHeight:\"100%\",display:\"flex\",flexDirection:\"column\",backgroundColor:T.bg,boxSizing:\"border-box\",borderTop:borderTop?`1px solid ${borderColor}`:undefined,borderRight:borderRight?`1px solid ${borderColor}`:undefined,borderBottom:borderBottom?`1px solid ${borderColor}`:undefined,borderLeft:borderLeft?`1px solid ${borderColor}`:undefined};// Slot inner content\nlet slotInner=null;if(slotMode===\"image\"&&slotImage){const objectFit=slotFit===\"fill\"?\"cover\":slotFit===\"native\"?\"none\":\"contain\";slotInner=/*#__PURE__*/_jsx(\"img\",{src:slotImage,alt:\"\",style:{width:\"100%\",height:\"100%\",maxWidth:\"100%\",maxHeight:\"100%\",objectFit:objectFit,display:\"block\",position:\"relative\",zIndex:1}});}else if(slotMode===\"component\"&&slotComponent){if(slotFit===\"scale\"){slotInner=/*#__PURE__*/_jsx(ScaleToFit,{designWidth:scaleWidth,children:slotComponent});}else if(slotFit===\"contain\"){// Natural size, capped by slot inner box. Component stays at its own\n// height even when the slot grows taller (bottom-anchor mode).\nslotInner=/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                        .gridcard-contain > * {\n                            max-width: 100% !important;\n                            max-height: 100% !important;\n                            width: auto !important;\n                            height: auto !important;\n                        }\n                    `}),/*#__PURE__*/_jsx(\"div\",{className:\"gridcard-contain\",style:{position:\"relative\",zIndex:1,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",maxWidth:\"100%\",maxHeight:\"100%\"},children:slotComponent})]});}else{const inner=slotFit===\"fill\"?{width:\"100%\",height:\"100%\"}:slotFit===\"native\"?{}:{width:\"100%\",maxWidth:\"100%\"};const forceFill=slotFit===\"fill\"||slotFit===\"fit\";slotInner=/*#__PURE__*/_jsxs(_Fragment,{children:[forceFill&&/*#__PURE__*/_jsx(\"style\",{children:`\n                            .gridcard-force-fill > * { width: 100% !important; max-width: 100% !important; }\n                        `}),/*#__PURE__*/_jsx(\"div\",{className:forceFill?\"gridcard-force-fill\":undefined,style:{...inner,position:\"relative\",zIndex:1},children:slotComponent})]});}}else{slotInner=/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",minHeight:100,border:`1px dashed ${T.borderDark}`,borderRadius:8,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:T.fgMuted,fontFamily:\"SF Mono, Menlo, monospace\",fontSize:11,letterSpacing:\"0.04em\",textTransform:\"uppercase\",position:\"relative\",zIndex:1},children:slotMode===\"image\"?\"add image\":\"add component\"});}const CardTag=isLink?\"a\":\"div\";const card=/*#__PURE__*/_jsxs(CardTag,{className:isLink?uid:undefined,style:{...containerStyle,...linkStyle},children:[isLink&&/*#__PURE__*/_jsx(\"style\",{children:`\n                    .${uid} .gc-title { transition: color .18s ease; }\n                    .${uid}:hover .gc-title { color: ${hoverTextColor} !important; }\n                    .${uid} .gc-hover-icon { opacity: ${hoverIconVisibility===\"always\"?1:0}; transform: ${hoverIconVisibility===\"always\"?\"none\":\"translate(2px, -2px)\"}; transition: opacity .2s ease, transform .2s ease; pointer-events: none; }\n                    .${uid}:hover .gc-hover-icon { opacity: 1; transform: none; }\n                `}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",...slotSizing===\"fixed\"?{height:slotHeight,flex:\"0 0 auto\"}:slotSizing===\"auto\"?{flex:\"0 0 auto\"}:{aspectRatio:`${slotAspect}`,minHeight:0,flex:textAnchor===\"bottom\"?\"1 0 auto\":\"0 0 auto\"},padding:slotPadCss,boxSizing:\"border-box\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",overflow:\"hidden\",borderBottom:borderDivider?`1px solid ${borderColor}`:undefined},children:[/*#__PURE__*/_jsx(PatternBg,{type:slotBg,fillColor:slotFillColor,patternColor:slotPatternColor,patternOpacity:slotPatternOpacity,bgColor:slotBgColor,fade:slotFade,dotSize:slotDotSize,dotGap:slotDotGap,lineAngle:slotLineAngle,lineThickness:slotLineThickness,lineGap:slotLineGap,gridSize:slotGridSize,gridStroke:slotGridStroke}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",zIndex:1,width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:slotInner})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",padding:textPadCss,boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\",gap},children:[isLink&&showHoverIcon&&/*#__PURE__*/_jsx(\"div\",{className:\"gc-hover-icon\",style:{position:\"absolute\",top:tpTop,right:tpRight,display:\"flex\",lineHeight:0,zIndex:2},children:/*#__PURE__*/_jsx(HoverIcon,{type:hoverIconType,image:hoverIconImage,color:hoverIconColor,size:hoverIconSize})}),textItems.map((it,i)=>{const preset=STYLES[it.styleName]??STYLES[\"Body Base\"];return /*#__PURE__*/_jsx(Styled,{preset:preset,scale:textScale,align:textAlign,text:it.text,hasNext:false,colorOverride:it.color,preventWidows:preventWidows,className:it.key===\"t\"?\"gc-title\":undefined},it.key);})]})]});if(!isLink)return card;return /*#__PURE__*/_jsx(Link,{href:link,openInNewTab:linkNewTab,children:card});}// ── Property controls ────────────────────────────────────────────────────\naddPropertyControls(GridCard,{// ─── Title ───────────────────────────────────────────\ntitle:{type:ControlType.String,title:\"Title\",defaultValue:\"Build for any business model.\",displayTextArea:true},titleStyle:{type:ControlType.Enum,title:\"  Style\",options:STYLE_NAMES,defaultValue:\"H5\"},titleColor:{type:ControlType.Color,title:\"  Color\",defaultValue:\"#1F1F21\"},// ─── Subtitle ────────────────────────────────────────\nshowSubtitle:{type:ControlType.Boolean,title:\"Subtitle\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"},subtitle:{type:ControlType.String,title:\"  Text\",defaultValue:\"Subtitle\",displayTextArea:true,hidden:p=>!p.showSubtitle},subtitleStyle:{type:ControlType.Enum,title:\"  Style\",options:STYLE_NAMES,defaultValue:\"Body Large\",hidden:p=>!p.showSubtitle},subtitleColor:{type:ControlType.Color,title:\"  Color\",defaultValue:\"#505152\",hidden:p=>!p.showSubtitle},// ─── Body ────────────────────────────────────────────\nshowBody:{type:ControlType.Boolean,title:\"Body\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},body:{type:ControlType.String,title:\"  Text\",defaultValue:\"Track investors, partners, products, or anything else unique to how you operate.\",displayTextArea:true,hidden:p=>!p.showBody},bodyStyle:{type:ControlType.Enum,title:\"  Style\",options:STYLE_NAMES,defaultValue:\"Body Base\",hidden:p=>!p.showBody},bodyColor:{type:ControlType.Color,title:\"  Color\",defaultValue:\"#505152\",hidden:p=>!p.showBody},// ─── Text formatting ─────────────────────────────────\ntextAlign:{type:ControlType.Enum,title:\"Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\",displaySegmentedControl:true},textScale:{type:ControlType.Number,title:\"Size\",min:.5,max:2,step:.05,defaultValue:1,displayStepper:true},preventWidows:{type:ControlType.Boolean,title:\"No widows\",description:\"Keeps the last two words on the same line. Use `~` in any text field to tie two other words together.\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},textAnchor:{type:ControlType.Enum,title:\"Text anchor\",description:\"Top keeps text directly under the slot, so titles line up across cards (recommended). Bottom pushes text to the card's lower edge — only aligns titles when bodies are the same length.\",options:[\"top\",\"bottom\"],optionTitles:[\"Top\",\"Bottom\"],defaultValue:\"top\",displaySegmentedControl:true},// ─── Link & hover ────────────────────────────────────\nlink:{type:ControlType.Link,title:\"Link\"},linkNewTab:{type:ControlType.Boolean,title:\"  New tab\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:p=>!p.link},hoverTextColor:{type:ControlType.Color,title:\"  Hover text\",defaultValue:\"#2A6FDB\",hidden:p=>!p.link},showHoverIcon:{type:ControlType.Boolean,title:\"  Hover icon\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden:p=>!p.link},hoverIconType:{type:ControlType.Enum,title:\"    Icon\",options:[\"arrowUpRight\",\"arrowRight\",\"externalLink\",\"chevronRight\",\"plus\",\"custom\"],optionTitles:[\"Arrow ↗\",\"Arrow →\",\"External\",\"Chevron ›\",\"Plus +\",\"Custom image\"],defaultValue:\"arrowUpRight\",hidden:p=>!p.link||!p.showHoverIcon},hoverIconImage:{type:ControlType.Image,title:\"    Image\",hidden:p=>!p.link||!p.showHoverIcon||p.hoverIconType!==\"custom\"},hoverIconColor:{type:ControlType.Color,title:\"    Icon color\",defaultValue:\"#2A6FDB\",hidden:p=>!p.link||!p.showHoverIcon||p.hoverIconType===\"custom\"},hoverIconSize:{type:ControlType.Number,title:\"    Icon size\",min:10,max:48,step:1,defaultValue:20,hidden:p=>!p.link||!p.showHoverIcon},hoverIconVisibility:{type:ControlType.Enum,title:\"    Show icon\",options:[\"hover\",\"always\"],optionTitles:[\"On hover\",\"Always\"],defaultValue:\"hover\",displaySegmentedControl:true,hidden:p=>!p.link||!p.showHoverIcon},// ─── Slot ────────────────────────────────────────────\nslotMode:{type:ControlType.Enum,title:\"Slot\",options:[\"image\",\"component\"],optionTitles:[\"Image\",\"Component\"],defaultValue:\"component\"},slotImage:{type:ControlType.Image,title:\"  Image\",hidden:p=>p.slotMode!==\"image\"},slotComponent:{type:ControlType.ComponentInstance,title:\"  Component\",hidden:p=>p.slotMode!==\"component\"},slotFit:{type:ControlType.Enum,title:\"  Fit\",options:[\"fit\",\"fill\",\"scale\",\"contain\",\"native\"],optionTitles:[\"Fit (contain)\",\"Fill (cover)\",\"Scale to fit\",\"Contain (natural)\",\"Native size\"],defaultValue:\"fit\"},scaleWidth:{type:ControlType.Number,title:\"  Scale width\",description:\"Only for 'Scale to fit'. The px width your slotted component was designed at — it's laid out at this width, then the whole block is scaled uniformly to fit each screen. Set it to the width where the component looks right on desktop (e.g. 520). Leave at 0 only for components that are meant to reflow fluidly.\",min:0,max:1600,step:4,defaultValue:520,hidden:p=>p.slotFit!==\"scale\"},slotSizing:{type:ControlType.Enum,title:\"  Sizing\",description:\"Aspect: height is derived from the card width. Fixed: a set pixel height. Auto: the slot hugs the component — it fills the width (minus padding) and grows its height to fit, so a tall component is never clipped. Use Auto with Fit (contain).\",options:[\"aspect\",\"fixed\",\"auto\"],optionTitles:[\"Aspect\",\"Fixed\",\"Auto\"],defaultValue:\"aspect\",displaySegmentedControl:true},slotAspect:{type:ControlType.Number,title:\"  Aspect\",description:\"Width \\xf7 height. 1.667 = 5:3, 1.5 = 3:2, 1.778 = 16:9, 1 = square.\",min:.3,max:4,step:.01,defaultValue:1.667,hidden:p=>p.slotSizing!==\"aspect\"},slotHeight:{type:ControlType.Number,title:\"  Height\",description:\"Fixed slot height in pixels. Use the same value on every card to guarantee identical slot heights.\",min:80,max:800,step:4,defaultValue:320,hidden:p=>p.slotSizing!==\"fixed\"},slotBg:{type:ControlType.Enum,title:\"  BG\",options:[\"none\",\"fill\",\"dots\",\"lines\",\"grid\"],optionTitles:[\"None\",\"Fill\",\"Dots\",\"Lines\",\"Grid\"],defaultValue:\"none\"},slotFillColor:{type:ControlType.Color,title:\"    Color\",defaultValue:\"#F7F7F7\",hidden:p=>p.slotBg!==\"fill\"},slotBgColor:{type:ControlType.Color,title:\"    BG\",defaultValue:\"#FFFFFF\",hidden:p=>p.slotBg!==\"dots\"&&p.slotBg!==\"lines\"&&p.slotBg!==\"grid\"},slotPatternColor:{type:ControlType.Color,title:\"    Pattern\",defaultValue:\"#1F1F21\",hidden:p=>p.slotBg!==\"dots\"&&p.slotBg!==\"lines\"&&p.slotBg!==\"grid\"},slotPatternOpacity:{type:ControlType.Number,title:\"    Opacity\",min:0,max:1,step:.05,defaultValue:.4,hidden:p=>p.slotBg!==\"dots\"&&p.slotBg!==\"lines\"&&p.slotBg!==\"grid\"},slotDotSize:{type:ControlType.Number,title:\"    Dot size\",min:.5,max:6,step:.1,defaultValue:1.1,hidden:p=>p.slotBg!==\"dots\"},slotDotGap:{type:ControlType.Number,title:\"    Dot gap\",min:4,max:64,step:1,defaultValue:12,hidden:p=>p.slotBg!==\"dots\"},slotLineAngle:{type:ControlType.Number,title:\"    Angle\",min:-90,max:90,step:1,defaultValue:45,hidden:p=>p.slotBg!==\"lines\"},slotLineThickness:{type:ControlType.Number,title:\"    Thickness\",min:.5,max:10,step:.5,defaultValue:1.5,hidden:p=>p.slotBg!==\"lines\"},slotLineGap:{type:ControlType.Number,title:\"    Gap\",min:4,max:80,step:1,defaultValue:14,hidden:p=>p.slotBg!==\"lines\"},slotGridSize:{type:ControlType.Number,title:\"    Cell size\",min:4,max:120,step:1,defaultValue:24,hidden:p=>p.slotBg!==\"grid\"},slotGridStroke:{type:ControlType.Number,title:\"    Stroke\",min:.5,max:8,step:.5,defaultValue:1,hidden:p=>p.slotBg!==\"grid\"},slotFade:{type:ControlType.Boolean,title:\"    Fade\",defaultValue:false,hidden:p=>p.slotBg!==\"dots\"&&p.slotBg!==\"lines\"&&p.slotBg!==\"grid\"},// ─── Borders ─────────────────────────────────────────\nborderTop:{type:ControlType.Boolean,title:\"Border T\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},borderRight:{type:ControlType.Boolean,title:\"Border R\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},borderBottom:{type:ControlType.Boolean,title:\"Border B\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},borderLeft:{type:ControlType.Boolean,title:\"Border L\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},borderDivider:{type:ControlType.Boolean,title:\"Divider\",description:\"Line between slot and text.\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},borderColor:{type:ControlType.Color,title:\"Border color\",defaultValue:\"#E8EBED\"},// ─── Spacing ─────────────────────────────────────────\nslotPadding:{type:ControlType.FusedNumber,title:\"Slot pad\",toggleKey:\"slotPaddingPerSide\",toggleTitles:[\"All\",\"Per side\"],valueKeys:[\"slotPadT\",\"slotPadR\",\"slotPadB\",\"slotPadL\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0,defaultValue:40},textPadding:{type:ControlType.FusedNumber,title:\"Text pad\",toggleKey:\"textPaddingPerSide\",toggleTitles:[\"All\",\"Per side\"],valueKeys:[\"textPadT\",\"textPadR\",\"textPadB\",\"textPadL\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0,defaultValue:40},gap:{type:ControlType.Number,title:\"Text gap\",min:0,max:48,step:1,defaultValue:8}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GridCard\",\"slots\":[\"slotComponent\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GridCard.map"],"mappings":"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"}