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.
@@ -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 addCustomEmojis(customEmojis: CustomEmoji[]): void;
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 addCustomEmojis(customEmojis) {
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
- addCustomEmojis((_config$customEmojis = config.customEmojis) != null ? _config$customEmojis : []);
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
- return React.createElement(ConfigContext.Provider, {
16955
- value: mergedConfig
16956
- }, children);
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
- 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;
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) {