diff --git a/README.md b/README.md index 24b89f18c..54fa1ff56 100644 --- a/README.md +++ b/README.md @@ -252,6 +252,7 @@ getEmojiDataFromNative('🤞🏿').then(console.log) name: 'Crossed Fingers', native: '🤞🏿', shortcodes: ':crossed_fingers::skin-tone-6:', + skin: 6, unified: '1f91e-1f3ff', } */ ``` diff --git a/packages/emoji-mart/README.md b/packages/emoji-mart/README.md index 24b89f18c..54fa1ff56 100644 --- a/packages/emoji-mart/README.md +++ b/packages/emoji-mart/README.md @@ -252,6 +252,7 @@ getEmojiDataFromNative('🤞🏿').then(console.log) name: 'Crossed Fingers', native: '🤞🏿', shortcodes: ':crossed_fingers::skin-tone-6:', + skin: 6, unified: '1f91e-1f3ff', } */ ``` diff --git a/packages/emoji-mart/src/utils.js b/packages/emoji-mart/src/utils.js index 1cddc37dd..7c872ea93 100644 --- a/packages/emoji-mart/src/utils.js +++ b/packages/emoji-mart/src/utils.js @@ -16,7 +16,13 @@ export async function sleep(frames = 1) { } export function getEmojiData(emoji, { skinIndex } = {}) { - const skin = emoji.skins[skinIndex] || emoji.skins[0] + const skin = + emoji.skins[skinIndex] || + (() => { + skinIndex = 0 + return emoji.skins[skinIndex] + })() + const emojiData = { id: emoji.id, name: emoji.name, @@ -26,6 +32,10 @@ export function getEmojiData(emoji, { skinIndex } = {}) { shortcodes: skin.shortcodes || emoji.shortcodes, } + if (emoji.skins.length > 1) { + emojiData.skin = skinIndex + 1 + } + if (skin.src) { emojiData.src = skin.src }