
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
rn-emoji-selector
Advanced tools
React ⚛️ Native ☎️ Emoji 😋 Selector ⛏️ | super light weight, dark/light mode, 0 dependencies, 6.45 kB
6.45 kB if using an asset loader for the emoji json (recommended)
Aside from React Native peer obvs
To be or not to be, that is the question
npm i rn-emoji-picker or yarn rn-emoji-picker you know what to do!
import {StyleSheet, View} from 'react-native'
import EmojiPicker, {emojiFromUtf16} from "rn-emoji-picker"
import {emojis} from "rn-emoji-picker/dist/data"
// recommend using an asset loader for emojis
// or fetching over network for decreased bundle size
import {useState} from "react"
import {StatusBar} from 'expo-status-bar'
console.log(emojiFromUtf16('1F9E8')) // "🧨" helper to decode unified
export default function App() {
const [recent, setRecent] = useState([])
// replace w/ your preferred device storage library
return ( // try in a navigation modal!
<View style={styles.container}>
<EmojiPicker
emojis={emojis} // emojis data source see data/emojis
recent={recent} // store of recently used emojis
autoFocus={true} // autofocus search input
loading={false} // spinner for if your emoji data or recent store is async
darkMode={true} // to be or not to be, that is the question
perLine={7} // # of emoji's per line
onSelect={console.log} // callback when user selects emoji - returns emoji obj
onChangeRecent={setRecent} // callback to update recent storage - arr of emoji objs
// backgroundColor={'#000'} // optional custom bg color
// enabledCategories={[ // optional list of enabled category keys
// 'recent',
// 'emotion',
// 'emojis',
// 'activities',
// 'flags',
// 'food',
// 'places',
// 'nature'
// ]}
// defaultCategory={'food'} // optional default category key
/>
<StatusBar style="light"/>
</View>
)
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#000',
paddingTop: 50
},
})
Example emoji obj 😊
{
"category":"smileys & emotion",
"keywords":[
"happy",
"smile",
"smiley",
"smiley face",
"so happy",
"that’s great",
"so great",
"yay",
"hooray",
"hurrah",
"cheerful",
"delighted",
"joyful",
"pleased",
"grinning face",
"face",
"joy",
":d",
"grin",
"grinning"
],
"name":"grinning face",
"order":1,
"unified":"1F600",
"emoji":"😀"
}
FAQs
React ⚛️ Native ☎️ Emoji 😋 Selector ⛏️ | super light weight, dark/light mode, 0 dependencies, 6.45 kB
The npm package rn-emoji-selector receives a total of 11 weekly downloads. As such, rn-emoji-selector popularity was classified as not popular.
We found that rn-emoji-selector demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.