inspector/clients/tui/src/components/SelectableItem.tsx
Bob Dickinson 2488ca5e38
feat: port CLI, TUI, and launcher from v1.5 into v2 (#1452)
Ports the CLI, TUI, and launcher from v1.5 into v2 behind a single
`mcp-inspector` entrypoint (launcher → web/cli/tui). Includes the
`mcp-inspector --web --dev` launcher fix (Vite alias resolution + prod-server
double-start), the root `postinstall` install cascade with simplified CI, and
spec/AGENTS docs (no-workspaces rationale, Development setup).

Closes #1246.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 20:27:49 -04:00

22 lines
543 B
TypeScript

import React from "react";
import { Box, Text } from "ink";
/** Renders a selectable item: ▶ + space when selected, space + space when not. Fixed width to prevent layout shift. */
export function SelectableItem({
isSelected,
bold,
children,
}: {
isSelected: boolean;
bold?: boolean;
children: React.ReactNode;
}) {
return (
<Box flexShrink={0} flexDirection="row">
<Box width={2}>
<Text bold={bold}>{isSelected ? "▶ " : " "}</Text>
</Box>
<Text bold={bold}>{children}</Text>
</Box>
);
}