emoji-picker-react 4.4.5 → 4.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.4.5",
2
+ "version": "4.4.7",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -14,7 +14,6 @@ import {
14
14
  useEmojiStyleConfig,
15
15
  useGetEmojiUrlConfig
16
16
  } from '../../config/useConfig';
17
- import { asEmoji } from '../../dataUtils/asEmoji';
18
17
  import {
19
18
  emojiHasVariations,
20
19
  emojiUnified,
@@ -73,8 +72,6 @@ export function EmojiVariationPicker() {
73
72
  pointerStyle = getPointerStyle();
74
73
  }
75
74
 
76
- const safeEmoji = asEmoji(emoji);
77
-
78
75
  return (
79
76
  <div
80
77
  ref={VariationPickerRef}
@@ -84,14 +81,14 @@ export function EmojiVariationPicker() {
84
81
  })}
85
82
  style={{ top }}
86
83
  >
87
- {visible
88
- ? [emojiUnified(safeEmoji)]
89
- .concat(emojiVariations(safeEmoji))
84
+ {visible && emoji
85
+ ? [emojiUnified(emoji)]
86
+ .concat(emojiVariations(emoji))
90
87
  .slice(0, 6)
91
88
  .map(unified => (
92
89
  <ClickableEmoji
93
90
  key={unified}
94
- emoji={safeEmoji}
91
+ emoji={emoji}
95
92
  unified={unified}
96
93
  emojiStyle={emojiStyle}
97
94
  showVariations={false}
@@ -40,14 +40,14 @@ export function PickerContextProvider({ children }: Props) {
40
40
  activeSkinTone,
41
41
  disallowClickRef,
42
42
  disallowMouseRef,
43
+ disallowedEmojisRef,
43
44
  emojiVariationPickerState,
44
45
  emojisThatFailedToLoadState,
45
46
  filterRef,
46
47
  isPastInitialLoad,
47
48
  searchTerm,
48
49
  skinToneFanOpenState,
49
- suggestedUpdateState,
50
- disallowedEmojisRef,
50
+ suggestedUpdateState
51
51
  }}
52
52
  >
53
53
  {children}
@@ -82,7 +82,7 @@ const PickerContext = React.createContext<{
82
82
  isPastInitialLoad: true,
83
83
  searchTerm: ['', () => new Promise<string>(() => undefined)],
84
84
  skinToneFanOpenState: [false, () => {}],
85
- suggestedUpdateState: [Date.now(), () => {}],
85
+ suggestedUpdateState: [Date.now(), () => {}]
86
86
  });
87
87
 
88
88
  type Props = Readonly<{
@@ -150,7 +150,7 @@ export function useUpdateSuggested(): [number, () => void] {
150
150
  suggestedUpdated,
151
151
  function updateSuggested() {
152
152
  setsuggestedUpdate(Date.now());
153
- },
153
+ }
154
154
  ];
155
155
  }
156
156
 
@@ -3,7 +3,6 @@ import * as React from 'react';
3
3
 
4
4
  import { ClassNames } from '../../DomUtils/classNames';
5
5
  import { DataEmoji } from '../../dataUtils/DataTypes';
6
- import { asEmoji } from '../../dataUtils/asEmoji';
7
6
  import {
8
7
  emojiByUnified,
9
8
  emojiHasVariations,
@@ -87,6 +86,9 @@ export function ViewOnlyEmoji({
87
86
  }
88
87
 
89
88
  const emojiToRender = emoji ? emoji : emojiByUnified(unified);
89
+ if(!emojiToRender) {
90
+ return null
91
+ }
90
92
 
91
93
  return (
92
94
  <>
@@ -96,7 +98,7 @@ export function ViewOnlyEmoji({
96
98
  <EmojiImg
97
99
  unified={unified}
98
100
  style={style}
99
- emoji={asEmoji(emojiToRender)}
101
+ emoji={emojiToRender}
100
102
  emojiStyle={emojiStyle}
101
103
  lazyLoad={lazyLoad}
102
104
  getEmojiUrl={getEmojiUrl}
@@ -6,7 +6,6 @@ import {
6
6
  useGetEmojiUrlConfig,
7
7
  usePreviewConfig
8
8
  } from '../../config/useConfig';
9
- import { asEmoji } from '../../dataUtils/asEmoji';
10
9
  import {
11
10
  emojiByUnified,
12
11
  emojiName,
@@ -54,9 +53,10 @@ export function PreviewBody() {
54
53
  return <PreviewContent />;
55
54
 
56
55
  function PreviewContent() {
57
- const defaultEmoji = asEmoji(
58
- variationPickerEmoji ?? emojiByUnified(previewConfig.defaultEmoji)
59
- );
56
+ const defaultEmoji = variationPickerEmoji ?? emojiByUnified(previewConfig.defaultEmoji)
57
+ if (!defaultEmoji) {
58
+ return null
59
+ }
60
60
  const defaultText = variationPickerEmoji
61
61
  ? emojiName(variationPickerEmoji)
62
62
  : previewConfig.defaultCaption;
@@ -67,7 +67,7 @@ export function PreviewBody() {
67
67
  {show ? (
68
68
  <ViewOnlyEmoji
69
69
  unified={previewEmoji?.unified as string}
70
- emoji={asEmoji(emoji)}
70
+ emoji={emoji}
71
71
  emojiStyle={emojiStyle}
72
72
  size={45}
73
73
  getEmojiUrl={getEmojiUrl}
@@ -84,7 +84,7 @@ export function PreviewBody() {
84
84
  </div>
85
85
  {show ? (
86
86
  <div className="epr-preview-emoji-label">
87
- {emojiName(asEmoji(emoji))}
87
+ {emojiName(emoji)}
88
88
  </div>
89
89
  ) : (
90
90
  <div className="epr-preview-emoji-label">{defaultText}</div>
@@ -2,7 +2,7 @@ import { Categories } from '../config/categoryConfig';
2
2
  import { cdnUrl } from '../config/cdnUrls';
3
3
  import emojis from '../data/emojis';
4
4
  import skinToneVariations, {
5
- skinTonesMapped,
5
+ skinTonesMapped
6
6
  } from '../data/skinToneVariations';
7
7
  import { EmojiStyle, SkinTones } from '../types/exposedTypes';
8
8
 
@@ -12,7 +12,7 @@ enum EmojiProperties {
12
12
  name = 'n',
13
13
  unified = 'u',
14
14
  variations = 'v',
15
- added_in = 'a',
15
+ added_in = 'a'
16
16
  }
17
17
 
18
18
  export function emojiNames(emoji: DataEmoji): string[] {
@@ -23,7 +23,11 @@ export function addedIn(emoji: DataEmoji): number {
23
23
  return parseFloat(emoji[EmojiProperties.added_in]);
24
24
  }
25
25
 
26
- export function emojiName(emoji: DataEmoji): string {
26
+ export function emojiName(emoji?: DataEmoji): string {
27
+ if (!emoji) {
28
+ return '';
29
+ }
30
+
27
31
  return emojiNames(emoji)[0];
28
32
  }
29
33
 
@@ -74,7 +78,7 @@ export function emojiVariationUnified(
74
78
  skinTone?: string
75
79
  ): string | undefined {
76
80
  return skinTone
77
- ? emojiVariations(emoji).find((variation) => variation.includes(skinTone))
81
+ ? emojiVariations(emoji).find(variation => variation.includes(skinTone))
78
82
  : emojiUnified(emoji);
79
83
  }
80
84
 
@@ -9,11 +9,9 @@ export default function useSetVariationPicker() {
9
9
  return function setVariationPicker(element: NullableElement) {
10
10
  const [emoji] = emojiFromElement(element);
11
11
 
12
- if (!emoji) {
13
- return;
12
+ if (emoji) {
13
+ setAnchoredEmojiRef(element);
14
+ setEmojiVariationPicker(emoji);
14
15
  }
15
-
16
- setAnchoredEmojiRef(element);
17
- setEmojiVariationPicker(emoji);
18
16
  };
19
17
  }
@@ -1,2 +0,0 @@
1
- import { DataEmoji } from './DataTypes';
2
- export declare function asEmoji(emoji: DataEmoji | undefined | null): DataEmoji;
@@ -1,5 +0,0 @@
1
- import { DataEmoji } from './DataTypes';
2
-
3
- export function asEmoji(emoji: DataEmoji | undefined | null): DataEmoji {
4
- return emoji as DataEmoji;
5
- }