- Dropped IE 11 support. Modern browsers now required.
- Updated to support Emoji v14, which includes 154+ new emojis.
- Added support for React 18.
- Updated to latest
packemon
. - Updated
emojibase
to v6. - Updated
emojibase-regex
to v6.
- Migrated to Beemo for build and developer tooling.
- Updated
emojibase
to latest.
- Include source folder for source maps work correctly.
- Switched from the
emojibase-legacy
shortcode preset toemojibase
(shortcodes are now different). Can customize this using the newshortcodes
option. - Removed
emojibase
as a peer requirement. - Removed
INTERWEAVE_ALLOW_FETCH_EMOJI
constant for testing.
- Updated to support Emoji v13.1, which includes 117+ new emojis.
- Updated to support different shortcodes using pre-defined presets.
- Added
shortcodes
option touseEmojiData
.
- Updated
emojibase
to v5.
- Switched to Packemon for package building.
- Added support for React 17.
- Updated latest data version to v4.2.1 (to match dataset changes).
- Add support for
emojibase
v4 andemojibase-data
v5.
- Updated all dependencies.
- Fixed in incorrect
@types/react
dependency.
- Updated
emojibase
to latest.
- Migrated build to Rollup for a smaller filesize.
- Added an
avoidFetch
option touseEmojiData
.
- Fixed an issue where different types of emoji patterns (hexcodes, shortcodes, unicode characters) used in the same string weren't always being converted.
- Fixed
emojibase-test-utils/test-data.json
being pulled into a Webpack bundle on accident.
- Updated
interweave
peer requirement to v12. - Updated
react
requirement to v16.8. - Updated
emojiPath
prop to receive an object of sizes as the 2nd argument, instead of the 3 trailing size arguments. - Removed the
withEmojiData
HOC.
- Updated
emojibase
to v3, which includes new 2019 emojis. - Added a new
useEmojiData
hook. - Rewrote all components to use function components. Reduced file sizes by 28%.
- Updated
useEmojiData
to fake all CDN fetches whenNODE_ENV
is "test" orfetch
is undefined, unlessINTERWEAVE_ALLOW_FETCH_EMOJI
is explicitly defined. This should make testing emoji aware components in consumers much easier.
- Updated all dependencies.
- Updated
withEmojiData
to no longer set state if the component has been unmounted.
- Updated all dependencies.
- Migrated from
enzyme
torut
for React testing.
withEmojiData
version now defaults to the Emojibasepackage.json
version instead oflatest
. This change has been made as Emojibase v3 has been released, which supports Emoji/Unicode v12, but most systems do not support this specification yet, so we want to lock to the latest Emojibase v2 version.
- Updated all
@types
dependencies to use*
version.
- Updated IE requirement to v11.
- Added peer dep support for
interweave
v11.0. - Removed
@babel/runtime
as it wasn't saving much space.
- More ESM improvements.
- Updated dependencies.
- Added missing
@babel/runtime
package.
- Fixed an issue with TS types being exported from the ESM index.
- Added ECMAScript module support via
esm/
built files. - Removed copyright docblocks from source files to reduce bundle size.
- Tested with React v16.8.
- PropType shapes have been removed.
- Added peer dep support for
interweave
10.0.
- Added
alwaysRender
andthrowErrors
options towithEmojiData
.
TypeScript
- Updated to the new
Node
type to resolve React node issues.
- Updated minimum
react
requirement to 16.3. - Updated minimum
emojibase
requirement to 2.0. - Renamed
EmojiData
toEmojiDataManager
. - Removed "Emoji" prefix from
EmojiPathShape
,EmojiSizeShape
, andEmojiSourceShape
. - Removed class names from generated elements.
- Reworked
withEmojiData
HOC:- Now the default export of the module.
- HOC component will render
null
until emoji data has loaded. - HOC factory now returns a function in which the wrapped component should be passed to.
- The
compact
andemojis
props are now options passed to the HOC factory.
- Updated
withEmojiData
to pass the currentEmojiDataManager
instance as anemojiData
prop.
- Converted from Flow to TypeScript.
- Updated
componentWillMount
tocomponentDidMount
andcomponentWillReceiveProps
tocomponentDidUpdate
in preparation for React 16.3.
- Updated
emojibase-regex
to 1.0.9.
- Tested against React 16.1.
- Improved build process.
- Updated
withEmojiData
to refresh data if props change.
- Passing custom
emoijs
towithEmojiData
will no longer mutate official data inEmojiData
.
- Updated
interweave
peer dependency to 8.0. - Added a
renderUnicode
prop to theEmoji
component.
- Emojis with multiple presentation variants will no longer break the matching process.
- Updated
EmojiData
to map data using hexcodes instead of unicode characters.
- Updated
prop-types
to 15.6.
- Tested against React 16.
- Initial release!
- Migrated
Emoji
component toReact.PureComponent
. - Refactored
EmojiLoader
into an HOC namedwithEmojiData
, as the original approach would not re-render components correctly in some situations. - Updated
emojiSize
andemojiLargeSize
props to accept a string or number, and to default to1em
and3em
respectively.- If using a number, it will pass through to React (which uses
px
). - If using a string, it will be used as-is (
1em
).
- If using a number, it will pass through to React (which uses
- Updated
emojiLargeSize
to no longer auto-multiply size. The prop must be defined manually.
- Added
Emoji
,EmojiPath
,EmojiSize
, andEmojiSource
types to the Flowtype definitions. - Added
EmojiShape
,EmojiPathShape
,EmojiSizeShape
, andEmojiSourceShape
prop types. - Updated
emojiSize
prop to also setheight
on theimg
tag. - Updated
withEmojiData
to support new props.compact
- Will loadcompact.json
instead ofdata.json
from the CDN.emojis
- Can be used to manually load emoji data without fetching from the CDN.
- Updated
withEmojiData
to pass new props to the wrapped component.emojis
- An array of loaded emoji data.emojiSource
- An object that containsversion
,locale
, andcompact
.
- Updated parsed and packaged emoji data to include additional properties.
- Added
unicode
, which is either the emoji or text presentation Unicode character. - Added
canonical_shortcodes
, which are an array of shortcodes including surrounding colons. - Added
primary_shortcode
, which is the primary and most common shortcode, with colons.
- Added
- Updated
emojibase
to 1.4.0. - Updated
emojibase-regex
to 1.0.6.
This package was originally part of interweave
but over time, it grew too large and unwieldy. In
an effort to reduce bloat and dependencies, the emoji functionality was broken off into this
package. The 1.0.0 release mentioned above contains breaking changes against its previous core
implementation.