Docs
   Badge 
 Badge
Displays a badge or a component that looks like a badge.
import { Badge } from "@repo/tailwindcss/ui/badge";
 
const BadgeDemo = () => {
	return <Badge>Badge</Badge>;
};
 
export default BadgeDemo; Installation
npx shadcn-solid@latest add badge  Copy and paste the following code into your project:
import { cn } from "@/libs/cn";
import type { VariantProps } from "class-variance-authority";
import { cva } from "class-variance-authority";
import { type ComponentProps, splitProps } from "solid-js";
 
export const badgeVariants = cva(
	"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-shadow focus-visible:outline-none focus-visible:ring-[1.5px] focus-visible:ring-ring",
	{
		variants: {
			variant: {
				default:
					"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
				secondary:
					"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
				destructive:
					"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
				outline: "text-foreground",
			},
		},
		defaultVariants: {
			variant: "default",
		},
	},
);
 
export const Badge = (
	props: ComponentProps<"div"> & VariantProps<typeof badgeVariants>,
) => {
	const [local, rest] = splitProps(props, ["class", "variant"]);
 
	return (
		<div
			class={cn(
				badgeVariants({
					variant: local.variant,
				}),
				local.class,
			)}
			{...rest}
		/>
	);
}; Copy and paste the following code into your project:
import { cn } from "@/libs/cn";
import type { VariantProps } from "class-variance-authority";
import { cva } from "class-variance-authority";
import { type ComponentProps, splitProps } from "solid-js";
 
export const badgeVariants = cva(
	"inline-flex items-center rounded-md px-2.5 py-0.5 text-xs font-semibold transition-shadow focus-visible:(outline-none ring-1.5 ring-ring)",
	{
		variants: {
			variant: {
				default:
					"bg-primary text-primary-foreground shadow hover:bg-primary/80",
				secondary:
					"bg-secondary text-secondary-foreground hover:bg-secondary/80",
				destructive:
					"bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
				outline: "border text-foreground",
			},
		},
		defaultVariants: {
			variant: "default",
		},
	},
);
 
export const Badge = (
	props: ComponentProps<"div"> & VariantProps<typeof badgeVariants>,
) => {
	const [local, rest] = splitProps(props, ["class", "variant"]);
 
	return (
		<div
			class={cn(
				badgeVariants({
					variant: local.variant,
				}),
				local.class,
			)}
			{...rest}
		/>
	);
}; Usage
import { Badge } from "@/components/ui/badge"; <Badge variant="outline">badge</Badge> Link
 You can use the badgeVariants helper to create a link that looks like a badge. 
import { badgeVariants } from "@/components/ui/badge"; <A class={badgeVariants({ variant: "outline" })}>Click here</A>  Alternatively, you can set the asChild parameter and nest the link component. 
<Badge asChild>
  <As component={A} href="#">
    Login
  </As>
</Badge> Examples
Secondary
import { Badge } from "@repo/tailwindcss/ui/badge";
 
const BadgeSecondary = () => {
	return <Badge variant="secondary">Secondary</Badge>;
};
 
export default BadgeSecondary; Destructive
import { Badge } from "@repo/tailwindcss/ui/badge";
 
const BadgeDestructive = () => {
	return <Badge variant="destructive">Destructive</Badge>;
};
 
export default BadgeDestructive; Outline
import { Badge } from "@repo/tailwindcss/ui/badge";
 
const BadgeOutline = () => {
	return <Badge variant="outline">Outline</Badge>;
};
 
export default BadgeOutline;