import type { KeyboardEvent } from 'react'; interface TabItem { id: string; label: string; count?: number; } interface TabsProps { items: TabItem[]; activeId: string; onChange: (id: string) => void; } export function Tabs({ items, activeId, onChange }: TabsProps): JSX.Element { function handleKeyDown(e: KeyboardEvent, index: number) { if (e.key === 'ArrowRight') { e.preventDefault(); onChange(items[(index + 1) % items.length].id); } else if (e.key === 'ArrowLeft') { e.preventDefault(); onChange(items[(index - 1 + items.length) % items.length].id); } } return (
{items.map((item, index) => { const isActive = item.id === activeId; return ( ); })}
); }