- Text Input: The message composer provides a multi-line text input area where users can type their messages.
- Voice Recording Button: This button is often represented by a microphone symbol. Users can tap or click to start recording their voice message.
- Send Button: The message composer includes a “Send” button that allows users to send their composed message to the recipient.
- Attachment Options: The message composer also includes options to attach files, images, emojis, and other media to the message.
- Live reactions: The message composer allows users to express their immediate responses or emotions to content in real time. Instead of simply liking or commenting on a message, users can use live reactions to provide instant feedback and engage with the content more dynamically.
CometChat’s React UI Kit supports the following extensions in the message composer
- Stickers
- Polls
- Collaborative whiteboard
- Collaborative document
Properties
Chat Information
Details associated with a chat conversation or chat participants.Name | Type | Description |
---|---|---|
user | User Class | View details of this particular CometChat user |
group | Group Class | View details of this particular CometChat group |
Message input
Customise text and controlsName | Type | Description |
---|---|---|
text | string | Text shown in the message input populated by default. |
placeholderText | string | Sample text that appears in the message input as a prompt or suggestion |
auxiliaryButtonsAlignment | AuxiliaryButtonAlignment | This refers to the visual arrangement or positioning of the auxiliary buttons within the composer list. Defaults to right alignment. |
attachmentOptions | MessageComposerAction | This refer to the functionalities that allow users to attach various types of files, media, or content to their messages such as polls, collaborative document etc |
Asset URLs
Custom asset URL used for graphical representation.Name | Type | Description |
---|---|---|
attachmentIconURL | string | Asset URL for the attach icon. |
LiveReactionIconURL | string | Asset URL for the live reaction. |
voiceRecordingIconURL | string | Asset URL for the video recording icon. |
voiceRecordingStartIconURL | string | Asset URL for the start icon in video recording. |
voiceRecordingStopIconURL | string | Asset URL for the stop icon in video recording. |
voiceRecordingSubmitIconURL | string | Asset URL for the submit icon in video recording. |
voiceRecordingCloseIconURL | string | Asset URL for the close icon in video recording. |
Custom view
UI component created and customised by the developer to meet your design or functional requirements.Name | Type | Description |
---|---|---|
sendButtonView | view | User-defined component to customise the send button. |
secondaryButtonView | view | User-defined component to customise the secondary button. By default, it shows the attach button. |
auxiliaryButtonView | view | User-defined component to customise the auxiliary button. By default, it shows the stickers button. |
headerView | view | User-defined Vue component to customise the top of the message header component. You can customise it to display additional information or options related to the composition of messages such a giphy keyboard. |
Configurations
Properties of the UserMemberWrapper component that are available for customisation.Name | Type | Description |
---|---|---|
userMemberWrapperConfiguration | UserMemberWrapperConfiguration | Properties of the userMemberWrapper component that are available for customisation via this component. |
Formatters
Array of formattersName | Description |
---|---|
textFormatters | TextFormatters is an array of formatters that manipulate message input based on the provided regex patterns and trigger keys. |
Toggle
Switch to hide or show the live reaction, enable / disable typing events.Name | Type | Description |
---|---|---|
disableTyping | boolean | When set to true, typing events are disabled and the typing indicators are not displayed. |
hideLiveReaction | boolean | When set to true, the button to send out the live reaction is not displayed. |
hideVoiceRecording | boolean | When set to true, video recording button are not visible |
disableMentions | boolean | When set to true, the mentions feature will be disabled. Default value is set to false |
Sound
This refers to the action of activating or allowing the audio or sound capabilities of the message list component.Name | Type | Description |
---|---|---|
disableSoundForMessages | boolean | When set to true, the component will not produce sound for all outgoing messages. |
customSoundForMessage | string | mp3 file asset of your choice. |
Function callback
Functions that can be invoked by the user in response to a specific event or condition.Name | Type | Description |
---|---|---|
onSendButtonClick | (message: CometChat.BaseMessage) => void | Override the method that is invoked when the user clicks on the send button |
onError | (error: CometChat.CometChatException) => void | Override the method that is invoked when an error is encountered within the details component |
Misc
Name | Type | Description |
---|---|---|
parentMessageId | number | Refers to the unique identifier assigned to a parent message within a threaded conversation. When set, the component displays the composer for a threaded conversation. |
Style
Styling properties and values of all the child componentsName | Type | Description |
---|---|---|
backdropStyle | BackdropStyle | Styling properties of the Backdrop component |
actionSheetStyle | ActionSheetStyle | Styling properties of the Action Sheet component |
mediaRecorderStyle | mediaRecorderStyle | Styling properties of the Media Recorder component |
messageComposerStyle | MessageComposerStyle | Styling properties of the MessageComposer component |