{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"corded-button","title":"Corded Button","description":"A Discord-inspired button with primary, secondary, success, danger, and link variants.","dependencies":["@base-ui/react","lucide-react"],"registryDependencies":["utils","corded-theme"],"files":[{"path":"registry/default/ui/corded-button.tsx","content":"\"use client\"\n\nimport * as React from \"react\"\nimport { Button as BaseButton } from \"@base-ui/react/button\"\nimport { ExternalLink } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport type CordedButtonVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"link\"\nconst variants: Record<CordedButtonVariant, string> = {\n  primary: \"primary\",\n  secondary: \"secondary\",\n  success: \"active\",\n  danger: \"critical-primary\",\n  link: \"primary\",\n}\n\nexport type CordedButtonProps = React.ComponentProps<typeof BaseButton> & { variant?: CordedButtonVariant }\n\nexport function CordedButton({ variant = \"primary\", className, children, ...props }: CordedButtonProps) {\n  if (variant === \"link\") return <BaseButton type=\"button\" data-variant={variants[variant]} className={cn(\"mana-text-button mana-text-sm-semibold\", className)} {...props}><span className=\"mana-text-button-text\">{children}</span><ExternalLink className=\"size-3.5\" aria-hidden=\"true\" /></BaseButton>\n  return <BaseButton type=\"button\" data-size=\"md\" data-has-text data-variant={variants[variant]} className={cn(\"mana-button mana-text-sm-semibold\", className)} {...props}><span className=\"mana-button-contents\"><span className=\"mana-button-children\">{children}</span></span></BaseButton>\n}\n","type":"registry:ui","target":"components/ui/corded-button.tsx"}],"type":"registry:ui"}