/** * Figma: "Sections / Hero" (see registry) */ import { memo } from "react"; import Image from "next/image"; import ContentLockup from "../../type/ContentLockup"; import HeroDecor from "./HeroDecor"; import { ASSETS, getAssetPath } from "../../../../lib/assetUtils"; /** * Intrinsic dimensions of `public/assets/marketing/hero-image.png` (2560×1600, * 16:10). Passed to `next/image` to reserve aspect ratio + drive responsive * srcset generation. Actual rendered size is governed by `sizes`. */ const HERO_IMAGE_WIDTH = 2560; const HERO_IMAGE_HEIGHT = 1600; interface HeroBannerProps { title?: string; subtitle?: string; description?: string; ctaText?: string; ctaHref?: string; imageAlt?: string; } const HeroBanner = memo( ({ title, subtitle, description, ctaText, ctaHref, imageAlt = "Hero illustration", }) => { return (
{/* Frame container for content */}
{/* DECORATIONS (behind content) */} {/* Content lockup - Large variant */}
{/* Hero Image Container */}
{imageAlt}
); }, ); HeroBanner.displayName = "HeroBanner"; export default HeroBanner;