DocsBrowse documentation
@slithy/frimousse
@slithy/frimousse is a compatibility-conscious fork of the open-source Frimousse emoji picker, extending the base picker with additive seams for mixed-item workflows, richer search, consumer-owned frequent items, and companion metadata tooling.
Fork overview
Frimousse is a strong base picker. This fork exists to keep that lightweight, composable core while filling in the extension seams that production apps often need.
In practice, that mainly means mixed native and custom emoji sections, richer search behavior, consumer-owned frequent items, and clearer paths for self-hosted emoji data and fallback rendering.
The result is still a headless picker, not a batteries-included widget. The rest of the docs explain what the fork adds directly, what remains consumer-owned, and which optional companion packages handle broader emoji metadata policy.
At a glance
| Topic | @slithy/frimousse |
|---|---|
| Picker style | Headless, composable React picker |
| Native emoji data | Runtime fetch by default, self-hostable with emojibaseUrl |
| Offline support | Yes, when you stage and self-host the needed Emojibase files |
| Custom emoji | Yes, via supplemental and custom emoji helpers |
| Frequent or recent items | Consumer-owned persistence, helper-supported ranking and section building |
| Native search enrichment | Via @slithy/emoji-transforms |
| Fallback image policy | Via @slithy/emoji-compat |
| Best fit | Apps that want control over styling, data delivery, and emoji policy |
Package boundaries
@slithy/frimousse
Owns the picker UI, picker behavior, additive picker extension seams, and selection/search/render behavior that is intrinsic to the picker.
@slithy/emoji-transforms
Owns metadata transforms such as native search terms, labels, shortcodes, and locale-aware metadata maps. Use it to prebuild app-owned data artifacts from Emojibase-style datasets instead of pushing that policy into the picker runtime.
@slithy/emoji-compat
Owns native support detection and fallback-image metadata. It does not render emoji or choose your app’s fallback policy.
Where next
Getting Started
Installation, migration, first picker composition, and styling basics.
Customization
Rendering, overlays, external search input, active-state styling, and mixed-item UI.
Search & Metadata
Grouped and unified search, shortcode search, and locale-aware metadata workflows.
Companion Packages
Package boundaries, installation, and composition guidance.
Recipes
Shortcode-first apps, reactions UI, multilingual apps, and self-hosted Emojibase.
API Reference
Components, props, hooks, helpers, and exported types in one place.