stream-chat-react 14.0.0-beta.5 → 14.0.0-beta.6
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/{WithAudioPlayback.0c10cb67.js → WithAudioPlayback.f9abf707.js} +43 -33
- package/dist/cjs/WithAudioPlayback.f9abf707.js.map +1 -0
- package/dist/cjs/emojis.js +1 -1
- package/dist/cjs/index.js +54 -52
- package/dist/cjs/index.js.map +1 -1
- package/dist/css/index.css +149 -544
- package/dist/css/index.css.map +1 -1
- package/dist/es/{WithAudioPlayback.e7821fd4.mjs → WithAudioPlayback.d90f1a99.mjs} +43 -33
- package/dist/es/WithAudioPlayback.d90f1a99.mjs.map +1 -0
- package/dist/es/emojis.mjs +1 -1
- package/dist/es/index.mjs +55 -53
- package/dist/es/index.mjs.map +1 -1
- package/dist/types/components/Avatar/Avatar.d.ts +1 -1
- package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/types/components/Avatar/AvatarStack.d.ts +2 -2
- package/dist/types/components/Avatar/AvatarStack.d.ts.map +1 -1
- package/dist/types/components/Avatar/ChannelAvatar.d.ts +2 -6
- package/dist/types/components/Avatar/ChannelAvatar.d.ts.map +1 -1
- package/dist/types/components/Avatar/GroupAvatar.d.ts +6 -7
- package/dist/types/components/Avatar/GroupAvatar.d.ts.map +1 -1
- package/dist/types/components/ChannelHeader/ChannelHeader.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/ChannelListItemUI.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/utils.d.ts.map +1 -1
- package/dist/types/components/Icons/createIcon.d.ts +1 -1
- package/dist/types/components/Icons/createIcon.d.ts.map +1 -1
- package/dist/types/components/Icons/icons.d.ts +3 -3
- package/dist/types/components/Icons/icons.d.ts.map +1 -1
- package/dist/types/components/TypingIndicator/TypingIndicator.d.ts.map +1 -1
- package/dist/types/context/ComponentContext.d.ts +2 -2
- package/dist/types/context/ComponentContext.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/WithAudioPlayback.0c10cb67.js.map +0 -1
- package/dist/es/WithAudioPlayback.e7821fd4.mjs.map +0 -1
package/dist/es/emojis.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useEffect } from "react";
|
|
3
3
|
import Picker from "@emoji-mart/react";
|
|
4
|
-
import { c as useTranslationContext, X as useMessageComposerContext, a as useMessageComposerController, Y as useIsCooldownActive, r as usePopoverPosition, aG as IconEmoji, B as Button } from "./WithAudioPlayback.
|
|
4
|
+
import { c as useTranslationContext, X as useMessageComposerContext, a as useMessageComposerController, Y as useIsCooldownActive, r as usePopoverPosition, aG as IconEmoji, B as Button } from "./WithAudioPlayback.d90f1a99.mjs";
|
|
5
5
|
import mergeWith from "lodash.mergewith";
|
|
6
6
|
import { insertItemWithTrigger, getTriggerCharWithToken, replaceWordWithEntity, BaseSearchSource, getTokenizedSuggestionDisplayName } from "stream-chat";
|
|
7
7
|
const isShadowRoot = (node) => !!node.host;
|
package/dist/es/index.mjs
CHANGED
|
@@ -3,8 +3,8 @@ import clsx from "clsx";
|
|
|
3
3
|
import { nanoid } from "nanoid";
|
|
4
4
|
import React, { useState, useEffect, useCallback, useLayoutEffect, useMemo, useContext, createContext, useRef, forwardRef, createElement, Component, Fragment as Fragment$1 } from "react";
|
|
5
5
|
import { u as useHandleFileChangeWrapper, d as dataTransferItemsToFiles, r as renderAudio, t as toAudioBuffer, c as createFileFromBlobs, g as getExtensionFromMimeType, a as getRecordedMediaTypeFromMimeType } from "./audioProcessing.21cb49e1.mjs";
|
|
6
|
-
import { u as useStateStore, a as useMessageComposerController, i as isMessageBounced, b as useChannelActionContext, C as ComponentContext, c as useTranslationContext, d as useChannelStateContext, e as useChatContext, f as isNotificationForPanel, B as Button, I as IconPauseFill, g as IconPlayFill, h as getDefaultExportFromCjs, j as defaultTranslatorFunction, p as predefinedFormatters, L as LocalizedFormat, k as calendar, l as IconLoading, m as isNetworkSendFailure, v as validateAndGetMessage, n as isUserMuted, o as defaultPinPermissions, q as useThreadContext, r as usePopoverPosition, s as useComponentContext, t as IconXmark, w as IconUser, x as IconExclamationMarkFill, y as IconChevronRight, z as IconChevronLeft, A as IconArrowLeft, D as IconExclamationMark, E as IconNoSign, F as isMessageErrorRetryable, G as ACTIONS_NOT_WORKING_IN_THREAD, H as useNotificationTarget, J as IconArrowUpRight, K as addNotificationTargetTag, M as IconPin, N as mapToUserNameOrId, O as IconClock, P as IconCheckmark1Small, Q as IconChecks, R as getReadByTooltipText, S as messageHasAttachments, T as messageTextHasEmojisOnly, U as isDate, V as getDateString, W as IconTranslate, X as useMessageComposerContext, Y as useIsCooldownActive, Z as
|
|
7
|
-
import { bu, bx, bY, bZ, b_, b$, c0, c1, bz, bC, by, bB, bD, c2, bG, bH, bI, bJ, bK, c3, bL, bW, bX, c4, c5, c6, br, bF, bE, bs, bt, bM, bN, bT, bU, bQ, bR, c7, bS, c8, bP, bO, bq, bA, bv, bw, bV } from "./WithAudioPlayback.
|
|
6
|
+
import { u as useStateStore, a as useMessageComposerController, i as isMessageBounced, b as useChannelActionContext, C as ComponentContext, c as useTranslationContext, d as useChannelStateContext, e as useChatContext, f as isNotificationForPanel, B as Button, I as IconPauseFill, g as IconPlayFill, h as getDefaultExportFromCjs, j as defaultTranslatorFunction, p as predefinedFormatters, L as LocalizedFormat, k as calendar, l as IconLoading, m as isNetworkSendFailure, v as validateAndGetMessage, n as isUserMuted, o as defaultPinPermissions, q as useThreadContext, r as usePopoverPosition, s as useComponentContext, t as IconXmark, w as IconUser, x as IconExclamationMarkFill, y as IconChevronRight, z as IconChevronLeft, A as IconArrowLeft, D as IconExclamationMark, E as IconNoSign, F as isMessageErrorRetryable, G as ACTIONS_NOT_WORKING_IN_THREAD, H as useNotificationTarget, J as IconArrowUpRight, K as addNotificationTargetTag, M as IconPin, N as mapToUserNameOrId, O as IconClock, P as IconCheckmark1Small, Q as IconChecks, R as getReadByTooltipText, S as messageHasAttachments, T as messageTextHasEmojisOnly, U as isDate, V as getDateString, W as IconTranslate, X as useMessageComposerContext, Y as useIsCooldownActive, Z as IconXmarkSmall, _ as IconImage, $ as IconPoll, a0 as IconLocation, a1 as IconFile, a2 as IconLink, a3 as IconVideo, a4 as IconVideoFill, a5 as IconVoice, a6 as IconSave, a7 as IconBell, a8 as IconChevronDown, a9 as IconPlusSmall, aa as IconCheckmark, ab as DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD, ac as IconTrophy, ad as IconReorder, ae as IconMinusCircle, af as IconSend, ag as IconAudio, ah as IconUserAdd, ai as IconMute, aj as IconGiphy, ak as IconFlag, al as IconUserRemove, am as IconAttachment, an as IconCommand, ao as CHANNEL_CONTAINER_ID, ap as IconPlus, aq as IconExclamationTriangleFill, ar as useAudioPlayer, as as IconRetry, at as IconArrowDownCircle, au as IconBolt, av as IconDelete, aw as IconUpload, ax as MessageComposerContextProvider, ay as useTypingContext, az as defaultDateTimeParser, aA as isLanguageSupported, aB as IconSidebar, aC as useChatViewContext, aD as MESSAGE_ACTIONS, aE as LegacyThreadContext, aF as IconReply, aG as IconEmoji, aH as IconMore, aI as IconUserCheck, aJ as IconUnsave, aK as IconBellOff, aL as IconNotification, aM as IconEdit, aN as IconCopy, aO as IconUnpin, aP as IconQuote, aQ as IconThread, aR as areMessageUIPropsEqual, aS as isDateSeparatorMessage, aT as isMessageBlocked, aU as messageHasSingleAttachment, aV as messageHasGiphyAttachment, aW as messageHasReactions, aX as isMessageEdited, aY as countEmojis, aZ as areMessagePropsEqual, a_ as getMessageActions, a$ as processMessages, b0 as insertIntro, b1 as getGroupStyles, b2 as getLastReceived, b3 as IconArrowUp, b4 as isIntroMessage, b5 as isLocalMessage, b6 as getIsFirstUnreadMessage, b7 as IconArrowDown, b8 as DEFAULT_NEXT_CHANNEL_PAGE_SIZE, b9 as EmptyStateIndicator, ba as getChannel, bb as IconSearch, bc as IconXCircle, bd as useChannelListContext, be as DEFAULT_JUMP_TO_PAGE_SIZE, bf as ChannelListContextProvider, bg as IconArchive, bh as IconLeave, bi as IconCamera, bj as IconExclamationCircleFill, bk as ChatProvider, bl as TranslationProvider, bm as useThreadsViewContext, bn as IconMessageBubbles, bo as IconRefresh, bp as IconEyeFill } from "./WithAudioPlayback.d90f1a99.mjs";
|
|
7
|
+
import { bu, bx, bY, bZ, b_, b$, c0, c1, bz, bC, by, bB, bD, c2, bG, bH, bI, bJ, bK, c3, bL, bW, bX, c4, c5, c6, br, bF, bE, bs, bt, bM, bN, bT, bU, bQ, bR, c7, bS, c8, bP, bO, bq, bA, bv, bw, bV } from "./WithAudioPlayback.d90f1a99.mjs";
|
|
8
8
|
import { StateStore, formatMessage, MessageComposer as MessageComposer$1, isGiphyAttachment, isScrapedContent, isLocalVideoAttachment, isVideoAttachment, isLocalImageAttachment, isImageAttachment, isAudioAttachment, isVoiceRecordingAttachment, isFileAttachment, isVoteAnswer, VotingVisibility, isLocalVoiceRecordingAttachment, isLocalAudioAttachment, isLocalFileAttachment, isLocalAttachment, LinkPreviewsManager, SearchController, ChannelSearchSource, UserSearchSource, MessageSearchSource, StreamChat, isSharedLocationResponse, LiveLocationManager } from "stream-chat";
|
|
9
9
|
import throttle from "lodash.throttle";
|
|
10
10
|
import * as linkify from "linkifyjs";
|
|
@@ -9292,12 +9292,17 @@ const ErrorBadge = ({
|
|
|
9292
9292
|
}) => /* @__PURE__ */ jsx(Badge, { ...rest, className, size, variant: "error", children: /* @__PURE__ */ jsx(IconExclamationMarkFill, {}) });
|
|
9293
9293
|
function AvatarStack({
|
|
9294
9294
|
badgeSize,
|
|
9295
|
+
capLimit = 3,
|
|
9295
9296
|
component: Component2 = "div",
|
|
9296
9297
|
displayInfo = [],
|
|
9297
|
-
overflowCount,
|
|
9298
9298
|
size
|
|
9299
9299
|
}) {
|
|
9300
9300
|
const { Avatar: Avatar$1 = Avatar } = useComponentContext(AvatarStack.name);
|
|
9301
|
+
const displayInfoToRender = useMemo(
|
|
9302
|
+
() => displayInfo.length > capLimit ? displayInfo.slice(0, capLimit) : displayInfo,
|
|
9303
|
+
[displayInfo, capLimit]
|
|
9304
|
+
);
|
|
9305
|
+
const overflowCount = displayInfo.length - displayInfoToRender.length;
|
|
9301
9306
|
if (!displayInfo.length) {
|
|
9302
9307
|
return null;
|
|
9303
9308
|
}
|
|
@@ -9307,8 +9312,9 @@ function AvatarStack({
|
|
|
9307
9312
|
className: clsx("str-chat__avatar-stack", {
|
|
9308
9313
|
[`str-chat__avatar-stack--size-${size}`]: typeof size === "string"
|
|
9309
9314
|
}),
|
|
9315
|
+
"data-testid": "avatar-stack",
|
|
9310
9316
|
children: [
|
|
9311
|
-
|
|
9317
|
+
displayInfoToRender.map((info, index) => /* @__PURE__ */ jsx(
|
|
9312
9318
|
Avatar$1,
|
|
9313
9319
|
{
|
|
9314
9320
|
imageUrl: info.imageUrl,
|
|
@@ -9321,6 +9327,7 @@ function AvatarStack({
|
|
|
9321
9327
|
Badge,
|
|
9322
9328
|
{
|
|
9323
9329
|
className: "str-chat__avatar-stack__count-badge",
|
|
9330
|
+
"data-testid": "avatar-stack-count-badge",
|
|
9324
9331
|
size: badgeSize ?? size,
|
|
9325
9332
|
variant: "counter",
|
|
9326
9333
|
children: [
|
|
@@ -9336,34 +9343,36 @@ function AvatarStack({
|
|
|
9336
9343
|
const ChannelAvatar = ({
|
|
9337
9344
|
displayMembers,
|
|
9338
9345
|
imageUrl,
|
|
9339
|
-
overflowCount,
|
|
9340
9346
|
size,
|
|
9341
9347
|
userName,
|
|
9342
9348
|
...sharedProps
|
|
9343
9349
|
}) => {
|
|
9344
|
-
|
|
9345
|
-
|
|
9346
|
-
|
|
9350
|
+
const displayInfo = useMemo(() => {
|
|
9351
|
+
if (displayMembers && displayMembers.length > 0) {
|
|
9352
|
+
return displayMembers;
|
|
9353
|
+
}
|
|
9354
|
+
return [
|
|
9347
9355
|
{
|
|
9348
|
-
|
|
9349
|
-
|
|
9350
|
-
size,
|
|
9351
|
-
...sharedProps
|
|
9356
|
+
imageUrl,
|
|
9357
|
+
userName
|
|
9352
9358
|
}
|
|
9353
|
-
|
|
9354
|
-
}
|
|
9355
|
-
return /* @__PURE__ */ jsx(
|
|
9359
|
+
];
|
|
9360
|
+
}, [displayMembers, imageUrl, userName]);
|
|
9361
|
+
return /* @__PURE__ */ jsx(GroupAvatar, { displayMembers: displayInfo, size, ...sharedProps });
|
|
9356
9362
|
};
|
|
9357
9363
|
const GroupAvatar = ({
|
|
9358
9364
|
badgeSize,
|
|
9359
9365
|
className,
|
|
9360
9366
|
displayMembers = [],
|
|
9361
9367
|
isOnline,
|
|
9362
|
-
overflowCount,
|
|
9363
9368
|
size,
|
|
9364
9369
|
...rest
|
|
9365
9370
|
}) => {
|
|
9366
|
-
const
|
|
9371
|
+
const displayMembersToRender = useMemo(
|
|
9372
|
+
() => displayMembers.length > 4 ? displayMembers.slice(0, 2) : displayMembers,
|
|
9373
|
+
[displayMembers]
|
|
9374
|
+
);
|
|
9375
|
+
const overflowCount = displayMembers.length - displayMembersToRender.length;
|
|
9367
9376
|
if (displayMembers.length < 2) {
|
|
9368
9377
|
const firstUser = displayMembers[0];
|
|
9369
9378
|
return /* @__PURE__ */ jsx(
|
|
@@ -9401,19 +9410,20 @@ const GroupAvatar = ({
|
|
|
9401
9410
|
role: "button",
|
|
9402
9411
|
...rest,
|
|
9403
9412
|
children: [
|
|
9404
|
-
|
|
9413
|
+
displayMembersToRender.map(({ id, imageUrl, userName }, index) => /* @__PURE__ */ jsx(
|
|
9405
9414
|
Avatar,
|
|
9406
9415
|
{
|
|
9407
9416
|
imageUrl,
|
|
9408
9417
|
size: avatarSize,
|
|
9409
9418
|
userName
|
|
9410
9419
|
},
|
|
9411
|
-
`${userName}-${imageUrl}-${index}`
|
|
9420
|
+
id || `${userName}-${imageUrl}-${index}`
|
|
9412
9421
|
)),
|
|
9413
|
-
|
|
9422
|
+
typeof overflowCount === "number" && overflowCount > 0 && /* @__PURE__ */ jsxs(
|
|
9414
9423
|
Badge,
|
|
9415
9424
|
{
|
|
9416
9425
|
className: "str-chat__avatar-group__count-badge",
|
|
9426
|
+
"data-testid": "group-avatar-count-badge",
|
|
9417
9427
|
size: badgeSize,
|
|
9418
9428
|
variant: "counter",
|
|
9419
9429
|
children: [
|
|
@@ -12011,7 +12021,7 @@ const RemoveAttachmentPreviewButton = ({
|
|
|
12011
12021
|
"data-testid": "preview-item-delete-button",
|
|
12012
12022
|
disabled: uploadState === "uploading",
|
|
12013
12023
|
...props,
|
|
12014
|
-
children: /* @__PURE__ */ jsx(
|
|
12024
|
+
children: /* @__PURE__ */ jsx(IconXmarkSmall, {})
|
|
12015
12025
|
}
|
|
12016
12026
|
);
|
|
12017
12027
|
};
|
|
@@ -16227,7 +16237,7 @@ const FileAttachmentPreview = ({
|
|
|
16227
16237
|
/* @__PURE__ */ jsx("span", { children: hasSizeLimitError ? t("File too large") : uploadState === "blocked" ? t("Upload blocked") : t("Upload failed") })
|
|
16228
16238
|
] }),
|
|
16229
16239
|
hasRetriableError && /* @__PURE__ */ jsxs("div", { className: "str-chat__attachment-preview-file__retriable-error", children: [
|
|
16230
|
-
/* @__PURE__ */ jsx(
|
|
16240
|
+
/* @__PURE__ */ jsx(IconExclamationTriangleFill, {}),
|
|
16231
16241
|
/* @__PURE__ */ jsx("span", { children: t("Upload error") }),
|
|
16232
16242
|
/* @__PURE__ */ jsx(
|
|
16233
16243
|
"button",
|
|
@@ -16447,7 +16457,7 @@ const ProgressBar = ({ className, progress, seek }) => {
|
|
|
16447
16457
|
{
|
|
16448
16458
|
className: "str-chat__message-attachment-audio-widget--progress-indicator",
|
|
16449
16459
|
ref: setProgressIndicator,
|
|
16450
|
-
style: {
|
|
16460
|
+
style: { insetInlineStart: `${indicatorLeft}px` }
|
|
16451
16461
|
}
|
|
16452
16462
|
)
|
|
16453
16463
|
}
|
|
@@ -16683,7 +16693,7 @@ const WaveProgressBar = ({
|
|
|
16683
16693
|
"data-testid": "wave-progress-bar-progress-indicator",
|
|
16684
16694
|
ref: setProgressIndicator,
|
|
16685
16695
|
style: {
|
|
16686
|
-
|
|
16696
|
+
insetInlineStart: `${indicatorLeft}px`
|
|
16687
16697
|
}
|
|
16688
16698
|
}
|
|
16689
16699
|
)
|
|
@@ -16782,7 +16792,7 @@ const AudioAttachmentPreview = ({
|
|
|
16782
16792
|
/* @__PURE__ */ jsx(IconExclamationMark, {}),
|
|
16783
16793
|
/* @__PURE__ */ jsx("span", { children: hasSizeLimitError ? t("File too large") : uploadState === "blocked" ? t("Upload blocked") : t("Upload failed") })
|
|
16784
16794
|
] }) : /* @__PURE__ */ jsxs("div", { className: "str-chat__attachment-preview-file__retriable-error", children: [
|
|
16785
|
-
/* @__PURE__ */ jsx(
|
|
16795
|
+
/* @__PURE__ */ jsx(IconExclamationTriangleFill, {}),
|
|
16786
16796
|
/* @__PURE__ */ jsx("span", { children: t("Upload error") }),
|
|
16787
16797
|
/* @__PURE__ */ jsx(
|
|
16788
16798
|
"button",
|
|
@@ -16825,7 +16835,7 @@ const MediaAttachmentPreview = ({
|
|
|
16825
16835
|
removeAttachments
|
|
16826
16836
|
}) => {
|
|
16827
16837
|
const { t } = useTranslationContext();
|
|
16828
|
-
const { BaseImage: BaseImage$1 = BaseImage, LoadingIndicator:
|
|
16838
|
+
const { BaseImage: BaseImage$1 = BaseImage, LoadingIndicator: LoadingIndicator$1 = LoadingIndicator } = useComponentContext();
|
|
16829
16839
|
const [thumbnailPreviewError, setThumbnailPreviewError] = useState(false);
|
|
16830
16840
|
const { id, uploadPermissionCheck, uploadState } = attachment.localMetadata ?? {};
|
|
16831
16841
|
const isUploading = uploadState === "uploading";
|
|
@@ -16876,7 +16886,7 @@ const MediaAttachmentPreview = ({
|
|
|
16876
16886
|
}
|
|
16877
16887
|
),
|
|
16878
16888
|
/* @__PURE__ */ jsxs("div", { className: clsx("str-chat__attachment-preview-media__overlay"), children: [
|
|
16879
|
-
isUploading && /* @__PURE__ */ jsx(
|
|
16889
|
+
isUploading && /* @__PURE__ */ jsx(LoadingIndicator$1, { "data-testid": "loading-indicator" }),
|
|
16880
16890
|
isVideoAttachment(attachment) && !hasUploadError && uploadState !== "uploading" && /* @__PURE__ */ jsxs("div", { className: "str-chat__attachment-preview-media__video-indicator", children: [
|
|
16881
16891
|
/* @__PURE__ */ jsx(IconVideoFill, {}),
|
|
16882
16892
|
attachment.duration && /* @__PURE__ */ jsx("div", { children: attachment.duration })
|
|
@@ -18968,8 +18978,7 @@ const getGroupChannelDisplayInfo = (channel) => {
|
|
|
18968
18978
|
memberList.push({ imageUrl: user.image, userName: user.name });
|
|
18969
18979
|
}
|
|
18970
18980
|
return {
|
|
18971
|
-
members: memberList
|
|
18972
|
-
overflowCount: memberList.length > 4 ? memberList.length - 2 : void 0
|
|
18981
|
+
members: memberList
|
|
18973
18982
|
};
|
|
18974
18983
|
};
|
|
18975
18984
|
function computeChannelDisplayName(channel, directMessageLabel) {
|
|
@@ -19175,7 +19184,7 @@ const useChat = ({
|
|
|
19175
19184
|
};
|
|
19176
19185
|
useEffect(() => {
|
|
19177
19186
|
if (!client) return;
|
|
19178
|
-
const version = "14.0.0-beta.
|
|
19187
|
+
const version = "14.0.0-beta.6";
|
|
19179
19188
|
const userAgent = client.getUserAgent();
|
|
19180
19189
|
if (!userAgent.includes("stream-chat-react")) {
|
|
19181
19190
|
client.setUserAgent(`stream-chat-react-${version}-${userAgent}`);
|
|
@@ -22318,7 +22327,6 @@ const InfiniteScroll = (props) => {
|
|
|
22318
22327
|
children
|
|
22319
22328
|
] });
|
|
22320
22329
|
};
|
|
22321
|
-
const MAX_AVATARS = 3;
|
|
22322
22330
|
const UnMemoizedTypingIndicator = (props) => {
|
|
22323
22331
|
const { isMessageListScrolledToBottom = true, scrollToBottom, threadList } = props;
|
|
22324
22332
|
const { channelConfig, thread } = useChannelStateContext("TypingIndicator");
|
|
@@ -22335,11 +22343,16 @@ const UnMemoizedTypingIndicator = (props) => {
|
|
|
22335
22343
|
const typingUsers = threadList ? typingInThread : typingInChannel;
|
|
22336
22344
|
const { displayUsers } = useDebouncedTypingActive(typingUsers);
|
|
22337
22345
|
const showIndicator = displayUsers.length > 0;
|
|
22338
|
-
const displayInfo =
|
|
22339
|
-
|
|
22340
|
-
|
|
22341
|
-
|
|
22342
|
-
|
|
22346
|
+
const displayInfo = useMemo(
|
|
22347
|
+
() => displayUsers.map(
|
|
22348
|
+
({ user }) => ({
|
|
22349
|
+
id: user?.id,
|
|
22350
|
+
imageUrl: user?.image,
|
|
22351
|
+
userName: user?.name
|
|
22352
|
+
})
|
|
22353
|
+
),
|
|
22354
|
+
[displayUsers]
|
|
22355
|
+
);
|
|
22343
22356
|
useEffect(() => {
|
|
22344
22357
|
if (showIndicator && isMessageListScrolledToBottom) scrollToBottom();
|
|
22345
22358
|
}, [scrollToBottom, isMessageListScrolledToBottom, showIndicator]);
|
|
@@ -22349,7 +22362,6 @@ const UnMemoizedTypingIndicator = (props) => {
|
|
|
22349
22362
|
if (!showIndicator || !isMessageListScrolledToBottom) {
|
|
22350
22363
|
return null;
|
|
22351
22364
|
}
|
|
22352
|
-
const overflowCount = displayUsers.length > MAX_AVATARS ? displayUsers.length - MAX_AVATARS : 0;
|
|
22353
22365
|
return /* @__PURE__ */ jsxs(
|
|
22354
22366
|
"div",
|
|
22355
22367
|
{
|
|
@@ -22362,15 +22374,7 @@ const UnMemoizedTypingIndicator = (props) => {
|
|
|
22362
22374
|
),
|
|
22363
22375
|
"data-testid": "typing-indicator",
|
|
22364
22376
|
children: [
|
|
22365
|
-
displayInfo.length > 0 && /* @__PURE__ */ jsx(
|
|
22366
|
-
AvatarStack,
|
|
22367
|
-
{
|
|
22368
|
-
badgeSize: "md",
|
|
22369
|
-
displayInfo,
|
|
22370
|
-
overflowCount: overflowCount > 0 ? overflowCount : void 0,
|
|
22371
|
-
size: "md"
|
|
22372
|
-
}
|
|
22373
|
-
),
|
|
22377
|
+
displayInfo.length > 0 && /* @__PURE__ */ jsx(AvatarStack, { badgeSize: "md", displayInfo, size: "md" }),
|
|
22374
22378
|
/* @__PURE__ */ jsx("div", { className: "str-chat__typing-indicator__bubble", children: /* @__PURE__ */ jsx("div", { className: "str-chat__typing-indicator__dots", children: /* @__PURE__ */ jsx(TypingIndicatorDots, {}) }) })
|
|
22375
22379
|
]
|
|
22376
22380
|
}
|
|
@@ -26213,7 +26217,6 @@ const UnMemoizedChannelListItemUI = (props) => {
|
|
|
26213
26217
|
{
|
|
26214
26218
|
displayMembers: groupChannelDisplayInfo?.members,
|
|
26215
26219
|
imageUrl: displayImage,
|
|
26216
|
-
overflowCount: groupChannelDisplayInfo?.overflowCount,
|
|
26217
26220
|
size: "xl",
|
|
26218
26221
|
userName: avatarName
|
|
26219
26222
|
}
|
|
@@ -26894,7 +26897,7 @@ const IconsBySeverity = {
|
|
|
26894
26897
|
info: null,
|
|
26895
26898
|
loading: IconRefresh,
|
|
26896
26899
|
success: IconCheckmark,
|
|
26897
|
-
warning:
|
|
26900
|
+
warning: IconExclamationTriangleFill
|
|
26898
26901
|
};
|
|
26899
26902
|
const DefaultNotificationIcon = ({ notification }) => {
|
|
26900
26903
|
if (!notification.severity) return null;
|
|
@@ -27834,7 +27837,7 @@ const UnsupportedAttachment = ({ attachment }) => {
|
|
|
27834
27837
|
const VisibilityDisclaimer = () => {
|
|
27835
27838
|
const { t } = useTranslationContext();
|
|
27836
27839
|
return /* @__PURE__ */ jsxs("div", { className: "str-chat__visibility-disclaimer", children: [
|
|
27837
|
-
/* @__PURE__ */ jsx(
|
|
27840
|
+
/* @__PURE__ */ jsx(IconEyeFill, {}),
|
|
27838
27841
|
t("Only visible to you")
|
|
27839
27842
|
] });
|
|
27840
27843
|
};
|
|
@@ -28295,7 +28298,6 @@ const ChannelHeader = (props) => {
|
|
|
28295
28298
|
className: "str-chat__avatar--channel-header",
|
|
28296
28299
|
displayMembers: groupChannelDisplayInfo?.members,
|
|
28297
28300
|
imageUrl: displayImage,
|
|
28298
|
-
overflowCount: groupChannelDisplayInfo?.overflowCount,
|
|
28299
28301
|
size: "lg",
|
|
28300
28302
|
userName: displayTitle
|
|
28301
28303
|
}
|
|
@@ -28443,15 +28445,14 @@ export {
|
|
|
28443
28445
|
IconClock,
|
|
28444
28446
|
IconCommand,
|
|
28445
28447
|
IconCopy,
|
|
28446
|
-
IconCrossSmall,
|
|
28447
28448
|
IconDelete,
|
|
28448
28449
|
IconEdit,
|
|
28449
28450
|
IconEmoji,
|
|
28450
28451
|
IconExclamationCircleFill,
|
|
28451
28452
|
IconExclamationMark,
|
|
28452
28453
|
IconExclamationMarkFill,
|
|
28453
|
-
|
|
28454
|
-
|
|
28454
|
+
IconExclamationTriangleFill,
|
|
28455
|
+
IconEyeFill,
|
|
28455
28456
|
IconFile,
|
|
28456
28457
|
IconFlag,
|
|
28457
28458
|
IconGiphy,
|
|
@@ -28499,6 +28500,7 @@ export {
|
|
|
28499
28500
|
IconVoice,
|
|
28500
28501
|
IconXCircle,
|
|
28501
28502
|
IconXmark,
|
|
28503
|
+
IconXmarkSmall,
|
|
28502
28504
|
ImageComponent,
|
|
28503
28505
|
ImageContainer,
|
|
28504
28506
|
ImagePlaceholder,
|