| name | Create Interactive Menu |
| description | Use this skill when creating dropdowns, context menus, or overlays that need a polished UX (open/close animation, click-outside, Escape, etc.). |
Create Interactive Menu
Preferred baseline: reuse the existing Lumina menu patterns (check src/lumina/components/common/Menu.tsx first).
Mandatory UX checklist
Any interactive menu/overlay must include:
- Open animation (fade-in + small translate/scale)
- Close animation (fade-out via CSS transitions)
- Click outside closes
- Escape closes
- Pointer-safe UX (hover delay when applicable)
- Viewport safety (flip/fit near edges when needed)
- Reduced-motion friendly (opacity/transform, no layout shift)
Templates
template_menu.tsx: a minimal menu component with animated open/closeuseMenuInteraction.ts: click-outside + Escape + optional hover delay
Style guide (Lumina)
- Background:
bg-white - Border:
border border-slate-200 - Shadow:
shadow-[0_10px_24px_rgba(15,23,42,0.12)] - Rounding:
rounded-2xl/rounded-xl