stream-chat-react 14.8.0 → 14.10.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.
- package/dist/cjs/channel-detail.js +30 -22
- package/dist/cjs/channel-detail.js.map +1 -1
- package/dist/cjs/index.js +73 -72
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{useChannelHeaderOnlineStatus.72753090.js → useChannelHeaderOnlineStatus.6ace991c.js} +42 -26
- package/dist/cjs/useChannelHeaderOnlineStatus.6ace991c.js.map +1 -0
- package/dist/cjs/useNotificationApi.bf76a16b.js.map +1 -1
- package/dist/css/index.css +22 -19
- package/dist/css/index.css.map +1 -1
- package/dist/es/channel-detail.mjs +30 -22
- package/dist/es/channel-detail.mjs.map +1 -1
- package/dist/es/index.mjs +66 -73
- package/dist/es/index.mjs.map +1 -1
- package/dist/es/{useChannelHeaderOnlineStatus.c86db868.mjs → useChannelHeaderOnlineStatus.d6065c22.mjs} +37 -27
- package/dist/es/useChannelHeaderOnlineStatus.d6065c22.mjs.map +1 -0
- package/dist/es/useNotificationApi.ed6bff88.mjs.map +1 -1
- package/dist/types/components/Avatar/Avatar.d.ts +7 -2
- package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/types/components/Avatar/utils.d.ts +3 -0
- package/dist/types/components/Avatar/utils.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/utils.d.ts.map +1 -1
- package/dist/types/components/Dialog/components/ContextMenu.d.ts.map +1 -1
- package/dist/types/components/Message/MessageRepliesCountButton.d.ts.map +1 -1
- package/dist/types/components/Message/MessageUI.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentSelector/AttachmentSelector.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/useAttachmentManagerState.d.ts +2 -0
- package/dist/types/components/MessageComposer/hooks/useAttachmentManagerState.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/index.d.ts +2 -1
- package/dist/types/components/MessageComposer/index.d.ts.map +1 -1
- package/dist/types/components/Poll/PollOptionSelector.d.ts.map +1 -1
- package/dist/types/components/Poll/PollVote.d.ts.map +1 -1
- package/dist/types/components/ReactFileUtilities/UploadButton.d.ts.map +1 -1
- package/dist/types/components/Reactions/MessageReactionsDetail.d.ts.map +1 -1
- package/dist/types/components/Search/SearchResults/SearchResultItem.d.ts.map +1 -1
- package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/UserItem.d.ts.map +1 -1
- package/dist/types/components/Threads/ThreadList/ThreadListItemUI.d.ts.map +1 -1
- package/dist/types/components/TypingIndicator/TypingIndicator.d.ts.map +1 -1
- package/dist/types/components/TypingIndicator/hooks/useDebouncedTypingActive.d.ts +2 -8
- package/dist/types/components/TypingIndicator/hooks/useDebouncedTypingActive.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/context/ComponentContext.d.ts +4 -0
- package/dist/types/context/ComponentContext.d.ts.map +1 -1
- package/dist/types/context/index.d.ts +1 -0
- package/dist/types/context/index.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/cjs/useChannelHeaderOnlineStatus.72753090.js.map +0 -1
- package/dist/es/useChannelHeaderOnlineStatus.c86db868.mjs.map +0 -1
package/dist/cjs/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_useNotificationApi = require("./useNotificationApi.bf76a16b.js");
|
|
3
|
-
const require_useChannelHeaderOnlineStatus = require("./useChannelHeaderOnlineStatus.
|
|
3
|
+
const require_useChannelHeaderOnlineStatus = require("./useChannelHeaderOnlineStatus.6ace991c.js");
|
|
4
4
|
const require_useMessageComposerController = require("./useMessageComposerController.f8f20e3d.js");
|
|
5
5
|
const require_audioProcessing = require("./audioProcessing.22303d69.js");
|
|
6
6
|
let react = require("react");
|
|
@@ -230,6 +230,17 @@ var usePollContext = () => {
|
|
|
230
230
|
return (0, react.useContext)(PollContext);
|
|
231
231
|
};
|
|
232
232
|
//#endregion
|
|
233
|
+
//#region src/context/VirtualizedMessageListContext.tsx
|
|
234
|
+
var VirtualizedMessageListContext = (0, react.createContext)(void 0);
|
|
235
|
+
/**
|
|
236
|
+
* Context provider for components rendered within the `VirtualizedMessageList`
|
|
237
|
+
*/
|
|
238
|
+
var VirtualizedMessageListContextProvider = ({ children, value }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(VirtualizedMessageListContext.Provider, {
|
|
239
|
+
value,
|
|
240
|
+
children
|
|
241
|
+
});
|
|
242
|
+
var useVirtualizedMessageListContext = () => (0, react.useContext)(VirtualizedMessageListContext);
|
|
243
|
+
//#endregion
|
|
233
244
|
//#region src/context/WithComponents.tsx
|
|
234
245
|
function WithComponents({ children, overrides }) {
|
|
235
246
|
const actualOverrides = {
|
|
@@ -10342,14 +10353,14 @@ var DefaultCalloutDialog = ({ children, className, onClose }) => {
|
|
|
10342
10353
|
//#endregion
|
|
10343
10354
|
//#region src/components/Avatar/AvatarStack.tsx
|
|
10344
10355
|
function AvatarStack({ badgeSize, capLimit = 3, component: Component = "div", displayInfo = [], size }) {
|
|
10345
|
-
const { Avatar: Avatar$
|
|
10356
|
+
const { Avatar: Avatar$6 = require_useChannelHeaderOnlineStatus.Avatar } = require_useNotificationApi.useComponentContext(AvatarStack.name);
|
|
10346
10357
|
const displayInfoToRender = (0, react.useMemo)(() => displayInfo.length > capLimit ? displayInfo.slice(0, capLimit) : displayInfo, [displayInfo, capLimit]);
|
|
10347
10358
|
const overflowCount = displayInfo.length - displayInfoToRender.length;
|
|
10348
10359
|
if (!displayInfo.length) return null;
|
|
10349
10360
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Component, {
|
|
10350
10361
|
className: (0, clsx.default)("str-chat__avatar-stack", { [`str-chat__avatar-stack--size-${size}`]: typeof size === "string" }),
|
|
10351
10362
|
"data-testid": "avatar-stack",
|
|
10352
|
-
children: [displayInfoToRender.map((info, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar$
|
|
10363
|
+
children: [displayInfoToRender.map((info, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar$6, {
|
|
10353
10364
|
imageUrl: info.imageUrl,
|
|
10354
10365
|
size,
|
|
10355
10366
|
userName: info.userName
|
|
@@ -10675,14 +10686,11 @@ var MessageAlsoSentInChannelIndicator = () => {
|
|
|
10675
10686
|
//#endregion
|
|
10676
10687
|
//#region src/components/Message/MessageRepliesCountButton.tsx
|
|
10677
10688
|
function UnMemoizedMessageRepliesCountButton(props) {
|
|
10678
|
-
const { AvatarStack: AvatarStack$
|
|
10689
|
+
const { AvatarStack: AvatarStack$4 = AvatarStack, extractDisplayInfo: extractDisplayInfo$9 = require_useChannelHeaderOnlineStatus.extractDisplayInfo } = require_useNotificationApi.useComponentContext(MessageRepliesCountButton.name);
|
|
10679
10690
|
const { labelPlural, labelSingle, onClick, reply_count: replyCount = 0, thread_participants: threadParticipants = [] } = props;
|
|
10680
10691
|
const { channelCapabilities } = require_useNotificationApi.useChannelStateContext();
|
|
10681
10692
|
const { t } = require_useNotificationApi.useTranslationContext("MessageRepliesCountButton");
|
|
10682
|
-
const avatarStackDisplayInfo = (0, react.useMemo)(() => threadParticipants.slice(0, 3).map((
|
|
10683
|
-
imageUrl: participant.image,
|
|
10684
|
-
userName: participant.name || participant.id
|
|
10685
|
-
})), [threadParticipants]);
|
|
10693
|
+
const avatarStackDisplayInfo = (0, react.useMemo)(() => threadParticipants.slice(0, 3).map((user) => extractDisplayInfo$9({ user })), [extractDisplayInfo$9, threadParticipants]);
|
|
10686
10694
|
if (!replyCount) return null;
|
|
10687
10695
|
let replyCountText = t("replyCount", { count: replyCount });
|
|
10688
10696
|
if (labelPlural && replyCount > 1) replyCountText = `${replyCount} ${labelPlural}`;
|
|
@@ -10694,7 +10702,7 @@ function UnMemoizedMessageRepliesCountButton(props) {
|
|
|
10694
10702
|
"data-testid": "replies-count-button",
|
|
10695
10703
|
disabled: !channelCapabilities["send-reply"],
|
|
10696
10704
|
onClick,
|
|
10697
|
-
children: [replyCountText, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AvatarStack$
|
|
10705
|
+
children: [replyCountText, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AvatarStack$4, {
|
|
10698
10706
|
displayInfo: avatarStackDisplayInfo,
|
|
10699
10707
|
size: "xs"
|
|
10700
10708
|
})]
|
|
@@ -12883,6 +12891,8 @@ var useAttachmentManagerState = () => {
|
|
|
12883
12891
|
availableUploadSlots: attachmentManager.availableUploadSlots,
|
|
12884
12892
|
blockedUploadsCount: attachmentManager.blockedUploadsCount,
|
|
12885
12893
|
failedUploadsCount: attachmentManager.failedUploadsCount,
|
|
12894
|
+
hasAvailableUploadSlots: attachmentManager.hasAvailableUploadSlots,
|
|
12895
|
+
hasCustomDoUploadRequest: attachmentManager.hasCustomDoUploadRequest,
|
|
12886
12896
|
isUploadEnabled: attachmentManager.isUploadEnabled,
|
|
12887
12897
|
pendingUploadsCount: attachmentManager.pendingUploadsCount,
|
|
12888
12898
|
successfulUploadsCount: attachmentManager.successfulUploadsCount,
|
|
@@ -13045,9 +13055,7 @@ var UploadFileInput = (0, react.forwardRef)(function UploadFileInput({ className
|
|
|
13045
13055
|
const { textareaRef } = require_useMessageComposerController.useMessageComposerContext();
|
|
13046
13056
|
const messageComposer = require_useMessageComposerController.useMessageComposerController();
|
|
13047
13057
|
const { attachmentManager } = messageComposer;
|
|
13048
|
-
const { isUploadEnabled } = useAttachmentManagerState();
|
|
13049
13058
|
const { acceptedFiles, maxNumberOfFilesPerMessage } = require_useNotificationApi.useStateStore(messageComposer.configState, attachmentManagerConfigStateSelector$1);
|
|
13050
|
-
const isCooldownActive = require_useMessageComposerController.useIsCooldownActive();
|
|
13051
13059
|
const id = (0, react.useMemo)(() => (0, nanoid.nanoid)(), []);
|
|
13052
13060
|
const onFileChange = (0, react.useCallback)((files) => {
|
|
13053
13061
|
attachmentManager.uploadFiles(files);
|
|
@@ -13062,7 +13070,6 @@ var UploadFileInput = (0, react.forwardRef)(function UploadFileInput({ className
|
|
|
13062
13070
|
accept: acceptedFiles?.join(","),
|
|
13063
13071
|
"aria-label": t("aria/File upload"),
|
|
13064
13072
|
"data-testid": "file-input",
|
|
13065
|
-
disabled: !isUploadEnabled || isCooldownActive,
|
|
13066
13073
|
id,
|
|
13067
13074
|
multiple: maxNumberOfFilesPerMessage > 1,
|
|
13068
13075
|
...props,
|
|
@@ -15023,15 +15030,16 @@ var PollVoteTimestamp = ({ timestamp }) => {
|
|
|
15023
15030
|
var PollVoteAuthor = ({ vote }) => {
|
|
15024
15031
|
const { t } = require_useNotificationApi.useTranslationContext();
|
|
15025
15032
|
const { client } = require_useNotificationApi.useChatContext();
|
|
15033
|
+
const { Avatar: Avatar$5 = require_useChannelHeaderOnlineStatus.Avatar, extractDisplayInfo: extractDisplayInfo$8 = require_useChannelHeaderOnlineStatus.extractDisplayInfo } = require_useNotificationApi.useComponentContext();
|
|
15026
15034
|
const displayName = client.user?.id && client.user.id === vote.user?.id ? t("You") : vote.user?.name || vote.user?.id || t("Anonymous");
|
|
15027
15035
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
15028
15036
|
className: "str-chat__poll-vote__author",
|
|
15029
|
-
children: [vote.user && /* @__PURE__ */ (0,
|
|
15037
|
+
children: [vote.user && /* @__PURE__ */ (0, react.createElement)(Avatar$5, {
|
|
15038
|
+
...extractDisplayInfo$8({ user: vote.user }),
|
|
15030
15039
|
className: "str-chat__avatar--poll-vote-author",
|
|
15031
|
-
|
|
15032
|
-
size: "md"
|
|
15033
|
-
|
|
15034
|
-
}, `poll-vote-${vote.id}-avatar-${vote.user.id}`), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
15040
|
+
key: `poll-vote-${vote.id}-avatar-${vote.user.id}`,
|
|
15041
|
+
size: "md"
|
|
15042
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
15035
15043
|
className: "str-chat__poll-vote__author__name",
|
|
15036
15044
|
children: displayName
|
|
15037
15045
|
})]
|
|
@@ -15577,7 +15585,7 @@ var PollOptionSelector = ({ displayAvatarCount, option, voteCountVerbose }) => {
|
|
|
15577
15585
|
const { t } = require_useNotificationApi.useTranslationContext();
|
|
15578
15586
|
const { channelCapabilities = {} } = require_useNotificationApi.useChannelStateContext("PollOptionsShortlist");
|
|
15579
15587
|
const { message } = require_useChannelHeaderOnlineStatus.useMessageContext();
|
|
15580
|
-
const { AvatarStack: AvatarStack$
|
|
15588
|
+
const { AvatarStack: AvatarStack$3 = AvatarStack, extractDisplayInfo: extractDisplayInfo$7 = require_useChannelHeaderOnlineStatus.extractDisplayInfo } = require_useNotificationApi.useComponentContext();
|
|
15581
15589
|
const { poll } = usePollContext();
|
|
15582
15590
|
const { is_closed, latest_votes_by_option, maxVotedOptionIds, ownVotesByOptionId, vote_counts_by_option, voting_visibility } = require_useNotificationApi.useStateStore(poll.state, pollStateSelector$2);
|
|
15583
15591
|
const canCastVote = channelCapabilities["cast-poll-vote"] && !is_closed;
|
|
@@ -15594,12 +15602,9 @@ var PollOptionSelector = ({ displayAvatarCount, option, voteCountVerbose }) => {
|
|
|
15594
15602
|
ownVotesByOptionId,
|
|
15595
15603
|
poll
|
|
15596
15604
|
]);
|
|
15597
|
-
const avatarDisplayInfo = (0, react.useMemo)(() => latest_votes_by_option?.[option.id] && latest_votes_by_option[option.id].filter((vote) => !!vote.user && !(0, stream_chat.isVoteAnswer)(vote)).slice(0, displayAvatarCount).map(
|
|
15598
|
-
id: user.id,
|
|
15599
|
-
imageUrl: user.image,
|
|
15600
|
-
userName: user.name
|
|
15601
|
-
})), [
|
|
15605
|
+
const avatarDisplayInfo = (0, react.useMemo)(() => latest_votes_by_option?.[option.id] && latest_votes_by_option[option.id].filter((vote) => !!vote.user && !(0, stream_chat.isVoteAnswer)(vote)).slice(0, displayAvatarCount).map(extractDisplayInfo$7), [
|
|
15602
15606
|
displayAvatarCount,
|
|
15607
|
+
extractDisplayInfo$7,
|
|
15603
15608
|
latest_votes_by_option,
|
|
15604
15609
|
option.id
|
|
15605
15610
|
]);
|
|
@@ -15625,7 +15630,7 @@ var PollOptionSelector = ({ displayAvatarCount, option, voteCountVerbose }) => {
|
|
|
15625
15630
|
className: "str-chat__poll-option-votes",
|
|
15626
15631
|
children: [displayAvatarCount && voting_visibility === "public" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
15627
15632
|
className: "str-chat__poll-option-voters",
|
|
15628
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AvatarStack$
|
|
15633
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AvatarStack$3, {
|
|
15629
15634
|
displayInfo: avatarDisplayInfo,
|
|
15630
15635
|
size: "xs"
|
|
15631
15636
|
})
|
|
@@ -16437,7 +16442,6 @@ var useAttachmentSelectorActionsFiltered = (original) => {
|
|
|
16437
16442
|
var AttachmentSelector = ({ attachmentSelectorActionSet = defaultAttachmentSelectorActionSet, buttonProps, getModalPortalDestination }) => {
|
|
16438
16443
|
const { t } = require_useNotificationApi.useTranslationContext();
|
|
16439
16444
|
const { ContextMenu: ContextMenuComponent = require_useChannelHeaderOnlineStatus.ContextMenu, Modal = require_useChannelHeaderOnlineStatus.GlobalModal } = require_useNotificationApi.useComponentContext();
|
|
16440
|
-
const { channelCapabilities } = require_useNotificationApi.useChannelStateContext();
|
|
16441
16445
|
const messageComposer = require_useMessageComposerController.useMessageComposerController();
|
|
16442
16446
|
const isCooldownActive = require_useMessageComposerController.useIsCooldownActive();
|
|
16443
16447
|
const { command } = require_useNotificationApi.useStateStore(messageComposer.textComposer.state, textComposerStateSelector$4);
|
|
@@ -16486,7 +16490,7 @@ var AttachmentSelector = ({ attachmentSelectorActionSet = defaultAttachmentSelec
|
|
|
16486
16490
|
className: "str-chat__attachment-selector",
|
|
16487
16491
|
...inertProps,
|
|
16488
16492
|
children: [
|
|
16489
|
-
|
|
16493
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(UploadFileInput, { ref: setFileInput }),
|
|
16490
16494
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(AttachmentSelectorButton, {
|
|
16491
16495
|
...buttonProps,
|
|
16492
16496
|
"aria-expanded": menuDialogIsOpen,
|
|
@@ -17633,16 +17637,23 @@ var UserGroupItem = ({ entity, focused, ...buttonProps }) => {
|
|
|
17633
17637
|
* UI component for mentions rendered in suggestion list
|
|
17634
17638
|
*/
|
|
17635
17639
|
var UserItem = ({ entity, focused, ...buttonProps }) => {
|
|
17640
|
+
const { Avatar: Avatar$4 = require_useChannelHeaderOnlineStatus.Avatar, extractDisplayInfo: extractDisplayInfo$6 = require_useChannelHeaderOnlineStatus.extractDisplayInfo } = require_useNotificationApi.useComponentContext();
|
|
17636
17641
|
const hasEntity = !!Object.keys(entity).length;
|
|
17637
17642
|
const titleAttribute = entity.name || entity.id || "";
|
|
17638
|
-
const LeadingSlot = (0, react.useMemo)(() =>
|
|
17639
|
-
|
|
17640
|
-
|
|
17641
|
-
|
|
17642
|
-
|
|
17643
|
-
|
|
17644
|
-
|
|
17645
|
-
|
|
17643
|
+
const LeadingSlot = (0, react.useMemo)(() => {
|
|
17644
|
+
const displayInfo = extractDisplayInfo$6({ user: entity });
|
|
17645
|
+
return function UserItemAvatar() {
|
|
17646
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar$4, {
|
|
17647
|
+
...displayInfo,
|
|
17648
|
+
"aria-hidden": true,
|
|
17649
|
+
size: "md"
|
|
17650
|
+
});
|
|
17651
|
+
};
|
|
17652
|
+
}, [
|
|
17653
|
+
Avatar$4,
|
|
17654
|
+
entity,
|
|
17655
|
+
extractDisplayInfo$6
|
|
17656
|
+
]);
|
|
17646
17657
|
if (!hasEntity) return null;
|
|
17647
17658
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
|
|
17648
17659
|
contentClassName: "str-chat__context-menu__button__label",
|
|
@@ -19125,7 +19136,7 @@ var MessageReactionsDetailLoadingIndicator = () => {
|
|
|
19125
19136
|
var MessageReactionsDetail = ({ handleFetchReactions, handleReaction, onSelectedReactionTypeChange, own_reactions, reactionDetailsSort: propReactionDetailsSort, reactionGroups, reactions, selectedReactionType, totalReactionCount }) => {
|
|
19126
19137
|
const [extendedReactionListOpen, setExtendedReactionListOpen] = (0, react.useState)(false);
|
|
19127
19138
|
const { client } = require_useNotificationApi.useChatContext();
|
|
19128
|
-
const { Avatar: Avatar$
|
|
19139
|
+
const { Avatar: Avatar$3 = require_useChannelHeaderOnlineStatus.Avatar, extractDisplayInfo: extractDisplayInfo$5 = require_useChannelHeaderOnlineStatus.extractDisplayInfo, LoadingIndicator = MessageReactionsDetailLoadingIndicator, reactionOptions = defaultReactionOptions, ReactionSelectorExtendedList = ReactionSelector.ExtendedList } = require_useNotificationApi.useComponentContext(MessageReactionsDetail.name);
|
|
19129
19140
|
const { t } = require_useNotificationApi.useTranslationContext();
|
|
19130
19141
|
const { handleReaction: contextHandleReaction, message, reactionDetailsSort: contextReactionDetailsSort } = require_useChannelHeaderOnlineStatus.useMessageContext(MessageReactionsDetail.name);
|
|
19131
19142
|
const reactionDetailsSort = propReactionDetailsSort ?? contextReactionDetailsSort ?? defaultReactionDetailsSort;
|
|
@@ -19207,12 +19218,11 @@ var MessageReactionsDetail = ({ handleFetchReactions, handleReaction, onSelected
|
|
|
19207
19218
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
19208
19219
|
className: "str-chat__message-reactions-detail__user-list-item",
|
|
19209
19220
|
children: [
|
|
19210
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar$
|
|
19221
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar$3, {
|
|
19222
|
+
...extractDisplayInfo$5({ user: user ?? void 0 }),
|
|
19211
19223
|
className: "str-chat__avatar--with-border",
|
|
19212
19224
|
"data-testid": "avatar",
|
|
19213
|
-
|
|
19214
|
-
size: "md",
|
|
19215
|
-
userName: user?.name || user?.id
|
|
19225
|
+
size: "md"
|
|
19216
19226
|
}),
|
|
19217
19227
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
19218
19228
|
className: "str-chat__message-reactions-detail__user-list-item-info",
|
|
@@ -20409,7 +20419,7 @@ var MessageUIWithContext = ({ endOfGroup, firstOfGroup, groupedByUser, handleAct
|
|
|
20409
20419
|
const { t } = require_useNotificationApi.useTranslationContext("MessageUI");
|
|
20410
20420
|
const [isBounceDialogOpen, setIsBounceDialogOpen] = (0, react.useState)(false);
|
|
20411
20421
|
const reminder = useMessageReminder(message.id);
|
|
20412
|
-
const { Attachment: Attachment$13 = Attachment, Avatar: Avatar$
|
|
20422
|
+
const { Attachment: Attachment$13 = Attachment, Avatar: Avatar$2 = require_useChannelHeaderOnlineStatus.Avatar, extractDisplayInfo: extractDisplayInfo$4 = require_useChannelHeaderOnlineStatus.extractDisplayInfo, MessageActions: MessageActions$1 = MessageActions, MessageAlsoSentInChannelIndicator: MessageAlsoSentInChannelIndicator$1 = MessageAlsoSentInChannelIndicator, MessageBlocked: MessageBlocked$1 = MessageBlocked, MessageBouncePrompt: MessageBouncePrompt$1 = MessageBouncePrompt, MessageDeleted, MessageDeletedBubble: MessageDeletedBubble$1 = MessageDeletedBubble, MessageEditedIndicator: MessageEditedIndicator$1 = MessageEditedIndicator, MessageReactions: MessageReactions$1 = MessageReactions, MessageRepliesCountButton: MessageRepliesCountButton$1 = MessageRepliesCountButton, MessageStatus: MessageStatus$1 = MessageStatus, MessageTimestamp: MessageTimestamp$1 = require_useChannelHeaderOnlineStatus.MessageTimestamp, MessageTranslationIndicator: MessageTranslationIndicator$1 = MessageTranslationIndicator, PinIndicator: PinIndicator$1 = PinIndicator, QuotedMessage: QuotedMessage$1 = QuotedMessage, ReminderNotification: ReminderNotification$1 = ReminderNotification, StreamedMessageText: StreamedMessageText$1 = StreamedMessageText } = require_useNotificationApi.useComponentContext("MessageUI");
|
|
20413
20423
|
const isAIGenerated = (0, react.useMemo)(() => isMessageAIGenerated?.(message), [isMessageAIGenerated, message]);
|
|
20414
20424
|
const isDeleted = require_useNotificationApi.isMessageDeleted(message);
|
|
20415
20425
|
const finalAttachments = (0, react.useMemo)(() => !message.shared_location && !message.attachments ? [] : !message.shared_location ? message.attachments : [message.shared_location, ...message.attachments ?? []], [message]);
|
|
@@ -20475,13 +20485,12 @@ var MessageUIWithContext = ({ endOfGroup, firstOfGroup, groupedByUser, handleAct
|
|
|
20475
20485
|
message.show_in_channel && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessageAlsoSentInChannelIndicator$1, {}),
|
|
20476
20486
|
!!reminder && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ReminderNotification$1, { reminder }),
|
|
20477
20487
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessageTranslationIndicator$1, { message }),
|
|
20478
|
-
message.user && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar$
|
|
20488
|
+
message.user && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar$2, {
|
|
20489
|
+
...extractDisplayInfo$4({ user: message.user ?? void 0 }),
|
|
20479
20490
|
className: "str-chat__avatar--with-border",
|
|
20480
|
-
imageUrl: message.user.image,
|
|
20481
20491
|
onClick: onUserClick,
|
|
20482
20492
|
onMouseOver: onUserHover,
|
|
20483
|
-
size: "md"
|
|
20484
|
-
userName: message.user.name || message.user.id
|
|
20493
|
+
size: "md"
|
|
20485
20494
|
}),
|
|
20486
20495
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
20487
20496
|
"aria-label": messageInnerAriaLabel,
|
|
@@ -21613,6 +21622,7 @@ var InfiniteScroll = (props) => {
|
|
|
21613
21622
|
*/
|
|
21614
21623
|
var UnMemoizedTypingIndicator = (props) => {
|
|
21615
21624
|
const { isMessageListScrolledToBottom = true, scrollToBottom, threadList } = props;
|
|
21625
|
+
const { AvatarStack: AvatarStack$2 = AvatarStack, extractDisplayInfo: extractDisplayInfo$3 = require_useChannelHeaderOnlineStatus.extractDisplayInfo } = require_useNotificationApi.useComponentContext();
|
|
21616
21626
|
const { channelConfig, thread } = require_useNotificationApi.useChannelStateContext("TypingIndicator");
|
|
21617
21627
|
const parentId = require_useNotificationApi.useThreadContext()?.id ?? thread?.id;
|
|
21618
21628
|
const { client } = require_useNotificationApi.useChatContext("TypingIndicator");
|
|
@@ -21623,11 +21633,7 @@ var UnMemoizedTypingIndicator = (props) => {
|
|
|
21623
21633
|
const { displayUsers } = useDebouncedTypingActive(threadList ? typingInThread : typingInChannel);
|
|
21624
21634
|
const showIndicator = displayUsers.length > 0;
|
|
21625
21635
|
const typingAnnouncement = (0, react.useMemo)(() => getTypingStatusMessage(displayUsers, t), [displayUsers, t]);
|
|
21626
|
-
const displayInfo = (0, react.useMemo)(() => displayUsers.map(
|
|
21627
|
-
id: user?.id,
|
|
21628
|
-
imageUrl: user?.image,
|
|
21629
|
-
userName: user?.name
|
|
21630
|
-
})), [displayUsers]);
|
|
21636
|
+
const displayInfo = (0, react.useMemo)(() => displayUsers.map(extractDisplayInfo$3), [displayUsers, extractDisplayInfo$3]);
|
|
21631
21637
|
(0, react.useEffect)(() => {
|
|
21632
21638
|
if (showIndicator && isMessageListScrolledToBottom) scrollToBottom();
|
|
21633
21639
|
}, [
|
|
@@ -21643,7 +21649,7 @@ var UnMemoizedTypingIndicator = (props) => {
|
|
|
21643
21649
|
children: [
|
|
21644
21650
|
displayInfo.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
21645
21651
|
"aria-hidden": "true",
|
|
21646
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AvatarStack, {
|
|
21652
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AvatarStack$2, {
|
|
21647
21653
|
badgeSize: "md",
|
|
21648
21654
|
displayInfo,
|
|
21649
21655
|
size: "md"
|
|
@@ -22523,16 +22529,6 @@ var messageRenderer = (virtuosoIndex, _data, virtuosoContext) => {
|
|
|
22523
22529
|
})] });
|
|
22524
22530
|
};
|
|
22525
22531
|
//#endregion
|
|
22526
|
-
//#region src/context/VirtualizedMessageListContext.tsx
|
|
22527
|
-
var VirtualizedMessageListContext = (0, react.createContext)(void 0);
|
|
22528
|
-
/**
|
|
22529
|
-
* Context provider for components rendered within the `VirtualizedMessageList`
|
|
22530
|
-
*/
|
|
22531
|
-
var VirtualizedMessageListContextProvider = ({ children, value }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(VirtualizedMessageListContext.Provider, {
|
|
22532
|
-
value,
|
|
22533
|
-
children
|
|
22534
|
-
});
|
|
22535
|
-
//#endregion
|
|
22536
22532
|
//#region src/components/MessageList/VirtualizedMessageList.tsx
|
|
22537
22533
|
function captureResizeObserverExceededError(e) {
|
|
22538
22534
|
if (e.message === "ResizeObserver loop completed with undelivered notifications." || e.message === "ResizeObserver loop limit exceeded") e.stopImmediatePropagation();
|
|
@@ -23897,6 +23893,7 @@ var UserSearchResultItem = ({ item }) => {
|
|
|
23897
23893
|
const { setChannels } = require_useNotificationApi.useChannelListContext();
|
|
23898
23894
|
const { directMessagingChannelType } = useSearchContext();
|
|
23899
23895
|
const { t } = require_useNotificationApi.useTranslationContext();
|
|
23896
|
+
const { Avatar: Avatar$1 = require_useChannelHeaderOnlineStatus.Avatar, extractDisplayInfo: extractDisplayInfo$2 = require_useChannelHeaderOnlineStatus.extractDisplayInfo } = require_useNotificationApi.useComponentContext();
|
|
23900
23897
|
const onClick = (0, react.useCallback)(() => {
|
|
23901
23898
|
const newChannel = client.channel(directMessagingChannelType, { members: [client.userID, item.id] });
|
|
23902
23899
|
newChannel.watch();
|
|
@@ -23917,11 +23914,10 @@ var UserSearchResultItem = ({ item }) => {
|
|
|
23917
23914
|
"data-testid": "search-result-user",
|
|
23918
23915
|
onClick,
|
|
23919
23916
|
role: "option",
|
|
23920
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
23921
|
-
|
|
23917
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar$1, {
|
|
23918
|
+
...extractDisplayInfo$2({ user: item }),
|
|
23922
23919
|
isOnline: item.online,
|
|
23923
|
-
size: "xl"
|
|
23924
|
-
userName: item.name || item.id
|
|
23920
|
+
size: "xl"
|
|
23925
23921
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
23926
23922
|
className: "str-chat__search-result-data",
|
|
23927
23923
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -25445,6 +25441,7 @@ var composeThreadListItemAccessibleLabel = (data, config = {}) => composeAccessi
|
|
|
25445
25441
|
var ThreadListItemUI = ({ accessibleLabelConfig, resetHighlighting, ...props }) => {
|
|
25446
25442
|
const { client, isMessageAIGenerated } = require_useNotificationApi.useChatContext();
|
|
25447
25443
|
const thread = useThreadListItemContext();
|
|
25444
|
+
const { AvatarStack: AvatarStack$1 = AvatarStack, extractDisplayInfo: extractDisplayInfo$1 = require_useChannelHeaderOnlineStatus.extractDisplayInfo } = require_useNotificationApi.useComponentContext();
|
|
25448
25445
|
const selector = (0, react.useCallback)((nextValue) => ({
|
|
25449
25446
|
channel: nextValue.channel,
|
|
25450
25447
|
deletedAt: nextValue.deletedAt,
|
|
@@ -25515,12 +25512,8 @@ var ThreadListItemUI = ({ accessibleLabelConfig, resetHighlighting, ...props })
|
|
|
25515
25512
|
};
|
|
25516
25513
|
const displayInfo = (0, react.useMemo)(() => {
|
|
25517
25514
|
if (!participants) return [];
|
|
25518
|
-
return participants.slice(0, 3).map(
|
|
25519
|
-
|
|
25520
|
-
imageUrl: participant.user?.image,
|
|
25521
|
-
userName: participant.user?.name || participant.user.id
|
|
25522
|
-
}));
|
|
25523
|
-
}, [participants]);
|
|
25515
|
+
return participants.slice(0, 3).map(extractDisplayInfo$1);
|
|
25516
|
+
}, [extractDisplayInfo$1, participants]);
|
|
25524
25517
|
(0, react.useEffect)(() => {
|
|
25525
25518
|
if (!resetHighlighting) return;
|
|
25526
25519
|
const reset = resetHighlighting;
|
|
@@ -25559,7 +25552,7 @@ var ThreadListItemUI = ({ accessibleLabelConfig, resetHighlighting, ...props })
|
|
|
25559
25552
|
className: "str-chat__thread-list-item__content-trailing",
|
|
25560
25553
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
25561
25554
|
className: "str-chat__thread-list-item__reply-information",
|
|
25562
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(AvatarStack, {
|
|
25555
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(AvatarStack$1, {
|
|
25563
25556
|
displayInfo,
|
|
25564
25557
|
size: "sm"
|
|
25565
25558
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -26170,7 +26163,7 @@ var useChat = ({ client, defaultLanguage = "en", i18nInstance }) => {
|
|
|
26170
26163
|
};
|
|
26171
26164
|
(0, react.useEffect)(() => {
|
|
26172
26165
|
if (!client) return;
|
|
26173
|
-
const version = "14.
|
|
26166
|
+
const version = "14.10.0";
|
|
26174
26167
|
const userAgent = client.getUserAgent();
|
|
26175
26168
|
if (!userAgent.includes("stream-chat-react")) client.setUserAgent(`stream-chat-react-${version}-${userAgent}`);
|
|
26176
26169
|
client.threads.registerSubscriptions();
|
|
@@ -26439,6 +26432,7 @@ exports.AIStateIndicator = AIStateIndicator;
|
|
|
26439
26432
|
exports.AIStates = AIStates;
|
|
26440
26433
|
exports.ATTACHMENT_GROUPS_ORDER = ATTACHMENT_GROUPS_ORDER;
|
|
26441
26434
|
exports.AddCommentPrompt = AddCommentPrompt;
|
|
26435
|
+
exports.AdditionalMessageComposerActions = AdditionalMessageComposerActions;
|
|
26442
26436
|
exports.Alert = require_useChannelHeaderOnlineStatus.Alert;
|
|
26443
26437
|
exports.AmountBar = AmountBar;
|
|
26444
26438
|
exports.AriaLiveAnnouncerContext = require_useNotificationApi.AriaLiveAnnouncerContext;
|
|
@@ -26663,6 +26657,7 @@ exports.MessageBounceModal = MessageBounceModal;
|
|
|
26663
26657
|
exports.MessageBouncePrompt = MessageBouncePrompt;
|
|
26664
26658
|
exports.MessageBounceProvider = MessageBounceProvider;
|
|
26665
26659
|
exports.MessageComposer = MessageComposer;
|
|
26660
|
+
exports.MessageComposerActions = MessageComposerActions;
|
|
26666
26661
|
exports.MessageComposerContext = require_useMessageComposerController.MessageComposerContext;
|
|
26667
26662
|
exports.MessageComposerContextProvider = require_useMessageComposerController.MessageComposerContextProvider;
|
|
26668
26663
|
exports.MessageComposerUI = MessageComposerUI;
|
|
@@ -26763,6 +26758,7 @@ exports.Streami18n = Streami18n;
|
|
|
26763
26758
|
exports.SuggestPollOptionPrompt = SuggestPollOptionPrompt;
|
|
26764
26759
|
exports.SuggestionList = SuggestionList;
|
|
26765
26760
|
exports.SuggestionListItem = SuggestionListItem;
|
|
26761
|
+
exports.SummarizedMessagePreview = SummarizedMessagePreview;
|
|
26766
26762
|
exports.Switch = require_useChannelHeaderOnlineStatus.Switch;
|
|
26767
26763
|
exports.SwitchField = require_useChannelHeaderOnlineStatus.SwitchField;
|
|
26768
26764
|
exports.SwitchFieldDescription = require_useChannelHeaderOnlineStatus.SwitchFieldDescription;
|
|
@@ -26805,10 +26801,13 @@ exports.UserSearchResultItem = UserSearchResultItem;
|
|
|
26805
26801
|
exports.VideoContainer = VideoContainer;
|
|
26806
26802
|
exports.Viewer = Viewer;
|
|
26807
26803
|
exports.VirtualizedMessageList = VirtualizedMessageList;
|
|
26804
|
+
exports.VirtualizedMessageListContext = VirtualizedMessageListContext;
|
|
26805
|
+
exports.VirtualizedMessageListContextProvider = VirtualizedMessageListContextProvider;
|
|
26808
26806
|
exports.VisuallyHidden = require_useChannelHeaderOnlineStatus.VisuallyHidden;
|
|
26809
26807
|
exports.VoiceRecording = VoiceRecording;
|
|
26810
26808
|
exports.VoiceRecordingContainer = VoiceRecordingContainer;
|
|
26811
26809
|
exports.VoiceRecordingPlayer = VoiceRecordingPlayer;
|
|
26810
|
+
exports.VoiceRecordingPreviewSlot = VoiceRecordingPreviewSlot;
|
|
26812
26811
|
exports.WaveProgressBar = WaveProgressBar;
|
|
26813
26812
|
exports.Window = Window;
|
|
26814
26813
|
exports.WithAudioPlayback = require_useNotificationApi.WithAudioPlayback;
|
|
@@ -26999,6 +26998,7 @@ exports.useInertWhenHidden = useInertWhenHidden;
|
|
|
26999
26998
|
exports.useInteractionAnnouncements = require_useNotificationApi.useInteractionAnnouncements;
|
|
27000
26999
|
exports.useIsUserMuted = require_useChannelHeaderOnlineStatus.useIsUserMuted;
|
|
27001
27000
|
exports.useLastReadData = useLastReadData;
|
|
27001
|
+
exports.useLatestMessagePreview = useLatestMessagePreview;
|
|
27002
27002
|
exports.useLegacyThreadContext = require_useNotificationApi.useLegacyThreadContext;
|
|
27003
27003
|
exports.useLiveLocationSharingManager = useLiveLocationSharingManager;
|
|
27004
27004
|
exports.useMarkUnreadHandler = useMarkUnreadHandler;
|
|
@@ -27057,6 +27057,7 @@ exports.useTranslationContext = require_useNotificationApi.useTranslationContext
|
|
|
27057
27057
|
exports.useTypingContext = require_useNotificationApi.useTypingContext;
|
|
27058
27058
|
exports.useUserHandler = useUserHandler;
|
|
27059
27059
|
exports.useUserRole = useUserRole;
|
|
27060
|
+
exports.useVirtualizedMessageListContext = useVirtualizedMessageListContext;
|
|
27060
27061
|
exports.validateAndGetMessage = require_useNotificationApi.validateAndGetMessage;
|
|
27061
27062
|
|
|
27062
27063
|
//# sourceMappingURL=index.js.map
|