diff --git a/package.json b/package.json index 76f9a433ea..b003298f54 100644 --- a/package.json +++ b/package.json @@ -72,8 +72,9 @@ "counterpart": "^0.18.6", "diff-dom": "^4.2.2", "diff-match-patch": "^1.0.5", - "emojibase-data": "^6.2.0", - "emojibase-regex": "^5.1.3", + "emojibase": "6.0.2", + "emojibase-data": "7.0.0", + "emojibase-regex": "6.0.0", "escape-html": "^1.0.3", "file-saver": "^2.0.5", "filesize": "6.1.0", diff --git a/res/fonts/Twemoji_Mozilla/TwemojiMozilla-colr.woff2 b/res/fonts/Twemoji_Mozilla/TwemojiMozilla-colr.woff2 index 128aac8139..b3b20e9aa3 100644 Binary files a/res/fonts/Twemoji_Mozilla/TwemojiMozilla-colr.woff2 and b/res/fonts/Twemoji_Mozilla/TwemojiMozilla-colr.woff2 differ diff --git a/res/fonts/Twemoji_Mozilla/TwemojiMozilla-sbix.woff2 b/res/fonts/Twemoji_Mozilla/TwemojiMozilla-sbix.woff2 index a95e89c094..48f66733aa 100644 Binary files a/res/fonts/Twemoji_Mozilla/TwemojiMozilla-sbix.woff2 and b/res/fonts/Twemoji_Mozilla/TwemojiMozilla-sbix.woff2 differ diff --git a/src/autocomplete/EmojiProvider.tsx b/src/autocomplete/EmojiProvider.tsx index 960b0f9475..55d58a8953 100644 --- a/src/autocomplete/EmojiProvider.tsx +++ b/src/autocomplete/EmojiProvider.tsx @@ -75,7 +75,7 @@ export default class EmojiProvider extends AutocompleteProvider { shouldMatchWordsOnly: false, }); this.nameMatcher = new QueryMatcher(SORTED_EMOJI, { - keys: ['emoji.annotation'], + keys: ['emoji.label'], // For removing punctuation shouldMatchWordsOnly: true, }); diff --git a/src/components/views/emojipicker/EmojiPicker.tsx b/src/components/views/emojipicker/EmojiPicker.tsx index d0c3b59d42..99f8b561ee 100644 --- a/src/components/views/emojipicker/EmojiPicker.tsx +++ b/src/components/views/emojipicker/EmojiPicker.tsx @@ -196,8 +196,11 @@ class EmojiPicker extends React.Component { }; private emojiMatchesFilter = (emoji: IEmoji, filter: string): boolean => { - return emoji.annotation.toLowerCase().includes(filter) || - emoji.emoticon?.toLowerCase().includes(filter) || + return emoji.label.toLowerCase().includes(filter) || + (Array.isArray(emoji.emoticon) + ? emoji.emoticon.some((x) => x.includes(filter)) + : emoji.emoticon?.includes(filter) + ) || emoji.shortcodes.some(x => x.toLowerCase().includes(filter)) || emoji.unicode.split(ZERO_WIDTH_JOINER).includes(filter); }; diff --git a/src/components/views/emojipicker/Preview.tsx b/src/components/views/emojipicker/Preview.tsx index 02b5669caf..710b4545df 100644 --- a/src/components/views/emojipicker/Preview.tsx +++ b/src/components/views/emojipicker/Preview.tsx @@ -27,7 +27,7 @@ interface IProps { @replaceableComponent("views.emojipicker.Preview") class Preview extends React.PureComponent { render() { - const { unicode, annotation, shortcodes: [shortcode] } = this.props.emoji; + const { unicode, label, shortcodes: [shortcode] } = this.props.emoji; return (
@@ -36,7 +36,7 @@ class Preview extends React.PureComponent {
- { annotation } + { label }
{ shortcode } diff --git a/src/components/views/emojipicker/QuickReactions.tsx b/src/components/views/emojipicker/QuickReactions.tsx index cbd529a43c..4c654a0806 100644 --- a/src/components/views/emojipicker/QuickReactions.tsx +++ b/src/components/views/emojipicker/QuickReactions.tsx @@ -68,7 +68,7 @@ class QuickReactions extends React.Component { { !this.state.hover ? _t("Quick Reactions") : - { this.state.hover.annotation } + { this.state.hover.label } { this.state.hover.shortcodes[0] } } diff --git a/src/emoji.ts b/src/emoji.ts index 73898c12eb..a8b5a228be 100644 --- a/src/emoji.ts +++ b/src/emoji.ts @@ -18,7 +18,7 @@ import EMOJIBASE from 'emojibase-data/en/compact.json'; import SHORTCODES from 'emojibase-data/en/shortcodes/iamcal.json'; export interface IEmoji { - annotation: string; + label: string; group?: number; hexcode: string; order?: number; @@ -26,7 +26,7 @@ export interface IEmoji { tags?: string[]; unicode: string; skins?: Omit[]; // Currently unused - emoticon?: string; + emoticon?: string | string[]; } // The unicode is stored without the variant selector @@ -74,7 +74,7 @@ export const EMOJI: IEmoji[] = EMOJIBASE.map((emojiData: Omit EMOTICON_TO_EMOJI.set(x, emoji)) + : EMOTICON_TO_EMOJI.set(emoji.emoticon, emoji); } return emoji; diff --git a/yarn.lock b/yarn.lock index 8c237e9e64..948b04b7f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3531,15 +3531,20 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -emojibase-data@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/emojibase-data/-/emojibase-data-6.2.0.tgz#db6c75c36905284fa623f4aa5f468d2be6ed364a" - integrity sha512-SWKaXD2QeQs06IE7qfJftsI5924Dqzp+V9xaa5RzZIEWhmlrG6Jt2iKwfgOPHu+5S8MEtOI7GdpKsXj46chXOw== +emojibase-data@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/emojibase-data/-/emojibase-data-7.0.0.tgz#5e16ed265871d58b3ca7c3b2bc7d80853a55f34f" + integrity sha512-ka3p06egA+jqWnUUjNfOwYAw4j9/+KyUcCpFjSItM0NjbL8n5qZfe1mskmGUP4TkuE5SbiOvG++CC1iN+53jKg== -emojibase-regex@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/emojibase-regex/-/emojibase-regex-5.1.3.tgz#f0ef621ed6ec624becd2326f999fd4ea01b94554" - integrity sha512-gT8T9LxLA8VJdI+8KQtyykB9qKzd7WuUL3M2yw6y9tplFeufOUANg3UKVaKUvkMcRNvZsSElWhxcJrx8WPE12g== +emojibase-regex@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/emojibase-regex/-/emojibase-regex-6.0.0.tgz#2d236f6bd38e6aa69089707eb06fe1f6a3270198" + integrity sha512-vpo76XcjjFapY4Q1vZAp8fu07p9lNCZi0TMtpZ3XyHYRqnqYZTzHgSI7tMvpYmnD8xt9o4XC5oUaSJXT4Ky9Tw== + +emojibase@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/emojibase/-/emojibase-6.0.2.tgz#1e76996b2bd9e6927e51f54c3995245b03eacb02" + integrity sha512-2h2eblOm86tj+lsJLgLYmEni13H74KNNu1NI1ZgMOX9ByWuvjFZLhETEUH1edpcd8srAlzhfJSD892UbpxfwsA== emojis-list@^3.0.0: version "3.0.0"