emoji-picker-react 4.7.11 → 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.
@@ -1,4 +1,4 @@
1
- import React__default, { memo, createElement, useState, useEffect, createContext, useContext, useRef, useMemo, useCallback, createRef, Fragment, Component } from 'react';
1
+ import React__default, { memo, createElement, useState, useEffect, useContext, createContext, useRef, useMemo, useCallback, createRef, Fragment, Component } from 'react';
2
2
  import { createSheet, cx } from 'flairup';
3
3
 
4
4
  function _extends() {
@@ -16834,7 +16834,8 @@ function basePickerConfig() {
16834
16834
  unicodeToHide: new Set(KNOWN_FAILING_EMOJIS),
16835
16835
  width: 350,
16836
16836
  reactionsDefaultOpen: false,
16837
- reactions: DEFAULT_REACTIONS
16837
+ reactions: DEFAULT_REACTIONS,
16838
+ open: true
16838
16839
  };
16839
16840
  }
16840
16841
  var basePreviewConfig = {
@@ -16854,25 +16855,29 @@ function PickerConfigProvider(_ref) {
16854
16855
  }, children);
16855
16856
  }
16856
16857
  function useSetConfig(config) {
16857
- var _config$customEmojis2;
16858
+ var _config$customEmojis;
16858
16859
  var _React$useState = useState(function () {
16859
16860
  return mergeConfig(config);
16860
16861
  }),
16861
16862
  mergedConfig = _React$useState[0],
16862
16863
  setMergedConfig = _React$useState[1];
16863
16864
  useEffect(function () {
16864
- var _config$customEmojis, _mergedConfig$customE;
16865
- if (((_config$customEmojis = config.customEmojis) == null ? void 0 : _config$customEmojis.length) !== ((_mergedConfig$customE = mergedConfig.customEmojis) == null ? void 0 : _mergedConfig$customE.length)) {
16866
- setMergedConfig(mergeConfig(config));
16865
+ if (avoidRefresh(config, mergedConfig)) {
16866
+ return;
16867
16867
  }
16868
+ setMergedConfig(mergeConfig(config));
16868
16869
  // not gonna...
16869
16870
  // eslint-disable-next-line react-hooks/exhaustive-deps
16870
- }, [(_config$customEmojis2 = config.customEmojis) == null ? void 0 : _config$customEmojis2.length]);
16871
+ }, [(_config$customEmojis = config.customEmojis) == null ? void 0 : _config$customEmojis.length, config.open]);
16871
16872
  return mergedConfig;
16872
16873
  }
16873
16874
  function usePickerConfig() {
16874
16875
  return useContext(ConfigContext);
16875
16876
  }
16877
+ function avoidRefresh(prev, next) {
16878
+ var _prev$customEmojis, _next$customEmojis;
16879
+ 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;
16880
+ }
16876
16881
 
16877
16882
  var MutableConfigContext = /*#__PURE__*/React__default.createContext({});
16878
16883
  function useMutableConfig() {
@@ -16886,7 +16891,8 @@ function useDefineMutableConfig(config) {
16886
16891
  });
16887
16892
  React__default.useEffect(function () {
16888
16893
  MutableConfigRef.current.onEmojiClick = config.onEmojiClick || emptyFunc;
16889
- }, [config.onEmojiClick]);
16894
+ MutableConfigRef.current.onReactionClick = config.onReactionClick || config.onEmojiClick;
16895
+ }, [config.onEmojiClick, config.onReactionClick]);
16890
16896
  return MutableConfigRef;
16891
16897
  }
16892
16898
  function emptyFunc() {}
@@ -16935,6 +16941,11 @@ function useCustomEmojisConfig() {
16935
16941
  customEmojis = _usePickerConfig7.customEmojis;
16936
16942
  return customEmojis;
16937
16943
  }
16944
+ function useOpenConfig() {
16945
+ var _usePickerConfig8 = usePickerConfig(),
16946
+ open = _usePickerConfig8.open;
16947
+ return open;
16948
+ }
16938
16949
  function useOnEmojiClickConfig(mouseEventSource) {
16939
16950
  var _ref;
16940
16951
  var _useMutableConfig = useMutableConfig(),
@@ -16943,73 +16954,73 @@ function useOnEmojiClickConfig(mouseEventSource) {
16943
16954
  return handler || function () {};
16944
16955
  }
16945
16956
  function usePreviewConfig() {
16946
- var _usePickerConfig8 = usePickerConfig(),
16947
- previewConfig = _usePickerConfig8.previewConfig;
16957
+ var _usePickerConfig9 = usePickerConfig(),
16958
+ previewConfig = _usePickerConfig9.previewConfig;
16948
16959
  return previewConfig;
16949
16960
  }
16950
16961
  function useThemeConfig() {
16951
- var _usePickerConfig9 = usePickerConfig(),
16952
- theme = _usePickerConfig9.theme;
16962
+ var _usePickerConfig10 = usePickerConfig(),
16963
+ theme = _usePickerConfig10.theme;
16953
16964
  return theme;
16954
16965
  }
16955
16966
  function useSuggestedEmojisModeConfig() {
16956
- var _usePickerConfig10 = usePickerConfig(),
16957
- suggestedEmojisMode = _usePickerConfig10.suggestedEmojisMode;
16967
+ var _usePickerConfig11 = usePickerConfig(),
16968
+ suggestedEmojisMode = _usePickerConfig11.suggestedEmojisMode;
16958
16969
  return suggestedEmojisMode;
16959
16970
  }
16960
16971
  function useLazyLoadEmojisConfig() {
16961
- var _usePickerConfig11 = usePickerConfig(),
16962
- lazyLoadEmojis = _usePickerConfig11.lazyLoadEmojis;
16972
+ var _usePickerConfig12 = usePickerConfig(),
16973
+ lazyLoadEmojis = _usePickerConfig12.lazyLoadEmojis;
16963
16974
  return lazyLoadEmojis;
16964
16975
  }
16965
16976
  function useClassNameConfig() {
16966
- var _usePickerConfig12 = usePickerConfig(),
16967
- className = _usePickerConfig12.className;
16977
+ var _usePickerConfig13 = usePickerConfig(),
16978
+ className = _usePickerConfig13.className;
16968
16979
  return className;
16969
16980
  }
16970
16981
  function useStyleConfig() {
16971
- var _usePickerConfig13 = usePickerConfig(),
16972
- height = _usePickerConfig13.height,
16973
- width = _usePickerConfig13.width,
16974
- style = _usePickerConfig13.style;
16982
+ var _usePickerConfig14 = usePickerConfig(),
16983
+ height = _usePickerConfig14.height,
16984
+ width = _usePickerConfig14.width,
16985
+ style = _usePickerConfig14.style;
16975
16986
  return _extends({
16976
16987
  height: getDimension(height),
16977
16988
  width: getDimension(width)
16978
16989
  }, style);
16979
16990
  }
16980
16991
  function useReactionsOpenConfig() {
16981
- var _usePickerConfig14 = usePickerConfig(),
16982
- reactionsDefaultOpen = _usePickerConfig14.reactionsDefaultOpen;
16992
+ var _usePickerConfig15 = usePickerConfig(),
16993
+ reactionsDefaultOpen = _usePickerConfig15.reactionsDefaultOpen;
16983
16994
  return reactionsDefaultOpen;
16984
16995
  }
16985
16996
  function useEmojiVersionConfig() {
16986
- var _usePickerConfig15 = usePickerConfig(),
16987
- emojiVersion = _usePickerConfig15.emojiVersion;
16997
+ var _usePickerConfig16 = usePickerConfig(),
16998
+ emojiVersion = _usePickerConfig16.emojiVersion;
16988
16999
  return emojiVersion;
16989
17000
  }
16990
17001
  function useSearchDisabledConfig() {
16991
- var _usePickerConfig16 = usePickerConfig(),
16992
- searchDisabled = _usePickerConfig16.searchDisabled;
17002
+ var _usePickerConfig17 = usePickerConfig(),
17003
+ searchDisabled = _usePickerConfig17.searchDisabled;
16993
17004
  return searchDisabled;
16994
17005
  }
16995
17006
  function useSkinTonePickerLocationConfig() {
16996
- var _usePickerConfig17 = usePickerConfig(),
16997
- skinTonePickerLocation = _usePickerConfig17.skinTonePickerLocation;
17007
+ var _usePickerConfig18 = usePickerConfig(),
17008
+ skinTonePickerLocation = _usePickerConfig18.skinTonePickerLocation;
16998
17009
  return skinTonePickerLocation;
16999
17010
  }
17000
17011
  function useUnicodeToHide() {
17001
- var _usePickerConfig18 = usePickerConfig(),
17002
- unicodeToHide = _usePickerConfig18.unicodeToHide;
17012
+ var _usePickerConfig19 = usePickerConfig(),
17013
+ unicodeToHide = _usePickerConfig19.unicodeToHide;
17003
17014
  return unicodeToHide;
17004
17015
  }
17005
17016
  function useReactionsConfig() {
17006
- var _usePickerConfig19 = usePickerConfig(),
17007
- reactions = _usePickerConfig19.reactions;
17017
+ var _usePickerConfig20 = usePickerConfig(),
17018
+ reactions = _usePickerConfig20.reactions;
17008
17019
  return reactions;
17009
17020
  }
17010
17021
  function useGetEmojiUrlConfig() {
17011
- var _usePickerConfig20 = usePickerConfig(),
17012
- getEmojiUrl = _usePickerConfig20.getEmojiUrl;
17022
+ var _usePickerConfig21 = usePickerConfig(),
17023
+ getEmojiUrl = _usePickerConfig21.getEmojiUrl;
17013
17024
  return getEmojiUrl;
17014
17025
  }
17015
17026
  function getDimension(dimensionConfig) {
@@ -20182,7 +20193,7 @@ function useOnFocus() {
20182
20193
  var _excluded$1 = ["width", "height"];
20183
20194
  function PickerMain(_ref) {
20184
20195
  var children = _ref.children;
20185
- return createElement(PickerContextProvider, null, createElement(PickerStyleTag, null), createElement(PickerRootElement, null, children));
20196
+ return createElement(PickerContextProvider, null, createElement(PickerRootElement, null, children));
20186
20197
  }
20187
20198
  function PickerRootElement(_ref2) {
20188
20199
  var _cx;
@@ -20348,7 +20359,7 @@ var styles$j = /*#__PURE__*/stylesheet.create({
20348
20359
  });
20349
20360
 
20350
20361
  function EmojiPicker(props) {
20351
- return createElement(ElementRefContextProvider, null, createElement(PickerConfigProvider, Object.assign({}, props), createElement(ContentControl, null)));
20362
+ return createElement(ElementRefContextProvider, null, createElement(PickerStyleTag, null), createElement(PickerConfigProvider, Object.assign({}, props), createElement(ContentControl, null)));
20352
20363
  }
20353
20364
  function ContentControl() {
20354
20365
  var _useReactionsModeStat = useReactionsModeState(),
@@ -20356,11 +20367,15 @@ function ContentControl() {
20356
20367
  var _React$useState = useState(!reactionsDefaultOpen),
20357
20368
  renderAll = _React$useState[0],
20358
20369
  setRenderAll = _React$useState[1];
20370
+ var isOpen = useOpenConfig();
20359
20371
  useEffect(function () {
20360
20372
  if (!renderAll) {
20361
20373
  setRenderAll(true);
20362
20374
  }
20363
20375
  }, [renderAll]);
20376
+ if (!isOpen) {
20377
+ return null;
20378
+ }
20364
20379
  return createElement(PickerMain, null, createElement(Reactions, null), renderAll ? createElement(Fragment, null, createElement(Header, null), createElement(Body, null), createElement(Preview, null)) : null);
20365
20380
  }
20366
20381
  // eslint-disable-next-line complexity
@@ -20368,7 +20383,7 @@ var EmojiPickerReact = /*#__PURE__*/memo(EmojiPicker, function (prev, next) {
20368
20383
  var _prev$customEmojis, _next$customEmojis;
20369
20384
  var prevCustomEmojis = (_prev$customEmojis = prev.customEmojis) != null ? _prev$customEmojis : [];
20370
20385
  var nextCustomEmojis = (_next$customEmojis = next.customEmojis) != null ? _next$customEmojis : [];
20371
- 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;
20386
+ 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;
20372
20387
  });
20373
20388
 
20374
20389
  var ErrorBoundary = /*#__PURE__*/function (_React$Component) {