# OutputButtons

`OutputButtons` renders the single trailing action button of the message composer.

It selects which button to show based on the current composer state, in priority order: `StopMessageStreamingButton` while the AI is thinking or generating, `EditButton` when editing a message or a command is active, `CooldownTimer` while slow mode is active, `StartAudioRecordingButton` when audio recording is enabled and there is no text or attachments, and `SendButton` otherwise. All values are derived from context, and every prop is an optional override of that context-derived value.

## Props

| Prop                                 | Description                                                              | Type      |
| ------------------------------------ | ------------------------------------------------------------------------ | --------- |
| `isOnline`                           | Connection status; disables send for commands while offline.             | `boolean` |
| `channel`                            | Channel used to detect the AI generation state.                          | `Channel` |
| `audioRecordingEnabled`              | Show the audio recording button when text and attachments are empty.     | `boolean` |
| `audioRecordingSendOnComplete`       | Send the recording automatically once it completes.                      | `boolean` |
| `asyncMessagesMinimumPressDuration`  | Minimum press duration to start an async audio recording.                | `number`  |
| `asyncMessagesSlideToCancelDistance` | Slide distance required to cancel a recording.                           | `number`  |
| `asyncMessagesLockDistance`          | Slide distance required to lock a recording.                             | `number`  |
| `cooldownIsActive`                   | Render the cooldown timer instead of the send button.                    | `boolean` |
| `hasAttachments`                     | Whether the composer has attachments (affects the audio-vs-send choice). | `boolean` |


---

This page was last updated at 2026-08-26T17:00:29.563Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/sdk/react-native/ui-components/message-composer/components/output-buttons/output-buttons/](https://getstream.io/chat/docs/sdk/react-native/ui-components/message-composer/components/output-buttons/output-buttons/).