Fork of the emoji-button package to remove FontAwesome.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
2.9 KiB

4 years ago
![Emoji Button](https://user-images.githubusercontent.com/219285/88242435-2864b400-cc5b-11ea-9b77-b4574ad45f4c.png)
Vanilla JavaScript emoji picker 😎
4 years ago
## Screenshot
![Screenshot](https://user-images.githubusercontent.com/219285/88242157-690ffd80-cc5a-11ea-8b40-fc148d1f7eb7.png)
## Demo and Documentation
5 years ago
4 years ago
[https://emoji-button.js.org](https://emoji-button.js.org)
5 years ago
## Features
* 💻 Vanilla JS, use with any framework
4 years ago
* 😀 Use native or Twemoji emojis
5 years ago
* 🔎 Emoji search
* 👍🏼 Skin tone variations
* ⏱ Recently used emojis
4 years ago
* ⌨️ Fully keyboard accessible
4 years ago
* 🎨 Dark, light, and auto themes
* ⚙️ Add your own custom emoji images
4 years ago
* 🧩 Extend functionality with plugins
5 years ago
4 years ago
## Browser support
4 years ago
Emoji Button is supported on all modern browsers supporting the latest JavaScript features. Internet Explorer is not supported.
4 years ago
## Installation
If you are using a package manager like `yarn` or `npm`, you can install Emoji Button directly from the npm registry:
4 years ago
npm install @joeattardi/emoji-button
## Basic usage
4 years ago
First, you'll need a trigger element. This is typically a button, and is used to toggle the emoji picker.
4 years ago
```html
<button id="emoji-trigger">Emoji</button>
```
5 years ago
4 years ago
Once you've added the trigger, you will need to import the `EmojiButton` class and create a new instance. Various options can be passed to the constructor, which is covered in the [API documentation](https://emoji-button.js.org/docs/api).
4 years ago
After constructing a picker, it can be shown by calling `showPicker` or `togglePicker` on it. These functions expect a reference element as a parameter. The picker is positioned relative to this reference element.
4 years ago
4 years ago
When an emoji is selected, the picker will emit an `emoji` event, passing an object containing data about the emoji that was selected. You can then handle the selected emoji however you want.
4 years ago
For more in depth documentation and examples, please visit [https://emoji-button.js.org](https://emoji-button.js.org).
4 years ago
```javascript
import { EmojiButton } from '@joeattardi/emoji-button';
4 years ago
4 years ago
const picker = new EmojiButton();
const trigger = document.querySelector('#emoji-trigger');
4 years ago
picker.on('emoji', selection => {
// handle the selected emoji here
console.log(selection.emoji);
});
5 years ago
4 years ago
trigger.addEventListener('click', () => picker.togglePicker(trigger));
5 years ago
```
## Development
4 years ago
The easiest way to hack on Emoji Button is to use the documentation site. First, you should fork this repository.
4 years ago
### Clone the forked repository
4 years ago
git clone https://github.com/your-name/emoji-button.git
### From the repository root
#### Install dependencies
npm install
#### Set up the link
npm link
#### Start the build/watch loop
npm run build:watch
4 years ago
### From the `site` subdirectory
#### Install dependencies
npm install
#### Link the library
4 years ago
npm link @joeattardi/emoji-button
4 years ago
#### Start the documentation site
4 years ago
npm run develop
### Open the page
4 years ago
http://localhost:8000