{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "primitives-button",
  "title": "Button",
  "description": "A simple button that animates on hover and tap.",
  "dependencies": [
    "motion"
  ],
  "registryDependencies": [
    "@azemmur/primitives-slot"
  ],
  "files": [
    {
      "path": "registry/components/primitives/button/index.tsx",
      "content": "//Copyright (c) 2025 Elliot Sutton\n// Copyright (c) 2026 raouf.codes - Azemmur\n\n'use client';\n\nimport {\n  Slot,\n  type WithAsChild,\n} from '@/components/primitives/slot';\nimport { cn } from '@/lib/utils';\nimport { motion, type HTMLMotionProps } from 'motion/react';\nimport * as React from 'react';\n\ntype ButtonProps = WithAsChild<\n  HTMLMotionProps<'button'> & {\n    hoverScale?: number;\n    tapScale?: number;\n  }\n>;\n\nfunction Button({\n  hoverScale = 1.05,\n  tapScale = 0.95,\n  asChild = false,\n  ...props\n}: ButtonProps) {\n  const Component = asChild ? Slot : motion.button;\n\n  return (\n    <Component\n      {...props}\n      className={cn('cursor-pointer', props.className)}\n      whileHover={{ scale: hoverScale }}\n      whileTap={{ scale: tapScale }}\n    />\n  );\n}\n\nexport { Button, type ButtonProps };\n",
      "type": "registry:ui",
      "target": "components/azemmur/primitives/button.tsx"
    }
  ],
  "type": "registry:ui"
}