material_emoji_picker/README.md
2026-09-16 14:59:40 -04:00

40 lines
1.4 KiB
Markdown

A generic but configurable emoji picker for Flutter. Defaults to including only unicode emojis, sourced from gemoji, but can be configured to show custom emotes.
## Features
- Up-to-date emojis, sourced from gemoji
- The ability to prepend or append custom categories with custom emoji
- Support for free text selection
- Sleek M3 design:
![A screenshot of the emoji picker, showing a searchbar, category selection, and two categories of emojis](https://git.federated.nexus/Henry-Hiles/material_emoji_picker/raw/branch/main/assets/screenshot.png)
## Getting started
Add the package to your project with `flutter pub get`.
## Usage
`EmojiPicker` is very generic and can be used in multiple context, like a bottom sheet, dialog, or even as just a widget on your page.
An example, using `EmojiPicker` as a bottom sheet:
```dart
showModalBottomSheet(
isScrollControlled: true,
context: context,
builder: (context) => EmojiPicker(
onSelection: (emoji) {
Navigator.of(context).pop();
message.sendReaction(emoji);
},
),
);
```
### Accepted Parameters
- `IList<EmojiCategory> prependCategories`: Categories to prepend to the default emoji list
- `IList<EmojiCategory> appendCategories`: Categories to append to the default emoji list
- `required FutureOr<void> Function(String value) onSelection`: Function to be called when an emoji is selected
- `bool allowFreeText = false`: Whether to allow free text to be returned. Defaults to `false`.