Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
21 lines
967 B
TypeScript
21 lines
967 B
TypeScript
import { Tooltip, Typography } from 'antd';
|
||
import { codeCellView } from './cellView';
|
||
import type { GridRow } from './statementGrid';
|
||
|
||
/** Ячейка кода (просмотр): код, у нераспознанного — серый сырой текст; подсказка — по `codeCellView`. */
|
||
export function CodeCell({ row, fontWeight }: { row: GridRow; fontWeight?: number }) {
|
||
const view = codeCellView(row);
|
||
const content = view.muted ? (
|
||
<Typography.Text type='secondary'>{view.text}</Typography.Text>
|
||
) : (
|
||
<span style={{ fontWeight }}>{view.text}</span>
|
||
);
|
||
if (!view.tip) return content;
|
||
return (
|
||
<Tooltip title={<span style={{ whiteSpace: 'pre-line' }}>{view.tip}</span>}>
|
||
{/* span с минимальной шириной: у расшифровки текст пуст, а подсказка должна открываться */}
|
||
<span style={{ display: 'inline-block', minWidth: 16 }}>{content}</span>
|
||
</Tooltip>
|
||
);
|
||
}
|