stream-chat-react 14.10.0 → 14.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/README.md +20 -1
  2. package/dist/cjs/{useNotificationApi.bf76a16b.js → NotificationList.6abbee1c.js} +4935 -1232
  3. package/dist/cjs/NotificationList.6abbee1c.js.map +1 -0
  4. package/dist/cjs/{ReactPlayerWrapper.60a93742.js → ReactPlayerWrapper.a94a0cd1.js} +3 -3
  5. package/dist/cjs/{ReactPlayerWrapper.60a93742.js.map → ReactPlayerWrapper.a94a0cd1.js.map} +1 -1
  6. package/dist/cjs/channel-detail.js +263 -200
  7. package/dist/cjs/channel-detail.js.map +1 -1
  8. package/dist/cjs/emojis.js +31 -15
  9. package/dist/cjs/emojis.js.map +1 -1
  10. package/dist/cjs/index.js +2105 -7646
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/useChannelHeaderOnlineStatus.7e17671e.js +961 -0
  13. package/dist/cjs/useChannelHeaderOnlineStatus.7e17671e.js.map +1 -0
  14. package/dist/cjs/useInertWhenHidden.22151beb.js +6426 -0
  15. package/dist/cjs/useInertWhenHidden.22151beb.js.map +1 -0
  16. package/dist/es/{useNotificationApi.ed6bff88.mjs → NotificationList.db01a56d.mjs} +4556 -1258
  17. package/dist/es/NotificationList.db01a56d.mjs.map +1 -0
  18. package/dist/es/channel-detail.mjs +86 -23
  19. package/dist/es/channel-detail.mjs.map +1 -1
  20. package/dist/es/emojis.mjs +25 -8
  21. package/dist/es/emojis.mjs.map +1 -1
  22. package/dist/es/index.mjs +1045 -6586
  23. package/dist/es/index.mjs.map +1 -1
  24. package/dist/es/useChannelHeaderOnlineStatus.a9357343.mjs +771 -0
  25. package/dist/es/useChannelHeaderOnlineStatus.a9357343.mjs.map +1 -0
  26. package/dist/es/useInertWhenHidden.3d5fbdba.mjs +5765 -0
  27. package/dist/es/useInertWhenHidden.3d5fbdba.mjs.map +1 -0
  28. package/dist/types/components/Attachment/Geolocation.d.ts.map +1 -1
  29. package/dist/types/components/Attachment/LinkPreview/Card.d.ts.map +1 -1
  30. package/dist/types/components/Attachment/LinkPreview/CardAudio.d.ts.map +1 -1
  31. package/dist/types/components/Attachment/ModalGallery.d.ts.map +1 -1
  32. package/dist/types/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
  33. package/dist/types/components/Attachment/VisibilityDisclaimer.d.ts.map +1 -1
  34. package/dist/types/components/Attachment/components/DownloadButton.d.ts.map +1 -1
  35. package/dist/types/components/Avatar/Avatar.d.ts +5 -1
  36. package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
  37. package/dist/types/components/Badge/Badge.d.ts.map +1 -1
  38. package/dist/types/components/Badge/MediaBadge.d.ts.map +1 -1
  39. package/dist/types/components/BaseImage/ImagePlaceholder.d.ts.map +1 -1
  40. package/dist/types/components/Button/PlayButton.d.ts.map +1 -1
  41. package/dist/types/components/Channel/Channel.d.ts.map +1 -1
  42. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts.map +1 -1
  43. package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.defaults.d.ts.map +1 -1
  44. package/dist/types/components/ChannelListItem/ChannelListItemUI.d.ts.map +1 -1
  45. package/dist/types/components/ChannelListItem/hooks/useMessageDeliveryStatus.d.ts.map +1 -1
  46. package/dist/types/components/ChatView/ChatView.d.ts.map +1 -1
  47. package/dist/types/components/Dialog/components/Callout.d.ts.map +1 -1
  48. package/dist/types/components/Dialog/components/ContextMenu.d.ts +4 -0
  49. package/dist/types/components/Dialog/components/ContextMenu.d.ts.map +1 -1
  50. package/dist/types/components/Dialog/components/Prompt.d.ts.map +1 -1
  51. package/dist/types/components/Dialog/components/Viewer.d.ts.map +1 -1
  52. package/dist/types/components/EmptyStateIndicator/EmptyStateIndicator.d.ts.map +1 -1
  53. package/dist/types/components/Form/NumericInput.d.ts.map +1 -1
  54. package/dist/types/components/Form/TextInput.d.ts.map +1 -1
  55. package/dist/types/components/Gallery/GalleryHeader.d.ts.map +1 -1
  56. package/dist/types/components/Gallery/GalleryUI.d.ts.map +1 -1
  57. package/dist/types/components/Icons/index.d.ts +1 -0
  58. package/dist/types/components/Icons/index.d.ts.map +1 -1
  59. package/dist/types/components/Icons/slots.d.ts +10 -0
  60. package/dist/types/components/Icons/slots.d.ts.map +1 -0
  61. package/dist/types/components/Loading/LoadingIndicator.d.ts +2 -2
  62. package/dist/types/components/Loading/LoadingIndicator.d.ts.map +1 -1
  63. package/dist/types/components/Location/ShareLocationDialog.d.ts.map +1 -1
  64. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.d.ts.map +1 -1
  65. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.d.ts.map +1 -1
  66. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.d.ts.map +1 -1
  67. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.d.ts.map +1 -1
  68. package/dist/types/components/Message/MessageAlsoSentInChannelIndicator.d.ts.map +1 -1
  69. package/dist/types/components/Message/MessageDeletedBubble.d.ts.map +1 -1
  70. package/dist/types/components/Message/MessageStatus.d.ts.map +1 -1
  71. package/dist/types/components/Message/MessageTranslationIndicator.d.ts.map +1 -1
  72. package/dist/types/components/Message/PinIndicator.d.ts.map +1 -1
  73. package/dist/types/components/Message/ReminderNotification.d.ts.map +1 -1
  74. package/dist/types/components/MessageActions/DownloadSubmenu.d.ts.map +1 -1
  75. package/dist/types/components/MessageActions/MessageActions.defaults.d.ts.map +1 -1
  76. package/dist/types/components/MessageActions/RemindMeSubmenu.d.ts.map +1 -1
  77. package/dist/types/components/MessageBounce/MessageBouncePrompt.d.ts.map +1 -1
  78. package/dist/types/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.d.ts.map +1 -1
  79. package/dist/types/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.d.ts.map +1 -1
  80. package/dist/types/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.d.ts.map +1 -1
  81. package/dist/types/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.d.ts.map +1 -1
  82. package/dist/types/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts.map +1 -1
  83. package/dist/types/components/MessageComposer/AttachmentSelector/AttachmentSelector.d.ts.map +1 -1
  84. package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts.map +1 -1
  85. package/dist/types/components/MessageComposer/CommandChip.d.ts.map +1 -1
  86. package/dist/types/components/MessageComposer/LinkPreviewList.d.ts.map +1 -1
  87. package/dist/types/components/MessageComposer/MessageComposer.d.ts +10 -1
  88. package/dist/types/components/MessageComposer/MessageComposer.d.ts.map +1 -1
  89. package/dist/types/components/MessageComposer/MessageComposerActions.d.ts.map +1 -1
  90. package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts.map +1 -1
  91. package/dist/types/components/MessageComposer/RemoveAttachmentPreviewButton.d.ts.map +1 -1
  92. package/dist/types/components/MessageComposer/SendButton.d.ts.map +1 -1
  93. package/dist/types/components/MessageComposer/SendToChannelCheckbox.d.ts.map +1 -1
  94. package/dist/types/components/MessageComposer/WithDragAndDropUpload.d.ts.map +1 -1
  95. package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts.map +1 -1
  96. package/dist/types/components/MessageComposer/hooks/useMessageComposerController.d.ts.map +1 -1
  97. package/dist/types/components/MessageList/ScrollToLatestMessageButton.d.ts.map +1 -1
  98. package/dist/types/components/MessageList/UnreadMessagesNotification.d.ts.map +1 -1
  99. package/dist/types/components/MessageList/UnreadMessagesSeparator.d.ts.map +1 -1
  100. package/dist/types/components/MessageList/hooks/useMarkRead.d.ts.map +1 -1
  101. package/dist/types/components/Modal/CloseButtonOnModalOverlay.d.ts.map +1 -1
  102. package/dist/types/components/Notifications/Notification.d.ts.map +1 -1
  103. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts.map +1 -1
  104. package/dist/types/components/Poll/PollCreationDialog/OptionFieldSet.d.ts.map +1 -1
  105. package/dist/types/components/Poll/PollCreationDialog/PollCreationDialogControls.d.ts.map +1 -1
  106. package/dist/types/components/Poll/PollCreationDialog/PollOptionReorderHandle.d.ts.map +1 -1
  107. package/dist/types/components/Reactions/MessageReactionsDetail.d.ts.map +1 -1
  108. package/dist/types/components/Reactions/ReactionSelector.d.ts.map +1 -1
  109. package/dist/types/components/Reactions/ReactionSelectorWithButton.d.ts +6 -1
  110. package/dist/types/components/Reactions/ReactionSelectorWithButton.d.ts.map +1 -1
  111. package/dist/types/components/SummarizedMessagePreview/SummarizedMessagePreview.d.ts.map +1 -1
  112. package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.d.ts.map +1 -1
  113. package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/RoleItem.d.ts.map +1 -1
  114. package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/UserGroupItem.d.ts.map +1 -1
  115. package/dist/types/components/Thread/ThreadHeader.d.ts.map +1 -1
  116. package/dist/types/components/Threads/ThreadList/ThreadListEmptyPlaceholder.d.ts.map +1 -1
  117. package/dist/types/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.d.ts.map +1 -1
  118. package/dist/types/components/VideoPlayer/VideoThumbnail.d.ts.map +1 -1
  119. package/dist/types/context/ComponentContext.d.ts +3 -0
  120. package/dist/types/context/ComponentContext.d.ts.map +1 -1
  121. package/dist/types/context/WithComponents.d.ts.map +1 -1
  122. package/dist/types/context/index.d.ts +1 -0
  123. package/dist/types/context/index.d.ts.map +1 -1
  124. package/dist/types/context/useComponentContextIcons.d.ts +16 -0
  125. package/dist/types/context/useComponentContextIcons.d.ts.map +1 -0
  126. package/dist/types/plugins/ChannelDetail/ChannelDetail.d.ts.map +1 -1
  127. package/dist/types/plugins/ChannelDetail/ChannelDetailEmptyList.d.ts.map +1 -1
  128. package/dist/types/plugins/ChannelDetail/ChannelDetailSearchInput.d.ts.map +1 -1
  129. package/dist/types/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.d.ts.map +1 -1
  130. package/dist/types/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.d.ts.map +1 -1
  131. package/dist/types/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.d.ts.map +1 -1
  132. package/dist/types/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.d.ts.map +1 -1
  133. package/dist/types/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.d.ts.map +1 -1
  134. package/dist/types/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.d.ts.map +1 -1
  135. package/dist/types/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.defaults.d.ts.map +1 -1
  136. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.d.ts.map +1 -1
  137. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.d.ts.map +1 -1
  138. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.defaults.d.ts.map +1 -1
  139. package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.d.ts.map +1 -1
  140. package/dist/types/plugins/Emojis/EmojiPicker.d.ts +6 -1
  141. package/dist/types/plugins/Emojis/EmojiPicker.d.ts.map +1 -1
  142. package/dist/types/plugins/Emojis/Picker.d.ts +7 -0
  143. package/dist/types/plugins/Emojis/Picker.d.ts.map +1 -0
  144. package/dist/types/utils/getChannelConfig.d.ts +8 -0
  145. package/dist/types/utils/getChannelConfig.d.ts.map +1 -0
  146. package/package.json +3 -9
  147. package/AI.md +0 -423
  148. package/dist/cjs/useChannelHeaderOnlineStatus.6ace991c.js +0 -4485
  149. package/dist/cjs/useChannelHeaderOnlineStatus.6ace991c.js.map +0 -1
  150. package/dist/cjs/useMessageComposerController.f8f20e3d.js +0 -99
  151. package/dist/cjs/useMessageComposerController.f8f20e3d.js.map +0 -1
  152. package/dist/cjs/useNotificationApi.bf76a16b.js.map +0 -1
  153. package/dist/es/useChannelHeaderOnlineStatus.d6065c22.mjs +0 -3899
  154. package/dist/es/useChannelHeaderOnlineStatus.d6065c22.mjs.map +0 -1
  155. package/dist/es/useMessageComposerController.d50f6168.mjs +0 -69
  156. package/dist/es/useMessageComposerController.d50f6168.mjs.map +0 -1
  157. package/dist/es/useNotificationApi.ed6bff88.mjs.map +0 -1
@@ -1,16 +1,16 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_useNotificationApi = require("./useNotificationApi.bf76a16b.js");
3
- const require_useChannelHeaderOnlineStatus = require("./useChannelHeaderOnlineStatus.6ace991c.js");
2
+ const require_NotificationList = require("./NotificationList.6abbee1c.js");
3
+ const require_useChannelHeaderOnlineStatus = require("./useChannelHeaderOnlineStatus.7e17671e.js");
4
4
  let react = require("react");
5
- react = require_useNotificationApi.__toESM(react);
5
+ react = require_NotificationList.__toESM(react);
6
6
  let react_jsx_runtime = require("react/jsx-runtime");
7
- let stream_chat = require("stream-chat");
8
7
  let clsx = require("clsx");
9
- clsx = require_useNotificationApi.__toESM(clsx);
8
+ clsx = require_NotificationList.__toESM(clsx);
9
+ let stream_chat = require("stream-chat");
10
10
  let lodash_debounce = require("lodash.debounce");
11
- lodash_debounce = require_useNotificationApi.__toESM(lodash_debounce);
11
+ lodash_debounce = require_NotificationList.__toESM(lodash_debounce);
12
12
  let lodash_uniqby = require("lodash.uniqby");
13
- lodash_uniqby = require_useNotificationApi.__toESM(lodash_uniqby);
13
+ lodash_uniqby = require_NotificationList.__toESM(lodash_uniqby);
14
14
  let react_virtuoso = require("react-virtuoso");
15
15
  //#region src/plugins/ChannelDetail/SectionNavigator/SectionNavigator.tsx
16
16
  var SECTION_NAVIGATOR_LAYOUT = {
@@ -179,13 +179,14 @@ var SectionNavigator = ({ className, createLayoutObserver = defaultCreateLayoutO
179
179
  * (`goBack`), where it would compete with the back affordance.
180
180
  */
181
181
  var SectionNavigatorHeader = (props) => {
182
- const { t } = require_useNotificationApi.useTranslationContext("SectionNavigatorHeader");
182
+ const { IconMenu } = require_NotificationList.useComponentContextIcons();
183
+ const { t } = require_NotificationList.useTranslationContext("SectionNavigatorHeader");
183
184
  const { layout, openNavigation } = useSectionNavigatorContext();
184
185
  const MenuButton = (0, react.useMemo)(() => {
185
186
  if (layout !== SECTION_NAVIGATOR_LAYOUT.inline) return void 0;
186
187
  if (props.goBack) return void 0;
187
188
  return function SectionNavigatorHeaderMenuButton() {
188
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.Button, {
189
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Button, {
189
190
  appearance: "ghost",
190
191
  "aria-label": t("Open menu"),
191
192
  circular: true,
@@ -193,16 +194,17 @@ var SectionNavigatorHeader = (props) => {
193
194
  onClick: openNavigation,
194
195
  size: "md",
195
196
  variant: "secondary",
196
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconMenu, {})
197
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMenu, {})
197
198
  });
198
199
  };
199
200
  }, [
201
+ IconMenu,
200
202
  layout,
201
203
  openNavigation,
202
204
  props.goBack,
203
205
  t
204
206
  ]);
205
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Prompt.Header, {
207
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Prompt.Header, {
206
208
  ...props,
207
209
  LeadingContent: MenuButton
208
210
  });
@@ -214,7 +216,7 @@ var SectionNavigatorHeader = (props) => {
214
216
  * `ListItemLayout` as a `<button>` and wires the SectionNavigator selection
215
217
  * state into `aria-current` and the click handler.
216
218
  */
217
- var ChannelDetailNavButton = ({ className, LeadingIcon, sectionId: _sectionId, select, selected, title, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
219
+ var ChannelDetailNavButton = ({ className, LeadingIcon, sectionId: _sectionId, select, selected, title, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
218
220
  LeadingIcon,
219
221
  RootElement: "button",
220
222
  rootProps: {
@@ -244,10 +246,11 @@ var useChannelDetailContext = () => {
244
246
  //#endregion
245
247
  //#region src/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.tsx
246
248
  var ChannelFilesEmptyList = () => {
247
- const { t } = require_useNotificationApi.useTranslationContext("ChannelFilesEmptyList");
249
+ const { IconFolder } = require_NotificationList.useComponentContextIcons();
250
+ const { t } = require_NotificationList.useTranslationContext("ChannelFilesEmptyList");
248
251
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
249
252
  className: "str-chat__channel-detail__files-view__empty-state",
250
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconFolder, { className: "str-chat__channel-detail__files-view__empty-state__icon" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
253
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconFolder, { className: "str-chat__channel-detail__files-view__empty-state__icon" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
251
254
  className: "str-chat__channel-detail__files-view__empty-state__content",
252
255
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
253
256
  className: "str-chat__channel-detail__files-view__empty-state__title",
@@ -266,11 +269,11 @@ var searchSourceFooterStateSelector = (state) => ({
266
269
  isLoading: state.isLoading
267
270
  });
268
271
  var ChannelDetailListLoadingIndicator = ({ searchSource }) => {
269
- const { hasNextPage, isLoading } = require_useNotificationApi.useStateStore(searchSource.state, searchSourceFooterStateSelector);
272
+ const { hasNextPage, isLoading } = require_NotificationList.useStateStore(searchSource.state, searchSourceFooterStateSelector);
270
273
  if (!hasNextPage || !isLoading) return null;
271
274
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
272
275
  className: "str-chat__loading-indicator-placeholder",
273
- children: isLoading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.LoadingIndicator, {})
276
+ children: isLoading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.LoadingIndicator, {})
274
277
  });
275
278
  };
276
279
  //#endregion
@@ -280,7 +283,7 @@ var FILE_ATTACHMENT_TYPES = ["file", "audio"];
280
283
  var FILE_ATTACHMENT_TYPE_SET = new Set(FILE_ATTACHMENT_TYPES);
281
284
  var normalizeTimestamp$1 = (timestamp) => {
282
285
  if (!timestamp) return void 0;
283
- return require_useNotificationApi.isDate(timestamp) ? timestamp.toISOString() : timestamp;
286
+ return require_NotificationList.isDate(timestamp) ? timestamp.toISOString() : timestamp;
284
287
  };
285
288
  var isChannelFileAttachment = (attachment) => !(0, stream_chat.isScrapedContent)(attachment) && !!attachment.type && FILE_ATTACHMENT_TYPE_SET.has(attachment.type);
286
289
  var byCreatedAtDesc = (a, b) => (b.createdAt ?? "").localeCompare(a.createdAt ?? "");
@@ -339,7 +342,7 @@ var channelFilesSearchSourceStateSelector = (state) => ({
339
342
  messages: state.items
340
343
  });
341
344
  var useChannelFilesSearch = () => {
342
- const { client } = require_useNotificationApi.useChatContext();
345
+ const { client } = require_NotificationList.useChatContext();
343
346
  const { channel } = useChannelDetailContext();
344
347
  const channelFilesSearchSource = (0, react.useMemo)(() => {
345
348
  const source = new stream_chat.MessageSearchSource(client, {
@@ -351,7 +354,7 @@ var useChannelFilesSearch = () => {
351
354
  source.messageSearchFilters = { "attachments.type": { $in: [...FILE_ATTACHMENT_TYPES] } };
352
355
  return source;
353
356
  }, [channel.cid, client]);
354
- const { isLoading, messages } = require_useNotificationApi.useStateStore(channelFilesSearchSource.state, channelFilesSearchSourceStateSelector);
357
+ const { isLoading, messages } = require_NotificationList.useStateStore(channelFilesSearchSource.state, channelFilesSearchSourceStateSelector);
355
358
  const { groupCounts, items, sections } = (0, react.useMemo)(() => toChannelFileSections(messages ?? []), [messages]);
356
359
  (0, react.useEffect)(() => {
357
360
  channelFilesSearchSource.activate();
@@ -386,8 +389,8 @@ var ChannelFilesGroup = (0, react.forwardRef)(function ChannelFilesGroup({ class
386
389
  });
387
390
  });
388
391
  var ChannelFilesSectionHeader = ({ timestamp }) => {
389
- const { t, tDateTimeParser } = require_useNotificationApi.useTranslationContext("ChannelFilesView");
390
- const label = require_useNotificationApi.getDateString({
392
+ const { t, tDateTimeParser } = require_NotificationList.useTranslationContext("ChannelFilesView");
393
+ const label = require_NotificationList.getDateString({
391
394
  format: "MMMM YYYY",
392
395
  messageCreatedAt: timestamp,
393
396
  t,
@@ -405,7 +408,7 @@ var ChannelFileListItem = ({ item }) => {
405
408
  const fileName = getAttachmentFileName(attachment);
406
409
  const assetUrl = attachment.asset_url;
407
410
  const LeadingSlot = (0, react.useMemo)(() => function FileListItemIcon() {
408
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.FileIcon, {
411
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.FileIcon, {
409
412
  className: "str-chat__channel-detail__files-view__list-item__icon",
410
413
  fileName,
411
414
  mimeType: attachment.mime_type,
@@ -414,7 +417,7 @@ var ChannelFileListItem = ({ item }) => {
414
417
  }, [attachment.mime_type, fileName]);
415
418
  const sharedProps = (0, react.useMemo)(() => ({
416
419
  LeadingSlot,
417
- subtitle: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.FileSizeIndicator, { fileSize: attachment.file_size }),
420
+ subtitle: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.FileSizeIndicator, { fileSize: attachment.file_size }),
418
421
  subtitleClassName: "str-chat__channel-detail__files-view__list-item__size",
419
422
  title: fileName,
420
423
  titleClassName: "str-chat__channel-detail__files-view__list-item__name"
@@ -431,20 +434,20 @@ var ChannelFileListItem = ({ item }) => {
431
434
  target: "_blank"
432
435
  }), [assetUrl, fileName]);
433
436
  const divRootProps = (0, react.useMemo)(() => ({ className: "str-chat__channel-detail__files-view__list-item" }), []);
434
- if (assetUrl) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
437
+ if (assetUrl) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
435
438
  ...sharedProps,
436
439
  RootElement: "a",
437
440
  rootProps: linkRootProps
438
441
  });
439
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
442
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
440
443
  ...sharedProps,
441
444
  RootElement: "div",
442
445
  rootProps: divRootProps
443
446
  });
444
447
  };
445
448
  var ChannelFilesView = () => {
446
- const { t } = require_useNotificationApi.useTranslationContext();
447
- const { close } = require_useChannelHeaderOnlineStatus.useModalContext();
449
+ const { t } = require_NotificationList.useTranslationContext();
450
+ const { close } = require_NotificationList.useModalContext();
448
451
  const { channelFilesSearchSource, fileItems, groupCounts, hasResultsLoaded, sections } = useChannelFilesSearch();
449
452
  const groupContent = (0, react.useCallback)((groupIndex) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChannelFilesSectionHeader, { timestamp: sections[groupIndex]?.timestamp }), [sections]);
450
453
  const itemContent = (0, react.useCallback)((index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChannelFileListItem, { item: fileItems[index] }), [fileItems]);
@@ -468,7 +471,7 @@ var ChannelFilesView = () => {
468
471
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SectionNavigatorHeader, {
469
472
  close,
470
473
  title: t("Files")
471
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Prompt.Body, {
474
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Prompt.Body, {
472
475
  className: "str-chat__channel-detail__files-view__body",
473
476
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_virtuoso.GroupedVirtuoso, {
474
477
  atBottomStateChange,
@@ -485,11 +488,26 @@ var ChannelFilesView = () => {
485
488
  //#region src/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.tsx
486
489
  var toError$1 = (error) => error instanceof Error ? error : /* @__PURE__ */ new Error("An unknown error occurred");
487
490
  var getDisplayName = (name, fallback) => name || fallback || "";
488
- var BlockUserActionIcon$1 = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconNoSign, { className: "str-chat__icon--destructive str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--block-user" });
489
- var DeleteChatActionIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconDelete, { className: "str-chat__icon--destructive str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--delete-chat" });
490
- var MuteActionIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconMute, { className: "str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--mute" });
491
- var MutedActionIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconAudio, { className: "str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--unmute" });
492
- var LeaveChannelActionIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconLeave, { className: "str-chat__icon--destructive str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--leave-channel" });
491
+ var BlockUserActionIcon$1 = () => {
492
+ const { IconNoSign } = require_NotificationList.useComponentContextIcons();
493
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconNoSign, { className: "str-chat__icon--destructive str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--block-user" });
494
+ };
495
+ var DeleteChatActionIcon = () => {
496
+ const { IconDelete } = require_NotificationList.useComponentContextIcons();
497
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconDelete, { className: "str-chat__icon--destructive str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--delete-chat" });
498
+ };
499
+ var MuteActionIcon = () => {
500
+ const { IconMute } = require_NotificationList.useComponentContextIcons();
501
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMute, { className: "str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--mute" });
502
+ };
503
+ var MutedActionIcon = () => {
504
+ const { IconAudio } = require_NotificationList.useComponentContextIcons();
505
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconAudio, { className: "str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--unmute" });
506
+ };
507
+ var LeaveChannelActionIcon = () => {
508
+ const { IconLeave } = require_NotificationList.useComponentContextIcons();
509
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconLeave, { className: "str-chat__icon--destructive str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--leave-channel" });
510
+ };
493
511
  var channelManagementViewActionClassName = "str-chat__channel-management-view-action";
494
512
  var blockedUsersSelector$1 = ({ userIds }) => ({ userIds });
495
513
  var ChannelManagementConfirmationAlert = ({ action, cancelLabel, confirmLabel, description, isSubmitting, onCancel, onConfirm, testId, title }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Alert.Root, {
@@ -498,7 +516,7 @@ var ChannelManagementConfirmationAlert = ({ action, cancelLabel, confirmLabel, d
498
516
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Alert.Header, {
499
517
  description,
500
518
  title
501
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Alert.Actions, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.Button, {
519
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Alert.Actions, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Button, {
502
520
  appearance: "solid",
503
521
  "data-testid": `${testId}-confirm-button`,
504
522
  disabled: isSubmitting,
@@ -506,7 +524,7 @@ var ChannelManagementConfirmationAlert = ({ action, cancelLabel, confirmLabel, d
506
524
  size: "md",
507
525
  variant: "danger",
508
526
  children: confirmLabel
509
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.Button, {
527
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Button, {
510
528
  appearance: "outline",
511
529
  autoFocus: true,
512
530
  "data-testid": `${testId}-cancel-button`,
@@ -518,7 +536,7 @@ var ChannelManagementConfirmationAlert = ({ action, cancelLabel, confirmLabel, d
518
536
  })] })]
519
537
  });
520
538
  var useOtherMember = () => {
521
- const { client } = require_useNotificationApi.useChatContext();
539
+ const { client } = require_NotificationList.useChatContext();
522
540
  const { channel } = useChannelDetailContext();
523
541
  return (0, react.useMemo)(() => {
524
542
  const stateMembers = Object.values(channel.state?.members ?? {});
@@ -526,7 +544,7 @@ var useOtherMember = () => {
526
544
  }, [channel, client.user?.id]);
527
545
  };
528
546
  var useChannelManagementActionFilterState = () => {
529
- const { client } = require_useNotificationApi.useChatContext();
547
+ const { client } = require_NotificationList.useChatContext();
530
548
  const { channel } = useChannelDetailContext();
531
549
  const otherMember = useOtherMember();
532
550
  const resolvedIsDmChannel = require_useChannelHeaderOnlineStatus.isDmChannel({
@@ -566,8 +584,8 @@ var useBaseChannelManagementActionSetFilter = (channelManagementActionSet) => {
566
584
  };
567
585
  var ChannelMuteAction = () => {
568
586
  const { channel } = useChannelDetailContext();
569
- const { addNotification } = require_useNotificationApi.useNotificationApi();
570
- const { t } = require_useNotificationApi.useTranslationContext();
587
+ const { addNotification } = require_NotificationList.useNotificationApi();
588
+ const { t } = require_NotificationList.useTranslationContext();
571
589
  const { muted: channelMuted } = require_useChannelHeaderOnlineStatus.useIsChannelMuted(channel);
572
590
  const [optimisticChannelMuted, setOptimisticChannelMuted] = (0, react.useState)(channelMuted);
573
591
  (0, react.useEffect)(() => {
@@ -629,14 +647,14 @@ var ChannelMuteAction = () => {
629
647
  }), [optimisticChannelMuted, toggleOptimisticChannelMute]);
630
648
  const TrailingSlot = (0, react.useMemo)(() => {
631
649
  function ChannelMuteSwitch() {
632
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Switch, {
650
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Switch, {
633
651
  on: optimisticChannelMuted,
634
652
  presentation: true
635
653
  });
636
654
  }
637
655
  return ChannelMuteSwitch;
638
656
  }, [optimisticChannelMuted]);
639
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
657
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
640
658
  LeadingIcon: optimisticChannelMuted ? MutedActionIcon : MuteActionIcon,
641
659
  RootElement: "button",
642
660
  rootProps,
@@ -645,10 +663,10 @@ var ChannelMuteAction = () => {
645
663
  });
646
664
  };
647
665
  var UserMuteAction$1 = () => {
648
- const { client, mutes } = require_useNotificationApi.useChatContext();
666
+ const { client, mutes } = require_NotificationList.useChatContext();
649
667
  const { channel } = useChannelDetailContext();
650
- const { addNotification } = require_useNotificationApi.useNotificationApi();
651
- const { t } = require_useNotificationApi.useTranslationContext();
668
+ const { addNotification } = require_NotificationList.useNotificationApi();
669
+ const { t } = require_NotificationList.useTranslationContext();
652
670
  const otherMember = useOtherMember();
653
671
  const userMuted = !!mutes.find((mute) => mute.target.id === otherMember?.user?.id);
654
672
  const [optimisticUserMuted, setOptimisticUserMuted] = (0, react.useState)(userMuted);
@@ -713,14 +731,14 @@ var UserMuteAction$1 = () => {
713
731
  }), [optimisticUserMuted, toggleOptimisticUserMute]);
714
732
  const TrailingSlot = (0, react.useMemo)(() => {
715
733
  function UserMuteSwitch() {
716
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Switch, {
734
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Switch, {
717
735
  on: optimisticUserMuted,
718
736
  presentation: true
719
737
  });
720
738
  }
721
739
  return UserMuteSwitch;
722
740
  }, [optimisticUserMuted]);
723
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
741
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
724
742
  LeadingIcon: optimisticUserMuted ? MutedActionIcon : MuteActionIcon,
725
743
  RootElement: "button",
726
744
  rootProps,
@@ -729,13 +747,13 @@ var UserMuteAction$1 = () => {
729
747
  });
730
748
  };
731
749
  var BlockUserAction$1 = () => {
732
- const { client } = require_useNotificationApi.useChatContext();
733
- const { Modal = require_useChannelHeaderOnlineStatus.GlobalModal } = require_useNotificationApi.useComponentContext();
750
+ const { client } = require_NotificationList.useChatContext();
751
+ const { Modal = require_NotificationList.GlobalModal } = require_NotificationList.useComponentContext();
734
752
  const { channel } = useChannelDetailContext();
735
- const { addNotification } = require_useNotificationApi.useNotificationApi();
736
- const { t } = require_useNotificationApi.useTranslationContext();
753
+ const { addNotification } = require_NotificationList.useNotificationApi();
754
+ const { t } = require_NotificationList.useTranslationContext();
737
755
  const targetUserId = useOtherMember()?.user?.id;
738
- const { userIds: blockedUserIds } = require_useNotificationApi.useStateStore(client.blockedUsers, blockedUsersSelector$1);
756
+ const { userIds: blockedUserIds } = require_NotificationList.useStateStore(client.blockedUsers, blockedUsersSelector$1);
739
757
  const isBlocked = (0, react.useMemo)(() => !!targetUserId && new Set(blockedUserIds).has(targetUserId), [blockedUserIds, targetUserId]);
740
758
  const [alertOpen, setAlertOpen] = (0, react.useState)(false);
741
759
  const [userBlockInProgress, setUserBlockInProgress] = (0, react.useState)(false);
@@ -809,7 +827,7 @@ var BlockUserAction$1 = () => {
809
827
  targetUserId,
810
828
  t
811
829
  ]);
812
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
830
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
813
831
  destructive: true,
814
832
  LeadingIcon: BlockUserActionIcon$1,
815
833
  RootElement: "button",
@@ -836,12 +854,12 @@ var BlockUserAction$1 = () => {
836
854
  })] });
837
855
  };
838
856
  var LeaveChannelAction = () => {
839
- const { client } = require_useNotificationApi.useChatContext();
857
+ const { client } = require_NotificationList.useChatContext();
840
858
  const { channel } = useChannelDetailContext();
841
- const { Modal = require_useChannelHeaderOnlineStatus.GlobalModal } = require_useNotificationApi.useComponentContext();
842
- const { close } = require_useChannelHeaderOnlineStatus.useModalContext();
843
- const { addNotification } = require_useNotificationApi.useNotificationApi();
844
- const { t } = require_useNotificationApi.useTranslationContext();
859
+ const { Modal = require_NotificationList.GlobalModal } = require_NotificationList.useComponentContext();
860
+ const { close } = require_NotificationList.useModalContext();
861
+ const { addNotification } = require_NotificationList.useNotificationApi();
862
+ const { t } = require_NotificationList.useTranslationContext();
845
863
  const [alertOpen, setAlertOpen] = (0, react.useState)(false);
846
864
  const [leaveChannelInProgress, setLeaveChannelInProgress] = (0, react.useState)(false);
847
865
  const closeLeaveChannelAlert = (0, react.useCallback)(() => {
@@ -883,7 +901,7 @@ var LeaveChannelAction = () => {
883
901
  close,
884
902
  t
885
903
  ]);
886
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
904
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
887
905
  destructive: true,
888
906
  LeadingIcon: LeaveChannelActionIcon,
889
907
  RootElement: "button",
@@ -911,10 +929,10 @@ var LeaveChannelAction = () => {
911
929
  };
912
930
  var DeleteChatAction = () => {
913
931
  const { channel } = useChannelDetailContext();
914
- const { Modal = require_useChannelHeaderOnlineStatus.GlobalModal } = require_useNotificationApi.useComponentContext();
915
- const { close: closeChannelDetail } = require_useChannelHeaderOnlineStatus.useModalContext();
916
- const { addNotification } = require_useNotificationApi.useNotificationApi();
917
- const { t } = require_useNotificationApi.useTranslationContext();
932
+ const { Modal = require_NotificationList.GlobalModal } = require_NotificationList.useComponentContext();
933
+ const { close: closeChannelDetail } = require_NotificationList.useModalContext();
934
+ const { addNotification } = require_NotificationList.useNotificationApi();
935
+ const { t } = require_NotificationList.useTranslationContext();
918
936
  const otherMember = useOtherMember();
919
937
  const [alertOpen, setAlertOpen] = (0, react.useState)(false);
920
938
  const [deleteChatInProgress, setDeleteChatInProgress] = (0, react.useState)(false);
@@ -956,7 +974,7 @@ var DeleteChatAction = () => {
956
974
  closeChannelDetail,
957
975
  t
958
976
  ]);
959
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
977
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
960
978
  destructive: true,
961
979
  LeadingIcon: DeleteChatActionIcon,
962
980
  RootElement: "button",
@@ -1014,9 +1032,10 @@ var defaultChannelManagementActionSet = [
1014
1032
  //#endregion
1015
1033
  //#region src/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.tsx
1016
1034
  var ChannelManagementInfoBody = ({ actions }) => {
1017
- const { client } = require_useNotificationApi.useChatContext();
1035
+ const { IconMute, IconPin } = require_NotificationList.useComponentContextIcons();
1036
+ const { client } = require_NotificationList.useChatContext();
1018
1037
  const { channel } = useChannelDetailContext();
1019
- const { Avatar = require_useChannelHeaderOnlineStatus.ChannelAvatar } = require_useNotificationApi.useComponentContext();
1038
+ const { Avatar = require_useChannelHeaderOnlineStatus.ChannelAvatar } = require_NotificationList.useComponentContext();
1020
1039
  const { displayImage, displayTitle, groupChannelDisplayInfo } = require_useChannelHeaderOnlineStatus.useChannelPreviewInfo({ channel });
1021
1040
  const resolvedIsDmChannel = require_useChannelHeaderOnlineStatus.isDmChannel({
1022
1041
  channel,
@@ -1036,7 +1055,7 @@ var ChannelManagementInfoBody = ({ actions }) => {
1036
1055
  const membership = require_useChannelHeaderOnlineStatus.useChannelMembershipState(channel);
1037
1056
  const onlineStatusText = require_useChannelHeaderOnlineStatus.useChannelHeaderOnlineStatus({ channel });
1038
1057
  const pinned = !!membership.pinned_at;
1039
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Prompt.Body, {
1058
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_NotificationList.Prompt.Body, {
1040
1059
  className: "str-chat__channel-detail__channel-management-view__body",
1041
1060
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1042
1061
  className: "str-chat__channel-detail__channel-management-view__profile",
@@ -1052,8 +1071,8 @@ var ChannelManagementInfoBody = ({ actions }) => {
1052
1071
  className: "str-chat__channel-detail__channel-management-view__profile__details__title",
1053
1072
  children: [
1054
1073
  displayTitle && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: displayTitle }),
1055
- pinned && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconPin, {}),
1056
- resolvedIsDmChannel && userMuted || !resolvedIsDmChannel && channelMuted ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconMute, {}) : null
1074
+ pinned && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPin, {}),
1075
+ resolvedIsDmChannel && userMuted || !resolvedIsDmChannel && channelMuted ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMute, {}) : null
1057
1076
  ]
1058
1077
  }), onlineStatusText && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1059
1078
  className: "str-chat__channel-detail__channel-management-view__profile__details__connection-status",
@@ -1087,11 +1106,11 @@ var buildChannelUpdatePayload = ({ image, name }) => {
1087
1106
  * notify). The component is left to render the values this returns.
1088
1107
  */
1089
1108
  var useChannelManagementEditForm = ({ uploadImage }) => {
1090
- const { t } = require_useNotificationApi.useTranslationContext();
1091
- const { client } = require_useNotificationApi.useChatContext();
1109
+ const { t } = require_NotificationList.useTranslationContext();
1110
+ const { client } = require_NotificationList.useChatContext();
1092
1111
  const { channel } = useChannelDetailContext();
1093
1112
  const { displayImage, displayTitle, groupChannelDisplayInfo } = require_useChannelHeaderOnlineStatus.useChannelPreviewInfo({ channel });
1094
- const { addNotification } = require_useNotificationApi.useNotificationApi();
1113
+ const { addNotification } = require_NotificationList.useNotificationApi();
1095
1114
  const resolvedIsDmChannel = require_useChannelHeaderOnlineStatus.isDmChannel({
1096
1115
  channel,
1097
1116
  ownUserId: client.user?.id
@@ -1203,12 +1222,13 @@ var useChannelManagementEditForm = ({ uploadImage }) => {
1203
1222
  };
1204
1223
  };
1205
1224
  var ChannelManagementEditBody = (props) => {
1206
- const { Avatar = require_useChannelHeaderOnlineStatus.ChannelAvatar } = require_useNotificationApi.useComponentContext();
1225
+ const { IconCheckmark } = require_NotificationList.useComponentContextIcons();
1226
+ const { Avatar = require_useChannelHeaderOnlineStatus.ChannelAvatar } = require_NotificationList.useComponentContext();
1207
1227
  const { canSubmit, displayTitle, fileInputRef, groupChannelDisplayInfo, handleDeleteImage, handleFileChange, handleOpenFilePicker, handleSubmit, hasAvatarImage, isOnline, name, nameLabel, previewImageUrl, setName, t, trimmedName } = useChannelManagementEditForm(props);
1208
1228
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("form", {
1209
1229
  className: "str-chat__channel-detail__channel-management-view__form",
1210
1230
  onSubmit: handleSubmit,
1211
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Prompt.Body, {
1231
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_NotificationList.Prompt.Body, {
1212
1232
  className: "str-chat__channel-detail__channel-management-view__body",
1213
1233
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1214
1234
  className: "str-chat__channel-detail__channel-management-view__avatar-row",
@@ -1221,7 +1241,7 @@ var ChannelManagementEditBody = (props) => {
1221
1241
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1222
1242
  className: "str-chat__channel-detail__channel-management-view__avatar-row__actions",
1223
1243
  children: [
1224
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.Button, {
1244
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Button, {
1225
1245
  appearance: "outline",
1226
1246
  onClick: handleOpenFilePicker,
1227
1247
  size: "sm",
@@ -1229,7 +1249,7 @@ var ChannelManagementEditBody = (props) => {
1229
1249
  variant: "secondary",
1230
1250
  children: t("Upload Picture")
1231
1251
  }),
1232
- hasAvatarImage && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.Button, {
1252
+ hasAvatarImage && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Button, {
1233
1253
  appearance: "outline",
1234
1254
  onClick: handleDeleteImage,
1235
1255
  size: "sm",
@@ -1248,7 +1268,7 @@ var ChannelManagementEditBody = (props) => {
1248
1268
  })
1249
1269
  ]
1250
1270
  })]
1251
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.TextInput, {
1271
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.TextInput, {
1252
1272
  "aria-label": nameLabel,
1253
1273
  autoFocus: true,
1254
1274
  className: "str-chat__channel-detail__channel-management-view__name-input",
@@ -1257,21 +1277,21 @@ var ChannelManagementEditBody = (props) => {
1257
1277
  placeholder: nameLabel,
1258
1278
  value: name
1259
1279
  })]
1260
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Prompt.Footer, {
1280
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Prompt.Footer, {
1261
1281
  className: "str-chat__channel-detail__channel-management-view__footer",
1262
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Prompt.FooterControls, { children: canSubmit && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Prompt.FooterControlsButtonPrimary, {
1282
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Prompt.FooterControls, { children: canSubmit && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_NotificationList.Prompt.FooterControlsButtonPrimary, {
1263
1283
  className: "str-chat__channel-detail__channel-management-view__footer__save-button",
1264
1284
  type: "submit",
1265
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconCheckmark, {}), t("Save")]
1285
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCheckmark, {}), t("Save")]
1266
1286
  }) })
1267
1287
  })]
1268
1288
  });
1269
1289
  };
1270
1290
  var ChannelManagementView = ({ channelManagementActionSet = defaultChannelManagementActionSet, EditModeComponent = ChannelManagementEditBody, uploadImage, ViewModeComponent = ChannelManagementInfoBody }) => {
1271
- const { t } = require_useNotificationApi.useTranslationContext();
1272
- const { client } = require_useNotificationApi.useChatContext();
1291
+ const { t } = require_NotificationList.useTranslationContext();
1292
+ const { client } = require_NotificationList.useChatContext();
1273
1293
  const { channel } = useChannelDetailContext();
1274
- const { close } = require_useChannelHeaderOnlineStatus.useModalContext();
1294
+ const { close } = require_NotificationList.useModalContext();
1275
1295
  const resolvedIsDmChannel = require_useChannelHeaderOnlineStatus.isDmChannel({
1276
1296
  channel,
1277
1297
  ownUserId: client.user?.id
@@ -1284,7 +1304,7 @@ var ChannelManagementView = ({ channelManagementActionSet = defaultChannelManage
1284
1304
  setIsEditing(false);
1285
1305
  }, [channel.cid]);
1286
1306
  const EditChannelButton = (0, react.useMemo)(() => function EditChannelButton() {
1287
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.Button, {
1307
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Button, {
1288
1308
  appearance: "outline",
1289
1309
  "aria-label": t("Edit chat data"),
1290
1310
  className: "str-chat__channel-detail__channel-management-view__edit-button",
@@ -1311,10 +1331,11 @@ var ChannelManagementView = ({ channelManagementActionSet = defaultChannelManage
1311
1331
  //#endregion
1312
1332
  //#region src/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.tsx
1313
1333
  var ChannelMediaEmptyList = () => {
1314
- const { t } = require_useNotificationApi.useTranslationContext("ChannelMediaEmptyList");
1334
+ const { IconImage } = require_NotificationList.useComponentContextIcons();
1335
+ const { t } = require_NotificationList.useTranslationContext("ChannelMediaEmptyList");
1315
1336
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1316
1337
  className: "str-chat__channel-detail__media-view__empty-state",
1317
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconImage, { className: "str-chat__channel-detail__media-view__empty-state__icon" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1338
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconImage, { className: "str-chat__channel-detail__media-view__empty-state__icon" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1318
1339
  className: "str-chat__channel-detail__media-view__empty-state__content",
1319
1340
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1320
1341
  className: "str-chat__channel-detail__media-view__empty-state__title",
@@ -1351,7 +1372,7 @@ var toChannelMediaItems = (messages) => {
1351
1372
  message.attachments?.forEach((attachment, index) => {
1352
1373
  const type = getMediaAttachmentType(attachment);
1353
1374
  if (!type) return;
1354
- const descriptor = require_useChannelHeaderOnlineStatus.toBaseImageDescriptors(attachment);
1375
+ const descriptor = require_NotificationList.toBaseImageDescriptors(attachment);
1355
1376
  if (!descriptor) return;
1356
1377
  if (!(type === "video" ? Boolean(descriptor.videoThumbnailUrl || descriptor.videoUrl) : Boolean(descriptor.imageUrl))) return;
1357
1378
  items.push({
@@ -1374,7 +1395,7 @@ var channelMediaSearchSourceItemsStateSelector = (state) => ({
1374
1395
  messages: state.items
1375
1396
  });
1376
1397
  var useChannelMediaSearch = () => {
1377
- const { client } = require_useNotificationApi.useChatContext();
1398
+ const { client } = require_NotificationList.useChatContext();
1378
1399
  const { channel } = useChannelDetailContext();
1379
1400
  const channelMediaSearchSource = (0, react.useMemo)(() => {
1380
1401
  const source = new stream_chat.MessageSearchSource(client, {
@@ -1386,7 +1407,7 @@ var useChannelMediaSearch = () => {
1386
1407
  source.messageSearchFilters = { "attachments.type": { $in: [...MEDIA_ATTACHMENT_TYPES] } };
1387
1408
  return source;
1388
1409
  }, [channel.cid, client]);
1389
- const { hasNext, isLoading, messages } = require_useNotificationApi.useStateStore(channelMediaSearchSource.state, channelMediaSearchSourceItemsStateSelector);
1410
+ const { hasNext, isLoading, messages } = require_NotificationList.useStateStore(channelMediaSearchSource.state, channelMediaSearchSourceItemsStateSelector);
1390
1411
  const mediaItems = (0, react.useMemo)(() => toChannelMediaItems(messages ?? []), [messages]);
1391
1412
  (0, react.useEffect)(() => {
1392
1413
  channelMediaSearchSource.activate();
@@ -1407,11 +1428,12 @@ var useChannelMediaSearch = () => {
1407
1428
  //#region src/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.tsx
1408
1429
  var DEFAULT_CHANNEL_MEDIA_ITEMS_PER_PAGE = 30;
1409
1430
  var ChannelMediaGridItem = ({ BaseImage, item, onClick }) => {
1410
- const { t } = require_useNotificationApi.useTranslationContext("ChannelMediaView");
1411
- const { Avatar: Avatar$4 = require_useChannelHeaderOnlineStatus.Avatar, extractDisplayInfo: extractDisplayInfo$4 = require_useChannelHeaderOnlineStatus.extractDisplayInfo } = require_useNotificationApi.useComponentContext();
1431
+ const { t } = require_NotificationList.useTranslationContext("ChannelMediaView");
1432
+ const { Avatar: Avatar$4 = require_NotificationList.Avatar, extractDisplayInfo: extractDisplayInfo$4 = require_NotificationList.extractDisplayInfo } = require_NotificationList.useComponentContext();
1433
+ const { IconImage, IconVideoFill } = require_NotificationList.useComponentContextIcons();
1412
1434
  const displayName = getUserDisplayName(item.user);
1413
1435
  const mediaSrc = item.type === "video" ? item.galleryItem.videoThumbnailUrl : item.galleryItem.imageUrl;
1414
- const durationLabel = require_useChannelHeaderOnlineStatus.formatTime(item.durationSeconds, "floor");
1436
+ const durationLabel = require_NotificationList.formatTime(item.durationSeconds, "floor");
1415
1437
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
1416
1438
  "aria-label": item.type === "video" ? t("aria/Open video shared by {{ name }}", { name: displayName }) : t("aria/Open image shared by {{ name }}", { name: displayName }),
1417
1439
  className: "str-chat__channel-detail__media-view__item",
@@ -1425,7 +1447,7 @@ var ChannelMediaGridItem = ({ BaseImage, item, onClick }) => {
1425
1447
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1426
1448
  "aria-hidden": "true",
1427
1449
  className: "str-chat__channel-detail__media-view__item__placeholder",
1428
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconImage, {})
1450
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconImage, {})
1429
1451
  }),
1430
1452
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar$4, {
1431
1453
  ...extractDisplayInfo$4({ user: item.user }),
@@ -1437,16 +1459,17 @@ var ChannelMediaGridItem = ({ BaseImage, item, onClick }) => {
1437
1459
  className: "str-chat__channel-detail__media-view__item__duration",
1438
1460
  size: "sm",
1439
1461
  variant: "inverse",
1440
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconVideoFill, { className: "str-chat__channel-detail__media-view__item__duration-icon" }), durationLabel ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: durationLabel }) : null]
1462
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconVideoFill, { className: "str-chat__channel-detail__media-view__item__duration-icon" }), durationLabel ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: durationLabel }) : null]
1441
1463
  })
1442
1464
  ]
1443
1465
  });
1444
1466
  };
1445
1467
  var ChannelMediaPagination = ({ nextDisabled, onNext, onPrevious, previousDisabled }) => {
1446
- const { t } = require_useNotificationApi.useTranslationContext("ChannelMediaView");
1468
+ const { t } = require_NotificationList.useTranslationContext("ChannelMediaView");
1469
+ const { IconChevronLeft, IconChevronRight } = require_NotificationList.useComponentContextIcons();
1447
1470
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1448
1471
  className: "str-chat__channel-detail__media-view__pagination",
1449
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useNotificationApi.Button, {
1472
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_NotificationList.Button, {
1450
1473
  appearance: "outline",
1451
1474
  "aria-label": t("aria/Previous page"),
1452
1475
  className: "str-chat__channel-detail__media-view__pagination__button str-chat__channel-detail__media-view__pagination__button--previous",
@@ -1454,8 +1477,8 @@ var ChannelMediaPagination = ({ nextDisabled, onNext, onPrevious, previousDisabl
1454
1477
  onClick: onPrevious,
1455
1478
  size: "md",
1456
1479
  variant: "secondary",
1457
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconChevronLeft, {}), t("Previous")]
1458
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useNotificationApi.Button, {
1480
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconChevronLeft, {}), t("Previous")]
1481
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_NotificationList.Button, {
1459
1482
  appearance: "outline",
1460
1483
  "aria-label": t("aria/Next page"),
1461
1484
  className: "str-chat__channel-detail__media-view__pagination__button str-chat__channel-detail__media-view__pagination__button--next",
@@ -1463,14 +1486,14 @@ var ChannelMediaPagination = ({ nextDisabled, onNext, onPrevious, previousDisabl
1463
1486
  onClick: onNext,
1464
1487
  size: "md",
1465
1488
  variant: "secondary",
1466
- children: [t("Next"), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconChevronRight, {})]
1489
+ children: [t("Next"), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconChevronRight, {})]
1467
1490
  })]
1468
1491
  });
1469
1492
  };
1470
1493
  var ChannelMediaView = ({ itemsPerPage = DEFAULT_CHANNEL_MEDIA_ITEMS_PER_PAGE }) => {
1471
- const { t } = require_useNotificationApi.useTranslationContext();
1472
- const { close } = require_useChannelHeaderOnlineStatus.useModalContext();
1473
- const { BaseImage: BaseImage$1 = require_useChannelHeaderOnlineStatus.BaseImage, Gallery: Gallery$1 = require_useChannelHeaderOnlineStatus.Gallery, Modal = require_useChannelHeaderOnlineStatus.GlobalModal } = require_useNotificationApi.useComponentContext();
1494
+ const { t } = require_NotificationList.useTranslationContext();
1495
+ const { close } = require_NotificationList.useModalContext();
1496
+ const { BaseImage: BaseImage$1 = require_NotificationList.BaseImage, Gallery: Gallery$1 = require_NotificationList.Gallery, Modal = require_NotificationList.GlobalModal } = require_NotificationList.useComponentContext();
1474
1497
  const { channelMediaSearchSource, hasNext, hasResultsLoaded, isLoading, mediaItems } = useChannelMediaSearch();
1475
1498
  const [viewerOpen, setViewerOpen] = (0, react.useState)(false);
1476
1499
  const [selectedIndex, setSelectedIndex] = (0, react.useState)(0);
@@ -1550,7 +1573,7 @@ var ChannelMediaView = ({ itemsPerPage = DEFAULT_CHANNEL_MEDIA_ITEMS_PER_PAGE })
1550
1573
  close,
1551
1574
  title: t("Photos & videos")
1552
1575
  }),
1553
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Prompt.Body, {
1576
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Prompt.Body, {
1554
1577
  className: "str-chat__channel-detail__media-view__body",
1555
1578
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1556
1579
  className: "str-chat__channel-detail__media-view__grid",
@@ -1582,7 +1605,7 @@ var ChannelMediaView = ({ itemsPerPage = DEFAULT_CHANNEL_MEDIA_ITEMS_PER_PAGE })
1582
1605
  onClose: closeViewer,
1583
1606
  open: viewerOpen,
1584
1607
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Gallery$1, {
1585
- GalleryUI: require_useChannelHeaderOnlineStatus.GalleryUI,
1608
+ GalleryUI: require_NotificationList.GalleryUI,
1586
1609
  initialIndex: selectedIndex,
1587
1610
  items: galleryItems,
1588
1611
  onRequestClose: closeViewer
@@ -1612,9 +1635,9 @@ var useBaseChannelMembersHeaderActionSetFilter = (channelMembersHeaderActionSet)
1612
1635
  ]);
1613
1636
  };
1614
1637
  var AddMembersHeaderAction = ({ modeController }) => {
1615
- const { t } = require_useNotificationApi.useTranslationContext();
1638
+ const { t } = require_NotificationList.useTranslationContext();
1616
1639
  if (modeController.mode !== "browse") return null;
1617
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.Button, {
1640
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Button, {
1618
1641
  appearance: "outline",
1619
1642
  "aria-label": t("Add channel members"),
1620
1643
  className: "str-chat__channel-detail__channel-members-view__add-button",
@@ -1625,11 +1648,12 @@ var AddMembersHeaderAction = ({ modeController }) => {
1625
1648
  });
1626
1649
  };
1627
1650
  var AddMembersMenuAction = ({ closeMenu, modeController }) => {
1628
- const { t } = require_useNotificationApi.useTranslationContext();
1651
+ const { t } = require_NotificationList.useTranslationContext();
1652
+ const { IconUserAdd } = require_NotificationList.useComponentContextIcons();
1629
1653
  if (modeController.mode !== "browse") return null;
1630
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ContextMenuButton, {
1654
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ContextMenuButton, {
1631
1655
  "aria-label": t("Add channel members"),
1632
- Icon: require_useNotificationApi.IconUserAdd,
1656
+ Icon: IconUserAdd,
1633
1657
  onClick: () => {
1634
1658
  modeController.setMode("add");
1635
1659
  closeMenu?.();
@@ -1647,8 +1671,8 @@ var defaultChannelMembersHeaderActionSet = [{
1647
1671
  type: "addMembers"
1648
1672
  }];
1649
1673
  var DefaultHeaderActionsMenuTrigger = ({ referenceRef, ...props }) => {
1650
- const { t } = require_useNotificationApi.useTranslationContext();
1651
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.Button, {
1674
+ const { t } = require_NotificationList.useTranslationContext();
1675
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Button, {
1652
1676
  appearance: "outline",
1653
1677
  "aria-label": t("Open members actions"),
1654
1678
  className: "str-chat__channel-detail__channel-members-view__actions-button",
@@ -1661,14 +1685,14 @@ var DefaultHeaderActionsMenuTrigger = ({ referenceRef, ...props }) => {
1661
1685
  };
1662
1686
  var getHeaderActionsDialogId = (channelId) => `channel-members-header-actions-${channelId ?? "unknown"}`;
1663
1687
  var DefaultHeaderActions = ({ headerActionSet, HeaderActionsMenuTrigger = DefaultHeaderActionsMenuTrigger, modeController }) => {
1664
- const { ContextMenu: ContextMenuComponent = require_useChannelHeaderOnlineStatus.ContextMenu } = require_useNotificationApi.useComponentContext();
1688
+ const { ContextMenu: ContextMenuComponent = require_NotificationList.ContextMenu } = require_NotificationList.useComponentContext();
1665
1689
  const { channel } = useChannelDetailContext();
1666
1690
  const actions = useBaseChannelMembersHeaderActionSetFilter(headerActionSet);
1667
1691
  const [referenceElement, setReferenceElement] = (0, react.useState)(null);
1668
1692
  const dialogId = getHeaderActionsDialogId(channel.id);
1669
- const { dialog, dialogManager } = require_useNotificationApi.useDialogOnNearestManager({ id: dialogId });
1693
+ const { dialog, dialogManager } = require_NotificationList.useDialogOnNearestManager({ id: dialogId });
1670
1694
  const dialogManagerId = dialogManager?.id;
1671
- const dialogIsOpen = require_useNotificationApi.useDialogIsOpen(dialogId, dialogManagerId);
1695
+ const dialogIsOpen = require_NotificationList.useDialogIsOpen(dialogId, dialogManagerId);
1672
1696
  if (!actions.length) return null;
1673
1697
  const quickActions = actions.filter((action) => action.placement === "quick");
1674
1698
  const menuActions = actions.filter((action) => action.placement === "menu");
@@ -1753,7 +1777,8 @@ var useChannelMemberIds = (channel) => {
1753
1777
  //#endregion
1754
1778
  //#region src/plugins/ChannelDetail/ChannelDetailSearchInput.tsx
1755
1779
  var ChannelDetailSearchInput = react.default.memo(({ autoFocus, onSearchChange, resetKey }) => {
1756
- const { t } = require_useNotificationApi.useTranslationContext();
1780
+ const { IconSearch } = require_NotificationList.useComponentContextIcons();
1781
+ const { t } = require_NotificationList.useTranslationContext();
1757
1782
  const [searchInput, setSearchInput] = (0, react.useState)("");
1758
1783
  (0, react.useEffect)(() => {
1759
1784
  setSearchInput("");
@@ -1763,12 +1788,12 @@ var ChannelDetailSearchInput = react.default.memo(({ autoFocus, onSearchChange,
1763
1788
  setSearchInput(value);
1764
1789
  onSearchChange(value);
1765
1790
  }, [onSearchChange]);
1766
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.TextInput, {
1791
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.TextInput, {
1767
1792
  "aria-label": t("Search"),
1768
1793
  autoComplete: "off",
1769
1794
  autoFocus,
1770
1795
  className: "str-chat__channel-detail__search-input",
1771
- leading: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconSearch, {}),
1796
+ leading: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSearch, {}),
1772
1797
  onChange: handleSearchChange,
1773
1798
  placeholder: t("Search"),
1774
1799
  type: "search",
@@ -1778,10 +1803,13 @@ var ChannelDetailSearchInput = react.default.memo(({ autoFocus, onSearchChange,
1778
1803
  ChannelDetailSearchInput.displayName = "ChannelDetailSearchInput";
1779
1804
  //#endregion
1780
1805
  //#region src/plugins/ChannelDetail/ChannelDetailEmptyList.tsx
1781
- var ChannelDetailEmptyList = ({ children }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1782
- className: "str-chat__channel-detail__channel-members-view__empty-state",
1783
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconSearch, {}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children })]
1784
- });
1806
+ var ChannelDetailEmptyList = ({ children }) => {
1807
+ const { IconSearch } = require_NotificationList.useComponentContextIcons();
1808
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1809
+ className: "str-chat__channel-detail__channel-members-view__empty-state",
1810
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSearch, {}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children })]
1811
+ });
1812
+ };
1785
1813
  //#endregion
1786
1814
  //#region src/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.tsx
1787
1815
  var USER_SEARCH_PAGE_SIZE = 30;
@@ -1791,11 +1819,14 @@ var searchSourceItemsStateSelector = (state) => ({
1791
1819
  });
1792
1820
  var EMPTY_USERS = [];
1793
1821
  var computeUserItemKey = (_, user) => user.id;
1794
- var MuteIndicator = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconMute, { className: "str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--mute" });
1822
+ var MuteIndicator = () => {
1823
+ const { IconMute } = require_NotificationList.useComponentContextIcons();
1824
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMute, { className: "str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--mute" });
1825
+ };
1795
1826
  var readOnlyRootProps = { className: "str-chat__channel-detail__channel-members-view__list-item" };
1796
1827
  var ChannelMembersAddViewItem = ({ canManageChannelMembers, isMember, isMuted, isSelected, toggleSelectedUser, user }) => {
1797
- const { t } = require_useNotificationApi.useTranslationContext();
1798
- const { Avatar: Avatar$3 = require_useChannelHeaderOnlineStatus.Avatar, extractDisplayInfo: extractDisplayInfo$3 = require_useChannelHeaderOnlineStatus.extractDisplayInfo } = require_useNotificationApi.useComponentContext();
1828
+ const { t } = require_NotificationList.useTranslationContext();
1829
+ const { Avatar: Avatar$3 = require_NotificationList.Avatar, extractDisplayInfo: extractDisplayInfo$3 = require_NotificationList.extractDisplayInfo } = require_NotificationList.useComponentContext();
1799
1830
  const displayName = getUserDisplayName(user);
1800
1831
  const LeadingSlot = (0, react.useMemo)(() => function MemberAvatar() {
1801
1832
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar$3, {
@@ -1823,14 +1854,14 @@ var ChannelMembersAddViewItem = ({ canManageChannelMembers, isMember, isMuted, i
1823
1854
  toggleSelectedUser,
1824
1855
  user.id
1825
1856
  ]);
1826
- if (canManageChannelMembers && !isMember) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
1857
+ if (canManageChannelMembers && !isMember) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
1827
1858
  LeadingSlot,
1828
1859
  RootElement: "button",
1829
1860
  rootProps: selectableRootProps,
1830
1861
  title: displayName,
1831
1862
  TrailingSlot: SelectableTrailingSlot
1832
1863
  });
1833
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
1864
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
1834
1865
  LeadingSlot,
1835
1866
  rootProps: readOnlyRootProps,
1836
1867
  subtitle: isMember ? t("Already a member") : void 0,
@@ -1839,11 +1870,11 @@ var ChannelMembersAddViewItem = ({ canManageChannelMembers, isMember, isMuted, i
1839
1870
  });
1840
1871
  };
1841
1872
  var ChannelMembersAddView = ({ modeController, searchSource }) => {
1842
- const { client, mutes } = require_useNotificationApi.useChatContext();
1843
- const { t } = require_useNotificationApi.useTranslationContext();
1873
+ const { client, mutes } = require_NotificationList.useChatContext();
1874
+ const { t } = require_NotificationList.useTranslationContext();
1844
1875
  const { channel } = useChannelDetailContext();
1845
1876
  const canManageChannelMembers = canUpdateChannelMembers(channel);
1846
- const { addNotification } = require_useNotificationApi.useNotificationApi();
1877
+ const { addNotification } = require_NotificationList.useNotificationApi();
1847
1878
  const memberUserIds = useChannelMemberIds(channel);
1848
1879
  const memberIdSet = (0, react.useMemo)(() => new Set(memberUserIds), [memberUserIds]);
1849
1880
  const userSearchSource = (0, react.useMemo)(() => searchSource ?? new stream_chat.UserSearchSource(client, {
@@ -1851,7 +1882,7 @@ var ChannelMembersAddView = ({ modeController, searchSource }) => {
1851
1882
  pageSize: USER_SEARCH_PAGE_SIZE,
1852
1883
  resetOnNewSearchQuery: false
1853
1884
  }), [client, searchSource]);
1854
- const { isLoading, users } = require_useNotificationApi.useStateStore(userSearchSource.state, searchSourceItemsStateSelector);
1885
+ const { isLoading, users } = require_NotificationList.useStateStore(userSearchSource.state, searchSourceItemsStateSelector);
1855
1886
  const [isSaving, setIsSaving] = (0, react.useState)(false);
1856
1887
  const [selectedUserIds, setSelectedUserIds] = (0, react.useState)([]);
1857
1888
  (0, react.useEffect)(() => {
@@ -1917,7 +1948,7 @@ var ChannelMembersAddView = ({ modeController, searchSource }) => {
1917
1948
  });
1918
1949
  }
1919
1950
  };
1920
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Prompt.Body, {
1951
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_NotificationList.Prompt.Body, {
1921
1952
  className: "str-chat__channel-members-view__body",
1922
1953
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChannelDetailSearchInput, {
1923
1954
  autoFocus: true,
@@ -1931,7 +1962,7 @@ var ChannelMembersAddView = ({ modeController, searchSource }) => {
1931
1962
  itemContent: renderItem,
1932
1963
  loadNext: userSearchSource.search
1933
1964
  })]
1934
- }), canManageChannelMembers && selectedUserIds.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Prompt.Footer, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Prompt.FooterControls, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Prompt.FooterControlsButtonPrimary, {
1965
+ }), canManageChannelMembers && selectedUserIds.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Prompt.Footer, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Prompt.FooterControls, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Prompt.FooterControlsButtonPrimary, {
1935
1966
  disabled: isSaving,
1936
1967
  onClick: handleSave,
1937
1968
  children: t("Add {{ count }} members", { count: selectedUserIds.length })
@@ -1970,7 +2001,7 @@ var useChannelMembersSearch = () => {
1970
2001
  pageSize: 100,
1971
2002
  resetOnNewSearchQuery: false
1972
2003
  }), [channel]);
1973
- const { members } = require_useNotificationApi.useStateStore(membersSearchSource.state, membersSearchSourceItemsStateSelector);
2004
+ const { members } = require_NotificationList.useStateStore(membersSearchSource.state, membersSearchSourceItemsStateSelector);
1974
2005
  const [searchInputResetKey, setSearchInputResetKey] = (0, react.useState)(0);
1975
2006
  const resetMembersSearch = (0, react.useCallback)(() => {
1976
2007
  membersSearchSource.cancelScheduledQuery();
@@ -2012,8 +2043,8 @@ var getPresenceStatusText$1 = (user, t) => {
2012
2043
  return t("Offline");
2013
2044
  };
2014
2045
  var ChannelMembersBrowseViewItem = ({ isMuted, member, onMemberSelect }) => {
2015
- const { t } = require_useNotificationApi.useTranslationContext();
2016
- const { Avatar: Avatar$2 = require_useChannelHeaderOnlineStatus.Avatar, extractDisplayInfo: extractDisplayInfo$2 = require_useChannelHeaderOnlineStatus.extractDisplayInfo } = require_useNotificationApi.useComponentContext();
2046
+ const { t } = require_NotificationList.useTranslationContext();
2047
+ const { Avatar: Avatar$2 = require_NotificationList.Avatar, extractDisplayInfo: extractDisplayInfo$2 = require_NotificationList.extractDisplayInfo } = require_NotificationList.useComponentContext();
2017
2048
  const user = member.user;
2018
2049
  const displayName = getMemberDisplayName(member);
2019
2050
  const roleTranslation = getMemberRoleTranslation(member, t);
@@ -2029,15 +2060,16 @@ var ChannelMembersBrowseViewItem = ({ isMuted, member, onMemberSelect }) => {
2029
2060
  user
2030
2061
  ]);
2031
2062
  const TrailingSlot = (0, react.useMemo)(() => function MemberTrailingSlot() {
2063
+ const { IconMute } = require_NotificationList.useComponentContextIcons();
2032
2064
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2033
2065
  className: "str-chat__channel-detail__channel-members-view__list-item__trailing-slot",
2034
2066
  children: [roleTranslation ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
2035
2067
  className: "str-chat__channel-detail__channel-members-view__role-label",
2036
2068
  children: roleTranslation
2037
- }) : null, isMuted ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconMute, { className: "str-chat__channel-detail__channel-members-view__list-item__indicator-icon str-chat__channel-detail__channel-members-view__list-item__indicator-icon--mute" }) : null]
2069
+ }) : null, isMuted ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMute, { className: "str-chat__channel-detail__channel-members-view__list-item__indicator-icon str-chat__channel-detail__channel-members-view__list-item__indicator-icon--mute" }) : null]
2038
2070
  });
2039
2071
  }, [isMuted, roleTranslation]);
2040
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
2072
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
2041
2073
  LeadingSlot,
2042
2074
  RootElement: "button",
2043
2075
  rootProps: (0, react.useMemo)(() => ({
@@ -2057,8 +2089,8 @@ var ChannelMembersBrowseViewItem = ({ isMuted, member, onMemberSelect }) => {
2057
2089
  };
2058
2090
  var computeMemberItemKey = (_, member) => getMemberUserId(member);
2059
2091
  var ChannelMembersBrowseView = ({ onMemberSelect }) => {
2060
- const { mutes } = require_useNotificationApi.useChatContext();
2061
- const { t } = require_useNotificationApi.useTranslationContext();
2092
+ const { mutes } = require_NotificationList.useChatContext();
2093
+ const { t } = require_NotificationList.useTranslationContext();
2062
2094
  const { displayedMembers, handleSearchChange, hasMembers, membersSearchSource, searchInputResetKey } = useChannelMembersSearch();
2063
2095
  const mutedUserIdSet = (0, react.useMemo)(() => new Set(mutes.map((mute) => mute.target.id)), [mutes]);
2064
2096
  const renderableMembers = (0, react.useMemo)(() => displayedMembers.filter((member) => getMemberUserId(member)), [displayedMembers]);
@@ -2073,7 +2105,7 @@ var ChannelMembersBrowseView = ({ onMemberSelect }) => {
2073
2105
  const Footer = (0, react.useMemo)(() => function ChannelMembersListFooter() {
2074
2106
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChannelDetailListLoadingIndicator, { searchSource: membersSearchSource });
2075
2107
  }, [membersSearchSource]);
2076
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Prompt.Body, {
2108
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_NotificationList.Prompt.Body, {
2077
2109
  className: "str-chat__channel-members-view__body",
2078
2110
  children: [hasMembers && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChannelDetailSearchInput, {
2079
2111
  onSearchChange: handleSearchChange,
@@ -2102,11 +2134,26 @@ var useChannelMemberActionContext = () => {
2102
2134
  return contextValue;
2103
2135
  };
2104
2136
  var toError = (error) => error instanceof Error ? error : /* @__PURE__ */ new Error("An unknown error occurred");
2105
- var MemberMuteActionIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconMute, { className: "str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--mute" });
2106
- var MemberUnmuteActionIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconAudio, { className: "str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--unmute" });
2107
- var SendDirectMessageActionIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconMessageBubble, { className: "str-chat__channel-detail__action-icon" });
2108
- var BlockUserActionIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconNoSign, { className: "str-chat__icon--destructive str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--block-user" });
2109
- var RemoveUserActionIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconUserRemove, { className: "str-chat__icon--destructive str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--remove-user" });
2137
+ var MemberMuteActionIcon = () => {
2138
+ const { IconMute } = require_NotificationList.useComponentContextIcons();
2139
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMute, { className: "str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--mute" });
2140
+ };
2141
+ var MemberUnmuteActionIcon = () => {
2142
+ const { IconAudio } = require_NotificationList.useComponentContextIcons();
2143
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconAudio, { className: "str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--unmute" });
2144
+ };
2145
+ var SendDirectMessageActionIcon = () => {
2146
+ const { IconMessageBubble } = require_NotificationList.useComponentContextIcons();
2147
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMessageBubble, { className: "str-chat__channel-detail__action-icon" });
2148
+ };
2149
+ var BlockUserActionIcon = () => {
2150
+ const { IconNoSign } = require_NotificationList.useComponentContextIcons();
2151
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconNoSign, { className: "str-chat__icon--destructive str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--block-user" });
2152
+ };
2153
+ var RemoveUserActionIcon = () => {
2154
+ const { IconUserRemove } = require_NotificationList.useComponentContextIcons();
2155
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconUserRemove, { className: "str-chat__icon--destructive str-chat__channel-detail__action-icon str-chat__channel-detail__action-icon--remove-user" });
2156
+ };
2110
2157
  var channelMemberDetailActionClassName = "str-chat__channel-member-detail-action";
2111
2158
  var blockedUsersSelector = ({ userIds }) => ({ userIds });
2112
2159
  var ChannelMemberConfirmationAlert = ({ action, cancelLabel, confirmLabel, description, isSubmitting, onCancel, onConfirm, testId, title }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Alert.Root, {
@@ -2115,7 +2162,7 @@ var ChannelMemberConfirmationAlert = ({ action, cancelLabel, confirmLabel, descr
2115
2162
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Alert.Header, {
2116
2163
  description,
2117
2164
  title
2118
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Alert.Actions, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.Button, {
2165
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Alert.Actions, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Button, {
2119
2166
  appearance: "solid",
2120
2167
  "data-testid": `${testId}-confirm-button`,
2121
2168
  disabled: isSubmitting,
@@ -2123,7 +2170,7 @@ var ChannelMemberConfirmationAlert = ({ action, cancelLabel, confirmLabel, descr
2123
2170
  size: "md",
2124
2171
  variant: "danger",
2125
2172
  children: confirmLabel
2126
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.Button, {
2173
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Button, {
2127
2174
  appearance: "outline",
2128
2175
  autoFocus: true,
2129
2176
  "data-testid": `${testId}-cancel-button`,
@@ -2135,7 +2182,7 @@ var ChannelMemberConfirmationAlert = ({ action, cancelLabel, confirmLabel, descr
2135
2182
  })] })]
2136
2183
  });
2137
2184
  var useChannelMemberActionFilterState = () => {
2138
- const { client } = require_useNotificationApi.useChatContext();
2185
+ const { client } = require_NotificationList.useChatContext();
2139
2186
  const { channel } = useChannelDetailContext();
2140
2187
  const { targetUserId } = useChannelMemberActionContext();
2141
2188
  const ownCapabilities = channel.data?.own_capabilities;
@@ -2166,12 +2213,12 @@ var useBaseChannelMemberActionSetFilter = (channelMemberActionSet) => {
2166
2213
  ]);
2167
2214
  };
2168
2215
  var SendDirectMessageAction = () => {
2169
- const { client, setActiveChannel } = require_useNotificationApi.useChatContext();
2170
- const { setChannels } = require_useNotificationApi.useChannelListContext();
2171
- const { close } = require_useChannelHeaderOnlineStatus.useModalContext();
2216
+ const { client, setActiveChannel } = require_NotificationList.useChatContext();
2217
+ const { setChannels } = require_NotificationList.useChannelListContext();
2218
+ const { close } = require_NotificationList.useModalContext();
2172
2219
  const { channel } = useChannelDetailContext();
2173
- const { addNotification } = require_useNotificationApi.useNotificationApi();
2174
- const { t } = require_useNotificationApi.useTranslationContext();
2220
+ const { addNotification } = require_NotificationList.useNotificationApi();
2221
+ const { t } = require_NotificationList.useTranslationContext();
2175
2222
  const { targetUserId } = useChannelMemberActionContext();
2176
2223
  const [isSending, setIsSending] = (0, react.useState)(false);
2177
2224
  const openDirectMessage = (0, react.useCallback)(async () => {
@@ -2206,7 +2253,7 @@ var SendDirectMessageAction = () => {
2206
2253
  t,
2207
2254
  targetUserId
2208
2255
  ]);
2209
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
2256
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
2210
2257
  LeadingIcon: SendDirectMessageActionIcon,
2211
2258
  RootElement: "button",
2212
2259
  rootProps: (0, react.useMemo)(() => ({
@@ -2219,9 +2266,9 @@ var SendDirectMessageAction = () => {
2219
2266
  };
2220
2267
  var UserMuteAction = () => {
2221
2268
  const { channel } = useChannelDetailContext();
2222
- const { client, mutes } = require_useNotificationApi.useChatContext();
2223
- const { addNotification } = require_useNotificationApi.useNotificationApi();
2224
- const { t } = require_useNotificationApi.useTranslationContext();
2269
+ const { client, mutes } = require_NotificationList.useChatContext();
2270
+ const { addNotification } = require_NotificationList.useNotificationApi();
2271
+ const { t } = require_NotificationList.useTranslationContext();
2225
2272
  const { targetUserId } = useChannelMemberActionContext();
2226
2273
  const userMuted = !!targetUserId && mutes.some((mute) => mute.target.id === targetUserId);
2227
2274
  const [optimisticUserMuted, setOptimisticUserMuted] = (0, react.useState)(userMuted);
@@ -2285,14 +2332,14 @@ var UserMuteAction = () => {
2285
2332
  }), [optimisticUserMuted, toggleOptimisticUserMute]);
2286
2333
  const TrailingSlot = (0, react.useMemo)(() => {
2287
2334
  function UserMuteSwitch() {
2288
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Switch, {
2335
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Switch, {
2289
2336
  on: optimisticUserMuted,
2290
2337
  presentation: true
2291
2338
  });
2292
2339
  }
2293
2340
  return UserMuteSwitch;
2294
2341
  }, [optimisticUserMuted]);
2295
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
2342
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
2296
2343
  LeadingIcon: optimisticUserMuted ? MemberUnmuteActionIcon : MemberMuteActionIcon,
2297
2344
  RootElement: "button",
2298
2345
  rootProps,
@@ -2301,13 +2348,13 @@ var UserMuteAction = () => {
2301
2348
  });
2302
2349
  };
2303
2350
  var BlockUserAction = () => {
2304
- const { client } = require_useNotificationApi.useChatContext();
2305
- const { Modal = require_useChannelHeaderOnlineStatus.GlobalModal } = require_useNotificationApi.useComponentContext();
2351
+ const { client } = require_NotificationList.useChatContext();
2352
+ const { Modal = require_NotificationList.GlobalModal } = require_NotificationList.useComponentContext();
2306
2353
  const { channel } = useChannelDetailContext();
2307
- const { addNotification } = require_useNotificationApi.useNotificationApi();
2308
- const { t } = require_useNotificationApi.useTranslationContext();
2354
+ const { addNotification } = require_NotificationList.useNotificationApi();
2355
+ const { t } = require_NotificationList.useTranslationContext();
2309
2356
  const { memberDisplayName, targetUserId } = useChannelMemberActionContext();
2310
- const { userIds: blockedUserIds } = require_useNotificationApi.useStateStore(client.blockedUsers, blockedUsersSelector);
2357
+ const { userIds: blockedUserIds } = require_NotificationList.useStateStore(client.blockedUsers, blockedUsersSelector);
2311
2358
  const isBlocked = !!targetUserId && new Set(blockedUserIds).has(targetUserId);
2312
2359
  const [alertOpen, setAlertOpen] = (0, react.useState)(false);
2313
2360
  const [userBlockInProgress, setUserBlockInProgress] = (0, react.useState)(false);
@@ -2381,7 +2428,7 @@ var BlockUserAction = () => {
2381
2428
  t,
2382
2429
  targetUserId
2383
2430
  ]);
2384
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
2431
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
2385
2432
  destructive: true,
2386
2433
  LeadingIcon: BlockUserActionIcon,
2387
2434
  RootElement: "button",
@@ -2408,10 +2455,10 @@ var BlockUserAction = () => {
2408
2455
  })] });
2409
2456
  };
2410
2457
  var RemoveUserAction = () => {
2411
- const { Modal = require_useChannelHeaderOnlineStatus.GlobalModal } = require_useNotificationApi.useComponentContext();
2458
+ const { Modal = require_NotificationList.GlobalModal } = require_NotificationList.useComponentContext();
2412
2459
  const { channel } = useChannelDetailContext();
2413
- const { addNotification } = require_useNotificationApi.useNotificationApi();
2414
- const { t } = require_useNotificationApi.useTranslationContext();
2460
+ const { addNotification } = require_NotificationList.useNotificationApi();
2461
+ const { t } = require_NotificationList.useTranslationContext();
2415
2462
  const { memberDisplayName, targetUserId } = useChannelMemberActionContext();
2416
2463
  const [alertOpen, setAlertOpen] = (0, react.useState)(false);
2417
2464
  const [removeMemberInProgress, setRemoveMemberInProgress] = (0, react.useState)(false);
@@ -2452,7 +2499,7 @@ var RemoveUserAction = () => {
2452
2499
  t,
2453
2500
  targetUserId
2454
2501
  ]);
2455
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
2502
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
2456
2503
  destructive: true,
2457
2504
  LeadingIcon: RemoveUserActionIcon,
2458
2505
  RootElement: "button",
@@ -2510,7 +2557,7 @@ var getPresenceStatusText = (user, t) => {
2510
2557
  return t("Offline");
2511
2558
  };
2512
2559
  var ChannelMemberDetail = ({ channelMemberActionSet = defaultChannelMemberActionSet, member, onBack }) => {
2513
- const { t } = require_useNotificationApi.useTranslationContext();
2560
+ const { t } = require_NotificationList.useTranslationContext();
2514
2561
  const memberDisplayName = getMemberDisplayName(member);
2515
2562
  const memberStatusText = getPresenceStatusText(member.user, t);
2516
2563
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChannelMemberActionProvider, {
@@ -2528,9 +2575,9 @@ var ChannelMemberDetail = ({ channelMemberActionSet = defaultChannelMemberAction
2528
2575
  });
2529
2576
  };
2530
2577
  var ChannelMemberDetailContent = ({ channelMemberActionSet, memberDisplayName, memberStatusText, onBack }) => {
2531
- const { close } = require_useChannelHeaderOnlineStatus.useModalContext();
2532
- const { t } = require_useNotificationApi.useTranslationContext();
2533
- const { Avatar = require_useChannelHeaderOnlineStatus.ChannelAvatar } = require_useNotificationApi.useComponentContext();
2578
+ const { close } = require_NotificationList.useModalContext();
2579
+ const { t } = require_NotificationList.useTranslationContext();
2580
+ const { Avatar = require_useChannelHeaderOnlineStatus.ChannelAvatar } = require_NotificationList.useComponentContext();
2534
2581
  const { member } = useChannelMemberActionContext();
2535
2582
  const filteredActions = useBaseChannelMemberActionSetFilter(channelMemberActionSet);
2536
2583
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
@@ -2539,7 +2586,7 @@ var ChannelMemberDetailContent = ({ channelMemberActionSet, memberDisplayName, m
2539
2586
  close,
2540
2587
  goBack: onBack,
2541
2588
  title: t("Member detail")
2542
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Prompt.Body, {
2589
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_NotificationList.Prompt.Body, {
2543
2590
  className: "str-chat__channel-detail__channel-member-detail-view__body",
2544
2591
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2545
2592
  className: "str-chat__channel-detail__channel-member-detail-view__profile",
@@ -2570,7 +2617,7 @@ var ChannelMemberDetailContent = ({ channelMemberActionSet, memberDisplayName, m
2570
2617
  var RESERVED_MODES = ["browse", "memberDetail"];
2571
2618
  var isReservedMode = (mode) => RESERVED_MODES.includes(mode);
2572
2619
  var AddMembersModeTitle = () => {
2573
- const { t } = require_useNotificationApi.useTranslationContext();
2620
+ const { t } = require_NotificationList.useTranslationContext();
2574
2621
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: t("Add members") });
2575
2622
  };
2576
2623
  /** Built-in mode descriptors. Merged with (and overridable by) the `modeViews` prop. */
@@ -2579,9 +2626,9 @@ var defaultChannelMembersModeViews = { add: {
2579
2626
  Title: AddMembersModeTitle
2580
2627
  } };
2581
2628
  var ChannelMembersView = ({ HeaderActions = DefaultHeaderActions, headerActionSet = defaultChannelMembersHeaderActionSet, HeaderActionsMenuTrigger, layout, modeViews: customModeViews }) => {
2582
- const { t } = require_useNotificationApi.useTranslationContext();
2629
+ const { t } = require_NotificationList.useTranslationContext();
2583
2630
  const { channel } = useChannelDetailContext();
2584
- const { close } = require_useChannelHeaderOnlineStatus.useModalContext();
2631
+ const { close } = require_NotificationList.useModalContext();
2585
2632
  const [mode, setMode] = (0, react.useState)("browse");
2586
2633
  const [selectedMember, setSelectedMember] = (0, react.useState)();
2587
2634
  const memberCount = useChannelMemberCount(channel);
@@ -2645,10 +2692,11 @@ var ChannelMembersView = ({ HeaderActions = DefaultHeaderActions, headerActionSe
2645
2692
  //#endregion
2646
2693
  //#region src/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.tsx
2647
2694
  var PinnedMessagesEmptyList = () => {
2648
- const { t } = require_useNotificationApi.useTranslationContext();
2695
+ const { IconPin } = require_NotificationList.useComponentContextIcons();
2696
+ const { t } = require_NotificationList.useTranslationContext();
2649
2697
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2650
2698
  className: "str-chat__channel-detail__pinned-messages-view__empty-state",
2651
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconPin, { className: "str-chat__channel-detail__pinned-messages-view__empty-state__icon" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2699
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPin, { className: "str-chat__channel-detail__pinned-messages-view__empty-state__icon" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2652
2700
  className: "str-chat__channel-detail__pinned-messages-view__empty-state__content",
2653
2701
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
2654
2702
  className: "str-chat__channel-detail__pinned-messages-view__empty-state__title",
@@ -2686,7 +2734,7 @@ var PINNED_MESSAGES_SEARCH_PAGE_SIZE = 30;
2686
2734
  var PINNED_MESSAGES_SEARCH_DEBOUNCE_MS = 300;
2687
2735
  var pinnedMessagesSearchSourceItemsStateSelector = (state) => ({ messages: state.items });
2688
2736
  var usePinnedMessagesSearch = ({ searchSource } = {}) => {
2689
- const { client } = require_useNotificationApi.useChatContext();
2737
+ const { client } = require_NotificationList.useChatContext();
2690
2738
  const { channel } = useChannelDetailContext();
2691
2739
  const pinnedMessagesSearchSource = (0, react.useMemo)(() => {
2692
2740
  const source = searchSource ?? new stream_chat.MessageSearchSource(client, {
@@ -2708,7 +2756,7 @@ var usePinnedMessagesSearch = ({ searchSource } = {}) => {
2708
2756
  client,
2709
2757
  searchSource
2710
2758
  ]);
2711
- const { messages } = require_useNotificationApi.useStateStore(pinnedMessagesSearchSource.state, pinnedMessagesSearchSourceItemsStateSelector);
2759
+ const { messages } = require_NotificationList.useStateStore(pinnedMessagesSearchSource.state, pinnedMessagesSearchSourceItemsStateSelector);
2712
2760
  (0, react.useEffect)(() => {
2713
2761
  pinnedMessagesSearchSource.activate();
2714
2762
  return () => {
@@ -2744,7 +2792,7 @@ var usePinnedMessagesSearch = ({ searchSource } = {}) => {
2744
2792
  var computeItemKey = (_, message) => message.id;
2745
2793
  var normalizeTimestamp = (timestamp) => {
2746
2794
  if (!timestamp) return void 0;
2747
- return require_useNotificationApi.isDate(timestamp) ? timestamp.toISOString() : timestamp;
2795
+ return require_NotificationList.isDate(timestamp) ? timestamp.toISOString() : timestamp;
2748
2796
  };
2749
2797
  var getPinnedMessagePreview = (message, t) => {
2750
2798
  const text = message.text?.trim();
@@ -2753,9 +2801,9 @@ var getPinnedMessagePreview = (message, t) => {
2753
2801
  return attachment?.title || attachment?.text || attachment?.fallback || attachment?.type || t("Pinned message");
2754
2802
  };
2755
2803
  var PinnedMessageDate = ({ message }) => {
2756
- const { t, tDateTimeParser } = require_useNotificationApi.useTranslationContext("PinnedMessageDate");
2804
+ const { t, tDateTimeParser } = require_NotificationList.useTranslationContext("PinnedMessageDate");
2757
2805
  const normalizedTimestamp = normalizeTimestamp(message.created_at);
2758
- const when = (0, react.useMemo)(() => require_useNotificationApi.getDateString({
2806
+ const when = (0, react.useMemo)(() => require_NotificationList.getDateString({
2759
2807
  messageCreatedAt: normalizedTimestamp,
2760
2808
  t,
2761
2809
  tDateTimeParser,
@@ -2773,8 +2821,8 @@ var PinnedMessageDate = ({ message }) => {
2773
2821
  });
2774
2822
  };
2775
2823
  var PinnedMessagesViewItem = ({ message, onSelect }) => {
2776
- const { t } = require_useNotificationApi.useTranslationContext();
2777
- const { Avatar: Avatar$1 = require_useChannelHeaderOnlineStatus.Avatar, extractDisplayInfo: extractDisplayInfo$1 = require_useChannelHeaderOnlineStatus.extractDisplayInfo } = require_useNotificationApi.useComponentContext();
2824
+ const { t } = require_NotificationList.useTranslationContext();
2825
+ const { Avatar: Avatar$1 = require_NotificationList.Avatar, extractDisplayInfo: extractDisplayInfo$1 = require_NotificationList.extractDisplayInfo } = require_NotificationList.useComponentContext();
2778
2826
  const displayName = getUserDisplayName(message.user ?? void 0);
2779
2827
  const LeadingSlot = (0, react.useMemo)(() => function MessageAuthorAvatar() {
2780
2828
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Avatar$1, {
@@ -2789,7 +2837,7 @@ var PinnedMessagesViewItem = ({ message, onSelect }) => {
2789
2837
  const TrailingSlot = (0, react.useMemo)(() => function MessageDate() {
2790
2838
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PinnedMessageDate, { message });
2791
2839
  }, [message]);
2792
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.ListItemLayout, {
2840
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.ListItemLayout, {
2793
2841
  LeadingSlot,
2794
2842
  RootElement: "button",
2795
2843
  rootProps: (0, react.useMemo)(() => ({
@@ -2803,10 +2851,10 @@ var PinnedMessagesViewItem = ({ message, onSelect }) => {
2803
2851
  });
2804
2852
  };
2805
2853
  var PinnedMessagesView = ({ searchSource }) => {
2806
- const { setActiveChannel } = require_useNotificationApi.useChatContext();
2807
- const { t } = require_useNotificationApi.useTranslationContext();
2808
- const { close } = require_useChannelHeaderOnlineStatus.useModalContext();
2809
- const { jumpToMessage } = require_useNotificationApi.useChannelActionContext();
2854
+ const { setActiveChannel } = require_NotificationList.useChatContext();
2855
+ const { t } = require_NotificationList.useTranslationContext();
2856
+ const { close } = require_NotificationList.useModalContext();
2857
+ const { jumpToMessage } = require_NotificationList.useChannelActionContext();
2810
2858
  const { channel } = useChannelDetailContext();
2811
2859
  const { displayedMessages, handleSearchChange, hasPinnedMessages, hasSearchResultsLoaded, pinnedMessagesSearchSource } = usePinnedMessagesSearch({ searchSource });
2812
2860
  const handleSelectMessage = (0, react.useCallback)((message) => {
@@ -2841,7 +2889,7 @@ var PinnedMessagesView = ({ searchSource }) => {
2841
2889
  close,
2842
2890
  description: t("Browse pinned messages"),
2843
2891
  title: t("Pinned messages")
2844
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_useChannelHeaderOnlineStatus.Prompt.Body, {
2892
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_NotificationList.Prompt.Body, {
2845
2893
  className: "str-chat__channel-detail__pinned-messages-view__body",
2846
2894
  children: [hasPinnedMessages && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChannelDetailSearchInput, { onSearchChange: handleSearchChange }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(VirtualizedList, {
2847
2895
  className: "str-chat__channel-detail__pinned-messages-view__list",
@@ -2857,11 +2905,26 @@ var PinnedMessagesView = ({ searchSource }) => {
2857
2905
  };
2858
2906
  //#endregion
2859
2907
  //#region src/plugins/ChannelDetail/ChannelDetail.tsx
2860
- var ChannelManagementNavButtonIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconInfo, { className: "str-chat__channel-detail__action-icon" });
2861
- var ChannelMembersNavButtonIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconUser, { className: "str-chat__channel-detail__action-icon" });
2862
- var PinnedMessagesNavButtonIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconPin, { className: "str-chat__channel-detail__action-icon" });
2863
- var ChannelMediaNavButtonIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconImage, { className: "str-chat__channel-detail__action-icon" });
2864
- var ChannelFilesNavButtonIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useNotificationApi.IconFolder, { className: "str-chat__channel-detail__action-icon" });
2908
+ var ChannelManagementNavButtonIcon = () => {
2909
+ const { IconInfo } = require_NotificationList.useComponentContextIcons();
2910
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconInfo, { className: "str-chat__channel-detail__action-icon" });
2911
+ };
2912
+ var ChannelMembersNavButtonIcon = () => {
2913
+ const { IconUser } = require_NotificationList.useComponentContextIcons();
2914
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconUser, { className: "str-chat__channel-detail__action-icon" });
2915
+ };
2916
+ var PinnedMessagesNavButtonIcon = () => {
2917
+ const { IconPin } = require_NotificationList.useComponentContextIcons();
2918
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPin, { className: "str-chat__channel-detail__action-icon" });
2919
+ };
2920
+ var ChannelMediaNavButtonIcon = () => {
2921
+ const { IconImage } = require_NotificationList.useComponentContextIcons();
2922
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconImage, { className: "str-chat__channel-detail__action-icon" });
2923
+ };
2924
+ var ChannelFilesNavButtonIcon = () => {
2925
+ const { IconFolder } = require_NotificationList.useComponentContextIcons();
2926
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconFolder, { className: "str-chat__channel-detail__action-icon" });
2927
+ };
2865
2928
  var ChannelManagementNavButton = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChannelDetailNavButton, {
2866
2929
  ...props,
2867
2930
  LeadingIcon: ChannelManagementNavButtonIcon,
@@ -2918,7 +2981,7 @@ var ChannelDetail = ({ channel, className, defaultLayout = SECTION_NAVIGATOR_LAY
2918
2981
  const [layout, setLayout] = (0, react.useState)(defaultLayout);
2919
2982
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChannelDetailProvider, {
2920
2983
  channel,
2921
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useChannelHeaderOnlineStatus.Prompt.Root, {
2984
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NotificationList.Prompt.Root, {
2922
2985
  className: (0, clsx.default)("str-chat__channel-detail", { "str-chat__channel-detail--inline": layout === SECTION_NAVIGATOR_LAYOUT.inline }, className),
2923
2986
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SectionNavigator, {
2924
2987
  ...props,
@@ -2933,9 +2996,9 @@ var ChannelDetail = ({ channel, className, defaultLayout = SECTION_NAVIGATOR_LAY
2933
2996
  //#region src/plugins/ChannelDetail/AvatarWithChannelDetail.tsx
2934
2997
  var avatarWithChannelDetailDialogRootProps = { className: "str-chat__channel-detail-modal" };
2935
2998
  var AvatarWithChannelDetail = ({ Avatar, ChannelDetail: ChannelDetail$1 = ChannelDetail, className, ...avatarProps }) => {
2936
- const { t } = require_useNotificationApi.useTranslationContext();
2937
- const { channel } = require_useNotificationApi.useChannelStateContext();
2938
- const { Avatar: ContextAvatar, Modal = require_useChannelHeaderOnlineStatus.GlobalModal } = require_useNotificationApi.useComponentContext();
2999
+ const { t } = require_NotificationList.useTranslationContext();
3000
+ const { channel } = require_NotificationList.useChannelStateContext();
3001
+ const { Avatar: ContextAvatar, Modal = require_NotificationList.GlobalModal } = require_NotificationList.useComponentContext();
2939
3002
  const [isModalOpen, setIsModalOpen] = (0, react.useState)(false);
2940
3003
  const openModal = (0, react.useCallback)(() => setIsModalOpen(true), []);
2941
3004
  const closeModal = (0, react.useCallback)(() => setIsModalOpen(false), []);