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/README.md +8 -0
- package/dist/components/emoji/Emoji.d.ts +1 -1
- package/dist/dataUtils/emojiSelectors.d.ts +1 -1
- package/dist/emoji-picker-react.cjs.development.js +25 -18
- package/dist/emoji-picker-react.cjs.development.js.map +1 -1
- package/dist/emoji-picker-react.cjs.production.min.js +1 -1
- package/dist/emoji-picker-react.cjs.production.min.js.map +1 -1
- package/dist/emoji-picker-react.esm.js +25 -18
- package/dist/emoji-picker-react.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/body/EmojiVariationPicker.tsx +4 -7
- package/src/components/context/PickerContext.tsx +4 -4
- package/src/components/emoji/Emoji.tsx +4 -2
- package/src/components/footer/Preview.tsx +6 -6
- package/src/dataUtils/emojiSelectors.ts +8 -4
- package/src/hooks/useSetVariationPicker.ts +3 -5
- package/dist/dataUtils/asEmoji.d.ts +0 -2
- package/src/dataUtils/asEmoji.ts +0 -5
package/package.json
CHANGED
|
@@ -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(
|
|
89
|
-
.concat(emojiVariations(
|
|
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={
|
|
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={
|
|
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 =
|
|
58
|
-
|
|
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={
|
|
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(
|
|
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
|
|
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(
|
|
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 (
|
|
13
|
-
|
|
12
|
+
if (emoji) {
|
|
13
|
+
setAnchoredEmojiRef(element);
|
|
14
|
+
setEmojiVariationPicker(emoji);
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
-
setAnchoredEmojiRef(element);
|
|
17
|
-
setEmojiVariationPicker(emoji);
|
|
18
16
|
};
|
|
19
17
|
}
|