For full details, see the documentation at https://picmojs.com.
- [
@picmo/popup-picker] Added a newonPositionLostoption to configure the behavior of the popup if the reference element is lost.
- [
@picmo/popup-picker] Fixed close button not working under some circumstances.
- [
@picmo/popup-picker] Fixed peer dependency version forpicmo. - [
@picmo/renderer-twemoji] Fixed peer dependency version forpicmo.
- Fixed some invalid CSS properties.
- [
@picmo] Click event propagation is stopped when selecting an emoji. This fixes an issue where the picker would close a popup when selecting an emoji from the recents category, ifhideOnEmojiSelectis set tofalse. - [
@picmo/popup-picker] Fixed positioning/focus issues when opening a popup. - [
@picmo/popup-picker] Fixed animation order to prevent an incorrectly positioned picker from appearing momentarily before "jumping" to the final location and animating. - [
@picmo/popup-picker] Fixed type ofoptionsparameter on thetogglemethod to be optional as documented.
- [
picmo] Added ability to update certain picker options after creation. - [
picmo] Improved layout of category tabs when picker is very narrow or very wide. - [
@picmo/popup-picker] Added ability to specify new reference and trigger elements when opening the picker.
- Fixed
process.envappearing in build output.
- Fixed issues with UMD build (however, different URL patterns are now required)
- Fixed bundling issue where core
picmopackages was bundled with all add-on packages - [
@picmo/popup-picker] Fixed an issue where the variant popup would not be reset when closing the picker
- Major CSS refactoring that will allow for easier style overrides when needed. Class names are no longer scoped with random prefixes for easier customization.
- [
picmo] Added a newautoautofocus option that will choose a target based on available elements. - [
picmo] Added a global configuration store with aninjectStylesoption to control automatic CSS injection. - [
picmo] Fixed invalid scrollbar CSS properties. - [
@picmo/popup-picker] Added type="button" to the popup close button to prevent accidental form submission. - [
@picmo/popup-picker] Focus is returned to the trigger when closing only when pressing Escape or selecting an emoji
- [
picmo] Removed inline style from SVG icons that was causing Content-Security-Policy problems (#224)
- [
picmo] Fixed an issue where the initial category button would steal the focus on creation in an inline picker. - [
picmo] Fixed default options processing so that aLocalStorageProviderisn't instantiated immediately upon importing PicMo; this was causing errors in environments like Next.js wherelocalStorageis not available. NowlocalStorageis only referenced when callingcreatePicker.
- [
picmo] Added newautoFocusoption to better control autofocus behavior (or disable it entirely). - [
picmo] Deprecated theautoFocusSearchoption in favor ofautoFocus. - [
@picmo/popup-picker] Upgraded to use the floating-ui library (successor to Popper.js). - [
@picmo/renderer-twemoji] Made SVG containerdisplay: noneto fix popup positioning issues.
- [
picmo] Fixed custom styling not being applied to the search results scrollbar (#215). - [
@picmo/renderer-twemoji] New rendering design using SVG sprite sheets for improved performance (#210).
- [
picmo] Added support for custom recent emoji data providers, added localStorage and sessionStorage providers built-in (#202).
- [
picmo] Fixed buttons within the picker to have the attributetype="button"to prevent unintentional form submission when a picker appears inside of a form (#209).
- [
@picmo/popup-picker] Fixed issue where the positionCleanup function was not defined when using fixed positioning, leading to a potential exception when closing a popup picker
- Added a new in-memory emoji data store for scenarios where IndexedDB is not available (#199). See Emoji Data for more details.
- New option:
dataStoreto specify a factory to create the desired data store type.
- New option:
classNameto apply additional CSS classes to the popup container (to override the theme or set az-index). (#198).
- Fixed exception being thrown when opening a popup picker with
showCloseButton: falseset.
First PicMo release (previously Emoji Button).
@joeattardi/emoji-buttonpackage split into three packages:picmo- The main emoji picker package, can be used to create inline emoji pickers.@picmo/popup-picker- The popup picker package, can be used to create popup emoji pickers. Requirespicmoas a peer dependency.@picmo/renderer-twemoji- The Twemoji renderer. Requirespicmoas a peer dependency.
- All packages now include UMD builds.
- Emoji data is stored in an IndexedDB database locally.
data:readyevent signals when the database is initialized and ready to use.- New rendering architecture adds support for implementing additional emoji renderers.
- Basic support for auto-detecting the available emoji version (the default behavior). A specific emoji version can still be passed in the picker options.
- Added data management functions:
createDatabase: Creates an emoji database ahead of time. This is not required as the picker will initialize the database if one doesn't exist.deleteDatabase: Deletes an emoji databasedeleteRecents: Deletes the recent emojis from local storage- Emojis can be searched via tags. An emoji's tags are also shown in the preview area.
- Popup pickers now have a close button as well.
- Events for when the picker is opened (
picker:open) and closed (picker:close).
- New option:
classNamefor applying custom theme styling. - New option:
initialEmojifor initial emoji selection. - New option:
localefor emoji data locale. - New option:
messagesfor emojibase-data message data. - New option:
rendererfor specifying emoji renderer
- New option:
hideOnClickOutsideto control whether or not the picker should close when clicking outside of it. - New option:
hideOnEscapeto control whether or not the picker should close when pressing the escape key. - New option:
showCloseButtonto control whether or not the close button should be shown. - New option:
triggerElementto denote the element that should trigger the popup.
- The main
picmopackage only creates inline pickers. Popup pickers are created withcreatePopupfrom the@picmo/popup-pickerpackage instead ofcreatePickerfrom the main package. This function accepts the same options as the main package for the picker itself, and accepts an additional object with popup specific options. - Emoji data is no longer bundled with the package. It can be supplied within the bundle
from the
emoji-datanpm package or can be downloaded from a CDN at runtime. - Popup code and Popper.js dependency separated into
@picmo/popup-pickerpackage. - Twemoji code separated into
@picmo/twemojipackage. emojievent changed toemoji:select.- Emitted data has the properties
{ data, emoji, hexcode, url, label }.
- Emitted data has the properties
hiddenevent changed to toemoji:hidein@picmo/popup-picker.- Twemoji options changed to only specify the desired image type:
svg(the default) orpng. - Event listeners are now added to pickers via
.addEventListenerinstead of.on.
showAnimationchanged toanimate.customformat changed.- Previous:
{ name, emoji } - New:
{ data, emoji, label, tags, url }
- Previous:
emojiVersionis now a number or the stringauthfor automatic detection.recentsCountchanged tomaxRecents.showCategoryButtonschanged toshowCategoryTabs.rowschanged tovisibleRows.
autoHidechanged tohideOnEmojiSelect.
- Plugins have temporarily been removed pending a larger redesign of the plugin system.
iconsremoved.pluginsremoved.twemojiOptionsremoved (now controlled by@picmo/renderer-twemojipackage).styleOptionsremoved (now controlled by CSS variables in CSS class specified by theclassNameoption).- Fuzzy search was removed.