import { Children, type PropsWithChildren, useEffect, useState } from 'react'; import { Tab, Tabs } from '@mui/material'; import { TabContext, TabPanel } from '@mui/lab'; import { getTransientTabs, getVisibleTabs, tabClick } from './tabUtils'; import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps'; interface SubTabsProps extends PConnProps { // If any, enter additional props that only exist on this component } export default function SubTabs(props: PropsWithChildren) { const { children = [] } = props; const defaultTabIndex = 0; const deferLoadedTabs = Children.toArray(children)[0]; const availableTabs = getVisibleTabs(deferLoadedTabs, 'tabsSubs'); const [currentTabId, setCurrentTabId] = useState(defaultTabIndex.toString()); const [tabItems, setTabitem] = useState([]); useEffect(() => { const tempTabItems = getTransientTabs(availableTabs, currentTabId, tabItems); setTabitem(tempTabItems); }, [currentTabId]); const handleTabClick = (id, index: string) => { setCurrentTabId(index); tabClick(index, availableTabs, currentTabId, setCurrentTabId, tabItems); }; return ( {tabItems.map((tab: any) => ( ))} {tabItems.map((tab: any) => (
{tab.content ? tab.content : 'No content exists'}
))}
); }