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]}
)
})}
)
}