Files
Nikolay Pecheniev 3412c86863 Initial commit
2026-02-09 19:38:58 +02:00

62 lines
1.8 KiB
JSON

{
"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": "<FooterBaseReveal columns={[{ title: 'Product', items: [{ label: 'Features', href: 'features' }, { label: 'Pricing', href: 'pricing' }] }]} copyrightText=\"© 2025 | Company\" />",
"do": [
"Use for general use",
"Requires columns[]"
],
"dont": [],
"editRules": {
"textOnly": true,
"layoutLocked": true,
"styleLocked": true
}
}