Faz Quill Emojis is a module that provides the functionality to easily add emojis to the Quill rich text editor with support for multiple open-source emoji collections such as: openmoji
, twemoji
, noto
, fluent-emoji
, fluent-emoji-flat
, fluent-emoji-high-contrast
, noto-v1
, emojione
, emojione-monotone
, emojione-v1
, fxemoji
, streamline-emojis
always prioritizing being lightweight and powerful.
Install with npm:
npm i faz-quill-emoji
Manual Registration:
import Quill from 'quill';
import RegisterFazQuillEmoji from "faz-quill-emoji";
RegisterFazQuillEmoji(Quill);
const quill = new Quill('#editor', {
theme: 'snow',
modules: {
toolbar: {
container: ['bold', 'italic', 'underline', 'strike', 'faz-emoji'],
handlers: {
'faz-emoji': true
},
},
fazEmoji: {
collection: 'fluent-emoji'
}
}
});
Automatic registration:
import Quill from 'quill';
import "faz-quill-emoji/autoregister";
const quill = new Quill('#editor', {
theme: 'snow',
modules: {
toolbar: {
container: ['bold', 'italic', 'underline', 'strike', 'faz-emoji'],
handlers: {
'faz-emoji': true
},
},
fazEmoji: {
collection: 'fluent-emoji'
}
}
});
Styles are present under
import "faz-quill-emoji/dist/faz.quill.emoji.css";
Use the standalone files like this:
<!-- Quill editor core -->
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/quill.snow.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/quill.js"></script>
<!-- Module Faz quill emoji -->
<link
rel="stylesheet"
href="https://unpkg.com/[email protected]/dist/faz.quill.emoji.css"
type="text/css"
/>
<script src="https://unpkg.com/[email protected]"></script>
<div id="editor"></div>
<script>
const quill = new Quill('#editor', {
theme: 'snow',
modules: {
toolbar: {
container: ['bold', 'italic', 'underline', 'strike', 'faz-emoji'],
handlers: {
'faz-emoji': true
},
},
fazEmoji: {
collection: 'fluent-emoji'
}
}
});
</script>
All the examples described are in the Demo folder
- Basic
- Popper Positioning
- Open the drop-down menu from outside the editor
- A beautiful collection of 'twemoji' emojis
- A beautiful collection of 'fluent-emojis' emojis
const quill = new Quill('#editor', {
theme: 'snow',
modules: {
toolbar: {
container: ['bold', 'italic', 'underline', 'strike', 'faz-emoji'],
handlers: {
'faz-emoji': true
},
},
fazEmoji: {
collection: 'fluent-emoji',
rewriteCDNURL(url) {
return url;
},
popperOptions: null,
popper: window.Popper
}
}
});
name | type | description |
---|---|---|
collection | string | Collection of emoji to display. Allowed values: 'native' , 'openmoji' , 'twemoji' , 'noto' , 'fluent-emoji' , 'fluent-emoji-flat' , 'fluent-emoji-high-contrast' , 'noto-v1' , 'emojione' , 'emojione-monotone' , 'emojione-v1' , 'fxemoji' , 'streamline-emojis'. Default: 'native' |
popper | object | The popper library for more advanced drop-down menu positioning. |
popperConfig | object | Specify Popper's custom options. This gives you full control over the drop-down positioning. See Popper's docs for more details. |
rewriteCDNURL(url) | function | Emoji images, with the exception of 'native', come from a cdn if you want to rewrite this url you must use this option. asynchronous functions are accepted |
You may retrieve the module from Quill like quill.getModule('fazEmoji')
then call one of the imperative methods below.
method | description |
---|---|
openMenu | Open the drop-down menu. |