emoji-picker-react 4.5.8 → 4.5.10
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/dist/components/context/PickerConfigContext.d.ts +1 -0
- package/dist/dataUtils/emojiSelectors.d.ts +1 -1
- package/dist/emoji-picker-react.cjs.development.js +28 -7
- 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 +29 -8
- package/dist/emoji-picker-react.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/EmojiPickerReact.tsx +4 -1
- package/src/components/context/PickerConfigContext.tsx +18 -1
- package/src/config/config.ts +2 -2
- package/src/dataUtils/emojiSelectors.ts +3 -1
|
@@ -4,5 +4,6 @@ declare type Props = PickerConfig & Readonly<{
|
|
|
4
4
|
children: React.ReactNode;
|
|
5
5
|
}>;
|
|
6
6
|
export declare function PickerConfigProvider({ children, ...config }: Props): JSX.Element;
|
|
7
|
+
export declare function useSetConfig(config: PickerConfig): PickerConfigInternal;
|
|
7
8
|
export declare function usePickerConfig(): PickerConfigInternal;
|
|
8
9
|
export {};
|
|
@@ -14,5 +14,5 @@ export declare function emojiHasVariations(emoji: DataEmoji): boolean;
|
|
|
14
14
|
export declare function emojiVariationUnified(emoji: DataEmoji, skinTone?: string): string | undefined;
|
|
15
15
|
export declare function emojiByUnified(unified?: string): DataEmoji | undefined;
|
|
16
16
|
export declare const allEmojis: DataEmojis;
|
|
17
|
-
export declare function
|
|
17
|
+
export declare function setCustomEmojis(customEmojis: CustomEmoji[]): void;
|
|
18
18
|
export declare function activeVariationFromUnified(unified: string): SkinTones | null;
|
|
@@ -16840,7 +16840,8 @@ function emojiByUnified(unified) {
|
|
|
16840
16840
|
return allEmojisByUnified[withoutSkinTone];
|
|
16841
16841
|
}
|
|
16842
16842
|
var allEmojis = /*#__PURE__*/Object.values(emojis).flat();
|
|
16843
|
-
function
|
|
16843
|
+
function setCustomEmojis(customEmojis) {
|
|
16844
|
+
emojis[exports.Categories.CUSTOM] = [];
|
|
16844
16845
|
customEmojis.forEach(function (emoji) {
|
|
16845
16846
|
var emojiData = customToRegularEmoji(emoji);
|
|
16846
16847
|
|
|
@@ -16903,7 +16904,7 @@ function mergeConfig(userConfig) {
|
|
|
16903
16904
|
var categories = mergeCategoriesConfig(userConfig.categories, {
|
|
16904
16905
|
suggestionMode: config.suggestedEmojisMode
|
|
16905
16906
|
});
|
|
16906
|
-
|
|
16907
|
+
setCustomEmojis((_config$customEmojis = config.customEmojis) != null ? _config$customEmojis : []);
|
|
16907
16908
|
var skinTonePickerLocation = config.searchDisabled ? exports.SkinTonePickerLocation.PREVIEW : config.skinTonePickerLocation;
|
|
16908
16909
|
return _extends({}, config, {
|
|
16909
16910
|
categories: categories,
|
|
@@ -16946,14 +16947,30 @@ function PickerConfigProvider(_ref) {
|
|
|
16946
16947
|
var children = _ref.children,
|
|
16947
16948
|
config = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
16948
16949
|
|
|
16950
|
+
var mergedConfig = useSetConfig(config);
|
|
16951
|
+
return React.createElement(ConfigContext.Provider, {
|
|
16952
|
+
value: mergedConfig
|
|
16953
|
+
}, children);
|
|
16954
|
+
}
|
|
16955
|
+
function useSetConfig(config) {
|
|
16956
|
+
var _config$customEmojis2;
|
|
16957
|
+
|
|
16949
16958
|
var _React$useState = React.useState(function () {
|
|
16950
16959
|
return mergeConfig(config);
|
|
16951
16960
|
}),
|
|
16952
|
-
mergedConfig = _React$useState[0]
|
|
16961
|
+
mergedConfig = _React$useState[0],
|
|
16962
|
+
setMergedConfig = _React$useState[1];
|
|
16953
16963
|
|
|
16954
|
-
|
|
16955
|
-
|
|
16956
|
-
|
|
16964
|
+
React.useEffect(function () {
|
|
16965
|
+
var _config$customEmojis, _mergedConfig$customE;
|
|
16966
|
+
|
|
16967
|
+
if (((_config$customEmojis = config.customEmojis) == null ? void 0 : _config$customEmojis.length) !== ((_mergedConfig$customE = mergedConfig.customEmojis) == null ? void 0 : _mergedConfig$customE.length)) {
|
|
16968
|
+
setMergedConfig(mergeConfig(config));
|
|
16969
|
+
} // not gonna...
|
|
16970
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
16971
|
+
|
|
16972
|
+
}, [(_config$customEmojis2 = config.customEmojis) == null ? void 0 : _config$customEmojis2.length]);
|
|
16973
|
+
return mergedConfig;
|
|
16957
16974
|
}
|
|
16958
16975
|
function usePickerConfig() {
|
|
16959
16976
|
return React.useContext(ConfigContext);
|
|
@@ -19815,7 +19832,11 @@ function EmojiPicker(props) {
|
|
|
19815
19832
|
|
|
19816
19833
|
|
|
19817
19834
|
var EmojiPickerReact = /*#__PURE__*/React.memo(EmojiPicker, function (prev, next) {
|
|
19818
|
-
|
|
19835
|
+
var _prev$customEmojis, _next$customEmojis;
|
|
19836
|
+
|
|
19837
|
+
var prevCustomEmojis = (_prev$customEmojis = prev.customEmojis) != null ? _prev$customEmojis : [];
|
|
19838
|
+
var nextCustomEmojis = (_next$customEmojis = next.customEmojis) != null ? _next$customEmojis : [];
|
|
19839
|
+
return prev.emojiVersion === next.emojiVersion && 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.height === next.height && prev.width === next.width && prev.searchDisabled === next.searchDisabled && prev.skinTonePickerLocation === next.skinTonePickerLocation && prevCustomEmojis.length === nextCustomEmojis.length;
|
|
19819
19840
|
});
|
|
19820
19841
|
|
|
19821
19842
|
var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
|