The live demos are available here: - Simple, html-only demo, - Complete, css-styled demo, - TailwindCSS-styled demo.
npm i vue-emoji-picker --save
<script src="https://unpkg.com/vue-emoji-picker/dist/vue-emoji-picker.js"></script>
import EmojiPicker from 'vue-emoji-picker'
export default {
// ...
components: {
EmojiPicker,
},
// ...
}
import { EmojiPickerPlugin } from 'vue-emoji-picker'
Vue.use(EmojiPickerPlugin)
<script>
Vue.use(EmojiPicker)
new Vue({
// ...
})
</script>
vue-emoji-picker is a slot-based component, to provide maximum flexibility. Since every ounce of html is created by a consumer (ie. you), you can customize every piece of the component as you wish.
You will need two things. A textarea (or an input), where emojis will be injected, and a component declaration. A simple example is provided below.
<textarea v-model="input"></textarea>
<emoji-picker @emoji="insert" :search="search">
<button type="button">open</button>
<input type="text" v-model="search">
<h5>{{ category }}</h5>
<span
v-for="(emoji, emojiName) in emojiGroup"
:key="emojiName"
@click="insert(emoji)"
:title="emojiName"
>{{ emoji }}</span>
</emoji-picker>
{
data() {
return {
input: '',
search: '',
}
},
methods: {
insert(emoji) {
this.input += emoji
},
},
}
As you may see, you have to declare some things yourself. Namely:
- input - a model for your input/textarea,
- search - a model for the search box inside the component (optional),
- insert(emoji) - a method responsible to put emojis into your input/textarea. Provided emoji is a string representation of the emoji to be inserted.
To see what is possible with the component, you can simply have a look at a demo available here.
search optional - If you are not using the search functionality, you can omit this one. It should be a model of the search passed from your data.emojiTable optional - You can overwrite the default emoji table by providing your own.emoji-invokerevents - delares the v-on:click toggle of the picker box,emoji-pickeremojis - object of unicode emojis,insert() - method to be invoked when an emoji is clicked,display - object containting x, y and visible properties.This work is an open-sourced software licensed under the MIT license.
$ claude mcp add vue-emoji-picker \
-- python -m otcore.mcp_server <graph>