ivt
Version:
Ivt Components Library
1 lines • 4.57 kB
Source Map (JSON)
{"version":3,"file":"badge-rV4HbE_R.mjs","sources":["../../src/components/ui/badge/badge.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport type BadgeVariants = VariantProps<typeof badgeVariants>[\"variant\"];\n\nexport interface BadgeProps\n\textends React.HTMLAttributes<HTMLDivElement>,\n\t\tVariantProps<typeof badgeVariants> {}\n\nconst badgeVariants = cva(\n\t\"inline-flex items-center justify-center rounded-md border px-1.5 py-0.5 text-xs cursor-default font-medium w-fit whitespace-nowrap shrink-0 gap-1 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: \"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80\",\n\t\t\t\tsecondary:\n\t\t\t\t\t\"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n\t\t\t\tdestructive:\n\t\t\t\t\t\"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80\",\n\t\t\t\tpositive:\n\t\t\t\t\t\"border-transparent bg-positive text-positive-foreground shadow hover:bg-positive/80\",\n\t\t\t\twarning: \"border-transparent bg-warning text-warning-foreground shadow hover:bg-warning/80\",\n\t\t\t\tinfo: \"border-transparent bg-info text-info-foreground shadow hover:bg-info/80\",\n\t\t\t\toutline: \"text-foreground\",\n\t\t\t},\n\t\t\tsubtle: {\n\t\t\t\ttrue: \"\",\n\t\t\t\tfalse: \"\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"default\",\n\t\t},\n\t},\n);\n\nfunction Badge({\n\tclassName,\n\tvariant,\n\tsubtle = false,\n\tasChild = false,\n\t...props\n}: React.ComponentProps<\"span\"> & VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : \"span\";\n\n\tconst subtleStyles = (variant: BadgeVariants) => {\n\t\tif (variant === \"default\") {\n\t\t\treturn \"border-transparent bg-accent text-primary hover:bg-accent/80\";\n\t\t}\n\t\tif (variant === \"destructive\") {\n\t\t\treturn \"border-transparent bg-destructive-foreground text-destructive hover:bg-destructive-foreground/80\";\n\t\t}\n\t\tif (variant === \"positive\") {\n\t\t\treturn \"border-transparent bg-positive-foreground text-positive hover:bg-positive-foreground/80\";\n\t\t}\n\t\tif (variant === \"warning\") {\n\t\t\treturn \"border-transparent bg-warning-foreground text-warning hover:bg-warning-foreground/80\";\n\t\t}\n\t\tif (variant === \"info\") {\n\t\t\treturn \"border-transparent bg-info-foreground text-info hover:bg-info-foreground/80\";\n\t\t}\n\n\t\treturn \"\";\n\t};\n\n\tconst finalSubtleStyles = subtleStyles(variant);\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"badge\"\n\t\t\tclassName={cn(badgeVariants({ variant }), subtle && finalSubtleStyles, className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Badge, badgeVariants };\n"],"names":["badgeVariants","cva","variants","variant","default","secondary","destructive","positive","warning","info","outline","subtle","true","false","defaultVariants","Badge","className","asChild","props","Comp","Slot","subtleStyles","finalSubtleStyles","React","data-slot","cn"],"mappings":";;;;;AAWA,MAAMA,aAAAA,GAAgBC,IACrB,sXAAA,EACA;IACCC,QAAAA,EAAU;QACTC,OAAAA,EAAS;YACRC,OAAAA,EAAS,kFAAA;YACTC,SAAAA,EACC,iFAAA;YACDC,WAAAA,EACC,8FAAA;YACDC,QAAAA,EACC,qFAAA;YACDC,OAAAA,EAAS,kFAAA;YACTC,IAAAA,EAAM,yEAAA;YACNC,OAAAA,EAAS;AACV,SAAA;QACAC,MAAAA,EAAQ;YACPC,IAAAA,EAAM,EAAA;YACNC,KAAAA,EAAO;AACR;AACD,KAAA;IACAC,eAAAA,EAAiB;QAChBX,OAAAA,EAAS;AACV;AACD,CAAA;AAGD,SAASY,KAAAA,CAAM,EACdC,SAAS,EACTb,OAAO,EACPQ,MAAAA,GAAS,KAAK,EACdM,OAAAA,GAAU,KAAK,EACf,GAAGC,KAAAA,EACwF,EAAA;IAC3F,MAAMC,IAAAA,GAAOF,UAAUG,IAAAA,GAAO,MAAA;AAE9B,IAAA,MAAMC,eAAe,CAAClB,OAAAA,GAAAA;AACrB,QAAA,IAAIA,YAAY,SAAA,EAAW;YAC1B,OAAO,8DAAA;AACR,QAAA;AACA,QAAA,IAAIA,YAAY,aAAA,EAAe;YAC9B,OAAO,kGAAA;AACR,QAAA;AACA,QAAA,IAAIA,YAAY,UAAA,EAAY;YAC3B,OAAO,yFAAA;AACR,QAAA;AACA,QAAA,IAAIA,YAAY,SAAA,EAAW;YAC1B,OAAO,sFAAA;AACR,QAAA;AACA,QAAA,IAAIA,YAAY,MAAA,EAAQ;YACvB,OAAO,6EAAA;AACR,QAAA;QAEA,OAAO,EAAA;AACR,IAAA,CAAA;AAEA,IAAA,MAAMmB,oBAAoBD,YAAAA,CAAalB,OAAAA,CAAAA;AAEvC,IAAA,qBACCoB,cAAA,CAAA,aAAA,CAACJ,IAAAA,EAAAA;QACAK,WAAAA,EAAU,OAAA;AACVR,QAAAA,SAAAA,EAAWS,GAAGzB,aAAAA,CAAc;AAAEG,YAAAA;AAAQ,SAAA,CAAA,EAAIQ,UAAUW,iBAAAA,EAAmBN,SAAAA,CAAAA;AACtE,QAAA,GAAGE;;AAGP;;;;"}