AI textarea with a send button and optional attachment and voice input buttons
Set busy to replace the submit button's content with a spinner and disable it.
Skip is disabled with it, so neither button can advance the flow while the last answer is still in flight.
Replaces submit content with a spinner and disables submit and skip.
Submit expands to a labelled pill once `minCharacters` is reached.
Toolbar text button before submit; pair with `onSkip`.