stream-chat-react 14.0.0-beta.6 → 14.0.0-beta.7
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.f9abf707.js → WithAudioPlayback.83ba0e35.js} +255 -153
- package/dist/cjs/WithAudioPlayback.83ba0e35.js.map +1 -0
- package/dist/cjs/emojis.js +5 -2
- package/dist/cjs/emojis.js.map +1 -1
- package/dist/cjs/index.js +1584 -1421
- package/dist/cjs/index.js.map +1 -1
- package/dist/css/emoji-picker.css +11 -0
- package/dist/css/emoji-picker.css.map +1 -0
- package/dist/css/index.css +554 -345
- package/dist/css/index.css.map +1 -1
- package/dist/es/{WithAudioPlayback.d90f1a99.mjs → WithAudioPlayback.21b7f35a.mjs} +405 -303
- package/dist/es/WithAudioPlayback.21b7f35a.mjs.map +1 -0
- package/dist/es/emojis.mjs +5 -2
- package/dist/es/emojis.mjs.map +1 -1
- package/dist/es/index.mjs +1665 -1502
- package/dist/es/index.mjs.map +1 -1
- package/dist/types/components/Attachment/Audio.d.ts.map +1 -1
- package/dist/types/components/Attachment/FileAttachment.d.ts.map +1 -1
- package/dist/types/components/Attachment/UnsupportedAttachment.d.ts +1 -1
- package/dist/types/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
- package/dist/types/components/Attachment/VoiceRecording.d.ts.map +1 -1
- package/dist/types/components/Attachment/components/FileSizeIndicator.d.ts +1 -2
- package/dist/types/components/Attachment/components/FileSizeIndicator.d.ts.map +1 -1
- package/dist/types/components/AudioPlayback/components/useInteractiveProgressBar.d.ts.map +1 -1
- package/dist/types/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts +4 -4
- package/dist/types/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts.map +1 -1
- package/dist/types/components/Badge/MediaBadge.d.ts +8 -0
- package/dist/types/components/Badge/MediaBadge.d.ts.map +1 -0
- package/dist/types/components/Channel/Channel.d.ts.map +1 -1
- package/dist/types/components/ChannelHeader/ChannelHeader.d.ts +0 -2
- package/dist/types/components/ChannelHeader/ChannelHeader.d.ts.map +1 -1
- package/dist/types/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/dist/types/components/ChannelList/ChannelListHeader.d.ts +1 -5
- package/dist/types/components/ChannelList/ChannelListHeader.d.ts.map +1 -1
- package/dist/types/components/ChannelList/hooks/index.d.ts +0 -11
- package/dist/types/components/ChannelList/hooks/index.d.ts.map +1 -1
- package/dist/types/components/ChannelList/utils.d.ts +0 -9
- package/dist/types/components/ChannelList/utils.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/ChannelListItem.d.ts +0 -2
- package/dist/types/components/ChannelListItem/ChannelListItem.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.defaults.d.ts.map +1 -1
- package/dist/types/components/Chat/Chat.d.ts +1 -5
- package/dist/types/components/Chat/Chat.d.ts.map +1 -1
- package/dist/types/components/Chat/hooks/useChat.d.ts +1 -10
- package/dist/types/components/Chat/hooks/useChat.d.ts.map +1 -1
- package/dist/types/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
- package/dist/types/components/Chat/hooks/useReportLostConnectionSystemNotification.d.ts +6 -0
- package/dist/types/components/Chat/hooks/useReportLostConnectionSystemNotification.d.ts.map +1 -0
- package/dist/types/components/Chat/index.d.ts +1 -0
- package/dist/types/components/Chat/index.d.ts.map +1 -1
- package/dist/types/components/ChatView/ChatView.d.ts.map +1 -1
- package/dist/types/components/Dialog/components/ContextMenu.d.ts +1 -1
- package/dist/types/components/Dialog/components/ContextMenu.d.ts.map +1 -1
- package/dist/types/components/Dialog/hooks/useDialog.d.ts.map +1 -1
- package/dist/types/components/Dialog/service/DialogManager.d.ts +3 -2
- package/dist/types/components/Dialog/service/DialogManager.d.ts.map +1 -1
- package/dist/types/components/Icons/icons.d.ts +18 -6
- package/dist/types/components/Icons/icons.d.ts.map +1 -1
- package/dist/types/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +0 -20
- package/dist/types/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
- package/dist/types/components/LoadMore/LoadMoreButton.d.ts +1 -6
- package/dist/types/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
- package/dist/types/components/LoadMore/LoadMorePaginator.d.ts.map +1 -1
- package/dist/types/components/Loading/UploadProgressIndicator.d.ts +5 -0
- package/dist/types/components/Loading/UploadProgressIndicator.d.ts.map +1 -0
- package/dist/types/components/Loading/UploadedSizeIndicator.d.ts +6 -0
- package/dist/types/components/Loading/UploadedSizeIndicator.d.ts.map +1 -0
- package/dist/types/components/Loading/index.d.ts +3 -0
- package/dist/types/components/Loading/index.d.ts.map +1 -1
- package/dist/types/components/Loading/progress-indicators.d.ts +7 -0
- package/dist/types/components/Loading/progress-indicators.d.ts.map +1 -0
- package/dist/types/components/Location/ShareLocationDialog.d.ts.map +1 -1
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.d.ts.map +1 -1
- package/dist/types/components/Message/Message.d.ts.map +1 -1
- package/dist/types/components/Message/MessageAlsoSentInChannelIndicator.d.ts.map +1 -1
- package/dist/types/components/Message/MessageUI.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useDeleteHandler.d.ts +1 -5
- package/dist/types/components/Message/hooks/useDeleteHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useFlagHandler.d.ts +1 -6
- package/dist/types/components/Message/hooks/useFlagHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useMarkUnreadHandler.d.ts +1 -6
- package/dist/types/components/Message/hooks/useMarkUnreadHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useMuteHandler.d.ts +2 -7
- package/dist/types/components/Message/hooks/useMuteHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/usePinHandler.d.ts +1 -23
- package/dist/types/components/Message/hooks/usePinHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useReactionsFetcher.d.ts +1 -6
- package/dist/types/components/Message/hooks/useReactionsFetcher.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useUserRole.d.ts +1 -1
- package/dist/types/components/Message/hooks/useUserRole.d.ts.map +1 -1
- package/dist/types/components/Message/types.d.ts +1 -23
- package/dist/types/components/Message/types.d.ts.map +1 -1
- package/dist/types/components/Message/utils.d.ts +1 -2
- package/dist/types/components/Message/utils.d.ts.map +1 -1
- package/dist/types/components/MessageActions/MessageActions.defaults.d.ts.map +1 -1
- package/dist/types/components/MessageActions/RemindMeSubmenu.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/AttachmentUploadedSizeIndicator.d.ts +14 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/AttachmentUploadedSizeIndicator.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/useSubmitHandler.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/icons.d.ts +0 -1
- package/dist/types/components/MessageComposer/icons.d.ts.map +1 -1
- package/dist/types/components/MessageList/MessageList.d.ts +1 -1
- package/dist/types/components/MessageList/MessageList.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts.map +1 -1
- package/dist/types/components/MessageList/index.d.ts +0 -1
- package/dist/types/components/MessageList/index.d.ts.map +1 -1
- package/dist/types/components/MessageList/utils.d.ts +0 -1
- package/dist/types/components/MessageList/utils.d.ts.map +1 -1
- package/dist/types/components/Notifications/NotificationList.d.ts.map +1 -1
- package/dist/types/components/Notifications/hooks/index.d.ts +2 -0
- package/dist/types/components/Notifications/hooks/index.d.ts.map +1 -1
- package/dist/types/components/Notifications/hooks/useNotificationApi.d.ts +63 -0
- package/dist/types/components/Notifications/hooks/useNotificationApi.d.ts.map +1 -0
- package/dist/types/components/Notifications/hooks/useSystemNotifications.d.ts +14 -0
- package/dist/types/components/Notifications/hooks/useSystemNotifications.d.ts.map +1 -0
- package/dist/types/components/Notifications/notificationTarget.d.ts +1 -0
- package/dist/types/components/Notifications/notificationTarget.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/EndPollAlert.d.ts.map +1 -1
- package/dist/types/components/ReactFileUtilities/UploadButton.d.ts +3 -11
- package/dist/types/components/ReactFileUtilities/UploadButton.d.ts.map +1 -1
- package/dist/types/components/Reactions/MessageReactions.d.ts.map +1 -1
- package/dist/types/components/Reactions/MessageReactionsDetail.d.ts +12 -2
- package/dist/types/components/Reactions/MessageReactionsDetail.d.ts.map +1 -1
- package/dist/types/components/Reactions/ReactionSelector.d.ts +3 -0
- package/dist/types/components/Reactions/ReactionSelector.d.ts.map +1 -1
- package/dist/types/components/Reactions/hooks/useFetchReactions.d.ts.map +1 -1
- package/dist/types/components/Reactions/index.d.ts +0 -1
- package/dist/types/components/Reactions/index.d.ts.map +1 -1
- package/dist/types/components/SummarizedMessagePreview/SummarizedMessagePreview.d.ts.map +1 -1
- package/dist/types/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.d.ts +1 -1
- package/dist/types/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.d.ts.map +1 -1
- package/dist/types/components/Thread/ThreadHeader.d.ts +0 -2
- package/dist/types/components/Thread/ThreadHeader.d.ts.map +1 -1
- package/dist/types/components/Threads/ThreadList/ThreadList.d.ts.map +1 -1
- package/dist/types/components/Threads/ThreadList/ThreadListHeader.d.ts +1 -5
- package/dist/types/components/Threads/ThreadList/ThreadListHeader.d.ts.map +1 -1
- package/dist/types/components/Threads/ThreadList/ThreadListItemUI.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +2 -2
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/context/ChatContext.d.ts +0 -3
- package/dist/types/context/ChatContext.d.ts.map +1 -1
- package/dist/types/context/ComponentContext.d.ts +18 -2
- package/dist/types/context/ComponentContext.d.ts.map +1 -1
- package/dist/types/context/MessageContext.d.ts +0 -3
- package/dist/types/context/MessageContext.d.ts.map +1 -1
- package/dist/types/i18n/Streami18n.d.ts +21 -11
- package/dist/types/i18n/Streami18n.d.ts.map +1 -1
- package/dist/types/plugins/Emojis/EmojiPicker.d.ts +0 -6
- package/dist/types/plugins/Emojis/EmojiPicker.d.ts.map +1 -1
- package/dist/types/types/types.d.ts +0 -5
- package/dist/types/types/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/cjs/WithAudioPlayback.f9abf707.js.map +0 -1
- package/dist/es/WithAudioPlayback.d90f1a99.mjs.map +0 -1
- package/dist/types/components/Button/ToggleSidebarButton.d.ts +0 -10
- package/dist/types/components/Button/ToggleSidebarButton.d.ts.map +0 -1
- package/dist/types/components/ChannelHeader/hooks/useIsMobileViewport.d.ts +0 -3
- package/dist/types/components/ChannelHeader/hooks/useIsMobileViewport.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useChannelDeletedListener.d.ts +0 -3
- package/dist/types/components/ChannelList/hooks/useChannelDeletedListener.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useChannelHiddenListener.d.ts +0 -3
- package/dist/types/components/ChannelList/hooks/useChannelHiddenListener.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useChannelTruncatedListener.d.ts +0 -3
- package/dist/types/components/ChannelList/hooks/useChannelTruncatedListener.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useChannelUpdatedListener.d.ts +0 -3
- package/dist/types/components/ChannelList/hooks/useChannelUpdatedListener.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useChannelVisibleListener.d.ts +0 -3
- package/dist/types/components/ChannelList/hooks/useChannelVisibleListener.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useMessageNewListener.d.ts +0 -3
- package/dist/types/components/ChannelList/hooks/useMessageNewListener.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useMobileNavigation.d.ts +0 -2
- package/dist/types/components/ChannelList/hooks/useMobileNavigation.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts +0 -3
- package/dist/types/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +0 -3
- package/dist/types/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts +0 -3
- package/dist/types/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts +0 -3
- package/dist/types/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts.map +0 -1
- package/dist/types/components/MessageList/ConnectionStatus.d.ts +0 -3
- package/dist/types/components/MessageList/ConnectionStatus.d.ts.map +0 -1
- package/dist/types/components/Reactions/StreamEmoji.d.ts +0 -19
- package/dist/types/components/Reactions/StreamEmoji.d.ts.map +0 -1
- package/dist/types/utils/deprecationWarning.d.ts +0 -2
- package/dist/types/utils/deprecationWarning.d.ts.map +0 -1
|
@@ -979,6 +979,33 @@ class AudioPlayerPool {
|
|
|
979
979
|
}
|
|
980
980
|
}
|
|
981
981
|
}
|
|
982
|
+
const audioPlayerNotificationsPluginFactory = ({
|
|
983
|
+
addNotification,
|
|
984
|
+
panel = "channel",
|
|
985
|
+
t
|
|
986
|
+
}) => {
|
|
987
|
+
const errors = {
|
|
988
|
+
"failed-to-start": new Error(t("Failed to play the recording")),
|
|
989
|
+
"not-playable": new Error(
|
|
990
|
+
t("Recording format is not supported and cannot be reproduced")
|
|
991
|
+
),
|
|
992
|
+
"seek-not-supported": new Error(t("Cannot seek in the recording"))
|
|
993
|
+
};
|
|
994
|
+
return {
|
|
995
|
+
id: "AudioPlayerNotificationsPlugin",
|
|
996
|
+
onError: ({ errCode, error: e }) => {
|
|
997
|
+
const error = (errCode && errors[errCode]) ?? e ?? new Error(t("Error reproducing the recording"));
|
|
998
|
+
addNotification({
|
|
999
|
+
emitter: "AudioPlayer",
|
|
1000
|
+
error,
|
|
1001
|
+
message: error.message,
|
|
1002
|
+
severity: "error",
|
|
1003
|
+
targetPanels: [panel],
|
|
1004
|
+
type: "browser:audio:playback:error"
|
|
1005
|
+
});
|
|
1006
|
+
}
|
|
1007
|
+
};
|
|
1008
|
+
};
|
|
982
1009
|
const NOTIFICATION_TARGET_PANELS = [
|
|
983
1010
|
"channel",
|
|
984
1011
|
"thread",
|
|
@@ -995,46 +1022,29 @@ const getNotificationTargetPanel = (notification) => {
|
|
|
995
1022
|
const panel = notification.origin.context?.panel;
|
|
996
1023
|
return isNotificationTargetPanel(panel) ? panel : void 0;
|
|
997
1024
|
};
|
|
1025
|
+
const getNotificationTargetPanels = (notification) => {
|
|
1026
|
+
const targetPanels = (notification.tags ?? []).filter((tag) => tag.startsWith("target:")).map((tag) => tag.slice("target:".length)).filter(
|
|
1027
|
+
(value) => isNotificationTargetPanel(value)
|
|
1028
|
+
);
|
|
1029
|
+
if (targetPanels.length > 0) {
|
|
1030
|
+
return Array.from(new Set(targetPanels));
|
|
1031
|
+
}
|
|
1032
|
+
const panel = notification.origin.context?.panel;
|
|
1033
|
+
return isNotificationTargetPanel(panel) ? [panel] : [];
|
|
1034
|
+
};
|
|
998
1035
|
const getNotificationTargetTag = (panel) => `target:${panel}`;
|
|
999
1036
|
const addNotificationTargetTag = (panel, tags) => {
|
|
1000
1037
|
if (!panel) return tags ?? [];
|
|
1001
1038
|
return Array.from(/* @__PURE__ */ new Set([getNotificationTargetTag(panel), ...tags ?? []]));
|
|
1002
1039
|
};
|
|
1003
1040
|
const isNotificationForPanel = (notification, panel, options) => {
|
|
1004
|
-
const
|
|
1005
|
-
|
|
1041
|
+
const explicitTargetPanels = getNotificationTargetPanels(notification);
|
|
1042
|
+
if (explicitTargetPanels.length > 0) {
|
|
1043
|
+
return explicitTargetPanels.includes(panel);
|
|
1044
|
+
}
|
|
1045
|
+
const resolvedPanel = options?.fallbackPanel ?? "channel";
|
|
1006
1046
|
return resolvedPanel === panel;
|
|
1007
1047
|
};
|
|
1008
|
-
const audioPlayerNotificationsPluginFactory = ({
|
|
1009
|
-
client,
|
|
1010
|
-
panel = "channel",
|
|
1011
|
-
t
|
|
1012
|
-
}) => {
|
|
1013
|
-
const errors = {
|
|
1014
|
-
"failed-to-start": new Error(t("Failed to play the recording")),
|
|
1015
|
-
"not-playable": new Error(
|
|
1016
|
-
t("Recording format is not supported and cannot be reproduced")
|
|
1017
|
-
),
|
|
1018
|
-
"seek-not-supported": new Error(t("Cannot seek in the recording"))
|
|
1019
|
-
};
|
|
1020
|
-
return {
|
|
1021
|
-
id: "AudioPlayerNotificationsPlugin",
|
|
1022
|
-
onError: ({ errCode, error: e }) => {
|
|
1023
|
-
const error = (errCode && errors[errCode]) ?? e ?? new Error(t("Error reproducing the recording"));
|
|
1024
|
-
client?.notifications.addError({
|
|
1025
|
-
message: error.message,
|
|
1026
|
-
options: {
|
|
1027
|
-
originalError: error,
|
|
1028
|
-
tags: addNotificationTargetTag(panel),
|
|
1029
|
-
type: "browser:audio:playback:error"
|
|
1030
|
-
},
|
|
1031
|
-
origin: {
|
|
1032
|
-
emitter: "AudioPlayer"
|
|
1033
|
-
}
|
|
1034
|
-
});
|
|
1035
|
-
}
|
|
1036
|
-
};
|
|
1037
|
-
};
|
|
1038
1048
|
const variantToClass = {
|
|
1039
1049
|
danger: "str-chat__button--destructive",
|
|
1040
1050
|
primary: "str-chat__button--primary",
|
|
@@ -1246,8 +1256,8 @@ const IconBellOff = createIcon(
|
|
|
1246
1256
|
}
|
|
1247
1257
|
)
|
|
1248
1258
|
);
|
|
1249
|
-
const
|
|
1250
|
-
"
|
|
1259
|
+
const IconBookmark = createIcon(
|
|
1260
|
+
"IconBookmark",
|
|
1251
1261
|
/* @__PURE__ */ jsx(
|
|
1252
1262
|
"path",
|
|
1253
1263
|
{
|
|
@@ -1260,8 +1270,8 @@ const IconSave = createIcon(
|
|
|
1260
1270
|
}
|
|
1261
1271
|
)
|
|
1262
1272
|
);
|
|
1263
|
-
const
|
|
1264
|
-
"
|
|
1273
|
+
const IconBookmarkRemove = createIcon(
|
|
1274
|
+
"IconBookmarkRemove",
|
|
1265
1275
|
/* @__PURE__ */ jsx(
|
|
1266
1276
|
"path",
|
|
1267
1277
|
{
|
|
@@ -1493,6 +1503,16 @@ const IconMinusCircle = createIcon(
|
|
|
1493
1503
|
}
|
|
1494
1504
|
)
|
|
1495
1505
|
);
|
|
1506
|
+
const IconMinus = createIcon(
|
|
1507
|
+
"IconMinus",
|
|
1508
|
+
/* @__PURE__ */ jsx(
|
|
1509
|
+
"path",
|
|
1510
|
+
{
|
|
1511
|
+
d: "M16.875 9.40039C17.2064 9.40039 17.4746 9.66863 17.4746 10C17.4746 10.3314 17.2064 10.5996 16.875 10.5996H3.125C2.79363 10.5996 2.52539 10.3314 2.52539 10C2.52539 9.66863 2.79363 9.40039 3.125 9.40039H16.875Z",
|
|
1512
|
+
fill: "currentColor"
|
|
1513
|
+
}
|
|
1514
|
+
)
|
|
1515
|
+
);
|
|
1496
1516
|
const IconXCircle = createIcon(
|
|
1497
1517
|
"IconXCircle",
|
|
1498
1518
|
/* @__PURE__ */ jsx(
|
|
@@ -1545,7 +1565,7 @@ const IconXmark = createIcon(
|
|
|
1545
1565
|
stroke: "currentColor",
|
|
1546
1566
|
strokeLinecap: "round",
|
|
1547
1567
|
strokeLinejoin: "round",
|
|
1548
|
-
strokeWidth: "
|
|
1568
|
+
strokeWidth: "2"
|
|
1549
1569
|
}
|
|
1550
1570
|
)
|
|
1551
1571
|
);
|
|
@@ -1612,6 +1632,46 @@ const IconEmoji = createIcon(
|
|
|
1612
1632
|
/* @__PURE__ */ jsx("path", { d: "M12.4756 11.499C12.683 11.1407 13.1425 11.0182 13.501 11.2256C13.8593 11.433 13.9818 11.8925 13.7744 12.251C13.0125 13.568 11.6947 14.5 10 14.5C8.30531 14.5 6.98748 13.568 6.22559 12.251C6.01825 11.8925 6.14067 11.433 6.49902 11.2256C6.85749 11.0182 7.31695 11.1407 7.52441 11.499C8.05942 12.424 8.91824 13 10 13C11.0818 13 11.9406 12.424 12.4756 11.499Z" })
|
|
1613
1633
|
] })
|
|
1614
1634
|
);
|
|
1635
|
+
const IconEmojiAdd = createIcon(
|
|
1636
|
+
"IconEmojiAdd",
|
|
1637
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1638
|
+
/* @__PURE__ */ jsx(
|
|
1639
|
+
"path",
|
|
1640
|
+
{
|
|
1641
|
+
d: "M1.75 10C1.75 5.44365 5.44365 1.75 10 1.75C10.4142 1.75 10.75 2.08579 10.75 2.5C10.75 2.91421 10.4142 3.25 10 3.25C6.27208 3.25 3.25 6.27208 3.25 10C3.25 13.7279 6.27208 16.75 10 16.75C13.7279 16.75 16.75 13.7279 16.75 10C16.75 9.58579 17.0858 9.25 17.5 9.25C17.9142 9.25 18.25 9.58579 18.25 10C18.25 14.5563 14.5563 18.25 10 18.25C5.44365 18.25 1.75 14.5563 1.75 10Z",
|
|
1642
|
+
fill: "currentColor"
|
|
1643
|
+
}
|
|
1644
|
+
),
|
|
1645
|
+
/* @__PURE__ */ jsx(
|
|
1646
|
+
"path",
|
|
1647
|
+
{
|
|
1648
|
+
d: "M7.1875 9.375C7.70527 9.375 8.125 8.95527 8.125 8.4375C8.125 7.91973 7.70527 7.5 7.1875 7.5C6.66973 7.5 6.25 7.91973 6.25 8.4375C6.25 8.95527 6.66973 9.375 7.1875 9.375Z",
|
|
1649
|
+
fill: "currentColor"
|
|
1650
|
+
}
|
|
1651
|
+
),
|
|
1652
|
+
/* @__PURE__ */ jsx(
|
|
1653
|
+
"path",
|
|
1654
|
+
{
|
|
1655
|
+
d: "M12.8125 9.375C13.3303 9.375 13.75 8.95527 13.75 8.4375C13.75 7.91973 13.3303 7.5 12.8125 7.5C12.2947 7.5 11.875 7.91973 11.875 8.4375C11.875 8.95527 12.2947 9.375 12.8125 9.375Z",
|
|
1656
|
+
fill: "currentColor"
|
|
1657
|
+
}
|
|
1658
|
+
),
|
|
1659
|
+
/* @__PURE__ */ jsx(
|
|
1660
|
+
"path",
|
|
1661
|
+
{
|
|
1662
|
+
d: "M12.4756 11.499C12.683 11.1407 13.1425 11.0182 13.501 11.2256C13.8593 11.433 13.9818 11.8925 13.7744 12.251C13.0125 13.568 11.6947 14.5 10 14.5C8.30531 14.5 6.98748 13.568 6.22559 12.251C6.01825 11.8925 6.14067 11.433 6.49902 11.2256C6.85749 11.0182 7.31695 11.1407 7.52441 11.499C8.05942 12.424 8.91824 13 10 13C11.0818 13 11.9406 12.424 12.4756 11.499Z",
|
|
1663
|
+
fill: "currentColor"
|
|
1664
|
+
}
|
|
1665
|
+
),
|
|
1666
|
+
/* @__PURE__ */ jsx(
|
|
1667
|
+
"path",
|
|
1668
|
+
{
|
|
1669
|
+
d: "M15.083 6.87524V4.91626H13.125C12.7108 4.91626 12.375 4.58047 12.375 4.16626C12.3752 3.7522 12.7109 3.41626 13.125 3.41626H15.083V1.45825C15.083 1.04415 15.4189 0.708427 15.833 0.708252C16.2472 0.708252 16.583 1.04404 16.583 1.45825V3.41626H18.542C18.9559 3.41644 19.2918 3.7523 19.292 4.16626C19.292 4.58036 18.9561 4.91608 18.542 4.91626H16.583V6.87524C16.5828 7.28931 16.2471 7.62524 15.833 7.62524C15.4191 7.62507 15.0832 7.2892 15.083 6.87524Z",
|
|
1670
|
+
fill: "currentColor"
|
|
1671
|
+
}
|
|
1672
|
+
)
|
|
1673
|
+
] })
|
|
1674
|
+
);
|
|
1615
1675
|
const IconExclamationMarkFill = createIcon(
|
|
1616
1676
|
"IconExclamationMarkFill",
|
|
1617
1677
|
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -1639,6 +1699,16 @@ const IconEyeFill = createIcon(
|
|
|
1639
1699
|
"IconEyeFill",
|
|
1640
1700
|
/* @__PURE__ */ jsx("path", { d: "M19.3211 9.74688C19.2937 9.68516 18.632 8.21719 17.1609 6.74609C15.2008 4.78594 12.725 3.75 9.99999 3.75C7.27499 3.75 4.79921 4.78594 2.83905 6.74609C1.36796 8.21719 0.703118 9.6875 0.678899 9.74688C0.643362 9.82681 0.625 9.91331 0.625 10.0008C0.625 10.0883 0.643362 10.1748 0.678899 10.2547C0.706243 10.3164 1.36796 11.7836 2.83905 13.2547C4.79921 15.2141 7.27499 16.25 9.99999 16.25C12.725 16.25 15.2008 15.2141 17.1609 13.2547C18.632 11.7836 19.2937 10.3164 19.3211 10.2547C19.3566 10.1748 19.375 10.0883 19.375 10.0008C19.375 9.91331 19.3566 9.82681 19.3211 9.74688ZM9.99999 13.125C9.38193 13.125 8.77774 12.9417 8.26384 12.5983C7.74993 12.255 7.34939 11.7669 7.11287 11.1959C6.87634 10.6249 6.81446 9.99653 6.93504 9.39034C7.05562 8.78415 7.35324 8.22733 7.79028 7.79029C8.22732 7.35325 8.78414 7.05562 9.39033 6.93505C9.99652 6.81447 10.6249 6.87635 11.1959 7.11288C11.7669 7.3494 12.255 7.74994 12.5983 8.26384C12.9417 8.77775 13.125 9.38193 13.125 10C13.125 10.8288 12.7958 11.6237 12.2097 12.2097C11.6236 12.7958 10.8288 13.125 9.99999 13.125Z" })
|
|
1641
1701
|
);
|
|
1702
|
+
const IconUnsupportedAttachment = createIcon(
|
|
1703
|
+
"IconUnsupportedAttachment",
|
|
1704
|
+
/* @__PURE__ */ jsx(
|
|
1705
|
+
"path",
|
|
1706
|
+
{
|
|
1707
|
+
d: "M4.5 16.75H15.5V7.625H11.875C11.4608 7.625 11.125 7.28921 11.125 6.875V3.25H4.5V16.75ZM11.3447 9.46973C11.6376 9.17683 12.1124 9.17683 12.4053 9.46973C12.6982 9.76262 12.6982 10.2374 12.4053 10.5303L11.0605 11.875L12.4053 13.2197C12.6982 13.5126 12.6982 13.9874 12.4053 14.2803C12.1124 14.5732 11.6376 14.5732 11.3447 14.2803L10 12.9355L8.65527 14.2803C8.36238 14.5732 7.88762 14.5732 7.59473 14.2803C7.30183 13.9874 7.30183 13.5126 7.59473 13.2197L8.93945 11.875L7.59473 10.5303C7.30183 10.2374 7.30183 9.76262 7.59473 9.46973C7.88762 9.17683 8.36238 9.17683 8.65527 9.46973L10 10.8145L11.3447 9.46973ZM12.625 6.125H14.4395L12.625 4.31055V6.125ZM17 16.875C17 17.2397 16.8555 17.5898 16.5977 17.8477C16.3398 18.1055 15.9897 18.25 15.625 18.25H4.375C4.01033 18.25 3.66021 18.1055 3.40234 17.8477C3.14448 17.5898 3 17.2397 3 16.875V3.125C3 2.76033 3.14448 2.41021 3.40234 2.15234L3.50391 2.06152C3.74856 1.86111 4.05597 1.75 4.375 1.75H11.875C12.0739 1.75 12.2646 1.82907 12.4053 1.96973L16.7803 6.34473C16.9209 6.48538 17 6.67609 17 6.875V16.875Z",
|
|
1708
|
+
fill: "currentColor"
|
|
1709
|
+
}
|
|
1710
|
+
)
|
|
1711
|
+
);
|
|
1642
1712
|
const IconUpload = createIcon(
|
|
1643
1713
|
"IconUpload",
|
|
1644
1714
|
/* @__PURE__ */ jsx(
|
|
@@ -1695,21 +1765,6 @@ const IconImage = createIcon(
|
|
|
1695
1765
|
}
|
|
1696
1766
|
)
|
|
1697
1767
|
);
|
|
1698
|
-
const IconSidebar = createIcon(
|
|
1699
|
-
"IconSidebar",
|
|
1700
|
-
/* @__PURE__ */ jsx(
|
|
1701
|
-
"path",
|
|
1702
|
-
{
|
|
1703
|
-
d: "M6.875 3.75V16.25M3.125 3.75H16.875C17.2202 3.75 17.5 4.02982 17.5 4.375V15.625C17.5 15.9702 17.2202 16.25 16.875 16.25H3.125C2.77982 16.25 2.5 15.9702 2.5 15.625V4.375C2.5 4.02982 2.77982 3.75 3.125 3.75Z",
|
|
1704
|
-
fill: "none",
|
|
1705
|
-
stroke: "currentColor",
|
|
1706
|
-
strokeLinecap: "round",
|
|
1707
|
-
strokeLinejoin: "round",
|
|
1708
|
-
strokeWidth: "1.5"
|
|
1709
|
-
}
|
|
1710
|
-
),
|
|
1711
|
-
{ "data-rtl-mirror": "" }
|
|
1712
|
-
);
|
|
1713
1768
|
const IconSearch = createIcon(
|
|
1714
1769
|
"IconSearch",
|
|
1715
1770
|
/* @__PURE__ */ jsx(
|
|
@@ -1766,6 +1821,16 @@ const IconVoice = createIcon(
|
|
|
1766
1821
|
}
|
|
1767
1822
|
)
|
|
1768
1823
|
);
|
|
1824
|
+
const IconMicrophoneSolid = createIcon(
|
|
1825
|
+
"IconMicrophoneSolid",
|
|
1826
|
+
/* @__PURE__ */ jsx(
|
|
1827
|
+
"path",
|
|
1828
|
+
{
|
|
1829
|
+
d: "M6.25 10V5C6.25 4.00544 6.64509 3.05161 7.34835 2.34835C8.05161 1.64509 9.00544 1.25 10 1.25C10.9946 1.25 11.9484 1.64509 12.6517 2.34835C13.3549 3.05161 13.75 4.00544 13.75 5V10C13.75 10.9946 13.3549 11.9484 12.6517 12.6517C11.9484 13.3549 10.9946 13.75 10 13.75C9.00544 13.75 8.05161 13.3549 7.34835 12.6517C6.64509 11.9484 6.25 10.9946 6.25 10ZM16.25 10C16.25 9.83424 16.1842 9.67527 16.0669 9.55806C15.9497 9.44085 15.7908 9.375 15.625 9.375C15.4592 9.375 15.3003 9.44085 15.1831 9.55806C15.0658 9.67527 15 9.83424 15 10C15 11.3261 14.4732 12.5979 13.5355 13.5355C12.5979 14.4732 11.3261 15 10 15C8.67392 15 7.40215 14.4732 6.46447 13.5355C5.52678 12.5979 5 11.3261 5 10C5 9.83424 4.93415 9.67527 4.81694 9.55806C4.69973 9.44085 4.54076 9.375 4.375 9.375C4.20924 9.375 4.05027 9.44085 3.93306 9.55806C3.81585 9.67527 3.75 9.83424 3.75 10C3.7519 11.5489 4.32806 13.042 5.36707 14.1907C6.40607 15.3393 7.83409 16.062 9.375 16.2188V18.75C9.375 18.9158 9.44085 19.0747 9.55806 19.1919C9.67527 19.3092 9.83424 19.375 10 19.375C10.1658 19.375 10.3247 19.3092 10.4419 19.1919C10.5592 19.0747 10.625 18.9158 10.625 18.75V16.2188C12.1659 16.062 13.5939 15.3393 14.6329 14.1907C15.6719 13.042 16.2481 11.5489 16.25 10Z",
|
|
1830
|
+
fill: "currentColor"
|
|
1831
|
+
}
|
|
1832
|
+
)
|
|
1833
|
+
);
|
|
1769
1834
|
const IconMute = createIcon(
|
|
1770
1835
|
"IconMute",
|
|
1771
1836
|
/* @__PURE__ */ jsx(
|
|
@@ -1907,7 +1972,7 @@ const IconPlus = createIcon(
|
|
|
1907
1972
|
stroke: "currentColor",
|
|
1908
1973
|
strokeLinecap: "round",
|
|
1909
1974
|
strokeLinejoin: "round",
|
|
1910
|
-
strokeWidth: "
|
|
1975
|
+
strokeWidth: "2"
|
|
1911
1976
|
}
|
|
1912
1977
|
)
|
|
1913
1978
|
);
|
|
@@ -2612,63 +2677,6 @@ const MESSAGE_ACTIONS = {
|
|
|
2612
2677
|
reply: "reply",
|
|
2613
2678
|
saveForLater: "saveForLater"
|
|
2614
2679
|
};
|
|
2615
|
-
const defaultPinPermissions = {
|
|
2616
|
-
commerce: {
|
|
2617
|
-
admin: true,
|
|
2618
|
-
anonymous: false,
|
|
2619
|
-
channel_member: false,
|
|
2620
|
-
channel_moderator: true,
|
|
2621
|
-
guest: false,
|
|
2622
|
-
member: false,
|
|
2623
|
-
moderator: true,
|
|
2624
|
-
owner: true,
|
|
2625
|
-
user: false
|
|
2626
|
-
},
|
|
2627
|
-
gaming: {
|
|
2628
|
-
admin: true,
|
|
2629
|
-
anonymous: false,
|
|
2630
|
-
channel_member: false,
|
|
2631
|
-
channel_moderator: true,
|
|
2632
|
-
guest: false,
|
|
2633
|
-
member: false,
|
|
2634
|
-
moderator: true,
|
|
2635
|
-
owner: false,
|
|
2636
|
-
user: false
|
|
2637
|
-
},
|
|
2638
|
-
livestream: {
|
|
2639
|
-
admin: true,
|
|
2640
|
-
anonymous: false,
|
|
2641
|
-
channel_member: false,
|
|
2642
|
-
channel_moderator: true,
|
|
2643
|
-
guest: false,
|
|
2644
|
-
member: false,
|
|
2645
|
-
moderator: true,
|
|
2646
|
-
owner: true,
|
|
2647
|
-
user: false
|
|
2648
|
-
},
|
|
2649
|
-
messaging: {
|
|
2650
|
-
admin: true,
|
|
2651
|
-
anonymous: false,
|
|
2652
|
-
channel_member: true,
|
|
2653
|
-
channel_moderator: true,
|
|
2654
|
-
guest: false,
|
|
2655
|
-
member: true,
|
|
2656
|
-
moderator: true,
|
|
2657
|
-
owner: true,
|
|
2658
|
-
user: false
|
|
2659
|
-
},
|
|
2660
|
-
team: {
|
|
2661
|
-
admin: true,
|
|
2662
|
-
anonymous: false,
|
|
2663
|
-
channel_member: true,
|
|
2664
|
-
channel_moderator: true,
|
|
2665
|
-
guest: false,
|
|
2666
|
-
member: true,
|
|
2667
|
-
moderator: true,
|
|
2668
|
-
owner: true,
|
|
2669
|
-
user: false
|
|
2670
|
-
}
|
|
2671
|
-
};
|
|
2672
2680
|
const getMessageActions = (actions, {
|
|
2673
2681
|
canDelete,
|
|
2674
2682
|
canEdit,
|
|
@@ -2775,6 +2783,7 @@ const areMessageUIPropsEqual = (prevProps, nextProps) => {
|
|
|
2775
2783
|
return areMessagesEqual(prevMessage, nextMessage);
|
|
2776
2784
|
};
|
|
2777
2785
|
const messageHasReactions = (message) => Object.values(message?.reaction_groups ?? {}).some(({ count }) => count > 0);
|
|
2786
|
+
const messageHasQuotedMessage = (message) => !!message?.quoted_message;
|
|
2778
2787
|
const messageHasAttachments = (message) => !!message?.attachments && !!message.attachments.length;
|
|
2779
2788
|
const messageHasSingleAttachment = (message) => message?.attachments?.length === 1;
|
|
2780
2789
|
const messageHasGiphyAttachment = (message) => !!message?.attachments?.some((att) => att.type === "giphy");
|
|
@@ -3094,7 +3103,6 @@ const getGroupStyles = (message, previousMessage, nextMessage, noGroupByUser, ma
|
|
|
3094
3103
|
return "";
|
|
3095
3104
|
};
|
|
3096
3105
|
const hasMoreMessagesProbably = (returnedCountMessages, limit) => returnedCountMessages >= limit;
|
|
3097
|
-
const hasNotMoreMessages = (returnedCountMessages, limit) => returnedCountMessages < limit;
|
|
3098
3106
|
function isIntroMessage(message) {
|
|
3099
3107
|
return message.customType === CUSTOM_MESSAGE_TYPE.intro;
|
|
3100
3108
|
}
|
|
@@ -3423,6 +3431,7 @@ const ChannelInner = (props) => {
|
|
|
3423
3431
|
LoadingIndicator = LoadingChannel
|
|
3424
3432
|
} = useComponentContext();
|
|
3425
3433
|
const { client, customClasses, latestMessageDatesByChannels, mutes, searchController } = useChatContext("Channel");
|
|
3434
|
+
const { addNotification } = useNotificationApi();
|
|
3426
3435
|
const { t } = useTranslationContext("Channel");
|
|
3427
3436
|
const chatContainerClass = getChatContainerClass(customClasses?.chatContainer);
|
|
3428
3437
|
const windowsEmojiClass = useImageFlagEmojisOnWindowsClass();
|
|
@@ -3668,18 +3677,15 @@ const ChannelInner = (props) => {
|
|
|
3668
3677
|
handleHighlightedMessageChange({ highlightedMessageId: jumpToMessageFromSearch.id });
|
|
3669
3678
|
}, [jumpToMessageFromSearch, handleHighlightedMessageChange]);
|
|
3670
3679
|
const notifyJumpToFirstUnreadError = useCallback(() => {
|
|
3671
|
-
|
|
3680
|
+
addNotification({
|
|
3681
|
+
context: { feature: "jumpToFirstUnread" },
|
|
3682
|
+
emitter: "Channel",
|
|
3672
3683
|
message: t("Failed to jump to the first unread message"),
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
},
|
|
3677
|
-
origin: {
|
|
3678
|
-
context: { feature: "jumpToFirstUnread" },
|
|
3679
|
-
emitter: "Channel"
|
|
3680
|
-
}
|
|
3684
|
+
severity: "error",
|
|
3685
|
+
targetPanels: ["channel"],
|
|
3686
|
+
type: "channel:jumpToFirstUnread:failed"
|
|
3681
3687
|
});
|
|
3682
|
-
}, [
|
|
3688
|
+
}, [addNotification, t]);
|
|
3683
3689
|
const loadMoreFinished = useCallback(
|
|
3684
3690
|
debounce(
|
|
3685
3691
|
(hasMore, messages) => {
|
|
@@ -4280,7 +4286,6 @@ const ChatViewChannelsSelectorButton = ({
|
|
|
4280
4286
|
iconOnly = true
|
|
4281
4287
|
}) => {
|
|
4282
4288
|
const { activeChatView, setActiveChatView } = useChatViewContext();
|
|
4283
|
-
const { openMobileNav } = useChatContext("ChatViewChannelsSelectorButton");
|
|
4284
4289
|
const { t } = useTranslationContext();
|
|
4285
4290
|
const isActive = activeChatView === "channels";
|
|
4286
4291
|
return /* @__PURE__ */ jsx(
|
|
@@ -4291,10 +4296,7 @@ const ChatViewChannelsSelectorButton = ({
|
|
|
4291
4296
|
Icon: IconMessageBubble,
|
|
4292
4297
|
iconOnly,
|
|
4293
4298
|
isActive,
|
|
4294
|
-
onPointerDown: () =>
|
|
4295
|
-
openMobileNav();
|
|
4296
|
-
setActiveChatView("channels");
|
|
4297
|
-
},
|
|
4299
|
+
onPointerDown: () => setActiveChatView("channels"),
|
|
4298
4300
|
text: t("Channels")
|
|
4299
4301
|
}
|
|
4300
4302
|
);
|
|
@@ -4302,7 +4304,7 @@ const ChatViewChannelsSelectorButton = ({
|
|
|
4302
4304
|
const ChatViewThreadsSelectorButton = ({
|
|
4303
4305
|
iconOnly = true
|
|
4304
4306
|
}) => {
|
|
4305
|
-
const { client
|
|
4307
|
+
const { client } = useChatContext();
|
|
4306
4308
|
const { unreadThreadCount } = useStateStore(
|
|
4307
4309
|
client.threads.state,
|
|
4308
4310
|
unreadThreadCountSelector
|
|
@@ -4320,10 +4322,7 @@ const ChatViewThreadsSelectorButton = ({
|
|
|
4320
4322
|
Icon: IconThread,
|
|
4321
4323
|
iconOnly,
|
|
4322
4324
|
isActive,
|
|
4323
|
-
onPointerDown: () =>
|
|
4324
|
-
openMobileNav();
|
|
4325
|
-
setActiveChatView("threads");
|
|
4326
|
-
},
|
|
4325
|
+
onPointerDown: () => setActiveChatView("threads"),
|
|
4327
4326
|
text: t("Threads"),
|
|
4328
4327
|
children: /* @__PURE__ */ jsx(UnreadCountBadge, { count: unreadThreadCount, position: "top-right", children: isActive ? /* @__PURE__ */ jsx(IconThreadFill, {}) : /* @__PURE__ */ jsx(IconThread, {}) })
|
|
4329
4328
|
}
|
|
@@ -4342,19 +4341,7 @@ const defaultChatViewSelectorItemSet = [
|
|
|
4342
4341
|
const ChatViewSelector = ({
|
|
4343
4342
|
iconOnly = true,
|
|
4344
4343
|
itemSet = defaultChatViewSelectorItemSet
|
|
4345
|
-
}) => {
|
|
4346
|
-
const { navOpen } = useChatContext("ChatView.Selector");
|
|
4347
|
-
return /* @__PURE__ */ jsx(
|
|
4348
|
-
"div",
|
|
4349
|
-
{
|
|
4350
|
-
className: clsx("str-chat__chat-view__selector", {
|
|
4351
|
-
"str-chat__chat-view__selector--nav-closed": navOpen === false,
|
|
4352
|
-
"str-chat__chat-view__selector--nav-open": navOpen === true
|
|
4353
|
-
}),
|
|
4354
|
-
children: itemSet.map(({ Component, type }) => /* @__PURE__ */ jsx(Component, { iconOnly }, type))
|
|
4355
|
-
}
|
|
4356
|
-
);
|
|
4357
|
-
};
|
|
4344
|
+
}) => /* @__PURE__ */ jsx("div", { className: "str-chat__chat-view__selector", children: itemSet.map(({ Component, type }) => /* @__PURE__ */ jsx(Component, { iconOnly }, type)) });
|
|
4358
4345
|
ChatView.Channels = ChannelsView;
|
|
4359
4346
|
ChatView.Threads = ThreadsView;
|
|
4360
4347
|
ChatView.ThreadAdapter = ThreadAdapter;
|
|
@@ -4371,6 +4358,115 @@ const useNotificationTarget = () => {
|
|
|
4371
4358
|
if (channels) return "channel-list";
|
|
4372
4359
|
return void 0;
|
|
4373
4360
|
};
|
|
4361
|
+
const SYSTEM_NOTIFICATION_TAG = "system";
|
|
4362
|
+
const hasSystemNotificationTag = (notification) => notification.tags?.includes(SYSTEM_NOTIFICATION_TAG) ?? false;
|
|
4363
|
+
const getTargetTags = (targetPanels, inferredPanel, tags) => {
|
|
4364
|
+
if (targetPanels) {
|
|
4365
|
+
return Array.from(
|
|
4366
|
+
/* @__PURE__ */ new Set([...targetPanels.map(getNotificationTargetTag), ...tags ?? []])
|
|
4367
|
+
);
|
|
4368
|
+
}
|
|
4369
|
+
return addNotificationTargetTag(inferredPanel, tags);
|
|
4370
|
+
};
|
|
4371
|
+
const getTypeFromIncident = ({
|
|
4372
|
+
incident,
|
|
4373
|
+
severity,
|
|
4374
|
+
type
|
|
4375
|
+
}) => {
|
|
4376
|
+
if (type) return type;
|
|
4377
|
+
if (!incident) return void 0;
|
|
4378
|
+
const status = incident.status ?? (severity === "error" ? "failed" : severity === "success" ? "success" : severity);
|
|
4379
|
+
return [incident.domain, incident.entity, incident.operation, status].filter((segment) => !!segment).join(":");
|
|
4380
|
+
};
|
|
4381
|
+
const useNotificationApi = () => {
|
|
4382
|
+
const { client } = useChatContext();
|
|
4383
|
+
const inferredPanel = useNotificationTarget();
|
|
4384
|
+
const addNotification = useCallback(
|
|
4385
|
+
({
|
|
4386
|
+
actions,
|
|
4387
|
+
context,
|
|
4388
|
+
duration,
|
|
4389
|
+
emitter,
|
|
4390
|
+
error,
|
|
4391
|
+
incident,
|
|
4392
|
+
message,
|
|
4393
|
+
severity,
|
|
4394
|
+
tags,
|
|
4395
|
+
targetPanels,
|
|
4396
|
+
type
|
|
4397
|
+
}) => {
|
|
4398
|
+
const notificationTags = getTargetTags(targetPanels, inferredPanel, tags);
|
|
4399
|
+
const resolvedType = getTypeFromIncident({ incident, severity, type });
|
|
4400
|
+
const origin = context ? { context, emitter } : { emitter };
|
|
4401
|
+
const options = {
|
|
4402
|
+
...actions ? { actions } : {},
|
|
4403
|
+
...typeof duration === "number" ? { duration } : {},
|
|
4404
|
+
...error ? { originalError: error } : {},
|
|
4405
|
+
...notificationTags.length > 0 ? { tags: notificationTags } : {},
|
|
4406
|
+
...severity ? { severity } : {},
|
|
4407
|
+
...resolvedType ? { type: resolvedType } : {}
|
|
4408
|
+
};
|
|
4409
|
+
client.notifications.add({
|
|
4410
|
+
message,
|
|
4411
|
+
options,
|
|
4412
|
+
origin
|
|
4413
|
+
});
|
|
4414
|
+
},
|
|
4415
|
+
[client, inferredPanel]
|
|
4416
|
+
);
|
|
4417
|
+
const addSystemNotification = useCallback(
|
|
4418
|
+
({
|
|
4419
|
+
actions,
|
|
4420
|
+
context,
|
|
4421
|
+
duration,
|
|
4422
|
+
emitter,
|
|
4423
|
+
error,
|
|
4424
|
+
incident,
|
|
4425
|
+
message,
|
|
4426
|
+
severity,
|
|
4427
|
+
tags,
|
|
4428
|
+
type
|
|
4429
|
+
}) => {
|
|
4430
|
+
const notificationTags = Array.from(
|
|
4431
|
+
/* @__PURE__ */ new Set([SYSTEM_NOTIFICATION_TAG, ...tags ?? []])
|
|
4432
|
+
);
|
|
4433
|
+
const resolvedType = getTypeFromIncident({ incident, severity, type });
|
|
4434
|
+
const origin = context ? { context, emitter } : { emitter };
|
|
4435
|
+
const options = {
|
|
4436
|
+
...actions ? { actions } : {},
|
|
4437
|
+
...typeof duration === "number" ? { duration } : {},
|
|
4438
|
+
...error ? { originalError: error } : {},
|
|
4439
|
+
...notificationTags.length > 0 ? { tags: notificationTags } : {},
|
|
4440
|
+
...severity ? { severity } : {},
|
|
4441
|
+
...resolvedType ? { type: resolvedType } : {}
|
|
4442
|
+
};
|
|
4443
|
+
return client.notifications.add({
|
|
4444
|
+
message,
|
|
4445
|
+
options,
|
|
4446
|
+
origin
|
|
4447
|
+
});
|
|
4448
|
+
},
|
|
4449
|
+
[client]
|
|
4450
|
+
);
|
|
4451
|
+
const removeNotification = useCallback(
|
|
4452
|
+
(id) => {
|
|
4453
|
+
client.notifications.remove(id);
|
|
4454
|
+
},
|
|
4455
|
+
[client]
|
|
4456
|
+
);
|
|
4457
|
+
const startNotificationTimeout = useCallback(
|
|
4458
|
+
(id) => {
|
|
4459
|
+
client.notifications.startTimeout(id);
|
|
4460
|
+
},
|
|
4461
|
+
[client]
|
|
4462
|
+
);
|
|
4463
|
+
return {
|
|
4464
|
+
addNotification,
|
|
4465
|
+
addSystemNotification,
|
|
4466
|
+
removeNotification,
|
|
4467
|
+
startNotificationTimeout
|
|
4468
|
+
};
|
|
4469
|
+
};
|
|
4374
4470
|
const AudioPlayerContext = React.createContext({
|
|
4375
4471
|
audioPlayers: null
|
|
4376
4472
|
});
|
|
@@ -4399,7 +4495,7 @@ const useAudioPlayer = ({
|
|
|
4399
4495
|
title,
|
|
4400
4496
|
waveformData
|
|
4401
4497
|
}) => {
|
|
4402
|
-
const {
|
|
4498
|
+
const { addNotification } = useNotificationApi();
|
|
4403
4499
|
const panel = useNotificationTarget();
|
|
4404
4500
|
const { t } = useTranslationContext();
|
|
4405
4501
|
const { audioPlayers } = useContext(AudioPlayerContext);
|
|
@@ -4417,7 +4513,7 @@ const useAudioPlayer = ({
|
|
|
4417
4513
|
useEffect(() => {
|
|
4418
4514
|
if (!audioPlayer) return;
|
|
4419
4515
|
const notificationsPlugin = audioPlayerNotificationsPluginFactory({
|
|
4420
|
-
|
|
4516
|
+
addNotification,
|
|
4421
4517
|
panel,
|
|
4422
4518
|
t
|
|
4423
4519
|
});
|
|
@@ -4425,7 +4521,7 @@ const useAudioPlayer = ({
|
|
|
4425
4521
|
...currentPlugins.filter((plugin) => plugin.id !== notificationsPlugin.id),
|
|
4426
4522
|
notificationsPlugin
|
|
4427
4523
|
]);
|
|
4428
|
-
}, [
|
|
4524
|
+
}, [addNotification, audioPlayer, panel, t]);
|
|
4429
4525
|
return audioPlayer;
|
|
4430
4526
|
};
|
|
4431
4527
|
const activeAudioPlayerSelector = ({ activeAudioPlayer }) => ({
|
|
@@ -4437,101 +4533,101 @@ const useActiveAudioPlayer = () => {
|
|
|
4437
4533
|
return activeAudioPlayer;
|
|
4438
4534
|
};
|
|
4439
4535
|
export {
|
|
4440
|
-
|
|
4441
|
-
|
|
4536
|
+
IconLink as $,
|
|
4537
|
+
IconNoSign as A,
|
|
4442
4538
|
Button as B,
|
|
4443
4539
|
ComponentContext as C,
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4540
|
+
isMessageErrorRetryable as D,
|
|
4541
|
+
ACTIONS_NOT_WORKING_IN_THREAD as E,
|
|
4542
|
+
useNotificationApi as F,
|
|
4543
|
+
IconArrowUpRight as G,
|
|
4544
|
+
IconPin as H,
|
|
4449
4545
|
IconPauseFill as I,
|
|
4450
|
-
|
|
4451
|
-
|
|
4546
|
+
mapToUserNameOrId as J,
|
|
4547
|
+
IconClock as K,
|
|
4452
4548
|
LocalizedFormat as L,
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4549
|
+
IconCheckmark1Small as M,
|
|
4550
|
+
IconChecks as N,
|
|
4551
|
+
getReadByTooltipText as O,
|
|
4552
|
+
messageHasAttachments as P,
|
|
4553
|
+
messageTextHasEmojisOnly as Q,
|
|
4554
|
+
isDate as R,
|
|
4555
|
+
getDateString as S,
|
|
4556
|
+
IconTranslate as T,
|
|
4557
|
+
useMessageComposerContext as U,
|
|
4558
|
+
useIsCooldownActive as V,
|
|
4559
|
+
IconXmarkSmall as W,
|
|
4560
|
+
IconImage as X,
|
|
4561
|
+
IconPoll as Y,
|
|
4562
|
+
IconLocation as Z,
|
|
4563
|
+
IconFile as _,
|
|
4468
4564
|
useMessageComposerController as a,
|
|
4469
4565
|
processMessages as a$,
|
|
4470
|
-
|
|
4471
|
-
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4566
|
+
IconVideo as a0,
|
|
4567
|
+
IconCamera as a1,
|
|
4568
|
+
IconVoice as a2,
|
|
4569
|
+
IconBookmark as a3,
|
|
4570
|
+
IconBell as a4,
|
|
4571
|
+
IconChevronDown as a5,
|
|
4572
|
+
IconMinus as a6,
|
|
4573
|
+
IconPlusSmall as a7,
|
|
4574
|
+
IconCheckmark as a8,
|
|
4575
|
+
DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD as a9,
|
|
4576
|
+
useChatViewContext as aA,
|
|
4577
|
+
MESSAGE_ACTIONS as aB,
|
|
4578
|
+
LegacyThreadContext as aC,
|
|
4579
|
+
IconReply as aD,
|
|
4580
|
+
IconEmoji as aE,
|
|
4581
|
+
IconMore as aF,
|
|
4582
|
+
IconUserCheck as aG,
|
|
4583
|
+
IconBookmarkRemove as aH,
|
|
4584
|
+
IconBellOff as aI,
|
|
4585
|
+
IconNotification as aJ,
|
|
4586
|
+
IconEdit as aK,
|
|
4587
|
+
IconCopy as aL,
|
|
4588
|
+
IconUnpin as aM,
|
|
4589
|
+
IconQuote as aN,
|
|
4590
|
+
IconThread as aO,
|
|
4591
|
+
IconEmojiAdd as aP,
|
|
4592
|
+
areMessageUIPropsEqual as aQ,
|
|
4593
|
+
isDateSeparatorMessage as aR,
|
|
4594
|
+
isMessageBlocked as aS,
|
|
4595
|
+
messageHasSingleAttachment as aT,
|
|
4596
|
+
messageHasGiphyAttachment as aU,
|
|
4597
|
+
messageHasReactions as aV,
|
|
4598
|
+
messageHasQuotedMessage as aW,
|
|
4503
4599
|
isMessageEdited as aX,
|
|
4504
4600
|
countEmojis as aY,
|
|
4505
4601
|
areMessagePropsEqual as aZ,
|
|
4506
4602
|
getMessageActions as a_,
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4603
|
+
IconTrophy as aa,
|
|
4604
|
+
IconReorder as ab,
|
|
4605
|
+
IconMinusCircle as ac,
|
|
4606
|
+
IconSend as ad,
|
|
4607
|
+
IconAudio as ae,
|
|
4608
|
+
IconUserAdd as af,
|
|
4609
|
+
IconMute as ag,
|
|
4610
|
+
IconGiphy as ah,
|
|
4611
|
+
IconFlag as ai,
|
|
4612
|
+
IconUserRemove as aj,
|
|
4613
|
+
IconAttachment as ak,
|
|
4614
|
+
IconCommand as al,
|
|
4615
|
+
CHANNEL_CONTAINER_ID as am,
|
|
4616
|
+
IconPlus as an,
|
|
4617
|
+
IconUnsupportedAttachment as ao,
|
|
4618
|
+
IconExclamationTriangleFill as ap,
|
|
4619
|
+
useAudioPlayer as aq,
|
|
4620
|
+
IconMicrophoneSolid as ar,
|
|
4621
|
+
IconVideoFill as as,
|
|
4622
|
+
IconRetry as at,
|
|
4623
|
+
IconArrowDownCircle as au,
|
|
4624
|
+
IconBolt as av,
|
|
4625
|
+
IconDelete as aw,
|
|
4626
|
+
IconUpload as ax,
|
|
4627
|
+
MessageComposerContextProvider as ay,
|
|
4628
|
+
useTypingContext as az,
|
|
4533
4629
|
useChannelActionContext as b,
|
|
4534
|
-
|
|
4630
|
+
useLegacyThreadContext as b$,
|
|
4535
4631
|
insertIntro as b0,
|
|
4536
4632
|
getGroupStyles as b1,
|
|
4537
4633
|
getLastReceived as b2,
|
|
@@ -4542,69 +4638,75 @@ export {
|
|
|
4542
4638
|
IconArrowDown as b7,
|
|
4543
4639
|
DEFAULT_NEXT_CHANNEL_PAGE_SIZE as b8,
|
|
4544
4640
|
EmptyStateIndicator as b9,
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4641
|
+
Channel as bA,
|
|
4642
|
+
ChatViewContext as bB,
|
|
4643
|
+
ChatView as bC,
|
|
4644
|
+
useActiveThread as bD,
|
|
4645
|
+
ChatViewSelectorButton as bE,
|
|
4646
|
+
ChatViewChannelsSelectorButton as bF,
|
|
4647
|
+
ChatViewThreadsSelectorButton as bG,
|
|
4648
|
+
defaultChatViewSelectorItemSet as bH,
|
|
4649
|
+
createIcon as bI,
|
|
4650
|
+
IconMessageBubble as bJ,
|
|
4651
|
+
IconMessageBubbleFill as bK,
|
|
4652
|
+
IconThreadFill as bL,
|
|
4653
|
+
LoadingChannel as bM,
|
|
4654
|
+
LoadingErrorIndicator as bN,
|
|
4655
|
+
validateAndGetMessage as bO,
|
|
4656
|
+
OPTIONAL_MESSAGE_ACTIONS as bP,
|
|
4657
|
+
getImages as bQ,
|
|
4658
|
+
getNonImageAttachments as bR,
|
|
4659
|
+
makeIntroMessage as bS,
|
|
4660
|
+
makeDateMessageId as bT,
|
|
4661
|
+
hasMoreMessagesProbably as bU,
|
|
4662
|
+
SYSTEM_NOTIFICATION_TAG as bV,
|
|
4663
|
+
isNotificationTargetPanel as bW,
|
|
4664
|
+
getNotificationTargetPanel as bX,
|
|
4665
|
+
getNotificationTargetPanels as bY,
|
|
4666
|
+
getNotificationTargetTag as bZ,
|
|
4667
|
+
addNotificationTargetTag as b_,
|
|
4668
|
+
useNotificationTarget as ba,
|
|
4669
|
+
getChannel as bb,
|
|
4670
|
+
IconSearch as bc,
|
|
4671
|
+
IconXCircle as bd,
|
|
4672
|
+
useChannelListContext as be,
|
|
4673
|
+
DEFAULT_JUMP_TO_PAGE_SIZE as bf,
|
|
4674
|
+
ChannelListContextProvider as bg,
|
|
4675
|
+
IconArchive as bh,
|
|
4676
|
+
IconLeave as bi,
|
|
4581
4677
|
IconExclamationCircleFill as bj,
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
|
|
4591
|
-
|
|
4592
|
-
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4597
|
-
|
|
4678
|
+
useThreadsViewContext as bk,
|
|
4679
|
+
IconMessageBubbles as bl,
|
|
4680
|
+
IconRefresh as bm,
|
|
4681
|
+
hasSystemNotificationTag as bn,
|
|
4682
|
+
IconEyeFill as bo,
|
|
4683
|
+
defaultDateTimeParser as bp,
|
|
4684
|
+
isLanguageSupported as bq,
|
|
4685
|
+
ChatProvider as br,
|
|
4686
|
+
TranslationProvider as bs,
|
|
4687
|
+
useActiveAudioPlayer as bt,
|
|
4688
|
+
WithAudioPlayback as bu,
|
|
4689
|
+
defaultRegisterAudioPlayerError as bv,
|
|
4690
|
+
elementIsPlaying as bw,
|
|
4691
|
+
AudioPlayer as bx,
|
|
4692
|
+
useEditMessageHandler as by,
|
|
4693
|
+
useMentionsHandlers as bz,
|
|
4598
4694
|
useTranslationContext as c,
|
|
4599
|
-
|
|
4600
|
-
|
|
4601
|
-
|
|
4602
|
-
|
|
4603
|
-
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
|
|
4607
|
-
|
|
4695
|
+
ThreadContext as c0,
|
|
4696
|
+
ThreadProvider as c1,
|
|
4697
|
+
ChannelActionContext as c2,
|
|
4698
|
+
ChannelActionProvider as c3,
|
|
4699
|
+
ChannelListContext as c4,
|
|
4700
|
+
ChannelStateContext as c5,
|
|
4701
|
+
ChannelStateProvider as c6,
|
|
4702
|
+
ChatContext as c7,
|
|
4703
|
+
ComponentProvider as c8,
|
|
4704
|
+
MessageComposerContext as c9,
|
|
4705
|
+
TranslationContext as ca,
|
|
4706
|
+
TypingContext as cb,
|
|
4707
|
+
TypingProvider as cc,
|
|
4708
|
+
isDayOrMoment as cd,
|
|
4709
|
+
isNumberOrString as ce,
|
|
4608
4710
|
useChannelStateContext as d,
|
|
4609
4711
|
useChatContext as e,
|
|
4610
4712
|
isNotificationForPanel as f,
|
|
@@ -4614,19 +4716,19 @@ export {
|
|
|
4614
4716
|
defaultTranslatorFunction as j,
|
|
4615
4717
|
calendar as k,
|
|
4616
4718
|
IconLoading as l,
|
|
4617
|
-
|
|
4618
|
-
|
|
4619
|
-
|
|
4719
|
+
useComponentContext as m,
|
|
4720
|
+
isNetworkSendFailure as n,
|
|
4721
|
+
isUserMuted as o,
|
|
4620
4722
|
predefinedFormatters as p,
|
|
4621
4723
|
useThreadContext as q,
|
|
4622
4724
|
usePopoverPosition as r,
|
|
4623
|
-
|
|
4624
|
-
|
|
4725
|
+
IconXmark as s,
|
|
4726
|
+
IconUser as t,
|
|
4625
4727
|
useStateStore as u,
|
|
4626
|
-
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
|
|
4728
|
+
IconExclamationMarkFill as v,
|
|
4729
|
+
IconChevronRight as w,
|
|
4730
|
+
IconChevronLeft as x,
|
|
4731
|
+
IconArrowLeft as y,
|
|
4732
|
+
IconExclamationMark as z
|
|
4631
4733
|
};
|
|
4632
|
-
//# sourceMappingURL=WithAudioPlayback.
|
|
4734
|
+
//# sourceMappingURL=WithAudioPlayback.21b7f35a.mjs.map
|