From 6ae5505542b2c24ec30c9293d2355d20deed5a2d Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 17 Apr 2026 21:18:04 +0000 Subject: [PATCH] Switch to version 2: added registry/components/ButtonTextUnderline.json --- registry/components/ButtonTextUnderline.json | 34 ++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 registry/components/ButtonTextUnderline.json diff --git a/registry/components/ButtonTextUnderline.json b/registry/components/ButtonTextUnderline.json new file mode 100644 index 0000000..2377476 --- /dev/null +++ b/registry/components/ButtonTextUnderline.json @@ -0,0 +1,34 @@ +{ + "name": "ButtonTextUnderline", + "description": "Text-only button where an underline animates in on hover.", + "details": "Use for inline or minimal CTAs or links where you want the hover state to reveal affordance without altering color or layout. The underline appears smoothly under the label when hovered.", + "constraints": { + "textRules": { + "text": { + "required": true, + "example": "Learn more", + "minChars": 2, + "maxChars": 25 + } + } + }, + "propsSchema": { + "text": "string", + "onClick?": "() => void", + "href?": "string - External URLs open in new tab, internal values scroll to section", + "className?": "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 + } +}