{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "cta-image-fan",
  "type": "registry:block",
  "title": "CTA Image Fan",
  "description": "A call-to-action with a fanned photo stack auto-advancing above the headline and a shiny button below. Built from Image Fan Slider and Shiny Button.",
  "dependencies": [],
  "registryDependencies": [
    "https://tween-ui.vercel.app/r/image-fan-slider.json",
    "https://tween-ui.vercel.app/r/shiny-button.json"
  ],
  "cssVars": {
    "theme": {}
  },
  "files": [
    {
      "path": "components/tweenui/cta-image-fan.tsx",
      "type": "registry:component",
      "target": "components/tweenui/cta-image-fan.tsx",
      "content": "'use client';\n\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\nimport ImageFanSlider, { type ImageFanSliderImage } from './image-fan-slider';\nimport ShinyButton from './shiny-button';\n\nexport type CtaImageFanImage = ImageFanSliderImage;\n\nexport interface CtaImageFanProps extends Omit<ComponentPropsWithoutRef<'section'>, 'title'> {\n  /** Photos in the fan. Five looks best. */\n  images?: CtaImageFanImage[];\n  /** Heading shown under the fan. */\n  title?: ReactNode;\n  /** Supporting line under the heading. */\n  description?: string;\n  /** Label for the shiny CTA button. */\n  ctaLabel?: string;\n  /** Click handler for the CTA button. */\n  onCtaClick?: () => void;\n}\n\nconst DEFAULT_IMAGES: CtaImageFanImage[] = [\n  {\n    src: 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=400&h=400&fit=crop&crop=faces',\n    alt: 'Team member one',\n  },\n  {\n    src: 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=400&h=400&fit=crop&crop=faces',\n    alt: 'Team member two',\n  },\n  {\n    src: 'https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=400&h=400&fit=crop&crop=faces',\n    alt: 'Team member three',\n  },\n  {\n    src: 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=400&h=400&fit=crop&crop=faces',\n    alt: 'Team member four',\n  },\n  {\n    src: 'https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=400&h=400&fit=crop&crop=faces',\n    alt: 'Team member five',\n  },\n];\n\nconst DEFAULT_TITLE = (\n  <>\n    Ready to accelerate Your\n    <span className=\"mt-1 block font-normal text-[#045f64]/60 italic dark:text-[#9fd4d6]/80\">\n      workflow with AI?\n    </span>\n  </>\n);\n\nexport default function CtaImageFan({\n  images = DEFAULT_IMAGES,\n  title = DEFAULT_TITLE,\n  description = 'Take the first step towards a more efficient and productive workflow.',\n  ctaLabel = 'Try for free',\n  onCtaClick,\n  className,\n  ...props\n}: CtaImageFanProps) {\n  return (\n    <section data-cta-image-fan className={cn('w-full py-16 md:py-20', className)} {...props}>\n      <div className=\"mx-auto flex w-full max-w-[720px] flex-col items-center gap-8 px-4\">\n        <ImageFanSlider images={images} className=\"motion-reduce:scale-100\" />\n\n        <div className=\"space-y-3 text-center\">\n          <h2 className=\"text-2xl leading-[1.2] font-medium tracking-tight text-[#12161F] md:text-3xl lg:text-4xl dark:text-white\">\n            {title}\n          </h2>\n          <p className=\"mx-auto max-w-[320px] text-sm leading-relaxed text-[#045f64]/70 dark:text-[#9fd4d6]/80\">\n            {description}\n          </p>\n        </div>\n\n        <ShinyButton onClick={onCtaClick}>{ctaLabel}</ShinyButton>\n      </div>\n    </section>\n  );\n}\n"
    }
  ],
  "docs": "Docs, props and examples: https://tween-ui.vercel.app/block/cta-image-fan\nThe sample content loads images from images.unsplash.com. Replace them with your own before shipping."
}