{"success":true,"data":{"block":{"id":"hero-overlay-cta-grid","name":"Overlay CTA Grid Hero","title":"Hero Overlay CTA Grid","category":"Hero","categorySlug":"hero","description":"A background-image hero with a centered badge, headline, dual CTAs, and a grid of icon cards for quick navigation. Ideal for service-focused landing pages that need both narrative impact and fast access to top offerings.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/290198/9w6r9tiymfe2hbzxpb2rdlxfgp30/cleanshot-2026-02-18-at-00-15-20.png","mobile":"https://cdn.ing/assets/i/r/290197/ua6rgm50bitbekpbivi77znkthou/cleanshot-2026-02-18-at-00-15-39.png"},"componentPath":"blocks/hero/hero-overlay-cta-grid.tsx","code":"import { imagePlaceholders } from \"@/lib/media\";\nimport { HeroOverlayCtaGrid } from \"@opensite/ui/blocks/hero/hero-overlay-cta-grid\";\n\nexport default function Demo() {\n  return (\n    <HeroOverlayCtaGrid\n      heading=\"Choose your path\"\n      backgroundImage={imagePlaceholders[12]}\n      description=\"Multiple ways to engage with our platform. Select the option that best fits your needs.\"\n      spacing=\"none\"\n      cards={[\n        {\n          label: \"New Features\",\n          subtitle: \"New AI features to automate workflows\",\n          icon: \"lucide/bot\",\n          href: \"#\",\n        },\n        {\n          label: \"Automation\",\n          subtitle: \"Dedicated agents to help streamline tasks\",\n          icon: \"lucide/bell\",\n          href: \"#\",\n        },\n        {\n          label: \"Performance\",\n          subtitle: \"Enterprise speed for all business sizes\",\n          icon: \"lucide/bolt\",\n          href: \"#\",\n        },\n      ]}\n    />\n  );\n}","propsSchema":{"badgeText":{"type":"object","description":"Badge text displayed above the heading","typeLabel":"React.ReactNode","required":false},"badgeIcon":{"type":"string","description":"Icon name for the badge","required":false},"badgeSlot":{"type":"object","description":"Custom slot for badge (overrides badge props)","typeLabel":"React.ReactNode","required":false},"heading":{"type":"object","description":"Main heading text","typeLabel":"React.ReactNode","required":false},"description":{"type":"object","description":"Supporting description text","typeLabel":"React.ReactNode","required":false},"actions":{"type":"array","description":"Array of action configurations","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},"actionsClassName":{"type":"string","description":"Additional CSS classes for the actions container","required":false},"cards":{"type":"array","description":"CTA cards displayed beneath the hero copy","items":{"type":"object","description":"","fields":{"label":{"type":"string","description":"Card label text","required":true},"subtitle":{"type":"string","description":"Supporting card text","required":true},"icon":{"type":"string","description":"Icon name for the card","required":true},"href":{"type":"string","description":"Optional link destination","required":false}},"typeLabel":"HeroOverlayCtaGridCard"},"typeLabel":"HeroOverlayCtaGridCard[]","required":false},"cardsSlot":{"type":"object","description":"Custom slot for cards (overrides cards array)","typeLabel":"React.ReactNode","required":false},"backgroundImage":{"type":"string","description":"Background image URL","required":false},"backgroundAlt":{"type":"string","description":"Background image alt text","required":false},"backgroundSlot":{"type":"object","description":"Custom slot for background (overrides backgroundImage)","typeLabel":"React.ReactNode","required":false},"background":{"type":"string","description":"Background style for the section","typeLabel":"SectionBackground","required":false},"spacing":{"type":"object","description":"Vertical spacing for the section","fields":{},"typeLabel":"SectionSpacing","required":false},"pattern":{"type":"object","description":"Background pattern","fields":{},"typeLabel":"PatternName","required":false},"patternOpacity":{"type":"number","description":"Pattern opacity (0-1)","required":false},"className":{"type":"string","description":"Additional CSS classes for the section wrapper","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the content","required":false},"headingClassName":{"type":"string","description":"Additional CSS classes for the heading","required":false},"descriptionClassName":{"type":"string","description":"Additional CSS classes for the description","required":false},"optixFlowConfig":{"type":"object","description":"Optional Optix Flow configuration for image optimization","fields":{"apiKey":{"type":"string","description":"","required":true},"compression":{"type":"number","description":"","required":false}},"typeLabel":"{ apiKey: string; compression?: number; }","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["hero","overlay","background-image","cta","grid","cards","icons","landing","services","navigation"],"performance":{},"importantUsageNotes":"Only use if you are going to use exactly 3 'cards' for the 'cards' props. The 'href' for each of the cards is optional, only supply it if you have a valid href for each of the card items. Follow the example props closely for this block."}},"timestamp":"2026-05-13T10:42:28.050Z"}