EmojiPanel is a Javascript emoji picker that used to
be a popular Chrome extension for Twitter!
- Select and write emoji using any sprite sheet
- Keep track of users frequently used emojis
- Lots of options & customisable SCSS styles
- Listen for events such as
select
orsearch
- 43kb ~ 12kb gzipped
Get Started
npm i emojipanel
Static mode
The container
is the element that the panel is appended to, it is required. By not
specifying a trigger
, the panel will always be visible, as shown above.
new EmojiPanel({
container: '#container'
});
Trigger mode
In trigger mode, the EmojiPanel is hidden until triggered by a button or manually with toggle()
.
Set trigger
to true
to allow the panel to be manually triggered. Trigger example
new EmojiPanel({
container: '#container',
trigger: '#btn-trigger'
});
ContentEditable
The panel can add emoji characters to a text input or contenteditable element.
new EmojiPanel({
container: '#container',
editable: '#input'
});
Options
Option | Default | Description |
---|---|---|
search | true |
Enable the search feature |
frequent | true |
Enable the frequently used feature |
fitzpatrick | 'a' |
The initial skin tone modifier. Set to false to disable |
hidden_categories | [] |
Hide certain emoji categories from the results |
pack_url | URL to the Emoji sprites | |
json_url | '/emojis.json' |
URL to the Emojis JSON file |
tether | true |
Whether to tether the panel to the trigger |
placement | 'bottom' |
How the dropdown should be tethered: top , right , bottom , left |
locale | {} |
See Translations |
icons | {} |
The elements to use as icons: search |
Methods
toggle
- Manually trigger the panelreposition
- Realign the panel's tether to the trigger
Translations
Set the locale
object in options to change the translations for:
add
- Add emojibrand
- EmojiPanel - Remove watermark with''
frequent
- Frequently usedloading
- Loading...no_results
- No resultssearch
- Searchsearch_results
- Search results