import React, { useState, JSX } from 'react'; interface Tab { id: string; title: string | JSX.Element; titleText?: string; content: JSX.Element; disabled?: boolean; } interface TabsProps { tabs: Tab[]; style?: 'default' | 'box'; className?: { container?: string; tab?: string; content?: string; }; defaultActiveTab?: string; } export default function Tabs({ tabs, style = 'default', className, defaultActiveTab, }: TabsProps) { const [activeTab, setActiveTab] = useState(() => { // 1) si se pasó defaultActiveTab y existe en tabs (y no está disabled), úsala if (defaultActiveTab) { const found = tabs.find((t) => t.id === defaultActiveTab && !t.disabled); if (found) return found.id; } // 2) si no, buscar el primer tab habilitado const firstEnabled = tabs.find((t) => !t.disabled); return firstEnabled ? firstEnabled.id : tabs[0]?.id || ''; }); return ( <>
{tabs.map((tab) => (
{activeTab === tab.id && tab.content}
))}
); }