From 35c10ee00184e502d57da2066a70ada3c6f2db60 Mon Sep 17 00:00:00 2001 From: Wesley Souza | Neo Date: Thu, 7 Nov 2024 14:05:27 -0300 Subject: [PATCH] feat: :sparkles: add badge from shadcn --- app/_components/ui/badge.tsx | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 app/_components/ui/badge.tsx diff --git a/app/_components/ui/badge.tsx b/app/_components/ui/badge.tsx new file mode 100644 index 0000000..3a9de94 --- /dev/null +++ b/app/_components/ui/badge.tsx @@ -0,0 +1,36 @@ +import * as React from "react"; +import { cva, type VariantProps } from "class-variance-authority"; + +import { cn } from "@/app/_lib/utils"; + +const badgeVariants = cva( + "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", + { + variants: { + variant: { + default: + "border-transparent bg-primary text-primary-foreground hover:bg-primary/80", + secondary: + "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80", + destructive: + "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80", + outline: "text-foreground", + }, + }, + defaultVariants: { + variant: "default", + }, + }, +); + +export interface BadgeProps + extends React.HTMLAttributes, + VariantProps {} + +function Badge({ className, variant, ...props }: BadgeProps) { + return ( +
+ ); +} + +export { Badge, badgeVariants };