import React from 'react'; import './Tab.scss'; import { Nav, TabContent, TabPane, Row, Col } from 'reactstrap'; import { TabItem } from './TabItem'; import classNames from 'classnames'; type TabType = { tabId: string; label: React.ReactNode; active?: boolean; content?: React.ReactNode; }; interface TabsProps extends React.HTMLAttributes { activeTabId?: string; activeClass?: string; navClass?: string; tabContentClass?: string; verticalIcons?: boolean; pills?: boolean; tabs: TabType[]; } export const VerticalTabs: React.FC = (props) => { const { tabs, navClass = '', tabContentClass = '', activeClass = '', activeTabId = '1', pills, verticalIcons = true, } = props; const [activeTab, setActiveTab] = React.useState(activeTabId); const toggle = (tab: string) => { if (activeTab !== tab) setActiveTab(tab); }; return (
{tabs.map((tab: TabType, index: number) => { const { tabId, content } = tab; return ( {content} ); })}
); }; export const HorizontalTabs: React.FC = (props) => { const { tabs, navClass = '', activeClass = '', activeTabId = '1', pills, verticalIcons = true } = props; const [activeTab, setActiveTab] = React.useState(activeTabId); const toggle = (tab: string) => { if (activeTab !== tab) setActiveTab(tab); }; return (
{tabs.map((tab: TabType, index: number) => { const { content, tabId } = tab; return ( {content} ); })}
); }; export const UnderlinedTabs: React.FC = (props) => { return ( ); }; export const IconTabs: React.FC = (props) => { return ; };