import type React from "react"; import { useState } from "react"; import { Heading, IconComponent, majorScale, Pane, Paragraph, Tab, Tablist, } from "evergreen-ui"; import type { IconType } from "react-icons"; export interface TabType { name: string; icon: IconComponent | IconType; element: () => JSX.Element; disabled?: boolean; } export interface SlideSheetTabbedContentProps { heading: string; description: string; tabs: TabType[]; tabIcon?: React.ReactNode; } export const SlideSheetTabbedContent = ({ heading, description, tabs, tabIcon, }: SlideSheetTabbedContentProps): JSX.Element => { const [selectedTab, setSelectedTab] = useState(0); return ( <> {tabIcon} {heading} {description} {tabs.map((Entry, index) => ( setSelectedTab(index)} isSelected={selectedTab === index} > {Entry.name} ))} {tabs.map((Entry, index) => ( {!Entry.disabled && } ))} ); };