emoji-picker-react 4.7.10 → 4.7.12
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 +2 -2
- package/dist/Stylesheet/stylesheet.d.ts +2 -2
- package/dist/config/config.d.ts +1 -0
- package/dist/config/useConfig.d.ts +1 -0
- package/dist/emoji-picker-react.cjs.development.js +68 -57
- 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 +69 -58
- package/dist/emoji-picker-react.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/EmojiPickerReact.tsx +9 -0
- package/src/Stylesheet/stylesheet.tsx +3 -10
- package/src/components/context/PickerConfigContext.tsx +11 -3
- package/src/components/main/PickerMain.tsx +1 -2
- package/src/config/config.ts +3 -1
- package/src/config/mutableConfig.ts +3 -1
- package/src/config/useConfig.ts +5 -0
package/README.md
CHANGED
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|

|
|
8
8
|
|
|
9
|
-

|
|
10
|
-
---
|
|
9
|
+
## 
|
|
11
10
|
|
|
12
11
|
_If you enjoy using emoji-picker-react<br/>
|
|
13
12
|
You should also consider trying:<br/>
|
|
@@ -65,6 +64,7 @@ The following props are accepted by them picker:
|
|
|
65
64
|
|
|
66
65
|
| Prop | Type | Default | Description |
|
|
67
66
|
| ---------------------- | ------------------------------------------------------ | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
67
|
+
| open | boolean | `true` | Controls whether the picker is open or not. |
|
|
68
68
|
| onEmojiClick | function | | Callback function that is called when an emoji is clicked. The function receives the emoji object as a parameter. |
|
|
69
69
|
| autoFocusSearch | boolean | `true` | Controls the auto focus of the search input. |
|
|
70
70
|
| Theme | string | `light` | Controls the theme of the picker. Possible values are `light`, `dark` and `auto`. |
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { Styles } from 'flairup';
|
|
2
|
+
import * as React from 'react';
|
|
3
3
|
export declare const stylesheet: {
|
|
4
4
|
create: <K extends string>(styles: Partial<{ [k in K]: Partial<Partial<CSSStyleDeclaration> & Partial<{
|
|
5
5
|
'.'?: string | string[] | undefined;
|
|
@@ -9,7 +9,7 @@ export declare const stylesheet: {
|
|
|
9
9
|
isApplied: () => boolean;
|
|
10
10
|
};
|
|
11
11
|
export declare const commonStyles: Record<never, Set<string>>;
|
|
12
|
-
export declare
|
|
12
|
+
export declare const PickerStyleTag: React.NamedExoticComponent<object>;
|
|
13
13
|
export declare const commonInteractionStyles: Record<never, Set<string>>;
|
|
14
14
|
export declare function darkMode(key: string, value: Styles): {
|
|
15
15
|
'.epr-dark-theme': {
|
package/dist/config/config.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export declare function useEmojiStyleConfig(): EmojiStyle;
|
|
|
14
14
|
export declare function useAutoFocusSearchConfig(): boolean;
|
|
15
15
|
export declare function useCategoriesConfig(): CategoriesConfig;
|
|
16
16
|
export declare function useCustomEmojisConfig(): CustomEmoji[];
|
|
17
|
+
export declare function useOpenConfig(): boolean;
|
|
17
18
|
export declare function useOnEmojiClickConfig(mouseEventSource: MOUSE_EVENT_SOURCE): (emoji: EmojiClickData, event: MouseEvent) => void;
|
|
18
19
|
export declare function usePreviewConfig(): PreviewConfig;
|
|
19
20
|
export declare function useThemeConfig(): Theme;
|
|
@@ -110,19 +110,7 @@ function asSelectors() {
|
|
|
110
110
|
}).join('');
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
var
|
|
114
|
-
function useIsEverMounted() {
|
|
115
|
-
var _React$useState = React.useState(isEverMounted),
|
|
116
|
-
isMounted = _React$useState[0],
|
|
117
|
-
setIsMounted = _React$useState[1];
|
|
118
|
-
React.useEffect(function () {
|
|
119
|
-
setIsMounted(true);
|
|
120
|
-
isEverMounted = true;
|
|
121
|
-
}, []);
|
|
122
|
-
return isMounted || isEverMounted;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
var stylesheet = /*#__PURE__*/flairup.createSheet('epr');
|
|
113
|
+
var stylesheet = /*#__PURE__*/flairup.createSheet('epr', null);
|
|
126
114
|
var hidden = {
|
|
127
115
|
display: 'none',
|
|
128
116
|
opacity: '0',
|
|
@@ -135,18 +123,14 @@ var commonStyles = /*#__PURE__*/stylesheet.create({
|
|
|
135
123
|
'.': ClassNames.hidden
|
|
136
124
|
}, hidden)
|
|
137
125
|
});
|
|
138
|
-
function PickerStyleTag() {
|
|
139
|
-
var isMounted = useIsEverMounted();
|
|
140
|
-
if (stylesheet.isApplied() && isMounted) {
|
|
141
|
-
return null;
|
|
142
|
-
}
|
|
126
|
+
var PickerStyleTag = /*#__PURE__*/React.memo(function PickerStyleTag() {
|
|
143
127
|
return React.createElement("style", {
|
|
144
128
|
suppressHydrationWarning: true,
|
|
145
129
|
dangerouslySetInnerHTML: {
|
|
146
130
|
__html: stylesheet.getStyle()
|
|
147
131
|
}
|
|
148
132
|
});
|
|
149
|
-
}
|
|
133
|
+
});
|
|
150
134
|
var commonInteractionStyles = /*#__PURE__*/stylesheet.create({
|
|
151
135
|
'.epr-main': {
|
|
152
136
|
':has(input:not(:placeholder-shown))': {
|
|
@@ -16851,7 +16835,8 @@ function basePickerConfig() {
|
|
|
16851
16835
|
unicodeToHide: new Set(KNOWN_FAILING_EMOJIS),
|
|
16852
16836
|
width: 350,
|
|
16853
16837
|
reactionsDefaultOpen: false,
|
|
16854
|
-
reactions: DEFAULT_REACTIONS
|
|
16838
|
+
reactions: DEFAULT_REACTIONS,
|
|
16839
|
+
open: true
|
|
16855
16840
|
};
|
|
16856
16841
|
}
|
|
16857
16842
|
var basePreviewConfig = {
|
|
@@ -16871,25 +16856,29 @@ function PickerConfigProvider(_ref) {
|
|
|
16871
16856
|
}, children);
|
|
16872
16857
|
}
|
|
16873
16858
|
function useSetConfig(config) {
|
|
16874
|
-
var _config$
|
|
16859
|
+
var _config$customEmojis;
|
|
16875
16860
|
var _React$useState = React.useState(function () {
|
|
16876
16861
|
return mergeConfig(config);
|
|
16877
16862
|
}),
|
|
16878
16863
|
mergedConfig = _React$useState[0],
|
|
16879
16864
|
setMergedConfig = _React$useState[1];
|
|
16880
16865
|
React.useEffect(function () {
|
|
16881
|
-
|
|
16882
|
-
|
|
16883
|
-
setMergedConfig(mergeConfig(config));
|
|
16866
|
+
if (avoidRefresh(config, mergedConfig)) {
|
|
16867
|
+
return;
|
|
16884
16868
|
}
|
|
16869
|
+
setMergedConfig(mergeConfig(config));
|
|
16885
16870
|
// not gonna...
|
|
16886
16871
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
16887
|
-
}, [(_config$
|
|
16872
|
+
}, [(_config$customEmojis = config.customEmojis) == null ? void 0 : _config$customEmojis.length, config.open]);
|
|
16888
16873
|
return mergedConfig;
|
|
16889
16874
|
}
|
|
16890
16875
|
function usePickerConfig() {
|
|
16891
16876
|
return React.useContext(ConfigContext);
|
|
16892
16877
|
}
|
|
16878
|
+
function avoidRefresh(prev, next) {
|
|
16879
|
+
var _prev$customEmojis, _next$customEmojis;
|
|
16880
|
+
return ((_prev$customEmojis = prev.customEmojis) == null ? void 0 : _prev$customEmojis.length) === ((_next$customEmojis = next.customEmojis) == null ? void 0 : _next$customEmojis.length) && prev.open === next.open;
|
|
16881
|
+
}
|
|
16893
16882
|
|
|
16894
16883
|
var MutableConfigContext = /*#__PURE__*/React__default.createContext({});
|
|
16895
16884
|
function useMutableConfig() {
|
|
@@ -16903,7 +16892,8 @@ function useDefineMutableConfig(config) {
|
|
|
16903
16892
|
});
|
|
16904
16893
|
React__default.useEffect(function () {
|
|
16905
16894
|
MutableConfigRef.current.onEmojiClick = config.onEmojiClick || emptyFunc;
|
|
16906
|
-
|
|
16895
|
+
MutableConfigRef.current.onReactionClick = config.onReactionClick || config.onEmojiClick;
|
|
16896
|
+
}, [config.onEmojiClick, config.onReactionClick]);
|
|
16907
16897
|
return MutableConfigRef;
|
|
16908
16898
|
}
|
|
16909
16899
|
function emptyFunc() {}
|
|
@@ -16952,6 +16942,11 @@ function useCustomEmojisConfig() {
|
|
|
16952
16942
|
customEmojis = _usePickerConfig7.customEmojis;
|
|
16953
16943
|
return customEmojis;
|
|
16954
16944
|
}
|
|
16945
|
+
function useOpenConfig() {
|
|
16946
|
+
var _usePickerConfig8 = usePickerConfig(),
|
|
16947
|
+
open = _usePickerConfig8.open;
|
|
16948
|
+
return open;
|
|
16949
|
+
}
|
|
16955
16950
|
function useOnEmojiClickConfig(mouseEventSource) {
|
|
16956
16951
|
var _ref;
|
|
16957
16952
|
var _useMutableConfig = useMutableConfig(),
|
|
@@ -16960,73 +16955,73 @@ function useOnEmojiClickConfig(mouseEventSource) {
|
|
|
16960
16955
|
return handler || function () {};
|
|
16961
16956
|
}
|
|
16962
16957
|
function usePreviewConfig() {
|
|
16963
|
-
var
|
|
16964
|
-
previewConfig =
|
|
16958
|
+
var _usePickerConfig9 = usePickerConfig(),
|
|
16959
|
+
previewConfig = _usePickerConfig9.previewConfig;
|
|
16965
16960
|
return previewConfig;
|
|
16966
16961
|
}
|
|
16967
16962
|
function useThemeConfig() {
|
|
16968
|
-
var
|
|
16969
|
-
theme =
|
|
16963
|
+
var _usePickerConfig10 = usePickerConfig(),
|
|
16964
|
+
theme = _usePickerConfig10.theme;
|
|
16970
16965
|
return theme;
|
|
16971
16966
|
}
|
|
16972
16967
|
function useSuggestedEmojisModeConfig() {
|
|
16973
|
-
var
|
|
16974
|
-
suggestedEmojisMode =
|
|
16968
|
+
var _usePickerConfig11 = usePickerConfig(),
|
|
16969
|
+
suggestedEmojisMode = _usePickerConfig11.suggestedEmojisMode;
|
|
16975
16970
|
return suggestedEmojisMode;
|
|
16976
16971
|
}
|
|
16977
16972
|
function useLazyLoadEmojisConfig() {
|
|
16978
|
-
var
|
|
16979
|
-
lazyLoadEmojis =
|
|
16973
|
+
var _usePickerConfig12 = usePickerConfig(),
|
|
16974
|
+
lazyLoadEmojis = _usePickerConfig12.lazyLoadEmojis;
|
|
16980
16975
|
return lazyLoadEmojis;
|
|
16981
16976
|
}
|
|
16982
16977
|
function useClassNameConfig() {
|
|
16983
|
-
var
|
|
16984
|
-
className =
|
|
16978
|
+
var _usePickerConfig13 = usePickerConfig(),
|
|
16979
|
+
className = _usePickerConfig13.className;
|
|
16985
16980
|
return className;
|
|
16986
16981
|
}
|
|
16987
16982
|
function useStyleConfig() {
|
|
16988
|
-
var
|
|
16989
|
-
height =
|
|
16990
|
-
width =
|
|
16991
|
-
style =
|
|
16983
|
+
var _usePickerConfig14 = usePickerConfig(),
|
|
16984
|
+
height = _usePickerConfig14.height,
|
|
16985
|
+
width = _usePickerConfig14.width,
|
|
16986
|
+
style = _usePickerConfig14.style;
|
|
16992
16987
|
return _extends({
|
|
16993
16988
|
height: getDimension(height),
|
|
16994
16989
|
width: getDimension(width)
|
|
16995
16990
|
}, style);
|
|
16996
16991
|
}
|
|
16997
16992
|
function useReactionsOpenConfig() {
|
|
16998
|
-
var
|
|
16999
|
-
reactionsDefaultOpen =
|
|
16993
|
+
var _usePickerConfig15 = usePickerConfig(),
|
|
16994
|
+
reactionsDefaultOpen = _usePickerConfig15.reactionsDefaultOpen;
|
|
17000
16995
|
return reactionsDefaultOpen;
|
|
17001
16996
|
}
|
|
17002
16997
|
function useEmojiVersionConfig() {
|
|
17003
|
-
var
|
|
17004
|
-
emojiVersion =
|
|
16998
|
+
var _usePickerConfig16 = usePickerConfig(),
|
|
16999
|
+
emojiVersion = _usePickerConfig16.emojiVersion;
|
|
17005
17000
|
return emojiVersion;
|
|
17006
17001
|
}
|
|
17007
17002
|
function useSearchDisabledConfig() {
|
|
17008
|
-
var
|
|
17009
|
-
searchDisabled =
|
|
17003
|
+
var _usePickerConfig17 = usePickerConfig(),
|
|
17004
|
+
searchDisabled = _usePickerConfig17.searchDisabled;
|
|
17010
17005
|
return searchDisabled;
|
|
17011
17006
|
}
|
|
17012
17007
|
function useSkinTonePickerLocationConfig() {
|
|
17013
|
-
var
|
|
17014
|
-
skinTonePickerLocation =
|
|
17008
|
+
var _usePickerConfig18 = usePickerConfig(),
|
|
17009
|
+
skinTonePickerLocation = _usePickerConfig18.skinTonePickerLocation;
|
|
17015
17010
|
return skinTonePickerLocation;
|
|
17016
17011
|
}
|
|
17017
17012
|
function useUnicodeToHide() {
|
|
17018
|
-
var
|
|
17019
|
-
unicodeToHide =
|
|
17013
|
+
var _usePickerConfig19 = usePickerConfig(),
|
|
17014
|
+
unicodeToHide = _usePickerConfig19.unicodeToHide;
|
|
17020
17015
|
return unicodeToHide;
|
|
17021
17016
|
}
|
|
17022
17017
|
function useReactionsConfig() {
|
|
17023
|
-
var
|
|
17024
|
-
reactions =
|
|
17018
|
+
var _usePickerConfig20 = usePickerConfig(),
|
|
17019
|
+
reactions = _usePickerConfig20.reactions;
|
|
17025
17020
|
return reactions;
|
|
17026
17021
|
}
|
|
17027
17022
|
function useGetEmojiUrlConfig() {
|
|
17028
|
-
var
|
|
17029
|
-
getEmojiUrl =
|
|
17023
|
+
var _usePickerConfig21 = usePickerConfig(),
|
|
17024
|
+
getEmojiUrl = _usePickerConfig21.getEmojiUrl;
|
|
17030
17025
|
return getEmojiUrl;
|
|
17031
17026
|
}
|
|
17032
17027
|
function getDimension(dimensionConfig) {
|
|
@@ -18525,6 +18520,18 @@ var styles$6 = /*#__PURE__*/stylesheet.create({
|
|
|
18525
18520
|
}
|
|
18526
18521
|
});
|
|
18527
18522
|
|
|
18523
|
+
var isEverMounted = false;
|
|
18524
|
+
function useIsEverMounted() {
|
|
18525
|
+
var _React$useState = React.useState(isEverMounted),
|
|
18526
|
+
isMounted = _React$useState[0],
|
|
18527
|
+
setIsMounted = _React$useState[1];
|
|
18528
|
+
React.useEffect(function () {
|
|
18529
|
+
setIsMounted(true);
|
|
18530
|
+
isEverMounted = true;
|
|
18531
|
+
}, []);
|
|
18532
|
+
return isMounted || isEverMounted;
|
|
18533
|
+
}
|
|
18534
|
+
|
|
18528
18535
|
function Suggested(_ref) {
|
|
18529
18536
|
var categoryConfig = _ref.categoryConfig;
|
|
18530
18537
|
var _useUpdateSuggested = useUpdateSuggested(),
|
|
@@ -20187,7 +20194,7 @@ function useOnFocus() {
|
|
|
20187
20194
|
var _excluded$1 = ["width", "height"];
|
|
20188
20195
|
function PickerMain(_ref) {
|
|
20189
20196
|
var children = _ref.children;
|
|
20190
|
-
return React.createElement(PickerContextProvider, null, React.createElement(
|
|
20197
|
+
return React.createElement(PickerContextProvider, null, React.createElement(PickerRootElement, null, children));
|
|
20191
20198
|
}
|
|
20192
20199
|
function PickerRootElement(_ref2) {
|
|
20193
20200
|
var _cx;
|
|
@@ -20353,7 +20360,7 @@ var styles$j = /*#__PURE__*/stylesheet.create({
|
|
|
20353
20360
|
});
|
|
20354
20361
|
|
|
20355
20362
|
function EmojiPicker(props) {
|
|
20356
|
-
return React.createElement(ElementRefContextProvider, null, React.createElement(PickerConfigProvider, Object.assign({}, props), React.createElement(ContentControl, null)));
|
|
20363
|
+
return React.createElement(ElementRefContextProvider, null, React.createElement(PickerStyleTag, null), React.createElement(PickerConfigProvider, Object.assign({}, props), React.createElement(ContentControl, null)));
|
|
20357
20364
|
}
|
|
20358
20365
|
function ContentControl() {
|
|
20359
20366
|
var _useReactionsModeStat = useReactionsModeState(),
|
|
@@ -20361,11 +20368,15 @@ function ContentControl() {
|
|
|
20361
20368
|
var _React$useState = React.useState(!reactionsDefaultOpen),
|
|
20362
20369
|
renderAll = _React$useState[0],
|
|
20363
20370
|
setRenderAll = _React$useState[1];
|
|
20371
|
+
var isOpen = useOpenConfig();
|
|
20364
20372
|
React.useEffect(function () {
|
|
20365
20373
|
if (!renderAll) {
|
|
20366
20374
|
setRenderAll(true);
|
|
20367
20375
|
}
|
|
20368
20376
|
}, [renderAll]);
|
|
20377
|
+
if (!isOpen) {
|
|
20378
|
+
return null;
|
|
20379
|
+
}
|
|
20369
20380
|
return React.createElement(PickerMain, null, React.createElement(Reactions, null), renderAll ? React.createElement(React.Fragment, null, React.createElement(Header, null), React.createElement(Body, null), React.createElement(Preview, null)) : null);
|
|
20370
20381
|
}
|
|
20371
20382
|
// eslint-disable-next-line complexity
|
|
@@ -20373,7 +20384,7 @@ var EmojiPickerReact = /*#__PURE__*/React.memo(EmojiPicker, function (prev, next
|
|
|
20373
20384
|
var _prev$customEmojis, _next$customEmojis;
|
|
20374
20385
|
var prevCustomEmojis = (_prev$customEmojis = prev.customEmojis) != null ? _prev$customEmojis : [];
|
|
20375
20386
|
var nextCustomEmojis = (_next$customEmojis = next.customEmojis) != null ? _next$customEmojis : [];
|
|
20376
|
-
return prev.emojiVersion === next.emojiVersion && prev.reactionsDefaultOpen === next.reactionsDefaultOpen && prev.searchPlaceHolder === next.searchPlaceHolder && prev.searchPlaceholder === next.searchPlaceholder && prev.defaultSkinTone === next.defaultSkinTone && prev.skinTonesDisabled === next.skinTonesDisabled && prev.autoFocusSearch === next.autoFocusSearch && prev.emojiStyle === next.emojiStyle && prev.theme === next.theme && prev.suggestedEmojisMode === next.suggestedEmojisMode && prev.lazyLoadEmojis === next.lazyLoadEmojis && prev.className === next.className && prev.height === next.height && prev.width === next.width && prev.style === next.style && prev.searchDisabled === next.searchDisabled && prev.skinTonePickerLocation === next.skinTonePickerLocation && prevCustomEmojis.length === nextCustomEmojis.length;
|
|
20387
|
+
return prev.open === next.open && prev.emojiVersion === next.emojiVersion && prev.reactionsDefaultOpen === next.reactionsDefaultOpen && prev.searchPlaceHolder === next.searchPlaceHolder && prev.searchPlaceholder === next.searchPlaceholder && prev.defaultSkinTone === next.defaultSkinTone && prev.skinTonesDisabled === next.skinTonesDisabled && prev.autoFocusSearch === next.autoFocusSearch && prev.emojiStyle === next.emojiStyle && prev.theme === next.theme && prev.suggestedEmojisMode === next.suggestedEmojisMode && prev.lazyLoadEmojis === next.lazyLoadEmojis && prev.className === next.className && prev.height === next.height && prev.width === next.width && prev.style === next.style && prev.searchDisabled === next.searchDisabled && prev.skinTonePickerLocation === next.skinTonePickerLocation && prevCustomEmojis.length === nextCustomEmojis.length;
|
|
20377
20388
|
});
|
|
20378
20389
|
|
|
20379
20390
|
var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
|