diff --git a/registry/components/ButtonElasticEffect.json b/registry/components/ButtonElasticEffect.json new file mode 100644 index 0000000..1b6711e --- /dev/null +++ b/registry/components/ButtonElasticEffect.json @@ -0,0 +1,35 @@ +{ + "name": "ButtonElasticEffect", + "description": "CTA button with elastic scale animation on hover.", + "details": "Use for CTAs where a springy, elastic feel adds playfulness. On hover, the button scales with an elastic easing that overshoots and settles, creating a bouncy tactile response.", + "constraints": { + "textRules": { + "text": { + "required": true, + "example": "Get Started", + "minChars": 2, + "maxChars": 25 + } + } + }, + "propsSchema": { + "text": "string", + "onClick?": "() => void", + "href?": "string - External URLs open in new tab, internal values scroll to section", + "className?": "string", + "textClassName?": "string", + "disabled?": "boolean (default: false)", + "ariaLabel?": "string", + "type?": "'button' | 'submit' | 'reset' (default: 'button')" + }, + "usageExample": "", + "do": [ + "Use for general use" + ], + "dont": [], + "editRules": { + "textOnly": true, + "layoutLocked": true, + "styleLocked": true + } +}