import React, { useState } from 'react'; interface Tab { id: string; label: string; content: React.ReactNode; } interface TabsProps { tabs: Tab[]; defaultTab?: string; onChange?: (id: string) => void; className?: string; } const Tabs: React.FC = ({ tabs, defaultTab, onChange, className = "" }) => { const [activeTab, setActiveTab] = useState(defaultTab || tabs[0]?.id); const handleTabChange = (id: string) => { setActiveTab(id); if (onChange) { onChange(id); } }; if (!tabs || tabs.length === 0) return null; return (
{tabs.map((tab) => ( ))}
{tabs.find((tab) => tab.id === activeTab)?.content}
); }; export default Tabs;