CRATE // NEXTUI
Badge
Artisanal badge with accent, ink, kraft, stamp, and faded variants. Uppercase tracking on warm cardboard surfaces.
$
Or install the base component for free:
Live Preview
Open full demoUsage
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>
)
}
Works withNext.js 15React 19Tailwind v4TypeScript 5
More from CRATE // NEXT
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.
Text
Polymorphic text component with body, caption, label, and code variants. Archivo Black for display, DM Sans for body.
Card
Origin card with shipping label aesthetic, tape motif, dashed borders, and slight rotation transform. Displays weight, roast, origin, and date fields.