{"success":true,"data":{"block":{"id":"about-developer-profile","name":"About Developer Profile","title":"About Developer Profile","category":"About","categorySlug":"about","description":"A developer portfolio-style profile section with avatar, name, role, social links, bio, skills tags, and contact CTA. Perfect for personal portfolios, team member spotlights, or founder profiles on company about pages.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/291538/plz2b91kiirxntgym10ig27uf830/cleanshot-2026-02-25-at-23-08-50-2x.png","mobile":"https://cdn.ing/assets/i/r/291537/xv22zlwik0hqs50p6nbu3rpbaf73/cleanshot-2026-02-25-at-23-09-20-2x.png"},"componentPath":"blocks/about/about-developer-profile.tsx","code":"import { AboutDeveloperProfile } from \"@opensite/ui/blocks/about/about-developer-profile\";\nimport { DynamicIcon } from \"@opensite/ui/components/dynamic-icon\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <AboutDeveloperProfile\n      avatar={{\n        src: imagePlaceholders[81],\n        alt: \"Alex Thompson\",\n      }}\n      name=\"Alex Thompson\"\n      role=\"Senior Full-Stack Developer\"\n      bio=\"Passionate about building scalable web applications and mentoring the next generation of developers. With over 10 years of experience in software development, I specialize in creating elegant solutions to complex problems.\"\n      skillsTitle=\"Technical Skills\"\n      skills={[\"React\", \"TypeScript\", \"Node.js\", \"PostgreSQL\", \"AWS\"]}\n      socialLinks={[\n        {\n          href: \"https://instagram.com\",\n        },\n        {\n          href: \"https://twitter.com\",\n        },\n        {\n          href: \"https://linkedin.com\",\n        },\n        {\n          href: \"https://youtube.com\",\n        },\n      ]}\n      actions={[\n        {\n          label: \"Contact Me\",\n          href: \"#\",\n          variant: \"default\",\n          size: \"lg\",\n          icon: <DynamicIcon name=\"lucide/send\" size={16} />,\n        },\n        {\n          label: \"Download Resume\",\n          href: \"#\",\n          variant: \"outline\",\n          size: \"lg\",\n          icon: <DynamicIcon name=\"lucide/download\" size={16} />,\n        },\n      ]}\n      patternOpacity={0.33}\n      pattern=\"diagonalCrossFadeCenter\"\n      background=\"dark\"\n    />\n  );\n}","propsSchema":{"name":{"type":"object","description":"Developer name","typeLabel":"React.ReactNode","required":false},"role":{"type":"object","description":"Developer role/title","typeLabel":"React.ReactNode","required":false},"bio":{"type":"object","description":"Developer bio/description","typeLabel":"React.ReactNode","required":false},"avatar":{"type":"object","description":"Avatar image configuration","fields":{"src":{"type":"string","description":"","required":true},"alt":{"type":"string","description":"","required":true}},"typeLabel":"{ src: string; alt: string; }","required":false},"skills":{"type":"array","description":"Array of skill tags","items":{"type":"string","description":""},"required":false},"skillsSlot":{"type":"object","description":"Custom slot for rendering skills (overrides skills array)","typeLabel":"React.ReactNode","required":false},"skillsTitle":{"type":"object","description":"Skills section title","typeLabel":"React.ReactNode","required":false},"socialLinks":{"type":"array","description":"Array of social link configurations","items":{"type":"object","description":"","fields":{"platformName":{"type":"object","description":"Social platform name - determines which icon to display.\nIf not provided, the platform is auto-detected from the href URL.","typeLabel":"SocialPlatformName","required":false},"platform":{"type":"object","description":"","typeLabel":"SocialPlatformName","required":false},"href":{"type":"string","description":"Link URL (required). Platform is auto-detected from this URL if platformName is not set.","required":true},"label":{"type":"string","description":"Display label for the link (used for aria-label if not specified)","required":false},"icon":{"type":"object","description":"Platform icon (ReactNode) - overrides automatic icon selection","typeLabel":"ReactNode","required":false},"iconNameOverride":{"type":"string","description":"Icon name override for DynamicIcon (e.g., \"lucide/twitter\")","required":false},"iconSize":{"type":"number","description":"Icon size in pixels","required":false},"iconColor":{"type":"string","description":"Icon color - accepts any valid CSS color","required":false},"iconClassName":{"type":"string","description":"Additional CSS classes for the icon","required":false},"aria-label":{"type":"string","description":"ARIA label for accessibility","required":false},"className":{"type":"string","description":"Additional CSS classes for the link wrapper","required":false}},"typeLabel":"SocialLinkItem"},"typeLabel":"SocialLinkItem[]","required":false},"socialLinksSlot":{"type":"object","description":"Custom slot for rendering social links (overrides socialLinks array)","typeLabel":"React.ReactNode","required":false},"actions":{"type":"array","description":"Array of action configurations for CTA buttons","items":{"type":"object","description":"","fields":{"variant":{"type":"string","description":"","typeLabel":"\"default\" | \"destructive\" | \"outline\" | \"secondary\" | \"ghost\" | \"link\"","required":false},"size":{"type":"string","description":"","typeLabel":"\"default\" | \"sm\" | \"md\" | \"lg\" | \"icon\" | \"icon-sm\" | \"icon-lg\"","required":false},"label":{"type":"object","description":"Button/link label text or ReactNode","typeLabel":"ReactNode","required":false},"icon":{"type":"object","description":"Icon to display (typically before label)","typeLabel":"ReactNode","required":false},"iconAfter":{"type":"object","description":"Icon to display after the label","typeLabel":"ReactNode","required":false},"href":{"type":"string","description":"URL for link behavior","required":false},"onClick":{"type":"object","description":"Click handler for button behavior","typeLabel":"MouseEventHandler","required":false},"className":{"type":"string","description":"Additional CSS classes for the action","required":false},"children":{"type":"object","description":"Custom children (overrides label + icon rendering)","typeLabel":"ReactNode","required":false},"aria-label":{"type":"string","description":"ARIA label for accessibility","required":false},"asButton":{"type":"boolean","description":"Render as a button element instead of an anchor/link","required":false}},"typeLabel":"ActionConfig"},"typeLabel":"ActionConfig[]","required":false},"actionsSlot":{"type":"object","description":"Custom slot for rendering actions (overrides actions array)","typeLabel":"React.ReactNode","required":false},"className":{"type":"string","description":"Additional CSS classes for the section","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the content wrapper","required":false},"nameClassName":{"type":"string","description":"Additional CSS classes for the name heading","required":false},"roleClassName":{"type":"string","description":"Additional CSS classes for the role text","required":false},"bioClassName":{"type":"string","description":"Additional CSS classes for the bio text","required":false},"avatarClassName":{"type":"string","description":"Additional CSS classes for the avatar image","required":false},"skillsClassName":{"type":"string","description":"Additional CSS classes for the skills container","required":false},"skillTagClassName":{"type":"string","description":"Additional CSS classes for individual skill tags","required":false},"socialLinksClassName":{"type":"string","description":"Additional CSS classes for the social links container","required":false},"actionsClassName":{"type":"string","description":"Additional CSS classes for the actions container","required":false},"optixFlowConfig":{"type":"object","description":"OptixFlow image optimization configuration","fields":{"apiKey":{"type":"string","description":"API key for OptixFlow service","required":true},"compression":{"type":"number","description":"Compression level (0-100)","required":false}},"typeLabel":"OptixFlowConfig","required":false},"background":{"type":"string","description":"Section background variant","typeLabel":"SectionBackground","required":false},"spacing":{"type":"object","description":"Section spacing variant","fields":{},"typeLabel":"SectionSpacing","required":false},"pattern":{"type":"object","description":"Pattern background key or URL","fields":{},"typeLabel":"PatternName","required":false},"patternOpacity":{"type":"number","description":"Pattern opacity (0-1)","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["about","developer","profile","portfolio","skills","social","bio","personal","founder"],"performance":{},"importantUsageNotes":"Only populate the 'avatar.src' prop if you have a real photo/avatar for the person — DO NOT USE PLACEHOLDER IMAGES. Only populate 'socialLinks' with real social profile URLs for the person; skip any platform you don't have a verified URL for. Only populate 'skills' with real, known skills for the person. If you supply multiple 'actions', ensure to use a variant of 'default' for the first action, and 'outline' for the second action to ensure proper visual distinction between the two CTAs. Follow the example props closely for this block."}},"timestamp":"2026-05-13T10:43:35.522Z"}