spb/spboucher.ai Public
spboucher.ai — personal website of Simon-Pierre Boucher.
TypeScript 93.4%
HTML 5.5%
CSS 1%
1/*2 badge.tsx3 spboucher.ai Web4 Author: Simon-Pierre Boucher5 Mail: contact@spboucher.ai6*/78import * as React from "react";9import { cva, type VariantProps } from "class-variance-authority";1011import { cn } from "@/lib/utils";1213const badgeVariants = cva(14 "inline-flex items-center gap-1 rounded-[0.4rem] border px-2 py-[0.2rem] font-mono text-[0.66rem] font-medium uppercase tracking-[0.1em] transition-colors",15 {16 variants: {17 variant: {18 default: "border-primary/25 bg-primary/8 text-primary",19 secondary: "border-border bg-secondary/70 text-secondary-foreground",20 outline: "border-border bg-transparent text-muted-foreground",21 },22 },23 defaultVariants: {24 variant: "default",25 },26 }27);2829export interface BadgeProps30 extends React.HTMLAttributes<HTMLDivElement>,31 VariantProps<typeof badgeVariants> {}3233function Badge({ className, variant, ...props }: BadgeProps) {34 return (35 <div className={cn(badgeVariants({ variant }), className)} {...props} />36 );37}3839export { Badge, badgeVariants };40