import type { FC } from 'react' import { memo, useState, } from 'react' import cn from 'classnames' import type { BlockEnum } from '../types' import { useTabs } from './hooks' import type { ToolDefaultValue } from './types' import { TabsEnum } from './types' import Blocks from './blocks' import AllTools from './all-tools' export type TabsProps = { searchText: string onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void availableBlocksTypes?: BlockEnum[] noBlocks?: boolean } const Tabs: FC = ({ searchText, onSelect, availableBlocksTypes, noBlocks, }) => { const tabs = useTabs() const [activeTab, setActiveTab] = useState(noBlocks ? TabsEnum.Tools : TabsEnum.Blocks) return (
e.stopPropagation()}> { !noBlocks && (
{ tabs.map(tab => (
setActiveTab(tab.key)} > {tab.name}
)) }
) } { activeTab === TabsEnum.Blocks && !noBlocks && ( ) } { activeTab === TabsEnum.Tools && ( ) }
) } export default memo(Tabs)