{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "icon-button",
  "type": "registry:ui",
  "title": "Icon button",
  "description": "A square React button for icon only actions in small, default and large sizes with every Button variant. Its aria-label prop is required, so it is always named.",
  "dependencies": [
    "class-variance-authority"
  ],
  "registryDependencies": [
    "https://ui.minidev.pro/r/button.json",
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/icon-button.tsx",
      "type": "registry:ui",
      "target": "components/ui/icon-button.tsx",
      "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { type VariantProps } from \"class-variance-authority\"\nimport { Button, buttonVariants } from \"@/components/ui/button\"\nimport { cn } from \"@/lib/utils\"\n\ntype IconButtonProps = Omit<\n  React.ComponentProps<typeof Button>,\n  \"children\" | \"size\"\n> &\n  VariantProps<typeof buttonVariants> & {\n    \"aria-label\": string\n    size?: \"icon-sm\" | \"icon\" | \"icon-lg\"\n    children: React.ReactNode\n  }\n\nfunction IconButton({\n  className,\n  size = \"icon\",\n  variant = \"outline\",\n  children,\n  ...props\n}: IconButtonProps) {\n  return (\n    <Button\n      data-slot=\"icon-button\"\n      variant={variant}\n      size={size}\n      className={cn(className)}\n      {...props}\n    >\n      {children}\n    </Button>\n  )\n}\n\nexport { IconButton }\n"
    }
  ]
}
