{"_id":"@dojo-ng/rich-text-emoji","_rev":"2-70fd82b0830f5f813401986606cbfec4","name":"@dojo-ng/rich-text-emoji","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@dojo-ng/rich-text-emoji","version":"0.1.0","license":"BSD-3-Clause","_id":"@dojo-ng/rich-text-emoji@0.1.0","maintainers":[{"name":"saysomething","email":"joshs@holmescorp.com"},{"name":"bitranch","email":"bill@bitranch.com"},{"name":"jepe","email":"jeffreyp@holmescorp.com"}],"dist":{"shasum":"fd140f851f3e99e5ae7a2999476cbcb08287e5a3","tarball":"https://registry.npmjs.org/@dojo-ng/rich-text-emoji/-/rich-text-emoji-0.1.0.tgz","fileCount":8,"integrity":"sha512-gA2QG8UJS7Xz711bhv8NiQm8txTipaCcJhagchLwU6bL6W+Fcfqou51nMDInauEGkHH3WyYTj5wMcZNbUyBaow==","signatures":[{"sig":"MEUCIBBqzUq2Cf/hhrgZ2secL+CBI6A/g9saDqVKrzBiaxt5AiEAnxm4uJ1gQkZjgp+RsgZ+gzmAVOnH7IoUiVTSTFRHgEY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29299},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"bitranch","email":"bill@bitranch.com"},"_npmVersion":"10.9.8","description":"Emoji picker + shortcode plugin for @dojo-ng/rich-text","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lit":"^3.3.0","lexical":"^0.21.0","@dojo-ng/i18n":"^0.1.0","@dojo-ng/popup":"^0.1.0","@dojo-ng/button":"^0.1.0","@dojo-ng/rich-text":"^0.1.0","@dojo-ng/text-input":"^0.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rich-text-emoji_0.1.0_1788374435344_0.6411557598044795","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"_id":"@dojo-ng/rich-text-emoji@0.1.1","dist":{"shasum":"a3fd54ba4ea304055d5cdcbf35e0e6bdc8549c68","tarball":"https://registry.npmjs.org/@dojo-ng/rich-text-emoji/-/rich-text-emoji-0.1.1.tgz","fileCount":8,"integrity":"sha512-1vl1rg4ZtPp+lsa7CEHf+sKRYLz9x3/C3mZQYfGYasEUe3g9F811xo2312Ql3WctRvFvGdUTshhU5LNorAl/Sg==","signatures":[{"sig":"MEUCIEQadDOHXb8kvLRVCSGwnBPnEIf0SGccetn2DE8vd61RAiEA7ydPORsdb9JojuybMXIMqlUWMvhuThhA3cQ5ryI+QkE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC9nVf/ETo59MZEzmRiSf0RbCtqht0lZHztbW0OkwdVSgIgOV6UVFAII3Ns+img2jsXm2qkrL+BrYC8AQG2q2TjE08="}],"unpackedSize":29577},"main":"./dist/index.js","name":"@dojo-ng/rich-text-emoji","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","license":"BSD-3-Clause","scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"version":"0.1.1","_npmUser":{"name":"bitranch","email":"bill@bitranch.com"},"_npmVersion":"10.9.8","description":"Emoji picker + shortcode plugin for @dojo-ng/rich-text","directories":{},"maintainers":[{"name":"saysomething","email":"joshs@holmescorp.com"},{"name":"bitranch","email":"bill@bitranch.com"},{"name":"jepe","email":"jeffreyp@holmescorp.com"}],"_nodeVersion":"22.23.1","dependencies":{"lit":"^3.3.0","lexical":"^0.21.0","@dojo-ng/i18n":"^0.1.1","@dojo-ng/popup":"^0.1.1","@dojo-ng/button":"^0.1.2","@dojo-ng/rich-text":"^0.1.3","@dojo-ng/text-input":"^0.1.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rich-text-emoji_0.1.1_1791166997059_0.9308137324377597"}}},"time":{"created":"2026-09-02T18:40:35.158Z","modified":"2026-10-05T02:23:17.314Z","0.1.0":"2026-09-02T18:40:35.581Z","0.1.1":"2026-10-05T02:23:17.151Z"},"license":"BSD-3-Clause","description":"Emoji picker + shortcode plugin for @dojo-ng/rich-text","maintainers":[{"name":"saysomething","email":"joshs@holmescorp.com"},{"name":"bitranch","email":"bill@bitranch.com"},{"name":"jepe","email":"jeffreyp@holmescorp.com"}],"readme":"# @dojo-ng/rich-text-emoji\n\nAn emoji picker and `:shortcode:` replacement for `<dj-rich-text>`.\n\nPart of [Dojo NG](../../README.md), a framework-agnostic web component library. BSD-3-Clause.\n\n## Install\n\n```bash\nnpm install @dojo-ng/rich-text-emoji\n```\n\n## Usage\n\nCompose the emoji plugin with the default set. The toolbar gains an emoji button; typing `:tada:` becomes 🎉.\n\n```html\n<dj-rich-text id=\"editor\" label=\"Comment\"></dj-rich-text>\n<script type=\"module\">\n  import \"@dojo-ng/rich-text\";\n  import { defaultPlugins } from \"@dojo-ng/rich-text\";\n  import { emojiPlugin } from \"@dojo-ng/rich-text-emoji\";\n  document.getElementById(\"editor\").plugins = [...defaultPlugins, emojiPlugin];\n</script>\n```\n\n## Picker\n\n- The toolbar button opens a searchable emoji picker, eight columns wide. Search by name, shortcode, or keyword; move with the arrow keys; insert with a click or Enter.\n- The picker stays open so you can insert several, and closes on Escape or a click outside. Focus returns to the editor.\n- The system emoji picker (Ctrl+Cmd+Space on macOS, Win+. on Windows) also works in the editor. This adds a visible picker that works the same on every platform.\n\n## Shortcodes\n\n- With `shortcodes` on (the default), typing a GitHub-style `:name:` replaces it with the emoji. Unknown shortcodes stay as typed.\n\n## Setup\n\n- Exports `emojiPlugin`, `createEmojiPlugin({ shortcodes?, set? })`, `EMOJI` (about 170 emoji across smileys, people, hearts, animals, food, activities, objects, and symbols), the `filterEmoji(set, query)` helper, and the `EmojiEntry` type.\n- Emoji are plain text, so the plugin adds no node types.\n- For hashtags or other highlighted tokens, build a node the way `@dojo-ng/rich-text-mentions` builds its mention node. Hashtags are not included on purpose.\n- Setting `plugins` replaces the default set, so spread `...defaultPlugins` to keep bold, italic, underline, undo, and redo.\n\n## Not built\n\n- Skin-tone variants, recently used emoji, category headings, a `:shortcode:` suggestion menu, and custom image sets.\n\nNeed one of these? Make a request on [Discord](https://discord.gg/nReZF9QrjS) or add an issue (work item) on [Heptapod](https://foss.heptapod.net/dojo-ng/components/-/issues).\n","readmeFilename":"README.md"}