Badge
Semantic status badge with six color variants: green, blue, yellow, red, purple, and muted. Suited for version tags, API status labels, and changelog markers.
<Badge variant="green">Stable</Badge><Badge variant="green">Stable</Badge>
<Badge variant="blue">Beta</Badge>
<Badge variant="yellow">Deprecated</Badge>
<Badge variant="red">Breaking</Badge>
<Badge variant="purple">New</Badge>
<Badge variant="muted">Internal</Badge>
import type * as React from 'react'
import { cn } from '@/lib/utils'
type BadgeVariant = 'green' | 'blue' | 'yellow' | 'red' | 'purple' | 'muted'
interface BadgeProps {
variant?: BadgeVariant
children: React.ReactNode
className?: string
}
export function Badge({
variant = 'muted',
children,
className,
}: BadgeProps): React.JSX.Element {
return (
<span className={cn('vault-badge', `vault-badge--${variant}`, className)}>
{children}
</span>
)
}
Button
Dark docs-style button with primary, secondary, and ghost variants in three sizes. Renders as a Next.js Link for internal hrefs and a plain anchor for external links.
Callout
Inline callout block with four semantic variants: info, warn, tip, and danger. Each renders a matching icon and left-accent color for inline documentation alerts.
Card
Feature card with icon, title, optional badge, and description. Accepts an accent prop for a highlighted border variant. Icon set: book, code, key, zap, layers, terminal, shield, cpu.
CodeBlock
Syntax-highlighted code block with a header showing the language or file title and a one-click copy button. Client component with clipboard feedback.