'use client' import { motion } from 'framer-motion' import { Tabs, TabsContent, TabsList, TabsTrigger } from 'ui' import { CommandCopyButton } from './command-copy-button' import { useLocalStorage } from './use-local-storage' import { getInstallCommands, type PackageManager, type ShadcnFramework, } from '@/lib/install-command' interface CommandCopyProps { name: string highlight?: boolean // For Vue, we need to use the `shadcn-vue` package instead of `shadcn` framework?: ShadcnFramework } const LOCAL_STORAGE_KEY = 'package-manager-copy-command' export function Command({ name, highlight, framework = 'react' }: CommandCopyProps) { const [value, setValue] = useLocalStorage(LOCAL_STORAGE_KEY, 'npm') const commands = getInstallCommands(name, { framework }) return (
{highlight && ( )}
{(Object.keys(commands) as PackageManager[]).map((manager) => ( {manager} ))} {(Object.keys(commands) as PackageManager[]).map((manager) => (
$ {commands[manager]}
))}
) }