CodeBlockCommand() — ui Function Reference
Architecture documentation for the CodeBlockCommand() function in code-block-command.tsx from the ui codebase.
Entity Profile
Dependency Diagram
graph TD 734ed727_a7e0_310c_d718_af8c05fc52e5["CodeBlockCommand()"] ca1d2f63_03fd_f5a9_ac1b_da830c057174["code-block-command.tsx"] 734ed727_a7e0_310c_d718_af8c05fc52e5 -->|defined in| ca1d2f63_03fd_f5a9_ac1b_da830c057174 style 734ed727_a7e0_310c_d718_af8c05fc52e5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/v4/components/code-block-command.tsx lines 21–128
export function CodeBlockCommand({
__npm__,
__yarn__,
__pnpm__,
__bun__,
}: React.ComponentProps<"pre"> & {
__npm__?: string
__yarn__?: string
__pnpm__?: string
__bun__?: string
}) {
const [config, setConfig] = useConfig()
const [hasCopied, setHasCopied] = React.useState(false)
React.useEffect(() => {
if (hasCopied) {
const timer = setTimeout(() => setHasCopied(false), 2000)
return () => clearTimeout(timer)
}
}, [hasCopied])
const packageManager = config.packageManager || "pnpm"
const tabs = React.useMemo(() => {
return {
pnpm: __pnpm__,
npm: __npm__,
yarn: __yarn__,
bun: __bun__,
}
}, [__npm__, __pnpm__, __yarn__, __bun__])
const copyCommand = React.useCallback(() => {
const command = tabs[packageManager]
if (!command) {
return
}
copyToClipboardWithMeta(command, {
name: "copy_npm_command",
properties: {
command,
pm: packageManager,
},
})
setHasCopied(true)
}, [packageManager, tabs])
return (
<div className="overflow-x-auto">
<Tabs
value={packageManager}
className="gap-0"
onValueChange={(value) => {
setConfig({
...config,
packageManager: value as "pnpm" | "npm" | "yarn" | "bun",
})
}}
>
<div className="border-border/50 flex items-center gap-2 border-b px-3 py-1">
<div className="bg-foreground flex size-4 items-center justify-center rounded-[1px] opacity-70">
<IconTerminal className="text-code size-3" />
</div>
<TabsList className="rounded-none bg-transparent p-0">
{Object.entries(tabs).map(([key]) => {
return (
<TabsTrigger
key={key}
value={key}
className="data-[state=active]:bg-background! data-[state=active]:border-input h-7 border border-transparent pt-0.5 shadow-none!"
>
{key}
</TabsTrigger>
)
})}
</TabsList>
</div>
<div className="no-scrollbar overflow-x-auto">
{Object.entries(tabs).map(([key, value]) => {
return (
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does CodeBlockCommand() do?
CodeBlockCommand() is a function in the ui codebase, defined in apps/v4/components/code-block-command.tsx.
Where is CodeBlockCommand() defined?
CodeBlockCommand() is defined in apps/v4/components/code-block-command.tsx at line 21.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free