한 줄 입력창(<input>)이 아니라 여러 줄을 감당하는 <textarea>가 기반입니다. 핵심은 자동 높이 조절(autosize)입니다 — 매 입력마다 height를 auto로 리셋한 뒤 scrollHeight만큼 다시 늘려서, 스크롤바 없이 내용만큼 상자가 커지게 만듭니다. 최대 높이를 넘으면 그때부터 내부 스크롤로 전환합니다.
전송 버튼은 입력이 비어 있을 때 비활성화하고, 텍스트가 생기면 색이 채워지는 식으로 지금 보낼 수 있는지를 미리 알려줍니다. Enter로 전송, Shift+Enter로 줄바꿈이 관례지만 모바일에서는 반대로 기대하는 사람도 있으니 플랫폼에 맞춰 조정합니다.
첨부 아이콘은 파일·이미지 업로드를 겸하는 경우가 많고, 마이크 아이콘이 있으면 음성 입력으로 전환됩니다. 버튼이 많아질수록 입력창이 좁아지므로, 자주 안 쓰는 기능은 + 메뉴 뒤로 숨기는 게 낫습니다.
언제 쓰나
거의 모든 대화형 AI 제품의 기본 입력 컴포넌트입니다. 입력이 항상 짧은 한 줄 명령이라면 굳이 자동 높이 조절이 필요 없을 수 있습니다.