{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "newsletter-signup-block-shadcnui", "type": "registry:block", "title": "Newsletter Signup Block", "description": "Animated newsletter subscription form with success state and gradient background", "registryDependencies": [ "button" ], "dependencies": [ "framer-motion", "react" ], "files": [ { "path": "@uitripled/react-shadcn/src/components/sections/newsletter-signup-block.tsx", "content": "\"use client\";\n\nimport { Badge } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport { Card } from \"@/components/ui/card\";\nimport { Input } from \"@/components/ui/input\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport { Check, Mail, Send, Sparkles } from \"lucide-react\";\nimport { useState } from \"react\";\n\nexport function NewsletterSignupBlock() {\n const [email, setEmail] = useState(\"\");\n const [isSubmitted, setIsSubmitted] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n if (email) {\n setIsSubmitted(true);\n setTimeout(() => {\n setIsSubmitted(false);\n setEmail(\"\");\n }, 3000);\n }\n };\n\n return (\n
\n {/* Animated background elements */}\n \n \n\n
\n \n
\n {/* Left side - Content */}\n \n \n \n \n Stay Updated\n \n \n\n

\n Join our newsletter\n

\n

\n Get the latest updates, articles, and resources delivered\n directly to your inbox every week. No spam, unsubscribe anytime.\n

\n\n
\n {[\"Weekly updates\", \"Exclusive content\", \"Early access\"].map(\n (feature, index) => (\n \n \n \n {feature}\n \n \n )\n )}\n
\n \n\n {/* Right side - Form */}\n \n \n {!isSubmitted ? (\n \n
\n \n
\n \n setEmail(e.target.value)}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n className=\"pl-10\"\n required\n />\n
\n \n
\n\n \n Subscribe\n \n \n \n \n\n

\n By subscribing, you agree to our Privacy Policy\n

\n \n ) : (\n \n \n \n \n\n
\n

\n You're all set!\n

\n

\n Check your inbox to confirm your subscription\n

\n
\n \n )}\n
\n \n
\n
\n\n {/* Trust indicators */}\n \n

\n Join{\" \"}\n \n 10,000+\n {\" \"}\n subscribers already getting our updates\n

\n \n
\n
\n );\n}\n", "type": "registry:block", "target": "components/uitripled/newsletter-signup-block-shadcnui.tsx" } ] }