Badge
muffled-ui-registry/badgeFreeComponent
Status labels on ink and paper. Utility hues, hairline border, mono lowercase, no shadows.
Live preview
live · rendered by the registry
Rendered by muffled-ui-registry on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.muffled.studio/r/badge.jsonSource
1import { mergeProps } from "@base-ui/react/merge-props"2import { useRender } from "@base-ui/react/use-render"3import { cva, type VariantProps } from "class-variance-authority"45import { cn } from "@/registry/lib/surface"67const badgeVariants = cva(8 "group/badge inline-flex w-fit shrink-0 items-center gap-1.5 rounded-md border border-current bg-transparent px-2 py-[3px] font-mono text-[10px] font-medium tracking-[0.06em] lowercase whitespace-nowrap outline-none [&>svg]:pointer-events-none [&>svg]:size-3",9 {10 variants: {11 variant: {12 default: "text-muted-foreground",13 filled: "border-primary bg-primary text-primary-foreground",14 red: "text-u-red",15 green: "text-u-green",16 amber: "text-u-amber",17 blue: "text-u-blue",18 },19 },20 defaultVariants: {21 variant: "default",22 },23 }24)2526function BadgeDot({ className }: { className?: string }) {27 return (28 <span29 aria-hidden30 className={cn("size-1.5 shrink-0 rounded-full bg-current", className)}31 />32 )33}3435function Badge({36 className,37 variant = "default",38 render,39 ...props40}: useRender.ComponentProps<"span"> & VariantProps<typeof badgeVariants>) {41 return useRender({42 defaultTagName: "span",43 props: mergeProps<"span">(44 {45 className: cn(badgeVariants({ variant }), className),46 },47 props48 ),49 render,50 state: {51 slot: "badge",52 variant,53 },54 })55}5657export { Badge, BadgeDot, badgeVariants }
What it pulls in
npm packages
Other registry items
Files it writes
More from muffled-ui-registry
All 55 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | muffled-ui-registry | Components | Free | 2 deps | |
| Alertalert | muffled-ui-registry | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | muffled-ui-registry | Components | Free | 1 dep | |
| Avataravatar | muffled-ui-registry | Components | Free | 1 dep | |
| Breadcrumbbreadcrumb | muffled-ui-registry | Components | Free | 2 deps | |
| Buttonbutton | muffled-ui-registry | Components | Free | 2 deps | |
| Button Groupbutton-group | muffled-ui-registry | Components | Free | 2 deps | |
| Calendarcalendar | muffled-ui-registry | Components | Free | 2 deps |
