Emoji Reaction
is a Vue3 based emoji reaction inspired by VueFeedbackReaction
$ npm i @trayand/emoji-reaction
Note: This library can be used as plugin with Vue.use
and can be import as component too.
// main.js
import { createApp } from "vue";
import App from "./App.vue";
import EmojiReaction from "@trayand/emoji-reaction";
createApp(App).use(EmojiReaction).mount("#app");
import { EmojiReaction } from "@trayand/emoji-reaction";
Note: you can use either Plugin or Component (no need to use both)
<script setup>
import { computed, ref } from "vue";
import { EmojiReaction } from "@trayand/emoji-reaction";
const value = ref({ name: "neutral" });
</script>
<template>
<EmojiReaction
v-model="value"
:label="true"
:size="60"
:grayscale="true"
:emoji="[
{ name: 'mad', other_name: 'horrible' },
{ name: 'worried', other_name: 'don\'t like' },
{ name: 'neutral', other_name: 'normal' },
{ name: 'slight_smile', other_name: 'agree' },
{ name: 'smile', other_name: 'totally agree' },
]"
:bindWithEmoji="false"
/>
<p style="text-align: center">{{ value }}</p>
</template>
Prop | Type | Default | Description |
---|---|---|---|
value | Object | {name: "", other_name: ""} | Input value (v-model) |
emoji | Array<String,Object> | [ "mad", "worried", "neutral", "slight_smile", "smile" ] |
List of reaction emoji .Available emoji will be shown below. can be set to array of object with keys name and other_name . |
label | Boolean | false | Show emoji label (can be customized with other_name in emoji props) |
size | Number | 60 | Emoji Size (px) |
grayscale | Boolean | false | Set inactive emoji to grayscale |
bindWithEmoji | Boolean | false | the data binded will return the emoji in the object. |
List :
😠 mad | 😟 worried | 😐 neutral | 🙂 slight_smile |
😄 smile | 🤩 star_eyes | 😍 heart_eyes | 😢 cry |
🥺 pleading | 😂 joy |