'use client'; import { DynamicCodeBlock } from '@/components/docs/dynamic-codeblock'; import { CodeTabs } from '@/registry/components/code-tabs'; import { Step, Steps } from 'fumadocs-ui/components/steps'; import { CollapsibleContent } from 'fumadocs-ui/components/ui/collapsible'; import { Collapsible } from 'fumadocs-ui/components/ui/collapsible'; import { CollapsibleTrigger } from 'fumadocs-ui/components/ui/collapsible'; import { Button } from '@workspace/ui/components/ui/button'; import { cn } from '@workspace/ui/lib/utils'; import { useRef, useState } from 'react'; import ReactIcon from '@workspace/ui/components/icons/react-icon'; const getDepsCommands = (dependencies?: string[]) => { if (!dependencies) return undefined; return { npm: `npm install ${dependencies?.join(' ')}`, pnpm: `pnpm add ${dependencies?.join(' ')}`, yarn: `yarn add ${dependencies?.join(' ')}`, bun: `bun add ${dependencies?.join(' ')}`, }; }; const getRegistryDepsCommands = (dependencies?: string[]) => { if (!dependencies) return undefined; const quotedDependencies = dependencies.map((dep) => `"${dep}"`).join(' '); return { npm: `npx shadcn@latest add ${quotedDependencies}`, pnpm: `pnpm dlx shadcn@latest add ${quotedDependencies}`, yarn: `npx shadcn@latest add ${quotedDependencies}`, bun: `bun x --bun shadcn@latest add ${quotedDependencies}`, }; }; export const ComponentManualInstallation = ({ path, dependencies, devDependencies, registryDependencies, code, }: { path: string; dependencies?: string[]; devDependencies?: string[]; registryDependencies?: string[]; code: string; }) => { const depsCommands = getDepsCommands(dependencies); const devDepsCommands = getDepsCommands(devDependencies); const registryDepsCommands = getRegistryDepsCommands(registryDependencies); const [isOpened, setIsOpened] = useState(false); const collapsibleRef = useRef(null); return ( {dependencies && depsCommands && (

Install the following dependencies:

)} {devDependencies && devDepsCommands && (

Install the following dev dependencies:

)} {registryDependencies && registryDepsCommands && (

Install the following registry dependencies:

)}

Copy and paste the following code into your project:

} />

Update the import paths to match your project setup.

); };