import React, { JSX, useCallback } from 'react'; import { Clickable } from '../Clickable'; import './Tab.scss'; export type Tab = { name: string; title: string; panel: JSX.Element; }; export type TabProps = { tab: Tab; activeTab: string; onTabChosen(tabName: string): void; }; export const Tab: React.FC = ({ tab, onTabChosen, activeTab }) => { const handleClick = useCallback(() => onTabChosen(tab.name), [tab.name, onTabChosen]); const handleKeyDown = useCallback( (event: React.KeyboardEvent) => { if (event.key === 'Enter') { handleClick(); } }, [handleClick] ); return ( {tab.title} ); };