{"success":true,"data":{"block":{"id":"hero-badge-shadow-overlay","name":"Badge Shadow Overlay Hero","title":"Hero Badge Shadow Overlay","category":"Hero","categorySlug":"hero","description":"A hero with a badge, headline, and content overlaid on a shadowed background image. Creates depth and visual interest for impactful landing pages.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/308465/ofgbutdjijhz860e66xfdfg3faz3/hero-badge-shadow-overlay-desktop.jpg","mobile":"https://cdn.ing/assets/i/r/308466/z9pq3m5qpqw9eahq4tq50892z280/hero-badge-shadow-overlay-mobile.jpg"},"componentPath":"blocks/hero/hero-badge-shadow-overlay.tsx","code":"import { HeroBadgeShadowOverlay } from \"@opensite/ui/blocks/hero/hero-badge-shadow-overlay\";\nimport { DynamicIcon } from \"@opensite/ui/components/dynamic-icon\";\n\nexport default function Demo() {\n  return (\n    <HeroBadgeShadowOverlay\n      logo={{\n        src: \"https://cdn.ing/assets/i/r/288963/4kq4loxmhh5lwc7scw7hhusu87km/ui-placeholder-logo-white-1.png\",\n        alt: \"Brand Logo\",\n      }}\n      announcementBadge=\"Launch\"\n      announcementText=\"Premium design system\"\n      announcementHref=\"#\"\n      heading=\"Elevate your brand\"\n      description=\"Crafted with precision and creativity, our design system empowers you to create visually captivating experiences that resonate with your audience.\"\n      actions={[\n        {\n          label: \"Explore Now\",\n          href: \"#\",\n          variant: \"default\",\n          iconAfter: <DynamicIcon name=\"lucide/arrow-right\" size={16} />,\n        },\n      ]}\n      backgroundImageUrl={\n        \"https://toastability-production.s3.amazonaws.com/vvixyoo7ybq3h04q2q0kact0s5wc\"\n      }\n    />\n  );\n}","propsSchema":{"announcementBadge":{"type":"object","description":"Announcement badge content","typeLabel":"React.ReactNode","required":false},"announcementText":{"type":"object","description":"Announcement text","typeLabel":"React.ReactNode","required":false},"announcementHref":{"type":"string","description":"Announcement link href","required":false},"heading":{"type":"object","description":"Main heading content","typeLabel":"React.ReactNode","required":true,"maxLength":40},"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,"maxItems":2,"pinnedValues":{"0.variant":"default","1.variant":"outline"}},"actionsSlot":{"type":"object","description":"Custom slot for rendering actions (overrides actions array)","typeLabel":"React.ReactNode","required":false},"backgroundImageUrl":{"type":"string","description":"Background overlay image URL","required":true,"mediaHints":{"path":"backgroundImageUrl","roles":["hero","background"],"disallowedRoles":["logo","favicon","video-thumbnail"],"minPixelClass":"large","required":true,"note":"Full-bleed background image. Use a large, high-quality landscape photo."}},"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":"Optional background pattern name","fields":{},"typeLabel":"PatternName","required":false},"patternOpacity":{"type":"number","description":"Pattern overlay opacity (0-1)","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},"announcementClassName":{"type":"string","description":"Additional CSS classes for the announcement","required":false},"headingClassName":{"type":"string","description":"Additional CSS classes for the heading","required":false},"actionsClassName":{"type":"string","description":"Additional CSS classes for the actions container","required":false},"description":{"type":"object","description":"Description text below heading","typeLabel":"React.ReactNode","required":false,"maxLength":130},"descriptionClassName":{"type":"string","description":"Additional CSS classes for the description","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},"logo":{"type":"object","description":"Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.","fields":{"url":{"type":"string","description":"URL to navigate to when logo is clicked","required":false},"src":{"type":"string","description":"Image source for the logo","required":false},"alt":{"type":"string","description":"Alt text for the logo image","required":false},"title":{"type":"object","description":"Text title to display (alternative to image)","typeLabel":"React.ReactNode","required":false},"className":{"type":"string","description":"Additional CSS classes for the logo","required":false}},"typeLabel":"LogoConfig","required":false},"logoSlot":{"type":"object","description":"Custom slot for logo (overrides logo prop)","typeLabel":"React.ReactNode","required":false},"logoClassName":{"type":"string","description":"Additional CSS classes for the logo container","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"exampleProps":{"logo":{"src":"https://cdn.ing/assets/i/r/287635/1tmeh86afyxszfz7hbmvcc0oct8w/logo-dark.png","alt":"Brand Logo"},"announcementBadge":"Launch","announcementText":"Premium design system","announcementHref":"#","heading":"Elevate your brand with stunning visuals","description":"Crafted with precision and creativity.","backgroundImageUrl":"https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp","actions":[{"label":"Explore Now","href":"#","variant":"default"}]},"dependencies":["@opensite/ui"],"tags":["hero","badge","shadow","overlay","background","depth","impactful","landing"],"performance":{},"importantUsageNotes":"Requires a real 'backgroundImageUrl' — use a large, high-quality photo. Do not exceed 40 characters for 'heading'. Do not exceed 130 characters for 'description'. If you supply multiple 'actions', use 'default' for the first and 'outline' for the second.  All media src values must be absolute URLs to real assets; relative paths and placeholder media variables are not allowed.","usageRequirements":{"requiredProps":["heading","backgroundImageUrl"],"propConstraints":{"heading":{"required":true,"maxLength":40},"description":{"maxLength":130},"backgroundImageUrl":{"required":true},"actions":{"maxItems":2,"pinnedValues":{"0.variant":"default","1.variant":"outline"}}},"mediaSlots":{"backgroundImageUrl":{"path":"backgroundImageUrl","roles":["hero","background"],"disallowedRoles":["logo","favicon","video-thumbnail"],"minPixelClass":"large","required":true,"note":"Full-bleed background image. Use a large, high-quality landscape photo."}},"requiresSiteCapabilities":["media_library"]}}},"timestamp":"2026-06-27T20:16:39.425Z"}