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/close - •
useMenuInteraction.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