EMBER // NEXTUI
Badge
Ember-styled badge with five color variants: orange, amber, green, red, and muted. Suited for category labels, status tags, and inline highlights.
$
Or install the base component for free:
Live Preview
Open full demoUsage
TSX
<Badge variant="orange">Featured</Badge>Variants
<Badge variant="orange">Featured</Badge>
<Badge variant="amber">Pending</Badge>
<Badge variant="green">Active</Badge>
<Badge variant="red">Expired</Badge>
<Badge variant="muted">Archived</Badge>
Source
TSX
import type * as React from 'react'
import { cn } from '@/lib/utils'
interface BadgeProps {
children: React.ReactNode
variant?: 'orange' | 'amber' | 'green' | 'red' | 'muted'
className?: string
}
const variantClass: Record<NonNullable<BadgeProps['variant']>, string> = {
orange: 'emb-badge emb-badge-orange',
amber: 'emb-badge emb-badge-amber',
green: 'emb-badge emb-badge-green',
red: 'emb-badge emb-badge-red',
muted: 'emb-badge emb-badge-muted',
}
export function Badge({ children, variant = 'orange', className }: BadgeProps): React.JSX.Element {
return (
<span className={cn(variantClass[variant], className)}>
{children}
</span>
)
}
Works withNext.js 15React 19Tailwind v4TypeScript 5
More from EMBER // NEXT
Button
Warm-toned button with primary, secondary, and ghost variants in three sizes. Renders as a Next.js Link when an href is provided.
Text
Polymorphic text primitive with body, caption, label, and code variants. Renders as p, span, or div via the `as` prop.
Card
Composable card with Card, CardHeader, CardBody, and CardFooter sub-components. Uses `emb-ui-card` CSS classes for the Ember warm palette.