import { cva, type VariantProps } from "class-variance-authority" import type { ComponentProps } from "react" import { cn } from "~/lib/utils" const chipVariants = cva( "inline-flex shrink-0 items-center gap-1 rounded-full border text-xs font-medium whitespace-nowrap transition-colors outline-none select-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-pressed:border-transparent [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5", { variants: { variant: { default: "border-border bg-background text-foreground hover:bg-muted aria-pressed:bg-primary aria-pressed:text-primary-foreground", secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-pressed:bg-primary aria-pressed:text-primary-foreground", }, size: { default: "h-7 px-3", sm: "h-6 px-2.5", }, }, defaultVariants: { variant: "default", size: "default", }, } ) function Chip({ className, variant = "default", size = "default", active, type = "button", ...props }: ComponentProps<"button"> & VariantProps & { active?: boolean }) { return (