{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "testimonials-block-shadcnui", "type": "registry:block", "title": "Testimonials Block", "description": "Animated testimonials grid with staggered cards, star ratings, and hover effects", "registryDependencies": [ "button" ], "dependencies": [ "framer-motion", "react" ], "files": [ { "path": "@uitripled/react-shadcn/src/components/sections/testimonials-block.tsx", "content": "\"use client\";\n\nimport { Card } from \"@/components/ui/card\";\nimport { motion } from \"framer-motion\";\nimport { Quote, Star } from \"lucide-react\";\n\nconst testimonials = [\n {\n name: \"Sarah Johnson\",\n role: \"CEO at TechStart\",\n content:\n \"Outstanding work! The project was delivered on time and exceeded our expectations. The attention to detail and code quality is exceptional.\",\n rating: 5,\n avatar: \"SJ\",\n },\n {\n name: \"Michael Chen\",\n role: \"Product Manager at Innovate\",\n content:\n \"A true professional who understands both the technical and business aspects. Communication was excellent throughout the entire project.\",\n rating: 5,\n avatar: \"MC\",\n },\n {\n name: \"Emily Rodriguez\",\n role: \"Founder of DesignHub\",\n content:\n \"Incredible problem-solving skills and creativity. Turned our vision into reality with a beautiful, functional application.\",\n rating: 5,\n avatar: \"ER\",\n },\n {\n name: \"David Kim\",\n role: \"CTO at DataFlow\",\n content:\n \"Expert-level knowledge across the full stack. The scalable architecture delivered will serve our company for years to come.\",\n rating: 5,\n avatar: \"DK\",\n },\n];\n\nconst container = {\n hidden: { opacity: 0 },\n show: {\n opacity: 1,\n transition: { staggerChildren: 0.15 },\n },\n};\n\nconst item = {\n hidden: { opacity: 0, y: 30 },\n show: { opacity: 1, y: 0, transition: { duration: 0.5 } },\n};\n\nexport function TestimonialsBlock() {\n return (\n
\n
\n \n

\n Client Testimonials\n

\n

\n Trusted by businesses and startups to deliver exceptional results\n

\n \n\n \n {testimonials.map((testimonial, index) => (\n \n \n \n\n
\n
\n
\n {testimonial.avatar}\n
\n
\n

\n {testimonial.name}\n

\n

\n {testimonial.role}\n

\n
\n
\n\n
\n {Array.from({ length: testimonial.rating }).map((_, i) => (\n \n \n \n ))}\n
\n\n

\n "{testimonial.content}"\n

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