DECK // NEXTUI

Badge

Spray-paint styled badge with four color variants: orange, yellow, ink, and dim. Suited for category labels, tags, and status indicators.

$npx @voltenworks/shipui add badge --theme deck
Or install the base component for free:
Live Preview
Open full demo
voltenworks.com/shipui/deck/demo/components#02-badge
Usage
TSX
<Badge variant="orange">Featured</Badge>
Variants
<Badge variant="orange">Featured</Badge>
<Badge variant="yellow">New</Badge>
<Badge variant="ink">Default</Badge>
<Badge variant="dim">Archived</Badge>
Source
TSX
import { cn } from '@/lib/utils'

type BadgeVariant = 'orange' | 'yellow' | 'ink' | 'dim'

interface BadgeProps {
  children:   React.ReactNode
  variant?:   BadgeVariant
  className?: string
}

const VARIANT_CLASS: Record<BadgeVariant, string> = {
  orange: 'badge--orange',
  yellow: 'badge--yellow',
  ink:    'badge--ink',
  dim:    'badge--dim',
}

export function Badge({
  children,
  variant   = 'orange',
  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 DECK // NEXT
DECK // NEXTUI

Button

Skate deck art button with primary, secondary, and ghost variants in three sizes. Rough-cut clip-path corners, spray-paint orange accent. Renders as a Next.js Link when an href is provided.

DECK // NEXTUI

Text

Polymorphic text primitive with body, caption, label, and code variants. IBM Plex Mono body font. Renders as p, span, or div via the `as` prop.

DECK // NEXTUI

Card

Composable card with Card, CardHeader, CardBody, and CardFooter sub-components. Dark woodgrain surfaces with spray-paint accent borders.