Switch Component Prompt
Prompt intent
Generate Switch implementations that follow Yoonet AU & NZ tokens, typography, spacing, and interaction conventions.
Output target
Switch variants + usage-ready code
Notifications on
Notifications off
switch-prompt.txtComponent prompt
# Switch — Yoonet AU & NZ Component Prompt
You are building a Switch 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/switch
- 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
## Usage
```tsx
import { Switch } from "@/components/ui/switch"
import { Label } from "@/components/ui/label"
<div className="flex items-center gap-3">
<Switch id="notifications" defaultChecked />
<Label htmlFor="notifications">Enable notifications</Label>
</div>
```
## Rules
- Checked state: var(--primary) background (#8A9EFF)
- Always pair with a Label (same htmlFor/id)
- Use for boolean settings — not for filters or modes (use Tabs instead)
- Thumb: white, track radius: 9999pxRecommended 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.