Emoji Picker - Sample

Content Type: Sample
Categories: Utility,User Interface,Communication

Overview

Emoji Picker - Sample is the ready-made demo module for the Emoji Picker web widget. Import it into Studio Pro 10.24.17, map the module role, add EmojiPicker.Home_Web to navigation, and you get a working sandbox: a Content field with a smiley button that opens the picker, text areas that show onEmojiClickedData and onSkinToneChangedData JSON, and a Features panel that binds every widget property (open, theme, emoji style, skin tones, search, reactions, preview, size, hidden emojis and more).

Documentation

Typical usage scenario

Emoji Picker - Sample is the companion example module for the Emoji Picker pluggable widget. It ships one sandbox page, the helper entity and attributes, and the microflows that open the picker and surface click / skin-tone JSON—so you can try every Studio Pro property against live data without building a page from scratch.

Problems it solves

- Evaluating the widget from screenshots alone is slow; you need a runnable page with real attribute bindings.

- New consumers do not know which Booleans and String tokens to create, or how to append the selected emoji into a message field.

- Teams need a reference for open toggle behaviour, theme/style switches, reactions mode, preview config and event JSON shape before production wiring.

Where it is useful

- Product owners and developers trying Emoji Picker before buying into a custom UI.

- Training / onboarding: show search, skin tones, dark theme and reactions on one screen.

- Copy-paste starting point: duplicate Home_Web into your module and point attributes at your entity.

- Debugging: change Features fields and immediately see picker behaviour and event payloads.

How customers typically use it

1. Import EmojiPicker.mpk (App → Import module package). The widget arrives with it; press F4 if needed.

2. Under App → Security → User roles, map module role EmojiPicker.User to the roles that should open the page.

3. Add EmojiPicker.Home_Web to navigation (or set it as a home page for a test profile).

4. Run the app, click the smiley next to Content to open the picker, pick an emoji, and read the JSON in the data text areas.

5. Toggle Features (theme, style, open, reactions, preview, width, hidden emojis, …) and confirm the panel updates.

Demo: https://emoji-picker-sandbox.mxapps.io/index.html?profile=Responsive

Credentials: demo_administrator / b7YCHluT3ouA

Features and limitations

Features

- Module EmojiPicker with page Home_Web — live sandbox layout (Content + smiley open button, event JSON text areas, Features configuration panel).

- Data microflow DS_EmojiPicker creates / returns the page helper object with defaults.

- OpenEmoji toggles the Boolean that shows or hides the picker.

- onEmojiClick / onSkinToneChange write structured JSON into String attributes shown on the page (and can append the emoji character into Content).

- Features panel binds the same properties as the widget: open, auto focus search, lazy load, preview config / show preview, skin tones disabled, search disabled, reactions default open, theme, emoji style, default skin tone, default emoji, search placeholder, suggested emojis mode, skin tone picker location, class name, width / height, hidden emojis.

- Bundles mendix.EmojiPicker.mpk widget 1.1.1 (emoji-picker-react based, Studio Pro 10.24.17).

- Module themesource stub under themesource/emojipicker.

- Module role User for page access after you map it in app security.

Limitations

- Demo / reference module only—not a chat product. No conversation history, presence or reaction storage beyond what you see on the page.

- Web / responsive only (same as the widget). Not for native mobile pages.

- Home_Web uses Atlas_Core.Atlas_Default; the target app needs Atlas Core (standard blank apps include it).

- Import does not change app navigation or security automatically—you must map the module role and add the page.

- Feature fields accept free-text tokens; invalid values fall back to widget defaults.

- Sample content is for evaluation; this sample uses a page helper object, not a bulk seed of business records.

Dependencies

- Mendix Studio Pro 10.24.17

Installation

1. Open (or create) an app in Studio Pro 10.24.17.

2. App → Import module package → select EmojiPicker.mpk from https://github.com/bharathidas/Emoji-Picker/releases/tag/Sample-Version1.1.1

3. Press F4 (Synchronize App Directory) if Emoji Picker is missing from the Toolbox.

4. App → Security → User roles: add module role EmojiPicker.User to Administrator (and any other roles that should open the demo).

5. Add page EmojiPicker.Home_Web to the navigation menu (or temporarily set it as the responsive home page).

6. Run locally, sign in, open the page, click the smiley button and pick an emoji.

Configuration

The sample is pre-wired. After import you mainly need security + navigation (see Installation). To learn from the page:

1. Domain helper: Open the EmojiPicker domain model / entity used by DS_EmojiPicker. Note Booleans (Open, lazy load, preview, search, reactions, …) and Strings (theme, style, skin tone, placeholders, width/height, click JSON, Content).

2. Page: Home_Web places a data view over DS_EmojiPicker, the Content input, the open button (OpenEmoji), the Emoji Picker widget, JSON text areas, and the Features inputs bound to the same object.

3. Events: Widget onEmojiClick → onEmojiClick; onSkinToneChange → onSkinToneChange. Inspect those microflows to see how JSON is stored and how Content is updated.

4. Try changes: On the running page, set Theme to dark, emoji Style to google, enable reactions default open, or set open to No and use the smiley to reopen.

5. Reuse in your app: Copy Home_Web (or only the widget + event microflows) into your module, replace the helper entity with yours, and keep the same property bindings.

Known bugs

None.

Report issues at https://github.com/bharathidas/Emoji-Picker/issues

Frequently Asked Questions

Q: Is this the widget or the demo?

A: This listing is the sample module. It includes a sandbox page and bundles widget 1.1.1. For widget-only install, use mendix.EmojiPicker.mpk from release Version1.1.1.

Q: Which Mendix version?

A: Studio Pro 10.24.17 for sample / widget 1.1.1. Older Marketplace sample builds targeted Mendix 9.x.

Q: I imported the module but cannot open the page.

A: Map EmojiPicker.User under App Security and add EmojiPicker.Home_Web to navigation.

Q: The picker never appears.

A: On the Features panel set open to Yes, or click the smiley button (runs OpenEmoji). Confirm the widget is inside the data view.

Q: Where is the selected emoji written?

A: Into the Content field via onEmojiClick, and the full payload into on emoji clicked data. Skin tone changes go to on skintone changed data.

Q: Do I need npm or extra modules?

A: No. Widget and sample theme files are inside EmojiPicker.mpk. Atlas Core is required for the layout.

Q: Can I use this in production as-is?

A: Treat it as a reference. Rebuild with your own entity, security and UX; keep the widget bindings and event pattern.

Q: Where is the live demo?

A: https://emoji-picker-sandbox.mxapps.io/index.html?profile=Responsive — demo_administrator / b7YCHluT3ouA.

Q: Where is the GitHub sample package?

A: https://github.com/bharathidas/Emoji-Picker/releases/tag/Sample-Version1.1.1 — download EmojiPicker.mpk. For Import from GitHub use that tag URL (not a direct .mpk download link).

Releases

Version: 1.1.1
Framework Version: 10.24.17
Release Notes:

# Emoji Picker Sample 1.1.1


Companion **demo module** for Emoji Picker, converted for Mendix Studio Pro **10.24.17**.


## Package

- `EmojiPicker.mpk` — import with **App → Import module package**

- Bundles widget `mendix.EmojiPicker.mpk` **1.1.1**

- Module: `EmojiPicker` · Page: `EmojiPicker.Home_Web`

- Microflows: `DS_EmojiPicker`, `OpenEmoji`, `onEmojiClick`, `onSkinToneChange`


## After import

1. Map module role `EmojiPicker.User` under App Security

2. Add `EmojiPicker.Home_Web` to navigation

3. Run and open the sandbox (Content + smiley button + Features panel)


## Demo

https://emoji-picker-sandbox.mxapps.io/index.html?profile=Responsive

`demo_administrator` / `b7YCHluT3ouA`


## Notes

- Requires Atlas Core (`Atlas_Default` layout)

- Widget-only package remains on release [Version1.1.1](https://github.com/bharathidas/Emoji-Picker/releases/tag/Version1.1.1)

Version: 1.0.0
Framework Version: 9.24.12
Release Notes: Enhance user experience by allowing users to easily insert emojis into their text. [https://www.npmjs.com/package/emoji-picker-react](https://www.npmjs.com/package/emoji-picker-react) Try the sample application to checkout the below features **Emoji Display and Style** • **Open** - Controls whether the picker is open or not. Default is true • **emoji Style** - Controls the emoji style. Possible values are google, apple, facebook, twitter and native. Default is apple • **defaultSkinTone** - Controls the default skin tone.Possible skin tones are NEUTRAL,LIGHT,MEDIUM LIGHT,MEDIUM,MEDIUM DARK,DARK . Default is NEUTRAL • **lazyLoad Emojis** - Controls whether the emojis are loaded lazily or not. Default is false • **hiddenEmojis** - Controls the emojis that are hidden from the picker.Pass an array of emoji unicode names to hide. • **emoji Version** -Allows displaying emojis up to a certain version for compatibility. Common values are "0.6","1.0","2.0","3.0","4.0","5.0" • **auto Focus Search** - Controls the auto focus of the search input. Default is true • **Theme** - Controls the theme of the picker. Possible values are light, dark and auto. Default is light • **class Name** - Adds a class name to the root element of the picker. • **width** - Controls the width of the picker. You can provide a number that will be treated as pixel size, or your any accepted css width as string. Default is 350 • **height** - Controls the height of the picker. You can provide a number that will be treated as pixel size, or your any accepted css height as string. Default is 450 **Skin Tone Settings** • **skinTones Disabled** - Controls whether the skin tones are disabled or not. Default is false • **skinTone Picker Location** - Controls the location of the skin tone picker. Possible values are SEARCH and PREVIEW. Default is "SEARCH" **Suggested Emojis and Reactions Settings** • **suggested Emojis Mode** - Controls the suggested emojis mode. Possible values are frequent and recent. Default is "frequent" • **reactionsDefaultOpen** - Controls whether the reactions picker is on the initial mount instead of the main picker component. Default is false • **allowExpandReactions** - Controls whether the reactions picker can be expanded to the main picker. Default is true **Search Settings** • **searchPlaceholder** - Controls the placeholder of the search input. Default is "Search" • **search Disabled** - Controls whether the search is disabled or not. When disabled, the skin tone picker will be shown in the preview component. Default is false **Event Handlers** • **onEmojiClick** - On Emoji Click • **onEmojiClickedData** - On Emoji Click Data • **onSkinToneChange** - On SkinTone Change • **onSkinToneChangedData** - On SkinTone Change Data **Preview Settings** • **Preview Config** - Controls the preview of the emoji. Default is false • **defaultEmoji** - default Emoji. Default is "1f60a" • **defaultCaption** - default Caption. Default is "What's your mood?" • **showPreview** - showPreview. Default is true **Demo URL:** [https://emoji-picker-sandbox.mxapps.io/index.html?profile=Responsive](https://emoji-picker-sandbox.mxapps.io/index.html?profile=Responsive) **Credentials:** demo_administrator b7YCHluT3ouA **Dependencies**: • Mendix modeler 9.12.4. **Issues, suggestions and feature requests** [https://github.com/bharathidas/Emoji-Picker/issues](https://github.com/bharathidas/Emoji-Picker/issues)