{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "testimonials-marquee",
  "type": "registry:component",
  "title": "Testimonials Marquee",
  "author": "ncdai <dai@chanhdai.com>",
  "description": "A testimonials marquee component for showcasing user feedback in a scrolling format.",
  "registryDependencies": [
    "@ncdai/utils",
    "@kibo-ui/marquee"
  ],
  "files": [
    {
      "path": "src/registry/testimonials-marquee/testimonials-marquee.tsx",
      "content": "import { cn } from \"@/lib/utils\";\n\nexport function Testimonial({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<\"figure\">) {\n  return (\n    <figure\n      data-slot=\"testimonial\"\n      className={cn(\"flex h-full flex-col\", className)}\n      {...props}\n    >\n      {children}\n    </figure>\n  );\n}\n\nexport function TestimonialQuote({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<\"blockquote\">) {\n  return (\n    <blockquote\n      data-slot=\"quote\"\n      className={cn(\n        \"grow px-4 py-3 text-base text-balance text-foreground italic\",\n        className\n      )}\n      {...props}\n    >\n      {children}\n    </blockquote>\n  );\n}\n\nexport function TestimonialAuthor({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<\"figcaption\">) {\n  return (\n    <figcaption\n      data-slot=\"author\"\n      className={cn(\n        \"grid grid-cols-[auto_1fr] grid-rows-2 items-center gap-x-3.5 px-4 pt-1 pb-3\",\n        className\n      )}\n      {...props}\n    >\n      {children}\n    </figcaption>\n  );\n}\n\nexport function TestimonialAvatar({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"avatar\"\n      className={cn(\"relative row-span-2 size-8 shrink-0\", className)}\n      {...props}\n    >\n      {children}\n    </div>\n  );\n}\n\nexport function TestimonialAvatarImg({\n  className,\n  src,\n  alt,\n  ...props\n}: React.ComponentProps<\"img\">) {\n  return (\n    <img\n      data-slot=\"avatar-img\"\n      className={cn(\"size-8 rounded-full select-none\", className)}\n      src={src}\n      alt={alt}\n      {...props}\n    />\n  );\n}\n\nexport function TestimonialAvatarRing({\n  className,\n  ...props\n}: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"avatar-ring\"\n      className={cn(\n        \"pointer-events-none absolute inset-0 rounded-full ring-1 ring-black/10 ring-inset dark:ring-white/15\",\n        className\n      )}\n      {...props}\n    />\n  );\n}\n\nexport function TestimonialAuthorName({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"author-name\"\n      className={cn(\n        \"text-sm leading-4 font-semibold text-foreground\",\n        className\n      )}\n      {...props}\n    >\n      {children}\n    </div>\n  );\n}\n\nexport function TestimonialAuthorTagline({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"author-tagline\"\n      className={cn(\n        \"text-xs leading-4 text-balance text-muted-foreground\",\n        className\n      )}\n      {...props}\n    >\n      {children}\n    </div>\n  );\n}\n\nexport function TestimonialVerifiedBadge({\n  className,\n  ...props\n}: React.ComponentProps<\"svg\">) {\n  return (\n    <svg\n      data-slot=\"verified-badge\"\n      className={cn(\n        \"ml-1.5 inline-block size-3 -translate-y-px text-info\",\n        className\n      )}\n      xmlns=\"http://www.w3.org/2000/svg\"\n      fill=\"none\"\n      viewBox=\"0 0 24 24\"\n      {...props}\n    >\n      <path\n        fill=\"currentColor\"\n        d=\"M24 12a4.454 4.454 0 0 0-2.564-3.91 4.437 4.437 0 0 0-.948-4.578 4.436 4.436 0 0 0-4.577-.948A4.44 4.44 0 0 0 12 0a4.423 4.423 0 0 0-3.9 2.564 4.434 4.434 0 0 0-2.43-.178 4.425 4.425 0 0 0-2.158 1.126 4.42 4.42 0 0 0-1.12 2.156 4.42 4.42 0 0 0 .183 2.421A4.456 4.456 0 0 0 0 12a4.465 4.465 0 0 0 2.576 3.91 4.433 4.433 0 0 0 .936 4.577 4.459 4.459 0 0 0 4.577.95A4.454 4.454 0 0 0 12 24a4.439 4.439 0 0 0 3.91-2.563 4.26 4.26 0 0 0 5.526-5.526A4.453 4.453 0 0 0 24 12Zm-13.709 4.917-4.38-4.378 1.652-1.663 2.646 2.646L15.83 7.4l1.72 1.591-7.258 7.926Z\"\n      />\n    </svg>\n  );\n}\n",
      "type": "registry:component"
    }
  ],
  "docs": "https://chanhdai.com/components/testimonials-marquee"
}