import clsx from 'clsx'; import { ReactNode } from 'react'; import styles from './NavTabs.module.css'; export interface Option { label: string | ReactNode; children?: ReactNode; id: string | number; } interface Props { options: Option[]; selectedId?: string | number; onSelect?(id: string | number): void; } export function NavTabs({ options, selectedId, onSelect = () => {} }: Props) { const selected = options.find((option) => option.id === selectedId); return ( <> {selected && selected.children && (
{selected.children}
)} ); function handleSelect(option: Option) { if (option.children) { onSelect(option.id); } } }