Getting Started
Components52
- Accordion
- Alert
- Alert Dialog
- Attachment
- Badge
- Breadcrumb
- Bubble
- Button
- Button Group
- Calendar
- Card
- Checkbox
- Collapsible
- Command
- Context Menu
- Data Table
- Dialog
- Drawer
- Dropdown Menu
- Empty
- Field
- Hover Card
- Input
- Input Group
- Item
- Kbd
- Label
- Marker
- Menubar
- Message
- Message Scroller
- Pagination
- Popover
- Progress
- Questionnaire
- Radio Group
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toggle
- Toggle Group
- Tooltip
NewDisconnectedFailedDraftBetaDocs
import { Badge } from "@/components/ui/badge"
export function BadgeDemo() {
return (
<div className="flex flex-wrap items-center gap-2">
<Badge>New</Badge>
<Badge variant="secondary">Disconnected</Badge>
<Badge variant="destructive">Failed</Badge>
<Badge variant="outline">Draft</Badge>
<Badge variant="ghost">Beta</Badge>
<Badge variant="link">Docs</Badge>
</div>
)
}Installation#
pnpm dlx shadcn@latest add https://ui.ikramhasan.com/r/badge.json
Usage#
import { Badge } from "@/components/ui/badge"<Badge variant="default | outline | secondary | destructive">Badge</Badge>Examples#
Status#
ConnectedDisconnected
import { Badge } from "@/components/ui/badge"
export function BadgeStatus() {
return (
<div className="flex flex-wrap items-center gap-2">
<Badge className="bg-success/15 text-success">Connected</Badge>
<Badge variant="secondary">Disconnected</Badge>
</div>
)
}With icon#
NewConnectedChangelog
import { ArrowUpRightIcon, CheckIcon, SparklesIcon } from "lucide-react"
import { Badge } from "@/components/ui/badge"
export function BadgeWithIcon() {
return (
<div className="flex flex-wrap items-center gap-2">
<Badge>
<SparklesIcon data-icon="inline-start" />
New
</Badge>
<Badge className="bg-success/15 text-success">
<CheckIcon data-icon="inline-start" />
Connected
</Badge>
<Badge variant="outline">
Changelog
<ArrowUpRightIcon data-icon="inline-end" />
</Badge>
</div>
)
}After a title#
ShopifyConnected
import { Badge } from "@/components/ui/badge"
export function BadgeAfterATitle() {
return (
<h3 className="flex items-center gap-2 text-xl font-medium">
Shopify
<Badge className="bg-success/15 text-success">Connected</Badge>
</h3>
)
}As link#
import { Badge } from "@/components/ui/badge"
export function BadgeAsLink() {
return (
<div className="flex flex-wrap items-center gap-2">
<Badge render={<a href="#badge" />}>New</Badge>
<Badge variant="secondary" render={<a href="#badge" />}>
Disconnected
</Badge>
<Badge variant="outline" render={<a href="#badge" />}>
Draft
</Badge>
</div>
)
}API Reference#
Badge#
The Badge component displays a badge or a component that looks like a badge.
| Prop | Type | Default |
|---|---|---|
variant | "default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | "default" |
className | string | - |