{
  "name": "HeroLogoBillboardSplit",
  "description": "Hero section with split layout (description left, buttons right), large text logo that scales to fill container width, and single framed media at bottom. Supports flex-col or flex-col-reverse layout order.",
  "constraints": {
    "textRules": {
      "logoText": {
        "required": true,
        "example": "ACME",
        "minChars": 2,
        "maxChars": 30
      },
      "description": {
        "required": true,
        "example": "Create stunning, responsive websites with our comprehensive component library",
        "minChars": 5,
        "maxChars": 300
      }
    },
    "layoutRules": {
      "layoutOrder": {
        "required": true,
        "options": [
          "default",
          "reverse"
        ],
        "note": "'default' displays split section (description/buttons) then logo (flex-col). 'reverse' displays logo then split section (flex-col-reverse)."
      }
    },
    "buttonRules": {
      "buttons": {
        "required": true,
        "minItems": 1,
        "maxItems": 2,
        "note": "Only first 2 buttons are displayed using slice(0, 2). Uses theme.defaultButtonVariant for styling."
      }
    },
    "mediaRules": {
      "imageSrc": {
        "required": false,
        "example": "/hero-image.jpg",
        "note": "Supports external URLs with unoptimized prop"
      },
      "videoSrc": {
        "required": false,
        "example": "/hero-video.mp4",
        "note": "Takes precedence over imageSrc if both provided"
      },
      "imageAlt": {
        "required": false,
        "example": "Product showcase",
        "note": "Empty string marks image as decorative (aria-hidden)"
      },
      "frameStyle": {
        "required": false,
        "options": [
          "card",
          "browser"
        ],
        "default": "card",
        "note": "'card' displays media in simple card with padding. 'browser' wraps media in browser mockup with address bar and window controls."
      }
    }
  },
  "propsSchema": {
    "logoText": "string",
    "description": "string",
    "buttons": "Array<{text: string, onClick?: () => void, href?: string}>",
    "layoutOrder": "'default' | 'reverse'",
    "imageSrc?": "string",
    "videoSrc?": "string",
    "imageAlt?": "string (default: '')",
    "videoAriaLabel?": "string (default: 'Hero video')",
    "frameStyle?": "'card' | 'browser' (default: 'card')",
    "logoLineHeight?": "number (default: 1.1)",
    "ariaLabel?": "string (default: 'Hero section')",
    "className?": "string"
  },
  "usageExample": "<ThemeProvider defaultButtonVariant=\"text-stagger\" defaultTextAnimation=\"entrance-slide\" borderRadius=\"pill\" cardStyle=\"layered-gradient\">\n  <HeroLogoBillboardSplit \n    logoText=\"ACME\" \n    description=\"Create stunning, responsive websites with our comprehensive component library\" \n    buttons={[\n      { text: 'Get Started', href: '#' },\n      { text: 'Learn More', href: '#' }\n    ]}\n    layoutOrder=\"default\"\n    imageSrc=\"/hero.jpg\"\n    imageAlt=\"Hero showcase\"\n    frameStyle=\"browser\"\n  />\n</ThemeProvider>",
  "do": [
    "Use for landing pages",
    "Use for feature showcases",
    "Use for capability displays",
    "Requires buttons[]"
  ],
  "dont": [],
  "editRules": {
    "textOnly": true,
    "layoutLocked": true,
    "styleLocked": true
  }
}