From 9cc144d917130b41c0a2e4b3db011cee8f7b03b5 Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 17 Apr 2026 21:18:09 +0000 Subject: [PATCH] Switch to version 2: added registry/components/EmailSignupForm.json --- registry/components/EmailSignupForm.json | 43 ++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 registry/components/EmailSignupForm.json diff --git a/registry/components/EmailSignupForm.json b/registry/components/EmailSignupForm.json new file mode 100644 index 0000000..1ebe7e5 --- /dev/null +++ b/registry/components/EmailSignupForm.json @@ -0,0 +1,43 @@ +{ + "name": "EmailSignupForm", + "description": "Compact email signup form with inline input and submit button in card container.", + "details": "Use for newsletter signups, waitlists, or email collection. Features inline layout with email input on left and submit button on right, all wrapped in a card with rounded-theme borders and 1-unit padding. Input is flex-1 to fill available space. Button uses ThemeProvider's defaultButtonVariant. Returns email string on submit.", + "constraints": { + "textRules": { + "inputPlaceholder": { + "required": false, + "default": "Enter your email", + "example": "Your email address", + "minChars": 5, + "maxChars": 50 + }, + "buttonText": { + "required": false, + "default": "Sign Up", + "example": "Subscribe", + "minChars": 2, + "maxChars": 15 + } + } + }, + "propsSchema": { + "inputPlaceholder?": "string (default: 'Enter your email')", + "buttonText?": "string (default: 'Sign Up')", + "onSubmit?": "(email: string) => void", + "className?": "string", + "inputClassName?": "string", + "buttonClassName?": "string", + "buttonTextClassName?": "string" + }, + "usageExample": " console.log(email)} />", + "do": [ + "Use for feature showcases", + "Use for capability displays" + ], + "dont": [], + "editRules": { + "textOnly": true, + "layoutLocked": true, + "styleLocked": true + } +}