import React from 'react'; import { CheckIcon, CloseIcon } from '../../ui/icons'; interface InlineRenameInputProps { value: string; onChange: (value: string) => void; onSubmit: () => void; onCancel: (event?: React.SyntheticEvent) => void; isSaving?: boolean; canSubmit?: boolean; inputRef?: React.Ref; className?: string; } const InlineRenameInput: React.FC = ({ value, onChange, onSubmit, onCancel, isSaving = false, canSubmit = true, inputRef, className = 'doc-title-edit', }) => { return ( onChange(event.target.value)} onClick={(event) => event.stopPropagation()} onKeyDown={(event) => { if (event.key === 'Enter') { event.preventDefault(); onSubmit(); } else if (event.key === 'Escape') { event.preventDefault(); onCancel(event); } }} onBlur={(event) => { const nextFocus = event.relatedTarget; if (!nextFocus || !event.currentTarget.parentElement?.contains(nextFocus)) { onCancel(); } }} /> ); }; export default InlineRenameInput;