CRATE // NEXTUI

Badge

Artisanal badge with accent, ink, kraft, stamp, and faded variants. Uppercase tracking on warm cardboard surfaces.

$npx @voltenworks/shipui add badge --theme crate
Or install the base component for free:
Live Preview
Open full demo
voltenworks.com/shipui/crate/demo/components#02-badge
Usage
TSX
<Badge variant="accent">Fragile</Badge>
Variants
<Badge variant="accent">Fragile</Badge>
<Badge variant="ink">Single origin</Badge>
<Badge variant="kraft">Roasted fresh</Badge>
<Badge variant="stamp">Limited</Badge>
<Badge variant="faded">Sold out</Badge>
Source
TSX
import { cn } from '@/lib/utils'

type Variant = 'accent' | 'ink' | 'kraft' | 'stamp' | 'faded'

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

export function Badge({ variant = 'accent', className, children }: BadgeProps): React.JSX.Element {
  return (
    <span className={cn('badge', `badge--${variant}`, className)}>
      {children}
    </span>
  )
}
Preview in theme demoGet full theme, $29
Works withNext.js 15React 19Tailwind v4TypeScript 5
More from CRATE // NEXT
CRATE // NEXTUI

Button

Kraft-paper button with primary, secondary, ghost, and accent variants in three sizes. Archivo Black labels, warm cardboard palette. Renders as a Next.js Link when an href is provided.

CRATE // NEXTUI

Text

Polymorphic text component with body, caption, label, and code variants. Archivo Black for display, DM Sans for body.

CRATE // NEXTUI

Card

Origin card with shipping label aesthetic, tape motif, dashed borders, and slight rotation transform. Displays weight, roast, origin, and date fields.