import * as React from 'react';
import { useContext } from 'react';
import { Box, NoSelect, Text, Ratchet } from '@anthropic/ink';
type Props = {
children: React.ReactNode;
height?: number;
};
export function MessageResponse({ children, height }: Props): React.ReactNode {
const isMessageResponse = useContext(MessageResponseContext);
if (isMessageResponse) {
return children;
}
const content = (
{' '}⎿
{children}
);
if (height !== undefined) {
return content;
}
return {content};
}
// This is a context that is used to determine if the message response
// is rendered as a descendant of another MessageResponse. We use it
// to avoid rendering nested ⎿ characters.
const MessageResponseContext = React.createContext(false);
function MessageResponseProvider({ children }: { children: React.ReactNode }): React.ReactNode {
return {children};
}