@qit.tools/unicode-emoji-json-lite
Version:
This library provides a lightweight version of the unicode-emoji-json library.
174 lines (123 loc) β’ 3.9 kB
Markdown
# Unicode Emoji JSON Lite
[](https://github.com/Qit-tools/unicode-emoji-json-lite/actions/workflows/node.js.yml)
This π [library](https://www.npmjs.com/package/@qit.tools/unicode-emoji-json-lite) provides a πͺΆ lightweight version of the [unicode-emoji-json](https://www.npmjs.com/package/unicode-emoji-json) library. Essentially, this library simplifies JSON files by using ready-made JSON from the unicode-emoji-json library.
### RGI only
This data does not contain minimally-qualified and unqualified emoji.
> RGI: Recommended for General Interchange. A subset of emojis which is likely to be widely supported across multiple platforms.
> Minimally-qualified or unqualified emoji zwj sequences may be handled in the same way as their fully-qualified forms; the choice is up to the implementation.
Full description can be found at http://www.unicode.org/reports/tr51/.
To change the skin tone using JavaScript, use our library [ .tools/skin-tone](https://www.npmjs.com/package/@qit.tools/skin-tone).
## π DEMO
Example of using the library: [Random Emoji Generator](https://qit.tools/generators/random-emoji/)
## CDN
- [unpkg](https://unpkg.com/browse/@qit.tools/unicode-emoji-json-lite/)
## ποΈ Install
### π NPM
```bash
npm install .tools/unicode-emoji-json-lite
```
### π§ Bun
```bash
bun add .tools/unicode-emoji-json-lite
```
### π PNPM
```bash
pnpm add .tools/unicode-emoji-json-lite
```
### π§Ά Yarn
```bash
yarn add .tools/unicode-emoji-json-lite
```
## π How to use
```ts
// Import by default
import dataEmoji from "@qit.tools/unicode-emoji-json-lite";
// Import by JSON files
import dataEmoji from "@qit.tools/unicode-emoji-json-lite/data-by-emoji-lite.json";
import dataEmojiGroup from "@qit.tools/unicode-emoji-json-lite/data-by-group-lite.json";
// ...
// Import types
import type { DataEmoji, DataEmojiGroup, DataEmojiMap, DataEmojiOrdered } from "@qit.tools/unicode-emoji-json-lite";
```
## π Details
### Skin tone variations
Emoji's skin tone variations are consolidated into one base entry, with a `tone` flag on them.
This means one entry of π represents its 5 variationsβ ππ», ππΌ, ππ½, ππΎ, ππΏ; while raw unicode data list them as individual emoji entries.
The tone flag is present where needed; in other cases, it remains undefined to avoid creating a negative flag.
## π Files
`data-by-emoji-lite.json`:
```json
{
"π": {
"name": "grinning face",
"group": "SE"
},
...
"π": {
"name": "waving hand",
"group": "PB",
"tone": true
},
}
```
`data-by-group-lite.json`:
```json
[
{
"name": "SE",
"emojis": [
{
"emoji": "π",
"name": "grinning face"
},
...
]
}
]
```
`data-emoji-components.json`:
```json
{
"light_skin_tone": "π»",
"medium_light_skin_tone": "πΌ",
"medium_skin_tone": "π½",
"medium_dark_skin_tone": "πΎ",
"dark_skin_tone": "πΏ",
"red_hair": "π¦°",
"curly_hair": "π¦±",
"white_hair": "π¦³",
"bald": "π¦²"
}
```
`data-group-map.json`:
```json
{
"SE": "Smileys & Emotion",
"PB": "People & Body",
"AN": "Animals & Nature",
"FD": "Food & Drink",
"TP": "Travel & Places",
"A": "Activities",
"O": "Objects",
"S": "Symbols",
"F": "Flags"
}
```
`data-ordered-emoji.json`:
```json
[
"π",
"π",
"π",
"π",
...
]
```
## Showcases
Chrome Extension: [Emoji Keyboard Copy & Paste](https://chromewebstore.google.com/detail/lgdjbhmmimmgenckodpogdgakjepiicm)
Edge Add-on: [Emoji Keyboard Copy & Paste](https://microsoftedge.microsoft.com/addons/detail/madhfecnpclggkpaaklddcdchhajkmoo)
Website: [Emoj.in](https://emoj.in/)
## License
MIT
## Unicode License Agreement
https://www.unicode.org/license.html