feat: Add Emoji Autocomplete functionality that displays matching emoji suggestions on : colon type #1015
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add Emoji Autocomplete on Colon Type
Acceptance Criteria fulfillment
Fixes #1013 (issue)
Video/Screenshots
Demo Video: EmbeddedChat - Emoji Autocomplete Feature

Key Features Implemented
✅ Trigger: : + 2 characters minimum
✅ Display format: emoji unicode + :shortname: (matching Rocket.Chat)
✅ Keyboard navigation: ArrowUp/Down, Enter, Escape
✅ Click selection support
✅ Auto-scroll to highlighted item
✅ Consistent styling with existing autocomplete lists
✅ Limited to 10 results for better performance
✅ Proper state management and cleanup
✅ No interference with @ mentions or / commands
Implementation Details
This PR adds emoji autocomplete functionality to the EmbeddedChat component, allowing users to quickly find and insert emojis by typing : followed by text in the message input box. The implementation follows the same patterns as existing autocomplete features (mentions and commands) for consistency.
Files Added/Modified:
New Files:
packages/react/src/lib/emojiList.js
- Comprehensive emoji data source with shortnames and aliasespackages/react/src/hooks/useSearchEmoji.js
- Hook for emoji filtering logicpackages/react/src/views/EmojiList/
- Complete EmojiList component with stylingModified Files:
packages/react/src/views/ChatInput/ChatInput.js
- Integrated emoji autocomplete functionalityTechnical Highlights:
PR Test Details
Note: The PR will be ready for live testing at https://rocketchat.github.io/EmbeddedChat/pulls/pr-1015 after approval. Contributors are requested to replace <pr_number> with the actual PR number.
Testing Instructions: