AI textarea with a send button and optional attachment and voice input buttons
Invalid submissions always keep focus so the user can correct the textarea. With keepKeyboardOpenOnValidSubmit, valid submissions keep focus too.
By default, invalid submissions still keep focus, while valid submissions move focus to the button and close the virtual keyboard.
Submit expands to a labelled pill once `minCharacters` is reached.
Keeps the virtual keyboard open after a valid submit. Invalid submits always keep it open so the user can correct the textarea or attachments.