Components
Loading preview...
A button component with 7 variants (default, outline, secondary, destructive, destructive-outline, ghost, link), 10 sizes (xs–xl + icon sizes), loading state with built-in spinner, and render-as-child support via asChild prop.
npx shadcn@latest add https://21st.dev/r/coss.com/coss-buttonimport { Button } from "@/components/ui/component";
import { ChevronRight, Mail, Loader2, Plus } from "lucide-react";
export default function ButtonIconDemo() {
return (
<div className="flex min-h-screen w-full items-center justify-center bg-background p-8">
<div className="flex flex-wrap items-center gap-3">
<Button size="icon" variant="outline">
<ChevronRight />
</Button>
<Button size="icon-sm" variant="outline">
<Plus />
</Button>
<Button size="icon-lg" variant="outline">
<Mail />
</Button>
</div>
</div>
);
}