import type { ReactNode } from 'react' import { CollapsibleCard } from '../basic/collapsible-card' import { IconButton } from '../basic/icon-button' import { TerminalBoxLine, ExternalLinkLine } from '../basic/icons-inline' const ICON_CLASS = 'w-[var(--font-size-sm)] h-[var(--font-size-sm)] shrink-0 text-text-secondary' export interface TerminalCodeBlockPartProps { command?: string output?: string autoRanCommand?: string className?: string headerIcon?: ReactNode externalLinkIcon?: ReactNode } const defaultHeaderIcon = const defaultExternalLinkIcon = export function TerminalCodeBlockPart({ command, output, autoRanCommand, className, headerIcon, externalLinkIcon, }: TerminalCodeBlockPartProps) { const displayCommand = autoRanCommand ?? (command != null ? `Auto-Ran command: ${command}` : 'Terminal') return ( {displayCommand}} headerRight={ } contentPadding="0" className={className} >
{command != null && command !== '' && (
$
                {command}
              
)} {output != null && output !== '' && (
              {output}
            
)}
) } TerminalCodeBlockPart.displayName = 'TerminalCodeBlockPart' export const TerminalOutputCard = TerminalCodeBlockPart export type TerminalOutputCardProps = TerminalCodeBlockPartProps