{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "contact-block-shadcnui", "type": "registry:block", "title": "Contact Block", "description": "Contact form with animated contact info cards, working hours, and interactive icons", "registryDependencies": [ "button" ], "dependencies": [ "framer-motion", "react" ], "files": [ { "path": "@uitripled/react-shadcn/src/components/sections/contact-block.tsx", "content": "\"use client\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { Card } from \"@/components/ui/card\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { Textarea } from \"@/components/ui/textarea\";\nimport { motion } from \"framer-motion\";\nimport { Mail, MapPin, Phone, Send } from \"lucide-react\";\n\nconst contactInfo = [\n {\n icon: Mail,\n label: \"Email\",\n value: \"hello@example.com\",\n href: \"mailto:hello@example.com\",\n },\n {\n icon: Phone,\n label: \"Phone\",\n value: \"+1 (555) 123-4567\",\n href: \"tel:+15551234567\",\n },\n {\n icon: MapPin,\n label: \"Location\",\n value: \"San Francisco, CA\",\n href: \"#\",\n },\n];\n\nexport function ContactBlock() {\n return (\n
\n {/* Background Pattern */}\n
\n\n
\n \n

\n Get In Touch\n

\n

\n Have a project in mind? Let's discuss how we can work together\n

\n \n\n
\n {/* Contact Form */}\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n \n
\n \n \n\n {/* Contact Info */}\n
\n
\n {contactInfo.map((info, index) => (\n \n \n
\n \n
\n \n
\n
\n

\n {info.label}\n

\n

\n {info.value}\n

\n
\n \n \n \n ))}\n
\n\n \n \n

\n Working Hours\n

\n
\n
\n Monday - Friday\n \n 9:00 AM - 6:00 PM\n \n
\n
\n Saturday\n \n 10:00 AM - 4:00 PM\n \n
\n
\n Sunday\n Closed\n
\n
\n
\n \n
\n
\n
\n
\n );\n}\n", "type": "registry:block", "target": "components/uitripled/contact-block-shadcnui.tsx" } ] }