Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
nuvi-emoji-picker
Advanced tools
This plugin for draft-js-editor
npm install -S draft-js-emoji-mart-plugin
Install peer dependencies
npm install -S emoji-mart draft-js
import Editor from 'draft-js-plugins-editor';
import createEmojiMartPlugin from 'draft-js-emoji-mart-plugin';
import data from 'emoji-mart/data/apple.json';
import 'emoji-mart/css/emoji-mart.css'
const emojiPlugin = createEmojiMartPlugin({
data,
set: 'apple'
});
// NimblePicker from emoji-mart binded with draftjs
const { Picker } = emojiPlugin;
const MyEditor = ({ editorState, onChange }) => (
<div>
<Editor
editorState={editorState}
onChange={onChange}
plugins={[emojiPlugin]}
/>
{/*
Any props supported by emoji-mart NimblePicker.
Feel free to style it and trigger for view.
*/}
<Picker
perLine={7}
showPreview={false}
/>
</div>
)
export default MyEditor;
Name | Required | Default | Description |
---|---|---|---|
data | true | undefined | Dataset from emoji-mart. Used for bind picker and replace emoji in editor. |
set | true | undefined | Addtional param to Dataset, used by emoji-mart. |
emojiSize | false | 16 | Size wich pass to Emoji component from emoji-mart. |
sheetSize | false | emojiSize * 2 | Sheet size wich pass to Emoji component from emoji-mart. By default emojiSize * 2. |
onChange | false | undefined | Call then DraftJS recieve new state. |
Plugin provide Emoji
component, wich could replace native utf-8 emoji by NimbleEmoji
component from emoji-mart.
// MyEditor.jsx
export const emojiPlugin = createEmojiMartPlugin({
data,
set: 'apple'
});
// Text.jsx
import { emojiPlugin } from './MyEditor.jsx';
const { Emoji } = emojiPlugin;
const TextViewer = ({ props }) => (
<div>
Useful text with emoji <Emoji decoratedText={'😈'} />
</div>
);
export default TextViewer;
Useful to find native emoji in string. Could be used with Emoji
component provided by plugin for replace emoji in plane text.
import { unicodeEmojiRegexp } from 'draft-js-emoji-mart-plugin/lib/constants';
import { emojiPlugin } from './MyEditor.jsx';
const { Emoji } = emojiPlugin;
// Not for production usage.
const parsedText = 'some string with 😈 '.split(unicodeEmojiRegexp).map(term => {
if (term.match(unicodeEmojiRegexp)) {
return <Emoji decoratedText={term} />
}
return term;
});
console.log(parsedText); // ['some string with', <Emoji decoratedText={'😈'}>]
// Render it by React
const MyEmojifiedText = () => (
<div>{parsedText}</div>
);
FAQs
Emoji-mart plugin for DraftJS.
We found that nuvi-emoji-picker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.