NOIR // NEXTUI

Badge

Inline badge with violet, cyan, green, amber, and red variants for status labels and category tags in the NOIR dark palette.

$npx @voltenworks/shipui add badge --theme noir
Or install the base component for free:
Live Preview
Open full demo
voltenworks.com/shipui/noir/demo/components#02-badge
Usage
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>
  )
}
Preview in theme demoGet full theme, $29
Works withNext.js 15React 19Tailwind v4TypeScript 5
More from NOIR // NEXT
NOIR // NEXTUI

Button

Dark-mode button with primary, secondary, and ghost variants in three sizes. Renders as a Next.js Link when an href is provided.

NOIR // NEXTUI

Card

Composable dark card container with header, body, and footer sub-components in the NOIR aesthetic.

NOIR // NEXTUI

Text

Polymorphic text primitive with body, caption, label, and code variants styled for the NOIR dark palette.