{completionActive && onCompletionSelect && onCompletionClose && (
)}
into contentEditable (so :empty no longer matches)
data-empty={
inputText.replace(/\u200B/g, '').trim().length === 0
? 'true'
: 'false'
}
onInput={(e) => {
const target = e.target as HTMLDivElement;
// Filter out zero-width space that we use to maintain height
const text = target.textContent?.replace(/\u200B/g, '') || '';
onInputChange(text);
}}
onCompositionStart={onCompositionStart}
onCompositionEnd={onCompositionEnd}
onKeyDown={handleKeyDown}
suppressContentEditableWarning
/>
{/* Edit mode button */}
{/* Active file indicator */}
{activeFileName && (
)}
{/* Spacer */}
{/* Context usage indicator */}
{/* Command button */}
{/* Attach button */}
{/* Send/Stop button */}
{isStreaming || isWaitingForResponse ? (
) : (
)}