{ "name": "HeroLogoBillboard", "description": "Hero section with large text logo at top that scales to fill container width, description text, and single framed media (card or browser style) below.", "constraints": { "textRules": { "logoText": { "required": true, "example": "klime studio", "minChars": 2, "maxChars": 30 }, "description": { "required": true, "example": "we help driven founders build the brands of tomorrow through websites, product design & branding.", "minChars": 5, "maxChars": 300 } }, "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", "background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'glowing-orb' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' } (required)", "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": "\n \n", "do": [ "Use for landing pages", "Use for feature showcases", "Use for capability displays" ], "dont": [ "Do not use multiple items" ], "editRules": { "textOnly": true, "layoutLocked": true, "styleLocked": true } }