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.
Files changed (191) hide show
  1. package/dist/cjs/{WithAudioPlayback.f9abf707.js → WithAudioPlayback.83ba0e35.js} +255 -153
  2. package/dist/cjs/WithAudioPlayback.83ba0e35.js.map +1 -0
  3. package/dist/cjs/emojis.js +5 -2
  4. package/dist/cjs/emojis.js.map +1 -1
  5. package/dist/cjs/index.js +1584 -1421
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/css/emoji-picker.css +11 -0
  8. package/dist/css/emoji-picker.css.map +1 -0
  9. package/dist/css/index.css +554 -345
  10. package/dist/css/index.css.map +1 -1
  11. package/dist/es/{WithAudioPlayback.d90f1a99.mjs → WithAudioPlayback.21b7f35a.mjs} +405 -303
  12. package/dist/es/WithAudioPlayback.21b7f35a.mjs.map +1 -0
  13. package/dist/es/emojis.mjs +5 -2
  14. package/dist/es/emojis.mjs.map +1 -1
  15. package/dist/es/index.mjs +1665 -1502
  16. package/dist/es/index.mjs.map +1 -1
  17. package/dist/types/components/Attachment/Audio.d.ts.map +1 -1
  18. package/dist/types/components/Attachment/FileAttachment.d.ts.map +1 -1
  19. package/dist/types/components/Attachment/UnsupportedAttachment.d.ts +1 -1
  20. package/dist/types/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
  21. package/dist/types/components/Attachment/VoiceRecording.d.ts.map +1 -1
  22. package/dist/types/components/Attachment/components/FileSizeIndicator.d.ts +1 -2
  23. package/dist/types/components/Attachment/components/FileSizeIndicator.d.ts.map +1 -1
  24. package/dist/types/components/AudioPlayback/components/useInteractiveProgressBar.d.ts.map +1 -1
  25. package/dist/types/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts +4 -4
  26. package/dist/types/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts.map +1 -1
  27. package/dist/types/components/Badge/MediaBadge.d.ts +8 -0
  28. package/dist/types/components/Badge/MediaBadge.d.ts.map +1 -0
  29. package/dist/types/components/Channel/Channel.d.ts.map +1 -1
  30. package/dist/types/components/ChannelHeader/ChannelHeader.d.ts +0 -2
  31. package/dist/types/components/ChannelHeader/ChannelHeader.d.ts.map +1 -1
  32. package/dist/types/components/ChannelList/ChannelList.d.ts.map +1 -1
  33. package/dist/types/components/ChannelList/ChannelListHeader.d.ts +1 -5
  34. package/dist/types/components/ChannelList/ChannelListHeader.d.ts.map +1 -1
  35. package/dist/types/components/ChannelList/hooks/index.d.ts +0 -11
  36. package/dist/types/components/ChannelList/hooks/index.d.ts.map +1 -1
  37. package/dist/types/components/ChannelList/utils.d.ts +0 -9
  38. package/dist/types/components/ChannelList/utils.d.ts.map +1 -1
  39. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts +0 -2
  40. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts.map +1 -1
  41. package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.defaults.d.ts.map +1 -1
  42. package/dist/types/components/Chat/Chat.d.ts +1 -5
  43. package/dist/types/components/Chat/Chat.d.ts.map +1 -1
  44. package/dist/types/components/Chat/hooks/useChat.d.ts +1 -10
  45. package/dist/types/components/Chat/hooks/useChat.d.ts.map +1 -1
  46. package/dist/types/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  47. package/dist/types/components/Chat/hooks/useReportLostConnectionSystemNotification.d.ts +6 -0
  48. package/dist/types/components/Chat/hooks/useReportLostConnectionSystemNotification.d.ts.map +1 -0
  49. package/dist/types/components/Chat/index.d.ts +1 -0
  50. package/dist/types/components/Chat/index.d.ts.map +1 -1
  51. package/dist/types/components/ChatView/ChatView.d.ts.map +1 -1
  52. package/dist/types/components/Dialog/components/ContextMenu.d.ts +1 -1
  53. package/dist/types/components/Dialog/components/ContextMenu.d.ts.map +1 -1
  54. package/dist/types/components/Dialog/hooks/useDialog.d.ts.map +1 -1
  55. package/dist/types/components/Dialog/service/DialogManager.d.ts +3 -2
  56. package/dist/types/components/Dialog/service/DialogManager.d.ts.map +1 -1
  57. package/dist/types/components/Icons/icons.d.ts +18 -6
  58. package/dist/types/components/Icons/icons.d.ts.map +1 -1
  59. package/dist/types/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +0 -20
  60. package/dist/types/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
  61. package/dist/types/components/LoadMore/LoadMoreButton.d.ts +1 -6
  62. package/dist/types/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
  63. package/dist/types/components/LoadMore/LoadMorePaginator.d.ts.map +1 -1
  64. package/dist/types/components/Loading/UploadProgressIndicator.d.ts +5 -0
  65. package/dist/types/components/Loading/UploadProgressIndicator.d.ts.map +1 -0
  66. package/dist/types/components/Loading/UploadedSizeIndicator.d.ts +6 -0
  67. package/dist/types/components/Loading/UploadedSizeIndicator.d.ts.map +1 -0
  68. package/dist/types/components/Loading/index.d.ts +3 -0
  69. package/dist/types/components/Loading/index.d.ts.map +1 -1
  70. package/dist/types/components/Loading/progress-indicators.d.ts +7 -0
  71. package/dist/types/components/Loading/progress-indicators.d.ts.map +1 -0
  72. package/dist/types/components/Location/ShareLocationDialog.d.ts.map +1 -1
  73. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.d.ts.map +1 -1
  74. package/dist/types/components/Message/Message.d.ts.map +1 -1
  75. package/dist/types/components/Message/MessageAlsoSentInChannelIndicator.d.ts.map +1 -1
  76. package/dist/types/components/Message/MessageUI.d.ts.map +1 -1
  77. package/dist/types/components/Message/hooks/useDeleteHandler.d.ts +1 -5
  78. package/dist/types/components/Message/hooks/useDeleteHandler.d.ts.map +1 -1
  79. package/dist/types/components/Message/hooks/useFlagHandler.d.ts +1 -6
  80. package/dist/types/components/Message/hooks/useFlagHandler.d.ts.map +1 -1
  81. package/dist/types/components/Message/hooks/useMarkUnreadHandler.d.ts +1 -6
  82. package/dist/types/components/Message/hooks/useMarkUnreadHandler.d.ts.map +1 -1
  83. package/dist/types/components/Message/hooks/useMuteHandler.d.ts +2 -7
  84. package/dist/types/components/Message/hooks/useMuteHandler.d.ts.map +1 -1
  85. package/dist/types/components/Message/hooks/usePinHandler.d.ts +1 -23
  86. package/dist/types/components/Message/hooks/usePinHandler.d.ts.map +1 -1
  87. package/dist/types/components/Message/hooks/useReactionsFetcher.d.ts +1 -6
  88. package/dist/types/components/Message/hooks/useReactionsFetcher.d.ts.map +1 -1
  89. package/dist/types/components/Message/hooks/useUserRole.d.ts +1 -1
  90. package/dist/types/components/Message/hooks/useUserRole.d.ts.map +1 -1
  91. package/dist/types/components/Message/types.d.ts +1 -23
  92. package/dist/types/components/Message/types.d.ts.map +1 -1
  93. package/dist/types/components/Message/utils.d.ts +1 -2
  94. package/dist/types/components/Message/utils.d.ts.map +1 -1
  95. package/dist/types/components/MessageActions/MessageActions.defaults.d.ts.map +1 -1
  96. package/dist/types/components/MessageActions/RemindMeSubmenu.d.ts.map +1 -1
  97. package/dist/types/components/MessageComposer/AttachmentPreviewList/AttachmentUploadedSizeIndicator.d.ts +14 -0
  98. package/dist/types/components/MessageComposer/AttachmentPreviewList/AttachmentUploadedSizeIndicator.d.ts.map +1 -0
  99. package/dist/types/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.d.ts.map +1 -1
  100. package/dist/types/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.d.ts.map +1 -1
  101. package/dist/types/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.d.ts.map +1 -1
  102. package/dist/types/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts +1 -1
  103. package/dist/types/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts.map +1 -1
  104. package/dist/types/components/MessageComposer/hooks/useSubmitHandler.d.ts.map +1 -1
  105. package/dist/types/components/MessageComposer/icons.d.ts +0 -1
  106. package/dist/types/components/MessageComposer/icons.d.ts.map +1 -1
  107. package/dist/types/components/MessageList/MessageList.d.ts +1 -1
  108. package/dist/types/components/MessageList/MessageList.d.ts.map +1 -1
  109. package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts.map +1 -1
  110. package/dist/types/components/MessageList/index.d.ts +0 -1
  111. package/dist/types/components/MessageList/index.d.ts.map +1 -1
  112. package/dist/types/components/MessageList/utils.d.ts +0 -1
  113. package/dist/types/components/MessageList/utils.d.ts.map +1 -1
  114. package/dist/types/components/Notifications/NotificationList.d.ts.map +1 -1
  115. package/dist/types/components/Notifications/hooks/index.d.ts +2 -0
  116. package/dist/types/components/Notifications/hooks/index.d.ts.map +1 -1
  117. package/dist/types/components/Notifications/hooks/useNotificationApi.d.ts +63 -0
  118. package/dist/types/components/Notifications/hooks/useNotificationApi.d.ts.map +1 -0
  119. package/dist/types/components/Notifications/hooks/useSystemNotifications.d.ts +14 -0
  120. package/dist/types/components/Notifications/hooks/useSystemNotifications.d.ts.map +1 -0
  121. package/dist/types/components/Notifications/notificationTarget.d.ts +1 -0
  122. package/dist/types/components/Notifications/notificationTarget.d.ts.map +1 -1
  123. package/dist/types/components/Poll/PollActions/EndPollAlert.d.ts.map +1 -1
  124. package/dist/types/components/ReactFileUtilities/UploadButton.d.ts +3 -11
  125. package/dist/types/components/ReactFileUtilities/UploadButton.d.ts.map +1 -1
  126. package/dist/types/components/Reactions/MessageReactions.d.ts.map +1 -1
  127. package/dist/types/components/Reactions/MessageReactionsDetail.d.ts +12 -2
  128. package/dist/types/components/Reactions/MessageReactionsDetail.d.ts.map +1 -1
  129. package/dist/types/components/Reactions/ReactionSelector.d.ts +3 -0
  130. package/dist/types/components/Reactions/ReactionSelector.d.ts.map +1 -1
  131. package/dist/types/components/Reactions/hooks/useFetchReactions.d.ts.map +1 -1
  132. package/dist/types/components/Reactions/index.d.ts +0 -1
  133. package/dist/types/components/Reactions/index.d.ts.map +1 -1
  134. package/dist/types/components/SummarizedMessagePreview/SummarizedMessagePreview.d.ts.map +1 -1
  135. package/dist/types/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.d.ts +1 -1
  136. package/dist/types/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.d.ts.map +1 -1
  137. package/dist/types/components/Thread/ThreadHeader.d.ts +0 -2
  138. package/dist/types/components/Thread/ThreadHeader.d.ts.map +1 -1
  139. package/dist/types/components/Threads/ThreadList/ThreadList.d.ts.map +1 -1
  140. package/dist/types/components/Threads/ThreadList/ThreadListHeader.d.ts +1 -5
  141. package/dist/types/components/Threads/ThreadList/ThreadListHeader.d.ts.map +1 -1
  142. package/dist/types/components/Threads/ThreadList/ThreadListItemUI.d.ts.map +1 -1
  143. package/dist/types/components/index.d.ts +2 -2
  144. package/dist/types/components/index.d.ts.map +1 -1
  145. package/dist/types/context/ChatContext.d.ts +0 -3
  146. package/dist/types/context/ChatContext.d.ts.map +1 -1
  147. package/dist/types/context/ComponentContext.d.ts +18 -2
  148. package/dist/types/context/ComponentContext.d.ts.map +1 -1
  149. package/dist/types/context/MessageContext.d.ts +0 -3
  150. package/dist/types/context/MessageContext.d.ts.map +1 -1
  151. package/dist/types/i18n/Streami18n.d.ts +21 -11
  152. package/dist/types/i18n/Streami18n.d.ts.map +1 -1
  153. package/dist/types/plugins/Emojis/EmojiPicker.d.ts +0 -6
  154. package/dist/types/plugins/Emojis/EmojiPicker.d.ts.map +1 -1
  155. package/dist/types/types/types.d.ts +0 -5
  156. package/dist/types/types/types.d.ts.map +1 -1
  157. package/package.json +4 -4
  158. package/dist/cjs/WithAudioPlayback.f9abf707.js.map +0 -1
  159. package/dist/es/WithAudioPlayback.d90f1a99.mjs.map +0 -1
  160. package/dist/types/components/Button/ToggleSidebarButton.d.ts +0 -10
  161. package/dist/types/components/Button/ToggleSidebarButton.d.ts.map +0 -1
  162. package/dist/types/components/ChannelHeader/hooks/useIsMobileViewport.d.ts +0 -3
  163. package/dist/types/components/ChannelHeader/hooks/useIsMobileViewport.d.ts.map +0 -1
  164. package/dist/types/components/ChannelList/hooks/useChannelDeletedListener.d.ts +0 -3
  165. package/dist/types/components/ChannelList/hooks/useChannelDeletedListener.d.ts.map +0 -1
  166. package/dist/types/components/ChannelList/hooks/useChannelHiddenListener.d.ts +0 -3
  167. package/dist/types/components/ChannelList/hooks/useChannelHiddenListener.d.ts.map +0 -1
  168. package/dist/types/components/ChannelList/hooks/useChannelTruncatedListener.d.ts +0 -3
  169. package/dist/types/components/ChannelList/hooks/useChannelTruncatedListener.d.ts.map +0 -1
  170. package/dist/types/components/ChannelList/hooks/useChannelUpdatedListener.d.ts +0 -3
  171. package/dist/types/components/ChannelList/hooks/useChannelUpdatedListener.d.ts.map +0 -1
  172. package/dist/types/components/ChannelList/hooks/useChannelVisibleListener.d.ts +0 -3
  173. package/dist/types/components/ChannelList/hooks/useChannelVisibleListener.d.ts.map +0 -1
  174. package/dist/types/components/ChannelList/hooks/useMessageNewListener.d.ts +0 -3
  175. package/dist/types/components/ChannelList/hooks/useMessageNewListener.d.ts.map +0 -1
  176. package/dist/types/components/ChannelList/hooks/useMobileNavigation.d.ts +0 -2
  177. package/dist/types/components/ChannelList/hooks/useMobileNavigation.d.ts.map +0 -1
  178. package/dist/types/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts +0 -3
  179. package/dist/types/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts.map +0 -1
  180. package/dist/types/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +0 -3
  181. package/dist/types/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +0 -1
  182. package/dist/types/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts +0 -3
  183. package/dist/types/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts.map +0 -1
  184. package/dist/types/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts +0 -3
  185. package/dist/types/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts.map +0 -1
  186. package/dist/types/components/MessageList/ConnectionStatus.d.ts +0 -3
  187. package/dist/types/components/MessageList/ConnectionStatus.d.ts.map +0 -1
  188. package/dist/types/components/Reactions/StreamEmoji.d.ts +0 -19
  189. package/dist/types/components/Reactions/StreamEmoji.d.ts.map +0 -1
  190. package/dist/types/utils/deprecationWarning.d.ts +0 -2
  191. package/dist/types/utils/deprecationWarning.d.ts.map +0 -1
@@ -997,6 +997,33 @@ class AudioPlayerPool {
997
997
  }
998
998
  }
999
999
  }
1000
+ const audioPlayerNotificationsPluginFactory = ({
1001
+ addNotification,
1002
+ panel = "channel",
1003
+ t
1004
+ }) => {
1005
+ const errors = {
1006
+ "failed-to-start": new Error(t("Failed to play the recording")),
1007
+ "not-playable": new Error(
1008
+ t("Recording format is not supported and cannot be reproduced")
1009
+ ),
1010
+ "seek-not-supported": new Error(t("Cannot seek in the recording"))
1011
+ };
1012
+ return {
1013
+ id: "AudioPlayerNotificationsPlugin",
1014
+ onError: ({ errCode, error: e }) => {
1015
+ const error = (errCode && errors[errCode]) ?? e ?? new Error(t("Error reproducing the recording"));
1016
+ addNotification({
1017
+ emitter: "AudioPlayer",
1018
+ error,
1019
+ message: error.message,
1020
+ severity: "error",
1021
+ targetPanels: [panel],
1022
+ type: "browser:audio:playback:error"
1023
+ });
1024
+ }
1025
+ };
1026
+ };
1000
1027
  const NOTIFICATION_TARGET_PANELS = [
1001
1028
  "channel",
1002
1029
  "thread",
@@ -1013,46 +1040,29 @@ const getNotificationTargetPanel = (notification) => {
1013
1040
  const panel = notification.origin.context?.panel;
1014
1041
  return isNotificationTargetPanel(panel) ? panel : void 0;
1015
1042
  };
1043
+ const getNotificationTargetPanels = (notification) => {
1044
+ const targetPanels = (notification.tags ?? []).filter((tag) => tag.startsWith("target:")).map((tag) => tag.slice("target:".length)).filter(
1045
+ (value) => isNotificationTargetPanel(value)
1046
+ );
1047
+ if (targetPanels.length > 0) {
1048
+ return Array.from(new Set(targetPanels));
1049
+ }
1050
+ const panel = notification.origin.context?.panel;
1051
+ return isNotificationTargetPanel(panel) ? [panel] : [];
1052
+ };
1016
1053
  const getNotificationTargetTag = (panel) => `target:${panel}`;
1017
1054
  const addNotificationTargetTag = (panel, tags) => {
1018
1055
  if (!panel) return tags ?? [];
1019
1056
  return Array.from(/* @__PURE__ */ new Set([getNotificationTargetTag(panel), ...tags ?? []]));
1020
1057
  };
1021
1058
  const isNotificationForPanel = (notification, panel, options) => {
1022
- const fallbackPanel = options?.fallbackPanel ?? "channel";
1023
- const resolvedPanel = getNotificationTargetPanel(notification) ?? fallbackPanel;
1059
+ const explicitTargetPanels = getNotificationTargetPanels(notification);
1060
+ if (explicitTargetPanels.length > 0) {
1061
+ return explicitTargetPanels.includes(panel);
1062
+ }
1063
+ const resolvedPanel = options?.fallbackPanel ?? "channel";
1024
1064
  return resolvedPanel === panel;
1025
1065
  };
1026
- const audioPlayerNotificationsPluginFactory = ({
1027
- client,
1028
- panel = "channel",
1029
- t
1030
- }) => {
1031
- const errors = {
1032
- "failed-to-start": new Error(t("Failed to play the recording")),
1033
- "not-playable": new Error(
1034
- t("Recording format is not supported and cannot be reproduced")
1035
- ),
1036
- "seek-not-supported": new Error(t("Cannot seek in the recording"))
1037
- };
1038
- return {
1039
- id: "AudioPlayerNotificationsPlugin",
1040
- onError: ({ errCode, error: e }) => {
1041
- const error = (errCode && errors[errCode]) ?? e ?? new Error(t("Error reproducing the recording"));
1042
- client?.notifications.addError({
1043
- message: error.message,
1044
- options: {
1045
- originalError: error,
1046
- tags: addNotificationTargetTag(panel),
1047
- type: "browser:audio:playback:error"
1048
- },
1049
- origin: {
1050
- emitter: "AudioPlayer"
1051
- }
1052
- });
1053
- }
1054
- };
1055
- };
1056
1066
  const variantToClass = {
1057
1067
  danger: "str-chat__button--destructive",
1058
1068
  primary: "str-chat__button--primary",
@@ -1264,8 +1274,8 @@ const IconBellOff = createIcon(
1264
1274
  }
1265
1275
  )
1266
1276
  );
1267
- const IconSave = createIcon(
1268
- "IconSave",
1277
+ const IconBookmark = createIcon(
1278
+ "IconBookmark",
1269
1279
  /* @__PURE__ */ jsxRuntime.jsx(
1270
1280
  "path",
1271
1281
  {
@@ -1278,8 +1288,8 @@ const IconSave = createIcon(
1278
1288
  }
1279
1289
  )
1280
1290
  );
1281
- const IconUnsave = createIcon(
1282
- "IconUnsave",
1291
+ const IconBookmarkRemove = createIcon(
1292
+ "IconBookmarkRemove",
1283
1293
  /* @__PURE__ */ jsxRuntime.jsx(
1284
1294
  "path",
1285
1295
  {
@@ -1511,6 +1521,16 @@ const IconMinusCircle = createIcon(
1511
1521
  }
1512
1522
  )
1513
1523
  );
1524
+ const IconMinus = createIcon(
1525
+ "IconMinus",
1526
+ /* @__PURE__ */ jsxRuntime.jsx(
1527
+ "path",
1528
+ {
1529
+ 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",
1530
+ fill: "currentColor"
1531
+ }
1532
+ )
1533
+ );
1514
1534
  const IconXCircle = createIcon(
1515
1535
  "IconXCircle",
1516
1536
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1563,7 +1583,7 @@ const IconXmark = createIcon(
1563
1583
  stroke: "currentColor",
1564
1584
  strokeLinecap: "round",
1565
1585
  strokeLinejoin: "round",
1566
- strokeWidth: "1.5"
1586
+ strokeWidth: "2"
1567
1587
  }
1568
1588
  )
1569
1589
  );
@@ -1630,6 +1650,46 @@ const IconEmoji = createIcon(
1630
1650
  /* @__PURE__ */ jsxRuntime.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" })
1631
1651
  ] })
1632
1652
  );
1653
+ const IconEmojiAdd = createIcon(
1654
+ "IconEmojiAdd",
1655
+ /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1656
+ /* @__PURE__ */ jsxRuntime.jsx(
1657
+ "path",
1658
+ {
1659
+ 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",
1660
+ fill: "currentColor"
1661
+ }
1662
+ ),
1663
+ /* @__PURE__ */ jsxRuntime.jsx(
1664
+ "path",
1665
+ {
1666
+ 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",
1667
+ fill: "currentColor"
1668
+ }
1669
+ ),
1670
+ /* @__PURE__ */ jsxRuntime.jsx(
1671
+ "path",
1672
+ {
1673
+ 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",
1674
+ fill: "currentColor"
1675
+ }
1676
+ ),
1677
+ /* @__PURE__ */ jsxRuntime.jsx(
1678
+ "path",
1679
+ {
1680
+ 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",
1681
+ fill: "currentColor"
1682
+ }
1683
+ ),
1684
+ /* @__PURE__ */ jsxRuntime.jsx(
1685
+ "path",
1686
+ {
1687
+ 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",
1688
+ fill: "currentColor"
1689
+ }
1690
+ )
1691
+ ] })
1692
+ );
1633
1693
  const IconExclamationMarkFill = createIcon(
1634
1694
  "IconExclamationMarkFill",
1635
1695
  /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -1657,6 +1717,16 @@ const IconEyeFill = createIcon(
1657
1717
  "IconEyeFill",
1658
1718
  /* @__PURE__ */ jsxRuntime.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" })
1659
1719
  );
1720
+ const IconUnsupportedAttachment = createIcon(
1721
+ "IconUnsupportedAttachment",
1722
+ /* @__PURE__ */ jsxRuntime.jsx(
1723
+ "path",
1724
+ {
1725
+ 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",
1726
+ fill: "currentColor"
1727
+ }
1728
+ )
1729
+ );
1660
1730
  const IconUpload = createIcon(
1661
1731
  "IconUpload",
1662
1732
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1713,21 +1783,6 @@ const IconImage = createIcon(
1713
1783
  }
1714
1784
  )
1715
1785
  );
1716
- const IconSidebar = createIcon(
1717
- "IconSidebar",
1718
- /* @__PURE__ */ jsxRuntime.jsx(
1719
- "path",
1720
- {
1721
- 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",
1722
- fill: "none",
1723
- stroke: "currentColor",
1724
- strokeLinecap: "round",
1725
- strokeLinejoin: "round",
1726
- strokeWidth: "1.5"
1727
- }
1728
- ),
1729
- { "data-rtl-mirror": "" }
1730
- );
1731
1786
  const IconSearch = createIcon(
1732
1787
  "IconSearch",
1733
1788
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1784,6 +1839,16 @@ const IconVoice = createIcon(
1784
1839
  }
1785
1840
  )
1786
1841
  );
1842
+ const IconMicrophoneSolid = createIcon(
1843
+ "IconMicrophoneSolid",
1844
+ /* @__PURE__ */ jsxRuntime.jsx(
1845
+ "path",
1846
+ {
1847
+ 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",
1848
+ fill: "currentColor"
1849
+ }
1850
+ )
1851
+ );
1787
1852
  const IconMute = createIcon(
1788
1853
  "IconMute",
1789
1854
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1925,7 +1990,7 @@ const IconPlus = createIcon(
1925
1990
  stroke: "currentColor",
1926
1991
  strokeLinecap: "round",
1927
1992
  strokeLinejoin: "round",
1928
- strokeWidth: "1.5"
1993
+ strokeWidth: "2"
1929
1994
  }
1930
1995
  )
1931
1996
  );
@@ -2630,63 +2695,6 @@ const MESSAGE_ACTIONS = {
2630
2695
  reply: "reply",
2631
2696
  saveForLater: "saveForLater"
2632
2697
  };
2633
- const defaultPinPermissions = {
2634
- commerce: {
2635
- admin: true,
2636
- anonymous: false,
2637
- channel_member: false,
2638
- channel_moderator: true,
2639
- guest: false,
2640
- member: false,
2641
- moderator: true,
2642
- owner: true,
2643
- user: false
2644
- },
2645
- gaming: {
2646
- admin: true,
2647
- anonymous: false,
2648
- channel_member: false,
2649
- channel_moderator: true,
2650
- guest: false,
2651
- member: false,
2652
- moderator: true,
2653
- owner: false,
2654
- user: false
2655
- },
2656
- livestream: {
2657
- admin: true,
2658
- anonymous: false,
2659
- channel_member: false,
2660
- channel_moderator: true,
2661
- guest: false,
2662
- member: false,
2663
- moderator: true,
2664
- owner: true,
2665
- user: false
2666
- },
2667
- messaging: {
2668
- admin: true,
2669
- anonymous: false,
2670
- channel_member: true,
2671
- channel_moderator: true,
2672
- guest: false,
2673
- member: true,
2674
- moderator: true,
2675
- owner: true,
2676
- user: false
2677
- },
2678
- team: {
2679
- admin: true,
2680
- anonymous: false,
2681
- channel_member: true,
2682
- channel_moderator: true,
2683
- guest: false,
2684
- member: true,
2685
- moderator: true,
2686
- owner: true,
2687
- user: false
2688
- }
2689
- };
2690
2698
  const getMessageActions = (actions, {
2691
2699
  canDelete,
2692
2700
  canEdit,
@@ -2793,6 +2801,7 @@ const areMessageUIPropsEqual = (prevProps, nextProps) => {
2793
2801
  return areMessagesEqual(prevMessage, nextMessage);
2794
2802
  };
2795
2803
  const messageHasReactions = (message) => Object.values(message?.reaction_groups ?? {}).some(({ count }) => count > 0);
2804
+ const messageHasQuotedMessage = (message) => !!message?.quoted_message;
2796
2805
  const messageHasAttachments = (message) => !!message?.attachments && !!message.attachments.length;
2797
2806
  const messageHasSingleAttachment = (message) => message?.attachments?.length === 1;
2798
2807
  const messageHasGiphyAttachment = (message) => !!message?.attachments?.some((att) => att.type === "giphy");
@@ -3112,7 +3121,6 @@ const getGroupStyles = (message, previousMessage, nextMessage, noGroupByUser, ma
3112
3121
  return "";
3113
3122
  };
3114
3123
  const hasMoreMessagesProbably = (returnedCountMessages, limit) => returnedCountMessages >= limit;
3115
- const hasNotMoreMessages = (returnedCountMessages, limit) => returnedCountMessages < limit;
3116
3124
  function isIntroMessage(message) {
3117
3125
  return message.customType === CUSTOM_MESSAGE_TYPE.intro;
3118
3126
  }
@@ -3441,6 +3449,7 @@ const ChannelInner = (props) => {
3441
3449
  LoadingIndicator = LoadingChannel
3442
3450
  } = useComponentContext();
3443
3451
  const { client, customClasses, latestMessageDatesByChannels, mutes, searchController } = useChatContext("Channel");
3452
+ const { addNotification } = useNotificationApi();
3444
3453
  const { t } = useTranslationContext("Channel");
3445
3454
  const chatContainerClass = getChatContainerClass(customClasses?.chatContainer);
3446
3455
  const windowsEmojiClass = useImageFlagEmojisOnWindowsClass();
@@ -3686,18 +3695,15 @@ const ChannelInner = (props) => {
3686
3695
  handleHighlightedMessageChange({ highlightedMessageId: jumpToMessageFromSearch.id });
3687
3696
  }, [jumpToMessageFromSearch, handleHighlightedMessageChange]);
3688
3697
  const notifyJumpToFirstUnreadError = React.useCallback(() => {
3689
- client.notifications.addError({
3698
+ addNotification({
3699
+ context: { feature: "jumpToFirstUnread" },
3700
+ emitter: "Channel",
3690
3701
  message: t("Failed to jump to the first unread message"),
3691
- options: {
3692
- tags: addNotificationTargetTag("channel"),
3693
- type: "channel:jumpToFirstUnread:failed"
3694
- },
3695
- origin: {
3696
- context: { feature: "jumpToFirstUnread" },
3697
- emitter: "Channel"
3698
- }
3702
+ severity: "error",
3703
+ targetPanels: ["channel"],
3704
+ type: "channel:jumpToFirstUnread:failed"
3699
3705
  });
3700
- }, [client, t]);
3706
+ }, [addNotification, t]);
3701
3707
  const loadMoreFinished = React.useCallback(
3702
3708
  debounce(
3703
3709
  (hasMore, messages) => {
@@ -4298,7 +4304,6 @@ const ChatViewChannelsSelectorButton = ({
4298
4304
  iconOnly = true
4299
4305
  }) => {
4300
4306
  const { activeChatView, setActiveChatView } = useChatViewContext();
4301
- const { openMobileNav } = useChatContext("ChatViewChannelsSelectorButton");
4302
4307
  const { t } = useTranslationContext();
4303
4308
  const isActive = activeChatView === "channels";
4304
4309
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -4309,10 +4314,7 @@ const ChatViewChannelsSelectorButton = ({
4309
4314
  Icon: IconMessageBubble,
4310
4315
  iconOnly,
4311
4316
  isActive,
4312
- onPointerDown: () => {
4313
- openMobileNav();
4314
- setActiveChatView("channels");
4315
- },
4317
+ onPointerDown: () => setActiveChatView("channels"),
4316
4318
  text: t("Channels")
4317
4319
  }
4318
4320
  );
@@ -4320,7 +4322,7 @@ const ChatViewChannelsSelectorButton = ({
4320
4322
  const ChatViewThreadsSelectorButton = ({
4321
4323
  iconOnly = true
4322
4324
  }) => {
4323
- const { client, openMobileNav } = useChatContext();
4325
+ const { client } = useChatContext();
4324
4326
  const { unreadThreadCount } = useStateStore(
4325
4327
  client.threads.state,
4326
4328
  unreadThreadCountSelector
@@ -4338,10 +4340,7 @@ const ChatViewThreadsSelectorButton = ({
4338
4340
  Icon: IconThread,
4339
4341
  iconOnly,
4340
4342
  isActive,
4341
- onPointerDown: () => {
4342
- openMobileNav();
4343
- setActiveChatView("threads");
4344
- },
4343
+ onPointerDown: () => setActiveChatView("threads"),
4345
4344
  text: t("Threads"),
4346
4345
  children: /* @__PURE__ */ jsxRuntime.jsx(UnreadCountBadge, { count: unreadThreadCount, position: "top-right", children: isActive ? /* @__PURE__ */ jsxRuntime.jsx(IconThreadFill, {}) : /* @__PURE__ */ jsxRuntime.jsx(IconThread, {}) })
4347
4346
  }
@@ -4360,19 +4359,7 @@ const defaultChatViewSelectorItemSet = [
4360
4359
  const ChatViewSelector = ({
4361
4360
  iconOnly = true,
4362
4361
  itemSet = defaultChatViewSelectorItemSet
4363
- }) => {
4364
- const { navOpen } = useChatContext("ChatView.Selector");
4365
- return /* @__PURE__ */ jsxRuntime.jsx(
4366
- "div",
4367
- {
4368
- className: clsx("str-chat__chat-view__selector", {
4369
- "str-chat__chat-view__selector--nav-closed": navOpen === false,
4370
- "str-chat__chat-view__selector--nav-open": navOpen === true
4371
- }),
4372
- children: itemSet.map(({ Component, type }) => /* @__PURE__ */ jsxRuntime.jsx(Component, { iconOnly }, type))
4373
- }
4374
- );
4375
- };
4362
+ }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "str-chat__chat-view__selector", children: itemSet.map(({ Component, type }) => /* @__PURE__ */ jsxRuntime.jsx(Component, { iconOnly }, type)) });
4376
4363
  ChatView.Channels = ChannelsView;
4377
4364
  ChatView.Threads = ThreadsView;
4378
4365
  ChatView.ThreadAdapter = ThreadAdapter;
@@ -4389,6 +4376,115 @@ const useNotificationTarget = () => {
4389
4376
  if (channels) return "channel-list";
4390
4377
  return void 0;
4391
4378
  };
4379
+ const SYSTEM_NOTIFICATION_TAG = "system";
4380
+ const hasSystemNotificationTag = (notification) => notification.tags?.includes(SYSTEM_NOTIFICATION_TAG) ?? false;
4381
+ const getTargetTags = (targetPanels, inferredPanel, tags) => {
4382
+ if (targetPanels) {
4383
+ return Array.from(
4384
+ /* @__PURE__ */ new Set([...targetPanels.map(getNotificationTargetTag), ...tags ?? []])
4385
+ );
4386
+ }
4387
+ return addNotificationTargetTag(inferredPanel, tags);
4388
+ };
4389
+ const getTypeFromIncident = ({
4390
+ incident,
4391
+ severity,
4392
+ type
4393
+ }) => {
4394
+ if (type) return type;
4395
+ if (!incident) return void 0;
4396
+ const status = incident.status ?? (severity === "error" ? "failed" : severity === "success" ? "success" : severity);
4397
+ return [incident.domain, incident.entity, incident.operation, status].filter((segment) => !!segment).join(":");
4398
+ };
4399
+ const useNotificationApi = () => {
4400
+ const { client } = useChatContext();
4401
+ const inferredPanel = useNotificationTarget();
4402
+ const addNotification = React.useCallback(
4403
+ ({
4404
+ actions,
4405
+ context,
4406
+ duration,
4407
+ emitter,
4408
+ error,
4409
+ incident,
4410
+ message,
4411
+ severity,
4412
+ tags,
4413
+ targetPanels,
4414
+ type
4415
+ }) => {
4416
+ const notificationTags = getTargetTags(targetPanels, inferredPanel, tags);
4417
+ const resolvedType = getTypeFromIncident({ incident, severity, type });
4418
+ const origin = context ? { context, emitter } : { emitter };
4419
+ const options = {
4420
+ ...actions ? { actions } : {},
4421
+ ...typeof duration === "number" ? { duration } : {},
4422
+ ...error ? { originalError: error } : {},
4423
+ ...notificationTags.length > 0 ? { tags: notificationTags } : {},
4424
+ ...severity ? { severity } : {},
4425
+ ...resolvedType ? { type: resolvedType } : {}
4426
+ };
4427
+ client.notifications.add({
4428
+ message,
4429
+ options,
4430
+ origin
4431
+ });
4432
+ },
4433
+ [client, inferredPanel]
4434
+ );
4435
+ const addSystemNotification = React.useCallback(
4436
+ ({
4437
+ actions,
4438
+ context,
4439
+ duration,
4440
+ emitter,
4441
+ error,
4442
+ incident,
4443
+ message,
4444
+ severity,
4445
+ tags,
4446
+ type
4447
+ }) => {
4448
+ const notificationTags = Array.from(
4449
+ /* @__PURE__ */ new Set([SYSTEM_NOTIFICATION_TAG, ...tags ?? []])
4450
+ );
4451
+ const resolvedType = getTypeFromIncident({ incident, severity, type });
4452
+ const origin = context ? { context, emitter } : { emitter };
4453
+ const options = {
4454
+ ...actions ? { actions } : {},
4455
+ ...typeof duration === "number" ? { duration } : {},
4456
+ ...error ? { originalError: error } : {},
4457
+ ...notificationTags.length > 0 ? { tags: notificationTags } : {},
4458
+ ...severity ? { severity } : {},
4459
+ ...resolvedType ? { type: resolvedType } : {}
4460
+ };
4461
+ return client.notifications.add({
4462
+ message,
4463
+ options,
4464
+ origin
4465
+ });
4466
+ },
4467
+ [client]
4468
+ );
4469
+ const removeNotification = React.useCallback(
4470
+ (id) => {
4471
+ client.notifications.remove(id);
4472
+ },
4473
+ [client]
4474
+ );
4475
+ const startNotificationTimeout = React.useCallback(
4476
+ (id) => {
4477
+ client.notifications.startTimeout(id);
4478
+ },
4479
+ [client]
4480
+ );
4481
+ return {
4482
+ addNotification,
4483
+ addSystemNotification,
4484
+ removeNotification,
4485
+ startNotificationTimeout
4486
+ };
4487
+ };
4392
4488
  const AudioPlayerContext = React.createContext({
4393
4489
  audioPlayers: null
4394
4490
  });
@@ -4417,7 +4513,7 @@ const useAudioPlayer = ({
4417
4513
  title,
4418
4514
  waveformData
4419
4515
  }) => {
4420
- const { client } = useChatContext();
4516
+ const { addNotification } = useNotificationApi();
4421
4517
  const panel = useNotificationTarget();
4422
4518
  const { t } = useTranslationContext();
4423
4519
  const { audioPlayers } = React.useContext(AudioPlayerContext);
@@ -4435,7 +4531,7 @@ const useAudioPlayer = ({
4435
4531
  React.useEffect(() => {
4436
4532
  if (!audioPlayer) return;
4437
4533
  const notificationsPlugin = audioPlayerNotificationsPluginFactory({
4438
- client,
4534
+ addNotification,
4439
4535
  panel,
4440
4536
  t
4441
4537
  });
@@ -4443,7 +4539,7 @@ const useAudioPlayer = ({
4443
4539
  ...currentPlugins.filter((plugin) => plugin.id !== notificationsPlugin.id),
4444
4540
  notificationsPlugin
4445
4541
  ]);
4446
- }, [audioPlayer, client, panel, t]);
4542
+ }, [addNotification, audioPlayer, panel, t]);
4447
4543
  return audioPlayer;
4448
4544
  };
4449
4545
  const activeAudioPlayerSelector = ({ activeAudioPlayer }) => ({
@@ -4489,6 +4585,8 @@ exports.IconAudio = IconAudio;
4489
4585
  exports.IconBell = IconBell;
4490
4586
  exports.IconBellOff = IconBellOff;
4491
4587
  exports.IconBolt = IconBolt;
4588
+ exports.IconBookmark = IconBookmark;
4589
+ exports.IconBookmarkRemove = IconBookmarkRemove;
4492
4590
  exports.IconCamera = IconCamera;
4493
4591
  exports.IconCheckmark = IconCheckmark;
4494
4592
  exports.IconCheckmark1Small = IconCheckmark1Small;
@@ -4502,6 +4600,7 @@ exports.IconCopy = IconCopy;
4502
4600
  exports.IconDelete = IconDelete;
4503
4601
  exports.IconEdit = IconEdit;
4504
4602
  exports.IconEmoji = IconEmoji;
4603
+ exports.IconEmojiAdd = IconEmojiAdd;
4505
4604
  exports.IconExclamationCircleFill = IconExclamationCircleFill;
4506
4605
  exports.IconExclamationMark = IconExclamationMark;
4507
4606
  exports.IconExclamationMarkFill = IconExclamationMarkFill;
@@ -4518,6 +4617,8 @@ exports.IconLocation = IconLocation;
4518
4617
  exports.IconMessageBubble = IconMessageBubble;
4519
4618
  exports.IconMessageBubbleFill = IconMessageBubbleFill;
4520
4619
  exports.IconMessageBubbles = IconMessageBubbles;
4620
+ exports.IconMicrophoneSolid = IconMicrophoneSolid;
4621
+ exports.IconMinus = IconMinus;
4521
4622
  exports.IconMinusCircle = IconMinusCircle;
4522
4623
  exports.IconMore = IconMore;
4523
4624
  exports.IconMute = IconMute;
@@ -4534,16 +4635,14 @@ exports.IconRefresh = IconRefresh;
4534
4635
  exports.IconReorder = IconReorder;
4535
4636
  exports.IconReply = IconReply;
4536
4637
  exports.IconRetry = IconRetry;
4537
- exports.IconSave = IconSave;
4538
4638
  exports.IconSearch = IconSearch;
4539
4639
  exports.IconSend = IconSend;
4540
- exports.IconSidebar = IconSidebar;
4541
4640
  exports.IconThread = IconThread;
4542
4641
  exports.IconThreadFill = IconThreadFill;
4543
4642
  exports.IconTranslate = IconTranslate;
4544
4643
  exports.IconTrophy = IconTrophy;
4545
4644
  exports.IconUnpin = IconUnpin;
4546
- exports.IconUnsave = IconUnsave;
4645
+ exports.IconUnsupportedAttachment = IconUnsupportedAttachment;
4547
4646
  exports.IconUpload = IconUpload;
4548
4647
  exports.IconUser = IconUser;
4549
4648
  exports.IconUserAdd = IconUserAdd;
@@ -4563,6 +4662,7 @@ exports.MESSAGE_ACTIONS = MESSAGE_ACTIONS;
4563
4662
  exports.MessageComposerContext = MessageComposerContext;
4564
4663
  exports.MessageComposerContextProvider = MessageComposerContextProvider;
4565
4664
  exports.OPTIONAL_MESSAGE_ACTIONS = OPTIONAL_MESSAGE_ACTIONS;
4665
+ exports.SYSTEM_NOTIFICATION_TAG = SYSTEM_NOTIFICATION_TAG;
4566
4666
  exports.ThreadContext = ThreadContext;
4567
4667
  exports.ThreadProvider = ThreadProvider;
4568
4668
  exports.TranslationContext = TranslationContext;
@@ -4578,7 +4678,6 @@ exports.countEmojis = countEmojis;
4578
4678
  exports.createIcon = createIcon;
4579
4679
  exports.defaultChatViewSelectorItemSet = defaultChatViewSelectorItemSet;
4580
4680
  exports.defaultDateTimeParser = defaultDateTimeParser;
4581
- exports.defaultPinPermissions = defaultPinPermissions;
4582
4681
  exports.defaultRegisterAudioPlayerError = defaultRegisterAudioPlayerError;
4583
4682
  exports.defaultTranslatorFunction = defaultTranslatorFunction;
4584
4683
  exports.elementIsPlaying = elementIsPlaying;
@@ -4592,10 +4691,11 @@ exports.getLastReceived = getLastReceived;
4592
4691
  exports.getMessageActions = getMessageActions;
4593
4692
  exports.getNonImageAttachments = getNonImageAttachments;
4594
4693
  exports.getNotificationTargetPanel = getNotificationTargetPanel;
4694
+ exports.getNotificationTargetPanels = getNotificationTargetPanels;
4595
4695
  exports.getNotificationTargetTag = getNotificationTargetTag;
4596
4696
  exports.getReadByTooltipText = getReadByTooltipText;
4597
4697
  exports.hasMoreMessagesProbably = hasMoreMessagesProbably;
4598
- exports.hasNotMoreMessages = hasNotMoreMessages;
4698
+ exports.hasSystemNotificationTag = hasSystemNotificationTag;
4599
4699
  exports.insertIntro = insertIntro;
4600
4700
  exports.isDate = isDate;
4601
4701
  exports.isDateSeparatorMessage = isDateSeparatorMessage;
@@ -4617,6 +4717,7 @@ exports.makeIntroMessage = makeIntroMessage;
4617
4717
  exports.mapToUserNameOrId = mapToUserNameOrId;
4618
4718
  exports.messageHasAttachments = messageHasAttachments;
4619
4719
  exports.messageHasGiphyAttachment = messageHasGiphyAttachment;
4720
+ exports.messageHasQuotedMessage = messageHasQuotedMessage;
4620
4721
  exports.messageHasReactions = messageHasReactions;
4621
4722
  exports.messageHasSingleAttachment = messageHasSingleAttachment;
4622
4723
  exports.messageTextHasEmojisOnly = messageTextHasEmojisOnly;
@@ -4637,6 +4738,7 @@ exports.useLegacyThreadContext = useLegacyThreadContext;
4637
4738
  exports.useMentionsHandlers = useMentionsHandlers;
4638
4739
  exports.useMessageComposerContext = useMessageComposerContext;
4639
4740
  exports.useMessageComposerController = useMessageComposerController;
4741
+ exports.useNotificationApi = useNotificationApi;
4640
4742
  exports.useNotificationTarget = useNotificationTarget;
4641
4743
  exports.usePopoverPosition = usePopoverPosition;
4642
4744
  exports.useStateStore = useStateStore;
@@ -4645,4 +4747,4 @@ exports.useThreadsViewContext = useThreadsViewContext;
4645
4747
  exports.useTranslationContext = useTranslationContext;
4646
4748
  exports.useTypingContext = useTypingContext;
4647
4749
  exports.validateAndGetMessage = validateAndGetMessage;
4648
- //# sourceMappingURL=WithAudioPlayback.f9abf707.js.map
4750
+ //# sourceMappingURL=WithAudioPlayback.83ba0e35.js.map