stream-chat-react 10.14.0 → 11.0.0-rc.1

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.
Files changed (47) hide show
  1. package/dist/browser.full-bundle.js +581 -529
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +5 -5
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/Channel/Channel.d.ts +3 -2
  6. package/dist/components/Channel/Channel.d.ts.map +1 -1
  7. package/dist/components/Channel/Channel.js +46 -42
  8. package/dist/components/Reactions/ReactionSelector.d.ts +3 -8
  9. package/dist/components/Reactions/ReactionSelector.d.ts.map +1 -1
  10. package/dist/components/Reactions/ReactionSelector.js +18 -25
  11. package/dist/components/Reactions/ReactionsList.d.ts +3 -8
  12. package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
  13. package/dist/components/Reactions/ReactionsList.js +9 -12
  14. package/dist/components/Reactions/SimpleReactionsList.d.ts +2 -5
  15. package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
  16. package/dist/components/Reactions/SimpleReactionsList.js +12 -15
  17. package/dist/components/Reactions/SpriteImage.d.ts +12 -0
  18. package/dist/components/Reactions/SpriteImage.d.ts.map +1 -0
  19. package/dist/components/Reactions/SpriteImage.js +28 -0
  20. package/dist/components/Reactions/StreamEmoji.d.ts +18 -0
  21. package/dist/components/Reactions/StreamEmoji.d.ts.map +1 -0
  22. package/dist/components/Reactions/StreamEmoji.js +16 -0
  23. package/dist/components/Reactions/hooks/useProcessReactions.d.ts +8 -10
  24. package/dist/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -1
  25. package/dist/components/Reactions/hooks/useProcessReactions.js +14 -18
  26. package/dist/components/Reactions/index.d.ts +3 -0
  27. package/dist/components/Reactions/index.d.ts.map +1 -1
  28. package/dist/components/Reactions/index.js +3 -0
  29. package/dist/components/Reactions/reactionOptions.d.ts +8 -0
  30. package/dist/components/Reactions/reactionOptions.d.ts.map +1 -0
  31. package/dist/components/Reactions/reactionOptions.js +11 -0
  32. package/dist/components/Reactions/utils/utils.d.ts +1 -0
  33. package/dist/components/Reactions/utils/utils.d.ts.map +1 -1
  34. package/dist/components/Reactions/utils/utils.js +12 -0
  35. package/dist/context/ComponentContext.d.ts +2 -0
  36. package/dist/context/ComponentContext.d.ts.map +1 -1
  37. package/dist/context/EmojiContext.d.ts +1 -2
  38. package/dist/context/EmojiContext.d.ts.map +1 -1
  39. package/dist/context/EmojiContext.js +1 -3
  40. package/dist/index.cjs.js +160 -115
  41. package/dist/index.cjs.js.map +1 -1
  42. package/dist/types/types.d.ts +3 -0
  43. package/dist/types/types.d.ts.map +1 -1
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.d.ts.map +1 -1
  46. package/dist/version.js +1 -1
  47. package/package.json +1 -1
@@ -9,6 +9,7 @@ import type { MessageProps } from '../Message/types';
9
9
  import type { MessageInputProps } from '../MessageInput/MessageInput';
10
10
  import type { CustomTrigger, DefaultStreamChatGenerics, GiphyVersions, ImageAttachmentSizeHandler, SendMessageOptions, UpdateMessageOptions, VideoAttachmentSizeHandler } from '../../types/types';
11
11
  import type { URLEnrichmentConfig } from '../MessageInput/hooks/useLinkPreviews';
12
+ import { ReactionOptions } from '../../components/Reactions/reactionOptions';
12
13
  export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics, V extends CustomTrigger = CustomTrigger> = {
13
14
  /** List of accepted file types */
14
15
  acceptedFiles?: string[];
@@ -42,8 +43,6 @@ export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGen
42
43
  dragAndDropWindow?: boolean;
43
44
  /** Custom UI component to override default edit message input, defaults to and accepts same props as: [EditMessageForm](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/EditMessageForm.tsx) */
44
45
  EditMessageInput?: ComponentContextValue<StreamChatGenerics>['EditMessageInput'];
45
- /** Custom UI component to override default `NimbleEmoji` from `emoji-mart` */
46
- Emoji?: EmojiContextValue['Emoji'];
47
46
  /** Custom prop to override default `facebook.json` emoji data set from `emoji-mart` */
48
47
  emojiData?: EmojiMartData;
49
48
  /** Custom UI component for emoji button in input, defaults to and accepts same props as: [EmojiIconSmall](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/icons.tsx) */
@@ -124,6 +123,8 @@ export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGen
124
123
  QuotedMessage?: ComponentContextValue<StreamChatGenerics>['QuotedMessage'];
125
124
  /** Custom UI component to override the message input's quoted message preview, defaults to and accepts same props as: [QuotedMessagePreview](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/QuotedMessagePreview.tsx) */
126
125
  QuotedMessagePreview?: ComponentContextValue<StreamChatGenerics>['QuotedMessagePreview'];
126
+ /** Custom reaction options to be applied to ReactionSelector, ReactionList and SimpleReactionList components */
127
+ reactionOptions?: ReactionOptions;
127
128
  /** Custom UI component to display the reaction selector, defaults to and accepts same props as: [ReactionSelector](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Reactions/ReactionSelector.tsx) */
128
129
  ReactionSelector?: ComponentContextValue<StreamChatGenerics>['ReactionSelector'];
129
130
  /** Custom UI component to display the list of reactions on a message, defaults to and accepts same props as: [ReactionsList](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Reactions/ReactionsList.tsx) */
@@ -1 +1 @@
1
- {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ import { makeAddNotifications } from './utils';
31
31
  import { getChannel } from '../../utils/getChannel';
32
32
  import { useChannelContainerClasses } from './hooks/useChannelContainerClasses';
33
33
  import { getImageAttachmentConfiguration, getVideoAttachmentConfiguration, } from '../Attachment/attachment-sizing';
34
+ import { defaultReactionOptions, } from '../../components/Reactions/reactionOptions';
34
35
  var UnMemoizedChannel = function (props) {
35
36
  var propsChannel = props.channel, _a = props.EmptyPlaceholder, EmptyPlaceholder = _a === void 0 ? null : _a, LoadingErrorIndicator = props.LoadingErrorIndicator, _b = props.LoadingIndicator, LoadingIndicator = _b === void 0 ? DefaultLoadingIndicator : _b;
36
37
  var _c = useChatContext('Channel'), contextChannel = _c.channel, channelsQueryState = _c.channelsQueryState, customClasses = _c.customClasses, theme = _c.theme;
@@ -607,49 +608,52 @@ var ChannelInner = function (props) {
607
608
  jumpToMessage,
608
609
  jumpToLatestMessage,
609
610
  ]);
610
- var componentContextValue = useMemo(function () { return ({
611
- Attachment: props.Attachment || DefaultAttachment,
612
- AttachmentPreviewList: props.AttachmentPreviewList,
613
- AutocompleteSuggestionHeader: props.AutocompleteSuggestionHeader,
614
- AutocompleteSuggestionItem: props.AutocompleteSuggestionItem,
615
- AutocompleteSuggestionList: props.AutocompleteSuggestionList,
616
- Avatar: props.Avatar,
617
- CooldownTimer: props.CooldownTimer,
618
- DateSeparator: props.DateSeparator,
619
- EditMessageInput: props.EditMessageInput,
620
- EmojiIcon: props.EmojiIcon,
621
- EmptyStateIndicator: props.EmptyStateIndicator,
622
- FileUploadIcon: props.FileUploadIcon,
623
- GiphyPreviewMessage: props.GiphyPreviewMessage,
624
- HeaderComponent: props.HeaderComponent,
625
- Input: props.Input,
626
- LinkPreviewList: props.LinkPreviewList,
627
- LoadingIndicator: props.LoadingIndicator,
628
- Message: props.Message || MessageSimple,
629
- MessageDeleted: props.MessageDeleted,
630
- MessageListNotifications: props.MessageListNotifications,
631
- MessageNotification: props.MessageNotification,
632
- MessageOptions: props.MessageOptions,
633
- MessageRepliesCountButton: props.MessageRepliesCountButton,
634
- MessageStatus: props.MessageStatus,
635
- MessageSystem: props.MessageSystem,
636
- MessageTimestamp: props.MessageTimestamp,
637
- ModalGallery: props.ModalGallery,
638
- PinIndicator: props.PinIndicator,
639
- QuotedMessage: props.QuotedMessage,
640
- QuotedMessagePreview: props.QuotedMessagePreview,
641
- ReactionSelector: props.ReactionSelector,
642
- ReactionsList: props.ReactionsList,
643
- SendButton: props.SendButton,
644
- ThreadHead: props.ThreadHead,
645
- ThreadHeader: props.ThreadHeader,
646
- ThreadStart: props.ThreadStart,
647
- TriggerProvider: props.TriggerProvider,
648
- TypingIndicator: props.TypingIndicator,
649
- VirtualMessage: props.VirtualMessage,
650
- }); }, []);
611
+ var componentContextValue = useMemo(function () {
612
+ var _a;
613
+ return ({
614
+ Attachment: props.Attachment || DefaultAttachment,
615
+ AttachmentPreviewList: props.AttachmentPreviewList,
616
+ AutocompleteSuggestionHeader: props.AutocompleteSuggestionHeader,
617
+ AutocompleteSuggestionItem: props.AutocompleteSuggestionItem,
618
+ AutocompleteSuggestionList: props.AutocompleteSuggestionList,
619
+ Avatar: props.Avatar,
620
+ CooldownTimer: props.CooldownTimer,
621
+ DateSeparator: props.DateSeparator,
622
+ EditMessageInput: props.EditMessageInput,
623
+ EmojiIcon: props.EmojiIcon,
624
+ EmptyStateIndicator: props.EmptyStateIndicator,
625
+ FileUploadIcon: props.FileUploadIcon,
626
+ GiphyPreviewMessage: props.GiphyPreviewMessage,
627
+ HeaderComponent: props.HeaderComponent,
628
+ Input: props.Input,
629
+ LinkPreviewList: props.LinkPreviewList,
630
+ LoadingIndicator: props.LoadingIndicator,
631
+ Message: props.Message || MessageSimple,
632
+ MessageDeleted: props.MessageDeleted,
633
+ MessageListNotifications: props.MessageListNotifications,
634
+ MessageNotification: props.MessageNotification,
635
+ MessageOptions: props.MessageOptions,
636
+ MessageRepliesCountButton: props.MessageRepliesCountButton,
637
+ MessageStatus: props.MessageStatus,
638
+ MessageSystem: props.MessageSystem,
639
+ MessageTimestamp: props.MessageTimestamp,
640
+ ModalGallery: props.ModalGallery,
641
+ PinIndicator: props.PinIndicator,
642
+ QuotedMessage: props.QuotedMessage,
643
+ QuotedMessagePreview: props.QuotedMessagePreview,
644
+ reactionOptions: (_a = props.reactionOptions) !== null && _a !== void 0 ? _a : defaultReactionOptions,
645
+ ReactionSelector: props.ReactionSelector,
646
+ ReactionsList: props.ReactionsList,
647
+ SendButton: props.SendButton,
648
+ ThreadHead: props.ThreadHead,
649
+ ThreadHeader: props.ThreadHeader,
650
+ ThreadStart: props.ThreadStart,
651
+ TriggerProvider: props.TriggerProvider,
652
+ TypingIndicator: props.TypingIndicator,
653
+ VirtualMessage: props.VirtualMessage,
654
+ });
655
+ }, [props.reactionOptions]);
651
656
  var emojiContextValue = useMemo(function () { return ({
652
- Emoji: props.Emoji,
653
657
  emojiConfig: emojiConfig,
654
658
  EmojiIndex: props.EmojiIndex,
655
659
  EmojiPicker: props.EmojiPicker,
@@ -1,12 +1,9 @@
1
1
  import React from 'react';
2
2
  import { AvatarProps } from '../Avatar';
3
- import { ReactionEmoji } from '../Channel/emojiData';
4
- import type { NimbleEmojiProps } from 'emoji-mart';
5
3
  import type { ReactionResponse } from 'stream-chat';
6
4
  import type { DefaultStreamChatGenerics } from '../../types/types';
5
+ import type { ReactionOptions } from './reactionOptions';
7
6
  export declare type ReactionSelectorProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
8
- /** Additional props to be passed to the [NimbleEmoji](https://github.com/missive/emoji-mart/blob/master/src/components/emoji/nimble-emoji.js) component from `emoji-mart` */
9
- additionalEmojiProps?: Partial<NimbleEmojiProps>;
10
7
  /** Custom UI component to display user avatar, defaults to and accepts same props as: [Avatar](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Avatar/Avatar.tsx) */
11
8
  Avatar?: React.ElementType<AvatarProps>;
12
9
  /** If true, shows the user's avatar with the reaction */
@@ -18,11 +15,9 @@ export declare type ReactionSelectorProps<StreamChatGenerics extends DefaultStre
18
15
  /** An array of the own reaction objects to distinguish own reactions visually */
19
16
  own_reactions?: ReactionResponse<StreamChatGenerics>[];
20
17
  /** An object that keeps track of the count of each type of reaction on a message */
21
- reaction_counts?: {
22
- [key: string]: number;
23
- };
18
+ reaction_counts?: Record<string, number>;
24
19
  /** A list of the currently supported reactions on a message */
25
- reactionOptions?: ReactionEmoji[];
20
+ reactionOptions?: ReactionOptions;
26
21
  /** If true, adds a CSS class that reverses the horizontal positioning of the selector */
27
22
  reverse?: boolean;
28
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ReactionSelector.d.ts","sourceRoot":"","sources":["../../../src/components/Reactions/ReactionSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsE,MAAM,OAAO,CAAC;AAK3F,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AACjE,OAAO,EAAwB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oBAAY,qBAAqB,CAC/B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,6KAA6K;IAC7K,oBAAoB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD,+LAA+L;IAC/L,MAAM,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC1D,iFAAiF;IACjF,aAAa,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACvD,oFAAoF;IACpF,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5C,+DAA+D;IAC/D,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAiMF;;GAEG;AACH,eAAO,MAAM,gBAAgB,gIAES,CAAC"}
1
+ {"version":3,"file":"ReactionSelector.d.ts","sourceRoot":"","sources":["../../../src/components/Reactions/ReactionSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AAKjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,oBAAY,qBAAqB,CAC/B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,+LAA+L;IAC/L,MAAM,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC1D,iFAAiF;IACjF,aAAa,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACvD,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,+DAA+D;IAC/D,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAkLF;;GAEG;AACH,eAAO,MAAM,gBAAgB,gIAES,CAAC"}
@@ -1,29 +1,22 @@
1
- import { __assign } from "tslib";
2
- import React, { Suspense, useCallback, useEffect, useMemo, useRef, useState } from 'react';
1
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
3
2
  import clsx from 'clsx';
4
3
  import { isMutableRef } from './utils/utils';
5
4
  import { Avatar as DefaultAvatar } from '../Avatar';
6
- import { getStrippedEmojiData } from '../Channel/emojiData';
7
5
  import { useComponentContext } from '../../context/ComponentContext';
8
- import { useEmojiContext } from '../../context/EmojiContext';
9
6
  import { useMessageContext } from '../../context/MessageContext';
10
7
  var UnMemoizedReactionSelector = React.forwardRef(function (props, ref) {
11
8
  var _a;
12
- var _b = props.additionalEmojiProps, additionalEmojiProps = _b === void 0 ? {} : _b, propAvatar = props.Avatar, _c = props.detailedView, detailedView = _c === void 0 ? true : _c, propHandleReaction = props.handleReaction, propLatestReactions = props.latest_reactions, propOwnReactions = props.own_reactions, propReactionCounts = props.reaction_counts, propReactionOptions = props.reactionOptions, _d = props.reverse, reverse = _d === void 0 ? false : _d;
13
- var contextAvatar = useComponentContext('ReactionSelector').Avatar;
14
- var _e = useEmojiContext('ReactionSelector'), Emoji = _e.Emoji, emojiConfig = _e.emojiConfig;
15
- var _f = useMessageContext('ReactionSelector'), contextHandleReaction = _f.handleReaction, message = _f.message;
16
- var _g = emojiConfig || {}, defaultMinimalEmojis = _g.defaultMinimalEmojis, fullEmojiData = _g.emojiData, emojiSetDef = _g.emojiSetDef;
9
+ var propAvatar = props.Avatar, _b = props.detailedView, detailedView = _b === void 0 ? true : _b, propHandleReaction = props.handleReaction, propLatestReactions = props.latest_reactions, propOwnReactions = props.own_reactions, propReactionCounts = props.reaction_counts, propReactionOptions = props.reactionOptions, _c = props.reverse, reverse = _c === void 0 ? false : _c;
10
+ var _d = useComponentContext('ReactionSelector'), contextAvatar = _d.Avatar, contextReactionOptions = _d.reactionOptions;
11
+ var _e = useMessageContext('ReactionSelector'), contextHandleReaction = _e.handleReaction, message = _e.message;
12
+ var reactionOptions = propReactionOptions !== null && propReactionOptions !== void 0 ? propReactionOptions : contextReactionOptions;
17
13
  var Avatar = propAvatar || contextAvatar || DefaultAvatar;
18
14
  var handleReaction = propHandleReaction || contextHandleReaction;
19
15
  var latestReactions = propLatestReactions || (message === null || message === void 0 ? void 0 : message.latest_reactions) || [];
20
16
  var ownReactions = propOwnReactions || (message === null || message === void 0 ? void 0 : message.own_reactions) || [];
21
17
  var reactionCounts = propReactionCounts || (message === null || message === void 0 ? void 0 : message.reaction_counts) || {};
22
- var reactionOptions = propReactionOptions || defaultMinimalEmojis;
23
- var reactionsAreCustom = !!(propReactionOptions === null || propReactionOptions === void 0 ? void 0 : propReactionOptions.length);
24
- var emojiData = useMemo(function () { return (reactionsAreCustom ? fullEmojiData : getStrippedEmojiData(fullEmojiData)); }, [fullEmojiData, reactionsAreCustom]);
25
- var _h = useState(null), tooltipReactionType = _h[0], setTooltipReactionType = _h[1];
26
- var _j = useState(null), tooltipPositions = _j[0], setTooltipPositions = _j[1];
18
+ var _f = useState(null), tooltipReactionType = _f[0], setTooltipReactionType = _f[1];
19
+ var _g = useState(null), tooltipPositions = _g[0], setTooltipPositions = _g[1];
27
20
  var targetRef = useRef(null);
28
21
  var tooltipRef = useRef(null);
29
22
  var showTooltip = useCallback(function (event, reactionType) {
@@ -80,17 +73,17 @@ var UnMemoizedReactionSelector = React.forwardRef(function (props, ref) {
80
73
  } },
81
74
  React.createElement("div", { className: 'arrow', style: { left: tooltipPositions === null || tooltipPositions === void 0 ? void 0 : tooltipPositions.arrow } }), (_a = getUsersPerReactionType(tooltipReactionType)) === null || _a === void 0 ? void 0 :
82
75
  _a.map(function (user, i, users) { return (React.createElement("span", { className: 'latest-user-username', key: "key-".concat(i, "-").concat(user) }, "".concat(user).concat(i < users.length - 1 ? ', ' : ''))); }))),
83
- React.createElement("ul", { className: 'str-chat__message-reactions-list str-chat__message-reactions-options' }, reactionOptions.map(function (reactionOption) {
84
- var latestUser = getLatestUserForReactionType(reactionOption.id);
85
- var count = reactionCounts && reactionCounts[reactionOption.id];
86
- return (React.createElement("li", { key: "item-".concat(reactionOption.id) },
87
- React.createElement("button", { "aria-label": "Select Reaction: ".concat(reactionOption.name), className: clsx('str-chat__message-reactions-list-item str-chat__message-reactions-option', {
88
- 'str-chat__message-reactions-option-selected': iHaveReactedWithReaction(reactionOption.id),
89
- }), "data-text": reactionOption.id, onClick: function (event) { return handleReaction(reactionOption.id, event); } },
90
- !!count && detailedView && (React.createElement("div", { className: 'latest-user str-chat__message-reactions-last-user', onClick: hideTooltip, onMouseEnter: function (e) { return showTooltip(e, reactionOption.id); }, onMouseLeave: hideTooltip }, latestUser ? (React.createElement(Avatar, { image: latestUser.image, name: latestUser.name, size: 20, user: latestUser })) : (React.createElement("div", { className: 'latest-user-not-found' })))),
91
- React.createElement(Suspense, { fallback: null },
92
- React.createElement("span", { className: 'str-chat__message-reaction-emoji' },
93
- React.createElement(Emoji, __assign({ data: emojiData, emoji: reactionOption, size: 20 }, (reactionsAreCustom ? additionalEmojiProps : emojiSetDef))))),
76
+ React.createElement("ul", { className: 'str-chat__message-reactions-list str-chat__message-reactions-options' }, reactionOptions.map(function (_a) {
77
+ var Component = _a.Component, reactionName = _a.name, reactionType = _a.type;
78
+ var latestUser = getLatestUserForReactionType(reactionType);
79
+ var count = reactionCounts && reactionCounts[reactionType];
80
+ return (React.createElement("li", { key: reactionType },
81
+ React.createElement("button", { "aria-label": "Select Reaction: ".concat(reactionName || reactionType), className: clsx('str-chat__message-reactions-list-item str-chat__message-reactions-option', {
82
+ 'str-chat__message-reactions-option-selected': iHaveReactedWithReaction(reactionType),
83
+ }), "data-text": reactionType, onClick: function (event) { return handleReaction(reactionType, event); } },
84
+ !!count && detailedView && (React.createElement("div", { className: 'latest-user str-chat__message-reactions-last-user', onClick: hideTooltip, onMouseEnter: function (e) { return showTooltip(e, reactionType); }, onMouseLeave: hideTooltip }, latestUser ? (React.createElement(Avatar, { image: latestUser.image, name: latestUser.name, size: 20, user: latestUser })) : (React.createElement("div", { className: 'latest-user-not-found' })))),
85
+ React.createElement("span", { className: 'str-chat__message-reaction-emoji' },
86
+ React.createElement(Component, null)),
94
87
  Boolean(count) && detailedView && (React.createElement("span", { className: 'str-chat__message-reactions-list-item__count' }, count || '')))));
95
88
  }))));
96
89
  });
@@ -1,21 +1,16 @@
1
- import type { NimbleEmojiProps } from 'emoji-mart';
2
1
  import type { ReactionResponse } from 'stream-chat';
3
2
  import type { ReactEventHandler } from '../Message/types';
4
3
  import type { DefaultStreamChatGenerics } from '../../types/types';
5
- import type { ReactionEmoji } from '../Channel/emojiData';
4
+ import type { ReactionOptions } from './reactionOptions';
6
5
  export declare type ReactionsListProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
7
- /** Additional props to be passed to the [NimbleEmoji](https://github.com/missive/emoji-mart/blob/master/src/components/emoji/nimble-emoji.js) component from `emoji-mart` */
8
- additionalEmojiProps?: Partial<NimbleEmojiProps>;
9
6
  /** Custom on click handler for an individual reaction, defaults to `onReactionListClick` from the `MessageContext` */
10
7
  onClick?: ReactEventHandler;
11
8
  /** An array of the own reaction objects to distinguish own reactions visually */
12
9
  own_reactions?: ReactionResponse<StreamChatGenerics>[];
13
10
  /** An object that keeps track of the count of each type of reaction on a message */
14
- reaction_counts?: {
15
- [key: string]: number;
16
- };
11
+ reaction_counts?: Record<string, number>;
17
12
  /** A list of the currently supported reactions on a message */
18
- reactionOptions?: ReactionEmoji[];
13
+ reactionOptions?: ReactionOptions;
19
14
  /** An array of the reaction objects to display in the list */
20
15
  reactions?: ReactionResponse<StreamChatGenerics>[];
21
16
  /** Display the reactions in the list in reverse order, defaults to false */
@@ -1 +1 @@
1
- {"version":3,"file":"ReactionsList.d.ts","sourceRoot":"","sources":["../../../src/components/Reactions/ReactionsList.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,oBAAY,kBAAkB,CAC5B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,6KAA6K;IAC7K,oBAAoB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD,sHAAsH;IACtH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,iFAAiF;IACjF,aAAa,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACvD,oFAAoF;IACpF,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5C,+DAA+D;IAC/D,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACnD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAyHF;;GAEG;AACH,eAAO,MAAM,aAAa,yJAAwE,CAAC"}
1
+ {"version":3,"file":"ReactionsList.d.ts","sourceRoot":"","sources":["../../../src/components/Reactions/ReactionsList.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,oBAAY,kBAAkB,CAC5B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,sHAAsH;IACtH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,iFAAiF;IACjF,aAAa,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACvD,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,+DAA+D;IAC/D,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACnD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAgHF;;GAEG;AACH,eAAO,MAAM,aAAa,yJAAwE,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { __assign, __rest } from "tslib";
2
- import React, { Suspense, useState } from 'react';
2
+ import React, { useState } from 'react';
3
3
  import clsx from 'clsx';
4
- import { useEmojiContext } from '../../context/EmojiContext';
5
4
  import { useMessageContext } from '../../context/MessageContext';
6
5
  import { useChatContext } from '../../context/ChatContext';
7
6
  import { useProcessReactions } from './hooks/useProcessReactions';
@@ -21,9 +20,8 @@ var ButtonWithTooltip = function (_a) {
21
20
  };
22
21
  var UnMemoizedReactionsList = function (props) {
23
22
  var onClick = props.onClick, _a = props.reverse, reverse = _a === void 0 ? false : _a, rest = __rest(props, ["onClick", "reverse"]);
24
- var _b = useEmojiContext('ReactionsList'), Emoji = _b.Emoji, emojiConfig = _b.emojiConfig;
25
23
  var onReactionListClick = useMessageContext('ReactionsList').onReactionListClick;
26
- var _c = useProcessReactions(__assign({ emojiConfig: emojiConfig }, rest)), additionalEmojiProps = _c.additionalEmojiProps, aggregatedUserNamesByType = _c.aggregatedUserNamesByType, emojiData = _c.emojiData, getEmojiByReactionType = _c.getEmojiByReactionType, iHaveReactedWithReaction = _c.iHaveReactedWithReaction, latestReactions = _c.latestReactions, latestReactionTypes = _c.latestReactionTypes, reactionCounts = _c.reactionCounts, supportedReactionsArePresent = _c.supportedReactionsArePresent, totalReactionCount = _c.totalReactionCount;
24
+ var _b = useProcessReactions(rest), aggregatedUserNamesByType = _b.aggregatedUserNamesByType, getEmojiByReactionType = _b.getEmojiByReactionType, iHaveReactedWithReaction = _b.iHaveReactedWithReaction, latestReactions = _b.latestReactions, latestReactionTypes = _b.latestReactionTypes, reactionCounts = _b.reactionCounts, supportedReactionsArePresent = _b.supportedReactionsArePresent, totalReactionCount = _b.totalReactionCount;
27
25
  if (!latestReactions.length)
28
26
  return null;
29
27
  if (!supportedReactionsArePresent)
@@ -33,17 +31,16 @@ var UnMemoizedReactionsList = function (props) {
33
31
  }), "data-testid": 'reaction-list', onClick: onClick || onReactionListClick, onKeyUp: onClick || onReactionListClick, role: 'figure' },
34
32
  React.createElement("ul", { className: 'str-chat__message-reactions' },
35
33
  latestReactionTypes.map(function (reactionType) {
36
- var emojiObject = getEmojiByReactionType(reactionType);
34
+ var ReactionOption = getEmojiByReactionType(reactionType);
37
35
  var isOwnReaction = iHaveReactedWithReaction(reactionType);
38
- return emojiObject ? (React.createElement("li", { className: clsx('str-chat__message-reaction', {
36
+ return (ReactionOption && (React.createElement("li", { className: clsx('str-chat__message-reaction', {
39
37
  'str-chat__message-reaction-own': isOwnReaction,
40
- }), key: emojiObject.id },
41
- React.createElement(ButtonWithTooltip, { "aria-label": "Reactions: ".concat(reactionType), title: aggregatedUserNamesByType[reactionType].join(', '), type: 'button' },
42
- React.createElement(Suspense, { fallback: null },
43
- React.createElement("span", { className: 'str-chat__message-reaction-emoji' },
44
- React.createElement(Emoji, __assign({ data: emojiData, emoji: emojiObject, size: 16 }, additionalEmojiProps)))),
38
+ }), key: reactionType },
39
+ React.createElement(ButtonWithTooltip, { "aria-label": "Reactions: ".concat(reactionType), "data-testid": "reactions-list-button-".concat(reactionType), title: aggregatedUserNamesByType[reactionType].join(', '), type: 'button' },
40
+ React.createElement("span", { className: 'str-chat__message-reaction-emoji' },
41
+ React.createElement(ReactionOption.Component, null)),
45
42
  "\u00A0",
46
- React.createElement("span", { className: 'str-chat__message-reaction-count', "data-testclass": 'reaction-list-reaction-count' }, reactionCounts[reactionType])))) : null;
43
+ React.createElement("span", { className: 'str-chat__message-reaction-count', "data-testclass": 'reaction-list-reaction-count' }, reactionCounts[reactionType])))));
47
44
  }),
48
45
  React.createElement("li", null,
49
46
  React.createElement("span", { className: 'str-chat__reaction-list--counter' }, totalReactionCount)))));
@@ -1,11 +1,8 @@
1
1
  import React from 'react';
2
- import type { NimbleEmojiProps } from 'emoji-mart';
3
2
  import type { ReactionResponse } from 'stream-chat';
4
3
  import type { DefaultStreamChatGenerics } from '../../types/types';
5
- import type { ReactionEmoji } from '../Channel/emojiData';
4
+ import type { ReactionOptions } from './reactionOptions';
6
5
  export declare type SimpleReactionsListProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
7
- /** Additional props to be passed to the [NimbleEmoji](https://github.com/missive/emoji-mart/blob/master/src/components/emoji/nimble-emoji.js) component from `emoji-mart` */
8
- additionalEmojiProps?: Partial<NimbleEmojiProps>;
9
6
  /** Function that adds/removes a reaction on a message (overrides the function stored in `MessageContext`) */
10
7
  handleReaction?: (reactionType: string, event: React.BaseSyntheticEvent) => Promise<void>;
11
8
  /** An array of the own reaction objects to distinguish own reactions visually */
@@ -15,7 +12,7 @@ export declare type SimpleReactionsListProps<StreamChatGenerics extends DefaultS
15
12
  [key: string]: number;
16
13
  };
17
14
  /** A list of the currently supported reactions on a message */
18
- reactionOptions?: ReactionEmoji[];
15
+ reactionOptions?: ReactionOptions;
19
16
  /** An array of the reaction objects to display in the list */
20
17
  reactions?: ReactionResponse<StreamChatGenerics>[];
21
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleReactionsList.d.ts","sourceRoot":"","sources":["../../../src/components/Reactions/SimpleReactionsList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAYrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAsC1D,oBAAY,wBAAwB,CAClC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,6KAA6K;IAC7K,oBAAoB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD,6GAA6G;IAC7G,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F,iFAAiF;IACjF,aAAa,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACvD,oFAAoF;IACpF,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5C,+DAA+D;IAC/D,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;CACpD,CAAC;AAsGF,eAAO,MAAM,mBAAmB,+JAES,CAAC"}
1
+ {"version":3,"file":"SimpleReactionsList.d.ts","sourceRoot":"","sources":["../../../src/components/Reactions/SimpleReactionsList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAsCzD,oBAAY,wBAAwB,CAClC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,6GAA6G;IAC7G,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F,iFAAiF;IACjF,aAAa,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACvD,oFAAoF;IACpF,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5C,+DAA+D;IAC/D,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;CACpD,CAAC;AA4FF,eAAO,MAAM,mBAAmB,+JAES,CAAC"}
@@ -1,11 +1,10 @@
1
- import { __assign, __rest } from "tslib";
2
- import React, { Suspense, useState } from 'react';
1
+ import { __rest } from "tslib";
2
+ import React, { useState } from 'react';
3
3
  import clsx from 'clsx';
4
4
  import { useChatContext } from '../../context/ChatContext';
5
- import { useEmojiContext } from '../../context/EmojiContext';
6
5
  import { useMessageContext } from '../../context/MessageContext';
7
- import { useEnterLeaveHandlers } from '../Tooltip/hooks';
8
6
  import { useProcessReactions } from './hooks/useProcessReactions';
7
+ import { useEnterLeaveHandlers } from '../Tooltip/hooks';
9
8
  import { PopperTooltip } from '../Tooltip';
10
9
  // todo: merge with ReactionsList/ButtonWithTooltip
11
10
  // avoiding breaking change of replacing <span> with <button>
@@ -23,10 +22,9 @@ var WithTooltip = function (_a) {
23
22
  };
24
23
  var UnMemoizedSimpleReactionsList = function (props) {
25
24
  var propHandleReaction = props.handleReaction, rest = __rest(props, ["handleReaction"]);
26
- var _a = useEmojiContext('SimpleReactionsList'), Emoji = _a.Emoji, emojiConfig = _a.emojiConfig;
27
25
  var contextHandleReaction = useMessageContext('SimpleReactionsList').handleReaction;
28
- var _b = useProcessReactions(__assign({ emojiConfig: emojiConfig }, rest)), additionalEmojiProps = _b.additionalEmojiProps, emojiData = _b.emojiData, getEmojiByReactionType = _b.getEmojiByReactionType, iHaveReactedWithReaction = _b.iHaveReactedWithReaction, latestReactions = _b.latestReactions, latestReactionTypes = _b.latestReactionTypes, supportedReactionsArePresent = _b.supportedReactionsArePresent, totalReactionCount = _b.totalReactionCount;
29
- var _c = useState(undefined), tooltipReactionType = _c[0], setTooltipReactionType = _c[1];
26
+ var _a = useProcessReactions(rest), getEmojiByReactionType = _a.getEmojiByReactionType, iHaveReactedWithReaction = _a.iHaveReactedWithReaction, latestReactions = _a.latestReactions, latestReactionTypes = _a.latestReactionTypes, supportedReactionsArePresent = _a.supportedReactionsArePresent, totalReactionCount = _a.totalReactionCount;
27
+ var _b = useState(undefined), tooltipReactionType = _b[0], setTooltipReactionType = _b[1];
30
28
  var themeVersion = useChatContext('SimpleReactionsList').themeVersion;
31
29
  var handleReaction = propHandleReaction || contextHandleReaction;
32
30
  if (!latestReactions.length)
@@ -46,22 +44,21 @@ var UnMemoizedSimpleReactionsList = function (props) {
46
44
  };
47
45
  return (React.createElement("div", { className: 'str-chat__message-reactions-container' },
48
46
  React.createElement("ul", { className: 'str-chat__simple-reactions-list str-chat__message-reactions', "data-testid": 'simple-reaction-list', onMouseLeave: function () { return setTooltipReactionType(undefined); } },
49
- latestReactionTypes.map(function (reactionType, i) {
47
+ latestReactionTypes.map(function (reactionType) {
50
48
  var _a;
51
- var emojiObject = getEmojiByReactionType(reactionType);
49
+ var ReactionOption = getEmojiByReactionType(reactionType);
52
50
  var isOwnReaction = iHaveReactedWithReaction(reactionType);
53
- var tooltipVisible = emojiObject && tooltipReactionType === (emojiObject === null || emojiObject === void 0 ? void 0 : emojiObject.id);
51
+ var tooltipVisible = tooltipReactionType === reactionType;
54
52
  var tooltipContent = (_a = getUsersPerReactionType(tooltipReactionType)) === null || _a === void 0 ? void 0 : _a.join(', ');
55
- return emojiObject ? (React.createElement("li", { className: clsx('str-chat__simple-reactions-list-item', {
53
+ return (ReactionOption && (React.createElement("li", { className: clsx('str-chat__simple-reactions-list-item', {
56
54
  'str-chat__message-reaction-own': isOwnReaction,
57
- }), key: "".concat(emojiObject.id, "-").concat(i), onClick: function (event) { return handleReaction(reactionType, event); }, onKeyUp: function (event) { return handleReaction(reactionType, event); } },
55
+ }), key: reactionType, onClick: function (event) { return handleReaction(reactionType, event); }, onKeyUp: function (event) { return handleReaction(reactionType, event); } },
58
56
  React.createElement(WithTooltip, { onMouseEnter: function () { return setTooltipReactionType(reactionType); }, onMouseLeave: function () { return setTooltipReactionType(undefined); }, title: tooltipContent },
59
- React.createElement(Suspense, { fallback: null },
60
- React.createElement(Emoji, __assign({ data: emojiData, emoji: emojiObject, size: 13 }, additionalEmojiProps))),
57
+ React.createElement(ReactionOption.Component, null),
61
58
  "\u00A0",
62
59
  tooltipVisible && themeVersion === '1' && (React.createElement("div", { className: 'str-chat__simple-reactions-list-tooltip' },
63
60
  React.createElement("div", { className: 'arrow' }),
64
- tooltipContent))))) : null;
61
+ tooltipContent))))));
65
62
  }),
66
63
  React.createElement("li", { className: 'str-chat__simple-reactions-list-item--last-number' }, totalReactionCount))));
67
64
  };
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export declare type SpriteImageProps = {
3
+ columns: number;
4
+ position: [number, number];
5
+ rows: number;
6
+ spriteUrl: string;
7
+ fallback?: React.ReactNode;
8
+ height?: number;
9
+ width?: number;
10
+ };
11
+ export declare const SpriteImage: ({ columns, fallback, height, position, rows, spriteUrl, width, }: SpriteImageProps) => JSX.Element;
12
+ //# sourceMappingURL=SpriteImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpriteImage.d.ts","sourceRoot":"","sources":["../../../src/components/Reactions/SpriteImage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,oBAAY,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,WAAW,qEAQrB,gBAAgB,gBAgClB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { getImageDimensions } from './utils/utils';
3
+ export var SpriteImage = function (_a) {
4
+ var columns = _a.columns, fallback = _a.fallback, height = _a.height, position = _a.position, rows = _a.rows, spriteUrl = _a.spriteUrl, width = _a.width;
5
+ var _b = useState([0, 0]), _c = _b[0], spriteWidth = _c[0], spriteHeight = _c[1], setSpriteDimensions = _b[1];
6
+ useEffect(function () {
7
+ getImageDimensions(spriteUrl).then(setSpriteDimensions).catch(console.error);
8
+ }, [spriteUrl]);
9
+ var x = position[0], y = position[1];
10
+ var spriteItemWidth = spriteWidth / columns;
11
+ var spriteItemHeight = spriteHeight / rows;
12
+ var resizeRatio = 1;
13
+ if (!width && height)
14
+ resizeRatio = height / spriteItemHeight;
15
+ if (width && !height)
16
+ resizeRatio = width / spriteItemWidth;
17
+ if (resizeRatio === Infinity)
18
+ resizeRatio = 1;
19
+ if (!spriteHeight || !spriteWidth)
20
+ return React.createElement(React.Fragment, null, fallback);
21
+ return (React.createElement("div", { "data-testid": 'sprite-image', style: {
22
+ backgroundImage: "url('".concat(spriteUrl, "')"),
23
+ backgroundPosition: "".concat(x * (100 / (columns - 1)), "% ").concat(y * (100 / (rows - 1)), "%"),
24
+ backgroundSize: "".concat(columns * 100, "% ").concat(rows * 100, "%"),
25
+ height: height !== null && height !== void 0 ? height : spriteItemHeight * resizeRatio,
26
+ width: width !== null && width !== void 0 ? width : spriteItemWidth * resizeRatio,
27
+ } }));
28
+ };
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { SpriteImageProps } from './SpriteImage';
3
+ import type { Readable } from '../../types/types';
4
+ declare const StreamSpriteEmojiPositions: {
5
+ angry: number[];
6
+ haha: number[];
7
+ like: number[];
8
+ love: number[];
9
+ sad: number[];
10
+ wow: number[];
11
+ };
12
+ declare type StreamEmojiType = keyof typeof StreamSpriteEmojiPositions;
13
+ export declare const StreamEmoji: ({ fallback, type, }: {
14
+ type: StreamEmojiType;
15
+ fallback?: React.ReactNode;
16
+ }) => JSX.Element;
17
+ export {};
18
+ //# sourceMappingURL=StreamEmoji.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamEmoji.d.ts","sourceRoot":"","sources":["../../../src/components/Reactions/StreamEmoji.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,QAAA,MAAM,0BAA0B;;;;;;;CAO/B,CAAC;AAEF,aAAK,eAAe,GAAG,MAAM,OAAO,0BAA0B,CAAC;AAI/D,eAAO,MAAM,WAAW;UAGJ,eAAe;;iBAYlC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { SpriteImage } from './SpriteImage';
3
+ var StreamSpriteEmojiPositions = {
4
+ angry: [1, 1],
5
+ haha: [1, 0],
6
+ like: [0, 0],
7
+ love: [1, 2],
8
+ sad: [0, 1],
9
+ wow: [0, 2],
10
+ };
11
+ var STREAM_SPRITE_URL = 'https://getstream.imgix.net/images/emoji-sprite.png';
12
+ export var StreamEmoji = function (_a) {
13
+ var fallback = _a.fallback, type = _a.type;
14
+ var position = StreamSpriteEmojiPositions[type];
15
+ return (React.createElement(SpriteImage, { columns: 2, fallback: fallback, height: 18, position: position, rows: 3, spriteUrl: STREAM_SPRITE_URL }));
16
+ };
@@ -1,20 +1,18 @@
1
- import { ReactionEmoji } from '../../Channel/emojiData';
2
- import type { EmojiContextValue } from '../../../context/EmojiContext';
3
1
  import type { ReactionsListProps } from '../ReactionsList';
4
2
  import type { DefaultStreamChatGenerics } from '../../../types/types';
5
- declare type SharedReactionListProps = 'additionalEmojiProps' | 'own_reactions' | 'reaction_counts' | 'reactionOptions' | 'reactions';
6
- declare type UseProcessReactionsParams = Pick<ReactionsListProps, SharedReactionListProps> & Pick<EmojiContextValue, 'emojiConfig'>;
3
+ declare type SharedReactionListProps = 'own_reactions' | 'reaction_counts' | 'reactionOptions' | 'reactions';
4
+ declare type UseProcessReactionsParams = Pick<ReactionsListProps, SharedReactionListProps>;
7
5
  export declare const useProcessReactions: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(params: UseProcessReactionsParams) => {
8
- additionalEmojiProps: import("../../../context").EmojiSetDef | Partial<import("emoji-mart").NimbleEmojiProps>;
9
6
  aggregatedUserNamesByType: Record<string, string[]>;
10
- emojiData: import("emoji-mart").Data;
11
- getEmojiByReactionType: (type: string) => ReactionEmoji | undefined;
7
+ getEmojiByReactionType: (reactionType: string) => {
8
+ Component: import("react").ComponentType<{}>;
9
+ type: string;
10
+ name?: string | undefined;
11
+ } | undefined;
12
12
  iHaveReactedWithReaction: (reactionType: string) => import("stream-chat").ReactionResponse<DefaultStreamChatGenerics> | undefined;
13
13
  latestReactions: import("stream-chat").ReactionResponse<DefaultStreamChatGenerics>[];
14
14
  latestReactionTypes: string[];
15
- reactionCounts: {
16
- [key: string]: number;
17
- };
15
+ reactionCounts: Record<string, number>;
18
16
  supportedReactionsArePresent: boolean;
19
17
  totalReactionCount: number;
20
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useProcessReactions.d.ts","sourceRoot":"","sources":["../../../../src/components/Reactions/hooks/useProcessReactions.tsx"],"names":[],"mappings":"AACA,OAAO,EAAwB,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,aAAK,uBAAuB,GACxB,sBAAsB,GACtB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,WAAW,CAAC;AAEhB,aAAK,yBAAyB,GAAG,IAAI,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,GAChF,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAEzC,eAAO,MAAM,mBAAmB,6FAGtB,yBAAyB;;;;mCAyBxB,MAAM,KAAG,aAAa,GAAG,SAAS;6CAL1B,MAAM;;;;;;;;CAwExB,CAAC"}
1
+ {"version":3,"file":"useProcessReactions.d.ts","sourceRoot":"","sources":["../../../../src/components/Reactions/hooks/useProcessReactions.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,aAAK,uBAAuB,GACxB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,WAAW,CAAC;AAEhB,aAAK,yBAAyB,GAAG,IAAI,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;AAEnF,eAAO,MAAM,mBAAmB,6FAGtB,yBAAyB;;2CAwBhB,MAAM;;;;;6CALN,MAAM;;;;;;CAgExB,CAAC"}