{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "components-buttons-ripple",
  "title": "Ripple Button",
  "description": "A button that animates on tap with a ripple effect.",
  "dependencies": [
    "class-variance-authority"
  ],
  "registryDependencies": [
    "@animate-ui/components-buttons-button",
    "@animate-ui/primitives-buttons-ripple"
  ],
  "files": [
    {
      "path": "registry/components/buttons/ripple/index.tsx",
      "content": "'use client';\n\nimport * as React from 'react';\nimport { type VariantProps } from 'class-variance-authority';\n\nimport { buttonVariants } from '@/components/animate-ui/components/buttons/button';\nimport {\n  RippleButton as RippleButtonPrimitive,\n  RippleButtonRipples as RippleButtonRipplesPrimitive,\n  type RippleButtonProps as RippleButtonPrimitiveProps,\n  type RippleButtonRipplesProps as RippleButtonRipplesPrimitiveProps,\n} from '@/components/animate-ui/primitives/buttons/ripple';\nimport { cn } from '@/lib/utils';\n\nconst rippleButtonVariants = {\n  default: '[--ripple-button-ripple-color:var(--primary-foreground)]',\n  accent: '[--ripple-button-ripple-color:var(--accent-foreground)]',\n  destructive: '[--ripple-button-ripple-color:var(--destructive-foreground)]',\n  outline: '[--ripple-button-ripple-color:var(--foreground)]',\n  secondary: '[--ripple-button-ripple-color:var(--secondary-foreground)]',\n  ghost: '[--ripple-button-ripple-color:var(--foreground)]',\n  link: '[--ripple-button-ripple-color:var(--primary-foreground)]',\n};\n\ntype RippleButtonProps = RippleButtonPrimitiveProps &\n  VariantProps<typeof buttonVariants>;\n\nfunction RippleButton({\n  className,\n  variant,\n  size,\n  ...props\n}: RippleButtonProps) {\n  return (\n    <RippleButtonPrimitive\n      className={cn(\n        buttonVariants({ variant, size, className }),\n        rippleButtonVariants[variant as keyof typeof rippleButtonVariants],\n      )}\n      {...props}\n    />\n  );\n}\n\ntype RippleButtonRipplesProps = RippleButtonRipplesPrimitiveProps;\n\nfunction RippleButtonRipples(props: RippleButtonRipplesProps) {\n  return <RippleButtonRipplesPrimitive {...props} />;\n}\n\nexport {\n  RippleButton,\n  RippleButtonRipples,\n  type RippleButtonProps,\n  type RippleButtonRipplesProps,\n};\n",
      "type": "registry:ui",
      "target": "components/animate-ui/components/buttons/ripple.tsx"
    }
  ],
  "type": "registry:ui"
}