import { Box, Icon, Tab, TabList, TabPanel, TabPanels, Tabs, } from '@chakra-ui/react' import { ImNpm } from 'react-icons/im' import { FaYarn } from 'react-icons/fa' import { SiPnpm } from 'react-icons/si' import { BunIcon } from './icons/bun' import CodeBlock from './mdx-components/codeblock/codeblock' type PackageManagerName = 'npm' | 'yarn' | 'pnpm' | 'bun' type PackageManager = { icon: JSX.Element color: string name: PackageManagerName } const packageManagers: PackageManager[] = [ { name: 'npm', icon: , color: 'red.500', }, { name: 'yarn', icon: , color: 'blue.500', }, { name: 'pnpm', icon: , color: 'orange.500', }, { name: 'bun', icon: , color: '#cdbfa7', }, ] export function PackageManagers(props: { command: Partial> }) { const { command } = props return ( {packageManagers.map(({ name, icon, color }) => { if (!command[name]) return null return ( {icon} {name} ) })} {packageManagers.map(({ name }) => { if (!command[name]) return null return ( {command[name]} ) })} ) }