{ "name": "FooterBaseReveal", "description": "Animated footer reveal wrapper that creates a fixed footer with scroll-triggered reveal effect.", "constraints": { "textRules": { "copyrightText": { "required": false, "default": "© 2025 | Webild", "example": "© 2025 Company Name", "minChars": 5, "maxChars": 50 }, "columnTitle": { "required": true, "example": "Product", "minChars": 2, "maxChars": 20 }, "itemLabel": { "required": true, "example": "Features", "minChars": 2, "maxChars": 30 } }, "structureRules": { "columns": { "required": true, "minColumns": 1, "maxColumns": 3, "note": "Each column must have title and items array" }, "items": { "required": true, "minItems": 1, "structure": { "label": "string - Link text (required)", "href": "string - Link destination (optional). External URLs open in new tab, internal values scroll to sections", "onClick": "() => void - Additional click handler (optional)" } } } }, "propsSchema": { "columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns (required)", "copyrightText?": "string", "onPrivacyClick?": "() => void", "ariaLabel?": "string", "className?": "string" }, "usageExample": "", "do": [ "Use for general use", "Requires columns[]" ], "dont": [], "editRules": { "textOnly": true, "layoutLocked": true, "styleLocked": true } }