import { ReactNode, useState } from "react" import { motion } from "framer-motion" export function Keybind({ keys, children }: { keys: string[]; children: ReactNode }) { const [hovered, setHovered] = useState(false) const variants = { hidden: { opacity: 0, y: 6, x: "-50%" }, visible: { opacity: 1, y: 0, x: "-50%" } } return (
setHovered(true)} onMouseLeave={() => setHovered(false)} className="group relative h-full"> {keys.map((key, index) => ( {index > 0 && +} {(() => { switch (key.toLowerCase()) { case "cmd": return "⌘" case "shift": return "⇪" default: return key } })()} ))} {children}
) }