emoji-picker-react 4.12.3 → 4.13.0

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.
@@ -51,6 +51,9 @@ declare type ConfigExternal = {
51
51
  } & Omit<PickerConfigInternal, 'previewConfig' | 'unicodeToHide'>;
52
52
  export declare type PickerConfig = Partial<ConfigExternal>;
53
53
  export declare type PickerDimensions = string | number;
54
- export declare type MouseDownEvent = (emoji: EmojiClickData, event: MouseEvent) => void;
54
+ export declare type MouseDownEvent = (emoji: EmojiClickData, event: MouseEvent, api: OnEmojiClickApi) => void;
55
55
  export declare type OnSkinToneChange = (emoji: SkinTones) => void;
56
+ declare type OnEmojiClickApi = {
57
+ collapseToReactions: () => void;
58
+ };
56
59
  export {};
@@ -17375,176 +17375,6 @@ function usePickerConfig() {
17375
17375
  return React.useContext(ConfigContext);
17376
17376
  }
17377
17377
 
17378
- var MutableConfigContext = /*#__PURE__*/React__default.createContext({});
17379
- function useMutableConfig() {
17380
- var mutableConfig = React__default.useContext(MutableConfigContext);
17381
- return mutableConfig;
17382
- }
17383
- function useDefineMutableConfig(config) {
17384
- var MutableConfigRef = React__default.useRef({
17385
- onEmojiClick: config.onEmojiClick || emptyFunc,
17386
- onReactionClick: config.onReactionClick || config.onEmojiClick,
17387
- onSkinToneChange: config.onSkinToneChange || emptyFunc
17388
- });
17389
- React__default.useEffect(function () {
17390
- MutableConfigRef.current.onEmojiClick = config.onEmojiClick || emptyFunc;
17391
- MutableConfigRef.current.onReactionClick = config.onReactionClick || config.onEmojiClick;
17392
- }, [config.onEmojiClick, config.onReactionClick]);
17393
- React__default.useEffect(function () {
17394
- MutableConfigRef.current.onSkinToneChange = config.onSkinToneChange || emptyFunc;
17395
- }, [config.onSkinToneChange]);
17396
- return MutableConfigRef;
17397
- }
17398
- function emptyFunc() {}
17399
-
17400
- var MOUSE_EVENT_SOURCE;
17401
- (function (MOUSE_EVENT_SOURCE) {
17402
- MOUSE_EVENT_SOURCE["REACTIONS"] = "reactions";
17403
- MOUSE_EVENT_SOURCE["PICKER"] = "picker";
17404
- })(MOUSE_EVENT_SOURCE || (MOUSE_EVENT_SOURCE = {}));
17405
- function useSearchPlaceHolderConfig() {
17406
- var _find;
17407
- var _usePickerConfig = usePickerConfig(),
17408
- searchPlaceHolder = _usePickerConfig.searchPlaceHolder,
17409
- searchPlaceholder = _usePickerConfig.searchPlaceholder;
17410
- return (_find = [searchPlaceHolder, searchPlaceholder].find(function (p) {
17411
- return p !== DEFAULT_SEARCH_PLACEHOLDER;
17412
- })) != null ? _find : DEFAULT_SEARCH_PLACEHOLDER;
17413
- }
17414
- function useDefaultSkinToneConfig() {
17415
- var _usePickerConfig2 = usePickerConfig(),
17416
- defaultSkinTone = _usePickerConfig2.defaultSkinTone;
17417
- return defaultSkinTone;
17418
- }
17419
- function useAllowExpandReactions() {
17420
- var _usePickerConfig3 = usePickerConfig(),
17421
- allowExpandReactions = _usePickerConfig3.allowExpandReactions;
17422
- return allowExpandReactions;
17423
- }
17424
- function useSkinTonesDisabledConfig() {
17425
- var _usePickerConfig4 = usePickerConfig(),
17426
- skinTonesDisabled = _usePickerConfig4.skinTonesDisabled;
17427
- return skinTonesDisabled;
17428
- }
17429
- function useEmojiStyleConfig() {
17430
- var _usePickerConfig5 = usePickerConfig(),
17431
- emojiStyle = _usePickerConfig5.emojiStyle;
17432
- return emojiStyle;
17433
- }
17434
- function useAutoFocusSearchConfig() {
17435
- var _usePickerConfig6 = usePickerConfig(),
17436
- autoFocusSearch = _usePickerConfig6.autoFocusSearch;
17437
- return autoFocusSearch;
17438
- }
17439
- function useCategoriesConfig() {
17440
- var _usePickerConfig7 = usePickerConfig(),
17441
- categories = _usePickerConfig7.categories;
17442
- return categories;
17443
- }
17444
- function useCustomEmojisConfig() {
17445
- var _usePickerConfig8 = usePickerConfig(),
17446
- customEmojis = _usePickerConfig8.customEmojis;
17447
- return customEmojis;
17448
- }
17449
- function useOpenConfig() {
17450
- var _usePickerConfig9 = usePickerConfig(),
17451
- open = _usePickerConfig9.open;
17452
- return open;
17453
- }
17454
- function useOnEmojiClickConfig(mouseEventSource) {
17455
- var _ref;
17456
- var _useMutableConfig = useMutableConfig(),
17457
- current = _useMutableConfig.current;
17458
- var handler = (_ref = mouseEventSource === MOUSE_EVENT_SOURCE.REACTIONS ? current.onReactionClick : current.onEmojiClick) != null ? _ref : current.onEmojiClick;
17459
- return handler || function () {};
17460
- }
17461
- function useOnSkinToneChangeConfig() {
17462
- var _useMutableConfig2 = useMutableConfig(),
17463
- current = _useMutableConfig2.current;
17464
- return current.onSkinToneChange || function () {};
17465
- }
17466
- function usePreviewConfig() {
17467
- var _usePickerConfig10 = usePickerConfig(),
17468
- previewConfig = _usePickerConfig10.previewConfig;
17469
- return previewConfig;
17470
- }
17471
- function useThemeConfig() {
17472
- var _usePickerConfig11 = usePickerConfig(),
17473
- theme = _usePickerConfig11.theme;
17474
- return theme;
17475
- }
17476
- function useSuggestedEmojisModeConfig() {
17477
- var _usePickerConfig12 = usePickerConfig(),
17478
- suggestedEmojisMode = _usePickerConfig12.suggestedEmojisMode;
17479
- return suggestedEmojisMode;
17480
- }
17481
- function useLazyLoadEmojisConfig() {
17482
- var _usePickerConfig13 = usePickerConfig(),
17483
- lazyLoadEmojis = _usePickerConfig13.lazyLoadEmojis;
17484
- return lazyLoadEmojis;
17485
- }
17486
- function useClassNameConfig() {
17487
- var _usePickerConfig14 = usePickerConfig(),
17488
- className = _usePickerConfig14.className;
17489
- return className;
17490
- }
17491
- function useStyleConfig() {
17492
- var _usePickerConfig15 = usePickerConfig(),
17493
- height = _usePickerConfig15.height,
17494
- width = _usePickerConfig15.width,
17495
- style = _usePickerConfig15.style;
17496
- return _extends({
17497
- height: getDimension(height),
17498
- width: getDimension(width)
17499
- }, style);
17500
- }
17501
- function useReactionsOpenConfig() {
17502
- var _usePickerConfig16 = usePickerConfig(),
17503
- reactionsDefaultOpen = _usePickerConfig16.reactionsDefaultOpen;
17504
- return reactionsDefaultOpen;
17505
- }
17506
- function useEmojiVersionConfig() {
17507
- var _usePickerConfig17 = usePickerConfig(),
17508
- emojiVersion = _usePickerConfig17.emojiVersion;
17509
- return emojiVersion;
17510
- }
17511
- function useSearchDisabledConfig() {
17512
- var _usePickerConfig18 = usePickerConfig(),
17513
- searchDisabled = _usePickerConfig18.searchDisabled;
17514
- return searchDisabled;
17515
- }
17516
- function useSkinTonePickerLocationConfig() {
17517
- var _usePickerConfig19 = usePickerConfig(),
17518
- skinTonePickerLocation = _usePickerConfig19.skinTonePickerLocation;
17519
- return skinTonePickerLocation;
17520
- }
17521
- function useUnicodeToHide() {
17522
- var _usePickerConfig20 = usePickerConfig(),
17523
- unicodeToHide = _usePickerConfig20.unicodeToHide;
17524
- return unicodeToHide;
17525
- }
17526
- function useReactionsConfig() {
17527
- var _usePickerConfig21 = usePickerConfig(),
17528
- reactions = _usePickerConfig21.reactions;
17529
- return reactions;
17530
- }
17531
- function useGetEmojiUrlConfig() {
17532
- var _usePickerConfig22 = usePickerConfig(),
17533
- getEmojiUrl = _usePickerConfig22.getEmojiUrl;
17534
- return getEmojiUrl;
17535
- }
17536
- function getDimension(dimensionConfig) {
17537
- return typeof dimensionConfig === 'number' ? dimensionConfig + "px" : dimensionConfig;
17538
- }
17539
- function useSearchResultsConfig(searchResultsCount) {
17540
- var hasResults = searchResultsCount > 0;
17541
- var isPlural = searchResultsCount > 1;
17542
- if (hasResults) {
17543
- return isPlural ? SEARCH_RESULTS_MULTIPLE_RESULTS_FOUND.replace('%n', searchResultsCount.toString()) : SEARCH_RESULTS_ONE_RESULT_FOUND;
17544
- }
17545
- return SEARCH_RESULTS_NO_RESULTS_FOUND;
17546
- }
17547
-
17548
17378
  function useDebouncedState(initialValue, delay) {
17549
17379
  if (delay === void 0) {
17550
17380
  delay = 0;
@@ -17736,6 +17566,201 @@ function useUpdateSuggested() {
17736
17566
  }];
17737
17567
  }
17738
17568
 
17569
+ var MutableConfigContext = /*#__PURE__*/React__default.createContext({});
17570
+ function useMutableConfig() {
17571
+ var mutableConfig = React__default.useContext(MutableConfigContext);
17572
+ return mutableConfig;
17573
+ }
17574
+ function useDefineMutableConfig(config) {
17575
+ var MutableConfigRef = React__default.useRef({
17576
+ onEmojiClick: config.onEmojiClick || emptyFunc,
17577
+ onReactionClick: config.onReactionClick || config.onEmojiClick,
17578
+ onSkinToneChange: config.onSkinToneChange || emptyFunc
17579
+ });
17580
+ React__default.useEffect(function () {
17581
+ MutableConfigRef.current.onEmojiClick = config.onEmojiClick || emptyFunc;
17582
+ MutableConfigRef.current.onReactionClick = config.onReactionClick || config.onEmojiClick;
17583
+ }, [config.onEmojiClick, config.onReactionClick]);
17584
+ React__default.useEffect(function () {
17585
+ MutableConfigRef.current.onSkinToneChange = config.onSkinToneChange || emptyFunc;
17586
+ }, [config.onSkinToneChange]);
17587
+ return MutableConfigRef;
17588
+ }
17589
+ function emptyFunc() {}
17590
+
17591
+ var MOUSE_EVENT_SOURCE;
17592
+ (function (MOUSE_EVENT_SOURCE) {
17593
+ MOUSE_EVENT_SOURCE["REACTIONS"] = "reactions";
17594
+ MOUSE_EVENT_SOURCE["PICKER"] = "picker";
17595
+ })(MOUSE_EVENT_SOURCE || (MOUSE_EVENT_SOURCE = {}));
17596
+ function useSearchPlaceHolderConfig() {
17597
+ var _find;
17598
+ var _usePickerConfig = usePickerConfig(),
17599
+ searchPlaceHolder = _usePickerConfig.searchPlaceHolder,
17600
+ searchPlaceholder = _usePickerConfig.searchPlaceholder;
17601
+ return (_find = [searchPlaceHolder, searchPlaceholder].find(function (p) {
17602
+ return p !== DEFAULT_SEARCH_PLACEHOLDER;
17603
+ })) != null ? _find : DEFAULT_SEARCH_PLACEHOLDER;
17604
+ }
17605
+ function useDefaultSkinToneConfig() {
17606
+ var _usePickerConfig2 = usePickerConfig(),
17607
+ defaultSkinTone = _usePickerConfig2.defaultSkinTone;
17608
+ return defaultSkinTone;
17609
+ }
17610
+ function useAllowExpandReactions() {
17611
+ var _usePickerConfig3 = usePickerConfig(),
17612
+ allowExpandReactions = _usePickerConfig3.allowExpandReactions;
17613
+ return allowExpandReactions;
17614
+ }
17615
+ function useSkinTonesDisabledConfig() {
17616
+ var _usePickerConfig4 = usePickerConfig(),
17617
+ skinTonesDisabled = _usePickerConfig4.skinTonesDisabled;
17618
+ return skinTonesDisabled;
17619
+ }
17620
+ function useEmojiStyleConfig() {
17621
+ var _usePickerConfig5 = usePickerConfig(),
17622
+ emojiStyle = _usePickerConfig5.emojiStyle;
17623
+ return emojiStyle;
17624
+ }
17625
+ function useAutoFocusSearchConfig() {
17626
+ var _usePickerConfig6 = usePickerConfig(),
17627
+ autoFocusSearch = _usePickerConfig6.autoFocusSearch;
17628
+ return autoFocusSearch;
17629
+ }
17630
+ function useCategoriesConfig() {
17631
+ var _usePickerConfig7 = usePickerConfig(),
17632
+ categories = _usePickerConfig7.categories;
17633
+ return categories;
17634
+ }
17635
+ function useCustomEmojisConfig() {
17636
+ var _usePickerConfig8 = usePickerConfig(),
17637
+ customEmojis = _usePickerConfig8.customEmojis;
17638
+ return customEmojis;
17639
+ }
17640
+ function useOpenConfig() {
17641
+ var _usePickerConfig9 = usePickerConfig(),
17642
+ open = _usePickerConfig9.open;
17643
+ return open;
17644
+ }
17645
+ function useOnEmojiClickConfig(mouseEventSource) {
17646
+ var _useMutableConfig = useMutableConfig(),
17647
+ current = _useMutableConfig.current;
17648
+ var _useReactionsModeStat = useReactionsModeState(),
17649
+ setReactionsOpen = _useReactionsModeStat[1];
17650
+ var handler = current.onEmojiClick || function () {};
17651
+ var onReactionClick = current.onReactionClick;
17652
+ if (mouseEventSource === MOUSE_EVENT_SOURCE.REACTIONS && onReactionClick) {
17653
+ return function () {
17654
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
17655
+ args[_key] = arguments[_key];
17656
+ }
17657
+ return onReactionClick.apply(void 0, args.concat([{
17658
+ collapseToReactions: function collapseToReactions() {
17659
+ setReactionsOpen(function (o) {
17660
+ return o;
17661
+ });
17662
+ }
17663
+ }]));
17664
+ };
17665
+ }
17666
+ return function () {
17667
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
17668
+ args[_key2] = arguments[_key2];
17669
+ }
17670
+ handler.apply(void 0, args.concat([{
17671
+ collapseToReactions: function collapseToReactions() {
17672
+ setReactionsOpen(true);
17673
+ }
17674
+ }]));
17675
+ };
17676
+ }
17677
+ function useOnSkinToneChangeConfig() {
17678
+ var _useMutableConfig2 = useMutableConfig(),
17679
+ current = _useMutableConfig2.current;
17680
+ return current.onSkinToneChange || function () {};
17681
+ }
17682
+ function usePreviewConfig() {
17683
+ var _usePickerConfig10 = usePickerConfig(),
17684
+ previewConfig = _usePickerConfig10.previewConfig;
17685
+ return previewConfig;
17686
+ }
17687
+ function useThemeConfig() {
17688
+ var _usePickerConfig11 = usePickerConfig(),
17689
+ theme = _usePickerConfig11.theme;
17690
+ return theme;
17691
+ }
17692
+ function useSuggestedEmojisModeConfig() {
17693
+ var _usePickerConfig12 = usePickerConfig(),
17694
+ suggestedEmojisMode = _usePickerConfig12.suggestedEmojisMode;
17695
+ return suggestedEmojisMode;
17696
+ }
17697
+ function useLazyLoadEmojisConfig() {
17698
+ var _usePickerConfig13 = usePickerConfig(),
17699
+ lazyLoadEmojis = _usePickerConfig13.lazyLoadEmojis;
17700
+ return lazyLoadEmojis;
17701
+ }
17702
+ function useClassNameConfig() {
17703
+ var _usePickerConfig14 = usePickerConfig(),
17704
+ className = _usePickerConfig14.className;
17705
+ return className;
17706
+ }
17707
+ function useStyleConfig() {
17708
+ var _usePickerConfig15 = usePickerConfig(),
17709
+ height = _usePickerConfig15.height,
17710
+ width = _usePickerConfig15.width,
17711
+ style = _usePickerConfig15.style;
17712
+ return _extends({
17713
+ height: getDimension(height),
17714
+ width: getDimension(width)
17715
+ }, style);
17716
+ }
17717
+ function useReactionsOpenConfig() {
17718
+ var _usePickerConfig16 = usePickerConfig(),
17719
+ reactionsDefaultOpen = _usePickerConfig16.reactionsDefaultOpen;
17720
+ return reactionsDefaultOpen;
17721
+ }
17722
+ function useEmojiVersionConfig() {
17723
+ var _usePickerConfig17 = usePickerConfig(),
17724
+ emojiVersion = _usePickerConfig17.emojiVersion;
17725
+ return emojiVersion;
17726
+ }
17727
+ function useSearchDisabledConfig() {
17728
+ var _usePickerConfig18 = usePickerConfig(),
17729
+ searchDisabled = _usePickerConfig18.searchDisabled;
17730
+ return searchDisabled;
17731
+ }
17732
+ function useSkinTonePickerLocationConfig() {
17733
+ var _usePickerConfig19 = usePickerConfig(),
17734
+ skinTonePickerLocation = _usePickerConfig19.skinTonePickerLocation;
17735
+ return skinTonePickerLocation;
17736
+ }
17737
+ function useUnicodeToHide() {
17738
+ var _usePickerConfig20 = usePickerConfig(),
17739
+ unicodeToHide = _usePickerConfig20.unicodeToHide;
17740
+ return unicodeToHide;
17741
+ }
17742
+ function useReactionsConfig() {
17743
+ var _usePickerConfig21 = usePickerConfig(),
17744
+ reactions = _usePickerConfig21.reactions;
17745
+ return reactions;
17746
+ }
17747
+ function useGetEmojiUrlConfig() {
17748
+ var _usePickerConfig22 = usePickerConfig(),
17749
+ getEmojiUrl = _usePickerConfig22.getEmojiUrl;
17750
+ return getEmojiUrl;
17751
+ }
17752
+ function getDimension(dimensionConfig) {
17753
+ return typeof dimensionConfig === 'number' ? dimensionConfig + "px" : dimensionConfig;
17754
+ }
17755
+ function useSearchResultsConfig(searchResultsCount) {
17756
+ var hasResults = searchResultsCount > 0;
17757
+ var isPlural = searchResultsCount > 1;
17758
+ if (hasResults) {
17759
+ return isPlural ? SEARCH_RESULTS_MULTIPLE_RESULTS_FOUND.replace('%n', searchResultsCount.toString()) : SEARCH_RESULTS_ONE_RESULT_FOUND;
17760
+ }
17761
+ return SEARCH_RESULTS_NO_RESULTS_FOUND;
17762
+ }
17763
+
17739
17764
  function useIsSearchMode() {
17740
17765
  var _useSearchTermState = useSearchTermState(),
17741
17766
  searchTerm = _useSearchTermState[0];
@@ -19777,6 +19802,7 @@ function Suggested(_ref) {
19777
19802
  // eslint-disable-next-line react-hooks/exhaustive-deps
19778
19803
  [suggestedUpdated, suggestedEmojisModeConfig]);
19779
19804
  var emojiStyle = useEmojiStyleConfig();
19805
+ var isEmojiDisallowed = useIsEmojiDisallowed();
19780
19806
  if (!isMounted) {
19781
19807
  return null;
19782
19808
  }
@@ -19789,6 +19815,9 @@ function Suggested(_ref) {
19789
19815
  if (!emoji) {
19790
19816
  return null;
19791
19817
  }
19818
+ if (isEmojiDisallowed(emoji)) {
19819
+ return null;
19820
+ }
19792
19821
  return React.createElement(ClickableEmoji, {
19793
19822
  showVariations: false,
19794
19823
  unified: suggestedItem.unified,
@@ -20408,11 +20437,13 @@ var styles$d = /*#__PURE__*/stylesheet.create({
20408
20437
  function Preview() {
20409
20438
  var previewConfig = usePreviewConfig();
20410
20439
  var isSkinToneInPreview = useIsSkinToneInPreview();
20440
+ var _useReactionsModeStat = useReactionsModeState(),
20441
+ reactionsOpen = _useReactionsModeStat[0];
20411
20442
  if (!previewConfig.showPreview) {
20412
20443
  return null;
20413
20444
  }
20414
20445
  return React.createElement(Flex, {
20415
- className: flairup.cx(styles$e.preview, commonInteractionStyles.hiddenOnReactions)
20446
+ className: flairup.cx(styles$e.preview, commonInteractionStyles.hiddenOnReactions, reactionsOpen && styles$e.hideOnReactions)
20416
20447
  }, React.createElement(PreviewBody, null), React.createElement(Space, null), isSkinToneInPreview ? React.createElement(SkinTonePickerMenu, null) : null);
20417
20448
  }
20418
20449
  function PreviewBody() {
@@ -20471,6 +20502,10 @@ var styles$e = /*#__PURE__*/stylesheet.create({
20471
20502
  },
20472
20503
  emoji: {
20473
20504
  padding: '0'
20505
+ },
20506
+ hideOnReactions: {
20507
+ opacity: '0',
20508
+ transition: 'opacity 0.5s ease-in-out'
20474
20509
  }
20475
20510
  });
20476
20511