emoji-picker-react 4.5.2 → 4.5.3

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,6 +1,6 @@
1
- /// <reference types="react" />
2
- import { PickerConfig } from './config/config';
1
+ import * as React from 'react';
3
2
  import './EmojiPickerReact.css';
4
- export interface Props extends PickerConfig {
5
- }
6
- export default function EmojiPicker(props: Props): JSX.Element;
3
+ import { PickerProps } from './index';
4
+ declare function EmojiPicker(props: PickerProps): JSX.Element;
5
+ declare const _default: React.MemoExoticComponent<typeof EmojiPicker>;
6
+ export default _default;
@@ -14,7 +14,6 @@ export declare type PickerConfigInternal = {
14
14
  autoFocusSearch: boolean;
15
15
  emojiStyle: EmojiStyle;
16
16
  categories: CategoriesConfig;
17
- onEmojiClick: (emoji: EmojiClickData, event: MouseEvent) => void;
18
17
  theme: Theme;
19
18
  suggestedEmojisMode: SuggestionMode;
20
19
  lazyLoadEmojis: boolean;
@@ -34,6 +33,7 @@ export declare type PreviewConfig = {
34
33
  };
35
34
  declare type ConfigExternal = {
36
35
  previewConfig: Partial<PreviewConfig>;
36
+ onEmojiClick: (emoji: EmojiClickData, event: MouseEvent) => void;
37
37
  } & Omit<PickerConfigInternal, 'previewConfig' | 'unicodeToHide'>;
38
38
  export declare type PickerConfig = Partial<ConfigExternal>;
39
39
  export declare type PickerDimensions = string | number;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { EmojiClickData } from '../types/exposedTypes';
3
+ export declare type MutableConfig = {
4
+ onEmojiClick?: (emoji: EmojiClickData, event: MouseEvent) => void;
5
+ };
6
+ export declare const MutableConfigContext: React.Context<React.MutableRefObject<MutableConfig>>;
7
+ export declare function useMutableConfig(): React.MutableRefObject<MutableConfig>;
8
+ export declare function useDefineMutableConfig(config: MutableConfig): React.MutableRefObject<MutableConfig>;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
6
 
7
7
  var React = require('react');
8
+ var React__default = _interopDefault(React);
8
9
  var clsx = _interopDefault(require('clsx'));
9
10
 
10
11
  var ClassNames;
@@ -16888,11 +16889,6 @@ function basePickerConfig() {
16888
16889
  getEmojiUrl: emojiUrlByUnified,
16889
16890
  height: 450,
16890
16891
  lazyLoadEmojis: false,
16891
- onEmojiClick: function defaultOnClickHandler( // @ts-ignore
16892
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
16893
- emoji, // @ts-ignore
16894
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
16895
- event) {},
16896
16892
  previewConfig: _extends({}, basePreviewConfig),
16897
16893
  searchDisabled: false,
16898
16894
  searchPlaceHolder: DEFAULT_SEARCH_PLACEHOLDER,
@@ -16930,6 +16926,23 @@ function usePickerConfig() {
16930
16926
  return React.useContext(ConfigContext);
16931
16927
  }
16932
16928
 
16929
+ var MutableConfigContext = /*#__PURE__*/React__default.createContext({});
16930
+ function useMutableConfig() {
16931
+ var mutableConfig = React__default.useContext(MutableConfigContext);
16932
+ return mutableConfig;
16933
+ }
16934
+ function useDefineMutableConfig(config) {
16935
+ var MutableConfigRef = React__default.useRef({
16936
+ onEmojiClick: config.onEmojiClick || emptyFunc
16937
+ });
16938
+ React__default.useEffect(function () {
16939
+ MutableConfigRef.current.onEmojiClick = config.onEmojiClick || emptyFunc;
16940
+ }, [config.onEmojiClick]);
16941
+ return MutableConfigRef;
16942
+ }
16943
+
16944
+ function emptyFunc() {}
16945
+
16933
16946
  function useSearchPlaceHolderConfig() {
16934
16947
  var _find;
16935
16948
 
@@ -16978,20 +16991,20 @@ function useCustomEmojisConfig() {
16978
16991
  return customEmojis;
16979
16992
  }
16980
16993
  function useOnEmojiClickConfig() {
16981
- var _usePickerConfig8 = usePickerConfig(),
16982
- onEmojiClick = _usePickerConfig8.onEmojiClick;
16994
+ var _useMutableConfig = useMutableConfig(),
16995
+ current = _useMutableConfig.current;
16983
16996
 
16984
- return onEmojiClick;
16997
+ return current.onEmojiClick || function () {};
16985
16998
  }
16986
16999
  function usePreviewConfig() {
16987
- var _usePickerConfig9 = usePickerConfig(),
16988
- previewConfig = _usePickerConfig9.previewConfig;
17000
+ var _usePickerConfig8 = usePickerConfig(),
17001
+ previewConfig = _usePickerConfig8.previewConfig;
16989
17002
 
16990
17003
  return previewConfig;
16991
17004
  }
16992
17005
  function useThemeConfig() {
16993
- var _usePickerConfig10 = usePickerConfig(),
16994
- theme = _usePickerConfig10.theme;
17006
+ var _usePickerConfig9 = usePickerConfig(),
17007
+ theme = _usePickerConfig9.theme;
16995
17008
 
16996
17009
  if (theme === exports.Theme.AUTO) {
16997
17010
  return isSystemDarkTheme() ? exports.Theme.DARK : exports.Theme.LIGHT;
@@ -17000,21 +17013,21 @@ function useThemeConfig() {
17000
17013
  return theme;
17001
17014
  }
17002
17015
  function useSuggestedEmojisModeConfig() {
17003
- var _usePickerConfig11 = usePickerConfig(),
17004
- suggestedEmojisMode = _usePickerConfig11.suggestedEmojisMode;
17016
+ var _usePickerConfig10 = usePickerConfig(),
17017
+ suggestedEmojisMode = _usePickerConfig10.suggestedEmojisMode;
17005
17018
 
17006
17019
  return suggestedEmojisMode;
17007
17020
  }
17008
17021
  function useLazyLoadEmojisConfig() {
17009
- var _usePickerConfig12 = usePickerConfig(),
17010
- lazyLoadEmojis = _usePickerConfig12.lazyLoadEmojis;
17022
+ var _usePickerConfig11 = usePickerConfig(),
17023
+ lazyLoadEmojis = _usePickerConfig11.lazyLoadEmojis;
17011
17024
 
17012
17025
  return lazyLoadEmojis;
17013
17026
  }
17014
17027
  function usePickerSizeConfig() {
17015
- var _usePickerConfig13 = usePickerConfig(),
17016
- height = _usePickerConfig13.height,
17017
- width = _usePickerConfig13.width;
17028
+ var _usePickerConfig12 = usePickerConfig(),
17029
+ height = _usePickerConfig12.height,
17030
+ width = _usePickerConfig12.width;
17018
17031
 
17019
17032
  return {
17020
17033
  height: getDimension(height),
@@ -17022,32 +17035,32 @@ function usePickerSizeConfig() {
17022
17035
  };
17023
17036
  }
17024
17037
  function useEmojiVersionConfig() {
17025
- var _usePickerConfig14 = usePickerConfig(),
17026
- emojiVersion = _usePickerConfig14.emojiVersion;
17038
+ var _usePickerConfig13 = usePickerConfig(),
17039
+ emojiVersion = _usePickerConfig13.emojiVersion;
17027
17040
 
17028
17041
  return emojiVersion;
17029
17042
  }
17030
17043
  function useSearchDisabledConfig() {
17031
- var _usePickerConfig15 = usePickerConfig(),
17032
- searchDisabled = _usePickerConfig15.searchDisabled;
17044
+ var _usePickerConfig14 = usePickerConfig(),
17045
+ searchDisabled = _usePickerConfig14.searchDisabled;
17033
17046
 
17034
17047
  return searchDisabled;
17035
17048
  }
17036
17049
  function useSkinTonePickerLocationConfig() {
17037
- var _usePickerConfig16 = usePickerConfig(),
17038
- skinTonePickerLocation = _usePickerConfig16.skinTonePickerLocation;
17050
+ var _usePickerConfig15 = usePickerConfig(),
17051
+ skinTonePickerLocation = _usePickerConfig15.skinTonePickerLocation;
17039
17052
 
17040
17053
  return skinTonePickerLocation;
17041
17054
  }
17042
17055
  function useUnicodeToHide() {
17043
- var _usePickerConfig17 = usePickerConfig(),
17044
- unicodeToHide = _usePickerConfig17.unicodeToHide;
17056
+ var _usePickerConfig16 = usePickerConfig(),
17057
+ unicodeToHide = _usePickerConfig16.unicodeToHide;
17045
17058
 
17046
17059
  return unicodeToHide;
17047
17060
  }
17048
17061
  function useGetEmojiUrlConfig() {
17049
- var _usePickerConfig18 = usePickerConfig(),
17050
- getEmojiUrl = _usePickerConfig18.getEmojiUrl;
17062
+ var _usePickerConfig17 = usePickerConfig(),
17063
+ getEmojiUrl = _usePickerConfig17.getEmojiUrl;
17051
17064
 
17052
17065
  return getEmojiUrl;
17053
17066
  }
@@ -19724,7 +19737,12 @@ function PickerRootElement(_ref2) {
19724
19737
 
19725
19738
  function EmojiPicker(props) {
19726
19739
  return React.createElement(ElementRefContextProvider, null, React.createElement(PickerConfigProvider, Object.assign({}, props), React.createElement(PickerMain, null, React.createElement(Header, null), React.createElement(Body, null), React.createElement(Preview, null))));
19727
- }
19740
+ } // eslint-disable-next-line complexity
19741
+
19742
+
19743
+ var EmojiPickerReact = /*#__PURE__*/React.memo(EmojiPicker, function (prev, next) {
19744
+ 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;
19745
+ });
19728
19746
 
19729
19747
  var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
19730
19748
  _inheritsLoose(ErrorBoundary, _React$Component);
@@ -19790,14 +19808,14 @@ function ExportedEmoji(_ref) {
19790
19808
  }
19791
19809
 
19792
19810
  function EmojiPicker$1(props) {
19793
- return React.createElement(ErrorBoundary, null, React.createElement(EmojiPicker, Object.assign({}, props)));
19794
- } // eslint-disable-next-line complexity
19795
-
19796
-
19797
- var index = /*#__PURE__*/React.memo(EmojiPicker$1, function (prev, next) {
19798
- 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;
19799
- });
19811
+ var MutableConfigRef = useDefineMutableConfig({
19812
+ onEmojiClick: props.onEmojiClick
19813
+ });
19814
+ return React.createElement(ErrorBoundary, null, React.createElement(MutableConfigContext.Provider, {
19815
+ value: MutableConfigRef
19816
+ }, React.createElement(EmojiPickerReact, Object.assign({}, props))));
19817
+ }
19800
19818
 
19801
19819
  exports.Emoji = ExportedEmoji;
19802
- exports.default = index;
19820
+ exports.default = EmojiPicker$1;
19803
19821
  //# sourceMappingURL=emoji-picker-react.cjs.development.js.map