{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "testimonials-with-marquee",
  "type": "registry:block",
  "title": "Testimonials with Marquee",
  "description": "Horizontal scrolling testimonials with infinite marquee animation across multiple rows.",
  "author": "Ahdeetai <https://aditya.is-cool.dev>",
  "registryDependencies": ["@scrollxui/animated-testimonials"],
  "dependencies": ["motion"],
  "files": [
    {
      "type": "registry:component",
      "path": "registry/blocks/testimonials/testimonials-with-marquee.tsx",
      "content": "'use client';\n\nimport { motion } from 'motion/react';\nimport { AnimatedTestimonials } from '@/components/ui/animated-testimonials';\n\nconst testimonials = [\n  {\n    name: 'Sarah Mitchell',\n    handle: 'Product Designer',\n    description:\n      'The attention to detail is incredible. Every interaction feels polished and intentional. My clients are always impressed with the final results.',\n    image: 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=80&q=80&auto=format',\n  },\n  {\n    name: 'David Chen',\n    handle: 'Frontend Developer',\n    description:\n      \"Best component library I've used. Clean code, great performance, and the documentation actually makes sense. Saved me weeks of development time.\",\n    image: 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=80&q=80&auto=format',\n  },\n  {\n    name: 'Maria Santos',\n    handle: 'Creative Director',\n    description:\n      'Finally found a tool that bridges the gap between design and development. The animations are smooth and the customization options are endless.',\n    image: 'https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?w=80&q=80&auto=format',\n  },\n  {\n    name: 'James Anderson',\n    handle: 'Full Stack Engineer',\n    description:\n      'Integration was seamless. No bloat, no unnecessary dependencies. Just clean, performant components that work exactly as expected.',\n    image: 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=80&q=80&auto=format',\n  },\n  {\n    name: 'Priya Sharma',\n    handle: 'UI/UX Designer',\n    description:\n      'The design system is thoughtfully crafted. Every component feels cohesive and the accessibility features are built-in from the start.',\n    image: 'https://images.unsplash.com/photo-1580489944761-15a19d654956?w=80&q=80&auto=format',\n  },\n  {\n    name: 'Alex Turner',\n    handle: 'Tech Lead',\n    description:\n      'Our team productivity doubled after switching. The components are reliable, well-tested, and the support has been exceptional.',\n    image: 'https://images.unsplash.com/photo-1527980965255-d3b416303d12?w=80&q=80&auto=format',\n  },\n  {\n    name: 'Emma Williams',\n    handle: 'Startup Founder',\n    description:\n      'Helped us launch our MVP in record time. The quality is top-notch and it scales beautifully as our product grows.',\n    image: 'https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=80&q=80&auto=format',\n  },\n  {\n    name: 'Ryan Martinez',\n    handle: 'Software Architect',\n    description:\n      'Impressed by the architecture. The components are modular, maintainable, and integrate perfectly with our existing tech stack.',\n    image: 'https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?w=80&q=80&auto=format',\n  },\n];\n\nexport default function TestimonialsMarquee() {\n  const titleWords = 'Trusted by developers worldwide'.split(' ');\n\n  return (\n    <section className='relative w-full bg-background'>\n      <div className='relative z-10 flex flex-col items-center w-full'>\n        <div className='flex flex-col items-center gap-4 text-center py-12 md:py-16'>\n          <h2 className='text-4xl md:text-6xl font-bold text-foreground tracking-tight'>\n            {titleWords.map((word, index) => (\n              <motion.span\n                key={`title-${word}-${index}`}\n                initial={{ opacity: 0, filter: 'blur(6px)', y: 12 }}\n                whileInView={{ opacity: 1, filter: 'blur(0px)', y: 0 }}\n                viewport={{ once: true }}\n                transition={{\n                  duration: 0.4,\n                  delay: index * 0.08,\n                  ease: 'easeInOut',\n                }}\n                className='mr-2 inline-block'\n              >\n                {word}\n              </motion.span>\n            ))}\n          </h2>\n\n          <motion.p\n            initial={{ opacity: 0 }}\n            whileInView={{ opacity: 1 }}\n            viewport={{ once: true }}\n            transition={{ duration: 0.5, delay: 0.5 }}\n            className='text-base md:text-lg text-muted-foreground max-w-2xl px-4'\n          >\n            See what developers and designers are saying about their experience building with our components.\n          </motion.p>\n        </div>\n\n        <motion.div\n          initial={{ opacity: 0, y: 20 }}\n          whileInView={{ opacity: 1, y: 0 }}\n          viewport={{ once: true }}\n          transition={{ duration: 0.6, delay: 0.65 }}\n          className='w-full'\n        >\n          <AnimatedTestimonials data={testimonials} />\n        </motion.div>\n      </div>\n    </section>\n  );\n}"
    }
  ]
}
