{ "name": "FooterBaseCard", "description": "Card-wrapped footer with logo, navigation columns, copyright, and privacy policy link.", "constraints": { "textRules": { "copyrightText": { "required": false, "example": "© 2025 | Webild", "minChars": 5, "maxChars": 100, "note": "Copyright text displayed at bottom left" }, "logoText": { "required": false, "example": "Webild", "minChars": 2, "maxChars": 30, "note": "Text used for h2 heading" } }, "columnsRules": { "required": true, "structure": { "title": "string - Column heading (required)", "items": "Array<{ label: string, href: string }> - Navigation links (required)" }, "minColumns": 1, "maxColumns": 5, "note": "Array of footer column objects. Each column must have title and items array." }, "logoRules": { "note": "Uses logoText as h2 heading." } }, "propsSchema": { "logoText?": "string (default: 'Webild')", "columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns (required)", "copyrightText?": "string (default: '© 2025 | Webild')", "onPrivacyClick?": "() => void", "ariaLabel?": "string (default: 'Site footer')", "className?": "string" }, "usageExample": " console.log('Privacy clicked')} />", "do": [ "Use for general use", "Requires columns[]" ], "dont": [], "editRules": { "textOnly": true, "layoutLocked": true, "styleLocked": true } }