For full details, see the documentation at https://picmojs.com.
- [
@picmo/popup-picker
] Added a newonPositionLost
option 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, ifhideOnEmojiSelect
is 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 ofoptions
parameter on thetoggle
method 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.env
appearing in build output.
- Fixed issues with UMD build (however, different URL patterns are now required)
- Fixed bundling issue where core
picmo
packages 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 newauto
autofocus option that will choose a target based on available elements. - [
picmo
] Added a global configuration store with aninjectStyles
option 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 aLocalStorageProvider
isn't instantiated immediately upon importing PicMo; this was causing errors in environments like Next.js wherelocalStorage
is not available. NowlocalStorage
is only referenced when callingcreatePicker
.
- [
picmo
] Added newautoFocus
option to better control autofocus behavior (or disable it entirely). - [
picmo
] Deprecated theautoFocusSearch
option in favor ofautoFocus
. - [
@picmo/popup-picker
] Upgraded to use the floating-ui library (successor to Popper.js). - [
@picmo/renderer-twemoji
] Made SVG containerdisplay: none
to 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:
dataStore
to specify a factory to create the desired data store type.
- New option:
className
to 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: false
set.
First PicMo release (previously Emoji Button).
@joeattardi/emoji-button
package 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. Requirespicmo
as a peer dependency.@picmo/renderer-twemoji
- The Twemoji renderer. Requirespicmo
as a peer dependency.
- All packages now include UMD builds.
- Emoji data is stored in an IndexedDB database locally.
data:ready
event 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:
className
for applying custom theme styling. - New option:
initialEmoji
for initial emoji selection. - New option:
locale
for emoji data locale. - New option:
messages
for emojibase-data message data. - New option:
renderer
for specifying emoji renderer
- New option:
hideOnClickOutside
to control whether or not the picker should close when clicking outside of it. - New option:
hideOnEscape
to control whether or not the picker should close when pressing the escape key. - New option:
showCloseButton
to control whether or not the close button should be shown. - New option:
triggerElement
to denote the element that should trigger the popup.
- The main
picmo
package only creates inline pickers. Popup pickers are created withcreatePopup
from the@picmo/popup-picker
package instead ofcreatePicker
from 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-data
npm package or can be downloaded from a CDN at runtime. - Popup code and Popper.js dependency separated into
@picmo/popup-picker
package. - Twemoji code separated into
@picmo/twemoji
package. emoji
event changed toemoji:select
.- Emitted data has the properties
{ data, emoji, hexcode, url, label }
.
- Emitted data has the properties
hidden
event changed to toemoji:hide
in@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
.addEventListener
instead of.on
.
showAnimation
changed toanimate
.custom
format changed.- Previous:
{ name, emoji }
- New:
{ data, emoji, label, tags, url }
- Previous:
emojiVersion
is now a number or the stringauth
for automatic detection.recentsCount
changed tomaxRecents
.showCategoryButtons
changed toshowCategoryTabs
.rows
changed tovisibleRows
.
autoHide
changed tohideOnEmojiSelect
.
- Plugins have temporarily been removed pending a larger redesign of the plugin system.
icons
removed.plugins
removed.twemojiOptions
removed (now controlled by@picmo/renderer-twemoji
package).styleOptions
removed (now controlled by CSS variables in CSS class specified by theclassName
option).- Fuzzy search was removed.