V Emoji Picker
:star2: A Lightweight and customizable package of Emoji Picker in Vue using emojis natives (unicode).
- [V-Emoji-Picker](#v-emoji-picker) - [Contents](#contents) - [Installation](#installation) - [Usage](#usage) - [Props](#props) - [Events](#events) - [Using custom Emojis](#using-custom-emojis) - [Using custom Categories](#using-custom-categories) - [Using SVG](#using-svg) - [Structure Emoji](#structure-emoji) - [Size](#size) - [License](#license) ---- The project is written primarily in TypeScript, distributed under the MIT License license, first published in 2019. Key topics include: emoji, emoji-natives, emoticons, lightweight, typescript.
V-Emoji-Picker
This simple package using Emojis Natives
Contents
- V-Emoji-Picker
- Contents
- Installation
- Usage
- Props
- Events
- Using custom Emojis
- Using custom Categories
- Using SVG
- Structure Emoji
- Size
- License
Installation
bashyarn add v-emoji-picker
Usage
vue<template> <div id="app"> <VEmojiPicker @select="selectEmoji" /> </div> </template> <script> import { VEmojiPicker } from 'v-emoji-picker'; export default { name: 'Demo', components: { VEmojiPicker }, data: () => ({}), methods: { selectEmoji(emoji) { console.log(emoji) } } } </script>
or Global
jsimport Vue from "vue"; import App from "./App.vue"; import VEmojiPicker from 'v-emoji-picker'; Vue.config.productionTip = false; Vue.use(VEmojiPicker); new Vue({ render: h => h(App) }).$mount("#app");
Props
ts{ @Prop({ default: () => [] }) customEmojis!: IEmoji[]; @Prop({ default: () => [] }) customCategories!: ICategory[]; @Prop({ default: 15 }) limitFrequently!: number; @Prop({ default: 5 }) emojisByRow!: number; @Prop({ default: false }) continuousList!: boolean; @Prop({ default: 32 }) emojiSize!: number; @Prop({ default: true }) emojiWithBorder!: boolean; @Prop({ default: true }) showSearch!: boolean; @Prop({ default: true }) showCategories!: boolean; @Prop({ default: false }) dark!: boolean; @Prop({ default: "Peoples" }) initialCategory!: string; @Prop({ default: () => [] as ICategory[] }) exceptCategories!: ICategory[]; @Prop({ default: () => [] as Emoji[] }) exceptEmojis!: IEmoji[]; @Prop({}) i18n!: Object; }
Events
js{ select: 'Emit event on Selected Emoji', changeCategory: 'Emit event on Change Category' }
Using custom Emojis
Array of items with Interface IEmoji
jsinterface IEmoji { data: string; category: string; aliases: string[]; }
set in Prop customEmojis
Using custom Categories
Array of items with Interface ICategory
jsinterface ICategory { name: string; icon: string; }
set in Prop customCategories
Using SVG
Doc coming soon...
i18n
Set in Prop i18n a object with structure of you custom translation:
html<VEmojiPicker :i18n="i18n" />
jsconst i18n = { search: 'Pesquisar...', categories: { Activity: "Atividades", Flags: "Bandeiras", Foods: "Comida", Frequently: "Frequentes", Objects: "Objetos", Nature: "Natureza", Peoples: "Pessoas", Symbols: "Símbolos", Places: "Locais" } }
or import from locale/lang/${youLang}
Obs: Default language is en-UK
Structure Emoji

Size

License
Contributors
Showing top 8 contributors by commit count.

