NOIR // NEXTUI
Badge
Inline badge with violet, cyan, green, amber, and red variants for status labels and category tags in the NOIR dark palette.
$
Or install the base component for free:
Live Preview
Open full demoUsage
TSX
<Badge variant="violet">New</Badge>Variants
<Badge variant="violet">New</Badge>
<Badge variant="cyan">Beta</Badge>
<Badge variant="green">Live</Badge>
<Badge variant="amber">Warning</Badge>
<Badge variant="red">Error</Badge>
Source
TSX
import { cn } from '@/lib/utils'
type BadgeVariant = 'violet' | 'cyan' | 'green' | 'amber' | 'red'
interface BadgeProps {
children: React.ReactNode
variant?: BadgeVariant
className?: string
}
const VARIANT_CLASS: Record<BadgeVariant, string> = {
violet: 'badge--violet',
cyan: 'badge--cyan',
green: 'badge--green',
amber: 'badge--amber',
red: 'badge--red',
}
export function Badge({
children,
variant = 'violet',
className,
}: BadgeProps): React.JSX.Element {
return (
<span className={cn('badge', VARIANT_CLASS[variant], className)}>
{children}
</span>
)
}
Works withNext.js 15React 19Tailwind v4TypeScript 5
More from NOIR // NEXT
Button
Dark-mode button with primary, secondary, and ghost variants in three sizes. Renders as a Next.js Link when an href is provided.
Card
Composable dark card container with header, body, and footer sub-components in the NOIR aesthetic.
Text
Polymorphic text primitive with body, caption, label, and code variants styled for the NOIR dark palette.