Badge Component Prompt
Prompt intent
Generate Badge implementations that follow Yoonet AU & NZ tokens, typography, spacing, and interaction conventions.
Output target
Badge variants + usage-ready code
DefaultSecondaryOutlineDestructive
badge-prompt.txtComponent prompt
# Badge — Yoonet AU & NZ Component Prompt
You are building a Badge component for Yoonet AU & NZ.
Use shadcn/ui with the CSS variables below applied to :root.
## Active Brand Tokens
--primary: hsl(231 100% 77%); /* #8A9EFF */
--primary-foreground: hsl(0 0% 100%); /* #fff */
--secondary: hsl(183 70% 76%);
--secondary-foreground: hsl(235 22% 12%);
--destructive: hsl(341 100% 70%); /* #FF6495 */
--radius: 0.5rem;
--font-heading: var(--font-heading); /* Manrope */
--font-body: var(--font-body); /* Inter */
## Typography
- Heading font: Manrope (weights 700, 800)
- Body / UI font: Inter (weights 400, 700)
## Code Conventions
- Import from @/components/ui/badge
- Use cn() from @/lib/utils for conditional classes
- "use client" only when state or events are needed
- No inline hex values — always reference CSS variables
## Variants
- default: bg-primary text-primary-foreground (#8A9EFF / #fff)
- secondary: bg-secondary text-secondary-foreground
- outline: border border-current bg-transparent
- destructive: bg-destructive text-destructive-foreground (#FF6495)
## Usage
```tsx
import { Badge } from "@/components/ui/badge"
<Badge>Active</Badge>
<Badge variant="secondary">In Review</Badge>
<Badge variant="outline">Draft</Badge>
<Badge variant="destructive">Error</Badge>
```
## Rules
- Use for status labels, tags, and counts
- Keep badge text short (1–3 words)
- Never use colour alone to convey meaning — pair with descriptive textRecommended workflow
- Select your brand and component variant first.
- Paste this prompt in your AI tool and request one state at a time.
- Validate spacing, contrast, and interaction states before shipping.